diff --git a/.changeset/new-geese-sort.md b/.changeset/new-geese-sort.md deleted file mode 100644 index 283dfe7c..00000000 --- a/.changeset/new-geese-sort.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@matthiesenxyz/astro-ghostcms-brutalbyelian": patch -"@matthiesenxyz/astro-ghostcms-rendercontent": patch -"@matthiesenxyz/astro-ghostcms-theme-default": patch -"@matthiesenxyz/astro-ghostcms-catppuccin": patch -"@matthiesenxyz/create-astro-ghostcms": patch -"@matthiesenxyz/astro-ghostcms": patch -"@ts-ghost/tsconfig": patch ---- - -Updated Tests and Linted packages diff --git a/.pnpm-store/v3/files/00/14f95569e762779205c3566120ae474e4cf36e91a0cc8c4868858af5c6c7a65422c5dbf6f9f8eb8dc8130920db36c4392800892a20b5aa4dd9f81ce2600f97-index.json b/.pnpm-store/v3/files/00/14f95569e762779205c3566120ae474e4cf36e91a0cc8c4868858af5c6c7a65422c5dbf6f9f8eb8dc8130920db36c4392800892a20b5aa4dd9f81ce2600f97-index.json new file mode 100644 index 00000000..9a389eb4 --- /dev/null +++ b/.pnpm-store/v3/files/00/14f95569e762779205c3566120ae474e4cf36e91a0cc8c4868858af5c6c7a65422c5dbf6f9f8eb8dc8130920db36c4392800892a20b5aa4dd9f81ce2600f97-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001724552,"integrity":"sha512-HQaIQk9pwOcyKutyDk4o2a87WnotwYuLGYFW43emGm4FvIJFKPyg+OYaw5sTegKAKf+C5SKa1ACjzCLivbaHrQ==","mode":420,"size":1141},"README.md":{"checkedAt":1708001724552,"integrity":"sha512-BKbyx2hC3BygNngG1IQB8V06g3lITFKRU6F9b/PNG2dXvJkes36YhwR1d/8+TBeMORvvvZEF2VLiODRMltR84A==","mode":420,"size":2329},"assert.d.ts":{"checkedAt":1708001724552,"integrity":"sha512-XKdAfucjtVHLWbRaABmBPVnT0Hgvymg360vLJyFwkHhpAgEm9Hk4B3U7WAPqUyCTHbT2V6LDKFvPCCE4Vi6t4g==","mode":420,"size":41643},"async_hooks.d.ts":{"checkedAt":1708001724552,"integrity":"sha512-v4lmPaTVjqHnsEzw9D23KpyKZ4jV8orMPZ3ynP6sQSRYmucMWoUTiH0l2uLkv6B7zlIPJ2PDA+tG2UAT99j2zA==","mode":420,"size":22740},"buffer.d.ts":{"checkedAt":1708001724553,"integrity":"sha512-duTmWQBlBZtLAOcoxZ+3Pl/GnoM/cAQ4nf1up3wf53vyYvcGMRHFsqucuAlio4+UD+U+YpuUxkfo/qbEpzNhAg==","mode":420,"size":107288},"child_process.d.ts":{"checkedAt":1708001724553,"integrity":"sha512-OdotrCz6pm8JkTIVQx/xzu8N8ykVdWPdTN3Jf28LNXTd9GLGnhU7HwcQv61rkA3YQG9Ns4aNtLNjXe+oB4dOrQ==","mode":420,"size":69191},"cluster.d.ts":{"checkedAt":1708001724553,"integrity":"sha512-wq6Nnlng6Z/IVxEm/73NwrDL7H7p6GF9bL/f8OARJTDZ5trwLjdEDjKtX+4528EBMuhRxuXV0mM5BXLmI3lNYQ==","mode":420,"size":20851},"console.d.ts":{"checkedAt":1708001724553,"integrity":"sha512-aWnwFJGt4ZrA4stUbtkvwzERNIWLZb7xHhhEkd+ZHUb/YcJKFDEBIT3byQmjuCQVDSFxRvbZhFKPSNZmgWQF+Q==","mode":420,"size":18476},"constants.d.ts":{"checkedAt":1708001724553,"integrity":"sha512-FuHbq175zHT1/jCL2LPfuuV1uO0QvW1+Kl5wHa45hUiqyWo/NMIgOIqXZrTL38xnOiE7f+0kIBEiva2pBQquzQ==","mode":420,"size":623},"crypto.d.ts":{"checkedAt":1708001724554,"integrity":"sha512-WAHVfBlszcPMt97NhyLacnBN33dfFllyqJ1K+WSJGpCTlr+ARkD88KAFvaVuWgIVrY/vCrDCRqKkAtrECeE4ug==","mode":420,"size":190746},"dgram.d.ts":{"checkedAt":1708001724554,"integrity":"sha512-qcLrlXwVtsq1cK9oYJutxrufI7e/w8F8Xbi8gpnbz12h22aznQQFRwgIsWs5QzV4IuU3rvxG4Lq8t27ileR9lA==","mode":420,"size":27756},"diagnostics_channel.d.ts":{"checkedAt":1708001724554,"integrity":"sha512-2SoqyU7t8JgvUpVZCv/xgW2+0BD+uBRR+Laly4QWD6uisJjFa+MHKWMkjwpxIascYkeme9AjF4pCk0UtCuplfQ==","mode":420,"size":23158},"dns.d.ts":{"checkedAt":1708001724554,"integrity":"sha512-NOqvBbAqmK+S3f9hL5sM61FN7zYQhXw4BOLjNWM+78SkuQBCjCF/58tAMCdD1TuKBQMs/xJAhaK6GUSYGNRhaQ==","mode":420,"size":31241},"dom-events.d.ts":{"checkedAt":1708001724554,"integrity":"sha512-NPtjHMm4kKWNuUHwPf1yyaZ+l4lDoBsYfo9Op6G8FHHzgd6s7CNE0CRul6XGc7D5xwe7eUgr7n610FBJ6LtR2w==","mode":420,"size":5741},"domain.d.ts":{"checkedAt":1708001724554,"integrity":"sha512-w5Gw2K2lb4EBiD9S5ScEEoO2h+GbnyHx3Xla0anUQkVl6XRmPdbI7tImKKnjme+81Xn3Gbxm41GfbyyXZTE+Ow==","mode":420,"size":7820},"events.d.ts":{"checkedAt":1708001724554,"integrity":"sha512-26HDjBNeFk8vb0h06fnjXQSmr/WRQkHuTx/kJ2Dm0aYE11s6CId6L+OuDOylfP/wT7EwcnMywR6o7g3g+xgPkQ==","mode":420,"size":40944},"fs.d.ts":{"checkedAt":1708001724555,"integrity":"sha512-VjjnaaI2gDFswVSpiUxsuM3CwEzPTUGllRCzhvOoxylr5VbcBGWnOajwsCPQigSU6EDaMzj0jX3XdPADNEadDA==","mode":420,"size":187145},"globals.d.ts":{"checkedAt":1708001724555,"integrity":"sha512-OKYv0Dpoiqd/CX1cTa0qypnnmNl6/YMDpXHroKQGj2k6G8iWO0/oYXMrITvf9O7XN7cFiHMhJNPxcu+7XGd8Pw==","mode":420,"size":14300},"globals.global.d.ts":{"checkedAt":1708001724555,"integrity":"sha512-sC+7hXjoOgjN64O6lbHbuh34fVx+rCd6s5/Ni7OFSuefQvD/R8/dfgyW/HKSsqw2vxOoN0YaSSVOC5GMeMORMQ==","mode":420,"size":39},"http.d.ts":{"checkedAt":1708001724555,"integrity":"sha512-3iW/92LlmJv9TBuLt3kJDX1Iq1eXjZbzcI+g5CtR7ualpJSgPXe5upDWGKSXTL4EzjXv+y3tQHu8sfxqvqrKJg==","mode":420,"size":84268},"http2.d.ts":{"checkedAt":1708001724556,"integrity":"sha512-aNEEstlFeiYha7hWuTub07Uc0UjBRAdjFTDk8OtgS/onu0s1L0uLMH3lRJVCV156GQil9EFp5qsNrrpAKEjQZg==","mode":420,"size":116844},"https.d.ts":{"checkedAt":1708001724556,"integrity":"sha512-mlticqheCeNBuKUkRuzYT3hbkFjLf81VdpFpFNdXBUmGJ2K3jbKuwojYi8Smhwb5Ri25fh8QTfvNZtqG5PLK9Q==","mode":420,"size":24891},"index.d.ts":{"checkedAt":1708001724556,"integrity":"sha512-CIsWoDRNvFwUa5HS3ZLDanBpOCtFA8AoBS9Cowr+PqzV3AQgqMhHF5f6A/g3eZa0imNYxWuJe9QNd+QJUfqOTA==","mode":420,"size":3740},"inspector.d.ts":{"checkedAt":1708001724556,"integrity":"sha512-icANy1CKzEu+MpwjhWjgYZP2sdSGjpXftzJo4UofCmo0QukWDMtKr7cgcux0gaRvejV369GHgnHjxc7eNw/TKA==","mode":420,"size":125362},"module.d.ts":{"checkedAt":1708001724556,"integrity":"sha512-z0h0dAFVxAAemodFwqxr9lj+je/I+wm5/KPAhcKKb8ItKTPY4ihxThZ0Gsn78rD+/x2D9YaxUCGp7OzAYSzCpQ==","mode":420,"size":13783},"net.d.ts":{"checkedAt":1708001724557,"integrity":"sha512-86pRHdS0shkuzldNd6/vAn32T90h7n2F5/Cj4ikupEVe0X/4zrm0uO9vYosNxA4BLZQAnHZVDOPa0wwn4ncycw==","mode":420,"size":43143},"os.d.ts":{"checkedAt":1708001724557,"integrity":"sha512-I1/BGLu2PA3HoLW2P56+l+SI4sodvWAG5ETQYsrf+a9I05zcLQ2+AIFos7sGHWptX4YhM9QoeghjZytRldngjQ==","mode":420,"size":18073},"package.json":{"checkedAt":1708001724557,"integrity":"sha512-/L4NNqJUb0q7vi0BwRp5RgcOaCAANqlhlEhzfYr0S7mAGU2VW6lRyQRvY+gAA+/p61rMUDszfaXGBfTsjYk8Sg==","mode":420,"size":6783},"path.d.ts":{"checkedAt":1708001724557,"integrity":"sha512-E3r3wO46DZcK4eaUwx+w3b0rf/jqwbjgeWd9dek46fj3LECvOMLnwiiSyBGFNwvDlNvkxYRYKIv7naYC3WRM0w==","mode":420,"size":7751},"perf_hooks.d.ts":{"checkedAt":1708001724557,"integrity":"sha512-L9Vpt4OEUeoamkcdkxH76IPEWtxc80HuKb3CT2PVzetVLiHZfAlwieuOAAIE4wwpyggjR8IvFlTK7H9cr55hZg==","mode":420,"size":24508},"process.d.ts":{"checkedAt":1708001724557,"integrity":"sha512-8tP6INLDcuDDsvsP8u6/+/LWAuLIakwS8bqrLTEFEaqtuyAiMiAE7rDLk44xAQULOO+8FcgXx/g6AU34mvAgbg==","mode":420,"size":76213},"punycode.d.ts":{"checkedAt":1708001724557,"integrity":"sha512-ZwmRFGd/Z+RyG3flASVSp8/XMmt3xjGodp8PY0PBsMbQpnmP+5kqcg70+ojQWu6DqEsUd//xvQ+d4R40/PDbgw==","mode":420,"size":5478},"querystring.d.ts":{"checkedAt":1708001724558,"integrity":"sha512-2/PTDYNPNxQGIeYbUR+OWmNoFWW7jX3+RolpReO+9cHKxWPczwkhululsx01zBEweKERrMFgmbKSuKBbXtlp6A==","mode":420,"size":6647},"readline.d.ts":{"checkedAt":1708001724558,"integrity":"sha512-8/v3waQ4sO3gkSwgeyb9Ux0NdFWe5uuIAq7lnSFI24cVGx7iviE0UXhwFw+Wt+N48UBHZ1QbAGw1WZJgmHJFDA==","mode":420,"size":22983},"repl.d.ts":{"checkedAt":1708001724558,"integrity":"sha512-k9Pd2UuCXM/RXDKuYxG1mWDEIlOHsP05Fu5xMnZVmASw1RB1kPdF8GIChAqdWXti/tKvbcRkk0H4FGesYeGDDQ==","mode":420,"size":19536},"stream.d.ts":{"checkedAt":1708001724558,"integrity":"sha512-U/90fT84i0H2Si/2pF8PCUzEjuEbDk8W3NQe8bdSpVQeoSjbAFJrDsO82b6V/lQBApiQFL7ZRg8GUlplvDz8zw==","mode":420,"size":82656},"string_decoder.d.ts":{"checkedAt":1708001724558,"integrity":"sha512-EIMjsq50dFsb7VHtEHv+16RKSP53Y3cS6EUeFaK+cAt8G9YhLEJ9zjmBWkxccbQ8dKUl1ZpW3swo079tMN5OXQ==","mode":420,"size":2842},"test.d.ts":{"checkedAt":1708001724558,"integrity":"sha512-NkVLZLAjWR5LevLnoeJ8h2PqSRAG8V7tbs5Ps200R2nkXz9LxEJf9TZkmzACFvwLBV0SwkX9isxBlM+fHw98mg==","mode":420,"size":59836},"timers.d.ts":{"checkedAt":1708001724558,"integrity":"sha512-trlCRobqcTiVJqlNwxWTHl8B7/ZZ6szg5hZMwBDEhg/QMIBeQJNhha0+yJYthUK39p65m1ibsj0hTmZBfWvcxw==","mode":420,"size":12279},"tls.d.ts":{"checkedAt":1708001724559,"integrity":"sha512-r84XeFaddI1Y6hJsX/C2GAerKXQNqiMo5W+BGqV4hvpmD2q3JVznn88h8Qq9in3/RQw9iSYNPjuGNS0h1rtz2Q==","mode":420,"size":56857},"trace_events.d.ts":{"checkedAt":1708001724559,"integrity":"sha512-Cp6KUGRDG1DOWKEGPTvvtOTtfo651mvz1w+3VLLyxvXWmLRlz5sRaT9E+9WGUGhH1CTLg44V+bkMoDc0mKMSJQ==","mode":420,"size":7928},"tty.d.ts":{"checkedAt":1708001724559,"integrity":"sha512-B1zfyS1kDYmTxeRwloi1SzgLKYC1I8Ftivd0Xm0jcT+eqcK6/3jiht/DjkbSdcv6LyPaHB3zx9jiMP8tsn+l6Q==","mode":420,"size":10053},"url.d.ts":{"checkedAt":1708001724559,"integrity":"sha512-+qjSKMaDAuN5VdHVmMHqElotvcVn641zVPeEUAIwH9gGYwF52ghcQKBEmFwiE6xiADYP+fW72sUGj0gNLoDm0w==","mode":420,"size":41139},"util.d.ts":{"checkedAt":1708001724559,"integrity":"sha512-bQm9QxvulrBREVD6RS5ytrAZ5VqD3YRvFdzejHkPQ5ttsCuctprznNOaUaIZyy5kzEE6lIzDT4PTlHwaLXNWuA==","mode":420,"size":85386},"v8.d.ts":{"checkedAt":1708001724560,"integrity":"sha512-TQy9JZwxHeA9Nph5a5oqj+SHj6mqriOX+A6s/W1eoob/Xrs82llZrweQ76oVL9rQntJXPtxr/K4X+WZrqaciIw==","mode":420,"size":32211},"vm.d.ts":{"checkedAt":1708001724560,"integrity":"sha512-20+L2t9SiHFXxpihAzqw5T1Vpba+89PtmLGzTkO91LMBtKjWhL0tMwtSqPV4vr3jHCfUn0oNZBKRPgCUM0rfjw==","mode":420,"size":39089},"wasi.d.ts":{"checkedAt":1708001724560,"integrity":"sha512-6a5QOSYD9OCK9XZhYck2Q9wNqlF0TXvAI/sAD0w2tMmUqEwVQKciYQjHoElcPrv2xrYL5N729gc5dxL75RK69g==","mode":420,"size":7837},"worker_threads.d.ts":{"checkedAt":1708001724560,"integrity":"sha512-0sPS3Y5q5Cteh0WHpgBlAn2JBRFofx0coZC12gnz+ixPwGgt9U8Y3ZhyvhulRSoHdgqtYkI6ntX3Exe4Evg9oA==","mode":420,"size":33962},"zlib.d.ts":{"checkedAt":1708001724560,"integrity":"sha512-cvqUpPh0PAdIL1QrFrfw9j2YNcNEYQB64o8aHdRVHY4olYrCJPem6/3Szo/NskUtF9nd0+Jf9kX2jJUdsgkr6g==","mode":420,"size":19551},"assert/strict.d.ts":{"checkedAt":1708001724560,"integrity":"sha512-g6jLaQ9f5jKABsC1tDCUCGzPLDiJC5ZbKf5JQaQ5qlq6/O4eVJFsAb/rw80ZOQLqkEJuGzCwdJeH0UrgKLgwhQ==","mode":420,"size":201},"dns/promises.d.ts":{"checkedAt":1708001724560,"integrity":"sha512-JSG4qDsLv+S+GKQQTSyfm+hopmj+Xsp11ohaAxJbioguwUVcBvt7qbS4Mjev975assFBtSNZzFzDU+j7plytDQ==","mode":420,"size":17506},"fs/promises.d.ts":{"checkedAt":1708001724560,"integrity":"sha512-xhbraANYwqNlCSp3/EHqSqyTyn5DsSvde24Z1k15CxV6tNq+o2xwMMwuT2fExpr4OS7yaq5XVV1mL03vbcBxrA==","mode":420,"size":54387},"readline/promises.d.ts":{"checkedAt":1708001724560,"integrity":"sha512-nJRnqgCkaLbV5bPFH3qXtFDfwMYAW0f+ZNa3xTgJ+QXpouDih574TSVuWJanj4kZRhFMFiIPoU0yWDv/8uhe0Q==","mode":420,"size":6117},"stream/consumers.d.ts":{"checkedAt":1708001724560,"integrity":"sha512-ntKTjUNMFtWHsX8UHPzNQq/S2FTSMvXF49QMJbbAa/oTWgGpv53xAnpwRBef5cr9YRYEQ4weFDmky4miJuTB1A==","mode":420,"size":727},"stream/promises.d.ts":{"checkedAt":1708001724561,"integrity":"sha512-YqgV7/TLPRo6UbWSFfSRg4cWGahjmnD/LStWPpuonFW6Wn5GIpM7OPSsU00v556mKg0Wx2uiUUMcFF7vD2N+lg==","mode":420,"size":2696},"stream/web.d.ts":{"checkedAt":1708001724561,"integrity":"sha512-gskSVHy3eHhK3K6JU0fdMS6iKohn3TvJpXGxQTKIOLHDtSL996k1nQVLlMxtwXqboOooCMiTmYhZCPu2SS8w/w==","mode":420,"size":14998},"timers/promises.d.ts":{"checkedAt":1708001724561,"integrity":"sha512-V/TOJc8u4b4F8PB9nBs84YdJDP5PTSuKM3RO+l+rAn7XUHLyltFm0/fiWNkNSF9Lg+h2Ejs7NWd13YZ8mPsQxQ==","mode":420,"size":3273},"ts4.8/assert.d.ts":{"checkedAt":1708001724561,"integrity":"sha512-XKdAfucjtVHLWbRaABmBPVnT0Hgvymg360vLJyFwkHhpAgEm9Hk4B3U7WAPqUyCTHbT2V6LDKFvPCCE4Vi6t4g==","mode":420,"size":41643},"ts4.8/async_hooks.d.ts":{"checkedAt":1708001724561,"integrity":"sha512-v4lmPaTVjqHnsEzw9D23KpyKZ4jV8orMPZ3ynP6sQSRYmucMWoUTiH0l2uLkv6B7zlIPJ2PDA+tG2UAT99j2zA==","mode":420,"size":22740},"ts4.8/buffer.d.ts":{"checkedAt":1708001724561,"integrity":"sha512-duTmWQBlBZtLAOcoxZ+3Pl/GnoM/cAQ4nf1up3wf53vyYvcGMRHFsqucuAlio4+UD+U+YpuUxkfo/qbEpzNhAg==","mode":420,"size":107288},"ts4.8/child_process.d.ts":{"checkedAt":1708001724562,"integrity":"sha512-OdotrCz6pm8JkTIVQx/xzu8N8ykVdWPdTN3Jf28LNXTd9GLGnhU7HwcQv61rkA3YQG9Ns4aNtLNjXe+oB4dOrQ==","mode":420,"size":69191},"ts4.8/cluster.d.ts":{"checkedAt":1708001724562,"integrity":"sha512-wq6Nnlng6Z/IVxEm/73NwrDL7H7p6GF9bL/f8OARJTDZ5trwLjdEDjKtX+4528EBMuhRxuXV0mM5BXLmI3lNYQ==","mode":420,"size":20851},"ts4.8/console.d.ts":{"checkedAt":1708001724562,"integrity":"sha512-aWnwFJGt4ZrA4stUbtkvwzERNIWLZb7xHhhEkd+ZHUb/YcJKFDEBIT3byQmjuCQVDSFxRvbZhFKPSNZmgWQF+Q==","mode":420,"size":18476},"ts4.8/constants.d.ts":{"checkedAt":1708001724562,"integrity":"sha512-FuHbq175zHT1/jCL2LPfuuV1uO0QvW1+Kl5wHa45hUiqyWo/NMIgOIqXZrTL38xnOiE7f+0kIBEiva2pBQquzQ==","mode":420,"size":623},"ts4.8/crypto.d.ts":{"checkedAt":1708001724562,"integrity":"sha512-WAHVfBlszcPMt97NhyLacnBN33dfFllyqJ1K+WSJGpCTlr+ARkD88KAFvaVuWgIVrY/vCrDCRqKkAtrECeE4ug==","mode":420,"size":190746},"ts4.8/dgram.d.ts":{"checkedAt":1708001724563,"integrity":"sha512-qcLrlXwVtsq1cK9oYJutxrufI7e/w8F8Xbi8gpnbz12h22aznQQFRwgIsWs5QzV4IuU3rvxG4Lq8t27ileR9lA==","mode":420,"size":27756},"ts4.8/diagnostics_channel.d.ts":{"checkedAt":1708001724563,"integrity":"sha512-2SoqyU7t8JgvUpVZCv/xgW2+0BD+uBRR+Laly4QWD6uisJjFa+MHKWMkjwpxIascYkeme9AjF4pCk0UtCuplfQ==","mode":420,"size":23158},"ts4.8/dns.d.ts":{"checkedAt":1708001724563,"integrity":"sha512-NOqvBbAqmK+S3f9hL5sM61FN7zYQhXw4BOLjNWM+78SkuQBCjCF/58tAMCdD1TuKBQMs/xJAhaK6GUSYGNRhaQ==","mode":420,"size":31241},"ts4.8/dom-events.d.ts":{"checkedAt":1708001724563,"integrity":"sha512-NPtjHMm4kKWNuUHwPf1yyaZ+l4lDoBsYfo9Op6G8FHHzgd6s7CNE0CRul6XGc7D5xwe7eUgr7n610FBJ6LtR2w==","mode":420,"size":5741},"ts4.8/domain.d.ts":{"checkedAt":1708001724563,"integrity":"sha512-w5Gw2K2lb4EBiD9S5ScEEoO2h+GbnyHx3Xla0anUQkVl6XRmPdbI7tImKKnjme+81Xn3Gbxm41GfbyyXZTE+Ow==","mode":420,"size":7820},"ts4.8/events.d.ts":{"checkedAt":1708001724563,"integrity":"sha512-26HDjBNeFk8vb0h06fnjXQSmr/WRQkHuTx/kJ2Dm0aYE11s6CId6L+OuDOylfP/wT7EwcnMywR6o7g3g+xgPkQ==","mode":420,"size":40944},"ts4.8/fs.d.ts":{"checkedAt":1708001724564,"integrity":"sha512-VjjnaaI2gDFswVSpiUxsuM3CwEzPTUGllRCzhvOoxylr5VbcBGWnOajwsCPQigSU6EDaMzj0jX3XdPADNEadDA==","mode":420,"size":187145},"ts4.8/globals.d.ts":{"checkedAt":1708001724564,"integrity":"sha512-OKYv0Dpoiqd/CX1cTa0qypnnmNl6/YMDpXHroKQGj2k6G8iWO0/oYXMrITvf9O7XN7cFiHMhJNPxcu+7XGd8Pw==","mode":420,"size":14300},"ts4.8/globals.global.d.ts":{"checkedAt":1708001724564,"integrity":"sha512-sC+7hXjoOgjN64O6lbHbuh34fVx+rCd6s5/Ni7OFSuefQvD/R8/dfgyW/HKSsqw2vxOoN0YaSSVOC5GMeMORMQ==","mode":420,"size":39},"ts4.8/http.d.ts":{"checkedAt":1708001724564,"integrity":"sha512-3iW/92LlmJv9TBuLt3kJDX1Iq1eXjZbzcI+g5CtR7ualpJSgPXe5upDWGKSXTL4EzjXv+y3tQHu8sfxqvqrKJg==","mode":420,"size":84268},"ts4.8/http2.d.ts":{"checkedAt":1708001724564,"integrity":"sha512-aNEEstlFeiYha7hWuTub07Uc0UjBRAdjFTDk8OtgS/onu0s1L0uLMH3lRJVCV156GQil9EFp5qsNrrpAKEjQZg==","mode":420,"size":116844},"ts4.8/https.d.ts":{"checkedAt":1708001724565,"integrity":"sha512-mlticqheCeNBuKUkRuzYT3hbkFjLf81VdpFpFNdXBUmGJ2K3jbKuwojYi8Smhwb5Ri25fh8QTfvNZtqG5PLK9Q==","mode":420,"size":24891},"ts4.8/index.d.ts":{"checkedAt":1708001724565,"integrity":"sha512-lDuqdehSc93Jyksu7roZ1lyWVMXNgEKyruaSXSudcoBgY9eL5+txaO3Brs8q0BeAqBrANp/nDwl9+JhlUC74CQ==","mode":420,"size":3751},"ts4.8/inspector.d.ts":{"checkedAt":1708001724565,"integrity":"sha512-icANy1CKzEu+MpwjhWjgYZP2sdSGjpXftzJo4UofCmo0QukWDMtKr7cgcux0gaRvejV369GHgnHjxc7eNw/TKA==","mode":420,"size":125362},"ts4.8/module.d.ts":{"checkedAt":1708001724565,"integrity":"sha512-z0h0dAFVxAAemodFwqxr9lj+je/I+wm5/KPAhcKKb8ItKTPY4ihxThZ0Gsn78rD+/x2D9YaxUCGp7OzAYSzCpQ==","mode":420,"size":13783},"ts4.8/net.d.ts":{"checkedAt":1708001724565,"integrity":"sha512-86pRHdS0shkuzldNd6/vAn32T90h7n2F5/Cj4ikupEVe0X/4zrm0uO9vYosNxA4BLZQAnHZVDOPa0wwn4ncycw==","mode":420,"size":43143},"ts4.8/os.d.ts":{"checkedAt":1708001724565,"integrity":"sha512-I1/BGLu2PA3HoLW2P56+l+SI4sodvWAG5ETQYsrf+a9I05zcLQ2+AIFos7sGHWptX4YhM9QoeghjZytRldngjQ==","mode":420,"size":18073},"ts4.8/path.d.ts":{"checkedAt":1708001724565,"integrity":"sha512-E3r3wO46DZcK4eaUwx+w3b0rf/jqwbjgeWd9dek46fj3LECvOMLnwiiSyBGFNwvDlNvkxYRYKIv7naYC3WRM0w==","mode":420,"size":7751},"ts4.8/perf_hooks.d.ts":{"checkedAt":1708001724566,"integrity":"sha512-L9Vpt4OEUeoamkcdkxH76IPEWtxc80HuKb3CT2PVzetVLiHZfAlwieuOAAIE4wwpyggjR8IvFlTK7H9cr55hZg==","mode":420,"size":24508},"ts4.8/process.d.ts":{"checkedAt":1708001724566,"integrity":"sha512-8tP6INLDcuDDsvsP8u6/+/LWAuLIakwS8bqrLTEFEaqtuyAiMiAE7rDLk44xAQULOO+8FcgXx/g6AU34mvAgbg==","mode":420,"size":76213},"ts4.8/punycode.d.ts":{"checkedAt":1708001724566,"integrity":"sha512-ZwmRFGd/Z+RyG3flASVSp8/XMmt3xjGodp8PY0PBsMbQpnmP+5kqcg70+ojQWu6DqEsUd//xvQ+d4R40/PDbgw==","mode":420,"size":5478},"ts4.8/querystring.d.ts":{"checkedAt":1708001724566,"integrity":"sha512-2/PTDYNPNxQGIeYbUR+OWmNoFWW7jX3+RolpReO+9cHKxWPczwkhululsx01zBEweKERrMFgmbKSuKBbXtlp6A==","mode":420,"size":6647},"ts4.8/readline.d.ts":{"checkedAt":1708001724566,"integrity":"sha512-8/v3waQ4sO3gkSwgeyb9Ux0NdFWe5uuIAq7lnSFI24cVGx7iviE0UXhwFw+Wt+N48UBHZ1QbAGw1WZJgmHJFDA==","mode":420,"size":22983},"ts4.8/repl.d.ts":{"checkedAt":1708001724566,"integrity":"sha512-k9Pd2UuCXM/RXDKuYxG1mWDEIlOHsP05Fu5xMnZVmASw1RB1kPdF8GIChAqdWXti/tKvbcRkk0H4FGesYeGDDQ==","mode":420,"size":19536},"ts4.8/stream.d.ts":{"checkedAt":1708001724566,"integrity":"sha512-U/90fT84i0H2Si/2pF8PCUzEjuEbDk8W3NQe8bdSpVQeoSjbAFJrDsO82b6V/lQBApiQFL7ZRg8GUlplvDz8zw==","mode":420,"size":82656},"ts4.8/string_decoder.d.ts":{"checkedAt":1708001724566,"integrity":"sha512-EIMjsq50dFsb7VHtEHv+16RKSP53Y3cS6EUeFaK+cAt8G9YhLEJ9zjmBWkxccbQ8dKUl1ZpW3swo079tMN5OXQ==","mode":420,"size":2842},"ts4.8/test.d.ts":{"checkedAt":1708001724567,"integrity":"sha512-NkVLZLAjWR5LevLnoeJ8h2PqSRAG8V7tbs5Ps200R2nkXz9LxEJf9TZkmzACFvwLBV0SwkX9isxBlM+fHw98mg==","mode":420,"size":59836},"ts4.8/timers.d.ts":{"checkedAt":1708001724567,"integrity":"sha512-trlCRobqcTiVJqlNwxWTHl8B7/ZZ6szg5hZMwBDEhg/QMIBeQJNhha0+yJYthUK39p65m1ibsj0hTmZBfWvcxw==","mode":420,"size":12279},"ts4.8/tls.d.ts":{"checkedAt":1708001724567,"integrity":"sha512-r84XeFaddI1Y6hJsX/C2GAerKXQNqiMo5W+BGqV4hvpmD2q3JVznn88h8Qq9in3/RQw9iSYNPjuGNS0h1rtz2Q==","mode":420,"size":56857},"ts4.8/trace_events.d.ts":{"checkedAt":1708001724567,"integrity":"sha512-Cp6KUGRDG1DOWKEGPTvvtOTtfo651mvz1w+3VLLyxvXWmLRlz5sRaT9E+9WGUGhH1CTLg44V+bkMoDc0mKMSJQ==","mode":420,"size":7928},"ts4.8/tty.d.ts":{"checkedAt":1708001724567,"integrity":"sha512-B1zfyS1kDYmTxeRwloi1SzgLKYC1I8Ftivd0Xm0jcT+eqcK6/3jiht/DjkbSdcv6LyPaHB3zx9jiMP8tsn+l6Q==","mode":420,"size":10053},"ts4.8/url.d.ts":{"checkedAt":1708001724559,"integrity":"sha512-+qjSKMaDAuN5VdHVmMHqElotvcVn641zVPeEUAIwH9gGYwF52ghcQKBEmFwiE6xiADYP+fW72sUGj0gNLoDm0w==","mode":420,"size":41139},"ts4.8/util.d.ts":{"checkedAt":1708001724567,"integrity":"sha512-bQm9QxvulrBREVD6RS5ytrAZ5VqD3YRvFdzejHkPQ5ttsCuctprznNOaUaIZyy5kzEE6lIzDT4PTlHwaLXNWuA==","mode":420,"size":85386},"ts4.8/v8.d.ts":{"checkedAt":1708001724568,"integrity":"sha512-TQy9JZwxHeA9Nph5a5oqj+SHj6mqriOX+A6s/W1eoob/Xrs82llZrweQ76oVL9rQntJXPtxr/K4X+WZrqaciIw==","mode":420,"size":32211},"ts4.8/vm.d.ts":{"checkedAt":1708001724568,"integrity":"sha512-20+L2t9SiHFXxpihAzqw5T1Vpba+89PtmLGzTkO91LMBtKjWhL0tMwtSqPV4vr3jHCfUn0oNZBKRPgCUM0rfjw==","mode":420,"size":39089},"ts4.8/wasi.d.ts":{"checkedAt":1708001724568,"integrity":"sha512-6a5QOSYD9OCK9XZhYck2Q9wNqlF0TXvAI/sAD0w2tMmUqEwVQKciYQjHoElcPrv2xrYL5N729gc5dxL75RK69g==","mode":420,"size":7837},"ts4.8/worker_threads.d.ts":{"checkedAt":1708001724568,"integrity":"sha512-0sPS3Y5q5Cteh0WHpgBlAn2JBRFofx0coZC12gnz+ixPwGgt9U8Y3ZhyvhulRSoHdgqtYkI6ntX3Exe4Evg9oA==","mode":420,"size":33962},"ts4.8/zlib.d.ts":{"checkedAt":1708001724568,"integrity":"sha512-cvqUpPh0PAdIL1QrFrfw9j2YNcNEYQB64o8aHdRVHY4olYrCJPem6/3Szo/NskUtF9nd0+Jf9kX2jJUdsgkr6g==","mode":420,"size":19551},"ts4.8/assert/strict.d.ts":{"checkedAt":1708001724568,"integrity":"sha512-g6jLaQ9f5jKABsC1tDCUCGzPLDiJC5ZbKf5JQaQ5qlq6/O4eVJFsAb/rw80ZOQLqkEJuGzCwdJeH0UrgKLgwhQ==","mode":420,"size":201},"ts4.8/dns/promises.d.ts":{"checkedAt":1708001724568,"integrity":"sha512-JSG4qDsLv+S+GKQQTSyfm+hopmj+Xsp11ohaAxJbioguwUVcBvt7qbS4Mjev975assFBtSNZzFzDU+j7plytDQ==","mode":420,"size":17506},"ts4.8/fs/promises.d.ts":{"checkedAt":1708001724568,"integrity":"sha512-xhbraANYwqNlCSp3/EHqSqyTyn5DsSvde24Z1k15CxV6tNq+o2xwMMwuT2fExpr4OS7yaq5XVV1mL03vbcBxrA==","mode":420,"size":54387},"ts4.8/readline/promises.d.ts":{"checkedAt":1708001724568,"integrity":"sha512-nJRnqgCkaLbV5bPFH3qXtFDfwMYAW0f+ZNa3xTgJ+QXpouDih574TSVuWJanj4kZRhFMFiIPoU0yWDv/8uhe0Q==","mode":420,"size":6117},"ts4.8/stream/consumers.d.ts":{"checkedAt":1708001724569,"integrity":"sha512-ntKTjUNMFtWHsX8UHPzNQq/S2FTSMvXF49QMJbbAa/oTWgGpv53xAnpwRBef5cr9YRYEQ4weFDmky4miJuTB1A==","mode":420,"size":727},"ts4.8/stream/promises.d.ts":{"checkedAt":1708001724569,"integrity":"sha512-YqgV7/TLPRo6UbWSFfSRg4cWGahjmnD/LStWPpuonFW6Wn5GIpM7OPSsU00v556mKg0Wx2uiUUMcFF7vD2N+lg==","mode":420,"size":2696},"ts4.8/stream/web.d.ts":{"checkedAt":1708001724569,"integrity":"sha512-gskSVHy3eHhK3K6JU0fdMS6iKohn3TvJpXGxQTKIOLHDtSL996k1nQVLlMxtwXqboOooCMiTmYhZCPu2SS8w/w==","mode":420,"size":14998},"ts4.8/timers/promises.d.ts":{"checkedAt":1708001724569,"integrity":"sha512-V/TOJc8u4b4F8PB9nBs84YdJDP5PTSuKM3RO+l+rAn7XUHLyltFm0/fiWNkNSF9Lg+h2Ejs7NWd13YZ8mPsQxQ==","mode":420,"size":3273}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/00/3fed95449de999e1401e8e60256491c25a4c3800554dcdd4339a0f08152658420760f2da37dc334a8a31a14f3f69111c36f8fa756e058599d2012ee63ff1e3 b/.pnpm-store/v3/files/00/3fed95449de999e1401e8e60256491c25a4c3800554dcdd4339a0f08152658420760f2da37dc334a8a31a14f3f69111c36f8fa756e058599d2012ee63ff1e3 new file mode 100644 index 00000000..96b5b3a4 --- /dev/null +++ b/.pnpm-store/v3/files/00/3fed95449de999e1401e8e60256491c25a4c3800554dcdd4339a0f08152658420760f2da37dc334a8a31a14f3f69111c36f8fa756e058599d2012ee63ff1e3 @@ -0,0 +1,3016 @@ +import ts from 'typescript'; + +/** + * Callback type used for {@link forEachComment}. + * @category Callbacks + */ +type ForEachCommentCallback = (fullText: string, comment: ts.CommentRange) => void; +/** + * Iterates over all comments owned by `node` or its children. + * @category Nodes - Other Utilities + * @example + * ```ts + * declare const node: ts.Node; + * + * forEachComment(node, (fullText, comment) => { + * console.log(`Found comment at position ${comment.pos}: '${fullText}'.`); + * }); + * ``` + */ +declare function forEachComment(node: ts.Node, callback: ForEachCommentCallback, sourceFile?: ts.SourceFile): void; + +/** + * An option that can be tested with {@link isCompilerOptionEnabled}. + * @category Compiler Options + */ +type BooleanCompilerOptions = keyof { + [K in keyof ts.CompilerOptions as NonNullable extends boolean ? K : never]: unknown; +}; +/** + * Checks if a given compiler option is enabled. + * It handles dependencies of options, e.g. `declaration` is implicitly enabled by `composite` or `strictNullChecks` is enabled by `strict`. + * However, it does not check dependencies that are already checked and reported as errors, e.g. `checkJs` without `allowJs`. + * This function only handles boolean flags. + * @category Compiler Options + * @example + * ```ts + * const options = { + * allowJs: true, + * }; + * + * isCompilerOptionEnabled(options, "allowJs"); // true + * isCompilerOptionEnabled(options, "allowSyntheticDefaultImports"); // false + * ``` + */ +declare function isCompilerOptionEnabled(options: ts.CompilerOptions, option: BooleanCompilerOptions): boolean; +/** + * An option that can be tested with {@link isStrictCompilerOptionEnabled}. + * @category Compiler Options + */ +type StrictCompilerOption = "alwaysStrict" | "noImplicitAny" | "noImplicitThis" | "strictBindCallApply" | "strictFunctionTypes" | "strictNullChecks" | "strictPropertyInitialization"; +/** + * Checks if a given compiler option is enabled, accounting for whether all flags + * (except `strictPropertyInitialization`) have been enabled by `strict: true`. + * @category Compiler Options + * @example + * ```ts + * const optionsLenient = { + * noImplicitAny: true, + * }; + * + * isStrictCompilerOptionEnabled(optionsLenient, "noImplicitAny"); // true + * isStrictCompilerOptionEnabled(optionsLenient, "noImplicitThis"); // false + * ``` + * @example + * ```ts + * const optionsStrict = { + * noImplicitThis: false, + * strict: true, + * }; + * + * isStrictCompilerOptionEnabled(optionsStrict, "noImplicitAny"); // true + * isStrictCompilerOptionEnabled(optionsStrict, "noImplicitThis"); // false + * ``` + */ +declare function isStrictCompilerOptionEnabled(options: ts.CompilerOptions, option: StrictCompilerOption): boolean; + +/** + * Test if the given node has the given `ModifierFlags` set. + * @category Nodes - Flag Utilities + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isModifierFlagSet(node, ts.ModifierFlags.Abstract)) { + * // ... + * } + * ``` + */ +declare function isModifierFlagSet(node: ts.Declaration, flag: ts.ModifierFlags): boolean; +/** + * Test if the given node has the given `NodeFlags` set. + * @category Nodes - Flag Utilities + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNodeFlagSet(node, ts.NodeFlags.AwaitContext)) { + * // ... + * } + * ``` + */ +declare const isNodeFlagSet: (node: ts.Node, flag: ts.NodeFlags) => boolean; +/** + * Test if the given node has the given `ObjectFlags` set. + * @category Nodes - Flag Utilities + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isObjectFlagSet(node, ts.ObjectFlags.Anonymous)) { + * // ... + * } + * ``` + */ +declare function isObjectFlagSet(objectType: ts.ObjectType, flag: ts.ObjectFlags): boolean; +/** + * Test if the given node has the given `SymbolFlags` set. + * @category Nodes - Flag Utilities + * @example + * ```ts + * declare const symbol: ts.Symbol; + * + * if (isSymbolFlagSet(symbol, ts.SymbolFlags.Accessor)) { + * // ... + * } + * ``` + */ +declare const isSymbolFlagSet: (symbol: ts.Symbol, flag: ts.SymbolFlags) => boolean; +/** + * Test if the given node has the given `TypeFlags` set. + * @category Nodes - Flag Utilities + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isTypeFlagSet(type, ts.TypeFlags.Any)) { + * // ... + * } + * ``` + */ +declare const isTypeFlagSet: (type: ts.Type, flag: ts.TypeFlags) => boolean; + +/** + * Test if the given iterable includes a modifier of any of the given kinds. + * @category Modifier Utilities + * @example + * ```ts + * declare const modifiers: ts.Modifier[]; + * + * includesModifier(modifiers, ts.SyntaxKind.AbstractKeyword); + * ``` + */ +declare function includesModifier(modifiers: Iterable | undefined, ...kinds: ts.ModifierSyntaxKind[]): boolean; + +/** + * An `AssertionExpression` that is declared as const. + * @category Node Types + */ +type ConstAssertionExpression = ts.AssertionExpression & { + type: ts.TypeReferenceNode; + typeName: ConstAssertionIdentifier; +}; +/** + * An `Identifier` with an `escapedText` value of `"const"`. + * @category Node Types + */ +type ConstAssertionIdentifier = ts.Identifier & { + escapedText: ts.__String & "const"; +}; +/** + * Test if a node is a {@link ConstAssertionExpression}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isConstAssertionExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link ConstAssertionExpression}. + */ +declare function isConstAssertionExpression(node: ts.AssertionExpression): node is ConstAssertionExpression; +/** + * Test if a node is an `IterationStatement`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isIterationStatement(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `IterationStatement`. + */ +declare function isIterationStatement(node: ts.Node): node is ts.IterationStatement; +/** + * Test if a node is a `JSDocNamespaceDeclaration`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJSDocNamespaceDeclaration(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JSDocNamespaceDeclaration`. + */ +declare function isJSDocNamespaceDeclaration(node: ts.Node): node is ts.JSDocNamespaceDeclaration; +/** + * Test if a node is a `JsxTagNamePropertyAccess`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJsxTagNamePropertyAccess(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JsxTagNamePropertyAccess`. + */ +declare function isJsxTagNamePropertyAccess(node: ts.Node): node is ts.JsxTagNamePropertyAccess; +/** + * a `NamedDeclaration` that definitely has a name. + * @category Node Types + */ +interface NamedDeclarationWithName extends ts.NamedDeclaration { + name: ts.DeclarationName; +} +/** + * Test if a node is a {@link NamedDeclarationWithName}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNamedDeclarationWithName(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link NamedDeclarationWithName}. + */ +declare function isNamedDeclarationWithName(node: ts.Declaration): node is NamedDeclarationWithName; +/** + * Test if a node is a `NamespaceDeclaration`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNamespaceDeclaration(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `NamespaceDeclaration`. + */ +declare function isNamespaceDeclaration(node: ts.Node): node is ts.NamespaceDeclaration; +/** + * A number or string-like literal. + * @category Node Types + */ +type NumericOrStringLikeLiteral = ts.NumericLiteral | ts.StringLiteralLike; +/** + * Test if a node is a {@link NumericOrStringLikeLiteral}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNumericOrStringLikeLiteral(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link NumericOrStringLikeLiteral}. + */ +declare function isNumericOrStringLikeLiteral(node: ts.Node): node is NumericOrStringLikeLiteral; +/** + * Test if a node is a `PropertyAccessEntityNameExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isPropertyAccessEntityNameExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `PropertyAccessEntityNameExpression`. + */ +declare function isPropertyAccessEntityNameExpression(node: ts.Node): node is ts.PropertyAccessEntityNameExpression; +/** + * Test if a node is a `SuperElementAccessExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isSuperElementAccessExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `SuperElementAccessExpression`. + */ +declare function isSuperElementAccessExpression(node: ts.Node): node is ts.SuperElementAccessExpression; +/** + * Test if a node is a `SuperPropertyAccessExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isSuperPropertyAccessExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `SuperPropertyAccessExpression`. + */ +declare function isSuperPropertyAccessExpression(node: ts.Node): node is ts.SuperPropertyAccessExpression; + +/** + * A node that represents the any keyword. + * @category Node Types + */ +type AnyKeyword = ts.KeywordToken; +/** + * A node that represents the bigint keyword. + * @category Node Types + */ +type BigIntKeyword = ts.KeywordToken; +/** + * A node that represents the boolean keyword. + * @category Node Types + */ +type BooleanKeyword = ts.KeywordToken; +/** + * A node that represents the false keyword. + * @category Node Types + */ +type FalseKeyword = ts.KeywordToken; +/** + * A node that represents the import keyword. + * @category Node Types + */ +type ImportKeyword = ts.KeywordToken; +/** + * A node that represents the never keyword. + * @category Node Types + */ +type NeverKeyword = ts.KeywordToken; +/** + * A node that represents the null keyword. + * @category Node Types + */ +type NullKeyword = ts.KeywordToken; +/** + * A node that represents the number keyword. + * @category Node Types + */ +type NumberKeyword = ts.KeywordToken; +/** + * A node that represents the object keyword. + * @category Node Types + */ +type ObjectKeyword = ts.KeywordToken; +/** + * A node that represents the string keyword. + * @category Node Types + */ +type StringKeyword = ts.KeywordToken; +/** + * A node that represents the super keyword. + * @category Node Types + */ +type SuperKeyword = ts.KeywordToken; +/** + * A node that represents the symbol keyword. + * @category Node Types + */ +type SymbolKeyword = ts.KeywordToken; +/** + * A node that represents the this keyword. + * @category Node Types + */ +type ThisKeyword = ts.KeywordToken; +/** + * A node that represents the true keyword. + * @category Node Types + */ +type TrueKeyword = ts.KeywordToken; +/** + * A node that represents the undefined keyword. + * @category Node Types + */ +type UndefinedKeyword = ts.KeywordToken; +/** + * A node that represents the unknown keyword. + * @category Node Types + */ +type UnknownKeyword = ts.KeywordToken; +/** + * A node that represents the void keyword. + * @category Node Types + */ +type VoidKeyword = ts.KeywordToken; +/** + * Test if a node is an `AbstractKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAbstractKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `AbstractKeyword`. + */ +declare function isAbstractKeyword(node: ts.Node): node is ts.AbstractKeyword; +/** + * Test if a node is an `AccessorKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAccessorKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `AccessorKeyword`. + */ +declare function isAccessorKeyword(node: ts.Node): node is ts.AccessorKeyword; +/** + * Test if a node is an {@link AnyKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAnyKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an {@link AnyKeyword}. + */ +declare function isAnyKeyword(node: ts.Node): node is AnyKeyword; +/** + * Test if a node is an `AssertKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAssertKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `AssertKeyword`. + */ +declare function isAssertKeyword(node: ts.Node): node is ts.AssertKeyword; +/** + * Test if a node is an `AssertsKeyword`. + * @deprecated With TypeScript v5, in favor of typescript's `isAssertsKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAssertsKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `AssertsKeyword`. + */ +declare function isAssertsKeyword(node: ts.Node): node is ts.AssertsKeyword; +/** + * Test if a node is an `AsyncKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAsyncKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `AsyncKeyword`. + */ +declare function isAsyncKeyword(node: ts.Node): node is ts.AsyncKeyword; +/** + * Test if a node is an `AwaitKeyword`. + * @deprecated With TypeScript v5, in favor of typescript's `isAwaitKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAwaitKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `AwaitKeyword`. + */ +declare function isAwaitKeyword(node: ts.Node): node is ts.AwaitKeyword; +/** + * Test if a node is a {@link BigIntKeyword}. + * @deprecated With TypeScript v5, in favor of typescript's `isBigIntKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isBigIntKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link BigIntKeyword}. + */ +declare function isBigIntKeyword(node: ts.Node): node is BigIntKeyword; +/** + * Test if a node is a {@link BooleanKeyword}. + * @deprecated With TypeScript v5, in favor of typescript's `isBooleanKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isBooleanKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link BooleanKeyword}. + */ +declare function isBooleanKeyword(node: ts.Node): node is BooleanKeyword; +/** + * Test if a node is a `ColonToken`. + * @deprecated With TypeScript v5, in favor of typescript's `isColonToken`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isColonToken(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ColonToken`. + */ +declare function isColonToken(node: ts.Node): node is ts.ColonToken; +/** + * Test if a node is a `ConstKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isConstKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ConstKeyword`. + */ +declare function isConstKeyword(node: ts.Node): node is ts.ConstKeyword; +/** + * Test if a node is a `DeclareKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isDeclareKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `DeclareKeyword`. + */ +declare function isDeclareKeyword(node: ts.Node): node is ts.DeclareKeyword; +/** + * Test if a node is a `DefaultKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isDefaultKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `DefaultKeyword`. + */ +declare function isDefaultKeyword(node: ts.Node): node is ts.DefaultKeyword; +/** + * Test if a node is a `DotToken`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isDotToken(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `DotToken`. + */ +declare function isDotToken(node: ts.Node): node is ts.DotToken; +/** + * Test if a node is an `EndOfFileToken`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isEndOfFileToken(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `EndOfFileToken`. + */ +declare function isEndOfFileToken(node: ts.Node): node is ts.EndOfFileToken; +/** + * Test if a node is an `EqualsGreaterThanToken`. + * @deprecated With TypeScript v5, in favor of typescript's `isEqualsGreaterThanToken`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isEqualsGreaterThanToken(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `EqualsGreaterThanToken`. + */ +declare function isEqualsGreaterThanToken(node: ts.Node): node is ts.EqualsGreaterThanToken; +/** + * Test if a node is an `EqualsToken`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isEqualsToken(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `EqualsToken`. + */ +declare function isEqualsToken(node: ts.Node): node is ts.EqualsToken; +/** + * Test if a node is an `ExclamationToken`. + * @deprecated With TypeScript v5, in favor of typescript's `isExclamationToken`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isExclamationToken(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `ExclamationToken`. + */ +declare function isExclamationToken(node: ts.Node): node is ts.ExclamationToken; +/** + * Test if a node is an `ExportKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isExportKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `ExportKeyword`. + */ +declare function isExportKeyword(node: ts.Node): node is ts.ExportKeyword; +/** + * Test if a node is a {@link FalseKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isFalseKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link FalseKeyword}. + */ +declare function isFalseKeyword(node: ts.Node): node is FalseKeyword; +/** + * Test if a node is a `FalseLiteral`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isFalseLiteral(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `FalseLiteral`. + */ +declare function isFalseLiteral(node: ts.Node): node is ts.FalseLiteral; +/** + * Test if a node is an `ImportExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isImportExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `ImportExpression`. + */ +declare function isImportExpression(node: ts.Node): node is ts.ImportExpression; +/** + * Test if a node is an {@link ImportKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isImportKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an {@link ImportKeyword}. + */ +declare function isImportKeyword(node: ts.Node): node is ImportKeyword; +/** + * Test if a node is an `InKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isInKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `InKeyword`. + */ +declare function isInKeyword(node: ts.Node): node is ts.InKeyword; +/** + * Test if a node is an `InputFiles`. + * @deprecated With TypeScript v5 + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isInputFiles(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `InputFiles`. + */ +declare function isInputFiles(node: ts.Node): node is ts.InputFiles; +/** + * Test if a node is a `JSDocText`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJSDocText(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JSDocText`. + */ +declare function isJSDocText(node: ts.Node): node is ts.JSDocText; +/** + * Test if a node is a `JsonMinusNumericLiteral`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJsonMinusNumericLiteral(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JsonMinusNumericLiteral`. + */ +declare function isJsonMinusNumericLiteral(node: ts.Node): node is ts.JsonMinusNumericLiteral; +/** + * Test if a node is a {@link NeverKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNeverKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link NeverKeyword}. + */ +declare function isNeverKeyword(node: ts.Node): node is NeverKeyword; +/** + * Test if a node is a {@link NullKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNullKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link NullKeyword}. + */ +declare function isNullKeyword(node: ts.Node): node is NullKeyword; +/** + * Test if a node is a `NullLiteral`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNullLiteral(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `NullLiteral`. + */ +declare function isNullLiteral(node: ts.Node): node is ts.NullLiteral; +/** + * Test if a node is a {@link NumberKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNumberKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link NumberKeyword}. + */ +declare function isNumberKeyword(node: ts.Node): node is NumberKeyword; +/** + * Test if a node is an {@link ObjectKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isObjectKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an {@link ObjectKeyword}. + */ +declare function isObjectKeyword(node: ts.Node): node is ObjectKeyword; +/** + * Test if a node is an `OutKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isOutKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `OutKeyword`. + */ +declare function isOutKeyword(node: ts.Node): node is ts.OutKeyword; +/** + * Test if a node is an `OverrideKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isOverrideKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `OverrideKeyword`. + */ +declare function isOverrideKeyword(node: ts.Node): node is ts.OverrideKeyword; +/** + * Test if a node is a `PrivateKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isPrivateKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `PrivateKeyword`. + */ +declare function isPrivateKeyword(node: ts.Node): node is ts.PrivateKeyword; +/** + * Test if a node is a `ProtectedKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isProtectedKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ProtectedKeyword`. + */ +declare function isProtectedKeyword(node: ts.Node): node is ts.ProtectedKeyword; +/** + * Test if a node is a `PublicKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isPublicKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `PublicKeyword`. + */ +declare function isPublicKeyword(node: ts.Node): node is ts.PublicKeyword; +/** + * Test if a node is a `QuestionDotToken`. + * @deprecated With TypeScript v5, in favor of typescript's `isQuestionDotToken`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isQuestionDotToken(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `QuestionDotToken`. + */ +declare function isQuestionDotToken(node: ts.Node): node is ts.QuestionDotToken; +/** + * Test if a node is a `QuestionToken`. + * @deprecated With TypeScript v5, in favor of typescript's `isQuestionToken`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isQuestionToken(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `QuestionToken`. + */ +declare function isQuestionToken(node: ts.Node): node is ts.QuestionToken; +/** + * Test if a node is a `ReadonlyKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isReadonlyKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ReadonlyKeyword`. + */ +declare function isReadonlyKeyword(node: ts.Node): node is ts.ReadonlyKeyword; +/** + * Test if a node is a `StaticKeyword`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isStaticKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `StaticKeyword`. + */ +declare function isStaticKeyword(node: ts.Node): node is ts.StaticKeyword; +/** + * Test if a node is a {@link StringKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isStringKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link StringKeyword}. + */ +declare function isStringKeyword(node: ts.Node): node is StringKeyword; +/** + * Test if a node is a `SuperExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isSuperExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `SuperExpression`. + */ +declare function isSuperExpression(node: ts.Node): node is ts.SuperExpression; +/** + * Test if a node is a {@link SuperKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isSuperKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link SuperKeyword}. + */ +declare function isSuperKeyword(node: ts.Node): node is SuperKeyword; +/** + * Test if a node is a {@link SymbolKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isSymbolKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link SymbolKeyword}. + */ +declare function isSymbolKeyword(node: ts.Node): node is SymbolKeyword; +/** + * Test if a node is a `SyntaxList`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isSyntaxList(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `SyntaxList`. + */ +declare function isSyntaxList(node: ts.Node): node is ts.SyntaxList; +/** + * Test if a node is a `ThisExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isThisExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ThisExpression`. + */ +declare function isThisExpression(node: ts.Node): node is ts.ThisExpression; +/** + * Test if a node is a {@link ThisKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isThisKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link ThisKeyword}. + */ +declare function isThisKeyword(node: ts.Node): node is ThisKeyword; +/** + * Test if a node is a {@link TrueKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isTrueKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link TrueKeyword}. + */ +declare function isTrueKeyword(node: ts.Node): node is TrueKeyword; +/** + * Test if a node is a `TrueLiteral`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isTrueLiteral(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `TrueLiteral`. + */ +declare function isTrueLiteral(node: ts.Node): node is ts.TrueLiteral; +/** + * Test if a node is an {@link UndefinedKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isUndefinedKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an {@link UndefinedKeyword}. + */ +declare function isUndefinedKeyword(node: ts.Node): node is UndefinedKeyword; +/** + * Test if a node is an {@link UnknownKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isUnknownKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an {@link UnknownKeyword}. + */ +declare function isUnknownKeyword(node: ts.Node): node is UnknownKeyword; +/** + * Test if a node is an `UnparsedPrologue`. + * @deprecated With TypeScript v5 + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isUnparsedPrologue(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `UnparsedPrologue`. + */ +declare function isUnparsedPrologue(node: ts.Node): node is ts.UnparsedPrologue; +/** + * Test if a node is an `UnparsedSyntheticReference`. + * @deprecated With TypeScript v5 + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isUnparsedSyntheticReference(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `UnparsedSyntheticReference`. + */ +declare function isUnparsedSyntheticReference(node: ts.Node): node is ts.UnparsedSyntheticReference; +/** + * Test if a node is a {@link VoidKeyword}. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isVoidKeyword(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a {@link VoidKeyword}. + */ +declare function isVoidKeyword(node: ts.Node): node is VoidKeyword; + +/** + * Test if a node is an `AccessExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAccessExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `AccessExpression`. + */ +declare function isAccessExpression(node: ts.Node): node is ts.AccessExpression; +/** + * Test if a node is an `AccessibilityModifier`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAccessibilityModifier(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `AccessibilityModifier`. + */ +declare function isAccessibilityModifier(node: ts.Node): node is ts.AccessibilityModifier; +/** + * Test if a node is an `AccessorDeclaration`. + * @deprecated With TypeScript v5, in favor of typescript's `isAccessor`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAccessorDeclaration(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `AccessorDeclaration`. + */ +declare function isAccessorDeclaration(node: ts.Node): node is ts.AccessorDeclaration; +/** + * Test if a node is an `ArrayBindingElement`. + * @deprecated With TypeScript v5, in favor of typescript's `isArrayBindingElement`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isArrayBindingElement(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `ArrayBindingElement`. + */ +declare function isArrayBindingElement(node: ts.Node): node is ts.ArrayBindingElement; +/** + * Test if a node is an `ArrayBindingOrAssignmentPattern`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isArrayBindingOrAssignmentPattern(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `ArrayBindingOrAssignmentPattern`. + */ +declare function isArrayBindingOrAssignmentPattern(node: ts.Node): node is ts.ArrayBindingOrAssignmentPattern; +/** + * Test if a node is an `AssignmentPattern`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isAssignmentPattern(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `AssignmentPattern`. + */ +declare function isAssignmentPattern(node: ts.Node): node is ts.AssignmentPattern; +/** + * Test if a node is a `BindingOrAssignmentElementRestIndicator`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isBindingOrAssignmentElementRestIndicator(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `BindingOrAssignmentElementRestIndicator`. + */ +declare function isBindingOrAssignmentElementRestIndicator(node: ts.Node): node is ts.BindingOrAssignmentElementRestIndicator; +/** + * Test if a node is a `BindingOrAssignmentElementTarget`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isBindingOrAssignmentElementTarget(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `BindingOrAssignmentElementTarget`. + */ +declare function isBindingOrAssignmentElementTarget(node: ts.Node): node is ts.BindingOrAssignmentElementTarget; +/** + * Test if a node is a `BindingOrAssignmentPattern`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isBindingOrAssignmentPattern(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `BindingOrAssignmentPattern`. + */ +declare function isBindingOrAssignmentPattern(node: ts.Node): node is ts.BindingOrAssignmentPattern; +/** + * Test if a node is a `BindingPattern`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isBindingPattern(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `BindingPattern`. + */ +declare function isBindingPattern(node: ts.Node): node is ts.BindingPattern; +/** + * Test if a node is a `BlockLike`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isBlockLike(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `BlockLike`. + */ +declare function isBlockLike(node: ts.Node): node is ts.BlockLike; +/** + * Test if a node is a `BooleanLiteral`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isBooleanLiteral(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `BooleanLiteral`. + */ +declare function isBooleanLiteral(node: ts.Node): node is ts.BooleanLiteral; +/** + * Test if a node is a `ClassLikeDeclaration`. + * @deprecated With TypeScript v5, in favor of typescript's `isClassLike`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isClassLikeDeclaration(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ClassLikeDeclaration`. + */ +declare function isClassLikeDeclaration(node: ts.Node): node is ts.ClassLikeDeclaration; +/** + * Test if a node is a `ClassMemberModifier`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isClassMemberModifier(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ClassMemberModifier`. + */ +declare function isClassMemberModifier(node: ts.Node): node is ts.ClassMemberModifier; +/** + * Test if a node is a `DeclarationName`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isDeclarationName(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `DeclarationName`. + */ +declare function isDeclarationName(node: ts.Node): node is ts.DeclarationName; +/** + * Test if a node is a `DeclarationWithTypeParameterChildren`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isDeclarationWithTypeParameterChildren(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `DeclarationWithTypeParameterChildren`. + */ +declare function isDeclarationWithTypeParameterChildren(node: ts.Node): node is ts.DeclarationWithTypeParameterChildren; +/** + * Test if a node is a `DeclarationWithTypeParameters`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isDeclarationWithTypeParameters(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `DeclarationWithTypeParameters`. + */ +declare function isDeclarationWithTypeParameters(node: ts.Node): node is ts.DeclarationWithTypeParameters; +/** + * Test if a node is a `DestructuringPattern`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isDestructuringPattern(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `DestructuringPattern`. + */ +declare function isDestructuringPattern(node: ts.Node): node is ts.DestructuringPattern; +/** + * Test if a node is an `EntityNameExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isEntityNameExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `EntityNameExpression`. + */ +declare function isEntityNameExpression(node: ts.Node): node is ts.EntityNameExpression; +/** + * Test if a node is an `EntityNameOrEntityNameExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isEntityNameOrEntityNameExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `EntityNameOrEntityNameExpression`. + */ +declare function isEntityNameOrEntityNameExpression(node: ts.Node): node is ts.EntityNameOrEntityNameExpression; +/** + * Test if a node is a `ForInOrOfStatement`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isForInOrOfStatement(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ForInOrOfStatement`. + */ +declare function isForInOrOfStatement(node: ts.Node): node is ts.ForInOrOfStatement; +/** + * Test if a node is a `FunctionLikeDeclaration`. + * @deprecated With TypeScript v5, in favor of typescript's `isFunctionLike`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isFunctionLikeDeclaration(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `FunctionLikeDeclaration`. + */ +declare function isFunctionLikeDeclaration(node: ts.Node): node is ts.FunctionLikeDeclaration; +/** + * Test if a node is a `HasDecorators`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (hasDecorators(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `HasDecorators`. + */ +declare function hasDecorators(node: ts.Node): node is ts.HasDecorators; +/** + * Test if a node is a `HasExpressionInitializer`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (hasExpressionInitializer(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `HasExpressionInitializer`. + */ +declare function hasExpressionInitializer(node: ts.Node): node is ts.HasExpressionInitializer; +/** + * Test if a node is a `HasInitializer`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (hasInitializer(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `HasInitializer`. + */ +declare function hasInitializer(node: ts.Node): node is ts.HasInitializer; +/** + * Test if a node is a `HasJSDoc`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (hasJSDoc(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `HasJSDoc`. + */ +declare function hasJSDoc(node: ts.Node): node is ts.HasJSDoc; +/** + * Test if a node is a `HasModifiers`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (hasModifiers(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `HasModifiers`. + */ +declare function hasModifiers(node: ts.Node): node is ts.HasModifiers; +/** + * Test if a node is a `HasType`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (hasType(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `HasType`. + */ +declare function hasType(node: ts.Node): node is ts.HasType; +/** + * Test if a node is a `HasTypeArguments`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (hasTypeArguments(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `HasTypeArguments`. + */ +declare function hasTypeArguments(node: ts.Node): node is ts.HasTypeArguments; +/** + * Test if a node is a `JSDocComment`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJSDocComment(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JSDocComment`. + */ +declare function isJSDocComment(node: ts.Node): node is ts.JSDocComment; +/** + * Test if a node is a `JSDocNamespaceBody`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJSDocNamespaceBody(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JSDocNamespaceBody`. + */ +declare function isJSDocNamespaceBody(node: ts.Node): node is ts.JSDocNamespaceBody; +/** + * Test if a node is a `JSDocTypeReferencingNode`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJSDocTypeReferencingNode(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JSDocTypeReferencingNode`. + */ +declare function isJSDocTypeReferencingNode(node: ts.Node): node is ts.JSDocTypeReferencingNode; +/** + * Test if a node is a `JsonObjectExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJsonObjectExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JsonObjectExpression`. + */ +declare function isJsonObjectExpression(node: ts.Node): node is ts.JsonObjectExpression; +/** + * Test if a node is a `JsxAttributeLike`. + * @deprecated With TypeScript v5, in favor of typescript's `isJsxAttributeLike`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJsxAttributeLike(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JsxAttributeLike`. + */ +declare function isJsxAttributeLike(node: ts.Node): node is ts.JsxAttributeLike; +/** + * Test if a node is a `JsxAttributeValue`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJsxAttributeValue(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JsxAttributeValue`. + */ +declare function isJsxAttributeValue(node: ts.Node): node is ts.JsxAttributeValue; +/** + * Test if a node is a `JsxChild`. + * @deprecated With TypeScript v5, in favor of typescript's `isJsxChild`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJsxChild(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JsxChild`. + */ +declare function isJsxChild(node: ts.Node): node is ts.JsxChild; +/** + * Test if a node is a `JsxTagNameExpression`. + * @deprecated With TypeScript v5, in favor of typescript's `isJsxTagNameExpression`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isJsxTagNameExpression(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `JsxTagNameExpression`. + */ +declare function isJsxTagNameExpression(node: ts.Node): node is ts.JsxTagNameExpression; +/** + * Test if a node is a `LiteralToken`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isLiteralToken(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `LiteralToken`. + */ +declare function isLiteralToken(node: ts.Node): node is ts.LiteralToken; +/** + * Test if a node is a `ModuleBody`. + * @deprecated With TypeScript v5, in favor of typescript's `isModuleBody`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isModuleBody(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ModuleBody`. + */ +declare function isModuleBody(node: ts.Node): node is ts.ModuleBody; +/** + * Test if a node is a `ModuleName`. + * @deprecated With TypeScript v5, in favor of typescript's `isModuleName`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isModuleName(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ModuleName`. + */ +declare function isModuleName(node: ts.Node): node is ts.ModuleName; +/** + * Test if a node is a `ModuleReference`. + * @deprecated With TypeScript v5, in favor of typescript's `isModuleReference`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isModuleReference(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ModuleReference`. + */ +declare function isModuleReference(node: ts.Node): node is ts.ModuleReference; +/** + * Test if a node is a `NamedImportBindings`. + * @deprecated With TypeScript v5, in favor of typescript's `isNamedImportBindings`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNamedImportBindings(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `NamedImportBindings`. + */ +declare function isNamedImportBindings(node: ts.Node): node is ts.NamedImportBindings; +/** + * Test if a node is a `NamedImportsOrExports`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNamedImportsOrExports(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `NamedImportsOrExports`. + */ +declare function isNamedImportsOrExports(node: ts.Node): node is ts.NamedImportsOrExports; +/** + * Test if a node is a `NamespaceBody`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isNamespaceBody(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `NamespaceBody`. + */ +declare function isNamespaceBody(node: ts.Node): node is ts.NamespaceBody; +/** + * Test if a node is an `ObjectBindingOrAssignmentElement`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isObjectBindingOrAssignmentElement(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `ObjectBindingOrAssignmentElement`. + */ +declare function isObjectBindingOrAssignmentElement(node: ts.Node): node is ts.ObjectBindingOrAssignmentElement; +/** + * Test if a node is an `ObjectBindingOrAssignmentPattern`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isObjectBindingOrAssignmentPattern(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `ObjectBindingOrAssignmentPattern`. + */ +declare function isObjectBindingOrAssignmentPattern(node: ts.Node): node is ts.ObjectBindingOrAssignmentPattern; +/** + * Test if a node is an `ObjectTypeDeclaration`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isObjectTypeDeclaration(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `ObjectTypeDeclaration`. + */ +declare function isObjectTypeDeclaration(node: ts.Node): node is ts.ObjectTypeDeclaration; +/** + * Test if a node is a `ParameterPropertyModifier`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isParameterPropertyModifier(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `ParameterPropertyModifier`. + */ +declare function isParameterPropertyModifier(node: ts.Node): node is ts.ParameterPropertyModifier; +/** + * Test if a node is a `PropertyNameLiteral`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isPropertyNameLiteral(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `PropertyNameLiteral`. + */ +declare function isPropertyNameLiteral(node: ts.Node): node is ts.PropertyNameLiteral; +/** + * Test if a node is a `PseudoLiteralToken`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isPseudoLiteralToken(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `PseudoLiteralToken`. + */ +declare function isPseudoLiteralToken(node: ts.Node): node is ts.PseudoLiteralToken; +/** + * Test if a node is a `SignatureDeclaration`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isSignatureDeclaration(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `SignatureDeclaration`. + */ +declare function isSignatureDeclaration(node: ts.Node): node is ts.SignatureDeclaration; +/** + * Test if a node is a `SuperProperty`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isSuperProperty(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `SuperProperty`. + */ +declare function isSuperProperty(node: ts.Node): node is ts.SuperProperty; +/** + * Test if a node is a `TypeOnlyCompatibleAliasDeclaration`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isTypeOnlyCompatibleAliasDeclaration(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `TypeOnlyCompatibleAliasDeclaration`. + */ +declare function isTypeOnlyCompatibleAliasDeclaration(node: ts.Node): node is ts.TypeOnlyCompatibleAliasDeclaration; +/** + * Test if a node is a `TypeReferenceType`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isTypeReferenceType(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `TypeReferenceType`. + */ +declare function isTypeReferenceType(node: ts.Node): node is ts.TypeReferenceType; +/** + * Test if a node is an `UnionOrIntersectionTypeNode`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isUnionOrIntersectionTypeNode(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `UnionOrIntersectionTypeNode`. + */ +declare function isUnionOrIntersectionTypeNode(node: ts.Node): node is ts.UnionOrIntersectionTypeNode; +/** + * Test if a node is an `UnparsedSourceText`. + * @deprecated With TypeScript v5 + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isUnparsedSourceText(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be an `UnparsedSourceText`. + */ +declare function isUnparsedSourceText(node: ts.Node): node is ts.UnparsedSourceText; +/** + * Test if a node is a `VariableLikeDeclaration`. + * @category Nodes - Type Guards + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isVariableLikeDeclaration(node)) { + * // ... + * } + * ``` + * @returns Whether the given node appears to be a `VariableLikeDeclaration`. + */ +declare function isVariableLikeDeclaration(node: ts.Node): node is ts.VariableLikeDeclaration; + +/** + * Is the node a scope boundary, specifically due to it being a function. + * @category Scope Utilities + * @example + * ```ts + * declare const node: ts.Node; + * + * if (isFunctionScopeBoundary(node, ts.ObjectFlags.Anonymous)) { + * // ... + * } + * ``` + */ +declare function isFunctionScopeBoundary(node: ts.Node): boolean; + +/** + * Test of the kind given is for assignment. + * @category Syntax Utilities + * @example + * ```ts + * declare const kind: ts.SyntaxKind; + * + * isAssignmentKind(kind); + * ``` + */ +declare function isAssignmentKind(kind: ts.SyntaxKind): boolean; +/** + * Test if a string is numeric. + * @category Syntax Utilities + * @example + * ```ts + * isNumericPropertyName("abc"); // false + * isNumericPropertyName("123"); // true + * ``` + */ +declare function isNumericPropertyName(name: string | ts.__String): boolean; +/** + * Determines whether the given text can be used to access a property with a `PropertyAccessExpression` while preserving the property's name. + * @category Syntax Utilities + * @example + * ```ts + * isValidPropertyAccess("abc"); // true + * isValidPropertyAccess("123"); // false + * ``` + */ +declare function isValidPropertyAccess(text: string, languageVersion?: ts.ScriptTarget): boolean; + +/** + * Callback type used for {@link forEachToken}. + * @category Callbacks + */ +type ForEachTokenCallback = (token: ts.Node) => void; +/** + * Iterates over all tokens of `node` + * @category Nodes - Other Utilities + * @example + * ```ts + * declare const node: ts.Node; + * + * forEachToken(node, (token) => { + * console.log("Found token:", token.getText()); + * }); + * ``` + * @param node - The node whose tokens should be visited + * @param callback - Is called for every token contained in `node` + */ +declare function forEachToken(node: ts.Node, callback: ForEachTokenCallback, sourceFile?: ts.SourceFile): void; + +/** + * Get the `CallSignatures` of the given type. + * @category Types - Getters + * @example + * ```ts + * declare const type: ts.Type; + * + * getCallSignaturesOfType(type); + * ``` + */ +declare function getCallSignaturesOfType(type: ts.Type): readonly ts.Signature[]; +/** + * Get the property with the given name on the given type (if it exists). + * @category Types - Getters + * @example + * ```ts + * declare const property: ts.Symbol; + * declare const type: ts.Type; + * + * getPropertyOfType(type, property.getEscapedName()); + * ``` + */ +declare function getPropertyOfType(type: ts.Type, name: ts.__String): ts.Symbol | undefined; +/** + * Retrieves a type symbol corresponding to a well-known string name. + * @category Types - Getters + * @example + * ```ts + * declare const type: ts.Type; + * declare const typeChecker: ts.TypeChecker; + * + * getWellKnownSymbolPropertyOfType(type, "asyncIterator", typeChecker); + * ``` + */ +declare function getWellKnownSymbolPropertyOfType(type: ts.Type, wellKnownSymbolName: string, typeChecker: ts.TypeChecker): ts.Symbol | undefined; + +/** + * A "any" intrinsic type. + * @category Type Types + */ +interface IntrinsicAnyType extends IntrinsicType { + intrinsicName: "any"; +} +/** + * Determines whether the given type is the "any" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicAnyType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicAnyType(type: ts.Type): type is IntrinsicAnyType; +/** + * A "boolean" intrinsic type. + * @category Type Types + */ +interface IntrinsicBooleanType extends IntrinsicType { + intrinsicName: "boolean"; +} +/** + * Determines whether the given type is the "boolean" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicBooleanType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicBooleanType(type: ts.Type): type is IntrinsicBooleanType; +/** + * A "bigint" intrinsic type. + * @category Type Types + */ +interface IntrinsicBigIntType extends IntrinsicType { + intrinsicName: "bigint"; +} +/** + * Determines whether the given type is the "bigint" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicBigIntType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicBigIntType(type: ts.Type): type is IntrinsicBigIntType; +/** + * An "error" intrinsic type. + * + * This refers to a type generated when TypeScript encounters an error while + * trying to resolve the type. + * @category Type Types + */ +interface IntrinsicErrorType extends IntrinsicType { + intrinsicName: "error"; +} +/** + * Determines whether the given type is the "error" intrinsic type. + * + * The intrinsic error type occurs when TypeScript encounters an error while + * trying to resolve the type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicErrorType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicErrorType(type: ts.Type): type is IntrinsicErrorType; +/** + * A "symbol" intrinsic type. + * @category Type Types + */ +interface IntrinsicESSymbolType extends IntrinsicType { + intrinsicName: "symbol"; +} +/** + * Determines whether the given type is the "symbol" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicESSymbolType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicESSymbolType(type: ts.Type): type is IntrinsicESSymbolType; +/** + * An intrinsic type. + * @category Type Types + */ +interface IntrinsicType extends ts.Type { + intrinsicName: string; + objectFlags: ts.ObjectFlags; +} +/** + * Test if a type is an {@link IntrinsicType}. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicType(type: ts.Type): type is IntrinsicType; +/** + * A "never" intrinsic type. + * @category Type Types + */ +interface IntrinsicNeverType extends IntrinsicType { + intrinsicName: "never"; +} +/** + * Determines whether the given type is the "never" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicNeverType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicNeverType(type: ts.Type): type is IntrinsicNeverType; +/** + * A non-primitive intrinsic type. + * E.g. An "object" intrinsic type. + * @category Type Types + */ +interface IntrinsicNonPrimitiveType extends IntrinsicType { + intrinsicName: ""; +} +/** + * Determines whether the given type is a non-primitive intrinsic type. + * E.g. An "object" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicNonPrimitiveType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicNonPrimitiveType(type: ts.Type): type is IntrinsicNonPrimitiveType; +/** + * A "null" intrinsic type. + * @category Type Types + */ +interface IntrinsicNullType extends IntrinsicType { + intrinsicName: "null"; +} +/** + * Determines whether the given type is the "null" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicNullType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicNullType(type: ts.Type): type is IntrinsicNullType; +/** + * A "number" intrinsic type. + * @category Type Types + */ +interface IntrinsicNumberType extends IntrinsicType { + intrinsicName: "number"; +} +/** + * Determines whether the given type is the "number" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicNumberType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicNumberType(type: ts.Type): type is IntrinsicNumberType; +/** + * A "string" intrinsic type. + * @category Type Types + */ +interface IntrinsicStringType extends IntrinsicType { + intrinsicName: "string"; +} +/** + * Determines whether the given type is the "string" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicStringType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicStringType(type: ts.Type): type is IntrinsicStringType; +/** + * An "undefined" intrinsic type. + * @category Type Types + */ +interface IntrinsicUndefinedType extends IntrinsicType { + intrinsicName: "undefined"; +} +/** + * Determines whether the given type is the "undefined" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicUndefinedType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicUndefinedType(type: ts.Type): type is IntrinsicUndefinedType; +/** + * An "unknown" intrinsic type. + * @category Type Types + */ +interface IntrinsicUnknownType extends IntrinsicType { + intrinsicName: "unknown"; +} +/** + * Determines whether the given type is the "unknown" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicUnknownType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicUnknownType(type: ts.Type): type is IntrinsicUnknownType; +/** + * A "void" intrinsic type. + * @category Type Types + */ +interface IntrinsicVoidType extends IntrinsicType { + intrinsicName: "void"; +} +/** + * Determines whether the given type is the "void" intrinsic type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntrinsicVoidType(type)) { + * // ... + * } + * ``` + */ +declare function isIntrinsicVoidType(type: ts.Type): type is IntrinsicVoidType; + +/** + * A type that is both an {@link IntrinsicType} and a `FreshableType` + * @category Type Types + */ +interface FreshableIntrinsicType extends ts.FreshableType, IntrinsicType { +} +/** + * Test if a type is a `FreshableIntrinsicType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isFreshableIntrinsicType(type)) { + * // ... + * } + */ +declare function isFreshableIntrinsicType(type: ts.Type): type is FreshableIntrinsicType; +/** + * Test if a type is a `TupleTypeReference`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isTupleTypeReference(type)) { + * // ... + * } + */ +declare function isTupleTypeReference(type: ts.Type): type is ts.TupleTypeReference; + +/** + * A boolean literal. + * i.e. Either a "true" or "false" literal. + * @category Type Types + */ +interface BooleanLiteralType extends UnknownLiteralType { + intrinsicName: "false" | "true"; + value: boolean; +} +/** + * Determines whether the given type is a boolean literal type. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isBooleanLiteralType(type)) { + * // ... + * } + * ``` + */ +declare function isBooleanLiteralType(type: ts.Type): type is BooleanLiteralType; +/** + * Test if a type is a `BigIntLiteralType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isBigIntLiteralType(type)) { + * // ... + * } + * ``` + */ +declare function isBigIntLiteralType(type: ts.Type): type is ts.BigIntLiteralType; +/** + * A "false" literal. + * @category Type Types + */ +interface FalseLiteralType extends BooleanLiteralType { + intrinsicName: "false"; + value: false; +} +/** + * Determines whether the given type is a boolean literal type for "false". + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isFalseLiteralType(type)) { + * // ... + * } + * ``` + */ +declare function isFalseLiteralType(type: ts.Type): type is FalseLiteralType; +/** + * Test if a type is a `LiteralType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isLiteralType(type)) { + * // ... + * } + * ``` + */ +declare function isLiteralType(type: ts.Type): type is ts.LiteralType; +/** + * Test if a type is a `NumberLiteralType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isNumberLiteralType(type)) { + * // ... + * } + * ``` + */ +declare function isNumberLiteralType(type: ts.Type): type is ts.NumberLiteralType; +/** + * Test if a type is a `StringLiteralType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isStringLiteralType(type)) { + * // ... + * } + * ``` + */ +declare function isStringLiteralType(type: ts.Type): type is ts.StringLiteralType; +/** + * Test if a type is a `TemplateLiteralType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isTemplateLiteralType(type)) { + * // ... + * } + * ``` + */ +declare function isTemplateLiteralType(type: ts.Type): type is ts.TemplateLiteralType; +/** + * A "true" literal. + * @category Type Types + */ +interface TrueLiteralType extends BooleanLiteralType { + intrinsicName: "true"; + value: true; +} +/** + * Determines whether the given type is a boolean literal type for "true". + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isTrueLiteralType(type)) { + * // ... + * } + * ``` + */ +declare function isTrueLiteralType(type: ts.Type): type is TrueLiteralType; +/** + * `LiteralType` from typescript except that it allows for it to work on arbitrary types. + * @category Type Types + */ +interface UnknownLiteralType extends FreshableIntrinsicType { + value: unknown; +} +/** + * Test if a type is a {@link UnknownLiteralType}. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isUnknownLiteralType(type)) { + * // ... + * } + * ``` + */ +declare function isUnknownLiteralType(type: ts.Type): type is UnknownLiteralType; + +/** + * Test if a type is a `EvolvingArrayType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isEvolvingArrayType(type)) { + * // ... + * } + * ``` + */ +declare function isEvolvingArrayType(type: ts.Type): type is ts.EvolvingArrayType; +/** + * Test if a type is a `TupleType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isTupleType(type)) { + * // ... + * } + * ``` + */ +declare function isTupleType(type: ts.Type): type is ts.TupleType; +/** + * Test if a type is a `TypeReference`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isTypeReference(type)) { + * // ... + * } + * ``` + */ +declare function isTypeReference(type: ts.Type): type is ts.TypeReference; + +/** + * Test if a type is a `ConditionalType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isConditionalType(type)) { + * // ... + * } + * ``` + */ +declare function isConditionalType(type: ts.Type): type is ts.ConditionalType; +/** + * Test if a type is a `EnumType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isEnumType(type)) { + * // ... + * } + * ``` + */ +declare function isEnumType(type: ts.Type): type is ts.EnumType; +/** + * Test if a type is a `FreshableType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isFreshableType(type)) { + * // ... + * } + * ``` + */ +declare function isFreshableType(type: ts.Type): type is ts.FreshableType; +/** + * Test if a type is a `IndexType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIndexType(type)) { + * // ... + * } + * ``` + */ +declare function isIndexType(type: ts.Type): type is ts.IndexType; +/** + * Test if a type is a `IndexedAccessType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIndexedAccessType(type)) { + * // ... + * } + * ``` + */ +declare function isIndexedAccessType(type: ts.Type): type is ts.IndexedAccessType; +/** + * Test if a type is a `InstantiableType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isInstantiableType(type)) { + * // ... + * } + * ``` + */ +declare function isInstantiableType(type: ts.Type): type is ts.InstantiableType; +/** + * Test if a type is a `IntersectionType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isIntersectionType(type)) { + * // ... + * } + * ``` + */ +declare function isIntersectionType(type: ts.Type): type is ts.IntersectionType; +/** + * Test if a type is a `ObjectType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isObjectType(type)) { + * // ... + * } + * ``` + */ +declare function isObjectType(type: ts.Type): type is ts.ObjectType; +/** + * Test if a type is a `StringMappingType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isStringMappingType(type)) { + * // ... + * } + * ``` + */ +declare function isStringMappingType(type: ts.Type): type is ts.StringMappingType; +/** + * Test if a type is a `SubstitutionType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isSubstitutionType(type)) { + * // ... + * } + * ``` + */ +declare function isSubstitutionType(type: ts.Type): type is ts.SubstitutionType; +/** + * Test if a type is a `TypeParameter`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isTypeParameter(type)) { + * // ... + * } + * ``` + */ +declare function isTypeParameter(type: ts.Type): type is ts.TypeParameter; +/** + * Test if a type is a `TypeVariable`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isTypeVariable(type)) { + * // ... + * } + * ``` + */ +declare function isTypeVariable(type: ts.Type): type is ts.TypeVariable; +/** + * Test if a type is a `UnionType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isUnionType(type)) { + * // ... + * } + * ``` + */ +declare function isUnionType(type: ts.Type): type is ts.UnionType; +/** + * Test if a type is a `UnionOrIntersectionType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isUnionOrIntersectionType(type)) { + * // ... + * } + * ``` + */ +declare function isUnionOrIntersectionType(type: ts.Type): type is ts.UnionOrIntersectionType; +/** + * Test if a type is a `UniqueESSymbolType`. + * @category Types - Type Guards + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isUniqueESSymbolType(type)) { + * // ... + * } + * ``` + */ +declare function isUniqueESSymbolType(type: ts.Type): type is ts.UniqueESSymbolType; + +/** + * Determines whether a type is definitely falsy. This function doesn't unwrap union types. + * @category Types - Utilities + * @example + * ```ts + * declare const type: ts.Type; + * + * if (isFalsyType(type)) { + * // ... + * } + * ``` + */ +declare function isFalsyType(type: ts.Type): boolean; +/** + * Get the intersection type parts of the given type. + * + * If the given type is not a intersection type, an array contain only that type will be returned. + * @category Types - Utilities + * @example + * ```ts + * declare const type: ts.Type; + * + * for (const typePart of intersectionTypeParts(type)) { + * // ... + * } + * ``` + */ +declare function intersectionTypeParts(type: ts.Type): ts.Type[]; +/** + * Get the intersection or union type parts of the given type. + * + * Note that this is a shallow collection: it only returns `type.types` or `[type]`. + * + * If the given type is not an intersection or union type, an array contain only that type will be returned. + * @category Types - Utilities + * @example + * ```ts + * declare const type: ts.Type; + * + * for (const typePart of intersectionTypeParts(type)) { + * // ... + * } + * ``` + */ +declare function typeParts(type: ts.Type): ts.Type[]; +/** + * Determines whether writing to a certain property of a given type is allowed. + * @category Types - Utilities + * @example + * ```ts + * declare const property: ts.Symbol; + * declare const type: ts.Type; + * declare const typeChecker: ts.TypeChecker; + * + * if (isPropertyReadonlyInType(type, property.getEscapedName(), typeChecker)) { + * // ... + * } + * ``` + */ +declare function isPropertyReadonlyInType(type: ts.Type, name: ts.__String, typeChecker: ts.TypeChecker): boolean; +/** + * Determines whether a type is thenable and thus can be used with `await`. + * @category Types - Utilities + * @example + * ```ts + * declare const node: ts.Node; + * declare const type: ts.Type; + * declare const typeChecker: ts.TypeChecker; + * + * if (isThenableType(typeChecker, node, type)) { + * // ... + * } + * ``` + */ +declare function isThenableType(typeChecker: ts.TypeChecker, node: ts.Node, type: ts.Type): boolean; +/** + * Determines whether a type is thenable and thus can be used with `await`. + * @category Types - Utilities + * @example + * ```ts + * declare const expression: ts.Expression; + * declare const typeChecker: ts.TypeChecker; + * + * if (isThenableType(typeChecker, expression)) { + * // ... + * } + * ``` + * @example + * ```ts + * declare const expression: ts.Expression; + * declare const typeChecker: ts.TypeChecker; + * declare const type: ts.Type; + * + * if (isThenableType(typeChecker, expression, type)) { + * // ... + * } + * ``` + */ +declare function isThenableType(typeChecker: ts.TypeChecker, node: ts.Expression, type?: ts.Type): boolean; +/** + * Test if the given symbol has a readonly declaration. + * @category Symbols - Utilities + * @example + * ```ts + * declare const symbol: ts.Symbol; + * declare const typeChecker: ts.TypeChecker; + * + * if (symbolHasReadonlyDeclaration(symbol, typeChecker)) { + * // ... + * } + * ``` + */ +declare function symbolHasReadonlyDeclaration(symbol: ts.Symbol, typeChecker: ts.TypeChecker): boolean; +/** + * Get the union type parts of the given type. + * + * If the given type is not a union type, an array contain only that type will be returned. + * @category Types - Utilities + * @example + * ```ts + * declare const type: ts.Type; + * + * for (const typePart of unionTypeParts(type)) { + * // ... + * } + * ``` + */ +declare function unionTypeParts(type: ts.Type): ts.Type[]; + +/** + * Which "domain"(s) (most commonly, type or value space) a declaration is within. + */ +declare enum DeclarationDomain { + Import = 8, + Namespace = 1, + Type = 2, + Value = 4, + Any = 7 +} + +/** + * Which "domain"(s) (most commonly, type or value space) a usage is within. + */ +declare enum UsageDomain { + Namespace = 1, + Type = 2, + TypeQuery = 8, + Value = 4, + ValueOrNamespace = 5, + Any = 7 +} + +/** + * How an item (type or value) was declared and/or referenced. + */ +interface UsageInfo { + /** + * Locations where the item was declared. + */ + declarations: ts.Identifier[]; + /** + * Which space(s) the item is within. + */ + domain: DeclarationDomain; + /** + * Whether the item was exported from its module or namespace scope. + */ + exported: boolean; + /** + * Whether the item's declaration was in the global scope. + */ + inGlobalScope: boolean; + /** + * Each reference to the item in the file. + */ + uses: Usage[]; +} +/** + * An instance of an item (type or value) being used. + */ +interface Usage { + /** + * Which space(s) the usage is within. + */ + domain: UsageDomain; + location: ts.Identifier; +} + +/** + * Creates a mapping of each declared type and value to its type information. + * @category Nodes - Other Utilities + * @example + * ```ts + * declare const sourceFile: ts.SourceFile; + * + * const usage = collectVariableUsage(sourceFile); + * + * for (const [identifier, information] of usage) { + * console.log(`${identifier.getText()} is used ${information.uses.length} time(s).`); + * } + * ``` + */ +declare function collectVariableUsage(sourceFile: ts.SourceFile): Map; + +export { type AnyKeyword, type BigIntKeyword, type BooleanCompilerOptions, type BooleanKeyword, type BooleanLiteralType, type ConstAssertionExpression, type ConstAssertionIdentifier, DeclarationDomain, type FalseKeyword, type FalseLiteralType, type ForEachCommentCallback, type ForEachTokenCallback, type FreshableIntrinsicType, type ImportKeyword, type IntrinsicAnyType, type IntrinsicBigIntType, type IntrinsicBooleanType, type IntrinsicESSymbolType, type IntrinsicErrorType, type IntrinsicNeverType, type IntrinsicNonPrimitiveType, type IntrinsicNullType, type IntrinsicNumberType, type IntrinsicStringType, type IntrinsicType, type IntrinsicUndefinedType, type IntrinsicUnknownType, type IntrinsicVoidType, type NamedDeclarationWithName, type NeverKeyword, type NullKeyword, type NumberKeyword, type NumericOrStringLikeLiteral, type ObjectKeyword, type StrictCompilerOption, type StringKeyword, type SuperKeyword, type SymbolKeyword, type ThisKeyword, type TrueKeyword, type TrueLiteralType, type UndefinedKeyword, type UnknownKeyword, type UnknownLiteralType, UsageDomain, type UsageInfo as VariableInfo, type Usage as VariableUse, type VoidKeyword, collectVariableUsage, forEachComment, forEachToken, getCallSignaturesOfType, getPropertyOfType, getWellKnownSymbolPropertyOfType, hasDecorators, hasExpressionInitializer, hasInitializer, hasJSDoc, hasModifiers, hasType, hasTypeArguments, includesModifier, intersectionTypeParts, isAbstractKeyword, isAccessExpression, isAccessibilityModifier, isAccessorDeclaration, isAccessorKeyword, isAnyKeyword, isArrayBindingElement, isArrayBindingOrAssignmentPattern, isAssertKeyword, isAssertsKeyword, isAssignmentKind, isAssignmentPattern, isAsyncKeyword, isAwaitKeyword, isBigIntKeyword, isBigIntLiteralType, isBindingOrAssignmentElementRestIndicator, isBindingOrAssignmentElementTarget, isBindingOrAssignmentPattern, isBindingPattern, isBlockLike, isBooleanKeyword, isBooleanLiteral, isBooleanLiteralType, isClassLikeDeclaration, isClassMemberModifier, isColonToken, isCompilerOptionEnabled, isConditionalType, isConstAssertionExpression, isConstKeyword, isDeclarationName, isDeclarationWithTypeParameterChildren, isDeclarationWithTypeParameters, isDeclareKeyword, isDefaultKeyword, isDestructuringPattern, isDotToken, isEndOfFileToken, isEntityNameExpression, isEntityNameOrEntityNameExpression, isEnumType, isEqualsGreaterThanToken, isEqualsToken, isEvolvingArrayType, isExclamationToken, isExportKeyword, isFalseKeyword, isFalseLiteral, isFalseLiteralType, isFalsyType, isForInOrOfStatement, isFreshableIntrinsicType, isFreshableType, isFunctionLikeDeclaration, isFunctionScopeBoundary, isImportExpression, isImportKeyword, isInKeyword, isIndexType, isIndexedAccessType, isInputFiles, isInstantiableType, isIntersectionType, isIntrinsicAnyType, isIntrinsicBigIntType, isIntrinsicBooleanType, isIntrinsicESSymbolType, isIntrinsicErrorType, isIntrinsicNeverType, isIntrinsicNonPrimitiveType, isIntrinsicNullType, isIntrinsicNumberType, isIntrinsicStringType, isIntrinsicType, isIntrinsicUndefinedType, isIntrinsicUnknownType, isIntrinsicVoidType, isIterationStatement, isJSDocComment, isJSDocNamespaceBody, isJSDocNamespaceDeclaration, isJSDocText, isJSDocTypeReferencingNode, isJsonMinusNumericLiteral, isJsonObjectExpression, isJsxAttributeLike, isJsxAttributeValue, isJsxChild, isJsxTagNameExpression, isJsxTagNamePropertyAccess, isLiteralToken, isLiteralType, isModifierFlagSet, isModuleBody, isModuleName, isModuleReference, isNamedDeclarationWithName, isNamedImportBindings, isNamedImportsOrExports, isNamespaceBody, isNamespaceDeclaration, isNeverKeyword, isNodeFlagSet, isNullKeyword, isNullLiteral, isNumberKeyword, isNumberLiteralType, isNumericOrStringLikeLiteral, isNumericPropertyName, isObjectBindingOrAssignmentElement, isObjectBindingOrAssignmentPattern, isObjectFlagSet, isObjectKeyword, isObjectType, isObjectTypeDeclaration, isOutKeyword, isOverrideKeyword, isParameterPropertyModifier, isPrivateKeyword, isPropertyAccessEntityNameExpression, isPropertyNameLiteral, isPropertyReadonlyInType, isProtectedKeyword, isPseudoLiteralToken, isPublicKeyword, isQuestionDotToken, isQuestionToken, isReadonlyKeyword, isSignatureDeclaration, isStaticKeyword, isStrictCompilerOptionEnabled, isStringKeyword, isStringLiteralType, isStringMappingType, isSubstitutionType, isSuperElementAccessExpression, isSuperExpression, isSuperKeyword, isSuperProperty, isSuperPropertyAccessExpression, isSymbolFlagSet, isSymbolKeyword, isSyntaxList, isTemplateLiteralType, isThenableType, isThisExpression, isThisKeyword, isTrueKeyword, isTrueLiteral, isTrueLiteralType, isTupleType, isTupleTypeReference, isTypeFlagSet, isTypeOnlyCompatibleAliasDeclaration, isTypeParameter, isTypeReference, isTypeReferenceType, isTypeVariable, isUndefinedKeyword, isUnionOrIntersectionType, isUnionOrIntersectionTypeNode, isUnionType, isUniqueESSymbolType, isUnknownKeyword, isUnknownLiteralType, isUnparsedPrologue, isUnparsedSourceText, isUnparsedSyntheticReference, isValidPropertyAccess, isVariableLikeDeclaration, isVoidKeyword, symbolHasReadonlyDeclaration, typeParts, unionTypeParts }; diff --git a/.pnpm-store/v3/files/00/46c4e989192f8a34c0c3ea6446e0ce3ee566ec44ac0ddaaceba8c04c63fd0361120426fee7781d73817731d14125eaeeb0d818e3d10c8a2320378f7ad350e8 b/.pnpm-store/v3/files/00/46c4e989192f8a34c0c3ea6446e0ce3ee566ec44ac0ddaaceba8c04c63fd0361120426fee7781d73817731d14125eaeeb0d818e3d10c8a2320378f7ad350e8 new file mode 100644 index 00000000..45a1c680 --- /dev/null +++ b/.pnpm-store/v3/files/00/46c4e989192f8a34c0c3ea6446e0ce3ee566ec44ac0ddaaceba8c04c63fd0361120426fee7781d73817731d14125eaeeb0d818e3d10c8a2320378f7ad350e8 @@ -0,0 +1 @@ +module.exports={A:{D:{"1":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","33":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X"},L:{"1":"H"},B:{"1":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H","33":"C K L G M N O P Q R S T U V W X"},C:{"1":"0 1 2 3 4 5 6 7 8 AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R VC WC"},M:{"1":"1B"},A:{"2":"J D E F SC","33":"A B"},F:{"1":"xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB"},K:{"1":"u","2":"A B C 2B QC 3B"},E:{"1":"G cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC","2":"hC","33":"9 I J D E F A B C K L XC DC YC ZC aC bC EC 2B 3B FC"},G:{"1":"5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","33":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C"},P:{"1":"q r s t PD 5B 6B QD RD","33":"I GD HD ID JD KD EC LD MD ND OD"},I:{"1":"H","2":"7B I AD BD CD DD RC","33":"ED FD"}},B:6,C:"::file-selector-button CSS pseudo-element",D:undefined}; diff --git a/.pnpm-store/v3/files/01/43e1a4b8882c18540004f5d2350743dc685cf1b5e1f7dd53c6e497674dcbbd139a0318e3212f4a0f3b04bd811ffddbfab6c0e325c9a48c7605f40f169d7f77 b/.pnpm-store/v3/files/01/43e1a4b8882c18540004f5d2350743dc685cf1b5e1f7dd53c6e497674dcbbd139a0318e3212f4a0f3b04bd811ffddbfab6c0e325c9a48c7605f40f169d7f77 new file mode 100644 index 00000000..63cbaffd --- /dev/null +++ b/.pnpm-store/v3/files/01/43e1a4b8882c18540004f5d2350743dc685cf1b5e1f7dd53c6e497674dcbbd139a0318e3212f4a0f3b04bd811ffddbfab6c0e325c9a48c7605f40f169d7f77 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"P Q R S T U V W","2":"C K L G M N O","1025":"0 1 2 3 4 5 6 7 8 X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u VC WC","260":"0 1 2 3 4 5 6 7 8 wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"wB xB yB zB 0B P Q R S T U V W","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B","132":"kB 9B lB mB nB oB pB qB rB sB tB uB vB u","1025":"0 1 2 3 4 5 6 7 8 X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B XC DC YC ZC aC bC EC","772":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"lB mB nB oB pB qB rB sB tB uB vB u wB","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB iC jC kC lC 2B QC mC 3B","132":"YB ZB aB bB cB dB eB fB gB hB iB jB kB","1025":"xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC","772":"xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","1025":"u"},L:{"1025":"H"},M:{"260":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID","132":"JD KD EC"},Q:{"132":"FC"},R:{"1025":"SD"},S:{"2":"TD","260":"UD"}},B:7,C:"Feature Policy",D:true}; diff --git a/.pnpm-store/v3/files/01/933a7e65b1603ad152deda7f5bd407cd430ce2bcd4c9fa00aa3938043136e4db82e232e994f684c0fd8c502073573134f22eb119e70f373ae5686456e8ae36 b/.pnpm-store/v3/files/01/933a7e65b1603ad152deda7f5bd407cd430ce2bcd4c9fa00aa3938043136e4db82e232e994f684c0fd8c502073573134f22eb119e70f373ae5686456e8ae36 new file mode 100644 index 00000000..182a8a33 Binary files /dev/null and b/.pnpm-store/v3/files/01/933a7e65b1603ad152deda7f5bd407cd430ce2bcd4c9fa00aa3938043136e4db82e232e994f684c0fd8c502073573134f22eb119e70f373ae5686456e8ae36 differ diff --git a/.pnpm-store/v3/files/01/d6ba30ad1d1ab842eb3b81eed43737ae15da6f76344aed98736148cdb4ae0acfbb72a8c4f2b907f6dfb6068117f4566ba75a0eef4240139edd75702de2a314 b/.pnpm-store/v3/files/01/d6ba30ad1d1ab842eb3b81eed43737ae15da6f76344aed98736148cdb4ae0acfbb72a8c4f2b907f6dfb6068117f4566ba75a0eef4240139edd75702de2a314 new file mode 100644 index 00000000..7587165a --- /dev/null +++ b/.pnpm-store/v3/files/01/d6ba30ad1d1ab842eb3b81eed43737ae15da6f76344aed98736148cdb4ae0acfbb72a8c4f2b907f6dfb6068117f4566ba75a0eef4240139edd75702de2a314 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 2B QC mC 3B","2":"F iC jC kC lC"},G:{"1":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC","132":"qC"},H:{"1":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"progress element",D:true}; diff --git a/.pnpm-store/v3/files/02/03a630ef22dba5ea0c1024ba2f9b124a879e556feba7450c7a3e98a8ea3db836c216e3302b212fd00c1ff7d4a002071c2112ac8fcda01ee4086d6d055c89f2 b/.pnpm-store/v3/files/02/03a630ef22dba5ea0c1024ba2f9b124a879e556feba7450c7a3e98a8ea3db836c216e3302b212fd00c1ff7d4a002071c2112ac8fcda01ee4086d6d055c89f2 new file mode 100644 index 00000000..d0e9dd35 --- /dev/null +++ b/.pnpm-store/v3/files/02/03a630ef22dba5ea0c1024ba2f9b124a879e556feba7450c7a3e98a8ea3db836c216e3302b212fd00c1ff7d4a002071c2112ac8fcda01ee4086d6d055c89f2 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E SC","520":"F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","8":"C K","388":"L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","132":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB"},D:{"1":"0 1 2 3 4 5 6 7 8 CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I","132":"J D E F A B C K L G M N O AB q r s t BB"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC","8":"9 I DC YC","520":"J D E F A B C ZC aC bC EC 2B","1028":"K 3B FC","7172":"L","8196":"G cC dC GC HC 4B eC"},F:{"1":"M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F iC jC kC","132":"B C G lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC","1028":"zC 0C 1C 2C 3C","3076":"4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"AD BD","132":"7B I CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"8":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","132":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"WebM video format",D:true}; diff --git a/.pnpm-store/v3/files/02/5fe2fdb3140e6bae70e5dce1463e609b020425403bae910ad4866c5fd80bfc0466abbc0705d22a527269d6cd2e8d4376618ea54d1bc222b6ba30424b979df0 b/.pnpm-store/v3/files/02/5fe2fdb3140e6bae70e5dce1463e609b020425403bae910ad4866c5fd80bfc0466abbc0705d22a527269d6cd2e8d4376618ea54d1bc222b6ba30424b979df0 new file mode 100644 index 00000000..b532eb9d --- /dev/null +++ b/.pnpm-store/v3/files/02/5fe2fdb3140e6bae70e5dce1463e609b020425403bae910ad4866c5fd80bfc0466abbc0705d22a527269d6cd2e8d4376618ea54d1bc222b6ba30424b979df0 @@ -0,0 +1,6 @@ +import { Plugin } from 'vite'; +import { Vitest } from 'vitest'; + +declare const _default: (ctx: Vitest) => Plugin; + +export { _default as default }; diff --git a/.pnpm-store/v3/files/02/a3494816f5852e84768285a7afd95701ef4c0906f21672a7b57b43d10a11163c6523efbe8bae7bbd0b15d7b26f535686ad4bbd93bec77607a21001c6980114 b/.pnpm-store/v3/files/02/a3494816f5852e84768285a7afd95701ef4c0906f21672a7b57b43d10a11163c6523efbe8bae7bbd0b15d7b26f535686ad4bbd93bec77607a21001c6980114 new file mode 100644 index 00000000..3eb4d565 --- /dev/null +++ b/.pnpm-store/v3/files/02/a3494816f5852e84768285a7afd95701ef4c0906f21672a7b57b43d10a11163c6523efbe8bae7bbd0b15d7b26f535686ad4bbd93bec77607a21001c6980114 @@ -0,0 +1 @@ +module.exports={C:{"96":0.00389,"103":0.00389,"104":0.00389,"115":0.00389,"116":0.00389,"117":0.01945,"120":0.46291,"121":0.31509,"122":0.04668,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 102 105 106 107 108 109 110 111 112 113 114 118 119 123 124 125 3.5 3.6"},D:{"41":0.01167,"65":0.00778,"76":0.12837,"77":0.00778,"79":0.00389,"91":0.00389,"93":0.00389,"103":0.05446,"106":0.01556,"109":0.15171,"110":0.03112,"113":0.01945,"114":0.01945,"116":0.10892,"117":0.02334,"118":0.21784,"119":0.19061,"120":9.87671,"121":1.38873,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 78 80 81 83 84 85 86 87 88 89 90 92 94 95 96 97 98 99 100 101 102 104 105 107 108 111 112 115 122 123 124"},F:{"105":0.05835,"106":0.08169,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"100":0.01556,"108":0.01167,"117":0.00389,"119":0.07391,"120":5.12313,"121":1.14755,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 101 102 103 104 105 106 107 109 110 111 112 113 114 115 116 118"},E:{"13":0.01167,"14":0.09725,"15":0.00389,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 17.4","13.1":0.54071,"14.1":0.14004,"15.1":0.02334,"15.2-15.3":0.00778,"15.4":0.01167,"15.5":0.16338,"15.6":0.29564,"16.0":0.01556,"16.1":0.14782,"16.2":0.32676,"16.3":0.28008,"16.4":0.32287,"16.5":0.75855,"16.6":2.1006,"17.0":0.14393,"17.1":7.56216,"17.2":3.48933,"17.3":0.28397},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00663,"5.0-5.1":0.00995,"6.0-6.1":0.01659,"7.0-7.1":0.02322,"8.1-8.4":0.00332,"9.0-9.2":0.0199,"9.3":0.07629,"10.0-10.2":0.00663,"10.3":0.11942,"11.0-11.2":0.04644,"11.3-11.4":0.04976,"12.0-12.1":0.02985,"12.2-12.5":0.59045,"13.0-13.1":0.00995,"13.2":0.10946,"13.3":0.02985,"13.4-13.7":0.13268,"14.0-14.4":0.2322,"14.5-14.8":0.35493,"15.0-15.1":0.15259,"15.2-15.3":0.17581,"15.4":0.20566,"15.5":0.272,"15.6-15.8":2.11964,"16.0":0.63689,"16.1":1.3567,"16.2":0.61698,"16.3":1.14772,"16.4":0.25542,"16.5":0.54401,"16.6-16.7":4.45157,"17.0":0.73972,"17.1":7.62606,"17.2":10.32287,"17.3":0.66342},P:{"4":0.05475,"21":0.0657,"22":0.0876,"23":2.72665,_:"20 6.2-6.4 8.2 10.1 12.0 13.0 14.0 15.0 16.0 18.0","5.0-5.4":0.03285,"7.2-7.4":0.20806,"9.2":0.0219,"11.1-11.2":0.0219,"17.0":0.1095,"19.0":0.0438},I:{"0":0.01217,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.19552,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.00611},H:{"0":0},L:{"0":26.24351},R:{_:"0"},M:{"0":0.1833}}; diff --git a/.pnpm-store/v3/files/02/ef883ba93b222d78a103449a95a2b2a252c4bcc4799209363992d6d115bb7582e63fadd6249ddd66c8ba9aa58a33c53d0e842628932ec55f061e20cced972d b/.pnpm-store/v3/files/02/ef883ba93b222d78a103449a95a2b2a252c4bcc4799209363992d6d115bb7582e63fadd6249ddd66c8ba9aa58a33c53d0e842628932ec55f061e20cced972d new file mode 100644 index 00000000..7a46a506 --- /dev/null +++ b/.pnpm-store/v3/files/02/ef883ba93b222d78a103449a95a2b2a252c4bcc4799209363992d6d115bb7582e63fadd6249ddd66c8ba9aa58a33c53d0e842628932ec55f061e20cced972d @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"Media Queries: scripting media feature",D:false}; diff --git a/.pnpm-store/v3/files/02/f1b70488478af94bc3035ce18b2be8ed09a82bca7f0effaaf6e192725ef332f20283e818fbce87632aa696940a85616222227a9abea742cd41e71fd4b1d0ca b/.pnpm-store/v3/files/02/f1b70488478af94bc3035ce18b2be8ed09a82bca7f0effaaf6e192725ef332f20283e818fbce87632aa696940a85616222227a9abea742cd41e71fd4b1d0ca new file mode 100644 index 00000000..af687510 --- /dev/null +++ b/.pnpm-store/v3/files/02/f1b70488478af94bc3035ce18b2be8ed09a82bca7f0effaaf6e192725ef332f20283e818fbce87632aa696940a85616222227a9abea742cd41e71fd4b1d0ca @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","1028":"K L G M N O","1346":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC","196":"LB","516":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB WC"},D:{"1":"0 1 2 3 4 5 6 7 8 eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N","33":"O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB"},E:{"1":"A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC","33":"J D E F ZC aC"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},G:{"1":"tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC","33":"E pC qC rC sC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC","33":"ED FD"},J:{"2":"D","33":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t ID JD KD EC LD MD ND OD PD 5B 6B QD RD","33":"I GD HD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"CSS Filter Effects",D:true}; diff --git a/.pnpm-store/v3/files/02/ffe7d8748a1e93babe39e93e1492a7105bbd40b88fca5a6ebae6d0bfb09816b6392a16b0d616a72c53632027a8049de9c9364de197f9b0d074a7f3e49dedf7 b/.pnpm-store/v3/files/02/ffe7d8748a1e93babe39e93e1492a7105bbd40b88fca5a6ebae6d0bfb09816b6392a16b0d616a72c53632027a8049de9c9364de197f9b0d074a7f3e49dedf7 new file mode 100644 index 00000000..603efd81 --- /dev/null +++ b/.pnpm-store/v3/files/02/ffe7d8748a1e93babe39e93e1492a7105bbd40b88fca5a6ebae6d0bfb09816b6392a16b0d616a72c53632027a8049de9c9364de197f9b0d074a7f3e49dedf7 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB iC jC kC lC 2B QC mC 3B"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"String.prototype.includes",D:true}; diff --git a/.pnpm-store/v3/files/02/ffea9771f5c6280d811147dc2f25ccdfed37933a530040f66a4964e656ab3d53346d5fcc43137b83c7b4f78192ae13a97e428aac87a36d16523dc03a5be9ef b/.pnpm-store/v3/files/02/ffea9771f5c6280d811147dc2f25ccdfed37933a530040f66a4964e656ab3d53346d5fcc43137b83c7b4f78192ae13a97e428aac87a36d16523dc03a5be9ef new file mode 100644 index 00000000..097bb07a --- /dev/null +++ b/.pnpm-store/v3/files/02/ffea9771f5c6280d811147dc2f25ccdfed37933a530040f66a4964e656ab3d53346d5fcc43137b83c7b4f78192ae13a97e428aac87a36d16523dc03a5be9ef @@ -0,0 +1 @@ +module.exports={C:{"48":0.0112,"52":0.02239,"78":0.07277,"83":0.0112,"87":0.06158,"91":0.0056,"102":0.0112,"104":0.0056,"108":0.0056,"109":0.0056,"110":0.0056,"111":0.0056,"113":0.0056,"115":0.37507,"116":0.0056,"117":0.0056,"118":0.0112,"119":0.02239,"120":0.17354,"121":2.49671,"122":0.57659,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 88 89 90 92 93 94 95 96 97 98 99 100 101 103 105 106 107 112 114 123 124 125 3.5 3.6"},D:{"38":0.0056,"49":0.03919,"65":0.0112,"66":0.02799,"67":0.0056,"70":0.0056,"72":0.0056,"74":0.08397,"75":0.07837,"76":0.08397,"77":0.07837,"78":1.27634,"79":1.6906,"80":0.0056,"81":0.0056,"83":0.11196,"84":0.0056,"85":0.0112,"86":0.0056,"87":0.03359,"88":0.0112,"89":0.01679,"90":0.0112,"91":0.0112,"92":0.0056,"93":0.0112,"94":0.0056,"96":0.0056,"97":0.0056,"98":0.0056,"99":0.01679,"100":0.0056,"101":0.0056,"102":0.0056,"103":0.08397,"104":0.0112,"105":0.01679,"106":0.01679,"107":0.02239,"108":0.03919,"109":0.88448,"110":0.0112,"111":0.03359,"112":0.02239,"113":0.03919,"114":0.08957,"115":0.03919,"116":0.25191,"117":0.05598,"118":0.11196,"119":2.95574,"120":23.36045,"121":1.60663,"122":0.0056,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 68 69 71 73 95 123 124"},F:{"46":0.0056,"95":0.01679,"102":0.0056,"104":0.01679,"105":0.72774,"106":0.59339,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.0056,"102":0.0056,"106":0.0056,"107":0.0056,"108":0.0112,"109":0.10636,"110":0.0056,"111":0.0056,"112":0.0056,"113":0.0056,"114":0.01679,"115":0.0056,"116":0.01679,"117":0.02799,"118":0.05038,"119":2.45192,"120":6.86875,"121":0.94046,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 103 104 105"},E:{"9":0.0056,"13":0.0056,"14":0.03919,"15":0.0112,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 11.1 17.4","10.1":0.0112,"12.1":0.02239,"13.1":0.19593,"14.1":0.16234,"15.1":0.02799,"15.2-15.3":0.02799,"15.4":0.06158,"15.5":0.08397,"15.6":0.64937,"16.0":0.05598,"16.1":0.12875,"16.2":0.12875,"16.3":0.26311,"16.4":0.11756,"16.5":0.21272,"16.6":0.87329,"17.0":0.17914,"17.1":1.114,"17.2":1.65701,"17.3":0.11196},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00383,"5.0-5.1":0.00574,"6.0-6.1":0.00957,"7.0-7.1":0.01339,"8.1-8.4":0.00191,"9.0-9.2":0.01148,"9.3":0.044,"10.0-10.2":0.00383,"10.3":0.06887,"11.0-11.2":0.02678,"11.3-11.4":0.0287,"12.0-12.1":0.01722,"12.2-12.5":0.34053,"13.0-13.1":0.00574,"13.2":0.06313,"13.3":0.01722,"13.4-13.7":0.07652,"14.0-14.4":0.13392,"14.5-14.8":0.2047,"15.0-15.1":0.088,"15.2-15.3":0.10139,"15.4":0.11861,"15.5":0.15687,"15.6-15.8":1.22248,"16.0":0.36732,"16.1":0.78246,"16.2":0.35584,"16.3":0.66194,"16.4":0.14731,"16.5":0.31375,"16.6-16.7":2.56739,"17.0":0.42662,"17.1":4.39824,"17.2":5.9536,"17.3":0.38262},P:{"4":0.05324,"20":0.02129,"21":0.07453,"22":0.05324,"23":3.14096,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0","13.0":0.01065,"16.0":0.01065,"17.0":0.01065,"18.0":0.01065,"19.0":0.02129},I:{"0":0.06136,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00016},A:{"8":0.0056,"11":0.05598,_:"6 7 9 10 5.5"},K:{"0":0.15407,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.01761},H:{"0":0},L:{"0":20.92126},R:{_:"0"},M:{"0":0.27292}}; diff --git a/.pnpm-store/v3/files/03/3c44554010cd85c538de94e79229c6271f6390a01cc4bc18a1c5ea7c0580d33d1cbc6842b3ec15eef296cdf1a249b54b11700822135dc417d7fb4747713571 b/.pnpm-store/v3/files/03/3c44554010cd85c538de94e79229c6271f6390a01cc4bc18a1c5ea7c0580d33d1cbc6842b3ec15eef296cdf1a249b54b11700822135dc417d7fb4747713571 new file mode 100644 index 00000000..eb81017b --- /dev/null +++ b/.pnpm-store/v3/files/03/3c44554010cd85c538de94e79229c6271f6390a01cc4bc18a1c5ea7c0580d33d1cbc6842b3ec15eef296cdf1a249b54b11700822135dc417d7fb4747713571 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O","66":"P Q R"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u","66":"wB xB yB zB 0B P Q"},E:{"1":"IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B"},F:{"1":"rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB iC jC kC lC 2B QC mC 3B","66":"pB qB"},G:{"1":"IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"q r s t ND OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"URL Scroll-To-Text Fragment",D:true}; diff --git a/.pnpm-store/v3/files/03/a58f7de688b41407589890e7be346a7ed94b85ac00f6296e1bb049b15cc3524af4fe80c3cc7c5e257145f8099bb33a2abfdef2e333ddb25dc5bbd96f150f0d b/.pnpm-store/v3/files/03/a58f7de688b41407589890e7be346a7ed94b85ac00f6296e1bb049b15cc3524af4fe80c3cc7c5e257145f8099bb33a2abfdef2e333ddb25dc5bbd96f150f0d new file mode 100644 index 00000000..2112e2c9 --- /dev/null +++ b/.pnpm-store/v3/files/03/a58f7de688b41407589890e7be346a7ed94b85ac00f6296e1bb049b15cc3524af4fe80c3cc7c5e257145f8099bb33a2abfdef2e333ddb25dc5bbd96f150f0d @@ -0,0 +1,64 @@ +import semver = require("../index"); + +declare class SemVer { + constructor(version: string | SemVer, optionsOrLoose?: boolean | semver.RangeOptions); + + raw: string; + loose: boolean; + options: semver.Options; + format(): string; + inspect(): string; + + major: number; + minor: number; + patch: number; + version: string; + build: readonly string[]; + prerelease: ReadonlyArray; + + /** + * Compares two versions excluding build identifiers (the bit after `+` in the semantic version string). + * + * @return + * - `0` if `this` == `other` + * - `1` if `this` is greater + * - `-1` if `other` is greater. + */ + compare(other: string | SemVer): 1 | 0 | -1; + + /** + * Compares the release portion of two versions. + * + * @return + * - `0` if `this` == `other` + * - `1` if `this` is greater + * - `-1` if `other` is greater. + */ + compareMain(other: string | SemVer): 1 | 0 | -1; + + /** + * Compares the prerelease portion of two versions. + * + * @return + * - `0` if `this` == `other` + * - `1` if `this` is greater + * - `-1` if `other` is greater. + */ + comparePre(other: string | SemVer): 1 | 0 | -1; + + /** + * Compares the build identifier of two versions. + * + * @return + * - `0` if `this` == `other` + * - `1` if `this` is greater + * - `-1` if `other` is greater. + */ + compareBuild(other: string | SemVer): 1 | 0 | -1; + + inc(release: semver.ReleaseType, identifier?: string): SemVer; + + toString(): string; +} + +export = SemVer; diff --git a/.pnpm-store/v3/files/03/c06f21b79cc3c23ba0920ce94ce02c886cbe6b1b25eef9f1b071ac2e73458e3af0f1909e02ae519d711e834737b91e9bcb19de0cff09301ce70b3eff04514d b/.pnpm-store/v3/files/03/c06f21b79cc3c23ba0920ce94ce02c886cbe6b1b25eef9f1b071ac2e73458e3af0f1909e02ae519d711e834737b91e9bcb19de0cff09301ce70b3eff04514d new file mode 100644 index 00000000..ee4b6927 --- /dev/null +++ b/.pnpm-store/v3/files/03/c06f21b79cc3c23ba0920ce94ce02c886cbe6b1b25eef9f1b071ac2e73458e3af0f1909e02ae519d711e834737b91e9bcb19de0cff09301ce70b3eff04514d @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB"},E:{"1":"hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC"},F:{"1":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:5,C:"CSS overflow-anchor (Scroll Anchoring)",D:true}; diff --git a/.pnpm-store/v3/files/04/60c96496b507e9bec8b300d832445d28c37c3c7d9b6c94b41b0ca0152a53d5721ba862dae6cd11d486394850277f5a6e8c5a6b64f41eab0e29cb2e94def86d b/.pnpm-store/v3/files/04/60c96496b507e9bec8b300d832445d28c37c3c7d9b6c94b41b0ca0152a53d5721ba862dae6cd11d486394850277f5a6e8c5a6b64f41eab0e29cb2e94def86d new file mode 100644 index 00000000..bdd4e54f --- /dev/null +++ b/.pnpm-store/v3/files/04/60c96496b507e9bec8b300d832445d28c37c3c7d9b6c94b41b0ca0152a53d5721ba862dae6cd11d486394850277f5a6e8c5a6b64f41eab0e29cb2e94def86d @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O P Q R S"},C:{"1":"0 1 2 3 4 5 6 7 8 qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S"},E:{"1":"A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC"},F:{"1":"u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB iC jC kC lC 2B QC mC 3B"},G:{"1":"tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD ND"},Q:{"2":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:4,C:"CSS revert value",D:true}; diff --git a/.pnpm-store/v3/files/04/7acbfecb2433f2ed0ce27fda0606bf3c77e2d3067735aff9f6d10cb4cf7b19a2209a1fde010861b099aad2eb9b59d1560ccc72b31ae63a7f49904f765b066a b/.pnpm-store/v3/files/04/7acbfecb2433f2ed0ce27fda0606bf3c77e2d3067735aff9f6d10cb4cf7b19a2209a1fde010861b099aad2eb9b59d1560ccc72b31ae63a7f49904f765b066a new file mode 100644 index 00000000..d3c26c26 --- /dev/null +++ b/.pnpm-store/v3/files/04/7acbfecb2433f2ed0ce27fda0606bf3c77e2d3067735aff9f6d10cb4cf7b19a2209a1fde010861b099aad2eb9b59d1560ccc72b31ae63a7f49904f765b066a @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},E:{"1":"K L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B 3B"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB iC jC kC lC 2B QC mC 3B"},G:{"1":"0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:4,C:"display: flow-root",D:true}; diff --git a/.pnpm-store/v3/files/04/892a2d3e8ad84830088b04dd4a5807ac237db8d66b7a46d9e5b45ffaea07007e3ba7c60f3edf1b2acf6f8b09f2009e9ea93d015a9b942a3b656cdfc407d7b0 b/.pnpm-store/v3/files/04/892a2d3e8ad84830088b04dd4a5807ac237db8d66b7a46d9e5b45ffaea07007e3ba7c60f3edf1b2acf6f8b09f2009e9ea93d015a9b942a3b656cdfc407d7b0 new file mode 100644 index 00000000..e2586f28 --- /dev/null +++ b/.pnpm-store/v3/files/04/892a2d3e8ad84830088b04dd4a5807ac237db8d66b7a46d9e5b45ffaea07007e3ba7c60f3edf1b2acf6f8b09f2009e9ea93d015a9b942a3b656cdfc407d7b0 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O","194":"P Q R S T U V W X"},C:{"1":"0 1 2 3 4 5 6 7 8 w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k VC WC","322":"l m n o p v"},D:{"1":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u","194":"wB xB yB zB 0B P Q R S T U V W X"},E:{"1":"LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC"},F:{"1":"yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB iC jC kC lC 2B QC mC 3B","194":"lB mB nB oB pB qB rB sB tB uB vB u wB xB"},G:{"1":"LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD ND OD"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"Import maps",D:true}; diff --git a/.pnpm-store/v3/files/04/905437f0336f3dc566a0fa5558c46ca9b1a5dce550238506da9f3de8b50c311daf347865e17a11a5405b77b5598a336917651846bcd74c754bc7f9976aacb2 b/.pnpm-store/v3/files/04/905437f0336f3dc566a0fa5558c46ca9b1a5dce550238506da9f3de8b50c311daf347865e17a11a5405b77b5598a336917651846bcd74c754bc7f9976aacb2 new file mode 100644 index 00000000..f5c9e621 --- /dev/null +++ b/.pnpm-store/v3/files/04/905437f0336f3dc566a0fa5558c46ca9b1a5dce550238506da9f3de8b50c311daf347865e17a11a5405b77b5598a336917651846bcd74c754bc7f9976aacb2 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E SC","260":"F","516":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","33":"9 I J D E F A B C K L G"},D:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O","33":"AB q r s t BB CB"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC","33":"J"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC","33":"pC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC","132":"ED FD"},J:{"1":"A","2":"D"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"calc() as CSS unit value",D:true}; diff --git a/.pnpm-store/v3/files/04/a6f2c76842dc1ca0367806d48401f15d3a8379484c529153a17d6ff3cd1b6757bc991eb37e9887047577ff3e4c178c391befbd9105d952e238344c96d47ce0 b/.pnpm-store/v3/files/04/a6f2c76842dc1ca0367806d48401f15d3a8379484c529153a17d6ff3cd1b6757bc991eb37e9887047577ff3e4c178c391befbd9105d952e238344c96d47ce0 new file mode 100644 index 00000000..dd1d1363 --- /dev/null +++ b/.pnpm-store/v3/files/04/a6f2c76842dc1ca0367806d48401f15d3a8379484c529153a17d6ff3cd1b6757bc991eb37e9887047577ff3e4c178c391befbd9105d952e238344c96d47ce0 @@ -0,0 +1,15 @@ +# Installation +> `npm install --save @types/node` + +# Summary +This package contains type definitions for node (https://nodejs.org/). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node. + +### Additional Details + * Last updated: Thu, 15 Feb 2024 10:07:24 GMT + * Dependencies: [undici-types](https://npmjs.com/package/undici-types) + +# Credits +These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky). diff --git a/.pnpm-store/v3/files/05/c4f107b44da05826e4303b0a7b95b2d2e3dcf46cfe9a953e8b2f61d446c38affcb7f89dc553a97ed64bf196477d854acb8bb16b9ad722b1bda5c24a565aa76 b/.pnpm-store/v3/files/05/c4f107b44da05826e4303b0a7b95b2d2e3dcf46cfe9a953e8b2f61d446c38affcb7f89dc553a97ed64bf196477d854acb8bb16b9ad722b1bda5c24a565aa76 new file mode 100644 index 00000000..0c1d37f2 --- /dev/null +++ b/.pnpm-store/v3/files/05/c4f107b44da05826e4303b0a7b95b2d2e3dcf46cfe9a953e8b2f61d446c38affcb7f89dc553a97ed64bf196477d854acb8bb16b9ad722b1bda5c24a565aa76 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB VC WC","194":"eB fB"},D:{"1":"0 1 2 3 4 5 6 7 8 YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"1":"hC","2":"9 I J D E F A B C K XC DC YC ZC aC bC EC 2B 3B","322":"L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C","322":"3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:5,C:"requestIdleCallback",D:true}; diff --git a/.pnpm-store/v3/files/06/26c7db7f4a2c62e4c47749d75812c19c73548a6bc666e385d6fc016251fc36a898bbb8a0e7e984218990a2fb58817b4b5c2526587c09d7462851121f5de5fe b/.pnpm-store/v3/files/06/26c7db7f4a2c62e4c47749d75812c19c73548a6bc666e385d6fc016251fc36a898bbb8a0e7e984218990a2fb58817b4b5c2526587c09d7462851121f5de5fe new file mode 100644 index 00000000..20efa87f --- /dev/null +++ b/.pnpm-store/v3/files/06/26c7db7f4a2c62e4c47749d75812c19c73548a6bc666e385d6fc016251fc36a898bbb8a0e7e984218990a2fb58817b4b5c2526587c09d7462851121f5de5fe @@ -0,0 +1 @@ +module.exports={C:{"34":0.00248,"51":0.00248,"52":0.01241,"78":0.02977,"83":0.00248,"102":0.00248,"111":0.00248,"113":0.00248,"115":0.05458,"116":0.00248,"117":0.00248,"118":0.00992,"119":0.00744,"120":0.01489,"121":0.94526,"122":0.24314,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 109 110 112 114 123 124 125 3.5 3.6"},D:{"38":0.00248,"49":0.01985,"55":0.02481,"56":0.00248,"58":0.00248,"65":0.00248,"68":0.00248,"69":0.01985,"73":0.01985,"76":0.00744,"77":0.00744,"78":0.00496,"79":0.00992,"80":0.00248,"81":0.01737,"83":0.00992,"84":0.00248,"86":0.01241,"87":0.02729,"88":0.10916,"89":0.00744,"90":0.00496,"91":0.02481,"92":0.2084,"93":0.01241,"94":0.01737,"95":0.00992,"96":0.00248,"97":0.00248,"99":0.00744,"100":0.00496,"102":0.00744,"103":0.02977,"104":0.00248,"105":0.01241,"106":0.00496,"107":0.00248,"108":0.00744,"109":0.44906,"110":0.00248,"111":0.04714,"112":0.00248,"113":0.00992,"114":0.01489,"115":0.02233,"116":0.09924,"117":0.11165,"118":0.14142,"119":0.32749,"120":11.43989,"121":0.92541,"122":0.00248,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 57 59 60 61 62 63 64 66 67 70 71 72 74 75 85 98 101 123 124"},F:{"95":0.00496,"102":0.00744,"105":0.10172,"106":0.42177,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00248,"13":0.01241,"14":0.00248,"16":0.00496,"18":0.01241,"84":0.00496,"89":0.00496,"90":0.00248,"92":0.01489,"100":0.00744,"106":0.00248,"109":0.00992,"113":0.00744,"114":0.00248,"115":0.00496,"116":0.00496,"117":0.01737,"118":0.03225,"119":0.07939,"120":2.61994,"121":0.37959,_:"15 17 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 107 108 110 111 112"},E:{"13":0.00248,"14":0.01985,"15":0.00744,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00744,"13.1":0.02729,"14.1":0.01985,"15.1":0.00992,"15.2-15.3":0.00496,"15.4":0.00496,"15.5":0.01985,"15.6":0.09676,"16.0":0.03722,"16.1":0.02233,"16.2":0.00992,"16.3":0.03722,"16.4":0.00992,"16.5":0.08435,"16.6":0.3002,"17.0":0.03473,"17.1":0.2878,"17.2":0.69964,"17.3":0.04714},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00178,"5.0-5.1":0.00267,"6.0-6.1":0.00445,"7.0-7.1":0.00624,"8.1-8.4":0.00089,"9.0-9.2":0.00535,"9.3":0.02049,"10.0-10.2":0.00178,"10.3":0.03207,"11.0-11.2":0.01247,"11.3-11.4":0.01336,"12.0-12.1":0.00802,"12.2-12.5":0.15858,"13.0-13.1":0.00267,"13.2":0.0294,"13.3":0.00802,"13.4-13.7":0.03564,"14.0-14.4":0.06236,"14.5-14.8":0.09532,"15.0-15.1":0.04098,"15.2-15.3":0.04722,"15.4":0.05523,"15.5":0.07305,"15.6-15.8":0.56927,"16.0":0.17105,"16.1":0.36437,"16.2":0.1657,"16.3":0.30825,"16.4":0.0686,"16.5":0.1461,"16.6-16.7":1.19556,"17.0":0.19867,"17.1":2.04814,"17.2":2.77243,"17.3":0.17818},P:{"4":0.20935,"20":0.15701,"21":0.46057,"22":0.58618,"23":5.61059,_:"5.0-5.4 8.2 12.0","6.2-6.4":0.02094,"7.2-7.4":0.57571,"9.2":0.0314,"10.1":0.01047,"11.1-11.2":0.06281,"13.0":0.09421,"14.0":0.02094,"15.0":0.04187,"16.0":0.11514,"17.0":0.04187,"18.0":0.10468,"19.0":0.31403},I:{"0":0.05239,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00014},A:{"10":0.00496,"11":0.00992,_:"6 7 8 9 5.5"},K:{"0":0.57137,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.62399},H:{"0":0},L:{"0":59.76533},R:{_:"0"},M:{"0":0.17291}}; diff --git a/.pnpm-store/v3/files/06/46e2f130a9784b28acc84a5ad70b7b5a5357037e20afdef4b3b32db05898b6095d1722a35f77e48690ac6490a18d7b586c7f8872e9f4b466583431f271b271 b/.pnpm-store/v3/files/06/46e2f130a9784b28acc84a5ad70b7b5a5357037e20afdef4b3b32db05898b6095d1722a35f77e48690ac6490a18d7b586c7f8872e9f4b466583431f271b271 new file mode 100644 index 00000000..2afa966e --- /dev/null +++ b/.pnpm-store/v3/files/06/46e2f130a9784b28acc84a5ad70b7b5a5357037e20afdef4b3b32db05898b6095d1722a35f77e48690ac6490a18d7b586c7f8872e9f4b466583431f271b271 @@ -0,0 +1 @@ +module.exports={C:{"52":0.03624,"75":0.00805,"78":0.00403,"79":0.00403,"88":0.00403,"102":0.00403,"104":0.02014,"105":0.02014,"107":0.00805,"108":0.01208,"110":0.00403,"113":0.00805,"115":0.30203,"116":0.00403,"118":0.00403,"119":0.01611,"120":0.02014,"121":0.73694,"122":0.15303,"123":0.00403,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 103 106 109 111 112 114 117 124 125 3.5 3.6"},D:{"38":0.00403,"47":0.00403,"48":0.00805,"49":0.05235,"50":0.00403,"56":0.01208,"58":0.06041,"60":0.00403,"63":0.00403,"64":0.00403,"65":0.00805,"66":0.00403,"67":0.01611,"68":0.00403,"69":0.00403,"70":0.00805,"71":0.00403,"72":0.00403,"73":0.00805,"74":0.00805,"76":0.00805,"77":0.00403,"78":0.00403,"79":0.02416,"80":0.01208,"81":0.01611,"83":0.00805,"84":0.00403,"85":0.02819,"86":0.01611,"87":0.0443,"88":0.00805,"89":0.00403,"90":0.00805,"91":0.01208,"92":0.00805,"93":0.00403,"94":0.00805,"95":0.02014,"96":0.01611,"97":0.00805,"98":0.03222,"99":0.02014,"100":0.00805,"101":0.00403,"102":0.02014,"103":0.04832,"104":0.01611,"105":0.07249,"106":0.0443,"107":0.06846,"108":0.10068,"109":4.19613,"110":0.03222,"111":0.05235,"112":0.04027,"113":0.01208,"114":0.02819,"115":0.02014,"116":0.07651,"117":0.06041,"118":0.04027,"119":0.21746,"120":14.18309,"121":0.97453,"122":0.00403,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 51 52 53 54 55 57 59 61 62 75 123 124"},F:{"12":0.00403,"79":0.00805,"82":0.00403,"85":0.00805,"86":0.00403,"91":0.00403,"94":0.00403,"95":0.08457,"102":0.01611,"104":0.00805,"105":1.33696,"106":0.89399,_:"9 11 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 87 88 89 90 92 93 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00805},B:{"18":0.01208,"92":0.01611,"100":0.00403,"106":0.01208,"107":0.00805,"108":0.00403,"109":0.05638,"110":0.00403,"111":0.01611,"112":0.00805,"114":0.01611,"115":0.00403,"116":0.00403,"117":0.00805,"118":0.00805,"119":0.03624,"120":1.88866,"121":0.24565,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 113"},E:{"14":0.00805,"15":0.00403,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 17.4","5.1":0.00403,"13.1":0.00805,"14.1":0.00805,"15.2-15.3":0.00805,"15.4":0.01208,"15.5":0.00403,"15.6":0.03222,"16.0":0.03222,"16.1":0.02014,"16.2":0.00403,"16.3":0.00805,"16.4":0.00805,"16.5":0.00805,"16.6":0.04832,"17.0":0.02819,"17.1":0.06041,"17.2":0.08457,"17.3":0.00805},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00112,"5.0-5.1":0.00168,"6.0-6.1":0.0028,"7.0-7.1":0.00391,"8.1-8.4":0.00056,"9.0-9.2":0.00335,"9.3":0.01286,"10.0-10.2":0.00112,"10.3":0.02013,"11.0-11.2":0.00783,"11.3-11.4":0.00839,"12.0-12.1":0.00503,"12.2-12.5":0.09951,"13.0-13.1":0.00168,"13.2":0.01845,"13.3":0.00503,"13.4-13.7":0.02236,"14.0-14.4":0.03914,"14.5-14.8":0.05982,"15.0-15.1":0.02572,"15.2-15.3":0.02963,"15.4":0.03466,"15.5":0.04584,"15.6-15.8":0.35725,"16.0":0.10734,"16.1":0.22866,"16.2":0.10399,"16.3":0.19344,"16.4":0.04305,"16.5":0.09169,"16.6-16.7":0.75028,"17.0":0.12467,"17.1":1.28531,"17.2":1.73983,"17.3":0.11181},P:{"4":0.10283,"20":0.04113,"21":0.0617,"22":0.08226,"23":1.02831,"5.0-5.4":0.01028,_:"6.2-6.4 8.2 9.2 10.1 12.0","7.2-7.4":0.33934,"11.1-11.2":0.01028,"13.0":0.01028,"14.0":0.01028,"15.0":0.01028,"16.0":0.02057,"17.0":0.03085,"18.0":0.02057,"19.0":0.03085},I:{"0":0.09515,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00025},A:{"11":0.04832,_:"6 7 8 9 10 5.5"},K:{"0":0.22489,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.11349},H:{"0":0.02},L:{"0":64.36526},R:{_:"0"},M:{"0":0.05973}}; diff --git a/.pnpm-store/v3/files/07/16a1b3d2fec34791d105896fea37f1e3bd9d574f73840c98c26290c9ccca89de9c1611ca30e1674d4a7eea192a138a11b24631f89a48e001eee848b62c960c b/.pnpm-store/v3/files/07/16a1b3d2fec34791d105896fea37f1e3bd9d574f73840c98c26290c9ccca89de9c1611ca30e1674d4a7eea192a138a11b24631f89a48e001eee848b62c960c new file mode 100644 index 00000000..c42ca264 --- /dev/null +++ b/.pnpm-store/v3/files/07/16a1b3d2fec34791d105896fea37f1e3bd9d574f73840c98c26290c9ccca89de9c1611ca30e1674d4a7eea192a138a11b24631f89a48e001eee848b62c960c @@ -0,0 +1,27 @@ +{ + "name": "bare-events", + "version": "2.2.0", + "description": "Event emitters for JavaScript", + "main": "index.js", + "files": [ + "index.js", + "lib" + ], + "scripts": { + "test": "standard && bare test.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/holepunchto/bare-events.git" + }, + "author": "Holepunch", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/holepunchto/bare-events/issues" + }, + "homepage": "https://github.com/holepunchto/bare-events#readme", + "devDependencies": { + "brittle": "^3.3.2", + "standard": "^17.0.0" + } +} diff --git a/.pnpm-store/v3/files/07/45b57d4e50425b632a1cf90eef10995f0edf772b5c14d6bbd9fb024baf8fc09555e63e57177eb92dce9f30434fe59df8f543d33b529318481c74a418fae4d8 b/.pnpm-store/v3/files/07/45b57d4e50425b632a1cf90eef10995f0edf772b5c14d6bbd9fb024baf8fc09555e63e57177eb92dce9f30434fe59df8f543d33b529318481c74a418fae4d8 new file mode 100644 index 00000000..ca268480 --- /dev/null +++ b/.pnpm-store/v3/files/07/45b57d4e50425b632a1cf90eef10995f0edf772b5c14d6bbd9fb024baf8fc09555e63e57177eb92dce9f30434fe59df8f543d33b529318481c74a418fae4d8 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB","164":"9 I J D E F A B C K L"},D:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G","33":"r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB","292":"M N O AB q"},E:{"1":"A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"D E F XC DC ZC aC","4":"9 I J YC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB"},G:{"1":"tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E qC rC sC","4":"DC nC RC oC pC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC","33":"ED FD"},J:{"2":"D","33":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","33":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS font-feature-settings",D:true}; diff --git a/.pnpm-store/v3/files/07/7eb611a0b5a986a842d732c7c6e6abd5cff9d4707e73dcae5c9465a60c569196f47bb2627a7e3b809b3b780e5ac94c5ae8873514247feef88c469c0393409b b/.pnpm-store/v3/files/07/7eb611a0b5a986a842d732c7c6e6abd5cff9d4707e73dcae5c9465a60c569196f47bb2627a7e3b809b3b780e5ac94c5ae8873514247feef88c469c0393409b new file mode 100644 index 00000000..4e791f82 --- /dev/null +++ b/.pnpm-store/v3/files/07/7eb611a0b5a986a842d732c7c6e6abd5cff9d4707e73dcae5c9465a60c569196f47bb2627a7e3b809b3b780e5ac94c5ae8873514247feef88c469c0393409b @@ -0,0 +1 @@ +module.exports={C:{"4":0.00398,"11":0.02785,"12":0.03979,"43":0.00796,"44":0.00796,"45":0.00398,"50":0.00398,"52":0.05571,"53":0.00796,"54":0.00796,"56":0.0199,"72":0.00398,"78":0.01592,"88":0.00796,"91":0.01194,"94":0.00796,"101":0.01194,"102":0.02387,"103":0.03183,"104":0.00398,"105":0.00398,"107":0.00398,"108":0.00796,"109":0.00398,"110":0.00398,"111":0.00398,"112":0.00398,"113":0.00796,"114":0.01194,"115":0.47748,"116":0.00398,"117":0.00796,"118":0.08754,"119":0.2268,"120":0.2268,"121":1.24543,"122":0.27853,_:"2 3 5 6 7 8 9 10 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 46 47 48 49 51 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 95 96 97 98 99 100 106 123 124 125 3.5 3.6"},D:{"34":0.00398,"38":0.01592,"47":0.00398,"48":0.03183,"49":0.02785,"50":0.00796,"53":0.00796,"54":0.00796,"55":0.00796,"56":0.01592,"57":0.00796,"60":0.01592,"61":0.00398,"63":0.00398,"66":0.02785,"67":0.00796,"69":0.03581,"70":0.00796,"71":0.00398,"72":0.00398,"73":0.00796,"74":0.00796,"75":0.00796,"76":0.00796,"77":0.01194,"78":0.01592,"79":0.11937,"80":0.01592,"81":0.03183,"83":0.03979,"84":0.00796,"85":0.02387,"86":0.03979,"87":0.07958,"88":0.0199,"89":0.01592,"90":0.0199,"91":0.04775,"92":0.02785,"93":0.05173,"94":0.03183,"95":0.01194,"96":0.01592,"97":0.01592,"98":0.06764,"99":0.03581,"100":0.03183,"101":0.04377,"102":0.02785,"103":0.14324,"104":0.06366,"105":0.03979,"106":0.05173,"107":0.04377,"108":0.0756,"109":1.65129,"110":0.05571,"111":0.06764,"112":0.07162,"113":0.04377,"114":0.11141,"115":0.0756,"116":0.26261,"117":0.19497,"118":0.46554,"119":2.44709,"120":15.88417,"121":1.12208,"122":0.01592,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 51 52 58 59 62 64 65 68 123 124"},F:{"28":0.00398,"40":0.00398,"46":0.01592,"89":0.00398,"95":0.04775,"102":0.04377,"104":0.00796,"105":0.57696,"106":0.4934,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.00398,"17":0.00398,"18":0.01194,"87":0.36209,"92":0.01194,"99":0.01592,"106":0.00398,"107":0.00796,"108":0.01194,"109":0.06764,"110":0.00796,"111":0.00796,"112":0.00796,"113":0.01592,"114":0.01592,"115":0.01194,"116":0.01592,"117":0.01592,"118":0.03581,"119":0.26659,"120":3.7323,"121":0.52125,_:"12 13 14 16 79 80 81 83 84 85 86 88 89 90 91 93 94 95 96 97 98 100 101 102 103 104 105"},E:{"9":0.00398,"13":0.00796,"14":0.03979,"15":0.00796,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 6.1 7.1 10.1 17.4","5.1":0.00398,"9.1":0.01194,"11.1":0.01592,"12.1":0.01592,"13.1":0.07162,"14.1":0.11141,"15.1":0.03183,"15.2-15.3":0.01194,"15.4":0.03183,"15.5":0.04377,"15.6":0.29843,"16.0":0.03183,"16.1":0.07162,"16.2":0.05969,"16.3":0.14324,"16.4":0.06366,"16.5":0.10345,"16.6":0.52921,"17.0":0.11937,"17.1":0.69633,"17.2":0.85151,"17.3":0.05571},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00302,"5.0-5.1":0.00453,"6.0-6.1":0.00755,"7.0-7.1":0.01057,"8.1-8.4":0.00151,"9.0-9.2":0.00906,"9.3":0.03472,"10.0-10.2":0.00302,"10.3":0.05434,"11.0-11.2":0.02113,"11.3-11.4":0.02264,"12.0-12.1":0.01359,"12.2-12.5":0.26868,"13.0-13.1":0.00453,"13.2":0.04981,"13.3":0.01359,"13.4-13.7":0.06038,"14.0-14.4":0.10566,"14.5-14.8":0.16151,"15.0-15.1":0.06944,"15.2-15.3":0.08,"15.4":0.09359,"15.5":0.12378,"15.6-15.8":0.96455,"16.0":0.28982,"16.1":0.61737,"16.2":0.28076,"16.3":0.52227,"16.4":0.11623,"16.5":0.24755,"16.6-16.7":2.0257,"17.0":0.33661,"17.1":3.47026,"17.2":4.69745,"17.3":0.30189},P:{"4":0.13968,"20":0.03223,"21":0.07521,"22":0.0967,"23":2.11672,"5.0-5.4":0.01074,_:"6.2-6.4 8.2 9.2 10.1 12.0 14.0 15.0","7.2-7.4":0.05372,"11.1-11.2":0.01074,"13.0":0.01074,"16.0":0.01074,"17.0":0.03223,"18.0":0.02149,"19.0":0.03223},I:{"0":0.2158,"3":0,"4":0.00004,"2.1":0,"2.2":0.00002,"2.3":0,"4.1":0.00004,"4.2-4.3":0.00015,"4.4":0,"4.4.3-4.4.4":0.00056},A:{"8":0.01309,"9":0.03927,"11":0.44502,_:"6 7 10 5.5"},K:{"0":1.21452,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.09634,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.20471},O:{"0":0.81886},H:{"0":0.08},L:{"0":40.65511},R:{_:"0"},M:{"0":0.30105}}; diff --git a/.pnpm-store/v3/files/07/8268e5430bae87aafd049c7ba0ad58d82d27849072573e9113728427c858e0bf4c4b4ae8e71e73899f64d0204f60b6d0027bb8fe1b59a8756f981bc439c01a b/.pnpm-store/v3/files/07/8268e5430bae87aafd049c7ba0ad58d82d27849072573e9113728427c858e0bf4c4b4ae8e71e73899f64d0204f60b6d0027bb8fe1b59a8756f981bc439c01a new file mode 100644 index 00000000..6aa75ad0 --- /dev/null +++ b/.pnpm-store/v3/files/07/8268e5430bae87aafd049c7ba0ad58d82d27849072573e9113728427c858e0bf4c4b4ae8e71e73899f64d0204f60b6d0027bb8fe1b59a8756f981bc439c01a @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f","194":"0 1 2 3 4 5 6 7 8 g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f","194":"0 1 2 3 4 5 6 7 8 g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC iC jC kC lC 2B QC mC 3B","194":"S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","194":"u"},L:{"194":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"Selectlist - Customizable select element",D:true}; diff --git a/.pnpm-store/v3/files/07/dbf2339dc87943d17991c1c3f4e4c2150f55ae9a7c205ae75e06c9d10af499b446f25fbe6e193732a05d84a731b1a687051415a1691b5719b373abca26c240 b/.pnpm-store/v3/files/07/dbf2339dc87943d17991c1c3f4e4c2150f55ae9a7c205ae75e06c9d10af499b446f25fbe6e193732a05d84a731b1a687051415a1691b5719b373abca26c240 new file mode 100644 index 00000000..43860870 --- /dev/null +++ b/.pnpm-store/v3/files/07/dbf2339dc87943d17991c1c3f4e4c2150f55ae9a7c205ae75e06c9d10af499b446f25fbe6e193732a05d84a731b1a687051415a1691b5719b373abca26c240 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00534,"48":0.00267,"65":0.00267,"68":0.00267,"78":0.00802,"85":0.00267,"88":0.01603,"102":0.00802,"106":0.00802,"109":0.00534,"115":0.08016,"118":0.00267,"119":0.00534,"120":0.01069,"121":0.41149,"122":0.08818,"123":0.00267,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 107 108 110 111 112 113 114 116 117 124 125 3.5 3.6"},D:{"34":0.00267,"38":0.01069,"47":0.00534,"49":0.0187,"56":0.00802,"58":0.01069,"59":0.00267,"62":0.00267,"63":0.00267,"64":0.00267,"65":0.00267,"67":0.00267,"72":0.00267,"75":0.01069,"76":0.00267,"77":0.00267,"78":0.01069,"79":0.0187,"81":0.00267,"83":0.00802,"85":0.00267,"86":0.00802,"87":0.04008,"88":0.01336,"90":0.03206,"91":0.00534,"92":0.00267,"93":0.01336,"94":0.00267,"95":0.00267,"96":0.00267,"97":0.00534,"98":0.01336,"99":0.01336,"100":0.01603,"101":0.00802,"102":0.00802,"103":0.1149,"104":0.00267,"105":0.01069,"106":0.01069,"107":0.0187,"108":0.01069,"109":0.73747,"110":0.02138,"111":0.03741,"112":0.00802,"113":0.00802,"114":0.02138,"115":0.02138,"116":0.07482,"117":0.04275,"118":0.07214,"119":0.37675,"120":15.14757,"121":1.07414,"122":0.00534,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 53 54 55 57 60 61 66 68 69 70 71 73 74 80 84 89 123 124"},F:{"28":0.00802,"46":0.02405,"74":0.00267,"80":0.00267,"89":0.00534,"95":0.01069,"101":0.00267,"104":0.00534,"105":0.65197,"106":0.4195,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 79 81 82 83 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.01069,"84":0.00267,"92":0.01069,"100":0.00267,"104":0.00267,"105":0.00802,"106":0.00267,"107":0.00534,"109":0.02138,"110":0.01336,"112":0.00267,"113":0.00534,"114":0.00802,"115":0.00267,"116":0.00534,"117":0.01336,"118":0.00802,"119":0.10688,"120":2.50901,"121":0.4008,_:"12 13 14 15 16 17 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 108 111"},E:{"7":0.12826,"13":0.00534,"14":0.03741,"15":0.01336,_:"0 4 5 6 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00267,"13.1":0.02672,"14.1":0.13894,"15.1":0.03474,"15.2-15.3":0.01603,"15.4":0.04275,"15.5":0.06146,"15.6":0.16566,"16.0":0.01603,"16.1":0.09886,"16.2":0.05344,"16.3":0.14429,"16.4":0.02405,"16.5":0.0481,"16.6":0.35538,"17.0":0.06947,"17.1":0.4195,"17.2":0.54242,"17.3":0.05077},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00566,"5.0-5.1":0.00849,"6.0-6.1":0.01414,"7.0-7.1":0.0198,"8.1-8.4":0.00283,"9.0-9.2":0.01697,"9.3":0.06507,"10.0-10.2":0.00566,"10.3":0.10184,"11.0-11.2":0.03961,"11.3-11.4":0.04243,"12.0-12.1":0.02546,"12.2-12.5":0.50356,"13.0-13.1":0.00849,"13.2":0.09336,"13.3":0.02546,"13.4-13.7":0.11316,"14.0-14.4":0.19803,"14.5-14.8":0.3027,"15.0-15.1":0.13013,"15.2-15.3":0.14994,"15.4":0.1754,"15.5":0.23198,"15.6-15.8":1.80773,"16.0":0.54317,"16.1":1.15706,"16.2":0.52619,"16.3":0.97883,"16.4":0.21783,"16.5":0.46396,"16.6-16.7":3.79651,"17.0":0.63087,"17.1":6.50386,"17.2":8.80383,"17.3":0.5658},P:{"4":0.16379,"20":0.06142,"21":0.21498,"22":0.36854,"23":3.82868,"5.0-5.4":0.02047,"6.2-6.4":0.01024,"7.2-7.4":0.0819,_:"8.2 9.2 10.1 12.0","11.1-11.2":0.03071,"13.0":0.03071,"14.0":0.03071,"15.0":0.02047,"16.0":0.06142,"17.0":0.03071,"18.0":0.06142,"19.0":0.09213},I:{"0":0.06567,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00017},A:{"11":0.01069,_:"6 7 8 9 10 5.5"},K:{"0":1.53176,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00733},O:{"0":1.61238},H:{"0":0},L:{"0":37.24162},R:{_:"0"},M:{"0":0.08062}}; diff --git a/.pnpm-store/v3/files/07/e0770180d506696277fe4b8a9fd78b89809ee302178d2f61728e710b0a377c3a62d0188d096fdbb3a4c5cc8ebaa170c9cc4080c4f4d5f952b0001ef90b84e4 b/.pnpm-store/v3/files/07/e0770180d506696277fe4b8a9fd78b89809ee302178d2f61728e710b0a377c3a62d0188d096fdbb3a4c5cc8ebaa170c9cc4080c4f4d5f952b0001ef90b84e4 new file mode 100644 index 00000000..da0d7a85 --- /dev/null +++ b/.pnpm-store/v3/files/07/e0770180d506696277fe4b8a9fd78b89809ee302178d2f61728e710b0a377c3a62d0188d096fdbb3a4c5cc8ebaa170c9cc4080c4f4d5f952b0001ef90b84e4 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p lC 2B QC mC 3B","2":"F iC","16":"jC kC"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"1":"9C"},I:{"1":"I H DD RC ED FD","2":"AD BD CD","16":"7B"},J:{"1":"A","2":"D"},K:{"1":"B C u 2B QC 3B","16":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Attributes for form submission",D:true}; diff --git a/.pnpm-store/v3/files/07/f9ee040de96cd2031d6cf2952861365f619edaa9ab3a4b0eea4b59d604fb050b7799c3aa5ad5582b46b73833e3da237c1a16bad95691fc87358c54cefb4957 b/.pnpm-store/v3/files/07/f9ee040de96cd2031d6cf2952861365f619edaa9ab3a4b0eea4b59d604fb050b7799c3aa5ad5582b46b73833e3da237c1a16bad95691fc87358c54cefb4957 new file mode 100644 index 00000000..a1ce415a --- /dev/null +++ b/.pnpm-store/v3/files/07/f9ee040de96cd2031d6cf2952861365f619edaa9ab3a4b0eea4b59d604fb050b7799c3aa5ad5582b46b73833e3da237c1a16bad95691fc87358c54cefb4957 @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","4":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B VC WC","33":"C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},D:{"1":"0 1 2 3 4 5 6 7 8 YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB","322":"MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r iC jC kC lC 2B QC mC 3B","578":"s t BB CB DB EB FB GB HB IB JB KB"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"132":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","33":"TD"}},B:4,C:"CSS3 text-align-last",D:true}; diff --git a/.pnpm-store/v3/files/08/6fb97daf25ca806bfbd8be519192df5430f35bf7dd0943d74b9e707c4dd822c954dfa32e7ab1e291b31af145789ee34a75024f40256e655663a7d4e8d2599b-index.json b/.pnpm-store/v3/files/08/6fb97daf25ca806bfbd8be519192df5430f35bf7dd0943d74b9e707c4dd822c954dfa32e7ab1e291b31af145789ee34a75024f40256e655663a7d4e8d2599b-index.json new file mode 100644 index 00000000..61d07de3 --- /dev/null +++ b/.pnpm-store/v3/files/08/6fb97daf25ca806bfbd8be519192df5430f35bf7dd0943d74b9e707c4dd822c954dfa32e7ab1e291b31af145789ee34a75024f40256e655663a7d4e8d2599b-index.json @@ -0,0 +1 @@ +{"files":{"dist/client/assets/index-b8y7ovCb.css":{"checkedAt":1708001725510,"integrity":"sha512-fzwtFYlNGwlu0GCQSXJcCE2KAI+XyvnO7GREcE6zeUtNt+F7b6SrINS6AkkWnDM1JLcR62Vv1c1A4fNlCRVMkQ==","mode":420,"size":57487},"dist/client/index.html":{"checkedAt":1708001725510,"integrity":"sha512-IrFjGGkQEdOusPV+7DVx+xPfvJa7GC1N3SJdDfuwoHBly5Ert8jTdywwk4F1aUNOy5TDJX7Rjziqc/Tlx/qLFQ==","mode":420,"size":1117},"dist/client/assets/index-0EYobN63.js":{"checkedAt":1708001725512,"integrity":"sha512-tjUtdfRYIXgsaUArz9K+5kRcs5Ph87GjbM0B5wHgvz+1bHCnirFGNjMRb+oUK7bN8MqIWPpV5qT3160dixHJYA==","mode":420,"size":560037},"dist/index.js":{"checkedAt":1708001725512,"integrity":"sha512-0ZBySbtrYMHkkYOTik2TzhqTlIyby6kiFW+Gw/sv7Rsa8sCuNa/s8908ZwT7ihN16iCePNj/0BFYixa0Rg2/Qg==","mode":420,"size":1948},"dist/reporter.js":{"checkedAt":1708001725512,"integrity":"sha512-zqLFm8KLRexpqtAkqOaAyYL/zRZHwhy4brlQV41v7/75nmQTaur5MIbc0O/bee3QT4HJV2R7lb8MuOLzSOHIig==","mode":420,"size":3646},"README.md":{"checkedAt":1708001725512,"integrity":"sha512-8WjhO4sa/c0nXx8mO48IesaNscL+0FX1SugziM1wW/8DqLKAx06PFysgUqtPQZG+IgX8hpePQLR9LEIECeZzew==","mode":420,"size":243},"dist/client/bg.png":{"checkedAt":1708001725513,"integrity":"sha512-HQP0pEo8IiHLlIvoJ7KyKQ8K12gthWLhmwpsG8v+2Ie66Hr05f7IztFKkDMEJFWXrOQzmCvT/E1SQd3gkrCp4Q==","mode":420,"size":190939},"dist/client/favicon.svg":{"checkedAt":1708001725513,"integrity":"sha512-P64yrdjg4vrBXJ8y3lfQKKPCJLW73iKURZI1AQnhLiBit9vP/fUpOsZ8RtZXi3zjCOvUBaAbWc+RyEBZdjviqQ==","mode":420,"size":2381},"dist/index.d.ts":{"checkedAt":1708001725513,"integrity":"sha512-Al/i/bMUDmuucOXc4UY+YJsCBCVAO66RCtSGbF/YC/wEZqu8BwXSKlJyadbNLo1DdmGOpU0bwiK2ujBCS5ed8A==","mode":420,"size":147},"reporter.d.ts":{"checkedAt":1708001725513,"integrity":"sha512-lWXt5m1+40tyIXCOIxd5g7jSevyD1pQbALacYo+4D6Xe01EVxzAfHFKWrfy4vfkVw6M+MPb8TGT2Xof1i6VUHQ==","mode":420,"size":97},"shim.d.ts":{"checkedAt":1708001725513,"integrity":"sha512-49QTUhpZbqCGyl9i33GE2/KGKRE9snCmWEIQ6ONDK8oUNVjAbaHBnazDzuUzHSuFiJig1YFRvNISZVj7XrYiDw==","mode":420,"size":134},"LICENSE":{"checkedAt":1708001725513,"integrity":"sha512-UVFpfPJvKX+pFZi9kICLGeKXa7aMp5oeTmTQJBxCYHGrecls8D80KYY+DoSbK71Xw3IjeSGb/B31WXPYaplODw==","mode":420,"size":1177},"package.json":{"checkedAt":1708001725513,"integrity":"sha512-4PeSGfOFwx/76BqhGk1v6KZxtREYxSutwf2xb0G3G4zvGFR41taNnuiMVjdtjHmDRWO1B/vUUKZ9IznmlYIQjw==","mode":420,"size":2435}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/08/8b49026daa42e66f6b5a9f61d76e053492e21cdb561e52b6197024e79f663bc767069161ee7e2d5aa336395addc281a9b6fa1607897ec93de5c6a209f54fb0 b/.pnpm-store/v3/files/08/8b49026daa42e66f6b5a9f61d76e053492e21cdb561e52b6197024e79f663bc767069161ee7e2d5aa336395addc281a9b6fa1607897ec93de5c6a209f54fb0 new file mode 100644 index 00000000..b3abcbad --- /dev/null +++ b/.pnpm-store/v3/files/08/8b49026daa42e66f6b5a9f61d76e053492e21cdb561e52b6197024e79f663bc767069161ee7e2d5aa336395addc281a9b6fa1607897ec93de5c6a209f54fb0 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","132":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB VC WC","132":"0 1 2 3 4 5 6 7 8 LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N","132":"0 1 2 3 4 5 6 7 8 O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I XC DC YC","132":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","132":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"DC nC RC oC pC qC","132":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC","132":"H ED FD"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","132":"u"},L:{"132":"H"},M:{"132":"1B"},N:{"132":"A B"},O:{"132":"4B"},P:{"2":"I GD","132":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"132":"FC"},R:{"132":"SD"},S:{"132":"TD UD"}},B:2,C:"Media Fragments",D:true}; diff --git a/.pnpm-store/v3/files/08/ba34b01ecf1f6b9eddd8c3a3212390752af8f987b3ca1ad83d9f752ab4d879ddca53e29ad959a8e0e4df63c21e7ea3e6405e42266a920bed40d7e42b4accfe b/.pnpm-store/v3/files/08/ba34b01ecf1f6b9eddd8c3a3212390752af8f987b3ca1ad83d9f752ab4d879ddca53e29ad959a8e0e4df63c21e7ea3e6405e42266a920bed40d7e42b4accfe new file mode 100644 index 00000000..b66b5305 --- /dev/null +++ b/.pnpm-store/v3/files/08/ba34b01ecf1f6b9eddd8c3a3212390752af8f987b3ca1ad83d9f752ab4d879ddca53e29ad959a8e0e4df63c21e7ea3e6405e42266a920bed40d7e42b4accfe @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB VC WC","578":"LB MB NB OB"},D:{"1":"0 1 2 3 4 5 6 7 8 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB","194":"OB"},E:{"1":"A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC"},F:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t iC jC kC lC 2B QC mC 3B","322":"BB"},G:{"1":"tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Picture element",D:true}; diff --git a/.pnpm-store/v3/files/09/667c5e24a29be7c9546d1c14b4adc03bdfb75548eeebd7742349617843be8c22bfe0ec6c3d675cb890e33ac4e5406f8f90d6649f77730374357e4f32caf53f-index.json b/.pnpm-store/v3/files/09/667c5e24a29be7c9546d1c14b4adc03bdfb75548eeebd7742349617843be8c22bfe0ec6c3d675cb890e33ac4e5406f8f90d6649f77730374357e4f32caf53f-index.json new file mode 100644 index 00000000..86af8486 --- /dev/null +++ b/.pnpm-store/v3/files/09/667c5e24a29be7c9546d1c14b4adc03bdfb75548eeebd7742349617843be8c22bfe0ec6c3d675cb890e33ac4e5406f8f90d6649f77730374357e4f32caf53f-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001725503,"integrity":"sha512-iTEoLqOm8UsId+3ennMsAjWuaKZ+mNW59rFALEgHBQLaK7lq9ha9JwKgqsYebiSmPOf3R+PSIFD/mlMmVUiThw==","mode":438,"size":1072},"README.md":{"checkedAt":1708001725503,"integrity":"sha512-AMwKCng7AUc97Iu9AoZ2KnocaiNE2MWxcrhwT2D/FpjY2leBsBUoQWAy1T1HXUtzsnAvCCXvQ/MBs9HqoLs+Dw==","mode":438,"size":3255},"package.json":{"checkedAt":1708001725503,"integrity":"sha512-1eL1XxZerX+wMsxRRtpciFLQx8iFsQg7to0i34pgh+g7LZmgY0ztUd4MqXgIQojtY1wCdfhLfo0PeBpLdcNOdA==","mode":438,"size":1501},"dist/config.d.ts":{"checkedAt":1708001725503,"integrity":"sha512-/G1Y2mwZbdoMHkMfClYDvS2V5VBkvC+A40l+/3L7hdGjtVR23VA0TcEXwjtaUrSAcfDC3Ef51WwzMSVfdDyZSA==","mode":438,"size":589},"dist/config.js":{"checkedAt":1708001725504,"integrity":"sha512-X2tJ6QfeyfGbgAwabL+X/4ExAJQ93wjqRs8p3SBT9CCHQJLgFB4mwS0l+TlTBA4BEWDS9A1GgQgey+/CHqRL4Q==","mode":438,"size":322},"dist/index.d.ts":{"checkedAt":1708001725504,"integrity":"sha512-ON6jsKOHEAjb93GiBsdfQ2tgLCK0DwaI3AnEWbm8ll2Q4hzQnlVVhqORVWVR4LfMSiPqrOBmYbIcH88eGeUzBw==","mode":438,"size":501},"dist/index.js":{"checkedAt":1708001725504,"integrity":"sha512-VXMFuymfp2of6arD+pgvk0WrBKapMnWSJFUN6fobTlMkxZdm8wy8kqF7CN6XpEdUfH6LtBoJjpWbc00PY5LN/g==","mode":438,"size":11958},"dist/logger.d.ts":{"checkedAt":1708001725504,"integrity":"sha512-+OzCwCKRRMYpVawYkzPHCZl7m7fg74XaFgHmIx6yBF6cMeZYIpU+16GdsmUV9oDuP1mTqJRYPqPhj87FmKNf8g==","mode":438,"size":709},"dist/logger.js":{"checkedAt":1708001725504,"integrity":"sha512-0s38Pa1btp5i3ShoFT/L2hwiXC0k7Ml0U+mgXD6wYZUlkjisR5ULeUaqsXk4anVn7LgiXC9Y8Nmvbo1r4kCR4w==","mode":438,"size":5247},"dist/sassTextLine.d.ts":{"checkedAt":1708001725504,"integrity":"sha512-Nl7O2l7Xf5Tl2tAgK/sTG8vtgLrrocavRyU1qFpFevQaUbdXrUgsVpYU21Ph2XmlFpXepORj4PqjFPucbD543g==","mode":438,"size":252},"dist/sassTextLine.js":{"checkedAt":1708001725504,"integrity":"sha512-27/9Wlo6NsIeApRECJ42OrZ+TKKSgW4FPu2jeHJ+GdmeHFCgSTJ8WhsP/SOblB2fMC/gdq8f20U4byCsGO/I8Q==","mode":438,"size":622},"dist/state.d.ts":{"checkedAt":1708001725504,"integrity":"sha512-NBXjUwAcLTMpfn4lgfTGqX+TYq0qsKsZSs63zMNRaTUPRheNudwjpHWzcr+9UI07MypyFnU51utObhYEjNmnfg==","mode":438,"size":2937},"dist/state.js":{"checkedAt":1708001725504,"integrity":"sha512-CNzzh9iZmmhXbBJ+y1dtQsvewZ0P6UcVpgjkzwdkgcVOhoRUjH9qcF/OHjWp4rJqkA38X4qyvaqRkbJ4qIhxPA==","mode":438,"size":2186},"dist/utility.d.ts":{"checkedAt":1708001725504,"integrity":"sha512-4g6YNW7C/fmgN0KWaVES8aa73S+yteCJKJrcT07aUBqDOLyNwgIQG1vLCvln8KoEhFaLGhHvvjjslaAFPAy5mQ==","mode":438,"size":1102},"dist/utility.js":{"checkedAt":1708001725504,"integrity":"sha512-KPKMUiWUnFtzUe8PE5CyB8QbLqK3tWxGtipwforaxtwVW8eolmS0VDAU9MNLGNhWZWonunY6v14IH/jxHlCI9g==","mode":438,"size":2981},"dist/formatters/format.atForwardOrAtUse.d.ts":{"checkedAt":1708001725505,"integrity":"sha512-ag9YMKSE+6V2QIwF3Gpn+DIUTN8PARZa+NvvZbJ04M0QfnTbA+fNsjEjg8nmMtgbCMt2BptOuDCs93X40V2cqw==","mode":438,"size":195},"dist/formatters/format.atForwardOrAtUse.js":{"checkedAt":1708001725505,"integrity":"sha512-qhsXpkCIGeVzoUuvjSR5/KjFCjPgtrkVzfKYQ9+m84j6JafC3+nGSTkFdaD5zUtoYVe5i6f/8NrhPqlByMpwzA==","mode":438,"size":796},"dist/formatters/format.blockComment.d.ts":{"checkedAt":1708001725505,"integrity":"sha512-knQp9MpRgaYUzvTUhH8owax4MpIC8LBj8MdViDjJu1LJXeDVrsHzbYoA5kNNrohUExma0sS0Waa8Y2Oq77NjFw==","mode":438,"size":142},"dist/formatters/format.blockComment.js":{"checkedAt":1708001725505,"integrity":"sha512-iAb8Qsx5myemfHRtM3hmEOdB0ZCpD852FFuaXNLEzVszCGASPAJyKQnN09+AplG68ZnVXxFhPSERtc2WEkvWag==","mode":438,"size":507},"dist/formatters/format.convert.d.ts":{"checkedAt":1708001725505,"integrity":"sha512-Nmwob1ECywjlFLHiM6DnsXG6NA5bvI817Q7Tzs7Wp0qfMvm3lmzu2QwcHUkyTYu1EwK2tvt2UTWS6B3M1sJzDA==","mode":438,"size":213},"dist/formatters/format.convert.js":{"checkedAt":1708001725505,"integrity":"sha512-RSQQ1UZzSH8enOcIvBqmRKuFLa8VLlqGwAnB/NJKHV/Uq/cG0dKoNNZ9IIG05hiH3d+k/ilbLLxmUm3gvpexWw==","mode":438,"size":3891},"dist/formatters/format.header.d.ts":{"checkedAt":1708001725505,"integrity":"sha512-m+diDTVDqALv4FJ7avvqEJlqrb56g9P2Ipy37RECpRSJTk9ix/lEYCRSMSerqiN5LE5y8Mcsr2iHWB1NrsnhGw==","mode":438,"size":190},"dist/formatters/format.header.js":{"checkedAt":1708001725505,"integrity":"sha512-yLaIadtPvn2HzBRzue6RSpPm/emIuDgElMUOgiolkCrqMx8n/bq97wz7BW8/z9eNn4aLVQTYP6z0TUSEiZFZeg==","mode":438,"size":4618},"dist/formatters/format.property.d.ts":{"checkedAt":1708001725505,"integrity":"sha512-5hxf7ZlvMdkjh7o9dR03Uw7Adu/FgoSBEQ2exxz0nnMWZ5PWmwLbKdvlyZEegkbSpIUptDzBzMdRA3HbRcsxCg==","mode":438,"size":282},"dist/formatters/format.property.js":{"checkedAt":1708001725505,"integrity":"sha512-N3iywOYCQ1htPU1CQypU1fKBW335/NeWAb3yvxqiovzkuHS1QKkkird4UVGOChGvNe5QceXtWJ4z7Z41G+qbjw==","mode":438,"size":4675},"dist/regex/regex.d.ts":{"checkedAt":1708001725505,"integrity":"sha512-dBSGcbsfVEdgTTg9faxTP7kgI8guIc849Je588gDM9j3COCxtR1BT8PnAW+ud//RNx6my1G/Ga/lQfKd5A5MQA==","mode":438,"size":3838},"dist/regex/regex.js":{"checkedAt":1708001725506,"integrity":"sha512-dB2iscYBXgJK1SdTCLuB5RvJ0yNTA3xcudAH7WaZdnORliEx3VYvlFw6GWVAG8O6qjFsiVXVjMz9tV0cUUUeCg==","mode":438,"size":8069}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/09/775eb525d3f7bcb991a60a667ab2f3629d6c7aa7b395d5e15563d339a832b44cc7769ac25e481270764e0c056b0520273e8abefe70b8a7a783037d2a42d6e8 b/.pnpm-store/v3/files/09/775eb525d3f7bcb991a60a667ab2f3629d6c7aa7b395d5e15563d339a832b44cc7769ac25e481270764e0c056b0520273e8abefe70b8a7a783037d2a42d6e8 new file mode 100644 index 00000000..22e30421 --- /dev/null +++ b/.pnpm-store/v3/files/09/775eb525d3f7bcb991a60a667ab2f3629d6c7aa7b395d5e15563d339a832b44cc7769ac25e481270764e0c056b0520273e8abefe70b8a7a783037d2a42d6e8 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB"},E:{"2":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B","194":"K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:4,C:"CSS Painting API",D:true}; diff --git a/.pnpm-store/v3/files/09/80a78406f0721b3024316e0e06fdc5f43826d8b9bd7e7be9c0254057e23297c28dcf174686be2e9ec9c9cc3de1d72dc1ab57d0fd36011e32532c1b05e7eeac b/.pnpm-store/v3/files/09/80a78406f0721b3024316e0e06fdc5f43826d8b9bd7e7be9c0254057e23297c28dcf174686be2e9ec9c9cc3de1d72dc1ab57d0fd36011e32532c1b05e7eeac new file mode 100644 index 00000000..6a9bca6f --- /dev/null +++ b/.pnpm-store/v3/files/09/80a78406f0721b3024316e0e06fdc5f43826d8b9bd7e7be9c0254057e23297c28dcf174686be2e9ec9c9cc3de1d72dc1ab57d0fd36011e32532c1b05e7eeac @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","194":"fB gB hB iB jB 8B kB 9B lB mB"},E:{"1":"L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B 3B","66":"K"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB iC jC kC lC 2B QC mC 3B","194":"SB TB UB VB WB XB YB ZB aB bB cB"},G:{"1":"3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:5,C:"Resize Observer",D:true}; diff --git a/.pnpm-store/v3/files/09/e24e1f78402f13a207e7c5176a29576b7aab7870350f8b3f8810f434df8fa5d7ffb9c7bbcbcf69b023c82d72b56d2c64bbfec0cb41c82ede1744878c5351e2 b/.pnpm-store/v3/files/09/e24e1f78402f13a207e7c5176a29576b7aab7870350f8b3f8810f434df8fa5d7ffb9c7bbcbcf69b023c82d72b56d2c64bbfec0cb41c82ede1744878c5351e2 new file mode 100644 index 00000000..73eb6756 --- /dev/null +++ b/.pnpm-store/v3/files/09/e24e1f78402f13a207e7c5176a29576b7aab7870350f8b3f8810f434df8fa5d7ffb9c7bbcbcf69b023c82d72b56d2c64bbfec0cb41c82ede1744878c5351e2 @@ -0,0 +1 @@ +module.exports={C:{"43":0.00276,"45":0.00552,"54":0.00276,"56":0.01655,"64":0.00276,"72":0.00276,"78":0.00276,"79":0.00276,"80":0.00276,"82":0.00828,"86":0.00276,"89":0.00276,"102":0.00828,"104":0.00276,"107":0.00276,"111":0.00552,"113":0.00552,"115":0.17934,"116":0.00552,"117":0.00276,"119":0.02207,"120":0.01931,"121":1.27742,"122":0.17934,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 49 50 51 52 53 55 57 58 59 60 61 62 63 65 66 67 68 69 70 71 73 74 75 76 77 81 83 84 85 87 88 90 91 92 93 94 95 96 97 98 99 100 101 103 105 106 108 109 110 112 114 118 123 124 125 3.5 3.6"},D:{"43":0.00828,"50":0.00828,"62":0.00276,"64":0.10484,"65":0.01931,"67":0.00276,"70":0.00552,"72":0.01931,"73":0.08277,"74":0.00276,"76":0.00276,"77":0.00552,"79":0.04139,"80":0.00276,"81":0.0138,"83":0.03311,"86":0.00552,"87":0.00276,"88":0.00276,"90":0.00276,"93":0.00276,"94":0.00276,"95":0.00276,"97":0.00276,"100":0.00276,"102":0.00552,"103":0.41385,"104":0.04139,"105":0.00828,"106":0.02207,"107":0.00276,"108":0.00276,"109":1.63609,"110":0.01931,"111":0.03863,"112":0.01931,"113":0.0138,"114":0.00828,"115":0.01104,"116":0.09657,"117":0.01104,"118":0.03587,"119":0.15726,"120":9.11022,"121":1.16706,"122":0.02483,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 51 52 53 54 55 56 57 58 59 60 61 63 66 68 69 71 75 78 84 85 89 91 92 96 98 99 101 123 124"},F:{"78":0.00276,"79":0.00276,"80":0.00828,"81":0.00276,"86":0.00276,"90":0.00276,"95":0.02759,"97":0.00276,"99":0.00276,"102":0.00552,"103":0.00276,"104":0.00552,"105":0.15175,"106":2.44447,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 82 83 84 85 87 88 89 91 92 93 94 96 98 100 101 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.02207,"13":0.00276,"14":0.00828,"15":0.00276,"16":0.00276,"17":0.02483,"18":0.05242,"84":0.00828,"89":0.0138,"90":0.00276,"92":0.10208,"100":0.00828,"104":0.00276,"107":0.00276,"109":0.11864,"110":0.01104,"113":0.00276,"114":0.01104,"115":0.01931,"116":0.02483,"117":0.0138,"118":0.03311,"119":0.1076,"120":2.93834,"121":0.62905,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 105 106 108 111 112"},E:{"14":0.00552,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 15.5 16.0 16.3 16.5 17.0 17.4","5.1":0.11588,"12.1":0.01655,"13.1":0.48007,"14.1":0.02207,"15.4":0.00276,"15.6":0.0138,"16.1":0.00552,"16.2":0.00828,"16.4":0.00828,"16.6":0.00552,"17.1":0.00828,"17.2":0.00552,"17.3":0.00276},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00041,"5.0-5.1":0.00061,"6.0-6.1":0.00102,"7.0-7.1":0.00143,"8.1-8.4":0.0002,"9.0-9.2":0.00123,"9.3":0.00471,"10.0-10.2":0.00041,"10.3":0.00738,"11.0-11.2":0.00287,"11.3-11.4":0.00307,"12.0-12.1":0.00184,"12.2-12.5":0.03648,"13.0-13.1":0.00061,"13.2":0.00676,"13.3":0.00184,"13.4-13.7":0.0082,"14.0-14.4":0.01435,"14.5-14.8":0.02193,"15.0-15.1":0.00943,"15.2-15.3":0.01086,"15.4":0.01271,"15.5":0.01681,"15.6-15.8":0.13096,"16.0":0.03935,"16.1":0.08382,"16.2":0.03812,"16.3":0.07091,"16.4":0.01578,"16.5":0.03361,"16.6-16.7":0.27504,"17.0":0.0457,"17.1":0.47118,"17.2":0.6378,"17.3":0.04099},P:{"4":0.10491,"21":0.01049,"22":0.03147,"23":0.58748,_:"20 8.2 10.1 12.0 13.0 14.0 15.0 18.0","5.0-5.4":0.09442,"6.2-6.4":0.03147,"7.2-7.4":0.10491,"9.2":0.02098,"11.1-11.2":0.03147,"16.0":0.02098,"17.0":0.03147,"19.0":0.05245},I:{"0":0.06489,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00017},A:{"11":0.02207,_:"6 7 8 9 10 5.5"},K:{"0":4.88141,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.15208,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.15932},H:{"0":3.57},L:{"0":65.02721},R:{_:"0"},M:{"0":0.05069}}; diff --git a/.pnpm-store/v3/files/0a/0d7b878dba6c3a941eaba483a4626752047d6737f6b8960111a90a7c087b9aa3de8d06ebe5f07571822511b7b8b030a02014022b4598893d4c438fba1e8cd9 b/.pnpm-store/v3/files/0a/0d7b878dba6c3a941eaba483a4626752047d6737f6b8960111a90a7c087b9aa3de8d06ebe5f07571822511b7b8b030a02014022b4598893d4c438fba1e8cd9 new file mode 100644 index 00000000..ac4ed6e9 --- /dev/null +++ b/.pnpm-store/v3/files/0a/0d7b878dba6c3a941eaba483a4626752047d6737f6b8960111a90a7c087b9aa3de8d06ebe5f07571822511b7b8b030a02014022b4598893d4c438fba1e8cd9 @@ -0,0 +1,7 @@ +export type Callback = import('./lib/index.js').Callback; +export type Middleware = import('./lib/index.js').Middleware; +export type Pipeline = import('./lib/index.js').Pipeline; +export type Run = import('./lib/index.js').Run; +export type Use = import('./lib/index.js').Use; +export { trough, wrap } from "./lib/index.js"; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.pnpm-store/v3/files/0a/365000f99d6223abb27e7b566a7f3e90c0313089233ece7eda8939058982136f54db701da8dabf5b079cfce080498a51dfd45a87850cf9f44277ef78c89c3b b/.pnpm-store/v3/files/0a/365000f99d6223abb27e7b566a7f3e90c0313089233ece7eda8939058982136f54db701da8dabf5b079cfce080498a51dfd45a87850cf9f44277ef78c89c3b new file mode 100644 index 00000000..43101dc2 --- /dev/null +++ b/.pnpm-store/v3/files/0a/365000f99d6223abb27e7b566a7f3e90c0313089233ece7eda8939058982136f54db701da8dabf5b079cfce080498a51dfd45a87850cf9f44277ef78c89c3b @@ -0,0 +1 @@ +module.exports={C:{"86":0.00326,"101":0.00326,"103":0.00326,"105":0.00326,"110":0.00653,"112":0.01632,"113":0.00653,"114":0.00653,"115":0.04242,"116":0.01632,"117":0.00979,"119":0.00979,"120":0.01958,"121":0.69828,"122":0.11421,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 104 106 107 108 109 111 118 123 124 125 3.5 3.6"},D:{"11":0.01958,"30":0.00653,"34":0.00326,"43":0.00979,"62":0.00326,"65":0.00326,"67":0.01632,"68":0.00326,"69":0.01632,"70":0.02937,"71":0.00653,"74":0.00653,"77":0.00653,"78":0.02937,"79":0.01632,"80":0.00653,"81":0.02284,"83":0.01632,"84":0.00326,"86":0.00653,"87":0.00653,"88":0.11747,"89":0.00326,"90":0.02937,"91":0.02284,"92":0.00326,"93":0.00653,"94":0.0261,"95":0.00326,"96":0.00653,"97":0.00326,"98":0.01632,"99":0.03589,"100":0.00979,"101":0.00326,"102":0.03916,"103":0.21536,"104":0.01632,"105":0.10768,"106":0.01632,"107":0.01305,"108":0.00979,"109":1.10942,"110":0.00326,"111":0.03916,"112":0.05221,"113":0.02284,"114":0.05873,"115":0.01958,"116":0.07179,"117":0.07179,"118":0.05547,"119":0.17294,"120":7.63868,"121":0.48945,"122":0.00326,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 63 64 66 72 73 75 76 85 123 124"},F:{"68":0.00326,"79":0.01305,"80":0.01305,"92":0.01958,"94":0.00326,"95":0.04242,"102":0.00326,"103":0.00979,"105":0.13378,"106":0.56776,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 81 82 83 84 85 86 87 88 89 90 91 93 96 97 98 99 100 101 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.03263,"13":0.00979,"14":0.00326,"15":0.00653,"16":0.03263,"17":0.00979,"18":0.04895,"80":0.00979,"81":0.00326,"84":0.06526,"85":0.00326,"88":0.00326,"89":0.0261,"90":0.02284,"92":0.07831,"96":0.00326,"100":0.03589,"105":0.00326,"107":0.02284,"108":0.00979,"109":0.06526,"110":0.01632,"111":0.0261,"112":0.01305,"113":0.01305,"114":0.02284,"115":0.02284,"116":0.01958,"117":0.04568,"118":0.06526,"119":0.22188,"120":3.6513,"121":0.43072,_:"79 83 86 87 91 93 94 95 97 98 99 101 102 103 104 106"},E:{"13":0.02937,_:"0 4 5 6 7 8 9 10 11 12 14 15 3.1 3.2 5.1 6.1 7.1 9.1 11.1 12.1 15.4 17.4","10.1":0.00326,"13.1":0.00979,"14.1":0.01958,"15.1":0.00326,"15.2-15.3":0.00653,"15.5":0.00979,"15.6":0.09463,"16.0":0.00653,"16.1":0.02284,"16.2":0.00326,"16.3":0.01305,"16.4":0.01958,"16.5":0.01632,"16.6":0.04568,"17.0":0.00653,"17.1":0.03916,"17.2":0.04568,"17.3":0.00653},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00041,"5.0-5.1":0.00062,"6.0-6.1":0.00103,"7.0-7.1":0.00145,"8.1-8.4":0.00021,"9.0-9.2":0.00124,"9.3":0.00476,"10.0-10.2":0.00041,"10.3":0.00745,"11.0-11.2":0.0029,"11.3-11.4":0.0031,"12.0-12.1":0.00186,"12.2-12.5":0.03682,"13.0-13.1":0.00062,"13.2":0.00683,"13.3":0.00186,"13.4-13.7":0.00827,"14.0-14.4":0.01448,"14.5-14.8":0.02213,"15.0-15.1":0.00951,"15.2-15.3":0.01096,"15.4":0.01282,"15.5":0.01696,"15.6-15.8":0.13216,"16.0":0.03971,"16.1":0.08459,"16.2":0.03847,"16.3":0.07156,"16.4":0.01593,"16.5":0.03392,"16.6-16.7":0.27756,"17.0":0.04612,"17.1":0.47549,"17.2":0.64364,"17.3":0.04137},P:{"4":0.04134,"20":0.08269,"21":0.49614,"22":0.54782,"23":1.7985,_:"5.0-5.4 6.2-6.4 8.2 10.1","7.2-7.4":0.1137,"9.2":0.03101,"11.1-11.2":0.02067,"12.0":0.02067,"13.0":0.10336,"14.0":0.02067,"15.0":0.03101,"16.0":0.12403,"17.0":0.03101,"18.0":0.04134,"19.0":0.26874},I:{"0":0.10732,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00008,"4.4":0,"4.4.3-4.4.4":0.00028},A:{"10":0.00979,"11":0.0881,_:"6 7 8 9 5.5"},K:{"0":1.35498,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.03369,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.02021},O:{"0":1.24635},H:{"0":0.08},L:{"0":72.55373},R:{_:"0"},M:{"0":0.10779}}; diff --git a/.pnpm-store/v3/files/0a/3dc3f0f6a49a54365e7855d4074eb1492dcf0a18d594acfc583618acc3cb1de4875af1adacb43f44e2a43efee0c056295c510313a944db21d06239eddd0c4b b/.pnpm-store/v3/files/0a/3dc3f0f6a49a54365e7855d4074eb1492dcf0a18d594acfc583618acc3cb1de4875af1adacb43f44e2a43efee0c056295c510313a944db21d06239eddd0c4b new file mode 100644 index 00000000..d974bc30 --- /dev/null +++ b/.pnpm-store/v3/files/0a/3dc3f0f6a49a54365e7855d4074eb1492dcf0a18d594acfc583618acc3cb1de4875af1adacb43f44e2a43efee0c056295c510313a944db21d06239eddd0c4b @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"uBACa,OAAO,gBAAgB,EAAE,QAAQ;yBACjC,OAAO,gBAAgB,EAAE,UAAU;uBACnC,OAAO,gBAAgB,EAAE,QAAQ;kBACjC,OAAO,gBAAgB,EAAE,GAAG;kBAC5B,OAAO,gBAAgB,EAAE,GAAG"} \ No newline at end of file diff --git a/.pnpm-store/v3/files/0a/4e996b700803825ca56c2929cfd0b2f08f3575cd0dc3ff2762e8e051c831260eeb08c437d46f61e61f8f011a4f8d38572a8f994d8f1a9cb63389b6e85b2adc b/.pnpm-store/v3/files/0a/4e996b700803825ca56c2929cfd0b2f08f3575cd0dc3ff2762e8e051c831260eeb08c437d46f61e61f8f011a4f8d38572a8f994d8f1a9cb63389b6e85b2adc new file mode 100644 index 00000000..54786981 --- /dev/null +++ b/.pnpm-store/v3/files/0a/4e996b700803825ca56c2929cfd0b2f08f3575cd0dc3ff2762e8e051c831260eeb08c437d46f61e61f8f011a4f8d38572a8f994d8f1a9cb63389b6e85b2adc @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC"},F:{"1":"N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B G M iC jC kC lC 2B QC mC","16":"C"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"2":"D A"},K:{"1":"u 3B","2":"A B 2B QC","16":"C"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"KeyboardEvent.getModifierState()",D:true}; diff --git a/.pnpm-store/v3/files/0a/568a45b391cd294bab07025afa84993ffd45a0afd08718212367c54fc98ccc515f4d1f60024aef9837178ffef89250b15c608b9919125607529ceecd666b1f b/.pnpm-store/v3/files/0a/568a45b391cd294bab07025afa84993ffd45a0afd08718212367c54fc98ccc515f4d1f60024aef9837178ffef89250b15c608b9919125607529ceecd666b1f new file mode 100644 index 00000000..dc3322df --- /dev/null +++ b/.pnpm-store/v3/files/0a/568a45b391cd294bab07025afa84993ffd45a0afd08718212367c54fc98ccc515f4d1f60024aef9837178ffef89250b15c608b9919125607529ceecd666b1f @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB VC WC","132":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a"},D:{"1":"0 1 2 3 4 5 6 7 8 hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB","260":"eB fB gB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC","16":"F","132":"A bC EC"},F:{"1":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB iC jC kC lC 2B QC mC 3B"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC","132":"sC tC uC vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"132":"TD UD"}},B:5,C:"system-ui value for font-family",D:true}; diff --git a/.pnpm-store/v3/files/0a/5dc9f55d49a79300e179bb16973570589411d186a6c0756dc60e4a0fb200987d40f8bd3c10a6858e8fbfd670faa798f044bb460d98a4bb030f3a4d847f1cc9 b/.pnpm-store/v3/files/0a/5dc9f55d49a79300e179bb16973570589411d186a6c0756dc60e4a0fb200987d40f8bd3c10a6858e8fbfd670faa798f044bb460d98a4bb030f3a4d847f1cc9 new file mode 100644 index 00000000..1bc6894f --- /dev/null +++ b/.pnpm-store/v3/files/0a/5dc9f55d49a79300e179bb16973570589411d186a6c0756dc60e4a0fb200987d40f8bd3c10a6858e8fbfd670faa798f044bb460d98a4bb030f3a4d847f1cc9 @@ -0,0 +1 @@ +module.exports={C:{"52":0.01738,"78":0.00434,"88":0.01303,"104":0.02172,"108":0.00434,"115":0.14335,"118":0.00434,"119":13.23617,"120":0.02172,"121":0.87314,"122":0.19114,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 105 106 107 109 110 111 112 113 114 116 117 123 124 125 3.5 3.6"},D:{"38":0.01738,"43":0.00434,"44":0.00434,"46":0.00434,"49":0.00434,"51":0.00434,"56":0.04344,"57":0.01303,"69":0.00434,"78":0.00434,"79":0.04344,"80":0.00434,"81":0.00434,"83":0.00869,"85":0.00434,"86":0.00434,"87":0.28236,"88":0.00434,"89":0.00434,"91":0.02172,"93":0.16073,"94":0.00869,"95":0.01738,"98":0.03041,"99":0.00869,"100":0.00434,"101":0.00434,"102":0.00434,"103":0.0391,"104":0.00434,"105":0.08254,"106":0.00869,"107":0.01738,"108":0.03041,"109":2.05471,"110":0.00869,"111":0.01738,"112":0.02606,"113":0.05213,"114":0.01738,"115":0.00434,"116":0.1086,"117":0.03041,"118":0.21286,"119":0.19114,"120":16.25959,"121":1.15985,"122":0.00869,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 45 47 48 50 52 53 54 55 58 59 60 61 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 84 90 92 96 97 123 124"},F:{"28":0.00434,"46":0.00869,"95":0.01738,"104":0.00434,"105":0.46915,"106":0.3649,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"13":0.00434,"18":0.00434,"92":0.00434,"108":0.01303,"109":0.02172,"110":0.00434,"114":0.00434,"115":0.00434,"116":0.00434,"117":0.00434,"118":0.00434,"119":0.03041,"120":3.46651,"121":0.49956,_:"12 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 111 112 113"},E:{"9":0.00434,"10":0.01303,"14":0.03475,"15":0.00434,_:"0 4 5 6 7 8 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 17.4","5.1":0.00434,"12.1":0.00434,"13.1":0.19982,"14.1":0.05647,"15.1":0.07819,"15.2-15.3":0.00869,"15.4":0.00869,"15.5":0.01303,"15.6":0.11729,"16.0":0.02172,"16.1":0.02172,"16.2":0.01738,"16.3":0.05213,"16.4":0.01738,"16.5":0.03041,"16.6":0.20851,"17.0":0.04778,"17.1":0.31711,"17.2":0.49522,"17.3":0.02606},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00188,"5.0-5.1":0.00282,"6.0-6.1":0.0047,"7.0-7.1":0.00658,"8.1-8.4":0.00094,"9.0-9.2":0.00564,"9.3":0.02161,"10.0-10.2":0.00188,"10.3":0.03382,"11.0-11.2":0.01315,"11.3-11.4":0.01409,"12.0-12.1":0.00846,"12.2-12.5":0.16722,"13.0-13.1":0.00282,"13.2":0.031,"13.3":0.00846,"13.4-13.7":0.03758,"14.0-14.4":0.06576,"14.5-14.8":0.10052,"15.0-15.1":0.04322,"15.2-15.3":0.04979,"15.4":0.05825,"15.5":0.07704,"15.6-15.8":0.60032,"16.0":0.18038,"16.1":0.38424,"16.2":0.17474,"16.3":0.32505,"16.4":0.07234,"16.5":0.15407,"16.6-16.7":1.26076,"17.0":0.2095,"17.1":2.15982,"17.2":2.9236,"17.3":0.18789},P:{"4":0.08265,"20":0.04133,"21":0.05166,"22":0.12398,"23":3.8329,_:"5.0-5.4 8.2 10.1 12.0 15.0","6.2-6.4":0.01033,"7.2-7.4":0.01033,"9.2":0.07232,"11.1-11.2":0.01033,"13.0":0.01033,"14.0":0.01033,"16.0":0.02066,"17.0":0.03099,"18.0":0.01033,"19.0":0.03099},I:{"0":0.05631,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00015},A:{"8":0.03729,"9":0.00466,"10":0.00466,"11":0.14452,_:"6 7 5.5"},K:{"0":0.46945,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00566,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.01131},O:{"0":0.16402},H:{"0":0},L:{"0":41.58498},R:{_:"0"},M:{"0":0.74659}}; diff --git a/.pnpm-store/v3/files/0a/6223084bcfb2fb0fcf1dd6b784ea8427165481dce232710f52def43cbeac4abeff63080548d2a6f1ee75ae339cd83b8f4ec3707850ef54ee69e052b947fa04 b/.pnpm-store/v3/files/0a/6223084bcfb2fb0fcf1dd6b784ea8427165481dce232710f52def43cbeac4abeff63080548d2a6f1ee75ae339cd83b8f4ec3707850ef54ee69e052b947fa04 new file mode 100644 index 00000000..7280de39 --- /dev/null +++ b/.pnpm-store/v3/files/0a/6223084bcfb2fb0fcf1dd6b784ea8427165481dce232710f52def43cbeac4abeff63080548d2a6f1ee75ae339cd83b8f4ec3707850ef54ee69e052b947fa04 @@ -0,0 +1 @@ +module.exports={C:{"7":0.00402,"30":0.00402,"35":0.00803,"50":0.00402,"52":0.0522,"54":0.00402,"56":0.00803,"60":0.00402,"73":0.04818,"78":0.00402,"88":0.00402,"103":0.00803,"113":0.00402,"115":0.31317,"117":0.00402,"118":0.00803,"119":0.01205,"120":0.01606,"121":0.60225,"122":0.1325,_:"2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 53 55 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 111 112 114 116 123 124 125 3.5 3.6"},D:{"11":0.00803,"41":0.00402,"43":0.00402,"44":0.00402,"46":0.00402,"47":0.01205,"49":0.00803,"51":0.00402,"55":0.00402,"57":0.00803,"60":0.02008,"64":0.00803,"65":0.01205,"66":0.00402,"69":0.00803,"70":0.00402,"71":0.00402,"73":0.01205,"75":0.00402,"76":0.00402,"77":0.00402,"79":0.02008,"80":0.00803,"81":0.00402,"83":0.01205,"84":0.00402,"85":0.00402,"86":0.01205,"87":0.46574,"88":0.00803,"89":0.00803,"90":0.00402,"91":0.40552,"95":0.00402,"96":0.00402,"97":0.00402,"98":0.00402,"99":0.00803,"100":0.00402,"101":0.00402,"102":0.01205,"103":0.01606,"104":0.01205,"105":0.00402,"106":0.00402,"107":0.01606,"108":0.00803,"109":1.5257,"110":0.0522,"111":0.02811,"112":0.01606,"113":0.00803,"114":0.01606,"115":0.01205,"116":0.05621,"117":0.11644,"118":0.02409,"119":19.21178,"120":10.92482,"121":0.86724,"122":0.01205,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 45 48 50 52 53 54 56 58 59 61 62 63 67 68 72 74 78 92 93 94 123 124"},F:{"36":0.00402,"69":0.03614,"95":0.02409,"102":0.00402,"104":0.00402,"105":0.74679,"106":0.42559,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00402,"13":0.00803,"14":0.00803,"15":0.00402,"18":0.00803,"92":0.01205,"100":0.00402,"101":0.02008,"102":0.00402,"109":0.02409,"111":0.00402,"113":0.00803,"114":0.00402,"116":0.00402,"117":0.00402,"118":0.00402,"119":0.03614,"120":1.87099,"121":0.26499,_:"16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 103 104 105 106 107 108 110 112 115"},E:{"9":0.00803,"13":0.02008,_:"0 4 5 6 7 8 10 11 12 14 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.5 17.4","5.1":0.00402,"13.1":0.01205,"14.1":0.01606,"15.4":0.01606,"15.6":0.02008,"16.0":0.00402,"16.1":0.01205,"16.2":0.00803,"16.3":0.01606,"16.4":0.00402,"16.5":0.00803,"16.6":0.0522,"17.0":0.00803,"17.1":0.0803,"17.2":0.12848,"17.3":0.01606},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00105,"5.0-5.1":0.00157,"6.0-6.1":0.00262,"7.0-7.1":0.00366,"8.1-8.4":0.00052,"9.0-9.2":0.00314,"9.3":0.01203,"10.0-10.2":0.00105,"10.3":0.01883,"11.0-11.2":0.00732,"11.3-11.4":0.00785,"12.0-12.1":0.00471,"12.2-12.5":0.09311,"13.0-13.1":0.00157,"13.2":0.01726,"13.3":0.00471,"13.4-13.7":0.02092,"14.0-14.4":0.03662,"14.5-14.8":0.05597,"15.0-15.1":0.02406,"15.2-15.3":0.02772,"15.4":0.03243,"15.5":0.04289,"15.6-15.8":0.33425,"16.0":0.10043,"16.1":0.21394,"16.2":0.09729,"16.3":0.18099,"16.4":0.04028,"16.5":0.08579,"16.6-16.7":0.70199,"17.0":0.11665,"17.1":1.20258,"17.2":1.62785,"17.3":0.10462},P:{"4":0.1951,"20":0.07188,"21":0.12322,"22":0.15402,"23":2.86484,_:"5.0-5.4 6.2-6.4 8.2 10.1","7.2-7.4":0.39019,"9.2":0.02054,"11.1-11.2":0.05134,"12.0":0.01027,"13.0":0.04107,"14.0":0.02054,"15.0":0.01027,"16.0":0.09241,"17.0":0.09241,"18.0":0.05134,"19.0":0.07188},I:{"0":0.1013,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00026},A:{"7":0.00402,"8":0.01606,"9":0.00803,"10":0.00402,"11":0.04417,_:"6 5.5"},K:{"0":0.30524,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.0419},H:{"0":0},L:{"0":50.27972},R:{_:"0"},M:{"0":0.11372}}; diff --git a/.pnpm-store/v3/files/0a/76361939d7b2f649a4a48f3d85ba6f350e88693dab5959287075895e49f69109e820e9dacd26a99f9dd917a340a9c397889b6f0ef7ed791bb34a5d0e729124 b/.pnpm-store/v3/files/0a/76361939d7b2f649a4a48f3d85ba6f350e88693dab5959287075895e49f69109e820e9dacd26a99f9dd917a340a9c397889b6f0ef7ed791bb34a5d0e729124 new file mode 100644 index 00000000..ded79371 --- /dev/null +++ b/.pnpm-store/v3/files/0a/76361939d7b2f649a4a48f3d85ba6f350e88693dab5959287075895e49f69109e820e9dacd26a99f9dd917a340a9c397889b6f0ef7ed791bb34a5d0e729124 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L","578":"G"},C:{"1":"0 1 2 3 4 5 6 7 8 eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB VC WC","194":"YB ZB aB bB cB","1025":"dB"},D:{"1":"0 1 2 3 4 5 6 7 8 iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","322":"cB dB eB fB gB hB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB iC jC kC lC 2B QC mC 3B","322":"PB QB RB SB TB UB"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","194":"TD"}},B:6,C:"WebAssembly",D:true}; diff --git a/.pnpm-store/v3/files/0a/912cc980a3b5a423b60422891c11b85a1dc4df60cb19584e5563fc2179ffe9a03970975627b8490f991b1382a7d0b74cd0105b70830979d615e01e02a3ca37 b/.pnpm-store/v3/files/0a/912cc980a3b5a423b60422891c11b85a1dc4df60cb19584e5563fc2179ffe9a03970975627b8490f991b1382a7d0b74cd0105b70830979d615e01e02a3ca37 new file mode 100644 index 00000000..a0ace018 --- /dev/null +++ b/.pnpm-store/v3/files/0a/912cc980a3b5a423b60422891c11b85a1dc4df60cb19584e5563fc2179ffe9a03970975627b8490f991b1382a7d0b74cd0105b70830979d615e01e02a3ca37 @@ -0,0 +1,1699 @@ +function Diff() {} +Diff.prototype = { + diff: function diff(oldString, newString) { + var _options$timeout; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = options.callback; + + if (typeof options === 'function') { + callback = options; + options = {}; + } + + this.options = options; + var self = this; + + function done(value) { + if (callback) { + setTimeout(function () { + callback(undefined, value); + }, 0); + return true; + } else { + return value; + } + } // Allow subclasses to massage the input prior to running + + + oldString = this.castInput(oldString); + newString = this.castInput(newString); + oldString = this.removeEmpty(this.tokenize(oldString)); + newString = this.removeEmpty(this.tokenize(newString)); + var newLen = newString.length, + oldLen = oldString.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + + if (options.maxEditLength) { + maxEditLength = Math.min(maxEditLength, options.maxEditLength); + } + + var maxExecutionTime = (_options$timeout = options.timeout) !== null && _options$timeout !== void 0 ? _options$timeout : Infinity; + var abortAfterTimestamp = Date.now() + maxExecutionTime; + var bestPath = [{ + oldPos: -1, + lastComponent: undefined + }]; // Seed editLength = 0, i.e. the content starts with the same values + + var newPos = this.extractCommon(bestPath[0], newString, oldString, 0); + + if (bestPath[0].oldPos + 1 >= oldLen && newPos + 1 >= newLen) { + // Identity per the equality and tokenizer + return done([{ + value: this.join(newString), + count: newString.length + }]); + } // Once we hit the right edge of the edit graph on some diagonal k, we can + // definitely reach the end of the edit graph in no more than k edits, so + // there's no point in considering any moves to diagonal k+1 any more (from + // which we're guaranteed to need at least k+1 more edits). + // Similarly, once we've reached the bottom of the edit graph, there's no + // point considering moves to lower diagonals. + // We record this fact by setting minDiagonalToConsider and + // maxDiagonalToConsider to some finite value once we've hit the edge of + // the edit graph. + // This optimization is not faithful to the original algorithm presented in + // Myers's paper, which instead pointlessly extends D-paths off the end of + // the edit graph - see page 7 of Myers's paper which notes this point + // explicitly and illustrates it with a diagram. This has major performance + // implications for some common scenarios. For instance, to compute a diff + // where the new text simply appends d characters on the end of the + // original text of length n, the true Myers algorithm will take O(n+d^2) + // time while this optimization needs only O(n+d) time. + + + var minDiagonalToConsider = -Infinity, + maxDiagonalToConsider = Infinity; // Main worker method. checks all permutations of a given edit length for acceptance. + + function execEditLength() { + for (var diagonalPath = Math.max(minDiagonalToConsider, -editLength); diagonalPath <= Math.min(maxDiagonalToConsider, editLength); diagonalPath += 2) { + var basePath = void 0; + var removePath = bestPath[diagonalPath - 1], + addPath = bestPath[diagonalPath + 1]; + + if (removePath) { + // No one else is going to attempt to use this value, clear it + bestPath[diagonalPath - 1] = undefined; + } + + var canAdd = false; + + if (addPath) { + // what newPos will be after we do an insertion: + var addPathNewPos = addPath.oldPos - diagonalPath; + canAdd = addPath && 0 <= addPathNewPos && addPathNewPos < newLen; + } + + var canRemove = removePath && removePath.oldPos + 1 < oldLen; + + if (!canAdd && !canRemove) { + // If this path is a terminal then prune + bestPath[diagonalPath] = undefined; + continue; + } // Select the diagonal that we want to branch from. We select the prior + // path whose position in the old string is the farthest from the origin + // and does not pass the bounds of the diff graph + // TODO: Remove the `+ 1` here to make behavior match Myers algorithm + // and prefer to order removals before insertions. + + + if (!canRemove || canAdd && removePath.oldPos + 1 < addPath.oldPos) { + basePath = self.addToPath(addPath, true, undefined, 0); + } else { + basePath = self.addToPath(removePath, undefined, true, 1); + } + + newPos = self.extractCommon(basePath, newString, oldString, diagonalPath); + + if (basePath.oldPos + 1 >= oldLen && newPos + 1 >= newLen) { + // If we have hit the end of both strings, then we are done + return done(buildValues(self, basePath.lastComponent, newString, oldString, self.useLongestToken)); + } else { + bestPath[diagonalPath] = basePath; + + if (basePath.oldPos + 1 >= oldLen) { + maxDiagonalToConsider = Math.min(maxDiagonalToConsider, diagonalPath - 1); + } + + if (newPos + 1 >= newLen) { + minDiagonalToConsider = Math.max(minDiagonalToConsider, diagonalPath + 1); + } + } + } + + editLength++; + } // Performs the length of edit iteration. Is a bit fugly as this has to support the + // sync and async mode which is never fun. Loops over execEditLength until a value + // is produced, or until the edit length exceeds options.maxEditLength (if given), + // in which case it will return undefined. + + + if (callback) { + (function exec() { + setTimeout(function () { + if (editLength > maxEditLength || Date.now() > abortAfterTimestamp) { + return callback(); + } + + if (!execEditLength()) { + exec(); + } + }, 0); + })(); + } else { + while (editLength <= maxEditLength && Date.now() <= abortAfterTimestamp) { + var ret = execEditLength(); + + if (ret) { + return ret; + } + } + } + }, + addToPath: function addToPath(path, added, removed, oldPosInc) { + var last = path.lastComponent; + + if (last && last.added === added && last.removed === removed) { + return { + oldPos: path.oldPos + oldPosInc, + lastComponent: { + count: last.count + 1, + added: added, + removed: removed, + previousComponent: last.previousComponent + } + }; + } else { + return { + oldPos: path.oldPos + oldPosInc, + lastComponent: { + count: 1, + added: added, + removed: removed, + previousComponent: last + } + }; + } + }, + extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { + var newLen = newString.length, + oldLen = oldString.length, + oldPos = basePath.oldPos, + newPos = oldPos - diagonalPath, + commonCount = 0; + + while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + + if (commonCount) { + basePath.lastComponent = { + count: commonCount, + previousComponent: basePath.lastComponent + }; + } + + basePath.oldPos = oldPos; + return newPos; + }, + equals: function equals(left, right) { + if (this.options.comparator) { + return this.options.comparator(left, right); + } else { + return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); + } + }, + removeEmpty: function removeEmpty(array) { + var ret = []; + + for (var i = 0; i < array.length; i++) { + if (array[i]) { + ret.push(array[i]); + } + } + + return ret; + }, + castInput: function castInput(value) { + return value; + }, + tokenize: function tokenize(value) { + return value.split(''); + }, + join: function join(chars) { + return chars.join(''); + } +}; + +function buildValues(diff, lastComponent, newString, oldString, useLongestToken) { + // First we convert our linked list of components in reverse order to an + // array in the right order: + var components = []; + var nextComponent; + + while (lastComponent) { + components.push(lastComponent); + nextComponent = lastComponent.previousComponent; + delete lastComponent.previousComponent; + lastComponent = nextComponent; + } + + components.reverse(); + var componentPos = 0, + componentLen = components.length, + newPos = 0, + oldPos = 0; + + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + + if (!component.removed) { + if (!component.added && useLongestToken) { + var value = newString.slice(newPos, newPos + component.count); + value = value.map(function (value, i) { + var oldValue = oldString[oldPos + i]; + return oldValue.length > value.length ? oldValue : value; + }); + component.value = diff.join(value); + } else { + component.value = diff.join(newString.slice(newPos, newPos + component.count)); + } + + newPos += component.count; // Common case + + if (!component.added) { + oldPos += component.count; + } + } else { + component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); + oldPos += component.count; // Reverse add and remove so removes are output first to match common convention + // The diffing algorithm is tied to add then remove output and this is the simplest + // route to get the desired output with minimal overhead. + + if (componentPos && components[componentPos - 1].added) { + var tmp = components[componentPos - 1]; + components[componentPos - 1] = components[componentPos]; + components[componentPos] = tmp; + } + } + } // Special case handle for when one terminal is ignored (i.e. whitespace). + // For this case we merge the terminal into the prior string and drop the change. + // This is only available for string mode. + + + var finalComponent = components[componentLen - 1]; + + if (componentLen > 1 && typeof finalComponent.value === 'string' && (finalComponent.added || finalComponent.removed) && diff.equals('', finalComponent.value)) { + components[componentLen - 2].value += finalComponent.value; + components.pop(); + } + + return components; +} + +var characterDiff = new Diff(); +function diffChars(oldStr, newStr, options) { + return characterDiff.diff(oldStr, newStr, options); +} + +function generateOptions(options, defaults) { + if (typeof options === 'function') { + defaults.callback = options; + } else if (options) { + for (var name in options) { + /* istanbul ignore else */ + if (options.hasOwnProperty(name)) { + defaults[name] = options[name]; + } + } + } + + return defaults; +} + +// +// Ranges and exceptions: +// Latin-1 Supplement, 0080–00FF +// - U+00D7 × Multiplication sign +// - U+00F7 ÷ Division sign +// Latin Extended-A, 0100–017F +// Latin Extended-B, 0180–024F +// IPA Extensions, 0250–02AF +// Spacing Modifier Letters, 02B0–02FF +// - U+02C7 ˇ ˇ Caron +// - U+02D8 ˘ ˘ Breve +// - U+02D9 ˙ ˙ Dot Above +// - U+02DA ˚ ˚ Ring Above +// - U+02DB ˛ ˛ Ogonek +// - U+02DC ˜ ˜ Small Tilde +// - U+02DD ˝ ˝ Double Acute Accent +// Latin Extended Additional, 1E00–1EFF + +var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; +var reWhitespace = /\S/; +var wordDiff = new Diff(); + +wordDiff.equals = function (left, right) { + if (this.options.ignoreCase) { + left = left.toLowerCase(); + right = right.toLowerCase(); + } + + return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); +}; + +wordDiff.tokenize = function (value) { + // All whitespace symbols except newline group into one token, each newline - in separate token + var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set. + + for (var i = 0; i < tokens.length - 1; i++) { + // If we have an empty string in the next field and we have only word chars before and after, merge + if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { + tokens[i] += tokens[i + 2]; + tokens.splice(i + 1, 2); + i--; + } + } + + return tokens; +}; + +function diffWords(oldStr, newStr, options) { + options = generateOptions(options, { + ignoreWhitespace: true + }); + return wordDiff.diff(oldStr, newStr, options); +} +function diffWordsWithSpace(oldStr, newStr, options) { + return wordDiff.diff(oldStr, newStr, options); +} + +var lineDiff = new Diff(); + +lineDiff.tokenize = function (value) { + if (this.options.stripTrailingCr) { + // remove one \r before \n to match GNU diff's --strip-trailing-cr behavior + value = value.replace(/\r\n/g, '\n'); + } + + var retLines = [], + linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line + + if (!linesAndNewlines[linesAndNewlines.length - 1]) { + linesAndNewlines.pop(); + } // Merge the content and line separators into single tokens + + + for (var i = 0; i < linesAndNewlines.length; i++) { + var line = linesAndNewlines[i]; + + if (i % 2 && !this.options.newlineIsToken) { + retLines[retLines.length - 1] += line; + } else { + if (this.options.ignoreWhitespace) { + line = line.trim(); + } + + retLines.push(line); + } + } + + return retLines; +}; + +function diffLines(oldStr, newStr, callback) { + return lineDiff.diff(oldStr, newStr, callback); +} +function diffTrimmedLines(oldStr, newStr, callback) { + var options = generateOptions(callback, { + ignoreWhitespace: true + }); + return lineDiff.diff(oldStr, newStr, options); +} + +var sentenceDiff = new Diff(); + +sentenceDiff.tokenize = function (value) { + return value.split(/(\S.+?[.!?])(?=\s+|$)/); +}; + +function diffSentences(oldStr, newStr, callback) { + return sentenceDiff.diff(oldStr, newStr, callback); +} + +var cssDiff = new Diff(); + +cssDiff.tokenize = function (value) { + return value.split(/([{}:;,]|\s+)/); +}; + +function diffCss(oldStr, newStr, callback) { + return cssDiff.diff(oldStr, newStr, callback); +} + +function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function (obj) { + return typeof obj; + }; + } else { + _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); +} + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray(arr); +} + +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); +} + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} + +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + + return arr2; +} + +function _nonIterableSpread() { + 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 objectPrototypeToString = Object.prototype.toString; +var jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a +// dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: + +jsonDiff.useLongestToken = true; +jsonDiff.tokenize = lineDiff.tokenize; + +jsonDiff.castInput = function (value) { + var _this$options = this.options, + undefinedReplacement = _this$options.undefinedReplacement, + _this$options$stringi = _this$options.stringifyReplacer, + stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) { + return typeof v === 'undefined' ? undefinedReplacement : v; + } : _this$options$stringi; + return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' '); +}; + +jsonDiff.equals = function (left, right) { + return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')); +}; + +function diffJson(oldObj, newObj, options) { + return jsonDiff.diff(oldObj, newObj, options); +} // This function handles the presence of circular references by bailing out when encountering an +// object that is already on the "stack" of items being processed. Accepts an optional replacer + +function canonicalize(obj, stack, replacementStack, replacer, key) { + stack = stack || []; + replacementStack = replacementStack || []; + + if (replacer) { + obj = replacer(key, obj); + } + + var i; + + for (i = 0; i < stack.length; i += 1) { + if (stack[i] === obj) { + return replacementStack[i]; + } + } + + var canonicalizedObj; + + if ('[object Array]' === objectPrototypeToString.call(obj)) { + stack.push(obj); + canonicalizedObj = new Array(obj.length); + replacementStack.push(canonicalizedObj); + + for (i = 0; i < obj.length; i += 1) { + canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key); + } + + stack.pop(); + replacementStack.pop(); + return canonicalizedObj; + } + + if (obj && obj.toJSON) { + obj = obj.toJSON(); + } + + if (_typeof(obj) === 'object' && obj !== null) { + stack.push(obj); + canonicalizedObj = {}; + replacementStack.push(canonicalizedObj); + + var sortedKeys = [], + _key; + + for (_key in obj) { + /* istanbul ignore else */ + if (obj.hasOwnProperty(_key)) { + sortedKeys.push(_key); + } + } + + sortedKeys.sort(); + + for (i = 0; i < sortedKeys.length; i += 1) { + _key = sortedKeys[i]; + canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); + } + + stack.pop(); + replacementStack.pop(); + } else { + canonicalizedObj = obj; + } + + return canonicalizedObj; +} + +var arrayDiff = new Diff(); + +arrayDiff.tokenize = function (value) { + return value.slice(); +}; + +arrayDiff.join = arrayDiff.removeEmpty = function (value) { + return value; +}; + +function diffArrays(oldArr, newArr, callback) { + return arrayDiff.diff(oldArr, newArr, callback); +} + +function parsePatch(uniDiff) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/), + delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [], + list = [], + i = 0; + + function parseIndex() { + var index = {}; + list.push(index); // Parse diff metadata + + while (i < diffstr.length) { + var line = diffstr[i]; // File header found, end parsing diff metadata + + if (/^(\-\-\-|\+\+\+|@@)\s/.test(line)) { + break; + } // Diff index + + + var header = /^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(line); + + if (header) { + index.index = header[1]; + } + + i++; + } // Parse file headers if they are defined. Unified diff requires them, but + // there's no technical issues to have an isolated hunk without file header + + + parseFileHeader(index); + parseFileHeader(index); // Parse hunks + + index.hunks = []; + + while (i < diffstr.length) { + var _line = diffstr[i]; + + if (/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(_line)) { + break; + } else if (/^@@/.test(_line)) { + index.hunks.push(parseHunk()); + } else if (_line && options.strict) { + // Ignore unexpected content unless in strict mode + throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line)); + } else { + i++; + } + } + } // Parses the --- and +++ headers, if none are found, no lines + // are consumed. + + + function parseFileHeader(index) { + var fileHeader = /^(---|\+\+\+)\s+(.*)$/.exec(diffstr[i]); + + if (fileHeader) { + var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new'; + var data = fileHeader[2].split('\t', 2); + var fileName = data[0].replace(/\\\\/g, '\\'); + + if (/^".*"$/.test(fileName)) { + fileName = fileName.substr(1, fileName.length - 2); + } + + index[keyPrefix + 'FileName'] = fileName; + index[keyPrefix + 'Header'] = (data[1] || '').trim(); + i++; + } + } // Parses a hunk + // This assumes that we are at the start of a hunk. + + + function parseHunk() { + var chunkHeaderIndex = i, + chunkHeaderLine = diffstr[i++], + chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/); + var hunk = { + oldStart: +chunkHeader[1], + oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2], + newStart: +chunkHeader[3], + newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4], + lines: [], + linedelimiters: [] + }; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart += 1; + } + + if (hunk.newLines === 0) { + hunk.newStart += 1; + } + + var addCount = 0, + removeCount = 0; + + for (; i < diffstr.length; i++) { + // Lines starting with '---' could be mistaken for the "remove line" operation + // But they could be the header for the next file. Therefore prune such cases out. + if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) { + break; + } + + var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0]; + + if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\') { + hunk.lines.push(diffstr[i]); + hunk.linedelimiters.push(delimiters[i] || '\n'); + + if (operation === '+') { + addCount++; + } else if (operation === '-') { + removeCount++; + } else if (operation === ' ') { + addCount++; + removeCount++; + } + } else { + break; + } + } // Handle the empty block count case + + + if (!addCount && hunk.newLines === 1) { + hunk.newLines = 0; + } + + if (!removeCount && hunk.oldLines === 1) { + hunk.oldLines = 0; + } // Perform optional sanity checking + + + if (options.strict) { + if (addCount !== hunk.newLines) { + throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1)); + } + + if (removeCount !== hunk.oldLines) { + throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1)); + } + } + + return hunk; + } + + while (i < diffstr.length) { + parseIndex(); + } + + return list; +} + +// Iterator that traverses in the range of [min, max], stepping +// by distance from a given start position. I.e. for [0, 4], with +// start of 2, this will iterate 2, 3, 1, 4, 0. +function distanceIterator (start, minLine, maxLine) { + var wantForward = true, + backwardExhausted = false, + forwardExhausted = false, + localOffset = 1; + return function iterator() { + if (wantForward && !forwardExhausted) { + if (backwardExhausted) { + localOffset++; + } else { + wantForward = false; + } // Check if trying to fit beyond text length, and if not, check it fits + // after offset location (or desired location on first iteration) + + + if (start + localOffset <= maxLine) { + return localOffset; + } + + forwardExhausted = true; + } + + if (!backwardExhausted) { + if (!forwardExhausted) { + wantForward = true; + } // Check if trying to fit before text beginning, and if not, check it fits + // before offset location + + + if (minLine <= start - localOffset) { + return -localOffset++; + } + + backwardExhausted = true; + return iterator(); + } // We tried to fit hunk before text beginning and beyond text length, then + // hunk can't fit on the text. Return undefined + + }; +} + +function applyPatch(source, uniDiff) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + + if (typeof uniDiff === 'string') { + uniDiff = parsePatch(uniDiff); + } + + if (Array.isArray(uniDiff)) { + if (uniDiff.length > 1) { + throw new Error('applyPatch only works with a single input.'); + } + + uniDiff = uniDiff[0]; + } // Apply the diff to the input + + + var lines = source.split(/\r\n|[\n\v\f\r\x85]/), + delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [], + hunks = uniDiff.hunks, + compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) { + return line === patchContent; + }, + errorCount = 0, + fuzzFactor = options.fuzzFactor || 0, + minLine = 0, + offset = 0, + removeEOFNL, + addEOFNL; + /** + * Checks if the hunk exactly fits on the provided location + */ + + + function hunkFits(hunk, toPos) { + for (var j = 0; j < hunk.lines.length; j++) { + var line = hunk.lines[j], + operation = line.length > 0 ? line[0] : ' ', + content = line.length > 0 ? line.substr(1) : line; + + if (operation === ' ' || operation === '-') { + // Context sanity check + if (!compareLine(toPos + 1, lines[toPos], operation, content)) { + errorCount++; + + if (errorCount > fuzzFactor) { + return false; + } + } + + toPos++; + } + } + + return true; + } // Search best fit offsets for each hunk based on the previous ones + + + for (var i = 0; i < hunks.length; i++) { + var hunk = hunks[i], + maxLine = lines.length - hunk.oldLines, + localOffset = 0, + toPos = offset + hunk.oldStart - 1; + var iterator = distanceIterator(toPos, minLine, maxLine); + + for (; localOffset !== undefined; localOffset = iterator()) { + if (hunkFits(hunk, toPos + localOffset)) { + hunk.offset = offset += localOffset; + break; + } + } + + if (localOffset === undefined) { + return false; + } // Set lower text limit to end of the current hunk, so next ones don't try + // to fit over already patched text + + + minLine = hunk.offset + hunk.oldStart + hunk.oldLines; + } // Apply patch hunks + + + var diffOffset = 0; + + for (var _i = 0; _i < hunks.length; _i++) { + var _hunk = hunks[_i], + _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1; + + diffOffset += _hunk.newLines - _hunk.oldLines; + + for (var j = 0; j < _hunk.lines.length; j++) { + var line = _hunk.lines[j], + operation = line.length > 0 ? line[0] : ' ', + content = line.length > 0 ? line.substr(1) : line, + delimiter = _hunk.linedelimiters && _hunk.linedelimiters[j] || '\n'; + + if (operation === ' ') { + _toPos++; + } else if (operation === '-') { + lines.splice(_toPos, 1); + delimiters.splice(_toPos, 1); + /* istanbul ignore else */ + } else if (operation === '+') { + lines.splice(_toPos, 0, content); + delimiters.splice(_toPos, 0, delimiter); + _toPos++; + } else if (operation === '\\') { + var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null; + + if (previousOperation === '+') { + removeEOFNL = true; + } else if (previousOperation === '-') { + addEOFNL = true; + } + } + } + } // Handle EOFNL insertion/removal + + + if (removeEOFNL) { + while (!lines[lines.length - 1]) { + lines.pop(); + delimiters.pop(); + } + } else if (addEOFNL) { + lines.push(''); + delimiters.push('\n'); + } + + for (var _k = 0; _k < lines.length - 1; _k++) { + lines[_k] = lines[_k] + delimiters[_k]; + } + + return lines.join(''); +} // Wrapper that supports multiple file patches via callbacks. + +function applyPatches(uniDiff, options) { + if (typeof uniDiff === 'string') { + uniDiff = parsePatch(uniDiff); + } + + var currentIndex = 0; + + function processIndex() { + var index = uniDiff[currentIndex++]; + + if (!index) { + return options.complete(); + } + + options.loadFile(index, function (err, data) { + if (err) { + return options.complete(err); + } + + var updatedContent = applyPatch(data, index, options); + options.patched(index, updatedContent, function (err) { + if (err) { + return options.complete(err); + } + + processIndex(); + }); + }); + } + + processIndex(); +} + +function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + if (!options) { + options = {}; + } + + if (typeof options.context === 'undefined') { + options.context = 4; + } + + var diff = diffLines(oldStr, newStr, options); + + if (!diff) { + return; + } + + diff.push({ + value: '', + lines: [] + }); // Append an empty value to make cleanup easier + + function contextLines(lines) { + return lines.map(function (entry) { + return ' ' + entry; + }); + } + + var hunks = []; + var oldRangeStart = 0, + newRangeStart = 0, + curRange = [], + oldLine = 1, + newLine = 1; + + var _loop = function _loop(i) { + var current = diff[i], + lines = current.lines || current.value.replace(/\n$/, '').split('\n'); + current.lines = lines; + + if (current.added || current.removed) { + var _curRange; + + // If we have previous context, start with that + if (!oldRangeStart) { + var prev = diff[i - 1]; + oldRangeStart = oldLine; + newRangeStart = newLine; + + if (prev) { + curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : []; + oldRangeStart -= curRange.length; + newRangeStart -= curRange.length; + } + } // Output our changes + + + (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) { + return (current.added ? '+' : '-') + entry; + }))); // Track the updated file position + + + if (current.added) { + newLine += lines.length; + } else { + oldLine += lines.length; + } + } else { + // Identical context lines. Track line changes + if (oldRangeStart) { + // Close out any changes that have been output (or join overlapping) + if (lines.length <= options.context * 2 && i < diff.length - 2) { + var _curRange2; + + // Overlapping + (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines))); + } else { + var _curRange3; + + // end the range and output + var contextSize = Math.min(lines.length, options.context); + + (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize)))); + + var hunk = { + oldStart: oldRangeStart, + oldLines: oldLine - oldRangeStart + contextSize, + newStart: newRangeStart, + newLines: newLine - newRangeStart + contextSize, + lines: curRange + }; + + if (i >= diff.length - 2 && lines.length <= options.context) { + // EOF is inside this hunk + var oldEOFNewline = /\n$/.test(oldStr); + var newEOFNewline = /\n$/.test(newStr); + var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; + + if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { + // special case: old has no eol and no trailing context; no-nl can end up before adds + // however, if the old file is empty, do not output the no-nl line + curRange.splice(hunk.oldLines, 0, '\\ No newline at end of file'); + } + + if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) { + curRange.push('\\ No newline at end of file'); + } + } + + hunks.push(hunk); + oldRangeStart = 0; + newRangeStart = 0; + curRange = []; + } + } + + oldLine += lines.length; + newLine += lines.length; + } + }; + + for (var i = 0; i < diff.length; i++) { + _loop(i); + } + + return { + oldFileName: oldFileName, + newFileName: newFileName, + oldHeader: oldHeader, + newHeader: newHeader, + hunks: hunks + }; +} +function formatPatch(diff) { + if (Array.isArray(diff)) { + return diff.map(formatPatch).join('\n'); + } + + var ret = []; + + if (diff.oldFileName == diff.newFileName) { + ret.push('Index: ' + diff.oldFileName); + } + + ret.push('==================================================================='); + ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\t' + diff.oldHeader)); + ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\t' + diff.newHeader)); + + for (var i = 0; i < diff.hunks.length; i++) { + var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart -= 1; + } + + if (hunk.newLines === 0) { + hunk.newStart -= 1; + } + + ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@'); + ret.push.apply(ret, hunk.lines); + } + + return ret.join('\n') + '\n'; +} +function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); +} +function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { + return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); +} + +function arrayEqual(a, b) { + if (a.length !== b.length) { + return false; + } + + return arrayStartsWith(a, b); +} +function arrayStartsWith(array, start) { + if (start.length > array.length) { + return false; + } + + for (var i = 0; i < start.length; i++) { + if (start[i] !== array[i]) { + return false; + } + } + + return true; +} + +function calcLineCount(hunk) { + var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines), + oldLines = _calcOldNewLineCount.oldLines, + newLines = _calcOldNewLineCount.newLines; + + if (oldLines !== undefined) { + hunk.oldLines = oldLines; + } else { + delete hunk.oldLines; + } + + if (newLines !== undefined) { + hunk.newLines = newLines; + } else { + delete hunk.newLines; + } +} +function merge(mine, theirs, base) { + mine = loadPatch(mine, base); + theirs = loadPatch(theirs, base); + var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning. + // Leaving sanity checks on this to the API consumer that may know more about the + // meaning in their own context. + + if (mine.index || theirs.index) { + ret.index = mine.index || theirs.index; + } + + if (mine.newFileName || theirs.newFileName) { + if (!fileNameChanged(mine)) { + // No header or no change in ours, use theirs (and ours if theirs does not exist) + ret.oldFileName = theirs.oldFileName || mine.oldFileName; + ret.newFileName = theirs.newFileName || mine.newFileName; + ret.oldHeader = theirs.oldHeader || mine.oldHeader; + ret.newHeader = theirs.newHeader || mine.newHeader; + } else if (!fileNameChanged(theirs)) { + // No header or no change in theirs, use ours + ret.oldFileName = mine.oldFileName; + ret.newFileName = mine.newFileName; + ret.oldHeader = mine.oldHeader; + ret.newHeader = mine.newHeader; + } else { + // Both changed... figure it out + ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName); + ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName); + ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader); + ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader); + } + } + + ret.hunks = []; + var mineIndex = 0, + theirsIndex = 0, + mineOffset = 0, + theirsOffset = 0; + + while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) { + var mineCurrent = mine.hunks[mineIndex] || { + oldStart: Infinity + }, + theirsCurrent = theirs.hunks[theirsIndex] || { + oldStart: Infinity + }; + + if (hunkBefore(mineCurrent, theirsCurrent)) { + // This patch does not overlap with any of the others, yay. + ret.hunks.push(cloneHunk(mineCurrent, mineOffset)); + mineIndex++; + theirsOffset += mineCurrent.newLines - mineCurrent.oldLines; + } else if (hunkBefore(theirsCurrent, mineCurrent)) { + // This patch does not overlap with any of the others, yay. + ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset)); + theirsIndex++; + mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines; + } else { + // Overlap, merge as best we can + var mergedHunk = { + oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart), + oldLines: 0, + newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset), + newLines: 0, + lines: [] + }; + mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines); + theirsIndex++; + mineIndex++; + ret.hunks.push(mergedHunk); + } + } + + return ret; +} + +function loadPatch(param, base) { + if (typeof param === 'string') { + if (/^@@/m.test(param) || /^Index:/m.test(param)) { + return parsePatch(param)[0]; + } + + if (!base) { + throw new Error('Must provide a base reference or pass in a patch'); + } + + return structuredPatch(undefined, undefined, base, param); + } + + return param; +} + +function fileNameChanged(patch) { + return patch.newFileName && patch.newFileName !== patch.oldFileName; +} + +function selectField(index, mine, theirs) { + if (mine === theirs) { + return mine; + } else { + index.conflict = true; + return { + mine: mine, + theirs: theirs + }; + } +} + +function hunkBefore(test, check) { + return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart; +} + +function cloneHunk(hunk, offset) { + return { + oldStart: hunk.oldStart, + oldLines: hunk.oldLines, + newStart: hunk.newStart + offset, + newLines: hunk.newLines, + lines: hunk.lines + }; +} + +function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) { + // This will generally result in a conflicted hunk, but there are cases where the context + // is the only overlap where we can successfully merge the content here. + var mine = { + offset: mineOffset, + lines: mineLines, + index: 0 + }, + their = { + offset: theirOffset, + lines: theirLines, + index: 0 + }; // Handle any leading content + + insertLeading(hunk, mine, their); + insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each. + + while (mine.index < mine.lines.length && their.index < their.lines.length) { + var mineCurrent = mine.lines[mine.index], + theirCurrent = their.lines[their.index]; + + if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) { + // Both modified ... + mutualChange(hunk, mine, their); + } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') { + var _hunk$lines; + + // Mine inserted + (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine))); + } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') { + var _hunk$lines2; + + // Theirs inserted + (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their))); + } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') { + // Mine removed or edited + removal(hunk, mine, their); + } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') { + // Their removed or edited + removal(hunk, their, mine, true); + } else if (mineCurrent === theirCurrent) { + // Context identity + hunk.lines.push(mineCurrent); + mine.index++; + their.index++; + } else { + // Context mismatch + conflict(hunk, collectChange(mine), collectChange(their)); + } + } // Now push anything that may be remaining + + + insertTrailing(hunk, mine); + insertTrailing(hunk, their); + calcLineCount(hunk); +} + +function mutualChange(hunk, mine, their) { + var myChanges = collectChange(mine), + theirChanges = collectChange(their); + + if (allRemoves(myChanges) && allRemoves(theirChanges)) { + // Special case for remove changes that are supersets of one another + if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) { + var _hunk$lines3; + + (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges)); + + return; + } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) { + var _hunk$lines4; + + (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges)); + + return; + } + } else if (arrayEqual(myChanges, theirChanges)) { + var _hunk$lines5; + + (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges)); + + return; + } + + conflict(hunk, myChanges, theirChanges); +} + +function removal(hunk, mine, their, swap) { + var myChanges = collectChange(mine), + theirChanges = collectContext(their, myChanges); + + if (theirChanges.merged) { + var _hunk$lines6; + + (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged)); + } else { + conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges); + } +} + +function conflict(hunk, mine, their) { + hunk.conflict = true; + hunk.lines.push({ + conflict: true, + mine: mine, + theirs: their + }); +} + +function insertLeading(hunk, insert, their) { + while (insert.offset < their.offset && insert.index < insert.lines.length) { + var line = insert.lines[insert.index++]; + hunk.lines.push(line); + insert.offset++; + } +} + +function insertTrailing(hunk, insert) { + while (insert.index < insert.lines.length) { + var line = insert.lines[insert.index++]; + hunk.lines.push(line); + } +} + +function collectChange(state) { + var ret = [], + operation = state.lines[state.index][0]; + + while (state.index < state.lines.length) { + var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one "atomic" modify change. + + if (operation === '-' && line[0] === '+') { + operation = '+'; + } + + if (operation === line[0]) { + ret.push(line); + state.index++; + } else { + break; + } + } + + return ret; +} + +function collectContext(state, matchChanges) { + var changes = [], + merged = [], + matchIndex = 0, + contextChanges = false, + conflicted = false; + + while (matchIndex < matchChanges.length && state.index < state.lines.length) { + var change = state.lines[state.index], + match = matchChanges[matchIndex]; // Once we've hit our add, then we are done + + if (match[0] === '+') { + break; + } + + contextChanges = contextChanges || change[0] !== ' '; + merged.push(match); + matchIndex++; // Consume any additions in the other block as a conflict to attempt + // to pull in the remaining context after this + + if (change[0] === '+') { + conflicted = true; + + while (change[0] === '+') { + changes.push(change); + change = state.lines[++state.index]; + } + } + + if (match.substr(1) === change.substr(1)) { + changes.push(change); + state.index++; + } else { + conflicted = true; + } + } + + if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) { + conflicted = true; + } + + if (conflicted) { + return changes; + } + + while (matchIndex < matchChanges.length) { + merged.push(matchChanges[matchIndex++]); + } + + return { + merged: merged, + changes: changes + }; +} + +function allRemoves(changes) { + return changes.reduce(function (prev, change) { + return prev && change[0] === '-'; + }, true); +} + +function skipRemoveSuperset(state, removeChanges, delta) { + for (var i = 0; i < delta; i++) { + var changeContent = removeChanges[removeChanges.length - delta + i].substr(1); + + if (state.lines[state.index + i] !== ' ' + changeContent) { + return false; + } + } + + state.index += delta; + return true; +} + +function calcOldNewLineCount(lines) { + var oldLines = 0; + var newLines = 0; + lines.forEach(function (line) { + if (typeof line !== 'string') { + var myCount = calcOldNewLineCount(line.mine); + var theirCount = calcOldNewLineCount(line.theirs); + + if (oldLines !== undefined) { + if (myCount.oldLines === theirCount.oldLines) { + oldLines += myCount.oldLines; + } else { + oldLines = undefined; + } + } + + if (newLines !== undefined) { + if (myCount.newLines === theirCount.newLines) { + newLines += myCount.newLines; + } else { + newLines = undefined; + } + } + } else { + if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) { + newLines++; + } + + if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) { + oldLines++; + } + } + }); + return { + oldLines: oldLines, + newLines: newLines + }; +} + +function reversePatch(structuredPatch) { + if (Array.isArray(structuredPatch)) { + return structuredPatch.map(reversePatch).reverse(); + } + + return _objectSpread2(_objectSpread2({}, structuredPatch), {}, { + oldFileName: structuredPatch.newFileName, + oldHeader: structuredPatch.newHeader, + newFileName: structuredPatch.oldFileName, + newHeader: structuredPatch.oldHeader, + hunks: structuredPatch.hunks.map(function (hunk) { + return { + oldLines: hunk.newLines, + oldStart: hunk.newStart, + newLines: hunk.oldLines, + newStart: hunk.oldStart, + linedelimiters: hunk.linedelimiters, + lines: hunk.lines.map(function (l) { + if (l.startsWith('-')) { + return "+".concat(l.slice(1)); + } + + if (l.startsWith('+')) { + return "-".concat(l.slice(1)); + } + + return l; + }) + }; + }) + }); +} + +// See: http://code.google.com/p/google-diff-match-patch/wiki/API +function convertChangesToDMP(changes) { + var ret = [], + change, + operation; + + for (var i = 0; i < changes.length; i++) { + change = changes[i]; + + if (change.added) { + operation = 1; + } else if (change.removed) { + operation = -1; + } else { + operation = 0; + } + + ret.push([operation, change.value]); + } + + return ret; +} + +function convertChangesToXML(changes) { + var ret = []; + + for (var i = 0; i < changes.length; i++) { + var change = changes[i]; + + if (change.added) { + ret.push(''); + } else if (change.removed) { + ret.push(''); + } + + ret.push(escapeHTML(change.value)); + + if (change.added) { + ret.push(''); + } else if (change.removed) { + ret.push(''); + } + } + + return ret.join(''); +} + +function escapeHTML(s) { + var n = s; + n = n.replace(/&/g, '&'); + n = n.replace(//g, '>'); + n = n.replace(/"/g, '"'); + return n; +} + +export { Diff, applyPatch, applyPatches, canonicalize, convertChangesToDMP, convertChangesToXML, createPatch, createTwoFilesPatch, diffArrays, diffChars, diffCss, diffJson, diffLines, diffSentences, diffTrimmedLines, diffWords, diffWordsWithSpace, formatPatch, merge, parsePatch, reversePatch, structuredPatch }; diff --git a/.pnpm-store/v3/files/0a/9663e2886461cf2df0955aee96503bdab23877bd0afeb1a2b339a3ae0c5f9e50817ebc4a33478b2c403b1d9c9ceb7fc9d0e39b96bdba08db76ed46abf20bf7 b/.pnpm-store/v3/files/0a/9663e2886461cf2df0955aee96503bdab23877bd0afeb1a2b339a3ae0c5f9e50817ebc4a33478b2c403b1d9c9ceb7fc9d0e39b96bdba08db76ed46abf20bf7 new file mode 100644 index 00000000..3e26bb56 --- /dev/null +++ b/.pnpm-store/v3/files/0a/9663e2886461cf2df0955aee96503bdab23877bd0afeb1a2b339a3ae0c5f9e50817ebc4a33478b2c403b1d9c9ceb7fc9d0e39b96bdba08db76ed46abf20bf7 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","194":"VB WB XB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB iC jC kC lC 2B QC mC 3B","194":"IB JB KB"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Rest parameters",D:true}; diff --git a/.pnpm-store/v3/files/0a/da904a7dfe6e5802d564321f64b988c5c176f9a4b603673efcdb89a7b71f8c70a0770627c807c59992936eecf623b75712cc004b7bd42936325049f3ba160b b/.pnpm-store/v3/files/0a/da904a7dfe6e5802d564321f64b988c5c176f9a4b603673efcdb89a7b71f8c70a0770627c807c59992936eecf623b75712cc004b7bd42936325049f3ba160b new file mode 100644 index 00000000..0d686aed --- /dev/null +++ b/.pnpm-store/v3/files/0a/da904a7dfe6e5802d564321f64b988c5c176f9a4b603673efcdb89a7b71f8c70a0770627c807c59992936eecf623b75712cc004b7bd42936325049f3ba160b @@ -0,0 +1 @@ +module.exports={C:{"24":0.0035,"25":0.01049,"26":0.02447,"27":0.0035,"28":0.0035,"29":0.0035,"31":0.0035,"33":0.0035,"36":0.0035,"52":0.00699,"56":0.00699,"59":0.01748,"68":0.0035,"78":0.00699,"80":0.04194,"88":0.0035,"98":0.0035,"103":0.0035,"104":0.0035,"105":0.0035,"106":0.0035,"108":0.0035,"109":0.0035,"110":0.0035,"111":0.01049,"112":0.0035,"113":0.01049,"115":0.17126,"116":0.0035,"117":0.0035,"118":0.00699,"119":0.01049,"120":0.04544,"121":0.71298,"122":0.15378,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 30 32 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 99 100 101 102 107 114 123 124 125 3.5 3.6"},D:{"31":0.03495,"32":0.00699,"35":0.0035,"38":0.01398,"40":0.0035,"41":0.0035,"49":0.00699,"52":0.02447,"53":0.0035,"55":0.0035,"56":0.0035,"57":0.0035,"65":0.0035,"66":0.07689,"68":0.01049,"69":0.00699,"70":0.00699,"71":0.00699,"72":0.01049,"73":0.00699,"74":0.01748,"75":0.01049,"76":0.00699,"77":0.00699,"78":0.01049,"79":0.04544,"80":0.02796,"81":0.01398,"83":0.01748,"84":0.01049,"85":0.01049,"86":0.02447,"87":0.04194,"88":0.01748,"89":0.01049,"90":0.01748,"91":0.02447,"92":0.00699,"93":0.0035,"94":0.00699,"95":0.00699,"96":0.01049,"97":0.01049,"98":0.01049,"99":0.0035,"100":0.00699,"101":0.0035,"102":0.02097,"103":0.04194,"104":0.01049,"105":0.02097,"106":0.02447,"107":0.02447,"108":0.04544,"109":1.17083,"110":0.03146,"111":0.02447,"112":0.03495,"113":0.01049,"114":0.09786,"115":0.03146,"116":0.09786,"117":0.04544,"118":0.09786,"119":0.3495,"120":22.28063,"121":1.78595,"122":0.00699,"123":0.0035,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 33 34 36 37 39 42 43 44 45 46 47 48 50 51 54 58 59 60 61 62 63 64 67 124"},F:{"28":0.0035,"46":0.0035,"55":0.0035,"69":0.0035,"93":0.0035,"94":0.0035,"95":0.03146,"105":0.33902,"106":0.34251,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.0035},B:{"17":0.01049,"18":0.00699,"80":0.0035,"81":0.0035,"83":0.0035,"84":0.0035,"85":0.0035,"86":0.0035,"88":0.0035,"89":0.0035,"90":0.0035,"92":0.0035,"96":0.0035,"98":0.00699,"99":0.0035,"102":0.0035,"104":0.0035,"105":0.0035,"106":0.0035,"107":0.00699,"108":0.0035,"109":0.02447,"110":0.01049,"111":0.0035,"112":0.00699,"113":0.0035,"114":0.00699,"115":0.0035,"116":0.00699,"117":0.01049,"118":0.01748,"119":0.06641,"120":2.40456,"121":0.34251,_:"12 13 14 15 16 79 87 91 93 94 95 97 100 101 103"},E:{"6":0.0035,"7":0.0035,"8":0.12582,"9":0.0035,"13":0.0035,"14":0.03845,"15":0.0035,_:"0 4 5 10 11 12 3.1 3.2 7.1 10.1 12.1 17.4","5.1":0.0035,"6.1":0.00699,"9.1":0.04893,"11.1":0.01748,"13.1":0.01748,"14.1":0.06641,"15.1":0.00699,"15.2-15.3":0.01049,"15.4":0.00699,"15.5":0.02447,"15.6":0.10136,"16.0":0.01049,"16.1":0.03146,"16.2":0.01748,"16.3":0.06641,"16.4":0.01748,"16.5":0.02796,"16.6":0.2097,"17.0":0.02796,"17.1":0.22368,"17.2":0.38096,"17.3":0.02447},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00289,"5.0-5.1":0.00433,"6.0-6.1":0.00722,"7.0-7.1":0.01011,"8.1-8.4":0.00144,"9.0-9.2":0.00866,"9.3":0.03321,"10.0-10.2":0.00289,"10.3":0.05199,"11.0-11.2":0.02022,"11.3-11.4":0.02166,"12.0-12.1":0.013,"12.2-12.5":0.25705,"13.0-13.1":0.00433,"13.2":0.04766,"13.3":0.013,"13.4-13.7":0.05776,"14.0-14.4":0.10109,"14.5-14.8":0.15452,"15.0-15.1":0.06643,"15.2-15.3":0.07654,"15.4":0.08953,"15.5":0.11842,"15.6-15.8":0.92279,"16.0":0.27727,"16.1":0.59064,"16.2":0.2686,"16.3":0.49966,"16.4":0.1112,"16.5":0.23683,"16.6-16.7":1.938,"17.0":0.32204,"17.1":3.32001,"17.2":4.49407,"17.3":0.28882},P:{"4":0.04124,"20":0.08248,"21":0.14434,"22":0.27837,"23":6.38198,_:"5.0-5.4 6.2-6.4 8.2 10.1","7.2-7.4":0.02062,"9.2":0.01031,"11.1-11.2":0.06186,"12.0":0.01031,"13.0":0.06186,"14.0":0.04124,"15.0":0.02062,"16.0":0.05155,"17.0":0.04124,"18.0":0.03093,"19.0":0.11341},I:{"0":0.04533,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00012},A:{"8":0.0035,"9":0.0035,"10":0.00699,"11":0.06291,_:"6 7 5.5"},K:{"0":0.26972,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00651},O:{"0":0.03903},H:{"0":0.01},L:{"0":43.23548},R:{_:"0"},M:{"0":0.18865}}; diff --git a/.pnpm-store/v3/files/0a/e068f909eaf3bd9def85025f6273c0f6c44d92b29e1760f6a5d2218a14456ad7eb9e5b5aa81eff126f4f5fe2e261b28a15cafbe1f2af92198e6f678c85dd0b b/.pnpm-store/v3/files/0a/e068f909eaf3bd9def85025f6273c0f6c44d92b29e1760f6a5d2218a14456ad7eb9e5b5aa81eff126f4f5fe2e261b28a15cafbe1f2af92198e6f678c85dd0b new file mode 100644 index 00000000..5f1187be --- /dev/null +++ b/.pnpm-store/v3/files/0a/e068f909eaf3bd9def85025f6273c0f6c44d92b29e1760f6a5d2218a14456ad7eb9e5b5aa81eff126f4f5fe2e261b28a15cafbe1f2af92198e6f678c85dd0b @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 h i j k l m n o p v w x y z H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g"},C:{"1":"2 3 4 5 6 7 8 H 1B BC CC UC","2":"0 1 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z e f","66":"a b c d"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t QD RD","2":"I GD HD ID JD KD EC LD MD ND OD PD 5B 6B"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:5,C:"WebTransport",D:true}; diff --git a/.pnpm-store/v3/files/0b/2abc06e617f8aea38aede366839a3b153533b3df6305c608792070486feed98b4fa8fa898defdb19e26acf755640adf896ea91b0bda4c5288a2c0e74480753 b/.pnpm-store/v3/files/0b/2abc06e617f8aea38aede366839a3b153533b3df6305c608792070486feed98b4fa8fa898defdb19e26acf755640adf896ea91b0bda4c5288a2c0e74480753 new file mode 100644 index 00000000..ded75f6f --- /dev/null +++ b/.pnpm-store/v3/files/0b/2abc06e617f8aea38aede366839a3b153533b3df6305c608792070486feed98b4fa8fa898defdb19e26acf755640adf896ea91b0bda4c5288a2c0e74480753 @@ -0,0 +1 @@ +module.exports={C:{_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 3.5 3.6"},D:{"120":11.02766,"121":2.02579,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 122 123 124"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.4 15.5 17.4","15.1":0.08259,"15.2-15.3":0.89387,"15.6":0.7287,"16.0":2.59417,"16.1":0.4858,"16.2":0.4858,"16.3":2.19096,"16.4":0.08259,"16.5":0.2429,"16.6":1.86547,"17.0":1.37967,"17.1":8.67639,"17.2":13.5441,"17.3":1.46226},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.01025,"5.0-5.1":0.01538,"6.0-6.1":0.02563,"7.0-7.1":0.03588,"8.1-8.4":0.00513,"9.0-9.2":0.03075,"9.3":0.11789,"10.0-10.2":0.01025,"10.3":0.18452,"11.0-11.2":0.07176,"11.3-11.4":0.07688,"12.0-12.1":0.04613,"12.2-12.5":0.91235,"13.0-13.1":0.01538,"13.2":0.16914,"13.3":0.04613,"13.4-13.7":0.20502,"14.0-14.4":0.35879,"14.5-14.8":0.54843,"15.0-15.1":0.23578,"15.2-15.3":0.27165,"15.4":0.31778,"15.5":0.42029,"15.6-15.8":3.27522,"16.0":0.9841,"16.1":2.09635,"16.2":0.95335,"16.3":1.77344,"16.4":0.39467,"16.5":0.84059,"16.6-16.7":6.87848,"17.0":1.143,"17.1":11.78363,"17.2":15.9507,"17.3":1.02511},P:{_:"4 20 21 22 23 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{_:"0"},H:{"0":0},L:{"0":0.16454},R:{_:"0"},M:{_:"0"}}; diff --git a/.pnpm-store/v3/files/0b/48f4965e2c60da8f8bc14b975d89f6c6f956f3117ef02f79c4ae2b6fbe71348656c40d2aa46faef8390e0d1e38644526ab17a785ad18d1e3e1beeab81ddfa9 b/.pnpm-store/v3/files/0b/48f4965e2c60da8f8bc14b975d89f6c6f956f3117ef02f79c4ae2b6fbe71348656c40d2aa46faef8390e0d1e38644526ab17a785ad18d1e3e1beeab81ddfa9 new file mode 100644 index 00000000..fb4d6037 --- /dev/null +++ b/.pnpm-store/v3/files/0b/48f4965e2c60da8f8bc14b975d89f6c6f956f3117ef02f79c4ae2b6fbe71348656c40d2aa46faef8390e0d1e38644526ab17a785ad18d1e3e1beeab81ddfa9 @@ -0,0 +1,206 @@ +// To do: remove `void`s +// To do: remove `null` from output of our APIs, allow it as user APIs. + +/** + * @typedef {(error?: Error | null | undefined, ...output: Array) => void} Callback + * Callback. + * + * @typedef {(...input: Array) => any} Middleware + * Ware. + * + * @typedef Pipeline + * Pipeline. + * @property {Run} run + * Run the pipeline. + * @property {Use} use + * Add middleware. + * + * @typedef {(...input: Array) => void} Run + * Call all middleware. + * + * Calls `done` on completion with either an error or the output of the + * last middleware. + * + * > 👉 **Note**: as the length of input defines whether async functions get a + * > `next` function, + * > it’s recommended to keep `input` at one value normally. + + * + * @typedef {(fn: Middleware) => Pipeline} Use + * Add middleware. + */ + +/** + * Create new middleware. + * + * @returns {Pipeline} + * Pipeline. + */ +export function trough() { + /** @type {Array} */ + const fns = [] + /** @type {Pipeline} */ + const pipeline = {run, use} + + return pipeline + + /** @type {Run} */ + function run(...values) { + let middlewareIndex = -1 + /** @type {Callback} */ + const callback = values.pop() + + if (typeof callback !== 'function') { + throw new TypeError('Expected function as last argument, not ' + callback) + } + + next(null, ...values) + + /** + * Run the next `fn`, or we’re done. + * + * @param {Error | null | undefined} error + * @param {Array} output + */ + function next(error, ...output) { + const fn = fns[++middlewareIndex] + let index = -1 + + if (error) { + callback(error) + return + } + + // Copy non-nullish input into values. + while (++index < values.length) { + if (output[index] === null || output[index] === undefined) { + output[index] = values[index] + } + } + + // Save the newly created `output` for the next call. + values = output + + // Next or done. + if (fn) { + wrap(fn, next)(...output) + } else { + callback(null, ...output) + } + } + } + + /** @type {Use} */ + function use(middelware) { + if (typeof middelware !== 'function') { + throw new TypeError( + 'Expected `middelware` to be a function, not ' + middelware + ) + } + + fns.push(middelware) + return pipeline + } +} + +/** + * Wrap `middleware` into a uniform interface. + * + * You can pass all input to the resulting function. + * `callback` is then called with the output of `middleware`. + * + * If `middleware` accepts more arguments than the later given in input, + * an extra `done` function is passed to it after that input, + * which must be called by `middleware`. + * + * The first value in `input` is the main input value. + * All other input values are the rest input values. + * The values given to `callback` are the input values, + * merged with every non-nullish output value. + * + * * if `middleware` throws an error, + * returns a promise that is rejected, + * or calls the given `done` function with an error, + * `callback` is called with that error + * * if `middleware` returns a value or returns a promise that is resolved, + * that value is the main output value + * * if `middleware` calls `done`, + * all non-nullish values except for the first one (the error) overwrite the + * output values + * + * @param {Middleware} middleware + * Function to wrap. + * @param {Callback} callback + * Callback called with the output of `middleware`. + * @returns {Run} + * Wrapped middleware. + */ +export function wrap(middleware, callback) { + /** @type {boolean} */ + let called + + return wrapped + + /** + * Call `middleware`. + * @this {any} + * @param {Array} parameters + * @returns {void} + */ + function wrapped(...parameters) { + const fnExpectsCallback = middleware.length > parameters.length + /** @type {any} */ + let result + + if (fnExpectsCallback) { + parameters.push(done) + } + + try { + result = middleware.apply(this, parameters) + } catch (error) { + const exception = /** @type {Error} */ (error) + + // Well, this is quite the pickle. + // `middleware` received a callback and called it synchronously, but that + // threw an error. + // The only thing left to do is to throw the thing instead. + if (fnExpectsCallback && called) { + throw exception + } + + return done(exception) + } + + if (!fnExpectsCallback) { + if (result && result.then && typeof result.then === 'function') { + result.then(then, done) + } else if (result instanceof Error) { + done(result) + } else { + then(result) + } + } + } + + /** + * Call `callback`, only once. + * + * @type {Callback} + */ + function done(error, ...output) { + if (!called) { + called = true + callback(error, ...output) + } + } + + /** + * Call `done` with one value. + * + * @param {any} [value] + */ + function then(value) { + done(null, value) + } +} diff --git a/.pnpm-store/v3/files/0b/980720429d57dde0f7a68b033c3b36442c67d6234e4f56666fe628e9dbd52f45c212817efb8951a28dc2f2e2b1f605ea1a3281a1156b8f4ca928ed094e1fa0 b/.pnpm-store/v3/files/0b/980720429d57dde0f7a68b033c3b36442c67d6234e4f56666fe628e9dbd52f45c212817efb8951a28dc2f2e2b1f605ea1a3281a1156b8f4ca928ed094e1fa0 new file mode 100644 index 00000000..919d1d23 --- /dev/null +++ b/.pnpm-store/v3/files/0b/980720429d57dde0f7a68b033c3b36442c67d6234e4f56666fe628e9dbd52f45c212817efb8951a28dc2f2e2b1f605ea1a3281a1156b8f4ca928ed094e1fa0 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"1":"UD","2":"TD"}},B:4,C:"CSS Grid animation",D:false}; diff --git a/.pnpm-store/v3/files/0b/eb9c1dbec1dd86c92bc49eba4b0e7c8267e6b8af18a3f56095c8431d326aca20d6009fa90bf58ab4e62596c6357269372903ea724ba89229938cbf8c970642 b/.pnpm-store/v3/files/0b/eb9c1dbec1dd86c92bc49eba4b0e7c8267e6b8af18a3f56095c8431d326aca20d6009fa90bf58ab4e62596c6357269372903ea724ba89229938cbf8c970642 new file mode 100644 index 00000000..ba8d0712 --- /dev/null +++ b/.pnpm-store/v3/files/0b/eb9c1dbec1dd86c92bc49eba4b0e7c8267e6b8af18a3f56095c8431d326aca20d6009fa90bf58ab4e62596c6357269372903ea724ba89229938cbf8c970642 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"C K L G M N O","2":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC","132":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D","132":"A"},K:{"2":"A B C u 2B QC","132":"3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs",D:false}; diff --git a/.pnpm-store/v3/files/0c/3d7dad3eca70944c762ce6579757e3ab77f37933d1314d4a2de287b16d76b6693c0b224732682997406a56c084dbda3043e99ce01f525986d0d44e6187f2b6 b/.pnpm-store/v3/files/0c/3d7dad3eca70944c762ce6579757e3ab77f37933d1314d4a2de287b16d76b6693c0b224732682997406a56c084dbda3043e99ce01f525986d0d44e6187f2b6 new file mode 100644 index 00000000..f01e2732 --- /dev/null +++ b/.pnpm-store/v3/files/0c/3d7dad3eca70944c762ce6579757e3ab77f37933d1314d4a2de287b16d76b6693c0b224732682997406a56c084dbda3043e99ce01f525986d0d44e6187f2b6 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","129":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","129":"C K L G M N O"},C:{"2":"TC 7B VC WC","129":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L r s t BB CB","129":"G M N O AB q"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"9 I XC DC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","2":"F iC jC kC lC","16":"B 2B QC"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC"},H:{"129":"9C"},I:{"1":"H ED FD","16":"AD BD","129":"7B I CD DD RC"},J:{"1":"D","129":"A"},K:{"1":"C u","2":"A","16":"B 2B QC","129":"3B"},L:{"1":"H"},M:{"129":"1B"},N:{"129":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"129":"TD UD"}},B:1,C:"Search input type",D:true}; diff --git a/.pnpm-store/v3/files/0c/451c8d94595b35585d87d87779b793f875f7e31100a7be9501e4c35fab04a63f489418619d7d0f2c1949cb1cd839ab19232ea34a9b7c5214afdb34727066b2 b/.pnpm-store/v3/files/0c/451c8d94595b35585d87d87779b793f875f7e31100a7be9501e4c35fab04a63f489418619d7d0f2c1949cb1cd839ab19232ea34a9b7c5214afdb34727066b2 new file mode 100644 index 00000000..b7dacaf0 --- /dev/null +++ b/.pnpm-store/v3/files/0c/451c8d94595b35585d87d87779b793f875f7e31100a7be9501e4c35fab04a63f489418619d7d0f2c1949cb1cd839ab19232ea34a9b7c5214afdb34727066b2 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","4":"SC","132":"J D"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","36":"TC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS inline-block",D:true}; diff --git a/.pnpm-store/v3/files/0c/621af2ed51ba7c02cff5104993b53283fef6b1f6eb0ccd573d95d664cdb25a1d0444bb8cd27609cdd6de3796152cf13b738b00f0c2988fa7f3ae8089d7e29b b/.pnpm-store/v3/files/0c/621af2ed51ba7c02cff5104993b53283fef6b1f6eb0ccd573d95d664cdb25a1d0444bb8cd27609cdd6de3796152cf13b738b00f0c2988fa7f3ae8089d7e29b new file mode 100644 index 00000000..72e0ebaa --- /dev/null +++ b/.pnpm-store/v3/files/0c/621af2ed51ba7c02cff5104993b53283fef6b1f6eb0ccd573d95d664cdb25a1d0444bb8cd27609cdd6de3796152cf13b738b00f0c2988fa7f3ae8089d7e29b @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = tab +indent_size = 2 +trim_trailing_whitespace = true diff --git a/.pnpm-store/v3/files/0c/8220eedb3c6dd44ac09449ad4332fcf20211a41968f199dba96c4b1f4c252c08852adc7479fbfc2f16f979a71bfaca8ba05a45ccfe24ed340a366d7b26c3b7-index.json b/.pnpm-store/v3/files/0c/8220eedb3c6dd44ac09449ad4332fcf20211a41968f199dba96c4b1f4c252c08852adc7479fbfc2f16f979a71bfaca8ba05a45ccfe24ed340a366d7b26c3b7-index.json new file mode 100644 index 00000000..6d11fd12 --- /dev/null +++ b/.pnpm-store/v3/files/0c/8220eedb3c6dd44ac09449ad4332fcf20211a41968f199dba96c4b1f4c252c08852adc7479fbfc2f16f979a71bfaca8ba05a45ccfe24ed340a366d7b26c3b7-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001725499,"integrity":"sha512-3Gto0TuM+VlkS5NfEZKwLHGqelz2U71DtEgPqJ7sjU0/FqInjsjDtAqx/bIzsxc6eP2DWQ1vc54Mno/1bCglVw==","mode":420,"size":11357},"NOTICE":{"checkedAt":1708001725499,"integrity":"sha512-6xGkhuyxAqkLZujXyshNF3Qi5uI8+Gi2R9Wu9nBet0MIHQF7wdrjwDgnYS+l8UxR5Oa8/rYvPRVqhSGgNdgCSg==","mode":420,"size":1174},"lib/constants.js":{"checkedAt":1708001725499,"integrity":"sha512-gw81dkNQplLsvWbzATfTPM4hJ4oHGKuQL2+ee5yLPbAlweng8yQLb15xUPKGmuW0/1spthSIyw/zhPpGXJ8FRQ==","mode":420,"size":247},"index.js":{"checkedAt":1708001725499,"integrity":"sha512-UUOKUCkwaGjk3Ua7bdVh9JE4LRZ3EhDW9TI9F4tpfNacp2PEJ7W2SNw2Amj0ksHDTauB+tQADkra8VjqwHAD4Q==","mode":420,"size":164},"lib/posix.js":{"checkedAt":1708001725499,"integrity":"sha512-D84YIjhfGfniu4PyzVBz4Np0dz1pfszL5Ozd5MBmNUYRjmVCBKgKIAINiv92Sxjx/iA/Z7u/kF0NRK4J7SpHQA==","mode":420,"size":5991},"lib/shared.js":{"checkedAt":1708001725500,"integrity":"sha512-3aHwhsDzV9vVIQK7KksphTuevuhvpVDJkO76ySd4+vzyhws4zxx2HpeDn6v082LOcKQFBMKtrvmnx7VKhTY8gA==","mode":420,"size":1888},"lib/win32.js":{"checkedAt":1708001725500,"integrity":"sha512-Mijqi/xA4sULSHqDxsEfmaPjVe97bYBLnDC2eVJFievPoZRMhOTdJaL2doToNgJqra3aYdiKk2BK56BWM+Hpkg==","mode":420,"size":13427},"package.json":{"checkedAt":1708001725500,"integrity":"sha512-IHl6+vFsxPYzKb0j4b1b7drN/8v+owmKnZjAHxfyizNXXmvzrfF9QGgfpOvuOnHQWc2tES2Ps/qcbCSZylC2Tg==","mode":420,"size":659},"README.md":{"checkedAt":1708001725500,"integrity":"sha512-vQRzNUGWXI0+EBHQwSwOUMP6P3Ip0DOIa9inbjNPTX8dBBfSL7mlI/Vzc+fnfR8Z3w6MqD2a47Fk6eoInyHSiw==","mode":420,"size":225}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/0c/b953ffc3f1dec804100d92e402184017dee8bba442657e96bc42a12a6e610fc2063081969084d51cc01dcf0b3698aea949b1f1d888114c43f2f9bd8662f4d6 b/.pnpm-store/v3/files/0c/b953ffc3f1dec804100d92e402184017dee8bba442657e96bc42a12a6e610fc2063081969084d51cc01dcf0b3698aea949b1f1d888114c43f2f9bd8662f4d6 new file mode 100644 index 00000000..1bb544a9 --- /dev/null +++ b/.pnpm-store/v3/files/0c/b953ffc3f1dec804100d92e402184017dee8bba442657e96bc42a12a6e610fc2063081969084d51cc01dcf0b3698aea949b1f1d888114c43f2f9bd8662f4d6 @@ -0,0 +1 @@ +module.exports={C:{"78":0.00157,"79":0.00157,"95":0.01258,"96":0.00157,"113":0.00157,"115":0.51437,"117":0.00157,"120":0.00472,"121":0.18404,"122":0.02202,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 116 118 119 123 124 125 3.5 3.6"},D:{"59":0.00157,"61":0.00472,"69":0.00157,"74":0.00315,"78":0.00157,"81":0.02517,"87":0.00472,"88":0.12899,"93":0.01888,"94":0.00315,"99":0.00787,"103":0.02202,"104":0.00315,"105":0.00629,"107":0.00629,"108":0.00629,"109":0.64808,"110":0.00944,"111":0.06607,"112":0.34134,"113":0.00944,"114":0.02674,"115":0.02989,"116":0.04876,"117":0.01101,"118":0.01101,"119":0.1809,"120":3.78778,"121":0.15101,"122":0.00157,"123":0.00157,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 75 76 77 79 80 83 84 85 86 89 90 91 92 95 96 97 98 100 101 102 106 124"},F:{"102":0.00157,"105":0.02202,"106":0.02831,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00472,"14":0.00157,"15":0.00157,"17":0.00157,"18":0.00629,"84":0.00315,"92":0.00472,"108":0.01258,"109":0.00629,"111":0.00157,"112":0.01888,"113":0.01416,"114":0.00472,"115":0.01573,"116":0.00472,"117":0.00944,"118":0.01258,"119":0.0755,"120":0.99256,"121":0.18247,_:"13 16 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110"},E:{"14":0.01258,"15":0.01416,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 17.4","13.1":0.00157,"14.1":0.04876,"15.4":0.00157,"15.5":0.00472,"15.6":0.06135,"16.0":0.00472,"16.1":0.00472,"16.2":0.00157,"16.3":0.02202,"16.4":0.08966,"16.5":0.07236,"16.6":0.03618,"17.0":0.00629,"17.1":0.04562,"17.2":0.05977,"17.3":0.00315},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00057,"5.0-5.1":0.00086,"6.0-6.1":0.00143,"7.0-7.1":0.002,"8.1-8.4":0.00029,"9.0-9.2":0.00171,"9.3":0.00657,"10.0-10.2":0.00057,"10.3":0.01028,"11.0-11.2":0.004,"11.3-11.4":0.00429,"12.0-12.1":0.00257,"12.2-12.5":0.05085,"13.0-13.1":0.00086,"13.2":0.00943,"13.3":0.00257,"13.4-13.7":0.01143,"14.0-14.4":0.02,"14.5-14.8":0.03057,"15.0-15.1":0.01314,"15.2-15.3":0.01514,"15.4":0.01771,"15.5":0.02343,"15.6-15.8":0.18255,"16.0":0.05485,"16.1":0.11684,"16.2":0.05314,"16.3":0.09884,"16.4":0.022,"16.5":0.04685,"16.6-16.7":0.38338,"17.0":0.06371,"17.1":0.65677,"17.2":0.88902,"17.3":0.05714},P:{"4":0.02033,"20":0.01016,"21":0.12197,"22":0.1728,"23":0.87415,_:"5.0-5.4 6.2-6.4 8.2 9.2 11.1-11.2","7.2-7.4":0.20329,"10.1":0.05082,"12.0":0.01016,"13.0":0.01016,"14.0":0.13214,"15.0":0.05082,"16.0":0.08132,"17.0":0.02033,"18.0":0.03049,"19.0":0.18296},I:{"0":0.05034,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00013},A:{"11":0.02045,_:"6 7 8 9 10 5.5"},K:{"0":0.11641,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.41292},H:{"0":0.01},L:{"0":86.13813},R:{_:"0"},M:{"0":0.05056}}; diff --git a/.pnpm-store/v3/files/0c/d264fafc265927217327d075902eb3d328d3311d368cb261eba636b949ab03a9ea499b44f0d452632d8b52d971c0979fe8bb2ef72f6e53f2fef74cdae0aacc b/.pnpm-store/v3/files/0c/d264fafc265927217327d075902eb3d328d3311d368cb261eba636b949ab03a9ea499b44f0d452632d8b52d971c0979fe8bb2ef72f6e53f2fef74cdae0aacc new file mode 100644 index 00000000..292ff4af --- /dev/null +++ b/.pnpm-store/v3/files/0c/d264fafc265927217327d075902eb3d328d3311d368cb261eba636b949ab03a9ea499b44f0d452632d8b52d971c0979fe8bb2ef72f6e53f2fef74cdae0aacc @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"C K L G M N O","2":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","386":"r s"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:6,C:"Dynamic Adaptive Streaming over HTTP (MPEG-DASH)",D:true}; diff --git a/.pnpm-store/v3/files/0d/1e3d8f9a3d44de29eefd8f56783f69194bd89552c3adf118809c85887782219114ee24b07338afe7db73116e88d8db46174f89f3cefd92eaaa1145a996b8c2 b/.pnpm-store/v3/files/0d/1e3d8f9a3d44de29eefd8f56783f69194bd89552c3adf118809c85887782219114ee24b07338afe7db73116e88d8db46174f89f3cefd92eaaa1145a996b8c2 new file mode 100644 index 00000000..33a2ff57 --- /dev/null +++ b/.pnpm-store/v3/files/0d/1e3d8f9a3d44de29eefd8f56783f69194bd89552c3adf118809c85887782219114ee24b07338afe7db73116e88d8db46174f89f3cefd92eaaa1145a996b8c2 @@ -0,0 +1,82 @@ +{ + "name": "side-channel", + "version": "1.0.5", + "description": "Store information about any JS value in a side channel. Uses WeakMap if available.", + "main": "index.js", + "exports": { + "./package.json": "./package.json", + ".": [ + { + "default": "./index.js" + }, + "./index.js" + ] + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prelint": "eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')", + "lint": "eslint --ext=js,mjs .", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "aud --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/side-channel.git" + }, + "keywords": [ + "weakmap", + "map", + "side", + "channel", + "metadata" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/side-channel/issues" + }, + "homepage": "https://github.com/ljharb/side-channel#readme", + "devDependencies": { + "@ljharb/eslint-config": "^21.1.0", + "aud": "^2.0.4", + "auto-changelog": "^2.4.0", + "eclint": "^2.8.1", + "eslint": "=8.8.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.7.4" + }, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/.pnpm-store/v3/files/0d/44d826fe6b1b4b0816ffcb4c695b337b49f38bf3a6aecc221e1380f6c40b9483a2cc5d5cd8a4ae5e6f6ca97de86c6cfaf40fb6645717a1ca6f9b8d7cd63741 b/.pnpm-store/v3/files/0d/44d826fe6b1b4b0816ffcb4c695b337b49f38bf3a6aecc221e1380f6c40b9483a2cc5d5cd8a4ae5e6f6ca97de86c6cfaf40fb6645717a1ca6f9b8d7cd63741 new file mode 100644 index 00000000..8d2e3075 --- /dev/null +++ b/.pnpm-store/v3/files/0d/44d826fe6b1b4b0816ffcb4c695b337b49f38bf3a6aecc221e1380f6c40b9483a2cc5d5cd8a4ae5e6f6ca97de86c6cfaf40fb6645717a1ca6f9b8d7cd63741 @@ -0,0 +1 @@ +module.exports={C:{"50":0.00948,"52":0.00474,"73":0.03791,"78":0.00948,"88":0.00948,"91":0.00474,"109":0.00474,"110":0.00474,"115":0.2796,"116":0.00474,"117":0.00474,"119":0.00948,"120":0.03791,"121":1.10893,"122":0.26538,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 111 112 113 114 118 123 124 125 3.5 3.6"},D:{"29":0.00948,"38":0.00948,"43":0.00474,"44":0.00474,"45":0.00474,"46":0.00474,"47":0.00474,"51":0.00474,"55":0.00474,"56":0.00948,"65":0.00474,"67":0.00474,"70":0.00474,"73":0.00948,"79":0.0237,"80":0.01422,"83":0.01422,"85":0.00474,"86":0.02843,"87":0.0237,"88":0.00474,"89":0.00474,"91":0.02843,"92":0.00474,"93":0.00474,"96":0.01422,"98":0.00948,"99":0.01422,"101":0.00474,"102":0.00948,"103":0.04265,"104":0.00474,"105":0.00474,"106":0.01896,"107":0.00474,"108":0.0237,"109":0.62081,"110":0.00948,"111":0.00948,"112":0.01422,"113":0.00948,"114":0.03317,"115":0.01422,"116":0.1943,"117":0.09004,"118":0.10426,"119":16.26425,"120":17.19783,"121":1.2274,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 39 40 41 42 48 49 50 52 53 54 57 58 59 60 61 62 63 64 66 68 69 71 72 74 75 76 77 78 81 84 90 94 95 97 100 122 123 124"},F:{"28":0.00474,"95":0.0237,"104":0.00474,"105":1.2511,"106":0.7535,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00948,"18":0.00474,"92":0.01896,"100":0.00474,"109":0.01896,"114":0.00474,"116":0.00474,"117":0.00474,"118":0.00948,"119":0.05213,"120":2.94292,"121":0.45968,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115"},E:{"9":0.00948,"13":0.00948,"14":0.00948,_:"0 4 5 6 7 8 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00474,"13.1":0.03317,"14.1":0.05213,"15.1":0.00948,"15.2-15.3":0.00474,"15.4":0.01422,"15.5":0.0237,"15.6":0.22273,"16.0":0.0237,"16.1":0.04265,"16.2":0.04739,"16.3":0.07582,"16.4":0.03317,"16.5":0.07109,"16.6":0.29856,"17.0":0.04739,"17.1":0.56868,"17.2":0.80089,"17.3":0.08056},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00231,"5.0-5.1":0.00347,"6.0-6.1":0.00578,"7.0-7.1":0.00809,"8.1-8.4":0.00116,"9.0-9.2":0.00693,"9.3":0.02657,"10.0-10.2":0.00231,"10.3":0.04158,"11.0-11.2":0.01617,"11.3-11.4":0.01733,"12.0-12.1":0.0104,"12.2-12.5":0.20561,"13.0-13.1":0.00347,"13.2":0.03812,"13.3":0.0104,"13.4-13.7":0.0462,"14.0-14.4":0.08086,"14.5-14.8":0.1236,"15.0-15.1":0.05313,"15.2-15.3":0.06122,"15.4":0.07162,"15.5":0.09472,"15.6-15.8":0.73811,"16.0":0.22178,"16.1":0.47243,"16.2":0.21485,"16.3":0.39966,"16.4":0.08894,"16.5":0.18944,"16.6-16.7":1.55014,"17.0":0.25759,"17.1":2.65557,"17.2":3.59466,"17.3":0.23102},P:{"4":0.04139,"20":0.03104,"21":0.05174,"22":0.07243,"23":2.18333,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0 16.0","6.2-6.4":0.01035,"7.2-7.4":0.06209,"13.0":0.01035,"14.0":0.01035,"17.0":0.0207,"18.0":0.01035,"19.0":0.0207},I:{"0":0.07855,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00021},A:{"7":0.00474,"8":0.0237,"9":0.00474,"10":0.00474,"11":0.03317,_:"6 5.5"},K:{"0":0.263,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00526,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.07364},H:{"0":0},L:{"0":38.64684},R:{_:"0"},M:{"0":0.263}}; diff --git a/.pnpm-store/v3/files/0d/70da2d3520253324973bfe511dd3f1dde07c5867d15d4f82343f473c7e65f4edde570a84fb32a433c83d076d5af2616cabe7540b0bc9a57bae533820659811 b/.pnpm-store/v3/files/0d/70da2d3520253324973bfe511dd3f1dde07c5867d15d4f82343f473c7e65f4edde570a84fb32a433c83d076d5af2616cabe7540b0bc9a57bae533820659811 new file mode 100644 index 00000000..500cdca5 --- /dev/null +++ b/.pnpm-store/v3/files/0d/70da2d3520253324973bfe511dd3f1dde07c5867d15d4f82343f473c7e65f4edde570a84fb32a433c83d076d5af2616cabe7540b0bc9a57bae533820659811 @@ -0,0 +1 @@ +module.exports={C:{"52":0.04812,"72":0.00535,"78":0.02674,"84":0.00535,"88":0.01604,"98":0.00535,"99":0.00535,"101":0.00535,"102":0.00535,"103":0.00535,"104":0.00535,"105":0.00535,"106":0.01069,"108":0.02139,"109":0.00535,"110":0.00535,"111":0.01604,"112":0.01069,"113":0.01069,"115":0.4438,"116":0.01069,"117":0.00535,"118":0.00535,"119":0.02139,"120":8.15418,"121":2.17088,"122":0.52935,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 85 86 87 89 90 91 92 93 94 95 96 97 100 107 114 123 124 125 3.5 3.6"},D:{"41":0.02139,"43":0.00535,"47":0.00535,"49":0.03743,"53":0.01069,"56":0.00535,"63":0.00535,"70":0.00535,"75":0.01069,"76":0.00535,"77":0.02139,"79":0.19249,"80":0.00535,"81":0.06416,"84":0.00535,"85":0.00535,"86":0.00535,"87":0.10159,"88":0.01604,"89":0.00535,"90":0.01069,"91":0.00535,"92":0.00535,"93":0.01069,"94":0.01604,"95":0.01069,"96":0.01069,"97":0.01069,"98":0.00535,"99":0.02139,"100":0.00535,"102":0.01069,"103":0.06416,"104":0.00535,"105":0.03208,"106":0.03208,"107":0.01604,"108":0.02139,"109":1.56132,"110":0.00535,"111":0.02139,"112":0.02674,"113":0.01069,"114":0.04812,"115":0.01604,"116":0.12833,"117":0.06416,"118":0.08555,"119":8.37875,"120":20.95489,"121":1.93561,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 44 45 46 48 50 51 52 54 55 57 58 59 60 61 62 64 65 66 67 68 69 71 72 73 74 78 83 101 122 123 124"},F:{"28":0.00535,"46":0.02139,"85":0.00535,"86":0.00535,"89":0.00535,"95":0.07486,"102":0.00535,"104":0.00535,"105":0.83413,"106":0.90899,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.01069,"107":0.00535,"108":0.00535,"109":0.06951,"110":0.00535,"112":0.00535,"113":0.00535,"114":0.00535,"115":0.00535,"116":0.00535,"117":0.00535,"118":0.01069,"119":0.04812,"120":2.54517,"121":0.37429,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 111"},E:{"9":0.00535,"14":0.03208,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00535,"13.1":0.03208,"14.1":0.04278,"15.1":0.00535,"15.2-15.3":0.00535,"15.4":0.01604,"15.5":0.01069,"15.6":0.11763,"16.0":0.02139,"16.1":0.05882,"16.2":0.01604,"16.3":0.04812,"16.4":0.02139,"16.5":0.02139,"16.6":0.14437,"17.0":0.02674,"17.1":0.23527,"17.2":0.31547,"17.3":0.02139},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00161,"5.0-5.1":0.00241,"6.0-6.1":0.00402,"7.0-7.1":0.00563,"8.1-8.4":0.0008,"9.0-9.2":0.00482,"9.3":0.01848,"10.0-10.2":0.00161,"10.3":0.02893,"11.0-11.2":0.01125,"11.3-11.4":0.01205,"12.0-12.1":0.00723,"12.2-12.5":0.14304,"13.0-13.1":0.00241,"13.2":0.02652,"13.3":0.00723,"13.4-13.7":0.03214,"14.0-14.4":0.05625,"14.5-14.8":0.08598,"15.0-15.1":0.03696,"15.2-15.3":0.04259,"15.4":0.04982,"15.5":0.06589,"15.6-15.8":0.51348,"16.0":0.15429,"16.1":0.32866,"16.2":0.14946,"16.3":0.27804,"16.4":0.06188,"16.5":0.13179,"16.6-16.7":1.0784,"17.0":0.1792,"17.1":1.84741,"17.2":2.50072,"17.3":0.16071},P:{"4":0.333,"20":0.03122,"21":0.06244,"22":0.07284,"23":2.95538,"5.0-5.4":0.04163,"6.2-6.4":0.04163,_:"7.2-7.4 8.2 9.2 12.0 15.0","10.1":0.01041,"11.1-11.2":0.01041,"13.0":0.02081,"14.0":0.01041,"16.0":0.01041,"17.0":0.01041,"18.0":0.01041,"19.0":0.03122},I:{"0":0.05096,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00013},A:{"8":0.01069,"11":0.66838,_:"6 7 9 10 5.5"},K:{"0":0.47926,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.06514},H:{"0":0},L:{"0":34.44867},R:{_:"0"},M:{"0":0.26522}}; diff --git a/.pnpm-store/v3/files/0d/805d713d78b971c6c072f339684165ba365cbae099b79fbed19a56af62a0e28bfac379350e7b2f8347eb28a806dd0e444a4bea6143c4366a3fc9e536bd3042 b/.pnpm-store/v3/files/0d/805d713d78b971c6c072f339684165ba365cbae099b79fbed19a56af62a0e28bfac379350e7b2f8347eb28a806dd0e444a4bea6143c4366a3fc9e536bd3042 new file mode 100644 index 00000000..7f5c5e01 --- /dev/null +++ b/.pnpm-store/v3/files/0d/805d713d78b971c6c072f339684165ba365cbae099b79fbed19a56af62a0e28bfac379350e7b2f8347eb28a806dd0e444a4bea6143c4366a3fc9e536bd3042 @@ -0,0 +1 @@ +module.exports={C:{"52":0.00424,"78":0.00424,"88":0.00424,"102":0.00424,"108":0.00424,"115":0.08896,"118":0.00847,"119":0.00847,"120":0.02118,"121":0.73706,"122":0.10166,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 109 110 111 112 113 114 116 117 123 124 125 3.5 3.6"},D:{"29":0.05083,"62":0.00424,"65":0.00424,"69":0.00847,"79":0.01271,"80":0.00424,"83":0.02118,"87":0.02118,"91":0.01271,"92":0.08896,"93":0.02965,"95":0.00424,"96":0.00424,"98":0.06778,"99":0.02965,"103":0.09319,"104":0.00424,"105":0.00424,"108":0.02542,"109":0.54644,"110":0.00424,"111":0.09319,"112":0.00847,"113":0.00424,"114":0.04236,"115":0.01694,"116":0.30499,"117":0.02542,"118":0.10166,"119":0.74977,"120":21.60784,"121":1.91467,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 63 64 66 67 68 70 71 72 73 74 75 76 77 78 81 84 85 86 88 89 90 94 97 100 101 102 106 107 122 123 124"},F:{"99":0.00424,"104":0.00424,"105":0.79213,"106":0.22451,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"81":0.00424,"92":0.10166,"98":0.00424,"103":0.00424,"106":0.01271,"109":0.02542,"110":0.0593,"114":0.00847,"117":0.00847,"118":0.00424,"119":0.03812,"120":6.12526,"121":0.60151,_:"12 13 14 15 16 17 18 79 80 83 84 85 86 87 88 89 90 91 93 94 95 96 97 99 100 101 102 104 105 107 108 111 112 113 115 116"},E:{"14":0.02118,"15":0.04236,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1","11.1":0.00424,"13.1":0.07625,"14.1":0.22451,"15.1":0.0466,"15.2-15.3":0.08896,"15.4":0.01694,"15.5":0.2584,"15.6":0.33041,"16.0":0.00847,"16.1":0.77095,"16.2":0.0593,"16.3":0.3643,"16.4":0.13555,"16.5":0.20333,"16.6":0.99546,"17.0":0.13555,"17.1":1.19032,"17.2":1.83419,"17.3":0.07625,"17.4":0.00424},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00537,"5.0-5.1":0.00805,"6.0-6.1":0.01342,"7.0-7.1":0.01878,"8.1-8.4":0.00268,"9.0-9.2":0.0161,"9.3":0.06171,"10.0-10.2":0.00537,"10.3":0.09659,"11.0-11.2":0.03756,"11.3-11.4":0.04025,"12.0-12.1":0.02415,"12.2-12.5":0.4776,"13.0-13.1":0.00805,"13.2":0.08854,"13.3":0.02415,"13.4-13.7":0.10733,"14.0-14.4":0.18782,"14.5-14.8":0.2871,"15.0-15.1":0.12342,"15.2-15.3":0.14221,"15.4":0.16635,"15.5":0.22002,"15.6-15.8":1.71453,"16.0":0.51516,"16.1":1.09741,"16.2":0.49906,"16.3":0.92837,"16.4":0.2066,"16.5":0.44004,"16.6-16.7":3.60078,"17.0":0.59834,"17.1":6.16854,"17.2":8.34994,"17.3":0.53663},P:{"4":0.22044,"20":0.03149,"21":0.04199,"22":0.04199,"23":6.32976,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0 16.0 18.0","6.2-6.4":0.0105,"7.2-7.4":0.03149,"13.0":0.0105,"14.0":0.0105,"17.0":0.0105,"19.0":0.0105},I:{"0":0.01148,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"10":0.00424,_:"6 7 8 9 11 5.5"},K:{"0":0.0634,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.0807},H:{"0":0},L:{"0":23.57488},R:{_:"0"},M:{"0":0.37466}}; diff --git a/.pnpm-store/v3/files/0d/8931c729640bce6fda66b91bd6356433669f6b6caaf7b26ef81d372226accfc2e1796e9cd4d85573c5460978093f16c669c3ba45e4d95545c2763b6aa01a99 b/.pnpm-store/v3/files/0d/8931c729640bce6fda66b91bd6356433669f6b6caaf7b26ef81d372226accfc2e1796e9cd4d85573c5460978093f16c669c3ba45e4d95545c2763b6aa01a99 new file mode 100644 index 00000000..8752893c --- /dev/null +++ b/.pnpm-store/v3/files/0d/8931c729640bce6fda66b91bd6356433669f6b6caaf7b26ef81d372226accfc2e1796e9cd4d85573c5460978093f16c669c3ba45e4d95545c2763b6aa01a99 @@ -0,0 +1,973 @@ +'use strict'; + +const { EventEmitter } = require('events'); +const fs = require('fs'); +const sysPath = require('path'); +const { promisify } = require('util'); +const readdirp = require('readdirp'); +const anymatch = require('anymatch').default; +const globParent = require('glob-parent'); +const isGlob = require('is-glob'); +const braces = require('braces'); +const normalizePath = require('normalize-path'); + +const NodeFsHandler = require('./lib/nodefs-handler'); +const FsEventsHandler = require('./lib/fsevents-handler'); +const { + EV_ALL, + EV_READY, + EV_ADD, + EV_CHANGE, + EV_UNLINK, + EV_ADD_DIR, + EV_UNLINK_DIR, + EV_RAW, + EV_ERROR, + + STR_CLOSE, + STR_END, + + BACK_SLASH_RE, + DOUBLE_SLASH_RE, + SLASH_OR_BACK_SLASH_RE, + DOT_RE, + REPLACER_RE, + + SLASH, + SLASH_SLASH, + BRACE_START, + BANG, + ONE_DOT, + TWO_DOTS, + GLOBSTAR, + SLASH_GLOBSTAR, + ANYMATCH_OPTS, + STRING_TYPE, + FUNCTION_TYPE, + EMPTY_STR, + EMPTY_FN, + + isWindows, + isMacos, + isIBMi +} = require('./lib/constants'); + +const stat = promisify(fs.stat); +const readdir = promisify(fs.readdir); + +/** + * @typedef {String} Path + * @typedef {'all'|'add'|'addDir'|'change'|'unlink'|'unlinkDir'|'raw'|'error'|'ready'} EventName + * @typedef {'readdir'|'watch'|'add'|'remove'|'change'} ThrottleType + */ + +/** + * + * @typedef {Object} WatchHelpers + * @property {Boolean} followSymlinks + * @property {'stat'|'lstat'} statMethod + * @property {Path} path + * @property {Path} watchPath + * @property {Function} entryPath + * @property {Boolean} hasGlob + * @property {Object} globFilter + * @property {Function} filterPath + * @property {Function} filterDir + */ + +const arrify = (value = []) => Array.isArray(value) ? value : [value]; +const flatten = (list, result = []) => { + list.forEach(item => { + if (Array.isArray(item)) { + flatten(item, result); + } else { + result.push(item); + } + }); + return result; +}; + +const unifyPaths = (paths_) => { + /** + * @type {Array} + */ + const paths = flatten(arrify(paths_)); + if (!paths.every(p => typeof p === STRING_TYPE)) { + throw new TypeError(`Non-string provided as watch path: ${paths}`); + } + return paths.map(normalizePathToUnix); +}; + +// If SLASH_SLASH occurs at the beginning of path, it is not replaced +// because "//StoragePC/DrivePool/Movies" is a valid network path +const toUnix = (string) => { + let str = string.replace(BACK_SLASH_RE, SLASH); + let prepend = false; + if (str.startsWith(SLASH_SLASH)) { + prepend = true; + } + while (str.match(DOUBLE_SLASH_RE)) { + str = str.replace(DOUBLE_SLASH_RE, SLASH); + } + if (prepend) { + str = SLASH + str; + } + return str; +}; + +// Our version of upath.normalize +// TODO: this is not equal to path-normalize module - investigate why +const normalizePathToUnix = (path) => toUnix(sysPath.normalize(toUnix(path))); + +const normalizeIgnored = (cwd = EMPTY_STR) => (path) => { + if (typeof path !== STRING_TYPE) return path; + return normalizePathToUnix(sysPath.isAbsolute(path) ? path : sysPath.join(cwd, path)); +}; + +const getAbsolutePath = (path, cwd) => { + if (sysPath.isAbsolute(path)) { + return path; + } + if (path.startsWith(BANG)) { + return BANG + sysPath.join(cwd, path.slice(1)); + } + return sysPath.join(cwd, path); +}; + +const undef = (opts, key) => opts[key] === undefined; + +/** + * Directory entry. + * @property {Path} path + * @property {Set} items + */ +class DirEntry { + /** + * @param {Path} dir + * @param {Function} removeWatcher + */ + constructor(dir, removeWatcher) { + this.path = dir; + this._removeWatcher = removeWatcher; + /** @type {Set} */ + this.items = new Set(); + } + + add(item) { + const {items} = this; + if (!items) return; + if (item !== ONE_DOT && item !== TWO_DOTS) items.add(item); + } + + async remove(item) { + const {items} = this; + if (!items) return; + items.delete(item); + if (items.size > 0) return; + + const dir = this.path; + try { + await readdir(dir); + } catch (err) { + if (this._removeWatcher) { + this._removeWatcher(sysPath.dirname(dir), sysPath.basename(dir)); + } + } + } + + has(item) { + const {items} = this; + if (!items) return; + return items.has(item); + } + + /** + * @returns {Array} + */ + getChildren() { + const {items} = this; + if (!items) return; + return [...items.values()]; + } + + dispose() { + this.items.clear(); + delete this.path; + delete this._removeWatcher; + delete this.items; + Object.freeze(this); + } +} + +const STAT_METHOD_F = 'stat'; +const STAT_METHOD_L = 'lstat'; +class WatchHelper { + constructor(path, watchPath, follow, fsw) { + this.fsw = fsw; + this.path = path = path.replace(REPLACER_RE, EMPTY_STR); + this.watchPath = watchPath; + this.fullWatchPath = sysPath.resolve(watchPath); + this.hasGlob = watchPath !== path; + /** @type {object|boolean} */ + if (path === EMPTY_STR) this.hasGlob = false; + this.globSymlink = this.hasGlob && follow ? undefined : false; + this.globFilter = this.hasGlob ? anymatch(path, undefined, ANYMATCH_OPTS) : false; + this.dirParts = this.getDirParts(path); + this.dirParts.forEach((parts) => { + if (parts.length > 1) parts.pop(); + }); + this.followSymlinks = follow; + this.statMethod = follow ? STAT_METHOD_F : STAT_METHOD_L; + } + + checkGlobSymlink(entry) { + // only need to resolve once + // first entry should always have entry.parentDir === EMPTY_STR + if (this.globSymlink === undefined) { + this.globSymlink = entry.fullParentDir === this.fullWatchPath ? + false : {realPath: entry.fullParentDir, linkPath: this.fullWatchPath}; + } + + if (this.globSymlink) { + return entry.fullPath.replace(this.globSymlink.realPath, this.globSymlink.linkPath); + } + + return entry.fullPath; + } + + entryPath(entry) { + return sysPath.join(this.watchPath, + sysPath.relative(this.watchPath, this.checkGlobSymlink(entry)) + ); + } + + filterPath(entry) { + const {stats} = entry; + if (stats && stats.isSymbolicLink()) return this.filterDir(entry); + const resolvedPath = this.entryPath(entry); + const matchesGlob = this.hasGlob && typeof this.globFilter === FUNCTION_TYPE ? + this.globFilter(resolvedPath) : true; + return matchesGlob && + this.fsw._isntIgnored(resolvedPath, stats) && + this.fsw._hasReadPermissions(stats); + } + + getDirParts(path) { + if (!this.hasGlob) return []; + const parts = []; + const expandedPath = path.includes(BRACE_START) ? braces.expand(path) : [path]; + expandedPath.forEach((path) => { + parts.push(sysPath.relative(this.watchPath, path).split(SLASH_OR_BACK_SLASH_RE)); + }); + return parts; + } + + filterDir(entry) { + if (this.hasGlob) { + const entryParts = this.getDirParts(this.checkGlobSymlink(entry)); + let globstar = false; + this.unmatchedGlob = !this.dirParts.some((parts) => { + return parts.every((part, i) => { + if (part === GLOBSTAR) globstar = true; + return globstar || !entryParts[0][i] || anymatch(part, entryParts[0][i], ANYMATCH_OPTS); + }); + }); + } + return !this.unmatchedGlob && this.fsw._isntIgnored(this.entryPath(entry), entry.stats); + } +} + +/** + * Watches files & directories for changes. Emitted events: + * `add`, `addDir`, `change`, `unlink`, `unlinkDir`, `all`, `error` + * + * new FSWatcher() + * .add(directories) + * .on('add', path => log('File', path, 'was added')) + */ +class FSWatcher extends EventEmitter { +// Not indenting methods for history sake; for now. +constructor(_opts) { + super(); + + const opts = {}; + if (_opts) Object.assign(opts, _opts); // for frozen objects + + /** @type {Map} */ + this._watched = new Map(); + /** @type {Map} */ + this._closers = new Map(); + /** @type {Set} */ + this._ignoredPaths = new Set(); + + /** @type {Map} */ + this._throttled = new Map(); + + /** @type {Map} */ + this._symlinkPaths = new Map(); + + this._streams = new Set(); + this.closed = false; + + // Set up default options. + if (undef(opts, 'persistent')) opts.persistent = true; + if (undef(opts, 'ignoreInitial')) opts.ignoreInitial = false; + if (undef(opts, 'ignorePermissionErrors')) opts.ignorePermissionErrors = false; + if (undef(opts, 'interval')) opts.interval = 100; + if (undef(opts, 'binaryInterval')) opts.binaryInterval = 300; + if (undef(opts, 'disableGlobbing')) opts.disableGlobbing = false; + opts.enableBinaryInterval = opts.binaryInterval !== opts.interval; + + // Enable fsevents on OS X when polling isn't explicitly enabled. + if (undef(opts, 'useFsEvents')) opts.useFsEvents = !opts.usePolling; + + // If we can't use fsevents, ensure the options reflect it's disabled. + const canUseFsEvents = FsEventsHandler.canUse(); + if (!canUseFsEvents) opts.useFsEvents = false; + + // Use polling on Mac if not using fsevents. + // Other platforms use non-polling fs_watch. + if (undef(opts, 'usePolling') && !opts.useFsEvents) { + opts.usePolling = isMacos; + } + + // Always default to polling on IBM i because fs.watch() is not available on IBM i. + if(isIBMi) { + opts.usePolling = true; + } + + // Global override (useful for end-developers that need to force polling for all + // instances of chokidar, regardless of usage/dependency depth) + const envPoll = process.env.CHOKIDAR_USEPOLLING; + if (envPoll !== undefined) { + const envLower = envPoll.toLowerCase(); + + if (envLower === 'false' || envLower === '0') { + opts.usePolling = false; + } else if (envLower === 'true' || envLower === '1') { + opts.usePolling = true; + } else { + opts.usePolling = !!envLower; + } + } + const envInterval = process.env.CHOKIDAR_INTERVAL; + if (envInterval) { + opts.interval = Number.parseInt(envInterval, 10); + } + + // Editor atomic write normalization enabled by default with fs.watch + if (undef(opts, 'atomic')) opts.atomic = !opts.usePolling && !opts.useFsEvents; + if (opts.atomic) this._pendingUnlinks = new Map(); + + if (undef(opts, 'followSymlinks')) opts.followSymlinks = true; + + if (undef(opts, 'awaitWriteFinish')) opts.awaitWriteFinish = false; + if (opts.awaitWriteFinish === true) opts.awaitWriteFinish = {}; + const awf = opts.awaitWriteFinish; + if (awf) { + if (!awf.stabilityThreshold) awf.stabilityThreshold = 2000; + if (!awf.pollInterval) awf.pollInterval = 100; + this._pendingWrites = new Map(); + } + if (opts.ignored) opts.ignored = arrify(opts.ignored); + + let readyCalls = 0; + this._emitReady = () => { + readyCalls++; + if (readyCalls >= this._readyCount) { + this._emitReady = EMPTY_FN; + this._readyEmitted = true; + // use process.nextTick to allow time for listener to be bound + process.nextTick(() => this.emit(EV_READY)); + } + }; + this._emitRaw = (...args) => this.emit(EV_RAW, ...args); + this._readyEmitted = false; + this.options = opts; + + // Initialize with proper watcher. + if (opts.useFsEvents) { + this._fsEventsHandler = new FsEventsHandler(this); + } else { + this._nodeFsHandler = new NodeFsHandler(this); + } + + // You’re frozen when your heart’s not open. + Object.freeze(opts); +} + +// Public methods + +/** + * Adds paths to be watched on an existing FSWatcher instance + * @param {Path|Array} paths_ + * @param {String=} _origAdd private; for handling non-existent paths to be watched + * @param {Boolean=} _internal private; indicates a non-user add + * @returns {FSWatcher} for chaining + */ +add(paths_, _origAdd, _internal) { + const {cwd, disableGlobbing} = this.options; + this.closed = false; + let paths = unifyPaths(paths_); + if (cwd) { + paths = paths.map((path) => { + const absPath = getAbsolutePath(path, cwd); + + // Check `path` instead of `absPath` because the cwd portion can't be a glob + if (disableGlobbing || !isGlob(path)) { + return absPath; + } + return normalizePath(absPath); + }); + } + + // set aside negated glob strings + paths = paths.filter((path) => { + if (path.startsWith(BANG)) { + this._ignoredPaths.add(path.slice(1)); + return false; + } + + // if a path is being added that was previously ignored, stop ignoring it + this._ignoredPaths.delete(path); + this._ignoredPaths.delete(path + SLASH_GLOBSTAR); + + // reset the cached userIgnored anymatch fn + // to make ignoredPaths changes effective + this._userIgnored = undefined; + + return true; + }); + + if (this.options.useFsEvents && this._fsEventsHandler) { + if (!this._readyCount) this._readyCount = paths.length; + if (this.options.persistent) this._readyCount += paths.length; + paths.forEach((path) => this._fsEventsHandler._addToFsEvents(path)); + } else { + if (!this._readyCount) this._readyCount = 0; + this._readyCount += paths.length; + Promise.all( + paths.map(async path => { + const res = await this._nodeFsHandler._addToNodeFs(path, !_internal, 0, 0, _origAdd); + if (res) this._emitReady(); + return res; + }) + ).then(results => { + if (this.closed) return; + results.filter(item => item).forEach(item => { + this.add(sysPath.dirname(item), sysPath.basename(_origAdd || item)); + }); + }); + } + + return this; +} + +/** + * Close watchers or start ignoring events from specified paths. + * @param {Path|Array} paths_ - string or array of strings, file/directory paths and/or globs + * @returns {FSWatcher} for chaining +*/ +unwatch(paths_) { + if (this.closed) return this; + const paths = unifyPaths(paths_); + const {cwd} = this.options; + + paths.forEach((path) => { + // convert to absolute path unless relative path already matches + if (!sysPath.isAbsolute(path) && !this._closers.has(path)) { + if (cwd) path = sysPath.join(cwd, path); + path = sysPath.resolve(path); + } + + this._closePath(path); + + this._ignoredPaths.add(path); + if (this._watched.has(path)) { + this._ignoredPaths.add(path + SLASH_GLOBSTAR); + } + + // reset the cached userIgnored anymatch fn + // to make ignoredPaths changes effective + this._userIgnored = undefined; + }); + + return this; +} + +/** + * Close watchers and remove all listeners from watched paths. + * @returns {Promise}. +*/ +close() { + if (this.closed) return this._closePromise; + this.closed = true; + + // Memory management. + this.removeAllListeners(); + const closers = []; + this._closers.forEach(closerList => closerList.forEach(closer => { + const promise = closer(); + if (promise instanceof Promise) closers.push(promise); + })); + this._streams.forEach(stream => stream.destroy()); + this._userIgnored = undefined; + this._readyCount = 0; + this._readyEmitted = false; + this._watched.forEach(dirent => dirent.dispose()); + ['closers', 'watched', 'streams', 'symlinkPaths', 'throttled'].forEach(key => { + this[`_${key}`].clear(); + }); + + this._closePromise = closers.length ? Promise.all(closers).then(() => undefined) : Promise.resolve(); + return this._closePromise; +} + +/** + * Expose list of watched paths + * @returns {Object} for chaining +*/ +getWatched() { + const watchList = {}; + this._watched.forEach((entry, dir) => { + const key = this.options.cwd ? sysPath.relative(this.options.cwd, dir) : dir; + watchList[key || ONE_DOT] = entry.getChildren().sort(); + }); + return watchList; +} + +emitWithAll(event, args) { + this.emit(...args); + if (event !== EV_ERROR) this.emit(EV_ALL, ...args); +} + +// Common helpers +// -------------- + +/** + * Normalize and emit events. + * Calling _emit DOES NOT MEAN emit() would be called! + * @param {EventName} event Type of event + * @param {Path} path File or directory path + * @param {*=} val1 arguments to be passed with event + * @param {*=} val2 + * @param {*=} val3 + * @returns the error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ +async _emit(event, path, val1, val2, val3) { + if (this.closed) return; + + const opts = this.options; + if (isWindows) path = sysPath.normalize(path); + if (opts.cwd) path = sysPath.relative(opts.cwd, path); + /** @type Array */ + const args = [event, path]; + if (val3 !== undefined) args.push(val1, val2, val3); + else if (val2 !== undefined) args.push(val1, val2); + else if (val1 !== undefined) args.push(val1); + + const awf = opts.awaitWriteFinish; + let pw; + if (awf && (pw = this._pendingWrites.get(path))) { + pw.lastChange = new Date(); + return this; + } + + if (opts.atomic) { + if (event === EV_UNLINK) { + this._pendingUnlinks.set(path, args); + setTimeout(() => { + this._pendingUnlinks.forEach((entry, path) => { + this.emit(...entry); + this.emit(EV_ALL, ...entry); + this._pendingUnlinks.delete(path); + }); + }, typeof opts.atomic === 'number' ? opts.atomic : 100); + return this; + } + if (event === EV_ADD && this._pendingUnlinks.has(path)) { + event = args[0] = EV_CHANGE; + this._pendingUnlinks.delete(path); + } + } + + if (awf && (event === EV_ADD || event === EV_CHANGE) && this._readyEmitted) { + const awfEmit = (err, stats) => { + if (err) { + event = args[0] = EV_ERROR; + args[1] = err; + this.emitWithAll(event, args); + } else if (stats) { + // if stats doesn't exist the file must have been deleted + if (args.length > 2) { + args[2] = stats; + } else { + args.push(stats); + } + this.emitWithAll(event, args); + } + }; + + this._awaitWriteFinish(path, awf.stabilityThreshold, event, awfEmit); + return this; + } + + if (event === EV_CHANGE) { + const isThrottled = !this._throttle(EV_CHANGE, path, 50); + if (isThrottled) return this; + } + + if (opts.alwaysStat && val1 === undefined && + (event === EV_ADD || event === EV_ADD_DIR || event === EV_CHANGE) + ) { + const fullPath = opts.cwd ? sysPath.join(opts.cwd, path) : path; + let stats; + try { + stats = await stat(fullPath); + } catch (err) {} + // Suppress event when fs_stat fails, to avoid sending undefined 'stat' + if (!stats || this.closed) return; + args.push(stats); + } + this.emitWithAll(event, args); + + return this; +} + +/** + * Common handler for errors + * @param {Error} error + * @returns {Error|Boolean} The error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ +_handleError(error) { + const code = error && error.code; + if (error && code !== 'ENOENT' && code !== 'ENOTDIR' && + (!this.options.ignorePermissionErrors || (code !== 'EPERM' && code !== 'EACCES')) + ) { + this.emit(EV_ERROR, error); + } + return error || this.closed; +} + +/** + * Helper utility for throttling + * @param {ThrottleType} actionType type being throttled + * @param {Path} path being acted upon + * @param {Number} timeout duration of time to suppress duplicate actions + * @returns {Object|false} tracking object or false if action should be suppressed + */ +_throttle(actionType, path, timeout) { + if (!this._throttled.has(actionType)) { + this._throttled.set(actionType, new Map()); + } + + /** @type {Map} */ + const action = this._throttled.get(actionType); + /** @type {Object} */ + const actionPath = action.get(path); + + if (actionPath) { + actionPath.count++; + return false; + } + + let timeoutObject; + const clear = () => { + const item = action.get(path); + const count = item ? item.count : 0; + action.delete(path); + clearTimeout(timeoutObject); + if (item) clearTimeout(item.timeoutObject); + return count; + }; + timeoutObject = setTimeout(clear, timeout); + const thr = {timeoutObject, clear, count: 0}; + action.set(path, thr); + return thr; +} + +_incrReadyCount() { + return this._readyCount++; +} + +/** + * Awaits write operation to finish. + * Polls a newly created file for size variations. When files size does not change for 'threshold' milliseconds calls callback. + * @param {Path} path being acted upon + * @param {Number} threshold Time in milliseconds a file size must be fixed before acknowledging write OP is finished + * @param {EventName} event + * @param {Function} awfEmit Callback to be called when ready for event to be emitted. + */ +_awaitWriteFinish(path, threshold, event, awfEmit) { + let timeoutHandler; + + let fullPath = path; + if (this.options.cwd && !sysPath.isAbsolute(path)) { + fullPath = sysPath.join(this.options.cwd, path); + } + + const now = new Date(); + + const awaitWriteFinish = (prevStat) => { + fs.stat(fullPath, (err, curStat) => { + if (err || !this._pendingWrites.has(path)) { + if (err && err.code !== 'ENOENT') awfEmit(err); + return; + } + + const now = Number(new Date()); + + if (prevStat && curStat.size !== prevStat.size) { + this._pendingWrites.get(path).lastChange = now; + } + const pw = this._pendingWrites.get(path); + const df = now - pw.lastChange; + + if (df >= threshold) { + this._pendingWrites.delete(path); + awfEmit(undefined, curStat); + } else { + timeoutHandler = setTimeout( + awaitWriteFinish, + this.options.awaitWriteFinish.pollInterval, + curStat + ); + } + }); + }; + + if (!this._pendingWrites.has(path)) { + this._pendingWrites.set(path, { + lastChange: now, + cancelWait: () => { + this._pendingWrites.delete(path); + clearTimeout(timeoutHandler); + return event; + } + }); + timeoutHandler = setTimeout( + awaitWriteFinish, + this.options.awaitWriteFinish.pollInterval + ); + } +} + +_getGlobIgnored() { + return [...this._ignoredPaths.values()]; +} + +/** + * Determines whether user has asked to ignore this path. + * @param {Path} path filepath or dir + * @param {fs.Stats=} stats result of fs.stat + * @returns {Boolean} + */ +_isIgnored(path, stats) { + if (this.options.atomic && DOT_RE.test(path)) return true; + if (!this._userIgnored) { + const {cwd} = this.options; + const ign = this.options.ignored; + + const ignored = ign && ign.map(normalizeIgnored(cwd)); + const paths = arrify(ignored) + .filter((path) => typeof path === STRING_TYPE && !isGlob(path)) + .map((path) => path + SLASH_GLOBSTAR); + const list = this._getGlobIgnored().map(normalizeIgnored(cwd)).concat(ignored, paths); + this._userIgnored = anymatch(list, undefined, ANYMATCH_OPTS); + } + + return this._userIgnored([path, stats]); +} + +_isntIgnored(path, stat) { + return !this._isIgnored(path, stat); +} + +/** + * Provides a set of common helpers and properties relating to symlink and glob handling. + * @param {Path} path file, directory, or glob pattern being watched + * @param {Number=} depth at any depth > 0, this isn't a glob + * @returns {WatchHelper} object containing helpers for this path + */ +_getWatchHelpers(path, depth) { + const watchPath = depth || this.options.disableGlobbing || !isGlob(path) ? path : globParent(path); + const follow = this.options.followSymlinks; + + return new WatchHelper(path, watchPath, follow, this); +} + +// Directory helpers +// ----------------- + +/** + * Provides directory tracking objects + * @param {String} directory path of the directory + * @returns {DirEntry} the directory's tracking object + */ +_getWatchedDir(directory) { + if (!this._boundRemove) this._boundRemove = this._remove.bind(this); + const dir = sysPath.resolve(directory); + if (!this._watched.has(dir)) this._watched.set(dir, new DirEntry(dir, this._boundRemove)); + return this._watched.get(dir); +} + +// File helpers +// ------------ + +/** + * Check for read permissions. + * Based on this answer on SO: https://stackoverflow.com/a/11781404/1358405 + * @param {fs.Stats} stats - object, result of fs_stat + * @returns {Boolean} indicates whether the file can be read +*/ +_hasReadPermissions(stats) { + if (this.options.ignorePermissionErrors) return true; + + // stats.mode may be bigint + const md = stats && Number.parseInt(stats.mode, 10); + const st = md & 0o777; + const it = Number.parseInt(st.toString(8)[0], 10); + return Boolean(4 & it); +} + +/** + * Handles emitting unlink events for + * files and directories, and via recursion, for + * files and directories within directories that are unlinked + * @param {String} directory within which the following item is located + * @param {String} item base path of item/directory + * @returns {void} +*/ +_remove(directory, item, isDirectory) { + // if what is being deleted is a directory, get that directory's paths + // for recursive deleting and cleaning of watched object + // if it is not a directory, nestedDirectoryChildren will be empty array + const path = sysPath.join(directory, item); + const fullPath = sysPath.resolve(path); + isDirectory = isDirectory != null + ? isDirectory + : this._watched.has(path) || this._watched.has(fullPath); + + // prevent duplicate handling in case of arriving here nearly simultaneously + // via multiple paths (such as _handleFile and _handleDir) + if (!this._throttle('remove', path, 100)) return; + + // if the only watched file is removed, watch for its return + if (!isDirectory && !this.options.useFsEvents && this._watched.size === 1) { + this.add(directory, item, true); + } + + // This will create a new entry in the watched object in either case + // so we got to do the directory check beforehand + const wp = this._getWatchedDir(path); + const nestedDirectoryChildren = wp.getChildren(); + + // Recursively remove children directories / files. + nestedDirectoryChildren.forEach(nested => this._remove(path, nested)); + + // Check if item was on the watched list and remove it + const parent = this._getWatchedDir(directory); + const wasTracked = parent.has(item); + parent.remove(item); + + // Fixes issue #1042 -> Relative paths were detected and added as symlinks + // (https://github.com/paulmillr/chokidar/blob/e1753ddbc9571bdc33b4a4af172d52cb6e611c10/lib/nodefs-handler.js#L612), + // but never removed from the map in case the path was deleted. + // This leads to an incorrect state if the path was recreated: + // https://github.com/paulmillr/chokidar/blob/e1753ddbc9571bdc33b4a4af172d52cb6e611c10/lib/nodefs-handler.js#L553 + if (this._symlinkPaths.has(fullPath)) { + this._symlinkPaths.delete(fullPath); + } + + // If we wait for this file to be fully written, cancel the wait. + let relPath = path; + if (this.options.cwd) relPath = sysPath.relative(this.options.cwd, path); + if (this.options.awaitWriteFinish && this._pendingWrites.has(relPath)) { + const event = this._pendingWrites.get(relPath).cancelWait(); + if (event === EV_ADD) return; + } + + // The Entry will either be a directory that just got removed + // or a bogus entry to a file, in either case we have to remove it + this._watched.delete(path); + this._watched.delete(fullPath); + const eventName = isDirectory ? EV_UNLINK_DIR : EV_UNLINK; + if (wasTracked && !this._isIgnored(path)) this._emit(eventName, path); + + // Avoid conflicts if we later create another file with the same name + if (!this.options.useFsEvents) { + this._closePath(path); + } +} + +/** + * Closes all watchers for a path + * @param {Path} path + */ +_closePath(path) { + this._closeFile(path) + const dir = sysPath.dirname(path); + this._getWatchedDir(dir).remove(sysPath.basename(path)); +} + +/** + * Closes only file-specific watchers + * @param {Path} path + */ +_closeFile(path) { + const closers = this._closers.get(path); + if (!closers) return; + closers.forEach(closer => closer()); + this._closers.delete(path); +} + +/** + * + * @param {Path} path + * @param {Function} closer + */ +_addPathCloser(path, closer) { + if (!closer) return; + let list = this._closers.get(path); + if (!list) { + list = []; + this._closers.set(path, list); + } + list.push(closer); +} + +_readdirp(root, opts) { + if (this.closed) return; + const options = {type: EV_ALL, alwaysStat: true, lstat: true, ...opts}; + let stream = readdirp(root, options); + this._streams.add(stream); + stream.once(STR_CLOSE, () => { + stream = undefined; + }); + stream.once(STR_END, () => { + if (stream) { + this._streams.delete(stream); + stream = undefined; + } + }); + return stream; +} + +} + +// Export FSWatcher class +exports.FSWatcher = FSWatcher; + +/** + * Instantiates watcher with paths to be tracked. + * @param {String|Array} paths file/directory paths and/or globs + * @param {Object=} options chokidar opts + * @returns an instance of FSWatcher for chaining. + */ +const watch = (paths, options) => { + const watcher = new FSWatcher(options); + watcher.add(paths); + return watcher; +}; + +exports.watch = watch; diff --git a/.pnpm-store/v3/files/0d/bca2fcf4d75be1ee45b0ca2c71675a89e263b4285e112bd51ec0084d147c6906dfea5623f4384e14c30240a2ddce0abdc1a9ae7f2a6c64840a557abc028b16 b/.pnpm-store/v3/files/0d/bca2fcf4d75be1ee45b0ca2c71675a89e263b4285e112bd51ec0084d147c6906dfea5623f4384e14c30240a2ddce0abdc1a9ae7f2a6c64840a557abc028b16 new file mode 100644 index 00000000..61a33c46 --- /dev/null +++ b/.pnpm-store/v3/files/0d/bca2fcf4d75be1ee45b0ca2c71675a89e263b4285e112bd51ec0084d147c6906dfea5623f4384e14c30240a2ddce0abdc1a9ae7f2a6c64840a557abc028b16 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB iC jC kC lC 2B QC mC 3B"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"Upgrade Insecure Requests",D:true}; diff --git a/.pnpm-store/v3/files/0d/dfc15dc07b656ffdca328c75bc0b0bb642dd09eb6f12ade501d65d416ea247fc3f8734cec4c2f5d5a3961493050adfb231c61286e5183f79cbf9706552cc5b b/.pnpm-store/v3/files/0d/dfc15dc07b656ffdca328c75bc0b0bb642dd09eb6f12ade501d65d416ea247fc3f8734cec4c2f5d5a3961493050adfb231c61286e5183f79cbf9706552cc5b new file mode 100644 index 00000000..e503fafd --- /dev/null +++ b/.pnpm-store/v3/files/0d/dfc15dc07b656ffdca328c75bc0b0bb642dd09eb6f12ade501d65d416ea247fc3f8734cec4c2f5d5a3961493050adfb231c61286e5183f79cbf9706552cc5b @@ -0,0 +1,32 @@ +{ + "name": "bare-os", + "version": "2.2.0", + "description": "Operating system utilities for Javascript", + "main": "index.js", + "files": [ + "index.js", + "binding.c", + "binding.js", + "CMakeLists.txt", + "lib", + "prebuilds" + ], + "addon": true, + "scripts": { + "test": "standard && bare test.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/holepunchto/bare-os.git" + }, + "author": "Holepunch", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/holepunchto/bare-os/issues" + }, + "homepage": "https://github.com/holepunchto/bare-os#readme", + "devDependencies": { + "brittle": "^3.1.1", + "standard": "^17.0.0" + } +} diff --git a/.pnpm-store/v3/files/0e/133db1243fba065db63a5dc28ec73c71e46ee1b974572fa0a4b66cbdfe159393ad6930568cd8eb6944e8f63ec5be72a29d0195d8cdb6a6a47943ff767d876e b/.pnpm-store/v3/files/0e/133db1243fba065db63a5dc28ec73c71e46ee1b974572fa0a4b66cbdfe159393ad6930568cd8eb6944e8f63ec5be72a29d0195d8cdb6a6a47943ff767d876e new file mode 100644 index 00000000..f9b0aabd --- /dev/null +++ b/.pnpm-store/v3/files/0e/133db1243fba065db63a5dc28ec73c71e46ee1b974572fa0a4b66cbdfe159393ad6930568cd8eb6944e8f63ec5be72a29d0195d8cdb6a6a47943ff767d876e @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O P Q R S T"},C:{"1":"CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w VC WC","194":"0 1 2 3 4 5 6 7 8 x y z H 1B BC"},D:{"1":"0 1 2 3 4 5 6 7 8 U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T"},E:{"1":"hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC"},F:{"1":"uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD ND"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:5,C:"CSS content-visibility",D:true}; diff --git a/.pnpm-store/v3/files/0e/662e05e4c1c897f5d51232ff9e74c0a75dc5bc31bc228efe1b31301242986d10248b37f076ced51cba3160657e63f6c76f61cb34f675e1c7acaa0196630ad7 b/.pnpm-store/v3/files/0e/662e05e4c1c897f5d51232ff9e74c0a75dc5bc31bc228efe1b31301242986d10248b37f076ced51cba3160657e63f6c76f61cb34f675e1c7acaa0196630ad7 new file mode 100644 index 00000000..ceed7a7b --- /dev/null +++ b/.pnpm-store/v3/files/0e/662e05e4c1c897f5d51232ff9e74c0a75dc5bc31bc228efe1b31301242986d10248b37f076ced51cba3160657e63f6c76f61cb34f675e1c7acaa0196630ad7 @@ -0,0 +1,642 @@ +'use strict' + +/* eslint-disable no-var */ + +var test = require('tape') +var buildQueue = require('../') + +test('concurrency', function (t) { + t.plan(6) + t.throws(buildQueue.bind(null, worker, 0)) + t.throws(buildQueue.bind(null, worker, NaN)) + t.doesNotThrow(buildQueue.bind(null, worker, 1)) + + var queue = buildQueue(worker, 1) + t.throws(function () { + queue.concurrency = 0 + }) + t.throws(function () { + queue.concurrency = NaN + }) + t.doesNotThrow(function () { + queue.concurrency = 2 + }) + + function worker (arg, cb) { + cb(null, true) + } +}) + +test('worker execution', function (t) { + t.plan(3) + + var queue = buildQueue(worker, 1) + + queue.push(42, function (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + }) + + function worker (arg, cb) { + t.equal(arg, 42) + cb(null, true) + } +}) + +test('limit', function (t) { + t.plan(4) + + var expected = [10, 0] + var queue = buildQueue(worker, 1) + + queue.push(10, result) + queue.push(0, result) + + function result (err, arg) { + t.error(err, 'no error') + t.equal(arg, expected.shift(), 'the result matches') + } + + function worker (arg, cb) { + setTimeout(cb, arg, null, arg) + } +}) + +test('multiple executions', function (t) { + t.plan(15) + + var queue = buildQueue(worker, 1) + var toExec = [1, 2, 3, 4, 5] + var count = 0 + + toExec.forEach(function (task) { + queue.push(task, done) + }) + + function done (err, result) { + t.error(err, 'no error') + t.equal(result, toExec[count - 1], 'the result matches') + } + + function worker (arg, cb) { + t.equal(arg, toExec[count], 'arg matches') + count++ + setImmediate(cb, null, arg) + } +}) + +test('multiple executions, one after another', function (t) { + t.plan(15) + + var queue = buildQueue(worker, 1) + var toExec = [1, 2, 3, 4, 5] + var count = 0 + + queue.push(toExec[0], done) + + function done (err, result) { + t.error(err, 'no error') + t.equal(result, toExec[count - 1], 'the result matches') + if (count < toExec.length) { + queue.push(toExec[count], done) + } + } + + function worker (arg, cb) { + t.equal(arg, toExec[count], 'arg matches') + count++ + setImmediate(cb, null, arg) + } +}) + +test('set this', function (t) { + t.plan(3) + + var that = {} + var queue = buildQueue(that, worker, 1) + + queue.push(42, function (err, result) { + t.error(err, 'no error') + t.equal(this, that, 'this matches') + }) + + function worker (arg, cb) { + t.equal(this, that, 'this matches') + cb(null, true) + } +}) + +test('drain', function (t) { + t.plan(4) + + var queue = buildQueue(worker, 1) + var worked = false + + queue.push(42, function (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + }) + + queue.drain = function () { + t.equal(true, worked, 'drained') + } + + function worker (arg, cb) { + t.equal(arg, 42) + worked = true + setImmediate(cb, null, true) + } +}) + +test('pause && resume', function (t) { + t.plan(13) + + var queue = buildQueue(worker, 1) + var worked = false + var expected = [42, 24] + + t.notOk(queue.paused, 'it should not be paused') + + queue.pause() + + queue.push(42, function (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + }) + + queue.push(24, function (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + }) + + t.notOk(worked, 'it should be paused') + t.ok(queue.paused, 'it should be paused') + + queue.resume() + queue.pause() + queue.resume() + queue.resume() // second resume is a no-op + + function worker (arg, cb) { + t.notOk(queue.paused, 'it should not be paused') + t.ok(queue.running() <= queue.concurrency, 'should respect the concurrency') + t.equal(arg, expected.shift()) + worked = true + process.nextTick(function () { cb(null, true) }) + } +}) + +test('pause in flight && resume', function (t) { + t.plan(16) + + var queue = buildQueue(worker, 1) + var expected = [42, 24, 12] + + t.notOk(queue.paused, 'it should not be paused') + + queue.push(42, function (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + t.ok(queue.paused, 'it should be paused') + process.nextTick(function () { + queue.resume() + queue.pause() + queue.resume() + }) + }) + + queue.push(24, function (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + t.notOk(queue.paused, 'it should not be paused') + }) + + queue.push(12, function (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + t.notOk(queue.paused, 'it should not be paused') + }) + + queue.pause() + + function worker (arg, cb) { + t.ok(queue.running() <= queue.concurrency, 'should respect the concurrency') + t.equal(arg, expected.shift()) + process.nextTick(function () { cb(null, true) }) + } +}) + +test('altering concurrency', function (t) { + t.plan(24) + + var queue = buildQueue(worker, 1) + + queue.push(24, workDone) + queue.push(24, workDone) + queue.push(24, workDone) + + queue.pause() + + queue.concurrency = 3 // concurrency changes are ignored while paused + queue.concurrency = 2 + + queue.resume() + + t.equal(queue.running(), 2, '2 jobs running') + + queue.concurrency = 3 + + t.equal(queue.running(), 3, '3 jobs running') + + queue.concurrency = 1 + + t.equal(queue.running(), 3, '3 jobs running') // running jobs can't be killed + + queue.push(24, workDone) + queue.push(24, workDone) + queue.push(24, workDone) + queue.push(24, workDone) + + function workDone (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + } + + function worker (arg, cb) { + t.ok(queue.running() <= queue.concurrency, 'should respect the concurrency') + setImmediate(function () { + cb(null, true) + }) + } +}) + +test('idle()', function (t) { + t.plan(12) + + var queue = buildQueue(worker, 1) + + t.ok(queue.idle(), 'queue is idle') + + queue.push(42, function (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + t.notOk(queue.idle(), 'queue is not idle') + }) + + queue.push(42, function (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + // it will go idle after executing this function + setImmediate(function () { + t.ok(queue.idle(), 'queue is now idle') + }) + }) + + t.notOk(queue.idle(), 'queue is not idle') + + function worker (arg, cb) { + t.notOk(queue.idle(), 'queue is not idle') + t.equal(arg, 42) + setImmediate(cb, null, true) + } +}) + +test('saturated', function (t) { + t.plan(9) + + var queue = buildQueue(worker, 1) + var preworked = 0 + var worked = 0 + + queue.saturated = function () { + t.pass('saturated') + t.equal(preworked, 1, 'started 1 task') + t.equal(worked, 0, 'worked zero task') + } + + queue.push(42, done) + queue.push(42, done) + + function done (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + } + + function worker (arg, cb) { + t.equal(arg, 42) + preworked++ + setImmediate(function () { + worked++ + cb(null, true) + }) + } +}) + +test('length', function (t) { + t.plan(7) + + var queue = buildQueue(worker, 1) + + t.equal(queue.length(), 0, 'nothing waiting') + queue.push(42, done) + t.equal(queue.length(), 0, 'nothing waiting') + queue.push(42, done) + t.equal(queue.length(), 1, 'one task waiting') + queue.push(42, done) + t.equal(queue.length(), 2, 'two tasks waiting') + + function done (err, result) { + t.error(err, 'no error') + } + + function worker (arg, cb) { + setImmediate(function () { + cb(null, true) + }) + } +}) + +test('getQueue', function (t) { + t.plan(10) + + var queue = buildQueue(worker, 1) + + t.equal(queue.getQueue().length, 0, 'nothing waiting') + queue.push(42, done) + t.equal(queue.getQueue().length, 0, 'nothing waiting') + queue.push(42, done) + t.equal(queue.getQueue().length, 1, 'one task waiting') + t.equal(queue.getQueue()[0], 42, 'should be equal') + queue.push(43, done) + t.equal(queue.getQueue().length, 2, 'two tasks waiting') + t.equal(queue.getQueue()[0], 42, 'should be equal') + t.equal(queue.getQueue()[1], 43, 'should be equal') + + function done (err, result) { + t.error(err, 'no error') + } + + function worker (arg, cb) { + setImmediate(function () { + cb(null, true) + }) + } +}) + +test('unshift', function (t) { + t.plan(8) + + var queue = buildQueue(worker, 1) + var expected = [1, 2, 3, 4] + + queue.push(1, done) + queue.push(4, done) + queue.unshift(3, done) + queue.unshift(2, done) + + function done (err, result) { + t.error(err, 'no error') + } + + function worker (arg, cb) { + t.equal(expected.shift(), arg, 'tasks come in order') + setImmediate(function () { + cb(null, true) + }) + } +}) + +test('unshift && empty', function (t) { + t.plan(2) + + var queue = buildQueue(worker, 1) + var completed = false + + queue.pause() + + queue.empty = function () { + t.notOk(completed, 'the task has not completed yet') + } + + queue.unshift(1, done) + + queue.resume() + + function done (err, result) { + completed = true + t.error(err, 'no error') + } + + function worker (arg, cb) { + setImmediate(function () { + cb(null, true) + }) + } +}) + +test('push && empty', function (t) { + t.plan(2) + + var queue = buildQueue(worker, 1) + var completed = false + + queue.pause() + + queue.empty = function () { + t.notOk(completed, 'the task has not completed yet') + } + + queue.push(1, done) + + queue.resume() + + function done (err, result) { + completed = true + t.error(err, 'no error') + } + + function worker (arg, cb) { + setImmediate(function () { + cb(null, true) + }) + } +}) + +test('kill', function (t) { + t.plan(5) + + var queue = buildQueue(worker, 1) + var expected = [1] + + var predrain = queue.drain + + queue.drain = function drain () { + t.fail('drain should never be called') + } + + queue.push(1, done) + queue.push(4, done) + queue.unshift(3, done) + queue.unshift(2, done) + queue.kill() + + function done (err, result) { + t.error(err, 'no error') + setImmediate(function () { + t.equal(queue.length(), 0, 'no queued tasks') + t.equal(queue.running(), 0, 'no running tasks') + t.equal(queue.drain, predrain, 'drain is back to default') + }) + } + + function worker (arg, cb) { + t.equal(expected.shift(), arg, 'tasks come in order') + setImmediate(function () { + cb(null, true) + }) + } +}) + +test('killAndDrain', function (t) { + t.plan(6) + + var queue = buildQueue(worker, 1) + var expected = [1] + + var predrain = queue.drain + + queue.drain = function drain () { + t.pass('drain has been called') + } + + queue.push(1, done) + queue.push(4, done) + queue.unshift(3, done) + queue.unshift(2, done) + queue.killAndDrain() + + function done (err, result) { + t.error(err, 'no error') + setImmediate(function () { + t.equal(queue.length(), 0, 'no queued tasks') + t.equal(queue.running(), 0, 'no running tasks') + t.equal(queue.drain, predrain, 'drain is back to default') + }) + } + + function worker (arg, cb) { + t.equal(expected.shift(), arg, 'tasks come in order') + setImmediate(function () { + cb(null, true) + }) + } +}) + +test('pause && idle', function (t) { + t.plan(11) + + var queue = buildQueue(worker, 1) + var worked = false + + t.notOk(queue.paused, 'it should not be paused') + t.ok(queue.idle(), 'should be idle') + + queue.pause() + + queue.push(42, function (err, result) { + t.error(err, 'no error') + t.equal(result, true, 'result matches') + }) + + t.notOk(worked, 'it should be paused') + t.ok(queue.paused, 'it should be paused') + t.notOk(queue.idle(), 'should not be idle') + + queue.resume() + + t.notOk(queue.paused, 'it should not be paused') + t.notOk(queue.idle(), 'it should not be idle') + + function worker (arg, cb) { + t.equal(arg, 42) + worked = true + process.nextTick(cb.bind(null, null, true)) + process.nextTick(function () { + t.ok(queue.idle(), 'is should be idle') + }) + } +}) + +test('push without cb', function (t) { + t.plan(1) + + var queue = buildQueue(worker, 1) + + queue.push(42) + + function worker (arg, cb) { + t.equal(arg, 42) + cb() + } +}) + +test('unshift without cb', function (t) { + t.plan(1) + + var queue = buildQueue(worker, 1) + + queue.unshift(42) + + function worker (arg, cb) { + t.equal(arg, 42) + cb() + } +}) + +test('push with worker throwing error', function (t) { + t.plan(5) + var q = buildQueue(function (task, cb) { + cb(new Error('test error'), null) + }, 1) + q.error(function (err, task) { + t.ok(err instanceof Error, 'global error handler should catch the error') + t.match(err.message, /test error/, 'error message should be "test error"') + t.equal(task, 42, 'The task executed should be passed') + }) + q.push(42, function (err) { + t.ok(err instanceof Error, 'push callback should catch the error') + t.match(err.message, /test error/, 'error message should be "test error"') + }) +}) + +test('unshift with worker throwing error', function (t) { + t.plan(5) + var q = buildQueue(function (task, cb) { + cb(new Error('test error'), null) + }, 1) + q.error(function (err, task) { + t.ok(err instanceof Error, 'global error handler should catch the error') + t.match(err.message, /test error/, 'error message should be "test error"') + t.equal(task, 42, 'The task executed should be passed') + }) + q.unshift(42, function (err) { + t.ok(err instanceof Error, 'unshift callback should catch the error') + t.match(err.message, /test error/, 'error message should be "test error"') + }) +}) + +test('pause/resume should trigger drain event', function (t) { + t.plan(1) + + var queue = buildQueue(worker, 1) + queue.pause() + queue.drain = function () { + t.pass('drain should be called') + } + + function worker (arg, cb) { + cb(null, true) + } + + queue.resume() +}) diff --git a/.pnpm-store/v3/files/0e/69c53baad82fa410225152834fec16eefa215ce276b6e409971c748c29bec017200b3be4e9158d220bb476b902c8da0bfd98f9e3e82e34c92086a610aa786e b/.pnpm-store/v3/files/0e/69c53baad82fa410225152834fec16eefa215ce276b6e409971c748c29bec017200b3be4e9158d220bb476b902c8da0bfd98f9e3e82e34c92086a610aa786e new file mode 100644 index 00000000..94111e84 --- /dev/null +++ b/.pnpm-store/v3/files/0e/69c53baad82fa410225152834fec16eefa215ce276b6e409971c748c29bec017200b3be4e9158d220bb476b902c8da0bfd98f9e3e82e34c92086a610aa786e @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K VC WC","33":"L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G","33":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB","66":"M N O AB q r"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"Pointer Lock API",D:true}; diff --git a/.pnpm-store/v3/files/0e/752140375277398f52cb14bc21ae0705bf552dd0d637f6951b87597f3befadf932a56dadd2bad615836c8d35603086fb19166d72cdb35db9db7e9c06a6c77d b/.pnpm-store/v3/files/0e/752140375277398f52cb14bc21ae0705bf552dd0d637f6951b87597f3befadf932a56dadd2bad615836c8d35603086fb19166d72cdb35db9db7e9c06a6c77d new file mode 100644 index 00000000..7c1e4993 --- /dev/null +++ b/.pnpm-store/v3/files/0e/752140375277398f52cb14bc21ae0705bf552dd0d637f6951b87597f3befadf932a56dadd2bad615836c8d35603086fb19166d72cdb35db9db7e9c06a6c77d @@ -0,0 +1,15 @@ +# Installation +> `npm install --save @types/hast` + +# Summary +This package contains type definitions for hast (https://github.com/syntax-tree/hast). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/hast. + +### Additional Details + * Last updated: Tue, 30 Jan 2024 21:35:45 GMT + * Dependencies: [@types/unist](https://npmjs.com/package/@types/unist) + +# Credits +These definitions were written by [lukeggchapman](https://github.com/lukeggchapman), [Junyoung Choi](https://github.com/rokt33r), [Christian Murphy](https://github.com/ChristianMurphy), and [Remco Haszing](https://github.com/remcohaszing). diff --git a/.pnpm-store/v3/files/0e/d1101000e3dcc9527f1e9c86b7b7382a3fbf86e294d847915b229b4644252bd1b0bbf7a27a62fe11e82013eea3571c1f5104221bfc3eda4c56195da40be396 b/.pnpm-store/v3/files/0e/d1101000e3dcc9527f1e9c86b7b7382a3fbf86e294d847915b229b4644252bd1b0bbf7a27a62fe11e82013eea3571c1f5104221bfc3eda4c56195da40be396 new file mode 100644 index 00000000..4ef4a4cf --- /dev/null +++ b/.pnpm-store/v3/files/0e/d1101000e3dcc9527f1e9c86b7b7382a3fbf86e294d847915b229b4644252bd1b0bbf7a27a62fe11e82013eea3571c1f5104221bfc3eda4c56195da40be396 @@ -0,0 +1 @@ +module.exports={C:{"34":0.0114,"52":0.0076,"59":0.0057,"60":0.0019,"78":0.0095,"84":0.0019,"88":0.0038,"91":0.0019,"94":0.0038,"95":0.0038,"100":0.0019,"102":0.0019,"104":0.0038,"107":0.0019,"108":0.0019,"109":0.0019,"111":0.0019,"112":0.0019,"113":0.0019,"115":0.0798,"116":0.0019,"118":0.0019,"119":0.0038,"120":0.0133,"121":0.4142,"122":0.0931,"123":0.0019,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 86 87 89 90 92 93 96 97 98 99 101 103 105 106 110 114 117 124 125 3.5 3.6"},D:{"11":0.0019,"34":0.0019,"38":0.0019,"49":0.0057,"50":0.0057,"52":0.0095,"55":0.0019,"56":0.0038,"60":0.0019,"65":0.0038,"66":0.019,"67":0.0019,"69":0.0019,"70":0.0057,"72":0.0019,"73":0.0019,"74":0.0057,"78":0.0057,"79":0.0152,"80":0.0019,"81":0.0038,"83":0.0038,"84":0.0019,"85":0.0019,"86":0.0133,"87":0.0114,"88":0.0228,"89":0.0019,"90":0.0038,"91":0.0038,"92":0.0038,"93":0.0418,"94":0.0038,"95":0.0019,"96":0.0019,"97":0.0019,"98":0.0038,"99":0.0361,"100":0.0114,"101":0.019,"102":0.0152,"103":0.0285,"104":0.0133,"105":0.0057,"106":0.0076,"107":0.0057,"108":0.0076,"109":0.6023,"110":0.0057,"111":0.0209,"112":0.0095,"113":0.0114,"114":0.0342,"115":0.0095,"116":0.0741,"117":0.0475,"118":0.0304,"119":0.1976,"120":7.9097,"121":0.6289,"122":0.0057,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 51 53 54 57 58 59 61 62 63 64 68 71 75 76 77 123 124"},F:{"28":0.0057,"46":0.0019,"79":0.0019,"80":0.0019,"83":0.0019,"95":0.0133,"102":0.0019,"104":0.0019,"105":0.1387,"106":0.1805,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 81 82 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0038,"13":0.0019,"14":0.0019,"15":0.0019,"16":0.0019,"17":0.0057,"18":0.0114,"84":0.0019,"85":0.0019,"89":0.0019,"90":0.0019,"91":0.0019,"92":0.0095,"100":0.0019,"106":0.0019,"107":0.0019,"108":0.0019,"109":0.0418,"110":0.0019,"111":0.0038,"112":0.0038,"113":0.0076,"114":0.0057,"115":0.0038,"116":0.019,"117":0.0133,"118":0.0247,"119":0.0646,"120":2.0007,"121":0.2565,_:"79 80 81 83 86 87 88 93 94 95 96 97 98 99 101 102 103 104 105"},E:{"13":0.0019,"14":0.0399,"15":0.0019,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.0076,"12.1":0.0076,"13.1":0.0342,"14.1":0.0361,"15.1":0.0057,"15.2-15.3":0.0095,"15.4":0.0095,"15.5":0.0114,"15.6":0.114,"16.0":0.0171,"16.1":0.019,"16.2":0.0152,"16.3":0.057,"16.4":0.0209,"16.5":0.0342,"16.6":0.1615,"17.0":0.0285,"17.1":0.1615,"17.2":0.2451,"17.3":0.0266},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00211,"5.0-5.1":0.00316,"6.0-6.1":0.00527,"7.0-7.1":0.00737,"8.1-8.4":0.00105,"9.0-9.2":0.00632,"9.3":0.02422,"10.0-10.2":0.00211,"10.3":0.03791,"11.0-11.2":0.01474,"11.3-11.4":0.0158,"12.0-12.1":0.00948,"12.2-12.5":0.18743,"13.0-13.1":0.00316,"13.2":0.03475,"13.3":0.00948,"13.4-13.7":0.04212,"14.0-14.4":0.07371,"14.5-14.8":0.11267,"15.0-15.1":0.04844,"15.2-15.3":0.05581,"15.4":0.06529,"15.5":0.08635,"15.6-15.8":0.67287,"16.0":0.20218,"16.1":0.43068,"16.2":0.19586,"16.3":0.36434,"16.4":0.08108,"16.5":0.17269,"16.6-16.7":1.41313,"17.0":0.23482,"17.1":2.42085,"17.2":3.27694,"17.3":0.2106},P:{"4":0.16219,"20":0.08109,"21":0.23315,"22":0.26356,"23":7.08565,"5.0-5.4":0.02027,"6.2-6.4":0.01014,"7.2-7.4":0.34465,_:"8.2 10.1","9.2":0.01014,"11.1-11.2":0.05068,"12.0":0.03041,"13.0":0.03041,"14.0":0.04055,"15.0":0.01014,"16.0":0.05068,"17.0":0.05068,"18.0":0.05068,"19.0":0.14192},I:{"0":0.03226,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"11":0.0323,_:"6 7 8 9 10 5.5"},K:{"0":2.897,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.4374},H:{"0":0.1},L:{"0":61.8667},R:{_:"0"},M:{"0":0.486}}; diff --git a/.pnpm-store/v3/files/0f/0fd9db2430ca6e11f14f78070cbd27850bee115323a3afde15c12242957ce415dbd22825b15ffae1fc965d4ee223a98348318d3aa8560239d58a2a2bb25543 b/.pnpm-store/v3/files/0f/0fd9db2430ca6e11f14f78070cbd27850bee115323a3afde15c12242957ce415dbd22825b15ffae1fc965d4ee223a98348318d3aa8560239d58a2a2bb25543 new file mode 100644 index 00000000..377efadf --- /dev/null +++ b/.pnpm-store/v3/files/0f/0fd9db2430ca6e11f14f78070cbd27850bee115323a3afde15c12242957ce415dbd22825b15ffae1fc965d4ee223a98348318d3aa8560239d58a2a2bb25543 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB iC jC kC lC 2B QC mC 3B"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS font-stretch",D:true}; diff --git a/.pnpm-store/v3/files/0f/45f0e3587b5e92c663ec0d5f516f9ccb7c261c7287735bed00681175f493449bc3531b96bb77cfda8403b584e04e1d549427e582b6f96baf9a8a4d7f59d7b7 b/.pnpm-store/v3/files/0f/45f0e3587b5e92c663ec0d5f516f9ccb7c261c7287735bed00681175f493449bc3531b96bb77cfda8403b584e04e1d549427e582b6f96baf9a8a4d7f59d7b7 new file mode 100644 index 00000000..6dc1f499 --- /dev/null +++ b/.pnpm-store/v3/files/0f/45f0e3587b5e92c663ec0d5f516f9ccb7c261c7287735bed00681175f493449bc3531b96bb77cfda8403b584e04e1d549427e582b6f96baf9a8a4d7f59d7b7 @@ -0,0 +1 @@ +module.exports={C:{"34":0.0273,"48":0.00341,"52":0.03412,"54":0.00341,"78":0.01024,"88":0.00341,"91":0.00682,"97":0.00682,"100":0.00341,"102":0.00341,"103":0.00682,"111":0.00341,"113":0.00341,"115":0.39579,"116":0.00341,"118":0.00341,"119":0.01024,"120":0.02047,"121":0.92806,"122":0.21496,"123":0.00341,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 98 99 101 104 105 106 107 108 109 110 112 114 117 124 125 3.5 3.6"},D:{"38":0.00682,"40":0.00341,"49":0.00682,"51":0.00341,"57":0.00341,"60":0.00341,"63":0.00341,"69":0.00682,"70":0.00341,"71":0.00341,"72":0.00341,"74":0.01365,"76":0.01706,"77":0.01024,"78":0.058,"79":0.00682,"80":0.01365,"81":0.02388,"83":0.01024,"85":0.00341,"87":0.00341,"88":0.13648,"89":0.00341,"90":0.00682,"91":0.00341,"92":0.00341,"93":0.03071,"94":0.02388,"95":0.00341,"96":0.00341,"97":0.00341,"98":0.00341,"99":0.00682,"100":0.00341,"101":0.00341,"102":0.01024,"103":0.02388,"104":0.00341,"105":0.00341,"106":0.03412,"107":0.00682,"108":0.00682,"109":2.501,"110":0.00341,"111":0.00682,"112":0.00341,"113":0.01024,"114":0.02047,"115":0.00682,"116":0.06483,"117":0.13307,"118":0.13307,"119":0.30026,"120":12.78135,"121":1.29997,"123":0.00341,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 41 42 43 44 45 46 47 48 50 52 53 54 55 56 58 59 61 62 64 65 66 67 68 73 75 84 86 122 124"},F:{"79":0.00341,"85":0.00682,"95":0.058,"101":0.01706,"102":0.00682,"105":0.49815,"106":0.64487,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.01365,"13":0.00682,"14":0.00341,"15":0.00341,"16":0.00682,"17":0.00682,"18":0.03753,"83":0.00341,"84":0.00341,"89":0.00341,"90":0.00341,"92":0.04436,"93":0.00341,"100":0.00341,"105":0.00341,"106":0.00682,"107":0.00682,"108":0.06142,"109":0.06142,"110":0.00341,"111":0.01024,"112":0.33096,"113":0.00682,"114":0.03412,"115":0.01024,"116":0.01024,"117":0.02047,"118":0.03071,"119":0.13307,"120":5.41826,"121":0.73017,_:"79 80 81 85 86 87 88 91 94 95 96 97 98 99 101 102 103 104"},E:{"14":0.01024,"15":0.01365,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00682,"13.1":0.01365,"14.1":0.06483,"15.1":0.00341,"15.2-15.3":0.01024,"15.4":0.07165,"15.5":0.04094,"15.6":0.09554,"16.0":0.01706,"16.1":0.02047,"16.2":0.01365,"16.3":0.08189,"16.4":0.01024,"16.5":0.0273,"16.6":0.15354,"17.0":0.03071,"17.1":0.18084,"17.2":0.25249,"17.3":0.01706},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00177,"5.0-5.1":0.00265,"6.0-6.1":0.00441,"7.0-7.1":0.00618,"8.1-8.4":0.00088,"9.0-9.2":0.0053,"9.3":0.0203,"10.0-10.2":0.00177,"10.3":0.03178,"11.0-11.2":0.01236,"11.3-11.4":0.01324,"12.0-12.1":0.00795,"12.2-12.5":0.15714,"13.0-13.1":0.00265,"13.2":0.02913,"13.3":0.00795,"13.4-13.7":0.03531,"14.0-14.4":0.0618,"14.5-14.8":0.09446,"15.0-15.1":0.04061,"15.2-15.3":0.04679,"15.4":0.05473,"15.5":0.07239,"15.6-15.8":0.5641,"16.0":0.1695,"16.1":0.36106,"16.2":0.1642,"16.3":0.30545,"16.4":0.06797,"16.5":0.14478,"16.6-16.7":1.18471,"17.0":0.19686,"17.1":2.02954,"17.2":2.74725,"17.3":0.17656},P:{"4":0.28886,"20":0.01032,"21":0.11348,"22":0.15475,"23":2.5172,"5.0-5.4":0.03095,"6.2-6.4":0.02063,"7.2-7.4":0.24759,_:"8.2 9.2 12.0","10.1":0.02063,"11.1-11.2":0.02063,"13.0":0.0619,"14.0":0.03095,"15.0":0.01032,"16.0":0.02063,"17.0":0.07221,"18.0":0.02063,"19.0":0.11348},I:{"0":0.01968,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"11":0.06483,_:"6 7 8 9 10 5.5"},K:{"0":2.05063,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.01318},O:{"0":0.35575},H:{"0":0.13},L:{"0":55.38161},R:{_:"0"},M:{"0":0.18446}}; diff --git a/.pnpm-store/v3/files/0f/a0faaf0228bf0dee4d823ee921751b85761ac64223b93a3eb398d1099365302a09dcb26090b9df38ac06661bab70d14933bb92c57c8f92e5fad603fa941159 b/.pnpm-store/v3/files/0f/a0faaf0228bf0dee4d823ee921751b85761ac64223b93a3eb398d1099365302a09dcb26090b9df38ac06661bab70d14933bb92c57c8f92e5fad603fa941159 new file mode 100644 index 00000000..44e67ea4 --- /dev/null +++ b/.pnpm-store/v3/files/0f/a0faaf0228bf0dee4d823ee921751b85761ac64223b93a3eb398d1099365302a09dcb26090b9df38ac06661bab70d14933bb92c57c8f92e5fad603fa941159 @@ -0,0 +1 @@ +module.exports={C:{"4":0.0044,"40":0.0022,"41":0.0022,"43":0.0022,"47":0.0022,"49":0.0022,"52":0.0022,"56":0.0022,"68":0.0044,"72":0.00659,"74":0.0044,"76":0.0022,"78":0.0044,"81":0.0022,"82":0.0022,"83":0.0022,"85":0.0022,"86":0.0022,"87":0.0044,"88":0.0022,"91":0.0022,"100":0.0022,"101":0.0022,"102":0.0022,"103":0.0022,"105":0.0022,"106":0.0022,"107":0.0022,"108":0.0022,"109":0.0022,"110":0.0022,"111":0.0022,"112":0.0044,"113":0.0044,"114":0.0022,"115":0.20661,"116":0.0022,"117":0.00659,"118":0.01539,"119":0.01319,"120":0.05715,"121":0.78029,"122":0.18243,"123":0.01319,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 42 44 45 46 48 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 75 77 79 80 84 89 90 92 93 94 95 96 97 98 99 104 124 125 3.5 3.6"},D:{"11":0.0044,"33":0.0022,"43":0.0022,"44":0.0022,"45":0.0022,"46":0.0022,"47":0.0022,"49":0.0022,"50":0.00659,"51":0.0044,"55":0.0022,"56":0.0044,"57":0.0022,"58":0.0022,"60":0.0022,"63":0.0044,"64":0.00659,"65":0.0044,"66":0.0022,"67":0.0022,"68":0.01319,"69":0.01319,"70":0.01758,"71":0.00659,"72":0.01539,"73":0.00659,"74":0.01978,"75":0.02198,"76":0.01978,"77":0.02418,"78":0.01099,"79":0.02857,"80":0.02638,"81":0.02418,"83":0.01758,"84":0.01319,"85":0.01758,"86":0.02198,"87":0.02418,"88":0.02638,"89":0.01758,"90":0.02198,"91":0.01099,"92":0.00659,"93":0.05275,"94":0.01319,"95":0.01319,"96":0.00659,"97":0.00879,"98":0.00659,"99":0.01319,"100":0.00659,"101":0.00659,"102":0.03297,"103":0.06594,"104":0.00879,"105":0.03077,"106":0.03297,"107":0.01539,"108":0.02638,"109":1.82654,"110":0.01099,"111":0.02638,"112":0.01099,"113":0.02418,"114":0.04836,"115":0.03077,"116":0.09891,"117":0.05495,"118":0.04836,"119":0.27475,"120":7.89302,"121":0.62863,"122":0.00879,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 48 52 53 54 59 61 62 123 124"},F:{"28":0.0044,"34":0.0022,"35":0.0022,"36":0.0044,"42":0.00659,"55":0.0022,"64":0.0022,"73":0.0022,"74":0.0022,"79":0.03297,"80":0.00659,"83":0.0044,"85":0.00659,"86":0.0022,"89":0.0022,"90":0.0022,"91":0.0022,"95":0.09232,"99":0.0022,"100":0.0022,"101":0.0022,"102":0.01099,"103":0.0044,"104":0.00659,"105":0.27915,"106":0.69457,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 60 62 63 65 66 67 68 69 70 71 72 75 76 77 78 81 82 84 87 88 92 93 94 96 97 98 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.01539,"13":0.0044,"14":0.00659,"15":0.00659,"16":0.00879,"17":0.01099,"18":0.07693,"80":0.0022,"81":0.0022,"83":0.0022,"84":0.01758,"85":0.0022,"86":0.0022,"87":0.0022,"88":0.0022,"89":0.03737,"90":0.03297,"92":0.09671,"97":0.0022,"100":0.02857,"104":0.0022,"105":0.0044,"106":0.0044,"107":0.0044,"108":0.0022,"109":0.02638,"110":0.00879,"111":0.0044,"112":0.00659,"113":0.00879,"114":0.01978,"115":0.01539,"116":0.01319,"117":0.02857,"118":0.02418,"119":0.06374,"120":1.81115,"121":0.20881,_:"79 91 93 94 95 96 98 99 101 102 103"},E:{"9":0.0022,"10":0.0022,"11":0.00659,"12":0.0022,"13":0.0044,"14":0.01319,"15":0.0022,_:"0 4 5 6 7 8 3.1 3.2 6.1 7.1 10.1 17.4","5.1":0.0022,"9.1":0.03956,"11.1":0.00879,"12.1":0.00659,"13.1":0.05055,"14.1":0.02418,"15.1":0.0022,"15.2-15.3":0.00659,"15.4":0.0044,"15.5":0.00659,"15.6":0.07034,"16.0":0.00659,"16.1":0.01099,"16.2":0.00659,"16.3":0.01319,"16.4":0.00879,"16.5":0.02418,"16.6":0.04836,"17.0":0.03297,"17.1":0.05495,"17.2":0.1121,"17.3":0.01319},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00238,"5.0-5.1":0.00358,"6.0-6.1":0.00596,"7.0-7.1":0.00835,"8.1-8.4":0.00119,"9.0-9.2":0.00715,"9.3":0.02742,"10.0-10.2":0.00238,"10.3":0.04292,"11.0-11.2":0.01669,"11.3-11.4":0.01788,"12.0-12.1":0.01073,"12.2-12.5":0.2122,"13.0-13.1":0.00358,"13.2":0.03934,"13.3":0.01073,"13.4-13.7":0.04769,"14.0-14.4":0.08345,"14.5-14.8":0.12756,"15.0-15.1":0.05484,"15.2-15.3":0.06318,"15.4":0.07391,"15.5":0.09776,"15.6-15.8":0.76178,"16.0":0.22889,"16.1":0.48759,"16.2":0.22174,"16.3":0.41248,"16.4":0.0918,"16.5":0.19551,"16.6-16.7":1.59986,"17.0":0.26585,"17.1":2.74074,"17.2":3.70996,"17.3":0.23843},P:{"4":0.19367,"20":0.05096,"21":0.12232,"22":0.15289,"23":0.79505,"5.0-5.4":0.04077,"6.2-6.4":0.01019,"7.2-7.4":0.12232,_:"8.2 10.1 12.0","9.2":0.10193,"11.1-11.2":0.04077,"13.0":0.01019,"14.0":0.02039,"15.0":0.01019,"16.0":0.05096,"17.0":0.02039,"18.0":0.03058,"19.0":0.12232},I:{"0":0.09321,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00024},A:{"8":0.00934,"9":0.00234,"10":0.00701,"11":0.01868,_:"6 7 5.5"},K:{"0":11.62451,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.0156,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.02341},O:{"0":0.7646},H:{"0":1.28},L:{"0":53.82647},R:{_:"0"},M:{"0":0.23406}}; diff --git a/.pnpm-store/v3/files/0f/b73b59005a202180466ff4dbcbb1f792f726ff192740a956b45617b772b0ed18d5fe6f206dd6b5bff4012fc4f2db37195fa1dd2ac9a9d82b4578a24bcf7b9f b/.pnpm-store/v3/files/0f/b73b59005a202180466ff4dbcbb1f792f726ff192740a956b45617b772b0ed18d5fe6f206dd6b5bff4012fc4f2db37195fa1dd2ac9a9d82b4578a24bcf7b9f new file mode 100644 index 00000000..484c4126 --- /dev/null +++ b/.pnpm-store/v3/files/0f/b73b59005a202180466ff4dbcbb1f792f726ff192740a956b45617b772b0ed18d5fe6f206dd6b5bff4012fc4f2db37195fa1dd2ac9a9d82b4578a24bcf7b9f @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","1025":"0 1 2 3 4 5 6 7 8 d e f g h i j k l m n o p v w x y z H","1537":"P Q R S T U V W X Y Z a b c"},C:{"2":"TC","932":"9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB VC WC","2308":"0 1 2 3 4 5 6 7 8 pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r","545":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","1025":"0 1 2 3 4 5 6 7 8 d e f g h i j k l m n o p v w x y z H 1B BC CC","1537":"XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC","516":"B C K L G 2B 3B FC cC dC GC HC 4B eC","548":"F A bC EC","676":"D E ZC aC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","513":"LB","545":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB","1025":"e f g h i j k l m n o p","1537":"KB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC","516":"4C 5C 6C GC HC 4B 7C","548":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C","676":"E qC rC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC","545":"ED FD","1025":"H"},J:{"2":"D","545":"A"},K:{"2":"A B C 2B QC 3B","1025":"u"},L:{"1025":"H"},M:{"2308":"1B"},N:{"2":"A B"},O:{"1537":"4B"},P:{"545":"I","1025":"q r s t 6B QD RD","1537":"GD HD ID JD KD EC LD MD ND OD PD 5B"},Q:{"1537":"FC"},R:{"1537":"SD"},S:{"932":"TD","2308":"UD"}},B:5,C:"Intrinsic & Extrinsic Sizing",D:true}; diff --git a/.pnpm-store/v3/files/0f/bab12726321d5192cb2e376a4e8e2498946cdd1c3b9cb77dccafda13f3fedd32040070810a496d88cc7e79beea283d9e1b85a5036e1ee1840060eb57f4e0e8 b/.pnpm-store/v3/files/0f/bab12726321d5192cb2e376a4e8e2498946cdd1c3b9cb77dccafda13f3fedd32040070810a496d88cc7e79beea283d9e1b85a5036e1ee1840060eb57f4e0e8 new file mode 100644 index 00000000..01b7abf0 --- /dev/null +++ b/.pnpm-store/v3/files/0f/bab12726321d5192cb2e376a4e8e2498946cdd1c3b9cb77dccafda13f3fedd32040070810a496d88cc7e79beea283d9e1b85a5036e1ee1840060eb57f4e0e8 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","16":"SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC WC","2":"TC 7B","16":"VC"},D:{"1":"0 1 2 3 4 5 6 7 8 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","2":"F B iC jC kC lC 2B QC"},G:{"1":"zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"indeterminate checkbox",D:true}; diff --git a/.pnpm-store/v3/files/0f/bf0146dad07576c94f35314b7a5497397538c9069571422f35f020031963e3d19a0d7edf9c231bc90fb2d4f3d42febacfae206e223bb0f68d43940ff072053 b/.pnpm-store/v3/files/0f/bf0146dad07576c94f35314b7a5497397538c9069571422f35f020031963e3d19a0d7edf9c231bc90fb2d4f3d42febacfae206e223bb0f68d43940ff072053 new file mode 100644 index 00000000..6538a020 --- /dev/null +++ b/.pnpm-store/v3/files/0f/bf0146dad07576c94f35314b7a5497397538c9069571422f35f020031963e3d19a0d7edf9c231bc90fb2d4f3d42febacfae206e223bb0f68d43940ff072053 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB VC WC","194":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB"},D:{"1":"0 1 2 3 4 5 6 7 8 dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","66":"cB"},E:{"1":"HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB iC jC kC lC 2B QC mC 3B","66":"PB QB"},G:{"1":"HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","194":"TD"}},B:2,C:"CSS Containment",D:true}; diff --git a/.pnpm-store/v3/files/0f/ce1822385f19f9e2bb83f2cd5073e0da74773d697ecccbe4ecdde4c0663546118e654204a80a20020d8aff764b18f1fe203f67bbbf905d0d44ae09ed2a4740 b/.pnpm-store/v3/files/0f/ce1822385f19f9e2bb83f2cd5073e0da74773d697ecccbe4ecdde4c0663546118e654204a80a20020d8aff764b18f1fe203f67bbbf905d0d44ae09ed2a4740 new file mode 100644 index 00000000..ebe0a66a --- /dev/null +++ b/.pnpm-store/v3/files/0f/ce1822385f19f9e2bb83f2cd5073e0da74773d697ecccbe4ecdde4c0663546118e654204a80a20020d8aff764b18f1fe203f67bbbf905d0d44ae09ed2a4740 @@ -0,0 +1,242 @@ +const os = require('bare-os') + +const { normalizeString } = require('./shared') +const { + CHAR_DOT, + CHAR_FORWARD_SLASH +} = require('./constants') + +function isPosixPathSeparator (code) { + return code === CHAR_FORWARD_SLASH +} + +exports.win32 = require('./win32') +exports.posix = exports + +exports.sep = '/' +exports.delimiter = ':' + +exports.resolve = function resolve (...args) { + let resolvedPath = '' + let resolvedAbsolute = false + + for (let i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { + const path = i >= 0 ? args[i] : os.cwd() + + if (path.length === 0) { + continue + } + + resolvedPath = `${path}/${resolvedPath}` + resolvedAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH + } + + resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute, '/', isPosixPathSeparator) + + if (resolvedAbsolute) { + return `/${resolvedPath}` + } + + return resolvedPath.length > 0 ? resolvedPath : '.' +} + +exports.normalize = function normalize (path) { + if (path.length === 0) return '.' + + const isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH + const trailingSeparator = path.charCodeAt(path.length - 1) === CHAR_FORWARD_SLASH + + path = normalizeString(path, !isAbsolute, '/', isPosixPathSeparator) + + if (path.length === 0) { + if (isAbsolute) return '/' + return trailingSeparator ? './' : '.' + } + + if (trailingSeparator) path += '/' + + return isAbsolute ? `/${path}` : path +} + +exports.isAbsolute = function isAbsolute (path) { + return path.length > 0 && path.charCodeAt(0) === CHAR_FORWARD_SLASH +} + +exports.join = function join (...args) { + if (args.length === 0) return '.' + let joined + for (let i = 0; i < args.length; ++i) { + const arg = args[i] + if (arg.length > 0) { + if (joined === undefined) joined = arg + else joined += `/${arg}` + } + } + if (joined === undefined) return '.' + return exports.normalize(joined) +} + +exports.relative = function relative (from, to) { + if (from === to) return '' + + from = exports.resolve(from) + to = exports.resolve(to) + + if (from === to) return '' + + const fromStart = 1 + const fromEnd = from.length + const fromLen = fromEnd - fromStart + const toStart = 1 + const toLen = to.length - toStart + + const length = (fromLen < toLen ? fromLen : toLen) + let lastCommonSep = -1 + let i = 0 + for (; i < length; i++) { + const fromCode = from.charCodeAt(fromStart + i) + if (fromCode !== to.charCodeAt(toStart + i)) { + break + } else if (fromCode === CHAR_FORWARD_SLASH) { + lastCommonSep = i + } + } + if (i === length) { + if (toLen > length) { + if (to.charCodeAt(toStart + i) === CHAR_FORWARD_SLASH) { + return to.substring(toStart + i + 1) + } + if (i === 0) { + return to.substring(toStart + i) + } + } else if (fromLen > length) { + if (from.charCodeAt(fromStart + i) === CHAR_FORWARD_SLASH) { + lastCommonSep = i + } else if (i === 0) { + lastCommonSep = 0 + } + } + } + + let out = '' + for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { + if (i === fromEnd || from.charCodeAt(i) === CHAR_FORWARD_SLASH) { + out += out.length === 0 ? '..' : '/..' + } + } + + return `${out}${to.substring(toStart + lastCommonSep)}` +} + +exports.toNamespacedPath = function toNamespacedPath (path) { + return path +} + +exports.dirname = function dirname (path) { + if (path.length === 0) return '.' + const hasRoot = path.charCodeAt(0) === CHAR_FORWARD_SLASH + let end = -1 + let matchedSlash = true + for (let i = path.length - 1; i >= 1; --i) { + if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) { + if (!matchedSlash) { + end = i + break + } + } else { + matchedSlash = false + } + } + + if (end === -1) return hasRoot ? '/' : '.' + if (hasRoot && end === 1) return '//' + return path.substring(0, end) +} + +exports.basename = function basename (path, suffix) { + let start = 0 + let end = -1 + let matchedSlash = true + + if (suffix !== undefined && suffix.length > 0 && suffix.length <= path.length) { + if (suffix === path) { return '' } + let extIdx = suffix.length - 1 + let firstNonSlashEnd = -1 + for (let i = path.length - 1; i >= 0; --i) { + const code = path.charCodeAt(i) + if (code === CHAR_FORWARD_SLASH) { + if (!matchedSlash) { + start = i + 1 + break + } + } else { + if (firstNonSlashEnd === -1) { + matchedSlash = false + firstNonSlashEnd = i + 1 + } + if (extIdx >= 0) { + if (code === suffix.charCodeAt(extIdx)) { + if (--extIdx === -1) { + end = i + } + } else { + extIdx = -1 + end = firstNonSlashEnd + } + } + } + } + + if (start === end) end = firstNonSlashEnd + else if (end === -1) end = path.length + return path.substring(start, end) + } + + for (let i = path.length - 1; i >= 0; --i) { + if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) { + if (!matchedSlash) { + start = i + 1 + break + } + } else if (end === -1) { + matchedSlash = false + end = i + 1 + } + } + + if (end === -1) return '' + return path.substring(start, end) +} + +exports.extname = function extname (path) { + let startDot = -1 + let startPart = 0 + let end = -1 + let matchedSlash = true + let preDotState = 0 + for (let i = path.length - 1; i >= 0; --i) { + const code = path.charCodeAt(i) + if (code === CHAR_FORWARD_SLASH) { + if (!matchedSlash) { + startPart = i + 1 + break + } + continue + } + if (end === -1) { + matchedSlash = false + end = i + 1 + } + if (code === CHAR_DOT) { + if (startDot === -1) startDot = i + else if (preDotState !== 1) preDotState = 1 + } else if (startDot !== -1) { + preDotState = -1 + } + } + + if (startDot === -1 || end === -1 || preDotState === 0 || (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) { + return '' + } + return path.substring(startDot, end) +} diff --git a/.pnpm-store/v3/files/11/12354e68d4b95035845bc8fc58a6acce0c87656eadef38a5cf4a2697e385c224b8880b718abc263b4da0084046dd44b2af3ac66d3c94d346ec299c6264a0b6 b/.pnpm-store/v3/files/11/12354e68d4b95035845bc8fc58a6acce0c87656eadef38a5cf4a2697e385c224b8880b718abc263b4da0084046dd44b2af3ac66d3c94d346ec299c6264a0b6 new file mode 100644 index 00000000..ed60e57d --- /dev/null +++ b/.pnpm-store/v3/files/11/12354e68d4b95035845bc8fc58a6acce0c87656eadef38a5cf4a2697e385c224b8880b718abc263b4da0084046dd44b2af3ac66d3c94d346ec299c6264a0b6 @@ -0,0 +1 @@ +module.exports={C:{"121":0.6328,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 122 123 124 125 3.5 3.6"},D:{"109":1.8928,"119":0.2128,"120":18.7376,"121":0.42,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 122 123 124"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"114":1.4728,"120":18.5248,"121":3.7912,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 115 116 117 118 119"},E:{"14":2.7384,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.3 17.4","17.1":0.84,"17.2":2.3184},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00433,"5.0-5.1":0.00649,"6.0-6.1":0.01082,"7.0-7.1":0.01515,"8.1-8.4":0.00216,"9.0-9.2":0.01299,"9.3":0.04978,"10.0-10.2":0.00433,"10.3":0.07792,"11.0-11.2":0.0303,"11.3-11.4":0.03247,"12.0-12.1":0.01948,"12.2-12.5":0.38526,"13.0-13.1":0.00649,"13.2":0.07142,"13.3":0.01948,"13.4-13.7":0.08657,"14.0-14.4":0.15151,"14.5-14.8":0.23159,"15.0-15.1":0.09956,"15.2-15.3":0.11471,"15.4":0.13419,"15.5":0.17748,"15.6-15.8":1.38303,"16.0":0.41556,"16.1":0.88522,"16.2":0.40257,"16.3":0.74887,"16.4":0.16666,"16.5":0.35496,"16.6-16.7":2.90457,"17.0":0.48265,"17.1":4.97586,"17.2":6.73549,"17.3":0.43287},P:{"21":0.2376,"23":0.9504,_:"4 20 22 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","19.0":0.9504},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{_:"0"},H:{"0":0},L:{"0":24.0092},R:{_:"0"},M:{_:"0"}}; diff --git a/.pnpm-store/v3/files/11/2fb371795ce6194d3e05b04c5b4eeab455eb5a8a4cdcea9a45eddb207f5aa6ad68c265cddd507f52c3a78c2857df7eea768420403e218cea898e3d2e8d201f b/.pnpm-store/v3/files/11/2fb371795ce6194d3e05b04c5b4eeab455eb5a8a4cdcea9a45eddb207f5aa6ad68c265cddd507f52c3a78c2857df7eea768420403e218cea898e3d2e8d201f new file mode 100644 index 00000000..af280183 --- /dev/null +++ b/.pnpm-store/v3/files/11/2fb371795ce6194d3e05b04c5b4eeab455eb5a8a4cdcea9a45eddb207f5aa6ad68c265cddd507f52c3a78c2857df7eea768420403e218cea898e3d2e8d201f @@ -0,0 +1 @@ +module.exports={C:{"16":0.02956,"44":0.00739,"48":0.00739,"52":0.01478,"60":0.00739,"68":0.00739,"88":0.00739,"93":0.00739,"95":0.02217,"99":0.00739,"102":0.01478,"103":0.00739,"105":0.00739,"108":0.00739,"110":0.00739,"114":0.00739,"115":0.56911,"118":0.01478,"119":0.02217,"120":0.04435,"121":2.2173,"122":0.55433,"123":0.00739,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 92 94 96 97 98 100 101 104 106 107 109 111 112 113 116 117 124 125 3.5 3.6"},D:{"49":0.01478,"71":0.00739,"79":0.08869,"80":0.06652,"85":0.01478,"87":0.05174,"89":0.01478,"90":0.02217,"91":0.00739,"92":0.00739,"93":0.00739,"94":0.00739,"96":0.00739,"97":0.02956,"99":0.00739,"102":0.01478,"103":11.54474,"104":0.00739,"105":0.01478,"106":0.05913,"107":0.04435,"108":0.04435,"109":1.86992,"110":0.02217,"111":0.00739,"112":0.02956,"113":0.36216,"114":0.86475,"115":0.0813,"116":0.22173,"117":0.03696,"118":0.59867,"119":0.79084,"120":30.01485,"121":2.20252,"122":0.00739,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 72 73 74 75 76 77 78 81 83 84 86 88 95 98 100 101 123 124"},F:{"16":0.03696,"85":0.00739,"94":0.00739,"95":0.11087,"104":0.00739,"105":0.97561,"106":0.99039,_:"9 11 12 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.01478,"106":0.00739,"108":0.01478,"109":0.05913,"110":0.00739,"111":0.00739,"114":0.01478,"115":0.00739,"116":0.00739,"117":0.00739,"118":0.00739,"119":0.05913,"120":4.0207,"121":0.75388,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 107 112 113"},E:{"9":0.00739,"14":0.00739,"15":0.00739,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.01478,"13.1":0.05174,"14.1":0.03696,"15.1":0.01478,"15.2-15.3":0.00739,"15.4":0.01478,"15.5":0.00739,"15.6":0.12565,"16.0":0.01478,"16.1":0.05174,"16.2":0.02217,"16.3":0.05913,"16.4":0.03696,"16.5":0.07391,"16.6":0.1626,"17.0":0.05913,"17.1":11.73691,"17.2":0.40651,"17.3":0.05174},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00131,"5.0-5.1":0.00197,"6.0-6.1":0.00328,"7.0-7.1":0.00459,"8.1-8.4":0.00066,"9.0-9.2":0.00393,"9.3":0.01507,"10.0-10.2":0.00131,"10.3":0.02358,"11.0-11.2":0.00917,"11.3-11.4":0.00983,"12.0-12.1":0.0059,"12.2-12.5":0.11661,"13.0-13.1":0.00197,"13.2":0.02162,"13.3":0.0059,"13.4-13.7":0.0262,"14.0-14.4":0.04586,"14.5-14.8":0.0701,"15.0-15.1":0.03014,"15.2-15.3":0.03472,"15.4":0.04062,"15.5":0.05372,"15.6-15.8":0.41862,"16.0":0.12578,"16.1":0.26794,"16.2":0.12185,"16.3":0.22667,"16.4":0.05044,"16.5":0.10744,"16.6-16.7":0.87917,"17.0":0.14609,"17.1":1.50612,"17.2":2.03873,"17.3":0.13102},P:{"4":0.01041,"20":0.02082,"21":0.04165,"22":0.08329,"23":2.0199,_:"5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0","6.2-6.4":0.01041,"17.0":0.01041,"18.0":0.01041,"19.0":0.03124},I:{"0":0.04676,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00012},A:{"8":0.02217,"11":0.05174,_:"6 7 9 10 5.5"},K:{"0":0.28438,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00261},O:{"0":0.04435},H:{"0":0},L:{"0":16.89754},R:{_:"0"},M:{"0":0.31047}}; diff --git a/.pnpm-store/v3/files/11/844376724498bf742244e203f23dbed213a936a4cf7d340d9049fcac033311d1956779395a2636953f86d4256a1161fb5bca58ddfc08dacc888a4a09de2234 b/.pnpm-store/v3/files/11/844376724498bf742244e203f23dbed213a936a4cf7d340d9049fcac033311d1956779395a2636953f86d4256a1161fb5bca58ddfc08dacc888a4a09de2234 new file mode 100644 index 00000000..0e29c28a --- /dev/null +++ b/.pnpm-store/v3/files/11/844376724498bf742244e203f23dbed213a936a4cf7d340d9049fcac033311d1956779395a2636953f86d4256a1161fb5bca58ddfc08dacc888a4a09de2234 @@ -0,0 +1,11 @@ +# bare-os + +Operating system utilities for Javascript. + +``` +npm i bare-os +``` + +## License + +Apache-2.0 diff --git a/.pnpm-store/v3/files/12/2b20268841dc744d6a1032d836b2a4ea9b34f67b382122ecc20e80ceaaaf32c7561e356a486da09b6a5c525a0e8bb66c463c348386fba3ca0e57552f4b389f b/.pnpm-store/v3/files/12/2b20268841dc744d6a1032d836b2a4ea9b34f67b382122ecc20e80ceaaaf32c7561e356a486da09b6a5c525a0e8bb66c463c348386fba3ca0e57552f4b389f new file mode 100644 index 00000000..9e985855 --- /dev/null +++ b/.pnpm-store/v3/files/12/2b20268841dc744d6a1032d836b2a4ea9b34f67b382122ecc20e80ceaaaf32c7561e356a486da09b6a5c525a0e8bb66c463c348386fba3ca0e57552f4b389f @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"1":"TD UD"}},B:4,C:"Proximity API",D:true}; diff --git a/.pnpm-store/v3/files/12/7c1786b9705cc93d80abb9fdf971e6cbff6a7e7b024469946de14caebc5bb1510cdfa4f8e5818fae4cefbd7d3a403cd972c1c6b717d0a4878fe5f908e84e56-index.json b/.pnpm-store/v3/files/12/7c1786b9705cc93d80abb9fdf971e6cbff6a7e7b024469946de14caebc5bb1510cdfa4f8e5818fae4cefbd7d3a403cd972c1c6b717d0a4878fe5f908e84e56-index.json new file mode 100644 index 00000000..3ce757af --- /dev/null +++ b/.pnpm-store/v3/files/12/7c1786b9705cc93d80abb9fdf971e6cbff6a7e7b024469946de14caebc5bb1510cdfa4f8e5818fae4cefbd7d3a403cd972c1c6b717d0a4878fe5f908e84e56-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001725443,"integrity":"sha512-P6dI5Z+zrwxSk1MIRPqpYG2ScYNkidLIATQXd50QzBgBh/XmcEd/nsd9NB4O9k6rfc+4dsY5DwJ7xvhpoS0PRg==","mode":420,"size":765},"range.bnf":{"checkedAt":1708001725443,"integrity":"sha512-QFWaLEiQU1s/JlrBiOQMDjjkPPmcgrV2EXQZ398F8wdbGszuVgmkqJC/yPJ5zEDXGKsgFteRUnpGI4Ed4TLnGw==","mode":420,"size":619},"functions/clean.js":{"checkedAt":1708001725443,"integrity":"sha512-PBePlhUl8Kqb8pXJiN9pbsfuP8WWPPsMb25xBpWYJw55Usm6qupCpO6g45oEldzTPpndR+RATK4hdIyEcDKg1g==","mode":420,"size":191},"functions/cmp.js":{"checkedAt":1708001725443,"integrity":"sha512-hzn7gpOKLkx+OJs1L55GwTzEt6IXMMj3aonWWTh++X22YHu/hhzB1xPGAMj8/H7W7y7z6djeopvzPH7Gz3yQkg==","mode":420,"size":947},"functions/coerce.js":{"checkedAt":1708001725444,"integrity":"sha512-KWABhNsyAPw11ZvFiKmbE1GVCu8su60eojpPGEE7Xa4gofsUhmPrjaBtwGpBGRBAedVfrQddPmKP1nG3jSDwTQ==","mode":420,"size":1990},"classes/comparator.js":{"checkedAt":1708001725444,"integrity":"sha512-HPb6+gxTGLDHLkfNbVa4ozunKiv3chcE1mO+tMBXb6W/YfO8Sg1U3UzYbmXupLWmIAvyhMwE84NbnEPcr5zH8Q==","mode":420,"size":3617},"functions/compare-build.js":{"checkedAt":1708001725444,"integrity":"sha512-OaW7U0VC4OEou8axUg+C80wbdsb/bSNxmVGNRvaojsXpLJQqByJvWfxMtl5TWcTOFFLg7VhhoyznJzBfXkU9fQ==","mode":420,"size":267},"functions/compare-loose.js":{"checkedAt":1708001725444,"integrity":"sha512-N4I/4oOgLVJ4Jkzy2saBE4nHlaIHT/lSjjRnbk4uF3mIVzpRsZ/0YvBhwyA+9kH4UyPakSWs8jMEqHHLOLTz0g==","mode":420,"size":118},"functions/compare.js":{"checkedAt":1708001725444,"integrity":"sha512-vcQl2T2aGKdbIRuOL89MwwvcE5CleCT8CARxyPiTdvW6rIaW105qgOcgqhaKLyshvERPH+6M2p8bVZJMtKLYhg==","mode":420,"size":156},"internal/constants.js":{"checkedAt":1708001725444,"integrity":"sha512-hg6OSGSvgRgO/vVSHSR/pCmSpNjyv7OKjgMkzyWOeAU3iNz6IzGn5erC1YfDJPd0gR0cJHCRaQI45jH36Vjevw==","mode":420,"size":859},"internal/debug.js":{"checkedAt":1708001725444,"integrity":"sha512-aBNcpnH1qISWmf/L5hie8OLXt9SosYEZp5DCM0u76nMt6LR3fM8YQ/Zq1tKyBD5hxdabt2NH6ScIu1I0sXNzjQ==","mode":420,"size":226},"functions/diff.js":{"checkedAt":1708001725444,"integrity":"sha512-6pBTQz5Cp+3GoyWG4zWgy6Q0P579TG8dh4M7sHathVfiyWq1C06DaK07QgWxIX0OViKkGUKqHiAPo/hI8gl7Cw==","mode":420,"size":1612},"functions/eq.js":{"checkedAt":1708001725444,"integrity":"sha512-GDblaBy8fDCWYWMPWu62JaDB9ali5IWf1ShVaddDm4zQOYQB9Z+89LVHYhj8Id/AL8ygTSULpmSZ1ewyRygSlg==","mode":420,"size":112},"functions/gt.js":{"checkedAt":1708001725444,"integrity":"sha512-c+GKyVB5/ZNuz6LY/SXu2XDpMq6j1OU0f4dqKPKG4WJ7QR+g1qKZsea6c97n6APXXkl8isrX6wrh5heTeo8XhA==","mode":420,"size":110},"functions/gte.js":{"checkedAt":1708001725444,"integrity":"sha512-iFE78CMOEjuAukanct/TJLWAI3yFVqXMacFYCCIiHeQuRzK4TTN7+DnQKVoaoC7JbdBNJycBP5hXdZw+yYSgTA==","mode":420,"size":113},"ranges/gtr.js":{"checkedAt":1708001725444,"integrity":"sha512-Ua8X/UW9Iwv84bwTdeyescC8PdpbS3pCXAJRwbJ16BVExKv4AkbINyUk30CghlV2IROKEHqXSanXfIKIT5r75A==","mode":420,"size":217},"internal/identifiers.js":{"checkedAt":1708001725444,"integrity":"sha512-AWzdZl/opxkdkTtL2SOL1txUNUQ09TkAxUPeqBUTXmfQ5xYBDo+qMVzAkRlXx4ijkWO79irMUby7z0hUbW1quw==","mode":420,"size":410},"functions/inc.js":{"checkedAt":1708001725444,"integrity":"sha512-/+bgBS3IDfD7bVZau4Sua/k7rIPTs+Xe/dbzdx3kUGdEDy2dyS+G+XBbPx5ZI3utbyTaPXt38OS7IDAYc23rkA==","mode":420,"size":464},"classes/index.js":{"checkedAt":1708001725444,"integrity":"sha512-NfGyoi3SgW1FSOW57H4nPgxQeR+QaQ9TPGkqEw3uCot4xaXUh7G3HW/BqdoTX0jgoH+kUv+CFjogGRzglOhf6A==","mode":420,"size":129},"index.js":{"checkedAt":1708001725444,"integrity":"sha512-mP2DV6FgNVR0kPrqJSCQUAViXj3t9J49C9nlmSTIp00Ld9WNvEK/T9x3KUmgyMNiW2CyEK6CS5yhIcAQn3s75g==","mode":420,"size":2616},"ranges/intersects.js":{"checkedAt":1708001725444,"integrity":"sha512-S2wa2dds4GDo6uMy+SBAP0lbtP/YInu64U56YKO6E7P9bQN8GvQtBPF3Nt+BNzNpUWt/88V9lOGigm1EHWDumg==","mode":420,"size":210},"functions/lt.js":{"checkedAt":1708001725445,"integrity":"sha512-YYXOTTAMGhhsRZ444fR3LKQjkvo0lvh4r3yuTPbMGP6UpMZ9F3Z/S2aHAgaFrfd7aI6MqFqkYrnCia1HINNW+w==","mode":420,"size":110},"functions/lte.js":{"checkedAt":1708001725445,"integrity":"sha512-MkvpQxAEckIVSBl0d/z5SvwGWiuvYCR6R8lEhhQQK2zPNyATVAtpbSSjHskqZr3dbklZFnL3gk5LsbDmVIR5nw==","mode":420,"size":113},"ranges/ltr.js":{"checkedAt":1708001725445,"integrity":"sha512-U3gsOijrwMaNNlq1rCUoXay3ehH50vNjwJzvKWYpK/hcx3eeu28xwv4QWLgqEUZT/PHr66rfM6ZFeqolNk4euQ==","mode":420,"size":213},"functions/major.js":{"checkedAt":1708001725445,"integrity":"sha512-otB3gJtBJMjTnJawKjzVocVgyURPilqAz9CF6vstZfRQgNaDrBN6yUMxKgN5pLmNGcCW0PEumh5hxzbf5e5i6A==","mode":420,"size":122},"ranges/max-satisfying.js":{"checkedAt":1708001725445,"integrity":"sha512-OaTS4UxgT38MMK1Jdu6fCNs5svPgv6rZZrDo/gI6rbhwj6fpzgqtVYcbNOuWYdrLWuWTnKVJWVHCAhGNITax/A==","mode":420,"size":579},"ranges/min-satisfying.js":{"checkedAt":1708001725445,"integrity":"sha512-MzA1a4RgWsPldaJN2U/ULnaHMDZY451c+nIWx/NwjKlYFwb4qcmK+aTlIqkZ28YKPXPEXh38H2l7ne3pS9a1bA==","mode":420,"size":577},"ranges/min-version.js":{"checkedAt":1708001725445,"integrity":"sha512-HZ2Vf8Ptf2jBtmAgQ5h8233gtgWJAo+4ZZiG39Xa5Wvy/d7Tm8bcUdffmk+4+q/SHhYwBEshg886MuG8wbvfCA==","mode":420,"size":1500},"functions/minor.js":{"checkedAt":1708001725445,"integrity":"sha512-Ko1fBkZm9wDRycfQ4W9aCUcrKQmhu73O80Rog80ATKNhTYOScFIhd3BeGsz+K96T95tV0xjp0fnKPy0vOhObAg==","mode":420,"size":122},"functions/neq.js":{"checkedAt":1708001725445,"integrity":"sha512-s6jdRh3OZZ8fJ4lB8Py3YhaLmOSD29/fv1wPuQoCRFr6ZndkUyk7GPoLOI8bXY2UqB9XwNIe7guVEPnHcZUVYQ==","mode":420,"size":114},"ranges/outside.js":{"checkedAt":1708001725445,"integrity":"sha512-0sbm1JTuo4skjfVSDCfO1vNmjlroJXUSpPrQdQB7wiQZpiBG0X8e2yPCoEP0a4zSkk/rruzcw+TrCxwI7sBWQA==","mode":420,"size":2190},"internal/parse-options.js":{"checkedAt":1708001725445,"integrity":"sha512-c0erNCRw2pe1ht7HE6VvCWGtjW2+h+tSRnXUjBnLtt+vljXccpHqzVwuPTo4EIc22VkF/sDA4fdxgXKXiwoWOA==","mode":420,"size":324},"functions/parse.js":{"checkedAt":1708001725445,"integrity":"sha512-U7QrNrmQAHri+GNhfV4/1tHITRWTCMvuIIeOkg7tEc8IjmVtsGo1r5bu5bAVFaqILSt1mXkAXUmulP588EGZ7Q==","mode":420,"size":317},"functions/patch.js":{"checkedAt":1708001725445,"integrity":"sha512-zpRm/CbVVmtzGxKtHodh3f7G1vc7t0fR0vq024k8oDp4vj5iyA5/BV/sJYYRO9G6LL8kijc/scY7tmXjoAr3gw==","mode":420,"size":122},"preload.js":{"checkedAt":1708001725445,"integrity":"sha512-3SoaB8myyER/H7G8N3oDZVfQENbQITgBpwgVgxA6bA3zFONAIqMtyP2LiRbq9zechL7hzzypzk9Idm9Qx0caqw==","mode":420,"size":69},"functions/prerelease.js":{"checkedAt":1708001725445,"integrity":"sha512-M4xz4t4AtNecPTup24gByhC8dh2UdlL4Pj/PAP/bgXCz+oD98Sev6XQtorU7WPLqmsiAoNfE9KjNINMvCEqp2A==","mode":420,"size":220},"classes/range.js":{"checkedAt":1708001725445,"integrity":"sha512-iHL989qmpRQ+D5ZWJATpN0Fwu6dHDyjF0gacoE6/8qXBTYHjhE9+Wy41LLyU5L9JqZfgHnFlFivEiT3VwjNaWg==","mode":420,"size":14514},"functions/rcompare.js":{"checkedAt":1708001725445,"integrity":"sha512-rlAxULqy4pPy9mAIyXSFxeKlHyk4mJtKB1OCzSVu9LpU/l1Wrl4tjbVGsP1eFag6tFFC1mXXL3x26saNxTJmGw==","mode":420,"size":118},"internal/re.js":{"checkedAt":1708001725445,"integrity":"sha512-ctrADcKYuRuO96DshzdWU+9DvhgmMD5JGe/EDcStsIyThyZHgcEQXUw2At1uE7H1kQ1MUmvC1GXyL7PLhi0DIw==","mode":420,"size":7937},"functions/rsort.js":{"checkedAt":1708001725446,"integrity":"sha512-UBQm5t05oyS3W4UDFH36sO7drbQARlgCXuWzPsyo/Ptsj6+QbrVGiAXAolPSOfa6UhkWeq7VkcLV8VBoLdg9Sw==","mode":420,"size":149},"functions/satisfies.js":{"checkedAt":1708001725446,"integrity":"sha512-pfmVGMQKcvuSEHG6tWDSxoV2pbmqipwD6XsduUWzKom5b5t7+KoIJcpw12Av/OscrZts69YST2dro1k/iZi0Tg==","mode":420,"size":233},"bin/semver.js":{"checkedAt":1708001725446,"integrity":"sha512-Snyf53od8ieurMMgnqZ601gS5LNs7XEpOgfP2Hmrf9xPCUQ+KvvPBaLMYUYfHhyCB4KFyF1EOnk4qllWQnn29w==","mode":493,"size":4823},"classes/semver.js":{"checkedAt":1708001725446,"integrity":"sha512-zWOPHfxIG1KviAAA2nn1+2StMfD4uci2Cv5+hYsxuRcHNTAb448s9Pos3zydlXpExddjLPlj9xrqZa5liWTgZQ==","mode":420,"size":8756},"ranges/simplify.js":{"checkedAt":1708001725446,"integrity":"sha512-oFYb+aHaKFlRK6HNnyB4DO5Eh1HOfLaUc8H9MQEZPlJoQjFAOafwiXmx6AklrjW6msiqD3q3o1SP47YEkdCZKA==","mode":420,"size":1341},"functions/sort.js":{"checkedAt":1708001725446,"integrity":"sha512-dffBRAZ2q+SXVxuG7YQ6YM/gNGTRmGhktoXNpbMTJsiAkKhFiD43ysPVj4YjEvlLqBB79VjJfDZyJwzcHPtyrQ==","mode":420,"size":147},"ranges/subset.js":{"checkedAt":1708001725446,"integrity":"sha512-0B49Asb42oMmV90di6jY9eG4Ip1fsQfY0cOrcxHNsZH9/57OklklmHQcyaxmhIzR8AA5njeP61k62HvuDiQLWg==","mode":420,"size":7510},"ranges/to-comparators.js":{"checkedAt":1708001725446,"integrity":"sha512-iLb5+7SFBJdngHcU5ogdddiLBhmOYCQIAi+AF6FrCkPHXmJ06MByiUTwnNqOQ+eChO6nTZ0AfNO/QOpu3PmvJg==","mode":420,"size":268},"functions/valid.js":{"checkedAt":1708001725446,"integrity":"sha512-Vpmb8USoILuPibT0g69wsqZ62rXBI1ZQis69ijxJfUVRi9v/WVQ4nj/UzYIq9TzmTEf1rHkZJk1NkBUtw1T5TQ==","mode":420,"size":162},"ranges/valid.js":{"checkedAt":1708001725446,"integrity":"sha512-roa4OTP3qfMBb5Y1dqV/xlvqnswwmwesum6NQbmPUYuqglfdLNqPFgmmwRXqYK0A4a/0/p7M/849UFZFs/vMYw==","mode":420,"size":312},"package.json":{"checkedAt":1708001725446,"integrity":"sha512-uJX2y+9YSLvTQxM6/bY4wIDIm2oNTbAsq5GBNlSXe6S6pRSsl+ggc3xeVU6UPsiZiJ5iTOt6RNP71uBZqLzr1w==","mode":420,"size":1628},"README.md":{"checkedAt":1708001725446,"integrity":"sha512-NhjGQTlypiZ5Dz75IuV+I/I4YTGnXPsGy9S6/Nbs2heQK48G9BUigfMb+1S9voMQj7W2+VUlix5F/xn+dlV+ew==","mode":420,"size":23906}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/12/b08730269ed7dbd1f2f4067b9d3122c5689b2d7dae0ea016edfeaf78e410ee3ab2e2cc58192cbd5ca81a0415fa339f97ce1948e4a59afe86c5af3d3e64c698-index.json b/.pnpm-store/v3/files/12/b08730269ed7dbd1f2f4067b9d3122c5689b2d7dae0ea016edfeaf78e410ee3ab2e2cc58192cbd5ca81a0415fa339f97ce1948e4a59afe86c5af3d3e64c698-index.json new file mode 100644 index 00000000..0f36dbb1 --- /dev/null +++ b/.pnpm-store/v3/files/12/b08730269ed7dbd1f2f4067b9d3122c5689b2d7dae0ea016edfeaf78e410ee3ab2e2cc58192cbd5ca81a0415fa339f97ce1948e4a59afe86c5af3d3e64c698-index.json @@ -0,0 +1 @@ +{"files":{"license":{"checkedAt":1708001724938,"integrity":"sha512-i6YIwLi6LAoHlfXiVTw43Q0ZiRcQCv1FNCkjUPIILCoCba1PT0oTfRnGgTrRQOWMjj2ip9gQjPNEajOmCbYNyQ==","mode":420,"size":1104},"dist/index.js":{"checkedAt":1708001724938,"integrity":"sha512-MjstZ4TMjZ4rUjNTFvpjQ8/2kw7Ecrao0nBjMhzxxKvj947VqfFLeDZpiW7MedJ0JzOkIFqbviZvYZwxfEksKQ==","mode":420,"size":534},"sync/index.js":{"checkedAt":1708001724938,"integrity":"sha512-7+/SekZXDWV2ltAuR6cUzpbVo/46ZvxVMBSNwGoXSlQ+6hSWAbq1ir/pIvq04+lchkOxZc1bRpnAK3uw3SwAbw==","mode":420,"size":416},"package.json":{"checkedAt":1708001724938,"integrity":"sha512-lA7MSnlheP647EUbZdl/b9oNc71qiW9ONY2pa8x6AS09JsHr+yRCYW8TA2vKtPBSUogKgFVIEd+lNwtO1dGzzQ==","mode":420,"size":1233},"readme.md":{"checkedAt":1708001724938,"integrity":"sha512-9yQy9RxEcbJoUslsqW8BbsT/WdHBZjXPzvNkaDOAlg0uKhms7ZopwK7qNb/C30Qgc1Hn2sQ0ERVXsIovODk8lQ==","mode":420,"size":6993},"dist/index.mjs":{"checkedAt":1708001724939,"integrity":"sha512-vTqBeadcgN8mUUaaICxIaJuCD50YgXzF6tjUhSjE8b4CUznrxloGnSHOV5tL7mQtr005r3uUr132phPPR/OQSQ==","mode":420,"size":517},"sync/index.mjs":{"checkedAt":1708001724939,"integrity":"sha512-6tclL+N/9Jd5HkVvP7gCQ8pPDa5nYsRdnPGyO54oEh/nDjul7OiMjRqajFp6/mESrj/jEgGfUdFJwXtjHdPNpg==","mode":420,"size":404},"index.d.ts":{"checkedAt":1708001724939,"integrity":"sha512-XrZg5mB47nh2hpJTlMOJY15PdJl1h37bQn93vjop0wz8deuhTkGTRzyiryg6XpeixFj1mM2Wlsj6aCaWmqnnrw==","mode":420,"size":224},"sync/index.d.ts":{"checkedAt":1708001724939,"integrity":"sha512-uvXkVSGNsTTPGvnL01LgPp75QgjJ246jtB4Uw+ipNudbm2YgG6eK1+AZog7m/43SeOhtesdu24kGfrijqUnCvQ==","mode":420,"size":166}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/12/bc45221920031ef095a49457b47a684bd4865ad1ee2903bd2caf8a82796e2eaff7af9176490e35d7c3953f8aa62c92cf26809993a7a709ab7cbf1d5b4c2329 b/.pnpm-store/v3/files/12/bc45221920031ef095a49457b47a684bd4865ad1ee2903bd2caf8a82796e2eaff7af9176490e35d7c3953f8aa62c92cf26809993a7a709ab7cbf1d5b4c2329 new file mode 100644 index 00000000..56e68225 --- /dev/null +++ b/.pnpm-store/v3/files/12/bc45221920031ef095a49457b47a684bd4865ad1ee2903bd2caf8a82796e2eaff7af9176490e35d7c3953f8aa62c92cf26809993a7a709ab7cbf1d5b4c2329 @@ -0,0 +1,117 @@ +'use strict'; + +var GetIntrinsic = require('get-intrinsic'); +var callBound = require('call-bind/callBound'); +var inspect = require('object-inspect'); + +var $TypeError = require('es-errors/type'); +var $WeakMap = GetIntrinsic('%WeakMap%', true); +var $Map = GetIntrinsic('%Map%', true); + +var $weakMapGet = callBound('WeakMap.prototype.get', true); +var $weakMapSet = callBound('WeakMap.prototype.set', true); +var $weakMapHas = callBound('WeakMap.prototype.has', true); +var $mapGet = callBound('Map.prototype.get', true); +var $mapSet = callBound('Map.prototype.set', true); +var $mapHas = callBound('Map.prototype.has', true); + +/* +* This function traverses the list returning the node corresponding to the given key. +* +* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly. +*/ +var listGetNode = function (list, key) { // eslint-disable-line consistent-return + for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) { + if (curr.key === key) { + prev.next = curr.next; + curr.next = list.next; + list.next = curr; // eslint-disable-line no-param-reassign + return curr; + } + } +}; + +var listGet = function (objects, key) { + var node = listGetNode(objects, key); + return node && node.value; +}; +var listSet = function (objects, key, value) { + var node = listGetNode(objects, key); + if (node) { + node.value = value; + } else { + // Prepend the new node to the beginning of the list + objects.next = { // eslint-disable-line no-param-reassign + key: key, + next: objects.next, + value: value + }; + } +}; +var listHas = function (objects, key) { + return !!listGetNode(objects, key); +}; + +module.exports = function getSideChannel() { + var $wm; + var $m; + var $o; + var channel = { + assert: function (key) { + if (!channel.has(key)) { + throw new $TypeError('Side channel does not contain ' + inspect(key)); + } + }, + get: function (key) { // eslint-disable-line consistent-return + if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { + if ($wm) { + return $weakMapGet($wm, key); + } + } else if ($Map) { + if ($m) { + return $mapGet($m, key); + } + } else { + if ($o) { // eslint-disable-line no-lonely-if + return listGet($o, key); + } + } + }, + has: function (key) { + if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { + if ($wm) { + return $weakMapHas($wm, key); + } + } else if ($Map) { + if ($m) { + return $mapHas($m, key); + } + } else { + if ($o) { // eslint-disable-line no-lonely-if + return listHas($o, key); + } + } + return false; + }, + set: function (key, value) { + if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { + if (!$wm) { + $wm = new $WeakMap(); + } + $weakMapSet($wm, key, value); + } else if ($Map) { + if (!$m) { + $m = new $Map(); + } + $mapSet($m, key, value); + } else { + if (!$o) { + // Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head + $o = { key: {}, next: null }; + } + listSet($o, key, value); + } + } + }; + return channel; +}; diff --git a/.pnpm-store/v3/files/12/fa9cd8bbb09d9955ea2e4d86d1f5f4e5741f0e79b027de3f22b7e8e46184dde37e277b4efbfd0cbc1dfe831bc3cb4ea6ade9c70809cd0554a983152a434b19 b/.pnpm-store/v3/files/12/fa9cd8bbb09d9955ea2e4d86d1f5f4e5741f0e79b027de3f22b7e8e46184dde37e277b4efbfd0cbc1dfe831bc3cb4ea6ade9c70809cd0554a983152a434b19 new file mode 100644 index 00000000..23311131 --- /dev/null +++ b/.pnpm-store/v3/files/12/fa9cd8bbb09d9955ea2e4d86d1f5f4e5741f0e79b027de3f22b7e8e46184dde37e277b4efbfd0cbc1dfe831bc3cb4ea6ade9c70809cd0554a983152a434b19 @@ -0,0 +1 @@ +module.exports={C:{"97":0.00778,"99":0.00778,"100":0.01167,"101":0.01167,"109":0.00778,"113":0.00778,"115":0.04279,"120":0.00778,"121":0.69242,"122":0.13226,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 98 102 103 104 105 106 107 108 110 111 112 114 116 117 118 119 123 124 125 3.5 3.6"},D:{"74":0.04279,"77":0.01945,"81":0.00778,"93":0.00778,"94":0.05446,"95":0.00778,"98":0.01945,"99":0.04279,"101":0.00778,"102":0.02334,"103":0.02334,"104":0.01945,"105":0.03501,"106":0.07002,"108":0.00778,"109":0.32287,"110":0.01945,"111":0.00778,"113":0.01945,"114":0.06613,"115":0.02334,"116":0.12059,"117":0.02334,"118":0.44346,"119":0.80912,"120":14.71587,"121":1.87109,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 75 76 78 79 80 83 84 85 86 87 88 89 90 91 92 96 97 100 107 112 122 123 124"},F:{"105":0.01945,"106":0.10114,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.10114,"86":0.02334,"90":0.01167,"92":0.00778,"100":0.01945,"109":0.07002,"113":0.03501,"115":0.00778,"116":0.04279,"117":0.04668,"118":0.22173,"119":0.35788,"120":9.54217,"121":0.42012,_:"12 13 14 15 16 17 79 80 81 83 84 85 87 88 89 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 114"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.2-15.3 15.4 16.0 17.4","15.1":0.00778,"15.5":0.01945,"15.6":0.1556,"16.1":0.34232,"16.2":0.02334,"16.3":0.03112,"16.4":0.02334,"16.5":0.05446,"16.6":0.17894,"17.0":0.04668,"17.1":0.13226,"17.2":0.23729,"17.3":0.00778},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00233,"5.0-5.1":0.0035,"6.0-6.1":0.00584,"7.0-7.1":0.00817,"8.1-8.4":0.00117,"9.0-9.2":0.007,"9.3":0.02684,"10.0-10.2":0.00233,"10.3":0.04201,"11.0-11.2":0.01634,"11.3-11.4":0.01751,"12.0-12.1":0.0105,"12.2-12.5":0.20773,"13.0-13.1":0.0035,"13.2":0.03851,"13.3":0.0105,"13.4-13.7":0.04668,"14.0-14.4":0.08169,"14.5-14.8":0.12487,"15.0-15.1":0.05368,"15.2-15.3":0.06185,"15.4":0.07235,"15.5":0.09569,"15.6-15.8":0.74572,"16.0":0.22407,"16.1":0.47731,"16.2":0.21706,"16.3":0.40379,"16.4":0.08986,"16.5":0.19139,"16.6-16.7":1.56613,"17.0":0.26024,"17.1":2.68296,"17.2":3.63174,"17.3":0.2334},P:{"4":0.03129,"20":0.02086,"21":0.07301,"22":0.14603,"23":4.43295,_:"5.0-5.4 8.2 9.2 10.1 13.0 14.0 16.0 17.0","6.2-6.4":0.01043,"7.2-7.4":0.03129,"11.1-11.2":0.04172,"12.0":0.02086,"15.0":0.04172,"18.0":0.05215,"19.0":0.08344},I:{"0":0.0365,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"10":0.01167,_:"6 7 8 9 11 5.5"},K:{"0":0.1833,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.03666},O:{"0":0.09165},H:{"0":0},L:{"0":46.56072},R:{_:"0"},M:{"0":0.40326}}; diff --git a/.pnpm-store/v3/files/13/257600e7e505e5886c1120662d97b635014cd60f71053c845de83aa9b584771e9403dabd3eb6f9f43de783d32e870132e77c9c4caaf272c7a83511fd58e27f b/.pnpm-store/v3/files/13/257600e7e505e5886c1120662d97b635014cd60f71053c845de83aa9b584771e9403dabd3eb6f9f43de783d32e870132e77c9c4caaf272c7a83511fd58e27f new file mode 100644 index 00000000..91e59e6d --- /dev/null +++ b/.pnpm-store/v3/files/13/257600e7e505e5886c1120662d97b635014cd60f71053c845de83aa9b584771e9403dabd3eb6f9f43de783d32e870132e77c9c4caaf272c7a83511fd58e27f @@ -0,0 +1 @@ +module.exports={C:{"4":0.00381,"47":0.00381,"50":0.00381,"51":0.00381,"52":0.01903,"53":0.01522,"55":0.06849,"56":1.10345,"78":0.00381,"85":0.00381,"88":0.00381,"89":0.00381,"96":0.00381,"103":0.00381,"104":0.00381,"105":0.00381,"106":0.00381,"113":0.00381,"115":0.1522,"116":0.00381,"118":0.00381,"119":0.00381,"120":0.01903,"121":0.63544,"122":0.1484,"123":0.00381,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 54 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 86 87 90 91 92 93 94 95 97 98 99 100 101 102 107 108 109 110 111 112 114 117 124 125 3.5 3.6"},D:{"25":0.09132,"37":0.02283,"38":0.00761,"41":0.00381,"43":0.00381,"49":0.02283,"50":0.00381,"53":0.04566,"54":0.00381,"55":0.00381,"56":0.02664,"57":0.36148,"58":0.00761,"61":0.00381,"63":0.00381,"65":0.00381,"68":0.00381,"69":0.00381,"70":0.00381,"71":0.00381,"73":0.01903,"74":0.02283,"75":0.00381,"78":0.00381,"79":0.25874,"80":0.00761,"81":0.00381,"83":0.00761,"84":0.00381,"85":0.00381,"86":0.00761,"87":0.18264,"88":0.01522,"89":0.00761,"90":0.00761,"91":0.01142,"92":0.04947,"93":0.00381,"94":0.0723,"95":0.00761,"96":0.00761,"97":0.01142,"98":0.00381,"99":0.03044,"100":0.00761,"101":0.04186,"102":0.02283,"103":0.03425,"104":0.01142,"105":0.03044,"106":0.02664,"107":0.01903,"108":0.02664,"109":2.22593,"110":0.01522,"111":0.02283,"112":0.02664,"113":0.03425,"114":0.04566,"115":0.02283,"116":0.13698,"117":0.05327,"118":0.06088,"119":1.92914,"120":18.57982,"121":1.4459,"122":0.00761,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 39 40 42 44 45 46 47 48 51 52 59 60 62 64 66 67 72 76 77 123 124"},F:{"28":0.00381,"44":0.00381,"46":0.01142,"95":0.01522,"98":0.00381,"105":0.19406,"106":0.20928,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00381,"16":0.00381,"18":0.01903,"84":0.00381,"92":0.00761,"100":0.00381,"107":0.00381,"108":0.00761,"109":0.05708,"110":0.00761,"111":0.00381,"112":0.00381,"113":0.00381,"114":0.01142,"115":0.00761,"116":0.00381,"117":0.01142,"118":0.01142,"119":0.03044,"120":2.64067,"121":0.41475,_:"12 13 15 17 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106"},E:{"10":0.00381,"14":0.02283,"15":0.00761,_:"0 4 5 6 7 8 9 11 12 13 3.1 3.2 5.1 6.1 7.1 10.1 17.4","9.1":0.00381,"11.1":0.00381,"12.1":0.00381,"13.1":0.02283,"14.1":0.0723,"15.1":0.01142,"15.2-15.3":0.00761,"15.4":0.02283,"15.5":0.03805,"15.6":0.1522,"16.0":0.01903,"16.1":0.09893,"16.2":0.06088,"16.3":0.13698,"16.4":0.03425,"16.5":0.06849,"16.6":0.41475,"17.0":0.1484,"17.1":0.74198,"17.2":1.01974,"17.3":0.06469},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00356,"5.0-5.1":0.00533,"6.0-6.1":0.00889,"7.0-7.1":0.01244,"8.1-8.4":0.00178,"9.0-9.2":0.01067,"9.3":0.04089,"10.0-10.2":0.00356,"10.3":0.064,"11.0-11.2":0.02489,"11.3-11.4":0.02667,"12.0-12.1":0.016,"12.2-12.5":0.31643,"13.0-13.1":0.00533,"13.2":0.05866,"13.3":0.016,"13.4-13.7":0.07111,"14.0-14.4":0.12444,"14.5-14.8":0.19021,"15.0-15.1":0.08177,"15.2-15.3":0.09422,"15.4":0.11022,"15.5":0.14577,"15.6-15.8":1.13594,"16.0":0.34131,"16.1":0.72707,"16.2":0.33065,"16.3":0.61508,"16.4":0.13688,"16.5":0.29154,"16.6-16.7":2.38564,"17.0":0.39642,"17.1":4.08688,"17.2":5.53213,"17.3":0.35554},P:{"4":0.53586,"20":0.03152,"21":0.11558,"22":0.13659,"23":2.16444,"5.0-5.4":0.07355,"6.2-6.4":0.02101,"7.2-7.4":0.07355,_:"8.2 9.2 10.1 12.0","11.1-11.2":0.02101,"13.0":0.01051,"14.0":0.02101,"15.0":0.01051,"16.0":0.02101,"17.0":0.02101,"18.0":0.02101,"19.0":0.1471},I:{"0":0.037,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"8":0.00774,"9":0.00387,"11":0.86734,_:"6 7 10 5.5"},K:{"0":0.48791,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00619},O:{"0":0.16724},H:{"0":0.02},L:{"0":41.42119},R:{_:"0"},M:{"0":0.11149}}; diff --git a/.pnpm-store/v3/files/13/a800f2eb356015fbb67585f01b48837a67c0c0489b31e7e4841a767c02e684a4551d2aa52a62960166fcdcef73f94cd5e834d5dd286fe2c3c03a10790c4e09 b/.pnpm-store/v3/files/13/a800f2eb356015fbb67585f01b48837a67c0c0489b31e7e4841a767c02e684a4551d2aa52a62960166fcdcef73f94cd5e834d5dd286fe2c3c03a10790c4e09 new file mode 100644 index 00000000..933dd18d --- /dev/null +++ b/.pnpm-store/v3/files/13/a800f2eb356015fbb67585f01b48837a67c0c0489b31e7e4841a767c02e684a4551d2aa52a62960166fcdcef73f94cd5e834d5dd286fe2c3c03a10790c4e09 @@ -0,0 +1 @@ +module.exports={C:{"3":0.00543,"4":0.01086,"5":0.00543,"7":0.00543,"10":0.00543,"11":0.1521,"16":0.00543,"17":0.00543,"20":0.00543,"25":0.00543,"38":0.01086,"40":0.00543,"43":0.00543,"44":0.02716,"45":0.00543,"47":0.00543,"48":0.00543,"49":0.00543,"52":0.07605,"59":0.00543,"72":0.01086,"75":0.00543,"78":0.03259,"83":0.00543,"88":0.00543,"91":0.00543,"93":0.00543,"94":0.02173,"99":0.00543,"101":0.05432,"102":0.0163,"103":0.0163,"104":0.00543,"105":0.00543,"106":0.00543,"107":0.00543,"108":0.00543,"109":0.00543,"110":0.00543,"111":0.00543,"112":0.00543,"113":0.01086,"114":0.05975,"115":0.64641,"116":0.00543,"117":0.01086,"118":0.37481,"119":0.5432,"120":0.33135,"121":1.6296,"122":0.34765,_:"2 6 8 9 12 13 14 15 18 19 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 39 41 42 46 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 73 74 76 77 79 80 81 82 84 85 86 87 89 90 92 95 96 97 98 100 123 124 125","3.5":0.00543,"3.6":0.00543},D:{"4":0.00543,"5":0.00543,"10":0.00543,"19":0.00543,"38":0.00543,"41":0.00543,"45":0.00543,"47":0.00543,"48":0.06518,"49":0.03259,"50":0.00543,"51":0.01086,"52":0.00543,"54":0.04889,"55":0.00543,"56":0.04346,"60":0.00543,"62":0.00543,"65":0.00543,"66":0.0163,"67":0.01086,"68":0.00543,"69":0.0163,"70":0.00543,"71":0.00543,"72":0.00543,"73":0.00543,"74":0.0163,"75":0.01086,"76":0.02173,"77":0.01086,"78":0.0163,"79":0.05432,"80":0.04346,"81":0.09778,"83":0.02173,"84":0.01086,"85":0.0163,"86":0.08148,"87":0.05975,"88":0.0163,"89":0.0163,"90":0.01086,"91":0.08148,"92":0.01086,"93":0.17382,"94":0.02716,"95":0.01086,"96":0.01086,"97":0.0163,"98":0.0163,"99":0.02716,"100":0.07605,"101":0.1195,"102":0.05432,"103":0.36394,"104":0.10321,"105":0.05432,"106":0.03802,"107":0.04346,"108":0.07605,"109":0.82566,"110":0.1521,"111":0.09778,"112":0.17382,"113":0.08148,"114":0.22271,"115":0.18469,"116":0.66814,"117":0.6627,"118":1.36343,"119":5.07349,"120":17.62141,"121":1.20047,"122":0.03802,"123":0.01086,_:"6 7 8 9 11 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 46 53 57 58 59 61 63 64 124"},F:{"20":0.00543,"53":0.00543,"54":0.00543,"55":0.00543,"89":0.0163,"95":0.02716,"102":0.21728,"103":0.00543,"104":0.01086,"105":0.38024,"106":0.30962,_:"9 11 12 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 101 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00543,"15":0.00543,"16":0.00543,"17":0.00543,"18":0.01086,"85":0.00543,"87":1.95552,"92":0.00543,"99":0.08691,"103":0.00543,"104":0.01086,"106":0.00543,"107":0.01086,"108":0.00543,"109":0.08148,"110":0.01086,"111":0.00543,"112":0.00543,"113":0.00543,"114":0.01086,"115":0.01086,"116":0.0163,"117":0.0163,"118":0.09234,"119":0.63011,"120":5.41027,"121":0.6953,_:"13 14 79 80 81 83 84 86 88 89 90 91 93 94 95 96 97 98 100 101 102 105"},E:{"4":0.00543,"5":0.00543,"8":0.00543,"9":0.01086,"13":0.01086,"14":0.07062,"15":0.0163,_:"0 6 7 10 11 12 3.1 3.2 6.1 7.1 10.1 17.4","5.1":0.00543,"9.1":0.03259,"11.1":0.00543,"12.1":0.03259,"13.1":0.18469,"14.1":0.20642,"15.1":0.10321,"15.2-15.3":0.02173,"15.4":0.04346,"15.5":0.05975,"15.6":0.58122,"16.0":0.06518,"16.1":0.10321,"16.2":0.11407,"16.3":0.2879,"16.4":0.14666,"16.5":0.19555,"16.6":0.97233,"17.0":0.34222,"17.1":1.54812,"17.2":1.84145,"17.3":0.1195},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00503,"5.0-5.1":0.00755,"6.0-6.1":0.01258,"7.0-7.1":0.01761,"8.1-8.4":0.00252,"9.0-9.2":0.01509,"9.3":0.05785,"10.0-10.2":0.00503,"10.3":0.09055,"11.0-11.2":0.03521,"11.3-11.4":0.03773,"12.0-12.1":0.02264,"12.2-12.5":0.44771,"13.0-13.1":0.00755,"13.2":0.083,"13.3":0.02264,"13.4-13.7":0.10061,"14.0-14.4":0.17607,"14.5-14.8":0.26913,"15.0-15.1":0.1157,"15.2-15.3":0.13331,"15.4":0.15594,"15.5":0.20625,"15.6-15.8":1.60723,"16.0":0.48293,"16.1":1.02873,"16.2":0.46783,"16.3":0.87027,"16.4":0.19367,"16.5":0.4125,"16.6-16.7":3.37544,"17.0":0.5609,"17.1":5.78252,"17.2":7.82741,"17.3":0.50305},P:{"4":0.05465,"20":0.02186,"21":0.04372,"22":0.05465,"23":1.4866,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0","13.0":0.01093,"16.0":0.02186,"17.0":0.01093,"18.0":0.01093,"19.0":0.01093},I:{"0":0.17741,"3":0,"4":0.00004,"2.1":0,"2.2":0.00002,"2.3":0,"4.1":0.00004,"4.2-4.3":0.00012,"4.4":0,"4.4.3-4.4.4":0.00046},A:{"8":0.01254,"9":0.0188,"10":0.00627,"11":0.12535,_:"6 7 5.5"},K:{"0":0.34268,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00457,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.02741},O:{"0":0.09138},H:{"0":0},L:{"0":18.66096},R:{_:"0"},M:{"0":0.44319}}; diff --git a/.pnpm-store/v3/files/13/a9effeba0bc5687d20be2e44b31484a85e3d6c2f7e96aca676d0c6a5960fc7e1b91147da4aa68a30ccc8c6567b9c65447b720f864f09511d897d94f8ec63d3 b/.pnpm-store/v3/files/13/a9effeba0bc5687d20be2e44b31484a85e3d6c2f7e96aca676d0c6a5960fc7e1b91147da4aa68a30ccc8c6567b9c65447b720f864f09511d897d94f8ec63d3 new file mode 100644 index 00000000..950bec43 --- /dev/null +++ b/.pnpm-store/v3/files/13/a9effeba0bc5687d20be2e44b31484a85e3d6c2f7e96aca676d0c6a5960fc7e1b91147da4aa68a30ccc8c6567b9c65447b720f864f09511d897d94f8ec63d3 @@ -0,0 +1 @@ +module.exports={C:{"3":0.00068,"8":0.00068,"25":0.00136,"30":0.01627,"33":0.00068,"35":0.00068,"38":0.00339,"43":0.00407,"44":0.00814,"45":0.00203,"46":0.00271,"47":0.00542,"48":0.0061,"49":0.00339,"50":0.00203,"51":0.00339,"52":0.00475,"54":0.00068,"56":0.00271,"57":0.00407,"58":0.00271,"59":0.00136,"61":0.00068,"62":0.00068,"63":0.00136,"65":0.00068,"66":0.00068,"67":0.00068,"68":0.00068,"69":0.00136,"70":0.00068,"71":0.00136,"72":0.01492,"74":0.00068,"76":0.00136,"79":0.00136,"81":0.00068,"85":0.00271,"86":0.00068,"88":0.00068,"89":0.00068,"90":0.00136,"91":0.00678,"93":0.00136,"94":0.00068,"96":0.00136,"97":0.00068,"99":0.00068,"100":0.00136,"101":0.00068,"102":0.00136,"103":0.00068,"104":0.00136,"105":0.00407,"106":0.00542,"107":0.00136,"109":0.00203,"110":0.00203,"111":0.01627,"112":0.00136,"113":0.0061,"114":0.00203,"115":0.17357,"116":0.00339,"117":0.00407,"118":0.00407,"119":0.01898,"120":0.02102,"121":0.31188,"122":0.09356,"123":0.00271,_:"2 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 31 32 34 36 37 39 40 41 42 53 55 60 64 73 75 77 78 80 82 83 84 87 92 95 98 108 124 125 3.5 3.6"},D:{"11":0.00203,"19":0.00068,"26":0.00203,"27":0.00814,"28":0.00068,"29":0.00068,"31":0.00271,"32":0.00068,"33":0.01085,"36":0.01288,"37":0.00136,"38":0.00271,"40":0.00271,"43":0.01966,"44":0.00407,"45":0.00136,"46":0.00339,"47":0.00339,"48":0.00407,"49":0.00136,"50":0.00814,"51":0.00068,"52":0.00136,"53":0.00203,"55":0.00542,"56":0.00339,"57":0.00203,"58":0.11526,"60":0.00339,"61":0.00475,"62":0.00068,"63":0.02305,"64":0.00339,"65":0.00136,"66":0.00271,"67":0.00068,"68":0.04339,"69":0.00542,"70":0.01627,"71":0.00949,"72":0.00136,"73":0.00203,"74":0.0061,"75":0.00271,"76":0.00949,"77":0.00475,"78":0.02102,"79":0.02983,"80":0.00068,"81":0.00271,"83":0.00814,"85":0.00678,"86":0.0061,"87":0.01017,"88":0.00814,"89":0.00746,"90":0.0061,"91":0.00203,"92":0.00814,"94":0.00203,"95":0.00339,"96":0.00475,"97":0.01153,"98":0.0061,"99":0.02237,"100":0.00203,"101":0.00542,"102":0.01017,"103":0.01492,"104":0.00881,"105":0.01017,"106":0.01627,"107":0.01356,"108":0.00678,"109":0.29696,"110":0.01085,"111":0.01966,"112":0.01153,"113":0.00407,"114":0.0122,"115":0.01763,"116":0.0217,"117":0.01017,"118":0.02848,"119":0.09356,"120":1.62042,"121":0.12272,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 20 21 22 23 24 25 30 34 35 39 41 42 54 59 84 93 122 123 124"},F:{"12":0.00271,"22":0.00068,"27":0.00136,"28":0.00068,"30":0.00068,"32":0.00068,"34":0.00339,"36":0.00068,"38":0.00136,"42":0.00068,"45":0.00068,"49":0.00136,"54":0.00136,"57":0.00068,"64":0.00136,"65":0.00068,"69":0.00068,"70":0.00068,"71":0.01085,"73":0.00068,"75":0.00068,"76":0.00136,"79":0.01695,"82":0.00203,"83":0.00475,"85":0.00068,"86":0.00068,"87":0.00068,"94":0.00136,"95":0.04136,"98":0.00068,"99":0.00136,"100":0.13357,"102":0.00136,"103":0.00068,"104":0.00271,"105":0.07865,"106":0.14441,_:"9 11 15 16 17 18 19 20 21 23 24 25 26 29 31 33 35 37 39 40 41 43 44 46 47 48 50 51 52 53 55 56 58 60 62 63 66 67 68 72 74 77 78 80 81 84 88 89 90 91 92 93 96 97 101 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5","11.6":0.00068,"12.1":0.00203},B:{"12":0.01763,"13":0.00339,"14":0.03729,"15":0.00814,"16":0.00881,"17":0.0061,"18":0.04882,"81":0.00068,"83":0.00068,"84":0.03051,"85":0.00068,"89":0.01356,"90":0.02237,"92":0.10645,"100":0.02034,"102":0.00068,"103":0.00542,"104":0.00136,"105":0.00136,"107":0.00136,"108":0.00407,"109":0.01424,"110":0.01424,"111":0.00678,"112":0.00814,"113":0.00339,"114":0.00271,"115":0.00203,"116":0.00136,"117":0.00475,"118":0.0061,"119":0.02305,"120":0.46511,"121":0.05017,_:"79 80 86 87 88 91 93 94 95 96 97 98 99 101 106"},E:{"7":0.00068,"13":0.00068,"14":0.00271,_:"0 4 5 6 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.5 16.4 17.4","5.1":0.56952,"13.1":0.00068,"14.1":0.00136,"15.1":0.00136,"15.2-15.3":0.00068,"15.4":0.00814,"15.6":0.01085,"16.0":0.00068,"16.1":0.00203,"16.2":0.00203,"16.3":0.0122,"16.5":0.00136,"16.6":0.00203,"17.0":0.00407,"17.1":0.00407,"17.2":0.0061,"17.3":0.00136},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00082,"5.0-5.1":0.00123,"6.0-6.1":0.00206,"7.0-7.1":0.00288,"8.1-8.4":0.00041,"9.0-9.2":0.00247,"9.3":0.00946,"10.0-10.2":0.00082,"10.3":0.0148,"11.0-11.2":0.00576,"11.3-11.4":0.00617,"12.0-12.1":0.0037,"12.2-12.5":0.07318,"13.0-13.1":0.00123,"13.2":0.01357,"13.3":0.0037,"13.4-13.7":0.01644,"14.0-14.4":0.02878,"14.5-14.8":0.04399,"15.0-15.1":0.01891,"15.2-15.3":0.02179,"15.4":0.02549,"15.5":0.03371,"15.6-15.8":0.26269,"16.0":0.07893,"16.1":0.16814,"16.2":0.07646,"16.3":0.14224,"16.4":0.03165,"16.5":0.06742,"16.6-16.7":0.5517,"17.0":0.09168,"17.1":0.94512,"17.2":1.27934,"17.3":0.08222},P:{"4":0.46733,"20":0.17271,"21":0.28446,"22":0.3251,"23":1.09722,_:"5.0-5.4 8.2","6.2-6.4":0.04064,"7.2-7.4":0.47749,"9.2":0.0508,"10.1":0.01016,"11.1-11.2":0.07112,"12.0":0.01016,"13.0":0.07112,"14.0":0.18287,"15.0":0.04064,"16.0":0.28446,"17.0":0.09143,"18.0":0.24383,"19.0":0.3759},I:{"0":0.18562,"3":0,"4":0.00004,"2.1":0,"2.2":0.00002,"2.3":0,"4.1":0.00004,"4.2-4.3":0.00013,"4.4":0,"4.4.3-4.4.4":0.00048},A:{"11":0.05288,_:"6 7 8 9 10 5.5"},K:{"0":7.06827,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01864,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":1.58474},H:{"0":3.13},L:{"0":73.34792},R:{_:"0"},M:{"0":0.19576}}; diff --git a/.pnpm-store/v3/files/13/ca5bcabd3d8003581255517ed65155af9137c60446b087b593232966e299ff6662c94c12a0743d32095d017e430fb54499964e0309484d521fe25682b26851 b/.pnpm-store/v3/files/13/ca5bcabd3d8003581255517ed65155af9137c60446b087b593232966e299ff6662c94c12a0743d32095d017e430fb54499964e0309484d521fe25682b26851 new file mode 100644 index 00000000..00857432 --- /dev/null +++ b/.pnpm-store/v3/files/13/ca5bcabd3d8003581255517ed65155af9137c60446b087b593232966e299ff6662c94c12a0743d32095d017e430fb54499964e0309484d521fe25682b26851 @@ -0,0 +1 @@ +module.exports = require('.').promises diff --git a/.pnpm-store/v3/files/13/df1a930a768809c424fe1e6a07c587d320cdd36d116c7a8a43feaa24fa58b1ef53f956568ce493686970eff0e9721efd5b2bdb1d6ea8a6790a5a72c288b438 b/.pnpm-store/v3/files/13/df1a930a768809c424fe1e6a07c587d320cdd36d116c7a8a43feaa24fa58b1ef53f956568ce493686970eff0e9721efd5b2bdb1d6ea8a6790a5a72c288b438 new file mode 100644 index 00000000..26c2de8b --- /dev/null +++ b/.pnpm-store/v3/files/13/df1a930a768809c424fe1e6a07c587d320cdd36d116c7a8a43feaa24fa58b1ef53f956568ce493686970eff0e9721efd5b2bdb1d6ea8a6790a5a72c288b438 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","132":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB"},D:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"I","16":"9 J D E r s t BB CB","132":"F A B C K L G M N O AB q"},E:{"1":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC","132":"J D E F A B ZC aC bC EC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"2":"pC qC","132":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","514":"DC nC RC oC"},H:{"2":"9C"},I:{"2":"AD BD CD","260":"7B I DD RC","514":"H ED FD"},J:{"132":"A","260":"D"},K:{"2":"A B C 2B QC 3B","514":"u"},L:{"260":"H"},M:{"2":"1B"},N:{"514":"A","1028":"B"},O:{"2":"4B"},P:{"260":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"260":"FC"},R:{"260":"SD"},S:{"1":"TD UD"}},B:1,C:"accept attribute for file input",D:true}; diff --git a/.pnpm-store/v3/files/14/201195f25f2c0d1e737c61ea5f785fd9732c6280c447b35631c4169038d3277a3e5e10215cd32b0262e3b6a5ac6c59c806d2c1e9bd11d085896f8e1af1825e-exec b/.pnpm-store/v3/files/14/201195f25f2c0d1e737c61ea5f785fd9732c6280c447b35631c4169038d3277a3e5e10215cd32b0262e3b6a5ac6c59c806d2c1e9bd11d085896f8e1af1825e-exec new file mode 100755 index 00000000..d56cbf85 Binary files /dev/null and b/.pnpm-store/v3/files/14/201195f25f2c0d1e737c61ea5f785fd9732c6280c447b35631c4169038d3277a3e5e10215cd32b0262e3b6a5ac6c59c806d2c1e9bd11d085896f8e1af1825e-exec differ diff --git a/.pnpm-store/v3/files/15/3c0a826c8ae4c7794d34ba7d775a1031b40b3a53a51aaa389e76b6d54a60f5a5581fdba2942226d17d7eb835ce66bf5257c6622a9ea48a48e1c1fb873419a8 b/.pnpm-store/v3/files/15/3c0a826c8ae4c7794d34ba7d775a1031b40b3a53a51aaa389e76b6d54a60f5a5581fdba2942226d17d7eb835ce66bf5257c6622a9ea48a48e1c1fb873419a8 new file mode 100644 index 00000000..3f4092e5 --- /dev/null +++ b/.pnpm-store/v3/files/15/3c0a826c8ae4c7794d34ba7d775a1031b40b3a53a51aaa389e76b6d54a60f5a5581fdba2942226d17d7eb835ce66bf5257c6622a9ea48a48e1c1fb873419a8 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D SC","132":"A","260":"E F"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","2":"TC 7B","1025":"9B lB mB nB oB pB qB rB sB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","132":"9 I J D E F A B C"},E:{"2":"XC DC","513":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","644":"9 I YC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B iC jC kC lC 2B QC mC"},G:{"513":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","644":"DC nC RC oC"},H:{"2":"9C"},I:{"1":"H ED FD","132":"7B I AD BD CD DD RC"},J:{"1":"A","132":"D"},K:{"1":"C u 3B","2":"A B 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","132":"A"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Cross-Origin Resource Sharing",D:true}; diff --git a/.pnpm-store/v3/files/15/4ddc1dacee4ac09adf2cd6683234d5f1c19221b117ce8b57e8c36cf39d5c7e4436d853b09acd94b3532efe1364c9c460fc83dacd059d546117948bbeb19e98 b/.pnpm-store/v3/files/15/4ddc1dacee4ac09adf2cd6683234d5f1c19221b117ce8b57e8c36cf39d5c7e4436d853b09acd94b3532efe1364c9c460fc83dacd059d546117948bbeb19e98 new file mode 100644 index 00000000..b155ddc4 --- /dev/null +++ b/.pnpm-store/v3/files/15/4ddc1dacee4ac09adf2cd6683234d5f1c19221b117ce8b57e8c36cf39d5c7e4436d853b09acd94b3532efe1364c9c460fc83dacd059d546117948bbeb19e98 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","260":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","260":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC","260":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB WC"},D:{"1":"0 1 2 3 4 5 6 7 8 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I","260":"K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB","388":"J D E F A B C"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC","260":"J D E F ZC aC bC","388":"YC"},F:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B iC jC kC lC","260":"C G M N O AB q r s t BB 2B QC mC 3B"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC","260":"E pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H FD","2":"AD BD CD","260":"ED","388":"7B I DD RC"},J:{"260":"A","388":"D"},K:{"1":"u","2":"A B","260":"C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A","260":"B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"File API",D:true}; diff --git a/.pnpm-store/v3/files/15/85e118761abe3268a198c926582f9bec0fe2de803729129b582552c4c0759973df7c0aca5398e8d71aa90045561c017518ab0ed24d35275696244a4d1a2e1d b/.pnpm-store/v3/files/15/85e118761abe3268a198c926582f9bec0fe2de803729129b582552c4c0759973df7c0aca5398e8d71aa90045561c017518ab0ed24d35275696244a4d1a2e1d new file mode 100644 index 00000000..9e63bcd2 --- /dev/null +++ b/.pnpm-store/v3/files/15/85e118761abe3268a198c926582f9bec0fe2de803729129b582552c4c0759973df7c0aca5398e8d71aa90045561c017518ab0ed24d35275696244a4d1a2e1d @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB VC WC","194":"XB YB ZB aB bB cB dB eB fB gB hB iB"},D:{"1":"0 1 2 3 4 5 6 7 8 kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","66":"aB bB cB dB eB fB gB hB iB jB 8B"},E:{"1":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B XC DC YC ZC aC bC EC"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB iC jC kC lC 2B QC mC 3B","66":"NB OB PB QB RB SB TB UB VB WB XB"},G:{"1":"xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I","66":"GD HD ID"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","194":"TD"}},B:5,C:"CSS font-display",D:true}; diff --git a/.pnpm-store/v3/files/15/a8b15ca84cef9213b66c45a4aac0f9a0b06d81c17da276f99aef8a8c39c6de3ebe11ab970d24747573e179e9b31ec412fe639582d6ff46149e2ee771973ba5 b/.pnpm-store/v3/files/15/a8b15ca84cef9213b66c45a4aac0f9a0b06d81c17da276f99aef8a8c39c6de3ebe11ab970d24747573e179e9b31ec412fe639582d6ff46149e2ee771973ba5 new file mode 100644 index 00000000..5999ea7d --- /dev/null +++ b/.pnpm-store/v3/files/15/a8b15ca84cef9213b66c45a4aac0f9a0b06d81c17da276f99aef8a8c39c6de3ebe11ab970d24747573e179e9b31ec412fe639582d6ff46149e2ee771973ba5 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D SC","132":"E F"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 2B QC mC 3B","2":"F iC jC kC lC"},G:{"1":"DC nC RC oC","513":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"4097":"9C"},I:{"1025":"7B I H AD BD CD DD RC ED FD"},J:{"258":"D A"},K:{"2":"A","258":"B C 2B QC 3B","1025":"u"},L:{"1025":"H"},M:{"2049":"1B"},N:{"258":"A B"},O:{"258":"4B"},P:{"1025":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1025":"SD"},S:{"1":"TD UD"}},B:1,C:"Basic console logging functions",D:true}; diff --git a/.pnpm-store/v3/files/15/c5428829e25645a4be21d64b089afd21a78237b63de94a8ba5005001f220bf65cee92a66f9a8ee795a93294283984a91d7e78b7504b603e2a0c3327af345a5 b/.pnpm-store/v3/files/15/c5428829e25645a4be21d64b089afd21a78237b63de94a8ba5005001f220bf65cee92a66f9a8ee795a93294283984a91d7e78b7504b603e2a0c3327af345a5 new file mode 100644 index 00000000..e958e881 --- /dev/null +++ b/.pnpm-store/v3/files/15/c5428829e25645a4be21d64b089afd21a78237b63de94a8ba5005001f220bf65cee92a66f9a8ee795a93294283984a91d7e78b7504b603e2a0c3327af345a5 @@ -0,0 +1,232 @@ +// Matches the scheme of a URL, eg "http://" +const schemeRegex = /^[\w+.-]+:\/\//; +/** + * Matches the parts of a URL: + * 1. Scheme, including ":", guaranteed. + * 2. User/password, including "@", optional. + * 3. Host, guaranteed. + * 4. Port, including ":", optional. + * 5. Path, including "/", optional. + * 6. Query, including "?", optional. + * 7. Hash, including "#", optional. + */ +const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/; +/** + * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start + * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive). + * + * 1. Host, optional. + * 2. Path, which may include "/", guaranteed. + * 3. Query, including "?", optional. + * 4. Hash, including "#", optional. + */ +const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i; +function isAbsoluteUrl(input) { + return schemeRegex.test(input); +} +function isSchemeRelativeUrl(input) { + return input.startsWith('//'); +} +function isAbsolutePath(input) { + return input.startsWith('/'); +} +function isFileUrl(input) { + return input.startsWith('file:'); +} +function isRelative(input) { + return /^[.?#]/.test(input); +} +function parseAbsoluteUrl(input) { + const match = urlRegex.exec(input); + return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || ''); +} +function parseFileUrl(input) { + const match = fileRegex.exec(input); + const path = match[2]; + return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || ''); +} +function makeUrl(scheme, user, host, port, path, query, hash) { + return { + scheme, + user, + host, + port, + path, + query, + hash, + type: 7 /* Absolute */, + }; +} +function parseUrl(input) { + if (isSchemeRelativeUrl(input)) { + const url = parseAbsoluteUrl('http:' + input); + url.scheme = ''; + url.type = 6 /* SchemeRelative */; + return url; + } + if (isAbsolutePath(input)) { + const url = parseAbsoluteUrl('http://foo.com' + input); + url.scheme = ''; + url.host = ''; + url.type = 5 /* AbsolutePath */; + return url; + } + if (isFileUrl(input)) + return parseFileUrl(input); + if (isAbsoluteUrl(input)) + return parseAbsoluteUrl(input); + const url = parseAbsoluteUrl('http://foo.com/' + input); + url.scheme = ''; + url.host = ''; + url.type = input + ? input.startsWith('?') + ? 3 /* Query */ + : input.startsWith('#') + ? 2 /* Hash */ + : 4 /* RelativePath */ + : 1 /* Empty */; + return url; +} +function stripPathFilename(path) { + // If a path ends with a parent directory "..", then it's a relative path with excess parent + // paths. It's not a file, so we can't strip it. + if (path.endsWith('/..')) + return path; + const index = path.lastIndexOf('/'); + return path.slice(0, index + 1); +} +function mergePaths(url, base) { + normalizePath(base, base.type); + // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative + // path). + if (url.path === '/') { + url.path = base.path; + } + else { + // Resolution happens relative to the base path's directory, not the file. + url.path = stripPathFilename(base.path) + url.path; + } +} +/** + * The path can have empty directories "//", unneeded parents "foo/..", or current directory + * "foo/.". We need to normalize to a standard representation. + */ +function normalizePath(url, type) { + const rel = type <= 4 /* RelativePath */; + const pieces = url.path.split('/'); + // We need to preserve the first piece always, so that we output a leading slash. The item at + // pieces[0] is an empty string. + let pointer = 1; + // Positive is the number of real directories we've output, used for popping a parent directory. + // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo". + let positive = 0; + // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will + // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a + // real directory, we won't need to append, unless the other conditions happen again. + let addTrailingSlash = false; + for (let i = 1; i < pieces.length; i++) { + const piece = pieces[i]; + // An empty directory, could be a trailing slash, or just a double "//" in the path. + if (!piece) { + addTrailingSlash = true; + continue; + } + // If we encounter a real directory, then we don't need to append anymore. + addTrailingSlash = false; + // A current directory, which we can always drop. + if (piece === '.') + continue; + // A parent directory, we need to see if there are any real directories we can pop. Else, we + // have an excess of parents, and we'll need to keep the "..". + if (piece === '..') { + if (positive) { + addTrailingSlash = true; + positive--; + pointer--; + } + else if (rel) { + // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute + // URL, protocol relative URL, or an absolute path, we don't need to keep excess. + pieces[pointer++] = piece; + } + continue; + } + // We've encountered a real directory. Move it to the next insertion pointer, which accounts for + // any popped or dropped directories. + pieces[pointer++] = piece; + positive++; + } + let path = ''; + for (let i = 1; i < pointer; i++) { + path += '/' + pieces[i]; + } + if (!path || (addTrailingSlash && !path.endsWith('/..'))) { + path += '/'; + } + url.path = path; +} +/** + * Attempts to resolve `input` URL/path relative to `base`. + */ +function resolve(input, base) { + if (!input && !base) + return ''; + const url = parseUrl(input); + let inputType = url.type; + if (base && inputType !== 7 /* Absolute */) { + const baseUrl = parseUrl(base); + const baseType = baseUrl.type; + switch (inputType) { + case 1 /* Empty */: + url.hash = baseUrl.hash; + // fall through + case 2 /* Hash */: + url.query = baseUrl.query; + // fall through + case 3 /* Query */: + case 4 /* RelativePath */: + mergePaths(url, baseUrl); + // fall through + case 5 /* AbsolutePath */: + // The host, user, and port are joined, you can't copy one without the others. + url.user = baseUrl.user; + url.host = baseUrl.host; + url.port = baseUrl.port; + // fall through + case 6 /* SchemeRelative */: + // The input doesn't have a schema at least, so we need to copy at least that over. + url.scheme = baseUrl.scheme; + } + if (baseType > inputType) + inputType = baseType; + } + normalizePath(url, inputType); + const queryHash = url.query + url.hash; + switch (inputType) { + // This is impossible, because of the empty checks at the start of the function. + // case UrlType.Empty: + case 2 /* Hash */: + case 3 /* Query */: + return queryHash; + case 4 /* RelativePath */: { + // The first char is always a "/", and we need it to be relative. + const path = url.path.slice(1); + if (!path) + return queryHash || '.'; + if (isRelative(base || input) && !isRelative(path)) { + // If base started with a leading ".", or there is no base and input started with a ".", + // then we need to ensure that the relative path starts with a ".". We don't know if + // relative starts with a "..", though, so check before prepending. + return './' + path + queryHash; + } + return path + queryHash; + } + case 5 /* AbsolutePath */: + return url.path + queryHash; + default: + return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash; + } +} + +export { resolve as default }; +//# sourceMappingURL=resolve-uri.mjs.map diff --git a/.pnpm-store/v3/files/15/d2c0b2fa83180b3c6dd1b5c4b29be71eef4d6ae0263c40afd68886007f8a2579e686a7fc7c040d07d3489067c9bb8ba98d9710c944f06ee30746f0ce86fbc5 b/.pnpm-store/v3/files/15/d2c0b2fa83180b3c6dd1b5c4b29be71eef4d6ae0263c40afd68886007f8a2579e686a7fc7c040d07d3489067c9bb8ba98d9710c944f06ee30746f0ce86fbc5 new file mode 100644 index 00000000..f631eee9 --- /dev/null +++ b/.pnpm-store/v3/files/15/d2c0b2fa83180b3c6dd1b5c4b29be71eef4d6ae0263c40afd68886007f8a2579e686a7fc7c040d07d3489067c9bb8ba98d9710c944f06ee30746f0ce86fbc5 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","2":"TC 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p kC lC 2B QC mC 3B","2":"F iC jC"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","16":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Wav audio format",D:true}; diff --git a/.pnpm-store/v3/files/16/0c460d362be3aff8c6e69e3bf99cf654bc349225cc06836262611ecd99cf3ab820059d24796cac497aafcf7b272d98ac6b009d6fc8bfc3f037920daef18699 b/.pnpm-store/v3/files/16/0c460d362be3aff8c6e69e3bf99cf654bc349225cc06836262611ecd99cf3ab820059d24796cac497aafcf7b272d98ac6b009d6fc8bfc3f037920daef18699 new file mode 100644 index 00000000..803d3078 --- /dev/null +++ b/.pnpm-store/v3/files/16/0c460d362be3aff8c6e69e3bf99cf654bc349225cc06836262611ecd99cf3ab820059d24796cac497aafcf7b272d98ac6b009d6fc8bfc3f037920daef18699 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"2":"9C"},I:{"1":"H RC ED FD","4":"7B I AD BD CD DD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Range input type",D:true}; diff --git a/.pnpm-store/v3/files/16/0da69973034e3a699cb0575e7670d6f0ea847c67762f15f3394e994f11367e7f65c48f27f3db0870a2e9d9e461f94a77f838b3a0ada1c99b32709f408c0210 b/.pnpm-store/v3/files/16/0da69973034e3a699cb0575e7670d6f0ea847c67762f15f3394e994f11367e7f65c48f27f3db0870a2e9d9e461f94a77f838b3a0ada1c99b32709f408c0210 new file mode 100644 index 00000000..7f669ba8 --- /dev/null +++ b/.pnpm-store/v3/files/16/0da69973034e3a699cb0575e7670d6f0ea847c67762f15f3394e994f11367e7f65c48f27f3db0870a2e9d9e461f94a77f838b3a0ada1c99b32709f408c0210 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"1":"B","2":"A"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:5,C:"Resource Hints: prerender",D:true}; diff --git a/.pnpm-store/v3/files/16/cc324d6370695c55316fee419255e985f5ffa9967b8fe3e9f642aaa51108065820851244302707dc1f5d6ad2df6b5ac961b73d31e4a9d4350f46800f1863f5 b/.pnpm-store/v3/files/16/cc324d6370695c55316fee419255e985f5ffa9967b8fe3e9f642aaa51108065820851244302707dc1f5d6ad2df6b5ac961b73d31e4a9d4350f46800f1863f5 new file mode 100644 index 00000000..ad18cb27 --- /dev/null +++ b/.pnpm-store/v3/files/16/cc324d6370695c55316fee419255e985f5ffa9967b8fe3e9f642aaa51108065820851244302707dc1f5d6ad2df6b5ac961b73d31e4a9d4350f46800f1863f5 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D SC","132":"E","260":"F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","260":"C K G M N O","772":"L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"260":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Data URIs",D:true}; diff --git a/.pnpm-store/v3/files/17/1b0298816d9b807ed105584d7b4efbb4932ffb4105dc45c37e94d1bacc5bcef34e1855b9c0d5be8e027c5ecbea1ab8014a178da1920718968cfa26ba1ecf18 b/.pnpm-store/v3/files/17/1b0298816d9b807ed105584d7b4efbb4932ffb4105dc45c37e94d1bacc5bcef34e1855b9c0d5be8e027c5ecbea1ab8014a178da1920718968cfa26ba1ecf18 new file mode 100644 index 00000000..5ba6c7db --- /dev/null +++ b/.pnpm-store/v3/files/17/1b0298816d9b807ed105584d7b4efbb4932ffb4105dc45c37e94d1bacc5bcef34e1855b9c0d5be8e027c5ecbea1ab8014a178da1920718968cfa26ba1ecf18 @@ -0,0 +1 @@ +module.exports={C:{"48":0.00329,"50":0.00329,"51":0.00329,"52":0.00658,"53":0.00329,"54":0.00329,"55":0.00329,"56":0.00329,"57":0.00329,"58":0.00329,"59":0.00658,"60":0.00329,"61":0.00329,"62":0.00329,"63":0.00658,"65":0.00329,"68":0.00329,"77":0.00329,"78":0.00658,"81":0.00329,"83":0.00329,"102":0.00329,"114":0.00329,"115":0.18418,"117":0.00329,"119":0.01645,"120":0.01973,"121":0.74989,"122":0.20063,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 64 66 67 69 70 71 72 73 74 75 76 79 80 82 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 113 116 118 123 124 125 3.5 3.6"},D:{"36":0.00329,"38":0.00658,"41":0.00329,"42":0.00329,"45":0.00329,"46":0.00329,"47":0.00658,"49":0.06578,"50":0.00329,"53":0.00329,"54":0.00329,"55":0.00329,"56":0.0296,"57":0.00329,"58":0.00658,"59":0.00329,"60":0.00329,"61":0.00329,"62":0.00329,"63":0.00658,"64":0.00329,"65":0.00329,"66":0.00658,"67":0.00329,"68":0.00658,"69":0.00987,"70":0.01316,"71":0.00329,"72":0.00329,"73":0.00329,"74":0.00987,"75":0.00658,"76":0.01645,"77":0.00329,"78":0.00658,"79":0.07236,"80":0.01973,"81":0.01645,"83":0.00987,"84":0.0296,"85":0.00658,"86":0.00658,"87":0.02302,"88":0.01316,"89":0.00658,"90":0.00329,"91":0.03289,"92":0.00329,"93":0.03618,"94":0.01316,"95":0.01973,"96":0.00329,"97":0.00329,"98":0.00658,"99":0.00658,"100":0.00658,"101":0.00987,"102":0.00658,"103":0.33877,"104":0.00329,"105":0.00658,"106":0.01973,"107":0.00329,"108":0.04605,"109":1.00315,"110":0.02631,"111":0.04276,"112":0.01316,"113":0.01645,"114":0.03289,"115":0.0296,"116":0.17103,"117":0.05262,"118":0.06578,"119":0.54926,"120":17.16529,"121":1.12484,"122":0.00987,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 39 40 43 44 48 51 52 123 124"},F:{"28":0.01316,"43":0.00329,"53":0.00329,"54":0.00329,"55":0.00329,"56":0.00329,"74":0.00329,"91":0.02302,"95":0.02302,"100":0.00329,"105":0.68082,"106":0.40784,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 96 97 98 99 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00329},B:{"12":0.00329,"13":0.00658,"14":0.00329,"15":0.00658,"16":0.00987,"17":0.00329,"18":0.01316,"79":0.00329,"80":0.00329,"81":0.00658,"83":0.00329,"84":0.00329,"85":0.00329,"86":0.00329,"87":0.00329,"92":0.00987,"109":0.04605,"111":0.01645,"115":0.00329,"116":0.00329,"117":0.00658,"118":0.01973,"119":0.13485,"120":3.71657,"121":0.45717,_:"88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 113 114"},E:{"5":0.00329,"10":0.01316,"11":0.00329,"12":0.00329,"13":0.00658,"14":0.02631,"15":0.00329,_:"0 4 6 7 8 9 3.1 3.2 5.1 6.1 7.1 10.1 17.4","9.1":0.00329,"11.1":0.00329,"12.1":0.00987,"13.1":0.09209,"14.1":0.03618,"15.1":0.00329,"15.2-15.3":0.00329,"15.4":0.01316,"15.5":0.10196,"15.6":0.12498,"16.0":0.09209,"16.1":0.0296,"16.2":0.05591,"16.3":0.05591,"16.4":0.01973,"16.5":0.14143,"16.6":0.24339,"17.0":0.04934,"17.1":0.43086,"17.2":0.49993,"17.3":0.03618},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00412,"5.0-5.1":0.00617,"6.0-6.1":0.01029,"7.0-7.1":0.01441,"8.1-8.4":0.00206,"9.0-9.2":0.01235,"9.3":0.04734,"10.0-10.2":0.00412,"10.3":0.0741,"11.0-11.2":0.02882,"11.3-11.4":0.03087,"12.0-12.1":0.01852,"12.2-12.5":0.36637,"13.0-13.1":0.00617,"13.2":0.06792,"13.3":0.01852,"13.4-13.7":0.08233,"14.0-14.4":0.14408,"14.5-14.8":0.22023,"15.0-15.1":0.09468,"15.2-15.3":0.10909,"15.4":0.12761,"15.5":0.16878,"15.6-15.8":1.31523,"16.0":0.39519,"16.1":0.84183,"16.2":0.38284,"16.3":0.71216,"16.4":0.15849,"16.5":0.33756,"16.6-16.7":2.76219,"17.0":0.45899,"17.1":4.73195,"17.2":6.40532,"17.3":0.41165},P:{"4":0.28256,"20":0.0326,"21":0.15215,"22":0.10868,"23":4.86878,"5.0-5.4":0.01087,_:"6.2-6.4 8.2 9.2 10.1 15.0","7.2-7.4":0.15215,"11.1-11.2":0.02174,"12.0":0.01087,"13.0":0.01087,"14.0":0.02174,"16.0":0.02174,"17.0":0.04347,"18.0":0.02174,"19.0":0.06521},I:{"0":0.02673,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"10":0.00658,"11":0.01316,_:"6 7 8 9 5.5"},K:{"0":0.36911,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.04027},H:{"0":0},L:{"0":41.97106},R:{_:"0"},M:{"0":0.26173}}; diff --git a/.pnpm-store/v3/files/17/27f42ab6b184d1c8c01b953b20c91bc3c106d8090f4ad3bd69aa412c95d532ffe4d0deeea62c288223a6c22d46d4c0491659e1d7016f9aa7708099cbf3186f b/.pnpm-store/v3/files/17/27f42ab6b184d1c8c01b953b20c91bc3c106d8090f4ad3bd69aa412c95d532ffe4d0deeea62c288223a6c22d46d4c0491659e1d7016f9aa7708099cbf3186f new file mode 100644 index 00000000..cc3f9797 --- /dev/null +++ b/.pnpm-store/v3/files/17/27f42ab6b184d1c8c01b953b20c91bc3c106d8090f4ad3bd69aa412c95d532ffe4d0deeea62c288223a6c22d46d4c0491659e1d7016f9aa7708099cbf3186f @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","132":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","2":"TC 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p jC kC lC 2B QC mC 3B","2":"F iC"},G:{"1":"E RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","260":"DC nC"},H:{"2":"9C"},I:{"1":"I H DD RC ED FD","2":"AD","4":"7B BD CD"},J:{"1":"A","4":"D"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"@font-face Web fonts",D:true}; diff --git a/.pnpm-store/v3/files/17/358934adc6469f95ea19a5b0baf7a8f31b01d2990698ab7643a8c300b5c4781b90986e3411eecba80b0a61759a8dfbad580b71a44afcaeb42922746cd556a0 b/.pnpm-store/v3/files/17/358934adc6469f95ea19a5b0baf7a8f31b01d2990698ab7643a8c300b5c4781b90986e3411eecba80b0a61759a8dfbad580b71a44afcaeb42922746cd556a0 new file mode 100644 index 00000000..45be1512 --- /dev/null +++ b/.pnpm-store/v3/files/17/358934adc6469f95ea19a5b0baf7a8f31b01d2990698ab7643a8c300b5c4781b90986e3411eecba80b0a61759a8dfbad580b71a44afcaeb42922746cd556a0 @@ -0,0 +1,276 @@ +/*istanbul ignore start*/ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.structuredPatch = structuredPatch; +exports.formatPatch = formatPatch; +exports.createTwoFilesPatch = createTwoFilesPatch; +exports.createPatch = createPatch; + +/*istanbul ignore end*/ +var +/*istanbul ignore start*/ +_line = require("../diff/line") +/*istanbul ignore end*/ +; + +/*istanbul ignore start*/ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +/*istanbul ignore end*/ +function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + if (!options) { + options = {}; + } + + if (typeof options.context === 'undefined') { + options.context = 4; + } + + var diff = + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _line + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + diffLines) + /*istanbul ignore end*/ + (oldStr, newStr, options); + + if (!diff) { + return; + } + + diff.push({ + value: '', + lines: [] + }); // Append an empty value to make cleanup easier + + function contextLines(lines) { + return lines.map(function (entry) { + return ' ' + entry; + }); + } + + var hunks = []; + var oldRangeStart = 0, + newRangeStart = 0, + curRange = [], + oldLine = 1, + newLine = 1; + + /*istanbul ignore start*/ + var _loop = function _loop( + /*istanbul ignore end*/ + i) { + var current = diff[i], + lines = current.lines || current.value.replace(/\n$/, '').split('\n'); + current.lines = lines; + + if (current.added || current.removed) { + /*istanbul ignore start*/ + var _curRange; + + /*istanbul ignore end*/ + // If we have previous context, start with that + if (!oldRangeStart) { + var prev = diff[i - 1]; + oldRangeStart = oldLine; + newRangeStart = newLine; + + if (prev) { + curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : []; + oldRangeStart -= curRange.length; + newRangeStart -= curRange.length; + } + } // Output our changes + + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + (_curRange = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + lines.map(function (entry) { + return (current.added ? '+' : '-') + entry; + }))); // Track the updated file position + + + if (current.added) { + newLine += lines.length; + } else { + oldLine += lines.length; + } + } else { + // Identical context lines. Track line changes + if (oldRangeStart) { + // Close out any changes that have been output (or join overlapping) + if (lines.length <= options.context * 2 && i < diff.length - 2) { + /*istanbul ignore start*/ + var _curRange2; + + /*istanbul ignore end*/ + // Overlapping + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + (_curRange2 = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange2 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + contextLines(lines))); + } else { + /*istanbul ignore start*/ + var _curRange3; + + /*istanbul ignore end*/ + // end the range and output + var contextSize = Math.min(lines.length, options.context); + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + (_curRange3 = + /*istanbul ignore end*/ + curRange).push.apply( + /*istanbul ignore start*/ + _curRange3 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + contextLines(lines.slice(0, contextSize)))); + + var hunk = { + oldStart: oldRangeStart, + oldLines: oldLine - oldRangeStart + contextSize, + newStart: newRangeStart, + newLines: newLine - newRangeStart + contextSize, + lines: curRange + }; + + if (i >= diff.length - 2 && lines.length <= options.context) { + // EOF is inside this hunk + var oldEOFNewline = /\n$/.test(oldStr); + var newEOFNewline = /\n$/.test(newStr); + var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; + + if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { + // special case: old has no eol and no trailing context; no-nl can end up before adds + // however, if the old file is empty, do not output the no-nl line + curRange.splice(hunk.oldLines, 0, '\\ No newline at end of file'); + } + + if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) { + curRange.push('\\ No newline at end of file'); + } + } + + hunks.push(hunk); + oldRangeStart = 0; + newRangeStart = 0; + curRange = []; + } + } + + oldLine += lines.length; + newLine += lines.length; + } + }; + + for (var i = 0; i < diff.length; i++) { + /*istanbul ignore start*/ + _loop( + /*istanbul ignore end*/ + i); + } + + return { + oldFileName: oldFileName, + newFileName: newFileName, + oldHeader: oldHeader, + newHeader: newHeader, + hunks: hunks + }; +} + +function formatPatch(diff) { + if (Array.isArray(diff)) { + return diff.map(formatPatch).join('\n'); + } + + var ret = []; + + if (diff.oldFileName == diff.newFileName) { + ret.push('Index: ' + diff.oldFileName); + } + + ret.push('==================================================================='); + ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\t' + diff.oldHeader)); + ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\t' + diff.newHeader)); + + for (var i = 0; i < diff.hunks.length; i++) { + var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart -= 1; + } + + if (hunk.newLines === 0) { + hunk.newStart -= 1; + } + + ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@'); + ret.push.apply(ret, hunk.lines); + } + + return ret.join('\n') + '\n'; +} + +function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); +} + +function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { + return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXRjaC9jcmVhdGUuanMiXSwibmFtZXMiOlsic3RydWN0dXJlZFBhdGNoIiwib2xkRmlsZU5hbWUiLCJuZXdGaWxlTmFtZSIsIm9sZFN0ciIsIm5ld1N0ciIsIm9sZEhlYWRlciIsIm5ld0hlYWRlciIsIm9wdGlvbnMiLCJjb250ZXh0IiwiZGlmZiIsImRpZmZMaW5lcyIsInB1c2giLCJ2YWx1ZSIsImxpbmVzIiwiY29udGV4dExpbmVzIiwibWFwIiwiZW50cnkiLCJodW5rcyIsIm9sZFJhbmdlU3RhcnQiLCJuZXdSYW5nZVN0YXJ0IiwiY3VyUmFuZ2UiLCJvbGRMaW5lIiwibmV3TGluZSIsImkiLCJjdXJyZW50IiwicmVwbGFjZSIsInNwbGl0IiwiYWRkZWQiLCJyZW1vdmVkIiwicHJldiIsInNsaWNlIiwibGVuZ3RoIiwiY29udGV4dFNpemUiLCJNYXRoIiwibWluIiwiaHVuayIsIm9sZFN0YXJ0Iiwib2xkTGluZXMiLCJuZXdTdGFydCIsIm5ld0xpbmVzIiwib2xkRU9GTmV3bGluZSIsInRlc3QiLCJuZXdFT0ZOZXdsaW5lIiwibm9ObEJlZm9yZUFkZHMiLCJzcGxpY2UiLCJmb3JtYXRQYXRjaCIsIkFycmF5IiwiaXNBcnJheSIsImpvaW4iLCJyZXQiLCJhcHBseSIsImNyZWF0ZVR3b0ZpbGVzUGF0Y2giLCJjcmVhdGVQYXRjaCIsImZpbGVOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7QUFFTyxTQUFTQSxlQUFULENBQXlCQyxXQUF6QixFQUFzQ0MsV0FBdEMsRUFBbURDLE1BQW5ELEVBQTJEQyxNQUEzRCxFQUFtRUMsU0FBbkUsRUFBOEVDLFNBQTlFLEVBQXlGQyxPQUF6RixFQUFrRztBQUN2RyxNQUFJLENBQUNBLE9BQUwsRUFBYztBQUNaQSxJQUFBQSxPQUFPLEdBQUcsRUFBVjtBQUNEOztBQUNELE1BQUksT0FBT0EsT0FBTyxDQUFDQyxPQUFmLEtBQTJCLFdBQS9CLEVBQTRDO0FBQzFDRCxJQUFBQSxPQUFPLENBQUNDLE9BQVIsR0FBa0IsQ0FBbEI7QUFDRDs7QUFFRCxNQUFNQyxJQUFJO0FBQUc7QUFBQTtBQUFBOztBQUFBQztBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBO0FBQUEsR0FBVVAsTUFBVixFQUFrQkMsTUFBbEIsRUFBMEJHLE9BQTFCLENBQWI7O0FBQ0EsTUFBRyxDQUFDRSxJQUFKLEVBQVU7QUFDUjtBQUNEOztBQUVEQSxFQUFBQSxJQUFJLENBQUNFLElBQUwsQ0FBVTtBQUFDQyxJQUFBQSxLQUFLLEVBQUUsRUFBUjtBQUFZQyxJQUFBQSxLQUFLLEVBQUU7QUFBbkIsR0FBVixFQWJ1RyxDQWFwRTs7QUFFbkMsV0FBU0MsWUFBVCxDQUFzQkQsS0FBdEIsRUFBNkI7QUFDM0IsV0FBT0EsS0FBSyxDQUFDRSxHQUFOLENBQVUsVUFBU0MsS0FBVCxFQUFnQjtBQUFFLGFBQU8sTUFBTUEsS0FBYjtBQUFxQixLQUFqRCxDQUFQO0FBQ0Q7O0FBRUQsTUFBSUMsS0FBSyxHQUFHLEVBQVo7QUFDQSxNQUFJQyxhQUFhLEdBQUcsQ0FBcEI7QUFBQSxNQUF1QkMsYUFBYSxHQUFHLENBQXZDO0FBQUEsTUFBMENDLFFBQVEsR0FBRyxFQUFyRDtBQUFBLE1BQ0lDLE9BQU8sR0FBRyxDQURkO0FBQUEsTUFDaUJDLE9BQU8sR0FBRyxDQUQzQjs7QUFwQnVHO0FBQUE7QUFBQTtBQXNCOUZDLEVBQUFBLENBdEI4RjtBQXVCckcsUUFBTUMsT0FBTyxHQUFHZixJQUFJLENBQUNjLENBQUQsQ0FBcEI7QUFBQSxRQUNNVixLQUFLLEdBQUdXLE9BQU8sQ0FBQ1gsS0FBUixJQUFpQlcsT0FBTyxDQUFDWixLQUFSLENBQWNhLE9BQWQsQ0FBc0IsS0FBdEIsRUFBNkIsRUFBN0IsRUFBaUNDLEtBQWpDLENBQXVDLElBQXZDLENBRC9CO0FBRUFGLElBQUFBLE9BQU8sQ0FBQ1gsS0FBUixHQUFnQkEsS0FBaEI7O0FBRUEsUUFBSVcsT0FBTyxDQUFDRyxLQUFSLElBQWlCSCxPQUFPLENBQUNJLE9BQTdCLEVBQXNDO0FBQUE7QUFBQTs7QUFBQTtBQUNwQztBQUNBLFVBQUksQ0FBQ1YsYUFBTCxFQUFvQjtBQUNsQixZQUFNVyxJQUFJLEdBQUdwQixJQUFJLENBQUNjLENBQUMsR0FBRyxDQUFMLENBQWpCO0FBQ0FMLFFBQUFBLGFBQWEsR0FBR0csT0FBaEI7QUFDQUYsUUFBQUEsYUFBYSxHQUFHRyxPQUFoQjs7QUFFQSxZQUFJTyxJQUFKLEVBQVU7QUFDUlQsVUFBQUEsUUFBUSxHQUFHYixPQUFPLENBQUNDLE9BQVIsR0FBa0IsQ0FBbEIsR0FBc0JNLFlBQVksQ0FBQ2UsSUFBSSxDQUFDaEIsS0FBTCxDQUFXaUIsS0FBWCxDQUFpQixDQUFDdkIsT0FBTyxDQUFDQyxPQUExQixDQUFELENBQWxDLEdBQXlFLEVBQXBGO0FBQ0FVLFVBQUFBLGFBQWEsSUFBSUUsUUFBUSxDQUFDVyxNQUExQjtBQUNBWixVQUFBQSxhQUFhLElBQUlDLFFBQVEsQ0FBQ1csTUFBMUI7QUFDRDtBQUNGLE9BWm1DLENBY3BDOzs7QUFDQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQVgsTUFBQUEsUUFBUSxFQUFDVCxJQUFUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0JFLE1BQUFBLEtBQUssQ0FBQ0UsR0FBTixDQUFVLFVBQVNDLEtBQVQsRUFBZ0I7QUFDMUMsZUFBTyxDQUFDUSxPQUFPLENBQUNHLEtBQVIsR0FBZ0IsR0FBaEIsR0FBc0IsR0FBdkIsSUFBOEJYLEtBQXJDO0FBQ0QsT0FGaUIsQ0FBbEIsR0Fmb0MsQ0FtQnBDOzs7QUFDQSxVQUFJUSxPQUFPLENBQUNHLEtBQVosRUFBbUI7QUFDakJMLFFBQUFBLE9BQU8sSUFBSVQsS0FBSyxDQUFDa0IsTUFBakI7QUFDRCxPQUZELE1BRU87QUFDTFYsUUFBQUEsT0FBTyxJQUFJUixLQUFLLENBQUNrQixNQUFqQjtBQUNEO0FBQ0YsS0F6QkQsTUF5Qk87QUFDTDtBQUNBLFVBQUliLGFBQUosRUFBbUI7QUFDakI7QUFDQSxZQUFJTCxLQUFLLENBQUNrQixNQUFOLElBQWdCeEIsT0FBTyxDQUFDQyxPQUFSLEdBQWtCLENBQWxDLElBQXVDZSxDQUFDLEdBQUdkLElBQUksQ0FBQ3NCLE1BQUwsR0FBYyxDQUE3RCxFQUFnRTtBQUFBO0FBQUE7O0FBQUE7QUFDOUQ7O0FBQ0E7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUFYLFVBQUFBLFFBQVEsRUFBQ1QsSUFBVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtCRyxVQUFBQSxZQUFZLENBQUNELEtBQUQsQ0FBOUI7QUFDRCxTQUhELE1BR087QUFBQTtBQUFBOztBQUFBO0FBQ0w7QUFDQSxjQUFJbUIsV0FBVyxHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBU3JCLEtBQUssQ0FBQ2tCLE1BQWYsRUFBdUJ4QixPQUFPLENBQUNDLE9BQS9CLENBQWxCOztBQUNBOztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBWSxVQUFBQSxRQUFRLEVBQUNULElBQVQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQkcsVUFBQUEsWUFBWSxDQUFDRCxLQUFLLENBQUNpQixLQUFOLENBQVksQ0FBWixFQUFlRSxXQUFmLENBQUQsQ0FBOUI7O0FBRUEsY0FBSUcsSUFBSSxHQUFHO0FBQ1RDLFlBQUFBLFFBQVEsRUFBRWxCLGFBREQ7QUFFVG1CLFlBQUFBLFFBQVEsRUFBR2hCLE9BQU8sR0FBR0gsYUFBVixHQUEwQmMsV0FGNUI7QUFHVE0sWUFBQUEsUUFBUSxFQUFFbkIsYUFIRDtBQUlUb0IsWUFBQUEsUUFBUSxFQUFHakIsT0FBTyxHQUFHSCxhQUFWLEdBQTBCYSxXQUo1QjtBQUtUbkIsWUFBQUEsS0FBSyxFQUFFTztBQUxFLFdBQVg7O0FBT0EsY0FBSUcsQ0FBQyxJQUFJZCxJQUFJLENBQUNzQixNQUFMLEdBQWMsQ0FBbkIsSUFBd0JsQixLQUFLLENBQUNrQixNQUFOLElBQWdCeEIsT0FBTyxDQUFDQyxPQUFwRCxFQUE2RDtBQUMzRDtBQUNBLGdCQUFJZ0MsYUFBYSxHQUFLLEtBQUQsQ0FBUUMsSUFBUixDQUFhdEMsTUFBYixDQUFyQjtBQUNBLGdCQUFJdUMsYUFBYSxHQUFLLEtBQUQsQ0FBUUQsSUFBUixDQUFhckMsTUFBYixDQUFyQjtBQUNBLGdCQUFJdUMsY0FBYyxHQUFHOUIsS0FBSyxDQUFDa0IsTUFBTixJQUFnQixDQUFoQixJQUFxQlgsUUFBUSxDQUFDVyxNQUFULEdBQWtCSSxJQUFJLENBQUNFLFFBQWpFOztBQUNBLGdCQUFJLENBQUNHLGFBQUQsSUFBa0JHLGNBQWxCLElBQW9DeEMsTUFBTSxDQUFDNEIsTUFBUCxHQUFnQixDQUF4RCxFQUEyRDtBQUN6RDtBQUNBO0FBQ0FYLGNBQUFBLFFBQVEsQ0FBQ3dCLE1BQVQsQ0FBZ0JULElBQUksQ0FBQ0UsUUFBckIsRUFBK0IsQ0FBL0IsRUFBa0MsOEJBQWxDO0FBQ0Q7O0FBQ0QsZ0JBQUssQ0FBQ0csYUFBRCxJQUFrQixDQUFDRyxjQUFwQixJQUF1QyxDQUFDRCxhQUE1QyxFQUEyRDtBQUN6RHRCLGNBQUFBLFFBQVEsQ0FBQ1QsSUFBVCxDQUFjLDhCQUFkO0FBQ0Q7QUFDRjs7QUFDRE0sVUFBQUEsS0FBSyxDQUFDTixJQUFOLENBQVd3QixJQUFYO0FBRUFqQixVQUFBQSxhQUFhLEdBQUcsQ0FBaEI7QUFDQUMsVUFBQUEsYUFBYSxHQUFHLENBQWhCO0FBQ0FDLFVBQUFBLFFBQVEsR0FBRyxFQUFYO0FBQ0Q7QUFDRjs7QUFDREMsTUFBQUEsT0FBTyxJQUFJUixLQUFLLENBQUNrQixNQUFqQjtBQUNBVCxNQUFBQSxPQUFPLElBQUlULEtBQUssQ0FBQ2tCLE1BQWpCO0FBQ0Q7QUE5Rm9HOztBQXNCdkcsT0FBSyxJQUFJUixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHZCxJQUFJLENBQUNzQixNQUF6QixFQUFpQ1IsQ0FBQyxFQUFsQyxFQUFzQztBQUFBO0FBQUE7QUFBQTtBQUE3QkEsSUFBQUEsQ0FBNkI7QUF5RXJDOztBQUVELFNBQU87QUFDTHRCLElBQUFBLFdBQVcsRUFBRUEsV0FEUjtBQUNxQkMsSUFBQUEsV0FBVyxFQUFFQSxXQURsQztBQUVMRyxJQUFBQSxTQUFTLEVBQUVBLFNBRk47QUFFaUJDLElBQUFBLFNBQVMsRUFBRUEsU0FGNUI7QUFHTFcsSUFBQUEsS0FBSyxFQUFFQTtBQUhGLEdBQVA7QUFLRDs7QUFFTSxTQUFTNEIsV0FBVCxDQUFxQnBDLElBQXJCLEVBQTJCO0FBQ2hDLE1BQUlxQyxLQUFLLENBQUNDLE9BQU4sQ0FBY3RDLElBQWQsQ0FBSixFQUF5QjtBQUN2QixXQUFPQSxJQUFJLENBQUNNLEdBQUwsQ0FBUzhCLFdBQVQsRUFBc0JHLElBQXRCLENBQTJCLElBQTNCLENBQVA7QUFDRDs7QUFFRCxNQUFNQyxHQUFHLEdBQUcsRUFBWjs7QUFDQSxNQUFJeEMsSUFBSSxDQUFDUixXQUFMLElBQW9CUSxJQUFJLENBQUNQLFdBQTdCLEVBQTBDO0FBQ3hDK0MsSUFBQUEsR0FBRyxDQUFDdEMsSUFBSixDQUFTLFlBQVlGLElBQUksQ0FBQ1IsV0FBMUI7QUFDRDs7QUFDRGdELEVBQUFBLEdBQUcsQ0FBQ3RDLElBQUosQ0FBUyxxRUFBVDtBQUNBc0MsRUFBQUEsR0FBRyxDQUFDdEMsSUFBSixDQUFTLFNBQVNGLElBQUksQ0FBQ1IsV0FBZCxJQUE2QixPQUFPUSxJQUFJLENBQUNKLFNBQVosS0FBMEIsV0FBMUIsR0FBd0MsRUFBeEMsR0FBNkMsT0FBT0ksSUFBSSxDQUFDSixTQUF0RixDQUFUO0FBQ0E0QyxFQUFBQSxHQUFHLENBQUN0QyxJQUFKLENBQVMsU0FBU0YsSUFBSSxDQUFDUCxXQUFkLElBQTZCLE9BQU9PLElBQUksQ0FBQ0gsU0FBWixLQUEwQixXQUExQixHQUF3QyxFQUF4QyxHQUE2QyxPQUFPRyxJQUFJLENBQUNILFNBQXRGLENBQVQ7O0FBRUEsT0FBSyxJQUFJaUIsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR2QsSUFBSSxDQUFDUSxLQUFMLENBQVdjLE1BQS9CLEVBQXVDUixDQUFDLEVBQXhDLEVBQTRDO0FBQzFDLFFBQU1ZLElBQUksR0FBRzFCLElBQUksQ0FBQ1EsS0FBTCxDQUFXTSxDQUFYLENBQWIsQ0FEMEMsQ0FFMUM7QUFDQTtBQUNBOztBQUNBLFFBQUlZLElBQUksQ0FBQ0UsUUFBTCxLQUFrQixDQUF0QixFQUF5QjtBQUN2QkYsTUFBQUEsSUFBSSxDQUFDQyxRQUFMLElBQWlCLENBQWpCO0FBQ0Q7O0FBQ0QsUUFBSUQsSUFBSSxDQUFDSSxRQUFMLEtBQWtCLENBQXRCLEVBQXlCO0FBQ3ZCSixNQUFBQSxJQUFJLENBQUNHLFFBQUwsSUFBaUIsQ0FBakI7QUFDRDs7QUFDRFcsSUFBQUEsR0FBRyxDQUFDdEMsSUFBSixDQUNFLFNBQVN3QixJQUFJLENBQUNDLFFBQWQsR0FBeUIsR0FBekIsR0FBK0JELElBQUksQ0FBQ0UsUUFBcEMsR0FDRSxJQURGLEdBQ1NGLElBQUksQ0FBQ0csUUFEZCxHQUN5QixHQUR6QixHQUMrQkgsSUFBSSxDQUFDSSxRQURwQyxHQUVFLEtBSEo7QUFLQVUsSUFBQUEsR0FBRyxDQUFDdEMsSUFBSixDQUFTdUMsS0FBVCxDQUFlRCxHQUFmLEVBQW9CZCxJQUFJLENBQUN0QixLQUF6QjtBQUNEOztBQUVELFNBQU9vQyxHQUFHLENBQUNELElBQUosQ0FBUyxJQUFULElBQWlCLElBQXhCO0FBQ0Q7O0FBRU0sU0FBU0csbUJBQVQsQ0FBNkJsRCxXQUE3QixFQUEwQ0MsV0FBMUMsRUFBdURDLE1BQXZELEVBQStEQyxNQUEvRCxFQUF1RUMsU0FBdkUsRUFBa0ZDLFNBQWxGLEVBQTZGQyxPQUE3RixFQUFzRztBQUMzRyxTQUFPc0MsV0FBVyxDQUFDN0MsZUFBZSxDQUFDQyxXQUFELEVBQWNDLFdBQWQsRUFBMkJDLE1BQTNCLEVBQW1DQyxNQUFuQyxFQUEyQ0MsU0FBM0MsRUFBc0RDLFNBQXRELEVBQWlFQyxPQUFqRSxDQUFoQixDQUFsQjtBQUNEOztBQUVNLFNBQVM2QyxXQUFULENBQXFCQyxRQUFyQixFQUErQmxELE1BQS9CLEVBQXVDQyxNQUF2QyxFQUErQ0MsU0FBL0MsRUFBMERDLFNBQTFELEVBQXFFQyxPQUFyRSxFQUE4RTtBQUNuRixTQUFPNEMsbUJBQW1CLENBQUNFLFFBQUQsRUFBV0EsUUFBWCxFQUFxQmxELE1BQXJCLEVBQTZCQyxNQUE3QixFQUFxQ0MsU0FBckMsRUFBZ0RDLFNBQWhELEVBQTJEQyxPQUEzRCxDQUExQjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWZmTGluZXN9IGZyb20gJy4uL2RpZmYvbGluZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJ1Y3R1cmVkUGF0Y2gob2xkRmlsZU5hbWUsIG5ld0ZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnMpIHtcbiAgaWYgKCFvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5jb250ZXh0ID09PSAndW5kZWZpbmVkJykge1xuICAgIG9wdGlvbnMuY29udGV4dCA9IDQ7XG4gIH1cblxuICBjb25zdCBkaWZmID0gZGlmZkxpbmVzKG9sZFN0ciwgbmV3U3RyLCBvcHRpb25zKTtcbiAgaWYoIWRpZmYpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBkaWZmLnB1c2goe3ZhbHVlOiAnJywgbGluZXM6IFtdfSk7IC8vIEFwcGVuZCBhbiBlbXB0eSB2YWx1ZSB0byBtYWtlIGNsZWFudXAgZWFzaWVyXG5cbiAgZnVuY3Rpb24gY29udGV4dExpbmVzKGxpbmVzKSB7XG4gICAgcmV0dXJuIGxpbmVzLm1hcChmdW5jdGlvbihlbnRyeSkgeyByZXR1cm4gJyAnICsgZW50cnk7IH0pO1xuICB9XG5cbiAgbGV0IGh1bmtzID0gW107XG4gIGxldCBvbGRSYW5nZVN0YXJ0ID0gMCwgbmV3UmFuZ2VTdGFydCA9IDAsIGN1clJhbmdlID0gW10sXG4gICAgICBvbGRMaW5lID0gMSwgbmV3TGluZSA9IDE7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZGlmZi5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBkaWZmW2ldLFxuICAgICAgICAgIGxpbmVzID0gY3VycmVudC5saW5lcyB8fCBjdXJyZW50LnZhbHVlLnJlcGxhY2UoL1xcbiQvLCAnJykuc3BsaXQoJ1xcbicpO1xuICAgIGN1cnJlbnQubGluZXMgPSBsaW5lcztcblxuICAgIGlmIChjdXJyZW50LmFkZGVkIHx8IGN1cnJlbnQucmVtb3ZlZCkge1xuICAgICAgLy8gSWYgd2UgaGF2ZSBwcmV2aW91cyBjb250ZXh0LCBzdGFydCB3aXRoIHRoYXRcbiAgICAgIGlmICghb2xkUmFuZ2VTdGFydCkge1xuICAgICAgICBjb25zdCBwcmV2ID0gZGlmZltpIC0gMV07XG4gICAgICAgIG9sZFJhbmdlU3RhcnQgPSBvbGRMaW5lO1xuICAgICAgICBuZXdSYW5nZVN0YXJ0ID0gbmV3TGluZTtcblxuICAgICAgICBpZiAocHJldikge1xuICAgICAgICAgIGN1clJhbmdlID0gb3B0aW9ucy5jb250ZXh0ID4gMCA/IGNvbnRleHRMaW5lcyhwcmV2LmxpbmVzLnNsaWNlKC1vcHRpb25zLmNvbnRleHQpKSA6IFtdO1xuICAgICAgICAgIG9sZFJhbmdlU3RhcnQgLT0gY3VyUmFuZ2UubGVuZ3RoO1xuICAgICAgICAgIG5ld1JhbmdlU3RhcnQgLT0gY3VyUmFuZ2UubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE91dHB1dCBvdXIgY2hhbmdlc1xuICAgICAgY3VyUmFuZ2UucHVzaCguLi4gbGluZXMubWFwKGZ1bmN0aW9uKGVudHJ5KSB7XG4gICAgICAgIHJldHVybiAoY3VycmVudC5hZGRlZCA/ICcrJyA6ICctJykgKyBlbnRyeTtcbiAgICAgIH0pKTtcblxuICAgICAgLy8gVHJhY2sgdGhlIHVwZGF0ZWQgZmlsZSBwb3NpdGlvblxuICAgICAgaWYgKGN1cnJlbnQuYWRkZWQpIHtcbiAgICAgICAgbmV3TGluZSArPSBsaW5lcy5sZW5ndGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbGRMaW5lICs9IGxpbmVzLmxlbmd0aDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWRlbnRpY2FsIGNvbnRleHQgbGluZXMuIFRyYWNrIGxpbmUgY2hhbmdlc1xuICAgICAgaWYgKG9sZFJhbmdlU3RhcnQpIHtcbiAgICAgICAgLy8gQ2xvc2Ugb3V0IGFueSBjaGFuZ2VzIHRoYXQgaGF2ZSBiZWVuIG91dHB1dCAob3Igam9pbiBvdmVybGFwcGluZylcbiAgICAgICAgaWYgKGxpbmVzLmxlbmd0aCA8PSBvcHRpb25zLmNvbnRleHQgKiAyICYmIGkgPCBkaWZmLmxlbmd0aCAtIDIpIHtcbiAgICAgICAgICAvLyBPdmVybGFwcGluZ1xuICAgICAgICAgIGN1clJhbmdlLnB1c2goLi4uIGNvbnRleHRMaW5lcyhsaW5lcykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGVuZCB0aGUgcmFuZ2UgYW5kIG91dHB1dFxuICAgICAgICAgIGxldCBjb250ZXh0U2l6ZSA9IE1hdGgubWluKGxpbmVzLmxlbmd0aCwgb3B0aW9ucy5jb250ZXh0KTtcbiAgICAgICAgICBjdXJSYW5nZS5wdXNoKC4uLiBjb250ZXh0TGluZXMobGluZXMuc2xpY2UoMCwgY29udGV4dFNpemUpKSk7XG5cbiAgICAgICAgICBsZXQgaHVuayA9IHtcbiAgICAgICAgICAgIG9sZFN0YXJ0OiBvbGRSYW5nZVN0YXJ0LFxuICAgICAgICAgICAgb2xkTGluZXM6IChvbGRMaW5lIC0gb2xkUmFuZ2VTdGFydCArIGNvbnRleHRTaXplKSxcbiAgICAgICAgICAgIG5ld1N0YXJ0OiBuZXdSYW5nZVN0YXJ0LFxuICAgICAgICAgICAgbmV3TGluZXM6IChuZXdMaW5lIC0gbmV3UmFuZ2VTdGFydCArIGNvbnRleHRTaXplKSxcbiAgICAgICAgICAgIGxpbmVzOiBjdXJSYW5nZVxuICAgICAgICAgIH07XG4gICAgICAgICAgaWYgKGkgPj0gZGlmZi5sZW5ndGggLSAyICYmIGxpbmVzLmxlbmd0aCA8PSBvcHRpb25zLmNvbnRleHQpIHtcbiAgICAgICAgICAgIC8vIEVPRiBpcyBpbnNpZGUgdGhpcyBodW5rXG4gICAgICAgICAgICBsZXQgb2xkRU9GTmV3bGluZSA9ICgoL1xcbiQvKS50ZXN0KG9sZFN0cikpO1xuICAgICAgICAgICAgbGV0IG5ld0VPRk5ld2xpbmUgPSAoKC9cXG4kLykudGVzdChuZXdTdHIpKTtcbiAgICAgICAgICAgIGxldCBub05sQmVmb3JlQWRkcyA9IGxpbmVzLmxlbmd0aCA9PSAwICYmIGN1clJhbmdlLmxlbmd0aCA+IGh1bmsub2xkTGluZXM7XG4gICAgICAgICAgICBpZiAoIW9sZEVPRk5ld2xpbmUgJiYgbm9ObEJlZm9yZUFkZHMgJiYgb2xkU3RyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgLy8gc3BlY2lhbCBjYXNlOiBvbGQgaGFzIG5vIGVvbCBhbmQgbm8gdHJhaWxpbmcgY29udGV4dDsgbm8tbmwgY2FuIGVuZCB1cCBiZWZvcmUgYWRkc1xuICAgICAgICAgICAgICAvLyBob3dldmVyLCBpZiB0aGUgb2xkIGZpbGUgaXMgZW1wdHksIGRvIG5vdCBvdXRwdXQgdGhlIG5vLW5sIGxpbmVcbiAgICAgICAgICAgICAgY3VyUmFuZ2Uuc3BsaWNlKGh1bmsub2xkTGluZXMsIDAsICdcXFxcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgoIW9sZEVPRk5ld2xpbmUgJiYgIW5vTmxCZWZvcmVBZGRzKSB8fCAhbmV3RU9GTmV3bGluZSkge1xuICAgICAgICAgICAgICBjdXJSYW5nZS5wdXNoKCdcXFxcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaHVua3MucHVzaChodW5rKTtcblxuICAgICAgICAgIG9sZFJhbmdlU3RhcnQgPSAwO1xuICAgICAgICAgIG5ld1JhbmdlU3RhcnQgPSAwO1xuICAgICAgICAgIGN1clJhbmdlID0gW107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG9sZExpbmUgKz0gbGluZXMubGVuZ3RoO1xuICAgICAgbmV3TGluZSArPSBsaW5lcy5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBvbGRGaWxlTmFtZTogb2xkRmlsZU5hbWUsIG5ld0ZpbGVOYW1lOiBuZXdGaWxlTmFtZSxcbiAgICBvbGRIZWFkZXI6IG9sZEhlYWRlciwgbmV3SGVhZGVyOiBuZXdIZWFkZXIsXG4gICAgaHVua3M6IGh1bmtzXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRQYXRjaChkaWZmKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGRpZmYpKSB7XG4gICAgcmV0dXJuIGRpZmYubWFwKGZvcm1hdFBhdGNoKS5qb2luKCdcXG4nKTtcbiAgfVxuXG4gIGNvbnN0IHJldCA9IFtdO1xuICBpZiAoZGlmZi5vbGRGaWxlTmFtZSA9PSBkaWZmLm5ld0ZpbGVOYW1lKSB7XG4gICAgcmV0LnB1c2goJ0luZGV4OiAnICsgZGlmZi5vbGRGaWxlTmFtZSk7XG4gIH1cbiAgcmV0LnB1c2goJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nKTtcbiAgcmV0LnB1c2goJy0tLSAnICsgZGlmZi5vbGRGaWxlTmFtZSArICh0eXBlb2YgZGlmZi5vbGRIZWFkZXIgPT09ICd1bmRlZmluZWQnID8gJycgOiAnXFx0JyArIGRpZmYub2xkSGVhZGVyKSk7XG4gIHJldC5wdXNoKCcrKysgJyArIGRpZmYubmV3RmlsZU5hbWUgKyAodHlwZW9mIGRpZmYubmV3SGVhZGVyID09PSAndW5kZWZpbmVkJyA/ICcnIDogJ1xcdCcgKyBkaWZmLm5ld0hlYWRlcikpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZGlmZi5odW5rcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGh1bmsgPSBkaWZmLmh1bmtzW2ldO1xuICAgIC8vIFVuaWZpZWQgRGlmZiBGb3JtYXQgcXVpcms6IElmIHRoZSBjaHVuayBzaXplIGlzIDAsXG4gICAgLy8gdGhlIGZpcnN0IG51bWJlciBpcyBvbmUgbG93ZXIgdGhhbiBvbmUgd291bGQgZXhwZWN0LlxuICAgIC8vIGh0dHBzOi8vd3d3LmFydGltYS5jb20vd2VibG9ncy92aWV3cG9zdC5qc3A/dGhyZWFkPTE2NDI5M1xuICAgIGlmIChodW5rLm9sZExpbmVzID09PSAwKSB7XG4gICAgICBodW5rLm9sZFN0YXJ0IC09IDE7XG4gICAgfVxuICAgIGlmIChodW5rLm5ld0xpbmVzID09PSAwKSB7XG4gICAgICBodW5rLm5ld1N0YXJ0IC09IDE7XG4gICAgfVxuICAgIHJldC5wdXNoKFxuICAgICAgJ0BAIC0nICsgaHVuay5vbGRTdGFydCArICcsJyArIGh1bmsub2xkTGluZXNcbiAgICAgICsgJyArJyArIGh1bmsubmV3U3RhcnQgKyAnLCcgKyBodW5rLm5ld0xpbmVzXG4gICAgICArICcgQEAnXG4gICAgKTtcbiAgICByZXQucHVzaC5hcHBseShyZXQsIGh1bmsubGluZXMpO1xuICB9XG5cbiAgcmV0dXJuIHJldC5qb2luKCdcXG4nKSArICdcXG4nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHdvRmlsZXNQYXRjaChvbGRGaWxlTmFtZSwgbmV3RmlsZU5hbWUsIG9sZFN0ciwgbmV3U3RyLCBvbGRIZWFkZXIsIG5ld0hlYWRlciwgb3B0aW9ucykge1xuICByZXR1cm4gZm9ybWF0UGF0Y2goc3RydWN0dXJlZFBhdGNoKG9sZEZpbGVOYW1lLCBuZXdGaWxlTmFtZSwgb2xkU3RyLCBuZXdTdHIsIG9sZEhlYWRlciwgbmV3SGVhZGVyLCBvcHRpb25zKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQYXRjaChmaWxlTmFtZSwgb2xkU3RyLCBuZXdTdHIsIG9sZEhlYWRlciwgbmV3SGVhZGVyLCBvcHRpb25zKSB7XG4gIHJldHVybiBjcmVhdGVUd29GaWxlc1BhdGNoKGZpbGVOYW1lLCBmaWxlTmFtZSwgb2xkU3RyLCBuZXdTdHIsIG9sZEhlYWRlciwgbmV3SGVhZGVyLCBvcHRpb25zKTtcbn1cbiJdfQ== diff --git a/.pnpm-store/v3/files/17/7048393c5d2df54ae3d729ed1a192e2e9202358d08408cc98db78557417f2d7f829f21e6225c6227b10d5428dac7c46e0c83c029d549ec0a7cf7f81269b27d b/.pnpm-store/v3/files/17/7048393c5d2df54ae3d729ed1a192e2e9202358d08408cc98db78557417f2d7f829f21e6225c6227b10d5428dac7c46e0c83c029d549ec0a7cf7f81269b27d new file mode 100644 index 00000000..e06f3b7d --- /dev/null +++ b/.pnpm-store/v3/files/17/7048393c5d2df54ae3d729ed1a192e2e9202358d08408cc98db78557417f2d7f829f21e6225c6227b10d5428dac7c46e0c83c029d549ec0a7cf7f81269b27d @@ -0,0 +1 @@ +module.exports={C:{"19":0.10284,"52":0.09917,"56":0.00367,"64":0.00367,"68":0.00735,"72":0.00367,"78":0.00367,"88":0.01469,"97":0.00735,"98":0.00367,"99":0.00367,"102":0.00367,"103":0.00367,"104":0.01837,"108":0.01837,"111":0.01102,"113":0.00367,"114":0.00367,"115":0.94763,"116":0.01102,"118":0.00735,"119":0.01469,"120":0.02938,"121":1.75569,"122":0.31221,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 65 66 67 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 100 101 105 106 107 109 110 112 117 123 124 125 3.5 3.6"},D:{"38":0.00735,"41":0.00735,"43":0.00367,"44":0.00367,"46":0.00367,"47":0.00367,"49":0.05142,"51":0.00367,"53":0.04408,"55":0.00735,"63":0.00367,"65":0.00367,"68":0.00367,"69":0.00367,"70":0.00367,"71":0.00735,"72":0.00367,"73":0.00735,"75":0.00367,"76":0.00735,"78":0.01469,"79":0.37832,"80":0.01102,"81":0.02938,"83":0.02204,"84":0.00735,"85":0.01837,"86":0.00735,"87":0.26078,"88":0.02204,"89":0.01102,"90":0.00367,"91":0.00367,"92":0.01469,"93":0.00735,"94":0.0404,"95":0.00735,"96":0.01102,"97":0.00735,"98":0.00735,"99":0.02571,"100":0.04775,"101":0.00367,"102":0.00735,"103":0.03673,"104":0.00735,"105":0.12488,"106":0.04775,"107":0.02571,"108":0.05142,"109":4.19457,"110":0.00735,"111":0.01837,"112":0.02204,"113":0.01837,"114":0.03673,"115":0.01102,"116":0.12121,"117":0.02204,"118":0.06244,"119":0.31221,"120":19.0041,"121":1.33697,"122":0.00367,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 45 48 50 52 54 56 57 58 59 60 61 62 64 66 67 74 77 123 124"},F:{"28":0.02571,"36":0.00735,"40":0.00367,"46":0.04775,"72":0.01102,"85":0.01469,"94":0.01469,"95":0.10284,"102":0.00367,"104":0.00367,"105":0.78235,"106":0.775,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00367,"16":0.00735,"18":0.00735,"85":0.01837,"89":0.00367,"92":0.01102,"108":0.01102,"109":0.04408,"114":0.00367,"115":0.00367,"116":0.00367,"117":0.00367,"118":0.0404,"119":0.0551,"120":2.07157,"121":0.31221,_:"12 13 15 17 79 80 81 83 84 86 87 88 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110 111 112 113"},E:{"9":0.00367,"13":0.00367,"14":0.0404,_:"0 4 5 6 7 8 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00735,"13.1":0.01469,"14.1":0.02204,"15.1":0.00735,"15.2-15.3":0.00735,"15.4":0.00367,"15.5":0.00735,"15.6":0.14325,"16.0":0.01102,"16.1":0.01102,"16.2":0.02204,"16.3":0.02204,"16.4":0.00735,"16.5":0.02204,"16.6":0.08815,"17.0":0.02204,"17.1":0.13957,"17.2":0.3269,"17.3":0.02571},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00164,"5.0-5.1":0.00246,"6.0-6.1":0.00411,"7.0-7.1":0.00575,"8.1-8.4":0.00082,"9.0-9.2":0.00493,"9.3":0.01889,"10.0-10.2":0.00164,"10.3":0.02957,"11.0-11.2":0.0115,"11.3-11.4":0.01232,"12.0-12.1":0.00739,"12.2-12.5":0.1462,"13.0-13.1":0.00246,"13.2":0.02711,"13.3":0.00739,"13.4-13.7":0.03285,"14.0-14.4":0.0575,"14.5-14.8":0.08789,"15.0-15.1":0.03778,"15.2-15.3":0.04353,"15.4":0.05093,"15.5":0.06735,"15.6-15.8":0.52486,"16.0":0.1577,"16.1":0.33594,"16.2":0.15278,"16.3":0.2842,"16.4":0.06325,"16.5":0.13471,"16.6-16.7":1.10228,"17.0":0.18317,"17.1":1.88834,"17.2":2.55612,"17.3":0.16427},P:{"4":0.7007,"20":0.03091,"21":0.12365,"22":0.11335,"23":3.6993,"5.0-5.4":0.04122,"6.2-6.4":0.02061,"7.2-7.4":0.03091,_:"8.2 9.2 10.1 15.0","11.1-11.2":0.02061,"12.0":0.0103,"13.0":0.02061,"14.0":0.0103,"16.0":0.02061,"17.0":0.02061,"18.0":0.0103,"19.0":0.06183},I:{"0":0.0882,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00023},A:{"8":0.06611,"9":0.01653,"10":0.01653,"11":0.16529,_:"6 7 5.5"},K:{"0":0.4303,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.00633},H:{"0":0},L:{"0":50.14482},R:{_:"0"},M:{"0":0.14554}}; diff --git a/.pnpm-store/v3/files/17/7e6183c997e8634502d89cb3a13f2e1cc772d17360e9493bb4c1c9ab1ea1e9488d3fdedec40bfdefee16c69d8a57183d81313f2cf098b98df1e527bdee41d4 b/.pnpm-store/v3/files/17/7e6183c997e8634502d89cb3a13f2e1cc772d17360e9493bb4c1c9ab1ea1e9488d3fdedec40bfdefee16c69d8a57183d81313f2cf098b98df1e527bdee41d4 new file mode 100644 index 00000000..ecbf2682 --- /dev/null +++ b/.pnpm-store/v3/files/17/7e6183c997e8634502d89cb3a13f2e1cc772d17360e9493bb4c1c9ab1ea1e9488d3fdedec40bfdefee16c69d8a57183d81313f2cf098b98df1e527bdee41d4 @@ -0,0 +1 @@ +module.exports={C:{"3":0.01746,"4":0.00698,"20":0.00698,"21":0.00349,"24":0.00349,"25":0.00349,"26":0.00349,"28":0.00349,"34":0.00349,"35":0.00349,"36":0.00349,"37":0.00349,"38":0.00698,"39":0.00349,"40":0.00698,"41":0.00349,"50":0.00349,"51":0.02794,"52":0.01048,"88":0.00349,"102":0.00698,"108":0.00698,"112":0.00698,"113":0.01397,"114":0.01048,"115":0.0873,"116":0.05238,"117":0.10127,"118":0.01048,"119":0.06286,"120":0.02095,"121":0.63554,"122":0.1327,"123":0.00349,_:"2 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22 23 27 29 30 31 32 33 42 43 44 45 46 47 48 49 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 109 110 111 124 125","3.5":0.00349,"3.6":0.00698},D:{"11":0.00349,"17":0.00349,"19":0.00349,"21":0.00349,"31":0.00698,"33":0.00698,"34":0.00349,"36":0.00349,"37":0.00349,"38":0.00698,"39":0.00698,"40":0.00698,"41":0.00698,"42":0.00698,"43":0.03143,"44":0.02095,"45":0.01397,"46":0.01746,"47":0.00698,"49":0.01048,"51":0.02095,"56":0.01746,"57":0.00349,"58":0.02444,"65":0.00349,"68":0.00698,"69":0.00349,"70":0.01397,"75":0.02095,"76":0.01397,"77":0.00698,"79":0.01048,"81":0.00349,"83":0.01048,"84":0.00349,"86":0.00349,"87":0.00698,"88":0.00698,"91":0.11873,"92":0.00698,"93":0.09079,"97":0.05238,"100":0.00349,"102":0.00698,"103":0.14317,"105":0.03841,"106":0.00349,"107":0.03143,"108":2.52821,"109":0.37714,"110":0.00698,"111":0.01746,"112":0.01048,"113":0.01048,"114":0.06635,"115":0.03841,"116":0.38063,"117":0.07333,"118":1.02665,"119":0.60412,"120":9.98014,"121":0.95681,"122":0.00698,_:"4 5 6 7 8 9 10 12 13 14 15 16 18 20 22 23 24 25 26 27 28 29 30 32 35 48 50 52 53 54 55 59 60 61 62 63 64 66 67 71 72 73 74 78 80 85 89 90 94 95 96 98 99 101 104 123 124"},F:{"31":0.00698,"44":0.00349,"86":0.00349,"95":0.00349,"101":0.00349,"102":0.00349,"104":0.00349,"105":0.25841,"106":0.22349,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 87 88 89 90 91 92 93 94 96 97 98 99 100 103 10.0-10.1 10.5 10.6 11.1 11.5 11.6","9.5-9.6":0.00349,"12.1":0.00349},B:{"12":0.00349,"14":0.02095,"18":0.00349,"109":0.09778,"112":0.00349,"113":0.00349,"114":0.00349,"115":0.00349,"116":0.02794,"117":0.01048,"118":0.00698,"119":0.05238,"120":1.91012,"121":0.23396,_:"13 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111"},E:{"4":0.01397,"5":0.00349,"7":0.00349,"8":0.00349,"9":0.0419,"10":0.03143,"14":0.00698,"15":0.00349,_:"0 6 11 12 13 3.1 3.2 7.1 9.1 10.1 11.1 17.4","5.1":0.00349,"6.1":0.00349,"12.1":0.00349,"13.1":0.06635,"14.1":0.06984,"15.1":0.10127,"15.2-15.3":0.17111,"15.4":0.37714,"15.5":0.03841,"15.6":0.89046,"16.0":0.00698,"16.1":0.16063,"16.2":0.09428,"16.3":0.29682,"16.4":0.14666,"16.5":0.59015,"16.6":0.98125,"17.0":0.26888,"17.1":1.89616,"17.2":3.11137,"17.3":0.28634},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0078,"5.0-5.1":0.01169,"6.0-6.1":0.01949,"7.0-7.1":0.02728,"8.1-8.4":0.0039,"9.0-9.2":0.02339,"9.3":0.08965,"10.0-10.2":0.0078,"10.3":0.14032,"11.0-11.2":0.05457,"11.3-11.4":0.05846,"12.0-12.1":0.03508,"12.2-12.5":0.69378,"13.0-13.1":0.01169,"13.2":0.12862,"13.3":0.03508,"13.4-13.7":0.15591,"14.0-14.4":0.27283,"14.5-14.8":0.41705,"15.0-15.1":0.17929,"15.2-15.3":0.20657,"15.4":0.24165,"15.5":0.31961,"15.6-15.8":2.49059,"16.0":0.74835,"16.1":1.59414,"16.2":0.72496,"16.3":1.34858,"16.4":0.30012,"16.5":0.63921,"16.6-16.7":5.23063,"17.0":0.86917,"17.1":8.96068,"17.2":12.12946,"17.3":0.77953},P:{"4":0.17122,"21":0.0321,"22":0.04281,"23":1.70151,_:"20 5.0-5.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 18.0","6.2-6.4":0.0107,"7.2-7.4":0.06421,"11.1-11.2":0.0107,"16.0":0.0214,"17.0":0.0107,"19.0":0.0107},I:{"0":0.24622,"3":0,"4":0.00005,"2.1":0,"2.2":0.00002,"2.3":0,"4.1":0.00005,"4.2-4.3":0.00017,"4.4":0,"4.4.3-4.4.4":0.00064},A:{"6":0.00736,"7":0.01104,"8":0.11773,"9":0.02943,"10":0.02943,"11":1.99411,_:"5.5"},K:{"0":0.14968,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00651,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00651},O:{"0":0.07159},H:{"0":0},L:{"0":24.2448},R:{_:"0"},M:{"0":0.16921}}; diff --git a/.pnpm-store/v3/files/18/5b5e0bdad1f7552b5f1b44c2305ff9ea4ce5f1043ac7dca08decd85a624cbf0bcd5f541c298559569f348372c720e2ad1c738d35aafcc49ff19580dc6d3f46 b/.pnpm-store/v3/files/18/5b5e0bdad1f7552b5f1b44c2305ff9ea4ce5f1043ac7dca08decd85a624cbf0bcd5f541c298559569f348372c720e2ad1c738d35aafcc49ff19580dc6d3f46 new file mode 100644 index 00000000..29d0d837 --- /dev/null +++ b/.pnpm-store/v3/files/18/5b5e0bdad1f7552b5f1b44c2305ff9ea4ce5f1043ac7dca08decd85a624cbf0bcd5f541c298559569f348372c720e2ad1c738d35aafcc49ff19580dc6d3f46 @@ -0,0 +1 @@ +module.exports={C:{"47":0.00249,"48":0.00249,"52":0.00498,"78":0.00249,"88":0.00498,"96":0.00249,"102":0.22908,"103":0.00249,"104":0.00249,"105":0.00249,"106":0.00249,"107":0.00249,"108":0.00249,"109":0.00249,"110":0.00249,"111":0.00249,"115":0.12201,"119":0.00249,"120":0.00498,"121":0.24402,"122":0.05976,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 97 98 99 100 101 112 113 114 116 117 118 123 124 125 3.5 3.6"},D:{"22":0.00249,"26":0.01992,"34":0.0498,"38":0.08715,"41":0.00249,"43":0.00249,"47":0.01494,"48":0.00249,"49":0.04233,"50":0.00498,"53":0.01494,"56":0.00498,"58":0.00249,"60":0.00249,"63":0.00249,"65":0.00249,"66":0.00249,"67":0.00249,"68":0.00498,"69":0.00249,"70":0.00249,"71":0.00498,"72":0.00498,"73":0.01992,"74":0.00249,"75":0.00498,"76":0.00249,"77":0.00249,"78":0.00249,"79":0.29631,"80":0.00747,"81":0.00747,"83":0.05727,"84":0.00498,"85":0.02988,"86":0.00747,"87":0.18426,"88":0.00996,"89":0.01743,"90":0.00747,"91":0.00747,"92":0.00747,"93":0.00249,"94":0.0249,"95":0.00747,"96":0.0747,"97":0.00747,"98":0.01245,"99":0.05229,"100":0.00996,"101":0.00747,"102":0.00996,"103":0.0249,"104":0.00996,"105":0.01992,"106":0.06972,"107":0.03486,"108":0.04731,"109":3.21708,"110":0.0249,"111":0.04233,"112":0.03984,"113":0.01245,"114":0.02739,"115":0.01245,"116":0.07221,"117":0.02988,"118":0.03984,"119":0.60756,"120":11.19255,"121":0.83415,"122":0.00249,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 42 44 45 46 51 52 54 55 57 59 61 62 64 123 124"},F:{"28":0.01743,"31":0.00249,"32":0.00747,"36":0.00498,"40":0.0249,"46":0.11703,"79":0.00498,"80":0.00249,"81":0.00249,"85":0.00249,"86":0.00249,"91":0.00249,"93":0.00249,"94":0.00249,"95":0.05727,"102":0.00249,"104":0.00249,"105":0.79182,"106":0.7221,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 82 83 84 87 88 89 90 92 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00249,"13":0.00249,"14":0.00498,"15":0.00249,"16":0.00249,"17":0.00498,"18":0.00498,"84":0.00249,"92":0.00498,"97":0.00249,"100":0.00498,"105":0.00249,"106":0.00498,"107":0.00498,"108":0.00747,"109":0.08964,"110":0.00498,"111":0.00249,"112":0.00249,"113":0.00249,"114":0.00498,"115":0.00498,"116":0.00498,"117":0.00747,"118":0.00747,"119":0.02988,"120":1.75047,"121":0.23157,_:"79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 98 99 101 102 103 104"},E:{"13":0.00249,"14":0.01494,"15":0.00249,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1 11.1 17.4","5.1":0.00498,"12.1":0.00249,"13.1":0.01494,"14.1":0.02241,"15.1":0.00498,"15.2-15.3":0.00249,"15.4":0.00747,"15.5":0.00747,"15.6":0.07221,"16.0":0.00498,"16.1":0.01743,"16.2":0.01245,"16.3":0.03237,"16.4":0.01494,"16.5":0.01992,"16.6":0.08964,"17.0":0.01743,"17.1":0.0996,"17.2":0.14193,"17.3":0.01245},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00235,"5.0-5.1":0.00352,"6.0-6.1":0.00587,"7.0-7.1":0.00822,"8.1-8.4":0.00117,"9.0-9.2":0.00704,"9.3":0.027,"10.0-10.2":0.00235,"10.3":0.04226,"11.0-11.2":0.01644,"11.3-11.4":0.01761,"12.0-12.1":0.01057,"12.2-12.5":0.20897,"13.0-13.1":0.00352,"13.2":0.03874,"13.3":0.01057,"13.4-13.7":0.04696,"14.0-14.4":0.08218,"14.5-14.8":0.12561,"15.0-15.1":0.054,"15.2-15.3":0.06222,"15.4":0.07279,"15.5":0.09627,"15.6-15.8":0.75017,"16.0":0.2254,"16.1":0.48015,"16.2":0.21836,"16.3":0.40619,"16.4":0.0904,"16.5":0.19253,"16.6-16.7":1.57547,"17.0":0.2618,"17.1":2.69896,"17.2":3.65339,"17.3":0.23479},P:{"4":0.29735,"20":0.05127,"21":0.13329,"22":0.11279,"23":2.63513,"5.0-5.4":0.03076,"6.2-6.4":0.02051,"7.2-7.4":0.19482,_:"8.2 10.1","9.2":0.02051,"11.1-11.2":0.02051,"12.0":0.01025,"13.0":0.05127,"14.0":0.01025,"15.0":0.01025,"16.0":0.02051,"17.0":0.08203,"18.0":0.02051,"19.0":0.04101},I:{"0":0.02991,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"11":0.15438,_:"6 7 8 9 10 5.5"},K:{"0":0.85625,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.10515},H:{"0":0},L:{"0":58.52932},R:{_:"0"},M:{"0":0.09764}}; diff --git a/.pnpm-store/v3/files/18/9ac755c383b5028695d3ea8b1b329fdef00a3e933fd98696a4ec86277c6ef1bfeac12f0dbd1ddcd3f8f4b966d4f9ec62446ff8a11980872f31119d15640236 b/.pnpm-store/v3/files/18/9ac755c383b5028695d3ea8b1b329fdef00a3e933fd98696a4ec86277c6ef1bfeac12f0dbd1ddcd3f8f4b966d4f9ec62446ff8a11980872f31119d15640236 new file mode 100644 index 00000000..0e3df953 --- /dev/null +++ b/.pnpm-store/v3/files/18/9ac755c383b5028695d3ea8b1b329fdef00a3e933fd98696a4ec86277c6ef1bfeac12f0dbd1ddcd3f8f4b966d4f9ec62446ff8a11980872f31119d15640236 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"F A B SC","8":"J D E"},B:{"2":"C K L G M N O","8":"P Q R S T U V W X Y Z a b c d e f","584":"g h i j k l m n o p v w","1025":"0 1 2 3 4 5 6 7 8 x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","129":"TC 7B VC WC"},D:{"1":"BB","8":"9 I J D E F A B C K L G M N O AB q r s t CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f","584":"g h i j k l m n o p v w","1025":"0 1 2 3 4 5 6 7 8 x y z H 1B BC CC"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","260":"9 I J D E F XC DC YC ZC aC bC"},F:{"2":"F","8":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC","584":"S T U V W X Y Z a b c d","1025":"e f g h i j k l m n o p","2052":"B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","8":"DC nC RC"},H:{"8":"9C"},I:{"8":"7B I AD BD CD DD RC ED FD","1025":"H"},J:{"1":"A","8":"D"},K:{"8":"A B C u 2B QC 3B"},L:{"1025":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"8":"4B"},P:{"1":"r s t","8":"I q GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"8":"FC"},R:{"8":"SD"},S:{"1":"TD UD"}},B:2,C:"MathML",D:true}; diff --git a/.pnpm-store/v3/files/18/a927b96d1e18ccaed223c82c3b75b887999cd3fa67b0c1891ef39b2d269647f13a7d35fdc062377bfb5fa54db88df42d81763aad4dd30f5c26be93388e8ce5 b/.pnpm-store/v3/files/18/a927b96d1e18ccaed223c82c3b75b887999cd3fa67b0c1891ef39b2d269647f13a7d35fdc062377bfb5fa54db88df42d81763aad4dd30f5c26be93388e8ce5 new file mode 100644 index 00000000..0180717a --- /dev/null +++ b/.pnpm-store/v3/files/18/a927b96d1e18ccaed223c82c3b75b887999cd3fa67b0c1891ef39b2d269647f13a7d35fdc062377bfb5fa54db88df42d81763aad4dd30f5c26be93388e8ce5 @@ -0,0 +1,339 @@ +# jsdiff + +[![Build Status](https://secure.travis-ci.org/kpdecker/jsdiff.svg)](http://travis-ci.org/kpdecker/jsdiff) +[![Sauce Test Status](https://saucelabs.com/buildstatus/jsdiff)](https://saucelabs.com/u/jsdiff) + +A JavaScript text differencing implementation. Try it out in the **[online demo](https://kpdecker.github.io/jsdiff)**. + +Based on the algorithm proposed in +["An O(ND) Difference Algorithm and its Variations" (Myers, 1986)](http://www.xmailserver.org/diff2.pdf). + +## Installation +```bash +npm install diff --save +``` + +## Usage + +Broadly, jsdiff's diff functions all take an old text and a new text and perform three steps: + +1. Split both texts into arrays of "tokens". What constitutes a token varies; in `diffChars`, each character is a token, while in `diffLines`, each line is a token. + +2. Find the smallest set of single-token *insertions* and *deletions* needed to transform the first array of tokens into the second. + + This step depends upon having some notion of a token from the old array being "equal" to one from the new array, and this notion of equality affects the results. Usually two tokens are equal if `===` considers them equal, but some of the diff functions use an alternative notion of equality or have options to configure it. For instance, by default `diffChars("Foo", "FOOD")` will require two deletions (`o`, `o`) and three insertions (`O`, `O`, `D`), but `diffChars("Foo", "FOOD", {ignoreCase: true})` will require just one insertion (of a `D`), since `ignoreCase` causes `o` and `O` to be considered equal. + +3. Return an array representing the transformation computed in the previous step as a series of [change objects](#change-objects). The array is ordered from the start of the input to the end, and each change object represents *inserting* one or more tokens, *deleting* one or more tokens, or *keeping* one or more tokens. + +### API + +* `Diff.diffChars(oldStr, newStr[, options])` - diffs two blocks of text, treating each character as a token. + + Returns a list of [change objects](#change-objects). + + Options + * `ignoreCase`: If `true`, the uppercase and lowercase forms of a character are considered equal. Defaults to `false`. + +* `Diff.diffWords(oldStr, newStr[, options])` - diffs two blocks of text, treating each word and each word separator (punctuation, newline, or run of whitespace) as a token. + + (Whitespace-only tokens are automatically treated as equal to each other, so changes like changing a space to a newline or a run of multiple spaces will be ignored.) + + Returns a list of [change objects](#change-objects). + + Options + * `ignoreCase`: Same as in `diffChars`. Defaults to false. + +* `Diff.diffWordsWithSpace(oldStr, newStr[, options])` - same as `diffWords`, except whitespace-only tokens are not automatically considered equal, so e.g. changing a space to a tab is considered a change. + +* `Diff.diffLines(oldStr, newStr[, options])` - diffs two blocks of text, treating each line as a token. + + Options + * `ignoreWhitespace`: `true` to strip all leading and trailing whitespace characters from each line before performing the diff. Defaults to `false`. + * `stripTrailingCr`: `true` to remove all trailing CR (`\r`) characters before performing the diff. Defaults to `false`. + This helps to get a useful diff when diffing UNIX text files against Windows text files. + * `newlineIsToken`: `true` to treat the newline character at the end of each line as its own token. This allows for changes to the newline structure to occur independently of the line content and to be treated as such. In general this is the more human friendly form of `diffLines`; the default behavior with this option turned off is better suited for patches and other computer friendly output. Defaults to `false`. + + Returns a list of [change objects](#change-objects). + +* `Diff.diffTrimmedLines(oldStr, newStr[, options])` - diffs two blocks of text, comparing line by line, after stripping leading and trailing whitespace. Equivalent to calling `diffLines` with `ignoreWhitespace: true`. + + Options + * `stripTrailingCr`: Same as in `diffLines`. Defaults to `false`. + * `newlineIsToken`: Same as in `diffLines`. Defaults to `false`. + + Returns a list of [change objects](#change-objects). + +* `Diff.diffSentences(oldStr, newStr[, options])` - diffs two blocks of text, treating each sentence as a token. + + Returns a list of [change objects](#change-objects). + +* `Diff.diffCss(oldStr, newStr[, options])` - diffs two blocks of text, comparing CSS tokens. + + Returns a list of [change objects](#change-objects). + +* `Diff.diffJson(oldObj, newObj[, options])` - diffs two JSON-serializable objects by first serializing them to prettily-formatted JSON and then treating each line of the JSON as a token. Object properties are ordered alphabetically in the serialized JSON, so the order of properties in the objects being compared doesn't affect the result. + + Returns a list of [change objects](#change-objects). + + Options + * `stringifyReplacer`: A custom replacer function. Operates similarly to the `replacer` parameter to [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#the_replacer_parameter), but must be a function. + * `undefinedReplacement`: A value to replace `undefined` with. Ignored if a `stringifyReplacer` is provided. + +* `Diff.diffArrays(oldArr, newArr[, options])` - diffs two arrays of tokens, comparing each item for strict equality (===). + + Options + * `comparator`: `function(left, right)` for custom equality checks + + Returns a list of [change objects](#change-objects). + +* `Diff.createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr[, oldHeader[, newHeader[, options]]])` - creates a unified diff patch by first computing a diff with `diffLines` and then serializing it to unified diff format. + + Parameters: + * `oldFileName` : String to be output in the filename section of the patch for the removals + * `newFileName` : String to be output in the filename section of the patch for the additions + * `oldStr` : Original string value + * `newStr` : New string value + * `oldHeader` : Optional additional information to include in the old file header. Default: `undefined`. + * `newHeader` : Optional additional information to include in the new file header. Default: `undefined`. + * `options` : An object with options. + - `context` describes how many lines of context should be included. You can set this to `Number.MAX_SAFE_INTEGER` or `Infinity` to include the entire file content in one hunk. + - `ignoreWhitespace`: Same as in `diffLines`. Defaults to `false`. + - `stripTrailingCr`: Same as in `diffLines`. Defaults to `false`. + - `newlineIsToken`: Same as in `diffLines`. Defaults to `false`. + +* `Diff.createPatch(fileName, oldStr, newStr[, oldHeader[, newHeader[, options]]])` - creates a unified diff patch. + + Just like Diff.createTwoFilesPatch, but with oldFileName being equal to newFileName. + +* `Diff.formatPatch(patch)` - creates a unified diff patch. + + `patch` may be either a single structured patch object (as returned by `structuredPatch`) or an array of them (as returned by `parsePatch`). + +* `Diff.structuredPatch(oldFileName, newFileName, oldStr, newStr[, oldHeader[, newHeader[, options]]])` - returns an object with an array of hunk objects. + + This method is similar to createTwoFilesPatch, but returns a data structure + suitable for further processing. Parameters are the same as createTwoFilesPatch. The data structure returned may look like this: + + ```js + { + oldFileName: 'oldfile', newFileName: 'newfile', + oldHeader: 'header1', newHeader: 'header2', + hunks: [{ + oldStart: 1, oldLines: 3, newStart: 1, newLines: 3, + lines: [' line2', ' line3', '-line4', '+line5', '\\ No newline at end of file'], + }] + } + ``` + +* `Diff.applyPatch(source, patch[, options])` - attempts to apply a unified diff patch. + + If the patch was applied successfully, returns a string containing the patched text. If the patch could not be applied (because some hunks in the patch couldn't be fitted to the text in `source`), returns false. + + `patch` may be a string diff or the output from the `parsePatch` or `structuredPatch` methods. + + The optional `options` object may have the following keys: + + - `fuzzFactor`: Number of lines that are allowed to differ before rejecting a patch. Defaults to 0. + - `compareLine(lineNumber, line, operation, patchContent)`: Callback used to compare to given lines to determine if they should be considered equal when patching. Defaults to strict equality but may be overridden to provide fuzzier comparison. Should return false if the lines should be rejected. + +* `Diff.applyPatches(patch, options)` - applies one or more patches. + + `patch` may be either an array of structured patch objects, or a string representing a patch in unified diff format (which may patch one or more files). + + This method will iterate over the contents of the patch and apply to data provided through callbacks. The general flow for each patch index is: + + - `options.loadFile(index, callback)` is called. The caller should then load the contents of the file and then pass that to the `callback(err, data)` callback. Passing an `err` will terminate further patch execution. + - `options.patched(index, content, callback)` is called once the patch has been applied. `content` will be the return value from `applyPatch`. When it's ready, the caller should call `callback(err)` callback. Passing an `err` will terminate further patch execution. + + Once all patches have been applied or an error occurs, the `options.complete(err)` callback is made. + +* `Diff.parsePatch(diffStr)` - Parses a patch into structured data + + Return a JSON object representation of the a patch, suitable for use with the `applyPatch` method. This parses to the same structure returned by `Diff.structuredPatch`. + +* `Diff.reversePatch(patch)` - Returns a new structured patch which when applied will undo the original `patch`. + + `patch` may be either a single structured patch object (as returned by `structuredPatch`) or an array of them (as returned by `parsePatch`). + +* `Diff.convertChangesToXML(changes)` - converts a list of change objects to a serialized XML format + +* `Diff.convertChangesToDMP(changes)` - converts a list of change objects to the format returned by Google's [diff-match-patch](https://github.com/google/diff-match-patch) library + +#### Universal `options` + +Certain options can be provided in the `options` object of *any* method that calculates a diff: + +* `callback`: if provided, the diff will be computed in async mode to avoid blocking the event loop while the diff is calculated. The value of the `callback` option should be a function and will be passed the result of the diff as its second argument. The first argument will always be undefined. Only works with functions that return change objects, like `diffLines`, not those that return patches, like `structuredPatch` or `createPatch`. + + (Note that if the ONLY option you want to provide is a callback, you can pass the callback function directly as the `options` parameter instead of passing an object with a `callback` property.) +* `maxEditLength`: a number specifying the maximum edit distance to consider between the old and new texts. If the edit distance is higher than this, jsdiff will return `undefined` instead of a diff. You can use this to limit the computational cost of diffing large, very different texts by giving up early if the cost will be huge. Works for functions that return change objects and also for `structuredPatch`, but not other patch-generation functions. + +* `timeout`: a number of milliseconds after which the diffing algorithm will abort and return `undefined`. Supported by the same functions as `maxEditLength`. + +### Defining custom diffing behaviors + +If you need behavior a little different to what any of the text diffing functions above offer, you can roll your own by customizing both the tokenization behavior used and the notion of equality used to determine if two tokens are equal. + +The simplest way to customize tokenization behavior is to simply tokenize the texts you want to diff yourself, with your own code, then pass the arrays of tokens to `diffArrays`. For instance, if you wanted a semantically-aware diff of some code, you could try tokenizing it using a parser specific to the programming language the code is in, then passing the arrays of tokens to `diffArrays`. + +To customize the notion of token equality used, use the `comparator` option to `diffArrays`. + +For even more customisation of the diffing behavior, you can create a `new Diff.Diff()` object, overwrite its `castInput`, `tokenize`, `removeEmpty`, `equals`, and `join` properties with your own functions, then call its `diff(oldString, newString[, options])` method. The methods you can overwrite are used as follows: + +* `castInput(value)`: used to transform the `oldString` and `newString` before any other steps in the diffing algorithm happen. For instance, `diffJson` uses `castInput` to serialize the objects being diffed to JSON. Defaults to a no-op. +* `tokenize(value)`: used to convert each of `oldString` and `newString` (after they've gone through `castInput`) to an array of tokens. Defaults to returning `value.split('')` (returning an array of individual characters). +* `removeEmpty(array)`: called on the arrays of tokens returned by `tokenize` and can be used to modify them. Defaults to stripping out falsey tokens, such as empty strings. `diffArrays` overrides this to simply return the `array`, which means that falsey values like empty strings can be handled like any other token by `diffArrays`. +* `equals(left, right)`: called to determine if two tokens (one from the old string, one from the new string) should be considered equal. Defaults to comparing them with `===`. +* `join(tokens)`: gets called with an array of consecutive tokens that have either all been added, all been removed, or are all common. Needs to join them into a single value that can be used as the `value` property of the [change object](#change-objects) for these tokens. Defaults to simply returning `tokens.join('')`. + +### Change Objects +Many of the methods above return change objects. These objects consist of the following fields: + +* `value`: The concatenated content of all the tokens represented by this change object - i.e. generally the text that is either added, deleted, or common, as a single string. In cases where tokens are considered common but are non-identical (e.g. because an option like `ignoreCase` or a custom `comparator` was used), the value from the *new* string will be provided here. +* `added`: True if the value was inserted into the new string +* `removed`: True if the value was removed from the old string +* `count`: How many tokens (e.g. chars for `diffChars`, lines for `diffLines`) the value in the change object consists of + +(Change objects where `added` and `removed` are both falsey represent content that is common to the old and new strings.) + +Note that some cases may omit a particular flag field. Comparison on the flag fields should always be done in a truthy or falsy manner. + +## Examples + +#### Basic example in Node + +```js +require('colors'); +const Diff = require('diff'); + +const one = 'beep boop'; +const other = 'beep boob blah'; + +const diff = Diff.diffChars(one, other); + +diff.forEach((part) => { + // green for additions, red for deletions + let text = part.added ? part.value.bgGreen : + part.removed ? part.value.bgRed : + part.value; + process.stderr.write(text); +}); + +console.log(); +``` +Running the above program should yield + +Node Example + +#### Basic example in a web page + +```html +

+
+
+```
+
+Open the above .html file in a browser and you should see
+
+Node Example
+
+#### Example of generating a patch from Node
+
+The code below is roughly equivalent to the Unix command `diff -u file1.txt file2.txt > mydiff.patch`:
+
+```
+const Diff = require('diff');
+const file1Contents = fs.readFileSync("file1.txt").toString();
+const file2Contents = fs.readFileSync("file2.txt").toString();
+const patch = Diff.createTwoFilesPatch("file1.txt", "file2.txt", file1Contents, file2Contents);
+fs.writeFileSync("mydiff.patch", patch);
+```
+
+#### Examples of parsing and applying a patch from Node
+
+##### Applying a patch to a specified file
+
+The code below is roughly equivalent to the Unix command `patch file1.txt mydiff.patch`:
+
+```
+const Diff = require('diff');
+const file1Contents = fs.readFileSync("file1.txt").toString();
+const patch = fs.readFileSync("mydiff.patch").toString();
+const patchedFile = Diff.applyPatch(file1Contents, patch);
+fs.writeFileSync("file1.txt", patchedFile);
+```
+
+##### Applying a multi-file patch to the files specified by the patch file itself
+
+The code below is roughly equivalent to the Unix command `patch < mydiff.patch`:
+
+```
+const Diff = require('diff');
+const patch = fs.readFileSync("mydiff.patch").toString();
+Diff.applyPatches(patch, {
+    loadFile: (patch, callback) => {
+        let fileContents;
+        try {
+            fileContents = fs.readFileSync(patch.oldFileName).toString();
+        } catch (e) {
+            callback(`No such file: ${patch.oldFileName}`);
+            return;
+        }
+        callback(undefined, fileContents);
+    },
+    patched: (patch, patchedContent, callback) => {
+        if (patchedContent === false) {
+            callback(`Failed to apply patch to ${patch.oldFileName}`)
+            return;
+        }
+        fs.writeFileSync(patch.oldFileName, patchedContent);
+        callback();
+    },
+    complete: (err) => {
+        if (err) {
+            console.log("Failed with error:", err);
+        }
+    }
+});
+```
+
+## Compatibility
+
+[![Sauce Test Status](https://saucelabs.com/browser-matrix/jsdiff.svg)](https://saucelabs.com/u/jsdiff)
+
+jsdiff supports all ES3 environments with some known issues on IE8 and below. Under these browsers some diff algorithms such as word diff and others may fail due to lack of support for capturing groups in the `split` operation.
+
+## License
+
+See [LICENSE](https://github.com/kpdecker/jsdiff/blob/master/LICENSE).
+
+## Deviations from the published Myers diff algorithm
+
+jsdiff deviates from the published algorithm in a couple of ways that don't affect results but do affect performance:
+
+* jsdiff keeps track of the diff for each diagonal using a linked list of change objects for each diagonal, rather than the historical array of furthest-reaching D-paths on each diagonal contemplated on page 8 of Myers's paper.
+* jsdiff skips considering diagonals where the furthest-reaching D-path would go off the edge of the edit graph. This dramatically reduces the time cost (from quadratic to linear) in cases where the new text just appends or truncates content at the end of the old text.
diff --git a/.pnpm-store/v3/files/18/b69c72c2dff48b2c0eb57ad7cda768fb960ad83d34a686f1163d4259c9ee7cdeda43d76f48c7ce430d3d10e4909755f3dce311719ffd8475e3356138702556 b/.pnpm-store/v3/files/18/b69c72c2dff48b2c0eb57ad7cda768fb960ad83d34a686f1163d4259c9ee7cdeda43d76f48c7ce430d3d10e4909755f3dce311719ffd8475e3356138702556
new file mode 100644
index 00000000..058c865b
--- /dev/null
+++ b/.pnpm-store/v3/files/18/b69c72c2dff48b2c0eb57ad7cda768fb960ad83d34a686f1163d4259c9ee7cdeda43d76f48c7ce430d3d10e4909755f3dce311719ffd8475e3356138702556
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"SC","4":"A B","8":"J D E F"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","4":"C K L G"},C:{"4":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","8":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","4":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB"},E:{"4":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","8":"XC DC"},F:{"1":"F B C dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","4":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB"},G:{"2":"DC","4":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC","4":"ED FD"},J:{"2":"D","4":"A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"4":"1B"},N:{"4":"A B"},O:{"1":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","4":"I GD HD ID"},Q:{"1":"FC"},R:{"1":"SD"},S:{"4":"TD UD"}},B:1,C:"HTML5 form features",D:false};
diff --git a/.pnpm-store/v3/files/18/bf2fe1851168c45289f65cfbb7bd12f718bd7e307d1543dce6c901fe4e16ab81670bbefe3fc3054a667f43c302093839d16d00995b945ffe02b70629879369 b/.pnpm-store/v3/files/18/bf2fe1851168c45289f65cfbb7bd12f718bd7e307d1543dce6c901fe4e16ab81670bbefe3fc3054a667f43c302093839d16d00995b945ffe02b70629879369
new file mode 100644
index 00000000..e5ff9cab
--- /dev/null
+++ b/.pnpm-store/v3/files/18/bf2fe1851168c45289f65cfbb7bd12f718bd7e307d1543dce6c901fe4e16ab81670bbefe3fc3054a667f43c302093839d16d00995b945ffe02b70629879369
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L","260":"G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r VC WC","33":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},D:{"1":"0 1 2 3 4 5 6 7 8 hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s","33":"t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC"},F:{"1":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N iC jC kC lC 2B QC mC 3B","33":"O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D","130":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"33":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"WebRTC Peer-to-peer connections",D:true};
diff --git a/.pnpm-store/v3/files/19/0d45b321c717bbc2c454350d67efc2402b386f957cbc0e1f24f300addf13ddaf0585004233a6ad642655954286e91a7b96d44e09f42099b61937b3f782a499 b/.pnpm-store/v3/files/19/0d45b321c717bbc2c454350d67efc2402b386f957cbc0e1f24f300addf13ddaf0585004233a6ad642655954286e91a7b96d44e09f42099b61937b3f782a499
new file mode 100644
index 00000000..df92b911
--- /dev/null
+++ b/.pnpm-store/v3/files/19/0d45b321c717bbc2c454350d67efc2402b386f957cbc0e1f24f300addf13ddaf0585004233a6ad642655954286e91a7b96d44e09f42099b61937b3f782a499
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","129":"9 YC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:6,C:"JPEG 2000 image format",D:true};
diff --git a/.pnpm-store/v3/files/19/13a255ff3741c24ee88e7fa227000bb6add5eb989db3ce9cef245e956e0f6ef6271ba01a914f6359ebb6743fbe39e99babdf76509061f62d6634967efbc95d b/.pnpm-store/v3/files/19/13a255ff3741c24ee88e7fa227000bb6add5eb989db3ce9cef245e956e0f6ef6271ba01a914f6359ebb6743fbe39e99babdf76509061f62d6634967efbc95d
new file mode 100644
index 00000000..755c9858
--- /dev/null
+++ b/.pnpm-store/v3/files/19/13a255ff3741c24ee88e7fa227000bb6add5eb989db3ce9cef245e956e0f6ef6271ba01a914f6359ebb6743fbe39e99babdf76509061f62d6634967efbc95d
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB VC WC","194":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p lC 2B QC mC 3B","2":"F iC jC","16":"kC"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Channel messaging",D:true};
diff --git a/.pnpm-store/v3/files/19/643c520f68ef779c9bf1fd9aec60476e234c8a8d3855487f99d774134bac67f637939ed6b0b9036645b64144dfbb976a000f90b437c5382f9af5504ef3673d b/.pnpm-store/v3/files/19/643c520f68ef779c9bf1fd9aec60476e234c8a8d3855487f99d774134bac67f637939ed6b0b9036645b64144dfbb976a000f90b437c5382f9af5504ef3673d
new file mode 100644
index 00000000..7d598d98
--- /dev/null
+++ b/.pnpm-store/v3/files/19/643c520f68ef779c9bf1fd9aec60476e234c8a8d3855487f99d774134bac67f637939ed6b0b9036645b64144dfbb976a000f90b437c5382f9af5504ef3673d
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 i j k l m n o p v w x y z H","2":"C K L G M N O","164":"P Q R S T U V W X Y Z a b c d e f g h"},C:{"1":"0 1 2 3 4 5 6 7 8 XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB VC WC","322":"WB"},D:{"1":"0 1 2 3 4 5 6 7 8 i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB","164":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h"},E:{"1":"E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC","164":"D ZC"},F:{"1":"V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","164":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC","164":"ED FD"},J:{"2":"D","164":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t QD RD","164":"I GD HD ID JD KD EC LD MD ND OD PD 5B 6B"},Q:{"164":"FC"},R:{"164":"SD"},S:{"1":"TD UD"}},B:4,C:"text-emphasis styling",D:true};
diff --git a/.pnpm-store/v3/files/19/d718e1e8868db66ed370c98d2e670b4949c65417d52afaecc5ef9ec134dbb37633a406e858f87e966d2d235655901fbedb46d7da6d7d0a35cc015c0d14664a b/.pnpm-store/v3/files/19/d718e1e8868db66ed370c98d2e670b4949c65417d52afaecc5ef9ec134dbb37633a406e858f87e966d2d235655901fbedb46d7da6d7d0a35cc015c0d14664a
new file mode 100644
index 00000000..f5cfb0f4
--- /dev/null
+++ b/.pnpm-store/v3/files/19/d718e1e8868db66ed370c98d2e670b4949c65417d52afaecc5ef9ec134dbb37633a406e858f87e966d2d235655901fbedb46d7da6d7d0a35cc015c0d14664a
@@ -0,0 +1,15 @@
+# Installation
+> `npm install --save @types/semver`
+
+# Summary
+This package contains type definitions for semver (https://github.com/npm/node-semver).
+
+# Details
+Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/semver.
+
+### Additional Details
+ * Last updated: Sun, 11 Feb 2024 14:35:16 GMT
+ * Dependencies: none
+
+# Credits
+These definitions were written by [Bart van der Schoor](https://github.com/Bartvds), [BendingBender](https://github.com/BendingBender), [Lucian Buzzo](https://github.com/LucianBuzzo), [Klaus Meinhardt](https://github.com/ajafff), [ExE Boss](https://github.com/ExE-Boss), and [Piotr Błażejewicz](https://github.com/peterblazejewicz).
diff --git a/.pnpm-store/v3/files/1a/9c401b5810c5c029553353047c1f494d9cc5d27ba07c8ad0ff3e0e156db1e2df940026014930fed8226d4af369930e84e318d3c18252b354c2c86fab9c2e1c b/.pnpm-store/v3/files/1a/9c401b5810c5c029553353047c1f494d9cc5d27ba07c8ad0ff3e0e156db1e2df940026014930fed8226d4af369930e84e318d3c18252b354c2c86fab9c2e1c
new file mode 100644
index 00000000..0f3489ec
--- /dev/null
+++ b/.pnpm-store/v3/files/1a/9c401b5810c5c029553353047c1f494d9cc5d27ba07c8ad0ff3e0e156db1e2df940026014930fed8226d4af369930e84e318d3c18252b354c2c86fab9c2e1c
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","260":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","132":"B","260":"9 TC 7B I J D VC WC","516":"E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","132":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB"},E:{"1":"E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","132":"9 I J D XC DC YC ZC"},F:{"1":"O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","16":"F iC","132":"B C G M N jC kC lC 2B QC mC 3B"},G:{"1":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","132":"DC nC RC oC pC qC"},H:{"132":"9C"},I:{"1":"H ED FD","132":"7B I AD BD CD DD RC"},J:{"132":"D A"},K:{"1":"u","16":"A","132":"B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"DOM Parsing and Serialization",D:true};
diff --git a/.pnpm-store/v3/files/1a/c61b480ea2298141356d0e9ba10d90e1dab22d163d890e6cd5e1364b5cbc619d0ff9f9f5823b4ac7181587fd0b5ceb23e463bbf2ac4fd93fa8c684258bf617 b/.pnpm-store/v3/files/1a/c61b480ea2298141356d0e9ba10d90e1dab22d163d890e6cd5e1364b5cbc619d0ff9f9f5823b4ac7181587fd0b5ceb23e463bbf2ac4fd93fa8c684258bf617
new file mode 100644
index 00000000..33901f06
--- /dev/null
+++ b/.pnpm-store/v3/files/1a/c61b480ea2298141356d0e9ba10d90e1dab22d163d890e6cd5e1364b5cbc619d0ff9f9f5823b4ac7181587fd0b5ceb23e463bbf2ac4fd93fa8c684258bf617
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F SC","132":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","129":"9 I J D E F A B C K L G M N O AB q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K","257":"L G M N O AB q r s t BB"},E:{"1":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC","257":"J ZC","260":"YC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC","257":"pC","260":"oC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"2":"D","257":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"132":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"Content Security Policy 1.0",D:true};
diff --git a/.pnpm-store/v3/files/1a/fe05fe2ae1913c37705665b583e3a165282e9c2d3ea06f1eafb974ea07d66896f96283b519ffeb644569c48f6e003008e8ec597603fb62ee812691eb6f8518 b/.pnpm-store/v3/files/1a/fe05fe2ae1913c37705665b583e3a165282e9c2d3ea06f1eafb974ea07d66896f96283b519ffeb644569c48f6e003008e8ec597603fb62ee812691eb6f8518
new file mode 100644
index 00000000..2335018c
--- /dev/null
+++ b/.pnpm-store/v3/files/1a/fe05fe2ae1913c37705665b583e3a165282e9c2d3ea06f1eafb974ea07d66896f96283b519ffeb644569c48f6e003008e8ec597603fb62ee812691eb6f8518
@@ -0,0 +1,43 @@
+export default function _usingCtx() {
+  var r = "function" == typeof SuppressedError ? SuppressedError : function (r, n) {
+      var e = new Error();
+      return e.name = "SuppressedError", e.suppressed = n, e.error = r, e;
+    },
+    n = {},
+    e = [];
+  function using(r, n) {
+    if (null != n) {
+      if (Object(n) !== n) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");
+      if (r) var o = n[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")];
+      if (null == o && (o = n[Symbol.dispose || Symbol["for"]("Symbol.dispose")]), "function" != typeof o) throw new TypeError("Property [Symbol.dispose] is not a function.");
+      e.push({
+        v: n,
+        d: o,
+        a: r
+      });
+    }
+    return n;
+  }
+  return {
+    e: n,
+    u: using.bind(null, !1),
+    a: using.bind(null, !0),
+    d: function d() {
+      var o = this.e;
+      function next() {
+        for (; r = e.pop();) try {
+          var r,
+            t = r.d.call(r.v);
+          if (r.a) return Promise.resolve(t).then(next, err);
+        } catch (r) {
+          return err(r);
+        }
+        if (o !== n) throw o;
+      }
+      function err(e) {
+        return o = o !== n ? new r(o, e) : e, next();
+      }
+      return next();
+    }
+  };
+}
\ No newline at end of file
diff --git a/.pnpm-store/v3/files/1b/4f3f96081052365f6f8852614ebdfcb205148bb82644fede155fde0ab94dfadc93bd1e622639104022775911cac2d7b055b8e9fbfe8fbaf33b0512563b2c50 b/.pnpm-store/v3/files/1b/4f3f96081052365f6f8852614ebdfcb205148bb82644fede155fde0ab94dfadc93bd1e622639104022775911cac2d7b055b8e9fbfe8fbaf33b0512563b2c50
new file mode 100644
index 00000000..dd1fc592
--- /dev/null
+++ b/.pnpm-store/v3/files/1b/4f3f96081052365f6f8852614ebdfcb205148bb82644fede155fde0ab94dfadc93bd1e622639104022775911cac2d7b055b8e9fbfe8fbaf33b0512563b2c50
@@ -0,0 +1,20135 @@
+/*
+  @license
+	Rollup.js v4.11.0
+	Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99
+
+	https://github.com/rollup/rollup
+
+	Released under the MIT License.
+*/
+'use strict';
+
+const parseAst_js = require('./parseAst.js');
+const process$1 = require('node:process');
+const tty = require('tty');
+const node_path = require('node:path');
+const require$$0$1 = require('path');
+const node_perf_hooks = require('node:perf_hooks');
+const native_js = require('../native.js');
+const promises = require('node:fs/promises');
+
+function _interopNamespaceDefault(e) {
+  const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
+  if (e) {
+    for (const k in e) {
+      n[k] = e[k];
+    }
+  }
+  n.default = e;
+  return n;
+}
+
+const tty__namespace = /*#__PURE__*/_interopNamespaceDefault(tty);
+
+var version = "4.11.0";
+
+function ensureArray$1(items) {
+    if (Array.isArray(items)) {
+        return items.filter(Boolean);
+    }
+    if (items) {
+        return [items];
+    }
+    return [];
+}
+
+var BuildPhase;
+(function (BuildPhase) {
+    BuildPhase[BuildPhase["LOAD_AND_PARSE"] = 0] = "LOAD_AND_PARSE";
+    BuildPhase[BuildPhase["ANALYSE"] = 1] = "ANALYSE";
+    BuildPhase[BuildPhase["GENERATE"] = 2] = "GENERATE";
+})(BuildPhase || (BuildPhase = {}));
+
+let textEncoder;
+const getHash64 = input => native_js.xxhashBase64Url(ensureBuffer(input));
+const getHash36 = input => native_js.xxhashBase36(ensureBuffer(input));
+const getHash16 = input => native_js.xxhashBase16(ensureBuffer(input));
+const hasherByType = {
+    base36: getHash36,
+    base64: getHash64,
+    hex: getHash16
+};
+function ensureBuffer(input) {
+    if (typeof input === 'string') {
+        if (typeof Buffer === 'undefined') {
+            textEncoder ??= new TextEncoder();
+            return textEncoder.encode(input);
+        }
+        return Buffer.from(input);
+    }
+    return input;
+}
+
+function getOrCreate(map, key, init) {
+    const existing = map.get(key);
+    if (existing !== undefined) {
+        return existing;
+    }
+    const value = init();
+    map.set(key, value);
+    return value;
+}
+function getNewSet() {
+    return new Set();
+}
+function getNewArray() {
+    return [];
+}
+
+const chars$1 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$';
+const base = 64;
+function toBase64(value) {
+    let outString = '';
+    do {
+        const currentDigit = value % base;
+        value = (value / base) | 0;
+        outString = chars$1[currentDigit] + outString;
+    } while (value !== 0);
+    return outString;
+}
+
+// Four random characters from the private use area to minimize risk of
+// conflicts
+const hashPlaceholderLeft = '!~{';
+const hashPlaceholderRight = '}~';
+const hashPlaceholderOverhead = hashPlaceholderLeft.length + hashPlaceholderRight.length;
+// This is the size of a 128-bits xxhash with base64url encoding
+const MAX_HASH_SIZE = 22;
+const DEFAULT_HASH_SIZE = 8;
+const getHashPlaceholderGenerator = () => {
+    let nextIndex = 0;
+    return (optionName, hashSize) => {
+        if (hashSize > MAX_HASH_SIZE) {
+            return parseAst_js.error(parseAst_js.logFailedValidation(`Hashes cannot be longer than ${MAX_HASH_SIZE} characters, received ${hashSize}. Check the "${optionName}" option.`));
+        }
+        const placeholder = `${hashPlaceholderLeft}${toBase64(++nextIndex).padStart(hashSize - hashPlaceholderOverhead, '0')}${hashPlaceholderRight}`;
+        if (placeholder.length > hashSize) {
+            return parseAst_js.error(parseAst_js.logFailedValidation(`To generate hashes for this number of chunks (currently ${nextIndex}), you need a minimum hash size of ${placeholder.length}, received ${hashSize}. Check the "${optionName}" option.`));
+        }
+        return placeholder;
+    };
+};
+const REPLACER_REGEX = new RegExp(`${hashPlaceholderLeft}[0-9a-zA-Z_$]{1,${MAX_HASH_SIZE - hashPlaceholderOverhead}}${hashPlaceholderRight}`, 'g');
+const replacePlaceholders = (code, hashesByPlaceholder) => code.replace(REPLACER_REGEX, placeholder => hashesByPlaceholder.get(placeholder) || placeholder);
+const replaceSinglePlaceholder = (code, placeholder, value) => code.replace(REPLACER_REGEX, match => (match === placeholder ? value : match));
+const replacePlaceholdersWithDefaultAndGetContainedPlaceholders = (code, placeholders) => {
+    const containedPlaceholders = new Set();
+    const transformedCode = code.replace(REPLACER_REGEX, placeholder => {
+        if (placeholders.has(placeholder)) {
+            containedPlaceholders.add(placeholder);
+            return `${hashPlaceholderLeft}${'0'.repeat(placeholder.length - hashPlaceholderOverhead)}${hashPlaceholderRight}`;
+        }
+        return placeholder;
+    });
+    return { containedPlaceholders, transformedCode };
+};
+
+const lowercaseBundleKeys = Symbol('bundleKeys');
+const FILE_PLACEHOLDER = {
+    type: 'placeholder'
+};
+const getOutputBundle = (outputBundleBase) => {
+    const reservedLowercaseBundleKeys = new Set();
+    return new Proxy(outputBundleBase, {
+        deleteProperty(target, key) {
+            if (typeof key === 'string') {
+                reservedLowercaseBundleKeys.delete(key.toLowerCase());
+            }
+            return Reflect.deleteProperty(target, key);
+        },
+        get(target, key) {
+            if (key === lowercaseBundleKeys) {
+                return reservedLowercaseBundleKeys;
+            }
+            return Reflect.get(target, key);
+        },
+        set(target, key, value) {
+            if (typeof key === 'string') {
+                reservedLowercaseBundleKeys.add(key.toLowerCase());
+            }
+            return Reflect.set(target, key, value);
+        }
+    });
+};
+const removeUnreferencedAssets = (outputBundle) => {
+    const unreferencedAssets = new Set();
+    const bundleEntries = Object.values(outputBundle);
+    for (const asset of bundleEntries) {
+        asset.type === 'asset' && asset.needsCodeReference && unreferencedAssets.add(asset.fileName);
+    }
+    for (const chunk of bundleEntries) {
+        if (chunk.type === 'chunk') {
+            for (const referencedFile of chunk.referencedFiles) {
+                unreferencedAssets.has(referencedFile) && unreferencedAssets.delete(referencedFile);
+            }
+        }
+    }
+    for (const file of unreferencedAssets) {
+        delete outputBundle[file];
+    }
+};
+
+function renderNamePattern(pattern, patternName, replacements) {
+    if (parseAst_js.isPathFragment(pattern))
+        return parseAst_js.error(parseAst_js.logFailedValidation(`Invalid pattern "${pattern}" for "${patternName}", patterns can be neither absolute nor relative paths. If you want your files to be stored in a subdirectory, write its name without a leading slash like this: subdirectory/pattern.`));
+    return pattern.replace(/\[(\w+)(:\d+)?]/g, (_match, type, size) => {
+        if (!replacements.hasOwnProperty(type) || (size && type !== 'hash')) {
+            return parseAst_js.error(parseAst_js.logFailedValidation(`"[${type}${size || ''}]" is not a valid placeholder in the "${patternName}" pattern.`));
+        }
+        const replacement = replacements[type](size && Number.parseInt(size.slice(1)));
+        if (parseAst_js.isPathFragment(replacement))
+            return parseAst_js.error(parseAst_js.logFailedValidation(`Invalid substitution "${replacement}" for placeholder "[${type}]" in "${patternName}" pattern, can be neither absolute nor relative path.`));
+        return replacement;
+    });
+}
+function makeUnique(name, { [lowercaseBundleKeys]: reservedLowercaseBundleKeys }) {
+    if (!reservedLowercaseBundleKeys.has(name.toLowerCase()))
+        return name;
+    const extension = node_path.extname(name);
+    name = name.slice(0, Math.max(0, name.length - extension.length));
+    let uniqueName, uniqueIndex = 1;
+    while (reservedLowercaseBundleKeys.has((uniqueName = name + ++uniqueIndex + extension).toLowerCase()))
+        ;
+    return uniqueName;
+}
+
+function generateAssetFileName(name, source, sourceHash, outputOptions, bundle) {
+    const emittedName = outputOptions.sanitizeFileName(name || 'asset');
+    return makeUnique(renderNamePattern(typeof outputOptions.assetFileNames === 'function'
+        ? outputOptions.assetFileNames({ name, source, type: 'asset' })
+        : outputOptions.assetFileNames, 'output.assetFileNames', {
+        ext: () => node_path.extname(emittedName).slice(1),
+        extname: () => node_path.extname(emittedName),
+        hash: size => sourceHash.slice(0, Math.max(0, size || DEFAULT_HASH_SIZE)),
+        name: () => emittedName.slice(0, Math.max(0, emittedName.length - node_path.extname(emittedName).length))
+    }), bundle);
+}
+function reserveFileNameInBundle(fileName, { bundle }, log) {
+    if (bundle[lowercaseBundleKeys].has(fileName.toLowerCase())) {
+        log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logFileNameConflict(fileName));
+    }
+    else {
+        bundle[fileName] = FILE_PLACEHOLDER;
+    }
+}
+const emittedFileTypes = new Set(['chunk', 'asset', 'prebuilt-chunk']);
+function hasValidType(emittedFile) {
+    return Boolean(emittedFile &&
+        emittedFileTypes.has(emittedFile.type));
+}
+function hasValidName(emittedFile) {
+    const validatedName = emittedFile.fileName || emittedFile.name;
+    return !validatedName || (typeof validatedName === 'string' && !parseAst_js.isPathFragment(validatedName));
+}
+function getValidSource(source, emittedFile, fileReferenceId) {
+    if (!(typeof source === 'string' || source instanceof Uint8Array)) {
+        const assetName = emittedFile.fileName || emittedFile.name || fileReferenceId;
+        return parseAst_js.error(parseAst_js.logFailedValidation(`Could not set source for ${typeof assetName === 'string' ? `asset "${assetName}"` : 'unnamed asset'}, asset source needs to be a string, Uint8Array or Buffer.`));
+    }
+    return source;
+}
+function getAssetFileName(file, referenceId) {
+    if (typeof file.fileName !== 'string') {
+        return parseAst_js.error(parseAst_js.logAssetNotFinalisedForFileName(file.name || referenceId));
+    }
+    return file.fileName;
+}
+function getChunkFileName(file, facadeChunkByModule) {
+    if (file.fileName) {
+        return file.fileName;
+    }
+    if (facadeChunkByModule) {
+        return facadeChunkByModule.get(file.module).getFileName();
+    }
+    return parseAst_js.error(parseAst_js.logChunkNotGeneratedForFileName(file.fileName || file.name));
+}
+class FileEmitter {
+    constructor(graph, options, baseFileEmitter) {
+        this.graph = graph;
+        this.options = options;
+        this.facadeChunkByModule = null;
+        this.nextIdBase = 1;
+        this.output = null;
+        this.outputFileEmitters = [];
+        this.emitFile = (emittedFile) => {
+            if (!hasValidType(emittedFile)) {
+                return parseAst_js.error(parseAst_js.logFailedValidation(`Emitted files must be of type "asset", "chunk" or "prebuilt-chunk", received "${emittedFile && emittedFile.type}".`));
+            }
+            if (emittedFile.type === 'prebuilt-chunk') {
+                return this.emitPrebuiltChunk(emittedFile);
+            }
+            if (!hasValidName(emittedFile)) {
+                return parseAst_js.error(parseAst_js.logFailedValidation(`The "fileName" or "name" properties of emitted chunks and assets must be strings that are neither absolute nor relative paths, received "${emittedFile.fileName || emittedFile.name}".`));
+            }
+            if (emittedFile.type === 'chunk') {
+                return this.emitChunk(emittedFile);
+            }
+            return this.emitAsset(emittedFile);
+        };
+        this.finaliseAssets = () => {
+            for (const [referenceId, emittedFile] of this.filesByReferenceId) {
+                if (emittedFile.type === 'asset' && typeof emittedFile.fileName !== 'string')
+                    return parseAst_js.error(parseAst_js.logNoAssetSourceSet(emittedFile.name || referenceId));
+            }
+        };
+        this.getFileName = (fileReferenceId) => {
+            const emittedFile = this.filesByReferenceId.get(fileReferenceId);
+            if (!emittedFile)
+                return parseAst_js.error(parseAst_js.logFileReferenceIdNotFoundForFilename(fileReferenceId));
+            if (emittedFile.type === 'chunk') {
+                return getChunkFileName(emittedFile, this.facadeChunkByModule);
+            }
+            if (emittedFile.type === 'prebuilt-chunk') {
+                return emittedFile.fileName;
+            }
+            return getAssetFileName(emittedFile, fileReferenceId);
+        };
+        this.setAssetSource = (referenceId, requestedSource) => {
+            const consumedFile = this.filesByReferenceId.get(referenceId);
+            if (!consumedFile)
+                return parseAst_js.error(parseAst_js.logAssetReferenceIdNotFoundForSetSource(referenceId));
+            if (consumedFile.type !== 'asset') {
+                return parseAst_js.error(parseAst_js.logFailedValidation(`Asset sources can only be set for emitted assets but "${referenceId}" is an emitted chunk.`));
+            }
+            if (consumedFile.source !== undefined) {
+                return parseAst_js.error(parseAst_js.logAssetSourceAlreadySet(consumedFile.name || referenceId));
+            }
+            const source = getValidSource(requestedSource, consumedFile, referenceId);
+            if (this.output) {
+                this.finalizeAdditionalAsset(consumedFile, source, this.output);
+            }
+            else {
+                consumedFile.source = source;
+                for (const emitter of this.outputFileEmitters) {
+                    emitter.finalizeAdditionalAsset(consumedFile, source, emitter.output);
+                }
+            }
+        };
+        this.setChunkInformation = (facadeChunkByModule) => {
+            this.facadeChunkByModule = facadeChunkByModule;
+        };
+        this.setOutputBundle = (bundle, outputOptions) => {
+            const getHash = hasherByType[outputOptions.hashCharacters];
+            const output = (this.output = {
+                bundle,
+                fileNamesBySource: new Map(),
+                getHash,
+                outputOptions
+            });
+            for (const emittedFile of this.filesByReferenceId.values()) {
+                if (emittedFile.fileName) {
+                    reserveFileNameInBundle(emittedFile.fileName, output, this.options.onLog);
+                }
+            }
+            const consumedAssetsByHash = new Map();
+            for (const consumedFile of this.filesByReferenceId.values()) {
+                if (consumedFile.type === 'asset' && consumedFile.source !== undefined) {
+                    if (consumedFile.fileName) {
+                        this.finalizeAdditionalAsset(consumedFile, consumedFile.source, output);
+                    }
+                    else {
+                        const sourceHash = getHash(consumedFile.source);
+                        getOrCreate(consumedAssetsByHash, sourceHash, () => []).push(consumedFile);
+                    }
+                }
+                else if (consumedFile.type === 'prebuilt-chunk') {
+                    this.output.bundle[consumedFile.fileName] = this.createPrebuiltChunk(consumedFile);
+                }
+            }
+            for (const [sourceHash, consumedFiles] of consumedAssetsByHash) {
+                this.finalizeAssetsWithSameSource(consumedFiles, sourceHash, output);
+            }
+        };
+        this.filesByReferenceId = baseFileEmitter
+            ? new Map(baseFileEmitter.filesByReferenceId)
+            : new Map();
+        baseFileEmitter?.addOutputFileEmitter(this);
+    }
+    addOutputFileEmitter(outputFileEmitter) {
+        this.outputFileEmitters.push(outputFileEmitter);
+    }
+    assignReferenceId(file, idBase) {
+        let referenceId = idBase;
+        do {
+            referenceId = getHash64(referenceId).slice(0, 8).replaceAll('-', '$');
+        } while (this.filesByReferenceId.has(referenceId) ||
+            this.outputFileEmitters.some(({ filesByReferenceId }) => filesByReferenceId.has(referenceId)));
+        file.referenceId = referenceId;
+        this.filesByReferenceId.set(referenceId, file);
+        for (const { filesByReferenceId } of this.outputFileEmitters) {
+            filesByReferenceId.set(referenceId, file);
+        }
+        return referenceId;
+    }
+    createPrebuiltChunk(prebuiltChunk) {
+        return {
+            code: prebuiltChunk.code,
+            dynamicImports: [],
+            exports: prebuiltChunk.exports || [],
+            facadeModuleId: null,
+            fileName: prebuiltChunk.fileName,
+            implicitlyLoadedBefore: [],
+            importedBindings: {},
+            imports: [],
+            isDynamicEntry: false,
+            isEntry: false,
+            isImplicitEntry: false,
+            map: prebuiltChunk.map || null,
+            moduleIds: [],
+            modules: {},
+            name: prebuiltChunk.fileName,
+            preliminaryFileName: prebuiltChunk.fileName,
+            referencedFiles: [],
+            sourcemapFileName: prebuiltChunk.sourcemapFileName || null,
+            type: 'chunk'
+        };
+    }
+    emitAsset(emittedAsset) {
+        const source = emittedAsset.source === undefined
+            ? undefined
+            : getValidSource(emittedAsset.source, emittedAsset, null);
+        const consumedAsset = {
+            fileName: emittedAsset.fileName,
+            name: emittedAsset.name,
+            needsCodeReference: !!emittedAsset.needsCodeReference,
+            referenceId: '',
+            source,
+            type: 'asset'
+        };
+        const referenceId = this.assignReferenceId(consumedAsset, emittedAsset.fileName || emittedAsset.name || String(this.nextIdBase++));
+        if (this.output) {
+            this.emitAssetWithReferenceId(consumedAsset, this.output);
+        }
+        else {
+            for (const fileEmitter of this.outputFileEmitters) {
+                fileEmitter.emitAssetWithReferenceId(consumedAsset, fileEmitter.output);
+            }
+        }
+        return referenceId;
+    }
+    emitAssetWithReferenceId(consumedAsset, output) {
+        const { fileName, source } = consumedAsset;
+        if (fileName) {
+            reserveFileNameInBundle(fileName, output, this.options.onLog);
+        }
+        if (source !== undefined) {
+            this.finalizeAdditionalAsset(consumedAsset, source, output);
+        }
+    }
+    emitChunk(emittedChunk) {
+        if (this.graph.phase > BuildPhase.LOAD_AND_PARSE) {
+            return parseAst_js.error(parseAst_js.logInvalidRollupPhaseForChunkEmission());
+        }
+        if (typeof emittedChunk.id !== 'string') {
+            return parseAst_js.error(parseAst_js.logFailedValidation(`Emitted chunks need to have a valid string id, received "${emittedChunk.id}"`));
+        }
+        const consumedChunk = {
+            fileName: emittedChunk.fileName,
+            module: null,
+            name: emittedChunk.name || emittedChunk.id,
+            referenceId: '',
+            type: 'chunk'
+        };
+        this.graph.moduleLoader
+            .emitChunk(emittedChunk)
+            .then(module => (consumedChunk.module = module))
+            .catch(() => {
+            // Avoid unhandled Promise rejection as the error will be thrown later
+            // once module loading has finished
+        });
+        return this.assignReferenceId(consumedChunk, emittedChunk.id);
+    }
+    emitPrebuiltChunk(emitPrebuiltChunk) {
+        if (typeof emitPrebuiltChunk.code !== 'string') {
+            return parseAst_js.error(parseAst_js.logFailedValidation(`Emitted prebuilt chunks need to have a valid string code, received "${emitPrebuiltChunk.code}".`));
+        }
+        if (typeof emitPrebuiltChunk.fileName !== 'string' ||
+            parseAst_js.isPathFragment(emitPrebuiltChunk.fileName)) {
+            return parseAst_js.error(parseAst_js.logFailedValidation(`The "fileName" property of emitted prebuilt chunks must be strings that are neither absolute nor relative paths, received "${emitPrebuiltChunk.fileName}".`));
+        }
+        const consumedPrebuiltChunk = {
+            code: emitPrebuiltChunk.code,
+            exports: emitPrebuiltChunk.exports,
+            fileName: emitPrebuiltChunk.fileName,
+            map: emitPrebuiltChunk.map,
+            referenceId: '',
+            type: 'prebuilt-chunk'
+        };
+        const referenceId = this.assignReferenceId(consumedPrebuiltChunk, consumedPrebuiltChunk.fileName);
+        if (this.output) {
+            this.output.bundle[consumedPrebuiltChunk.fileName] =
+                this.createPrebuiltChunk(consumedPrebuiltChunk);
+        }
+        return referenceId;
+    }
+    finalizeAdditionalAsset(consumedFile, source, { bundle, fileNamesBySource, getHash, outputOptions }) {
+        let { fileName, needsCodeReference, referenceId } = consumedFile;
+        // Deduplicate assets if an explicit fileName is not provided
+        if (!fileName) {
+            const sourceHash = getHash(source);
+            fileName = fileNamesBySource.get(sourceHash);
+            if (!fileName) {
+                fileName = generateAssetFileName(consumedFile.name, source, sourceHash, outputOptions, bundle);
+                fileNamesBySource.set(sourceHash, fileName);
+            }
+        }
+        // We must not modify the original assets to avoid interaction between outputs
+        const assetWithFileName = { ...consumedFile, fileName, source };
+        this.filesByReferenceId.set(referenceId, assetWithFileName);
+        const existingAsset = bundle[fileName];
+        if (existingAsset?.type === 'asset') {
+            existingAsset.needsCodeReference &&= needsCodeReference;
+        }
+        else {
+            bundle[fileName] = {
+                fileName,
+                name: consumedFile.name,
+                needsCodeReference,
+                source,
+                type: 'asset'
+            };
+        }
+    }
+    finalizeAssetsWithSameSource(consumedFiles, sourceHash, { bundle, fileNamesBySource, outputOptions }) {
+        let fileName = '';
+        let usedConsumedFile;
+        let needsCodeReference = true;
+        for (const consumedFile of consumedFiles) {
+            needsCodeReference &&= consumedFile.needsCodeReference;
+            const assetFileName = generateAssetFileName(consumedFile.name, consumedFile.source, sourceHash, outputOptions, bundle);
+            if (!fileName ||
+                assetFileName.length < fileName.length ||
+                (assetFileName.length === fileName.length && assetFileName < fileName)) {
+                fileName = assetFileName;
+                usedConsumedFile = consumedFile;
+            }
+        }
+        fileNamesBySource.set(sourceHash, fileName);
+        for (const consumedFile of consumedFiles) {
+            // We must not modify the original assets to avoid interaction between outputs
+            const assetWithFileName = { ...consumedFile, fileName };
+            this.filesByReferenceId.set(consumedFile.referenceId, assetWithFileName);
+        }
+        bundle[fileName] = {
+            fileName,
+            name: usedConsumedFile.name,
+            needsCodeReference,
+            source: usedConsumedFile.source,
+            type: 'asset'
+        };
+    }
+}
+
+const ANONYMOUS_PLUGIN_PREFIX = 'at position ';
+const ANONYMOUS_OUTPUT_PLUGIN_PREFIX = 'at output position ';
+
+function createPluginCache(cache) {
+    return {
+        delete(id) {
+            return delete cache[id];
+        },
+        get(id) {
+            const item = cache[id];
+            if (!item)
+                return;
+            item[0] = 0;
+            return item[1];
+        },
+        has(id) {
+            const item = cache[id];
+            if (!item)
+                return false;
+            item[0] = 0;
+            return true;
+        },
+        set(id, value) {
+            cache[id] = [0, value];
+        }
+    };
+}
+function getTrackedPluginCache(pluginCache, onUse) {
+    return {
+        delete(id) {
+            onUse();
+            return pluginCache.delete(id);
+        },
+        get(id) {
+            onUse();
+            return pluginCache.get(id);
+        },
+        has(id) {
+            onUse();
+            return pluginCache.has(id);
+        },
+        set(id, value) {
+            onUse();
+            return pluginCache.set(id, value);
+        }
+    };
+}
+const NO_CACHE = {
+    delete() {
+        return false;
+    },
+    get() {
+        return undefined;
+    },
+    has() {
+        return false;
+    },
+    set() { }
+};
+function uncacheablePluginError(pluginName) {
+    if (pluginName.startsWith(ANONYMOUS_PLUGIN_PREFIX) ||
+        pluginName.startsWith(ANONYMOUS_OUTPUT_PLUGIN_PREFIX)) {
+        return parseAst_js.error(parseAst_js.logAnonymousPluginCache());
+    }
+    return parseAst_js.error(parseAst_js.logDuplicatePluginName(pluginName));
+}
+function getCacheForUncacheablePlugin(pluginName) {
+    return {
+        delete() {
+            return uncacheablePluginError(pluginName);
+        },
+        get() {
+            return uncacheablePluginError(pluginName);
+        },
+        has() {
+            return uncacheablePluginError(pluginName);
+        },
+        set() {
+            return uncacheablePluginError(pluginName);
+        }
+    };
+}
+
+const BLANK = Object.freeze(Object.create(null));
+const EMPTY_OBJECT = Object.freeze({});
+const EMPTY_ARRAY = Object.freeze([]);
+const EMPTY_SET = Object.freeze(new (class extends Set {
+    add() {
+        throw new Error('Cannot add to empty set');
+    }
+})());
+
+const doNothing = () => { };
+
+async function asyncFlatten(array) {
+    do {
+        array = (await Promise.all(array)).flat(Infinity);
+    } while (array.some((v) => v?.then));
+    return array;
+}
+
+const getOnLog = (config, logLevel, printLog = defaultPrintLog) => {
+    const { onwarn, onLog } = config;
+    const defaultOnLog = getDefaultOnLog(printLog, onwarn);
+    if (onLog) {
+        const minimalPriority = parseAst_js.logLevelPriority[logLevel];
+        return (level, log) => onLog(level, addLogToString(log), (level, handledLog) => {
+            if (level === parseAst_js.LOGLEVEL_ERROR) {
+                return parseAst_js.error(normalizeLog(handledLog));
+            }
+            if (parseAst_js.logLevelPriority[level] >= minimalPriority) {
+                defaultOnLog(level, normalizeLog(handledLog));
+            }
+        });
+    }
+    return defaultOnLog;
+};
+const getDefaultOnLog = (printLog, onwarn) => onwarn
+    ? (level, log) => {
+        if (level === parseAst_js.LOGLEVEL_WARN) {
+            onwarn(addLogToString(log), warning => printLog(parseAst_js.LOGLEVEL_WARN, normalizeLog(warning)));
+        }
+        else {
+            printLog(level, log);
+        }
+    }
+    : printLog;
+const addLogToString = (log) => {
+    Object.defineProperty(log, 'toString', {
+        value: () => getExtendedLogMessage(log),
+        writable: true
+    });
+    return log;
+};
+const normalizeLog = (log) => typeof log === 'string'
+    ? { message: log }
+    : typeof log === 'function'
+        ? normalizeLog(log())
+        : log;
+const getExtendedLogMessage = (log) => {
+    let prefix = '';
+    if (log.plugin) {
+        prefix += `(${log.plugin} plugin) `;
+    }
+    if (log.loc) {
+        prefix += `${parseAst_js.relativeId(log.loc.file)} (${log.loc.line}:${log.loc.column}) `;
+    }
+    return prefix + log.message;
+};
+const defaultPrintLog = (level, log) => {
+    const message = getExtendedLogMessage(log);
+    switch (level) {
+        case parseAst_js.LOGLEVEL_WARN: {
+            return console.warn(message);
+        }
+        case parseAst_js.LOGLEVEL_DEBUG: {
+            return console.debug(message);
+        }
+        default: {
+            return console.info(message);
+        }
+    }
+};
+function warnUnknownOptions(passedOptions, validOptions, optionType, log, ignoredKeys = /$./) {
+    const validOptionSet = new Set(validOptions);
+    const unknownOptions = Object.keys(passedOptions).filter(key => !(validOptionSet.has(key) || ignoredKeys.test(key)));
+    if (unknownOptions.length > 0) {
+        log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logUnknownOption(optionType, unknownOptions, [...validOptionSet].sort()));
+    }
+}
+const treeshakePresets = {
+    recommended: {
+        annotations: true,
+        correctVarValueBeforeDeclaration: false,
+        manualPureFunctions: EMPTY_ARRAY,
+        moduleSideEffects: () => true,
+        propertyReadSideEffects: true,
+        tryCatchDeoptimization: true,
+        unknownGlobalSideEffects: false
+    },
+    safest: {
+        annotations: true,
+        correctVarValueBeforeDeclaration: true,
+        manualPureFunctions: EMPTY_ARRAY,
+        moduleSideEffects: () => true,
+        propertyReadSideEffects: true,
+        tryCatchDeoptimization: true,
+        unknownGlobalSideEffects: true
+    },
+    smallest: {
+        annotations: true,
+        correctVarValueBeforeDeclaration: false,
+        manualPureFunctions: EMPTY_ARRAY,
+        moduleSideEffects: () => false,
+        propertyReadSideEffects: false,
+        tryCatchDeoptimization: false,
+        unknownGlobalSideEffects: false
+    }
+};
+const generatedCodePresets = {
+    es2015: {
+        arrowFunctions: true,
+        constBindings: true,
+        objectShorthand: true,
+        reservedNamesAsProps: true,
+        symbols: true
+    },
+    es5: {
+        arrowFunctions: false,
+        constBindings: false,
+        objectShorthand: false,
+        reservedNamesAsProps: true,
+        symbols: false
+    }
+};
+const objectifyOption = (value) => value && typeof value === 'object' ? value : {};
+const objectifyOptionWithPresets = (presets, optionName, urlSnippet, additionalValues) => (value) => {
+    if (typeof value === 'string') {
+        const preset = presets[value];
+        if (preset) {
+            return preset;
+        }
+        parseAst_js.error(parseAst_js.logInvalidOption(optionName, urlSnippet, `valid values are ${additionalValues}${parseAst_js.printQuotedStringList(Object.keys(presets))}. You can also supply an object for more fine-grained control`, value));
+    }
+    return objectifyOption(value);
+};
+const getOptionWithPreset = (value, presets, optionName, urlSnippet, additionalValues) => {
+    const presetName = value?.preset;
+    if (presetName) {
+        const preset = presets[presetName];
+        if (preset) {
+            return { ...preset, ...value };
+        }
+        else {
+            parseAst_js.error(parseAst_js.logInvalidOption(`${optionName}.preset`, urlSnippet, `valid values are ${parseAst_js.printQuotedStringList(Object.keys(presets))}`, presetName));
+        }
+    }
+    return objectifyOptionWithPresets(presets, optionName, urlSnippet, additionalValues)(value);
+};
+const normalizePluginOption = async (plugins) => (await asyncFlatten([plugins])).filter(Boolean);
+
+function getLogHandler(level, code, logger, pluginName, logLevel) {
+    if (parseAst_js.logLevelPriority[level] < parseAst_js.logLevelPriority[logLevel]) {
+        return doNothing;
+    }
+    return (log, pos) => {
+        if (pos != null) {
+            logger(parseAst_js.LOGLEVEL_WARN, parseAst_js.logInvalidLogPosition(pluginName));
+        }
+        log = normalizeLog(log);
+        if (log.code && !log.pluginCode) {
+            log.pluginCode = log.code;
+        }
+        log.code = code;
+        log.plugin = pluginName;
+        logger(level, log);
+    };
+}
+
+function getPluginContext(plugin, pluginCache, graph, options, fileEmitter, existingPluginNames) {
+    const { logLevel, onLog } = options;
+    let cacheable = true;
+    if (typeof plugin.cacheKey !== 'string') {
+        if (plugin.name.startsWith(ANONYMOUS_PLUGIN_PREFIX) ||
+            plugin.name.startsWith(ANONYMOUS_OUTPUT_PLUGIN_PREFIX) ||
+            existingPluginNames.has(plugin.name)) {
+            cacheable = false;
+        }
+        else {
+            existingPluginNames.add(plugin.name);
+        }
+    }
+    let cacheInstance;
+    if (!pluginCache) {
+        cacheInstance = NO_CACHE;
+    }
+    else if (cacheable) {
+        const cacheKey = plugin.cacheKey || plugin.name;
+        cacheInstance = createPluginCache(pluginCache[cacheKey] || (pluginCache[cacheKey] = Object.create(null)));
+    }
+    else {
+        cacheInstance = getCacheForUncacheablePlugin(plugin.name);
+    }
+    return {
+        addWatchFile(id) {
+            graph.watchFiles[id] = true;
+        },
+        cache: cacheInstance,
+        debug: getLogHandler(parseAst_js.LOGLEVEL_DEBUG, 'PLUGIN_LOG', onLog, plugin.name, logLevel),
+        emitFile: fileEmitter.emitFile.bind(fileEmitter),
+        error(error_) {
+            return parseAst_js.error(parseAst_js.logPluginError(normalizeLog(error_), plugin.name));
+        },
+        getFileName: fileEmitter.getFileName,
+        getModuleIds: () => graph.modulesById.keys(),
+        getModuleInfo: graph.getModuleInfo,
+        getWatchFiles: () => Object.keys(graph.watchFiles),
+        info: getLogHandler(parseAst_js.LOGLEVEL_INFO, 'PLUGIN_LOG', onLog, plugin.name, logLevel),
+        load(resolvedId) {
+            return graph.moduleLoader.preloadModule(resolvedId);
+        },
+        meta: {
+            rollupVersion: version,
+            watchMode: graph.watchMode
+        },
+        parse: parseAst_js.parseAst,
+        resolve(source, importer, { attributes, custom, isEntry, skipSelf } = BLANK) {
+            skipSelf ??= true;
+            return graph.moduleLoader.resolveId(source, importer, custom, isEntry, attributes || EMPTY_OBJECT, skipSelf ? [{ importer, plugin, source }] : null);
+        },
+        setAssetSource: fileEmitter.setAssetSource,
+        warn: getLogHandler(parseAst_js.LOGLEVEL_WARN, 'PLUGIN_WARNING', onLog, plugin.name, logLevel)
+    };
+}
+
+// This will make sure no input hook is omitted
+const inputHookNames = {
+    buildEnd: 1,
+    buildStart: 1,
+    closeBundle: 1,
+    closeWatcher: 1,
+    load: 1,
+    moduleParsed: 1,
+    onLog: 1,
+    options: 1,
+    resolveDynamicImport: 1,
+    resolveId: 1,
+    shouldTransformCachedModule: 1,
+    transform: 1,
+    watchChange: 1
+};
+const inputHooks = Object.keys(inputHookNames);
+class PluginDriver {
+    constructor(graph, options, userPlugins, pluginCache, basePluginDriver) {
+        this.graph = graph;
+        this.options = options;
+        this.pluginCache = pluginCache;
+        this.sortedPlugins = new Map();
+        this.unfulfilledActions = new Set();
+        this.fileEmitter = new FileEmitter(graph, options, basePluginDriver && basePluginDriver.fileEmitter);
+        this.emitFile = this.fileEmitter.emitFile.bind(this.fileEmitter);
+        this.getFileName = this.fileEmitter.getFileName.bind(this.fileEmitter);
+        this.finaliseAssets = this.fileEmitter.finaliseAssets.bind(this.fileEmitter);
+        this.setChunkInformation = this.fileEmitter.setChunkInformation.bind(this.fileEmitter);
+        this.setOutputBundle = this.fileEmitter.setOutputBundle.bind(this.fileEmitter);
+        this.plugins = [...(basePluginDriver ? basePluginDriver.plugins : []), ...userPlugins];
+        const existingPluginNames = new Set();
+        this.pluginContexts = new Map(this.plugins.map(plugin => [
+            plugin,
+            getPluginContext(plugin, pluginCache, graph, options, this.fileEmitter, existingPluginNames)
+        ]));
+        if (basePluginDriver) {
+            for (const plugin of userPlugins) {
+                for (const hook of inputHooks) {
+                    if (hook in plugin) {
+                        options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logInputHookInOutputPlugin(plugin.name, hook));
+                    }
+                }
+            }
+        }
+    }
+    createOutputPluginDriver(plugins) {
+        return new PluginDriver(this.graph, this.options, plugins, this.pluginCache, this);
+    }
+    getUnfulfilledHookActions() {
+        return this.unfulfilledActions;
+    }
+    // chains, first non-null result stops and returns
+    hookFirst(hookName, parameters, replaceContext, skipped) {
+        return this.hookFirstAndGetPlugin(hookName, parameters, replaceContext, skipped).then(result => result && result[0]);
+    }
+    // chains, first non-null result stops and returns result and last plugin
+    async hookFirstAndGetPlugin(hookName, parameters, replaceContext, skipped) {
+        for (const plugin of this.getSortedPlugins(hookName)) {
+            if (skipped?.has(plugin))
+                continue;
+            const result = await this.runHook(hookName, parameters, plugin, replaceContext);
+            if (result != null)
+                return [result, plugin];
+        }
+        return null;
+    }
+    // chains synchronously, first non-null result stops and returns
+    hookFirstSync(hookName, parameters, replaceContext) {
+        for (const plugin of this.getSortedPlugins(hookName)) {
+            const result = this.runHookSync(hookName, parameters, plugin, replaceContext);
+            if (result != null)
+                return result;
+        }
+        return null;
+    }
+    // parallel, ignores returns
+    async hookParallel(hookName, parameters, replaceContext) {
+        const parallelPromises = [];
+        for (const plugin of this.getSortedPlugins(hookName)) {
+            if (plugin[hookName].sequential) {
+                await Promise.all(parallelPromises);
+                parallelPromises.length = 0;
+                await this.runHook(hookName, parameters, plugin, replaceContext);
+            }
+            else {
+                parallelPromises.push(this.runHook(hookName, parameters, plugin, replaceContext));
+            }
+        }
+        await Promise.all(parallelPromises);
+    }
+    // chains, reduces returned value, handling the reduced value as the first hook argument
+    hookReduceArg0(hookName, [argument0, ...rest], reduce, replaceContext) {
+        let promise = Promise.resolve(argument0);
+        for (const plugin of this.getSortedPlugins(hookName)) {
+            promise = promise.then(argument0 => this.runHook(hookName, [argument0, ...rest], plugin, replaceContext).then(result => reduce.call(this.pluginContexts.get(plugin), argument0, result, plugin)));
+        }
+        return promise;
+    }
+    // chains synchronously, reduces returned value, handling the reduced value as the first hook argument
+    hookReduceArg0Sync(hookName, [argument0, ...rest], reduce, replaceContext) {
+        for (const plugin of this.getSortedPlugins(hookName)) {
+            const parameters = [argument0, ...rest];
+            const result = this.runHookSync(hookName, parameters, plugin, replaceContext);
+            argument0 = reduce.call(this.pluginContexts.get(plugin), argument0, result, plugin);
+        }
+        return argument0;
+    }
+    // chains, reduces returned value to type string, handling the reduced value separately. permits hooks as values.
+    async hookReduceValue(hookName, initialValue, parameters, reducer) {
+        const results = [];
+        const parallelResults = [];
+        for (const plugin of this.getSortedPlugins(hookName, validateAddonPluginHandler)) {
+            if (plugin[hookName].sequential) {
+                results.push(...(await Promise.all(parallelResults)));
+                parallelResults.length = 0;
+                results.push(await this.runHook(hookName, parameters, plugin));
+            }
+            else {
+                parallelResults.push(this.runHook(hookName, parameters, plugin));
+            }
+        }
+        results.push(...(await Promise.all(parallelResults)));
+        return results.reduce(reducer, await initialValue);
+    }
+    // chains synchronously, reduces returned value to type T, handling the reduced value separately. permits hooks as values.
+    hookReduceValueSync(hookName, initialValue, parameters, reduce, replaceContext) {
+        let accumulator = initialValue;
+        for (const plugin of this.getSortedPlugins(hookName)) {
+            const result = this.runHookSync(hookName, parameters, plugin, replaceContext);
+            accumulator = reduce.call(this.pluginContexts.get(plugin), accumulator, result, plugin);
+        }
+        return accumulator;
+    }
+    // chains, ignores returns
+    hookSeq(hookName, parameters, replaceContext) {
+        let promise = Promise.resolve();
+        for (const plugin of this.getSortedPlugins(hookName)) {
+            promise = promise.then(() => this.runHook(hookName, parameters, plugin, replaceContext));
+        }
+        return promise.then(noReturn);
+    }
+    getSortedPlugins(hookName, validateHandler) {
+        return getOrCreate(this.sortedPlugins, hookName, () => getSortedValidatedPlugins(hookName, this.plugins, validateHandler));
+    }
+    // Implementation signature
+    runHook(hookName, parameters, plugin, replaceContext) {
+        // We always filter for plugins that support the hook before running it
+        const hook = plugin[hookName];
+        const handler = typeof hook === 'object' ? hook.handler : hook;
+        let context = this.pluginContexts.get(plugin);
+        if (replaceContext) {
+            context = replaceContext(context, plugin);
+        }
+        let action = null;
+        return Promise.resolve()
+            .then(() => {
+            if (typeof handler !== 'function') {
+                return handler;
+            }
+            // eslint-disable-next-line @typescript-eslint/ban-types
+            const hookResult = handler.apply(context, parameters);
+            if (!hookResult?.then) {
+                // short circuit for non-thenables and non-Promises
+                return hookResult;
+            }
+            // Track pending hook actions to properly error out when
+            // unfulfilled promises cause rollup to abruptly and confusingly
+            // exit with a successful 0 return code but without producing any
+            // output, errors or warnings.
+            action = [plugin.name, hookName, parameters];
+            this.unfulfilledActions.add(action);
+            // Although it would be more elegant to just return hookResult here
+            // and put the .then() handler just above the .catch() handler below,
+            // doing so would subtly change the defacto async event dispatch order
+            // which at least one test and some plugins in the wild may depend on.
+            return Promise.resolve(hookResult).then(result => {
+                // action was fulfilled
+                this.unfulfilledActions.delete(action);
+                return result;
+            });
+        })
+            .catch(error_ => {
+            if (action !== null) {
+                // action considered to be fulfilled since error being handled
+                this.unfulfilledActions.delete(action);
+            }
+            return parseAst_js.error(parseAst_js.logPluginError(error_, plugin.name, { hook: hookName }));
+        });
+    }
+    /**
+     * Run a sync plugin hook and return the result.
+     * @param hookName Name of the plugin hook. Must be in `PluginHooks`.
+     * @param args Arguments passed to the plugin hook.
+     * @param plugin The acutal plugin
+     * @param replaceContext When passed, the plugin context can be overridden.
+     */
+    runHookSync(hookName, parameters, plugin, replaceContext) {
+        const hook = plugin[hookName];
+        const handler = typeof hook === 'object' ? hook.handler : hook;
+        let context = this.pluginContexts.get(plugin);
+        if (replaceContext) {
+            context = replaceContext(context, plugin);
+        }
+        try {
+            // eslint-disable-next-line @typescript-eslint/ban-types
+            return handler.apply(context, parameters);
+        }
+        catch (error_) {
+            return parseAst_js.error(parseAst_js.logPluginError(error_, plugin.name, { hook: hookName }));
+        }
+    }
+}
+function getSortedValidatedPlugins(hookName, plugins, validateHandler = validateFunctionPluginHandler) {
+    const pre = [];
+    const normal = [];
+    const post = [];
+    for (const plugin of plugins) {
+        const hook = plugin[hookName];
+        if (hook) {
+            if (typeof hook === 'object') {
+                validateHandler(hook.handler, hookName, plugin);
+                if (hook.order === 'pre') {
+                    pre.push(plugin);
+                    continue;
+                }
+                if (hook.order === 'post') {
+                    post.push(plugin);
+                    continue;
+                }
+            }
+            else {
+                validateHandler(hook, hookName, plugin);
+            }
+            normal.push(plugin);
+        }
+    }
+    return [...pre, ...normal, ...post];
+}
+function validateFunctionPluginHandler(handler, hookName, plugin) {
+    if (typeof handler !== 'function') {
+        parseAst_js.error(parseAst_js.logInvalidFunctionPluginHook(hookName, plugin.name));
+    }
+}
+function validateAddonPluginHandler(handler, hookName, plugin) {
+    if (typeof handler !== 'string' && typeof handler !== 'function') {
+        return parseAst_js.error(parseAst_js.logInvalidAddonPluginHook(hookName, plugin.name));
+    }
+}
+function noReturn() { }
+
+function getLogger(plugins, onLog, watchMode, logLevel) {
+    plugins = getSortedValidatedPlugins('onLog', plugins);
+    const minimalPriority = parseAst_js.logLevelPriority[logLevel];
+    const logger = (level, log, skipped = EMPTY_SET) => {
+        const logPriority = parseAst_js.logLevelPriority[level];
+        if (logPriority < minimalPriority) {
+            return;
+        }
+        for (const plugin of plugins) {
+            if (skipped.has(plugin))
+                continue;
+            const { onLog: pluginOnLog } = plugin;
+            const getLogHandler = (level) => {
+                if (parseAst_js.logLevelPriority[level] < minimalPriority) {
+                    return doNothing;
+                }
+                return log => logger(level, normalizeLog(log), new Set(skipped).add(plugin));
+            };
+            const handler = 'handler' in pluginOnLog ? pluginOnLog.handler : pluginOnLog;
+            if (handler.call({
+                debug: getLogHandler(parseAst_js.LOGLEVEL_DEBUG),
+                error: (log) => parseAst_js.error(normalizeLog(log)),
+                info: getLogHandler(parseAst_js.LOGLEVEL_INFO),
+                meta: { rollupVersion: version, watchMode },
+                warn: getLogHandler(parseAst_js.LOGLEVEL_WARN)
+            }, level, log) === false) {
+                return;
+            }
+        }
+        onLog(level, log);
+    };
+    return logger;
+}
+
+const commandAliases = {
+    c: 'config',
+    d: 'dir',
+    e: 'external',
+    f: 'format',
+    g: 'globals',
+    h: 'help',
+    i: 'input',
+    m: 'sourcemap',
+    n: 'name',
+    o: 'file',
+    p: 'plugin',
+    v: 'version',
+    w: 'watch'
+};
+const EMPTY_COMMAND_OPTIONS = { external: [], globals: undefined };
+async function mergeOptions(config, watchMode, rawCommandOptions = EMPTY_COMMAND_OPTIONS, printLog) {
+    const command = getCommandOptions(rawCommandOptions);
+    const plugins = await normalizePluginOption(config.plugins);
+    const logLevel = config.logLevel || parseAst_js.LOGLEVEL_INFO;
+    const onLog = getOnLog(config, logLevel, printLog);
+    const log = getLogger(plugins, onLog, watchMode, logLevel);
+    const inputOptions = mergeInputOptions(config, command, plugins, log, onLog);
+    if (command.output) {
+        Object.assign(command, command.output);
+    }
+    const outputOptionsArray = ensureArray$1(config.output);
+    if (outputOptionsArray.length === 0)
+        outputOptionsArray.push({});
+    const outputOptions = await Promise.all(outputOptionsArray.map(singleOutputOptions => mergeOutputOptions(singleOutputOptions, command, log)));
+    warnUnknownOptions(command, [
+        ...Object.keys(inputOptions),
+        ...Object.keys(outputOptions[0]).filter(option => option !== 'sourcemapIgnoreList' && option !== 'sourcemapPathTransform'),
+        ...Object.keys(commandAliases),
+        'bundleConfigAsCjs',
+        'config',
+        'configPlugin',
+        'environment',
+        'failAfterWarnings',
+        'filterLogs',
+        'forceExit',
+        'plugin',
+        'silent',
+        'stdin',
+        'waitForBundleInput'
+    ], 'CLI flags', log, /^_$|output$|config/);
+    inputOptions.output = outputOptions;
+    return inputOptions;
+}
+function getCommandOptions(rawCommandOptions) {
+    const external = rawCommandOptions.external && typeof rawCommandOptions.external === 'string'
+        ? rawCommandOptions.external.split(',')
+        : [];
+    return {
+        ...rawCommandOptions,
+        external,
+        globals: typeof rawCommandOptions.globals === 'string'
+            ? rawCommandOptions.globals.split(',').reduce((globals, globalDefinition) => {
+                const [id, variableName] = globalDefinition.split(':');
+                globals[id] = variableName;
+                if (!external.includes(id)) {
+                    external.push(id);
+                }
+                return globals;
+            }, Object.create(null))
+            : undefined
+    };
+}
+function mergeInputOptions(config, overrides, plugins, log, onLog) {
+    const getOption = (name) => overrides[name] ?? config[name];
+    const inputOptions = {
+        cache: config.cache,
+        context: getOption('context'),
+        experimentalCacheExpiry: getOption('experimentalCacheExpiry'),
+        experimentalLogSideEffects: getOption('experimentalLogSideEffects'),
+        external: getExternal(config, overrides),
+        input: getOption('input') || [],
+        logLevel: getOption('logLevel'),
+        makeAbsoluteExternalsRelative: getOption('makeAbsoluteExternalsRelative'),
+        maxParallelFileOps: getOption('maxParallelFileOps'),
+        moduleContext: getOption('moduleContext'),
+        onLog,
+        onwarn: undefined,
+        perf: getOption('perf'),
+        plugins,
+        preserveEntrySignatures: getOption('preserveEntrySignatures'),
+        preserveSymlinks: getOption('preserveSymlinks'),
+        shimMissingExports: getOption('shimMissingExports'),
+        strictDeprecations: getOption('strictDeprecations'),
+        treeshake: getObjectOption(config, overrides, 'treeshake', objectifyOptionWithPresets(treeshakePresets, 'treeshake', parseAst_js.URL_TREESHAKE, 'false, true, ')),
+        watch: getWatch(config, overrides)
+    };
+    warnUnknownOptions(config, Object.keys(inputOptions), 'input options', log, /^output$/);
+    return inputOptions;
+}
+const getExternal = (config, overrides) => {
+    const configExternal = config.external;
+    return typeof configExternal === 'function'
+        ? (source, importer, isResolved) => configExternal(source, importer, isResolved) || overrides.external.includes(source)
+        : [...ensureArray$1(configExternal), ...overrides.external];
+};
+const getObjectOption = (config, overrides, name, objectifyValue = objectifyOption) => {
+    const commandOption = normalizeObjectOptionValue(overrides[name], objectifyValue);
+    const configOption = normalizeObjectOptionValue(config[name], objectifyValue);
+    if (commandOption !== undefined) {
+        return commandOption && { ...configOption, ...commandOption };
+    }
+    return configOption;
+};
+const getWatch = (config, overrides) => config.watch !== false && getObjectOption(config, overrides, 'watch');
+const isWatchEnabled = (optionValue) => {
+    if (Array.isArray(optionValue)) {
+        return optionValue.reduce((result, value) => (typeof value === 'boolean' ? value : result), false);
+    }
+    return optionValue === true;
+};
+const normalizeObjectOptionValue = (optionValue, objectifyValue) => {
+    if (!optionValue) {
+        return optionValue;
+    }
+    if (Array.isArray(optionValue)) {
+        return optionValue.reduce((result, value) => value && result && { ...result, ...objectifyValue(value) }, {});
+    }
+    return objectifyValue(optionValue);
+};
+async function mergeOutputOptions(config, overrides, log) {
+    const getOption = (name) => overrides[name] ?? config[name];
+    const outputOptions = {
+        amd: getObjectOption(config, overrides, 'amd'),
+        assetFileNames: getOption('assetFileNames'),
+        banner: getOption('banner'),
+        chunkFileNames: getOption('chunkFileNames'),
+        compact: getOption('compact'),
+        dir: getOption('dir'),
+        dynamicImportInCjs: getOption('dynamicImportInCjs'),
+        entryFileNames: getOption('entryFileNames'),
+        esModule: getOption('esModule'),
+        experimentalMinChunkSize: getOption('experimentalMinChunkSize'),
+        exports: getOption('exports'),
+        extend: getOption('extend'),
+        externalImportAssertions: getOption('externalImportAssertions'),
+        externalImportAttributes: getOption('externalImportAttributes'),
+        externalLiveBindings: getOption('externalLiveBindings'),
+        file: getOption('file'),
+        footer: getOption('footer'),
+        format: getOption('format'),
+        freeze: getOption('freeze'),
+        generatedCode: getObjectOption(config, overrides, 'generatedCode', objectifyOptionWithPresets(generatedCodePresets, 'output.generatedCode', parseAst_js.URL_OUTPUT_GENERATEDCODE, '')),
+        globals: getOption('globals'),
+        hashCharacters: getOption('hashCharacters'),
+        hoistTransitiveImports: getOption('hoistTransitiveImports'),
+        indent: getOption('indent'),
+        inlineDynamicImports: getOption('inlineDynamicImports'),
+        interop: getOption('interop'),
+        intro: getOption('intro'),
+        manualChunks: getOption('manualChunks'),
+        minifyInternalExports: getOption('minifyInternalExports'),
+        name: getOption('name'),
+        noConflict: getOption('noConflict'),
+        outro: getOption('outro'),
+        paths: getOption('paths'),
+        plugins: await normalizePluginOption(config.plugins),
+        preserveModules: getOption('preserveModules'),
+        preserveModulesRoot: getOption('preserveModulesRoot'),
+        reexportProtoFromExternal: getOption('reexportProtoFromExternal'),
+        sanitizeFileName: getOption('sanitizeFileName'),
+        sourcemap: getOption('sourcemap'),
+        sourcemapBaseUrl: getOption('sourcemapBaseUrl'),
+        sourcemapExcludeSources: getOption('sourcemapExcludeSources'),
+        sourcemapFile: getOption('sourcemapFile'),
+        sourcemapFileNames: getOption('sourcemapFileNames'),
+        sourcemapIgnoreList: getOption('sourcemapIgnoreList'),
+        sourcemapPathTransform: getOption('sourcemapPathTransform'),
+        strict: getOption('strict'),
+        systemNullSetters: getOption('systemNullSetters'),
+        validate: getOption('validate')
+    };
+    warnUnknownOptions(config, Object.keys(outputOptions), 'output options', log);
+    return outputOptions;
+}
+
+const {
+  env = {},
+  argv = [],
+  platform = "",
+} = typeof process === "undefined" ? {} : process;
+
+const isDisabled = "NO_COLOR" in env || argv.includes("--no-color");
+const isForced = "FORCE_COLOR" in env || argv.includes("--color");
+const isWindows = platform === "win32";
+const isDumbTerminal = env.TERM === "dumb";
+
+const isCompatibleTerminal =
+  tty__namespace && tty__namespace.isatty && tty__namespace.isatty(1) && env.TERM && !isDumbTerminal;
+
+const isCI =
+  "CI" in env &&
+  ("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env);
+
+const isColorSupported =
+  !isDisabled &&
+  (isForced || (isWindows && !isDumbTerminal) || isCompatibleTerminal || isCI);
+
+const replaceClose = (
+  index,
+  string,
+  close,
+  replace,
+  head = string.substring(0, index) + replace,
+  tail = string.substring(index + close.length),
+  next = tail.indexOf(close)
+) => head + (next < 0 ? tail : replaceClose(next, tail, close, replace));
+
+const clearBleed = (index, string, open, close, replace) =>
+  index < 0
+    ? open + string + close
+    : open + replaceClose(index, string, close, replace) + close;
+
+const filterEmpty =
+  (open, close, replace = open, at = open.length + 1) =>
+  (string) =>
+    string || !(string === "" || string === undefined)
+      ? clearBleed(
+          ("" + string).indexOf(close, at),
+          string,
+          open,
+          close,
+          replace
+        )
+      : "";
+
+const init = (open, close, replace) =>
+  filterEmpty(`\x1b[${open}m`, `\x1b[${close}m`, replace);
+
+const colors = {
+  reset: init(0, 0),
+  bold: init(1, 22, "\x1b[22m\x1b[1m"),
+  dim: init(2, 22, "\x1b[22m\x1b[2m"),
+  italic: init(3, 23),
+  underline: init(4, 24),
+  inverse: init(7, 27),
+  hidden: init(8, 28),
+  strikethrough: init(9, 29),
+  black: init(30, 39),
+  red: init(31, 39),
+  green: init(32, 39),
+  yellow: init(33, 39),
+  blue: init(34, 39),
+  magenta: init(35, 39),
+  cyan: init(36, 39),
+  white: init(37, 39),
+  gray: init(90, 39),
+  bgBlack: init(40, 49),
+  bgRed: init(41, 49),
+  bgGreen: init(42, 49),
+  bgYellow: init(43, 49),
+  bgBlue: init(44, 49),
+  bgMagenta: init(45, 49),
+  bgCyan: init(46, 49),
+  bgWhite: init(47, 49),
+  blackBright: init(90, 39),
+  redBright: init(91, 39),
+  greenBright: init(92, 39),
+  yellowBright: init(93, 39),
+  blueBright: init(94, 39),
+  magentaBright: init(95, 39),
+  cyanBright: init(96, 39),
+  whiteBright: init(97, 39),
+  bgBlackBright: init(100, 49),
+  bgRedBright: init(101, 49),
+  bgGreenBright: init(102, 49),
+  bgYellowBright: init(103, 49),
+  bgBlueBright: init(104, 49),
+  bgMagentaBright: init(105, 49),
+  bgCyanBright: init(106, 49),
+  bgWhiteBright: init(107, 49),
+};
+
+const createColors = ({ useColor = isColorSupported } = {}) =>
+  useColor
+    ? colors
+    : Object.keys(colors).reduce(
+        (colors, key) => ({ ...colors, [key]: String }),
+        {}
+      );
+
+const {
+  reset,
+  bold: bold$1,
+  dim: dim$1,
+  italic,
+  underline: underline$1,
+  inverse,
+  hidden,
+  strikethrough,
+  black,
+  red: red$1,
+  green: green$1,
+  yellow: yellow$1,
+  blue,
+  magenta,
+  cyan: cyan$1,
+  white,
+  gray: gray$1,
+  bgBlack,
+  bgRed,
+  bgGreen,
+  bgYellow,
+  bgBlue,
+  bgMagenta,
+  bgCyan,
+  bgWhite,
+  blackBright,
+  redBright,
+  greenBright,
+  yellowBright,
+  blueBright,
+  magentaBright,
+  cyanBright,
+  whiteBright,
+  bgBlackBright,
+  bgRedBright,
+  bgGreenBright,
+  bgYellowBright,
+  bgBlueBright,
+  bgMagentaBright,
+  bgCyanBright,
+  bgWhiteBright,
+} = createColors();
+
+// @see https://no-color.org
+// @see https://www.npmjs.com/package/chalk
+const { bold, cyan, dim, gray, green, red, underline, yellow } = createColors({
+    useColor: process$1.env.FORCE_COLOR !== '0' && !process$1.env.NO_COLOR
+});
+
+// log to stderr to keep `rollup main.js > bundle.js` from breaking
+const stderr = (...parameters) => process$1.stderr.write(`${parameters.join('')}\n`);
+function handleError(error, recover = false) {
+    const name = error.name || error.cause?.name;
+    const nameSection = name ? `${name}: ` : '';
+    const pluginSection = error.plugin ? `(plugin ${error.plugin}) ` : '';
+    const message = `${pluginSection}${nameSection}${error.message}`;
+    const outputLines = [bold(red(`[!] ${bold(message.toString())}`))];
+    if (error.url) {
+        outputLines.push(cyan(error.url));
+    }
+    if (error.loc) {
+        outputLines.push(`${parseAst_js.relativeId((error.loc.file || error.id))} (${error.loc.line}:${error.loc.column})`);
+    }
+    else if (error.id) {
+        outputLines.push(parseAst_js.relativeId(error.id));
+    }
+    if (error.frame) {
+        outputLines.push(dim(error.frame));
+    }
+    if (error.stack) {
+        outputLines.push(dim(error.stack?.replace(`${nameSection}${error.message}\n`, '')));
+    }
+    outputLines.push('', '');
+    stderr(outputLines.join('\n'));
+    if (!recover)
+        process$1.exit(1);
+}
+
+const comma = ','.charCodeAt(0);
+const semicolon = ';'.charCodeAt(0);
+const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+const intToChar = new Uint8Array(64); // 64 possible chars.
+const charToInt = new Uint8Array(128); // z is 122 in ASCII
+for (let i = 0; i < chars.length; i++) {
+    const c = chars.charCodeAt(i);
+    intToChar[i] = c;
+    charToInt[c] = i;
+}
+// Provide a fallback for older environments.
+const td = typeof TextDecoder !== 'undefined'
+    ? /* #__PURE__ */ new TextDecoder()
+    : typeof Buffer !== 'undefined'
+        ? {
+            decode(buf) {
+                const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
+                return out.toString();
+            },
+        }
+        : {
+            decode(buf) {
+                let out = '';
+                for (let i = 0; i < buf.length; i++) {
+                    out += String.fromCharCode(buf[i]);
+                }
+                return out;
+            },
+        };
+function decode(mappings) {
+    const state = new Int32Array(5);
+    const decoded = [];
+    let index = 0;
+    do {
+        const semi = indexOf(mappings, index);
+        const line = [];
+        let sorted = true;
+        let lastCol = 0;
+        state[0] = 0;
+        for (let i = index; i < semi; i++) {
+            let seg;
+            i = decodeInteger(mappings, i, state, 0); // genColumn
+            const col = state[0];
+            if (col < lastCol)
+                sorted = false;
+            lastCol = col;
+            if (hasMoreVlq(mappings, i, semi)) {
+                i = decodeInteger(mappings, i, state, 1); // sourcesIndex
+                i = decodeInteger(mappings, i, state, 2); // sourceLine
+                i = decodeInteger(mappings, i, state, 3); // sourceColumn
+                if (hasMoreVlq(mappings, i, semi)) {
+                    i = decodeInteger(mappings, i, state, 4); // namesIndex
+                    seg = [col, state[1], state[2], state[3], state[4]];
+                }
+                else {
+                    seg = [col, state[1], state[2], state[3]];
+                }
+            }
+            else {
+                seg = [col];
+            }
+            line.push(seg);
+        }
+        if (!sorted)
+            sort(line);
+        decoded.push(line);
+        index = semi + 1;
+    } while (index <= mappings.length);
+    return decoded;
+}
+function indexOf(mappings, index) {
+    const idx = mappings.indexOf(';', index);
+    return idx === -1 ? mappings.length : idx;
+}
+function decodeInteger(mappings, pos, state, j) {
+    let value = 0;
+    let shift = 0;
+    let integer = 0;
+    do {
+        const c = mappings.charCodeAt(pos++);
+        integer = charToInt[c];
+        value |= (integer & 31) << shift;
+        shift += 5;
+    } while (integer & 32);
+    const shouldNegate = value & 1;
+    value >>>= 1;
+    if (shouldNegate) {
+        value = -0x80000000 | -value;
+    }
+    state[j] += value;
+    return pos;
+}
+function hasMoreVlq(mappings, i, length) {
+    if (i >= length)
+        return false;
+    return mappings.charCodeAt(i) !== comma;
+}
+function sort(line) {
+    line.sort(sortComparator);
+}
+function sortComparator(a, b) {
+    return a[0] - b[0];
+}
+function encode(decoded) {
+    const state = new Int32Array(5);
+    const bufLength = 1024 * 16;
+    const subLength = bufLength - 36;
+    const buf = new Uint8Array(bufLength);
+    const sub = buf.subarray(0, subLength);
+    let pos = 0;
+    let out = '';
+    for (let i = 0; i < decoded.length; i++) {
+        const line = decoded[i];
+        if (i > 0) {
+            if (pos === bufLength) {
+                out += td.decode(buf);
+                pos = 0;
+            }
+            buf[pos++] = semicolon;
+        }
+        if (line.length === 0)
+            continue;
+        state[0] = 0;
+        for (let j = 0; j < line.length; j++) {
+            const segment = line[j];
+            // We can push up to 5 ints, each int can take at most 7 chars, and we
+            // may push a comma.
+            if (pos > subLength) {
+                out += td.decode(sub);
+                buf.copyWithin(0, subLength, pos);
+                pos -= subLength;
+            }
+            if (j > 0)
+                buf[pos++] = comma;
+            pos = encodeInteger(buf, pos, state, segment, 0); // genColumn
+            if (segment.length === 1)
+                continue;
+            pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex
+            pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine
+            pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn
+            if (segment.length === 4)
+                continue;
+            pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex
+        }
+    }
+    return out + td.decode(buf.subarray(0, pos));
+}
+function encodeInteger(buf, pos, state, segment, j) {
+    const next = segment[j];
+    let num = next - state[j];
+    state[j] = next;
+    num = num < 0 ? (-num << 1) | 1 : num << 1;
+    do {
+        let clamped = num & 0b011111;
+        num >>>= 5;
+        if (num > 0)
+            clamped |= 0b100000;
+        buf[pos++] = intToChar[clamped];
+    } while (num > 0);
+    return pos;
+}
+
+class BitSet {
+	constructor(arg) {
+		this.bits = arg instanceof BitSet ? arg.bits.slice() : [];
+	}
+
+	add(n) {
+		this.bits[n >> 5] |= 1 << (n & 31);
+	}
+
+	has(n) {
+		return !!(this.bits[n >> 5] & (1 << (n & 31)));
+	}
+}
+
+let Chunk$1 = class Chunk {
+	constructor(start, end, content) {
+		this.start = start;
+		this.end = end;
+		this.original = content;
+
+		this.intro = '';
+		this.outro = '';
+
+		this.content = content;
+		this.storeName = false;
+		this.edited = false;
+
+		{
+			this.previous = null;
+			this.next = null;
+		}
+	}
+
+	appendLeft(content) {
+		this.outro += content;
+	}
+
+	appendRight(content) {
+		this.intro = this.intro + content;
+	}
+
+	clone() {
+		const chunk = new Chunk(this.start, this.end, this.original);
+
+		chunk.intro = this.intro;
+		chunk.outro = this.outro;
+		chunk.content = this.content;
+		chunk.storeName = this.storeName;
+		chunk.edited = this.edited;
+
+		return chunk;
+	}
+
+	contains(index) {
+		return this.start < index && index < this.end;
+	}
+
+	eachNext(fn) {
+		let chunk = this;
+		while (chunk) {
+			fn(chunk);
+			chunk = chunk.next;
+		}
+	}
+
+	eachPrevious(fn) {
+		let chunk = this;
+		while (chunk) {
+			fn(chunk);
+			chunk = chunk.previous;
+		}
+	}
+
+	edit(content, storeName, contentOnly) {
+		this.content = content;
+		if (!contentOnly) {
+			this.intro = '';
+			this.outro = '';
+		}
+		this.storeName = storeName;
+
+		this.edited = true;
+
+		return this;
+	}
+
+	prependLeft(content) {
+		this.outro = content + this.outro;
+	}
+
+	prependRight(content) {
+		this.intro = content + this.intro;
+	}
+
+	reset() {
+		this.intro = '';
+		this.outro = '';
+		if (this.edited) {
+			this.content = this.original;
+			this.storeName = false;
+			this.edited = false;
+		}
+	}
+
+	split(index) {
+		const sliceIndex = index - this.start;
+
+		const originalBefore = this.original.slice(0, sliceIndex);
+		const originalAfter = this.original.slice(sliceIndex);
+
+		this.original = originalBefore;
+
+		const newChunk = new Chunk(index, this.end, originalAfter);
+		newChunk.outro = this.outro;
+		this.outro = '';
+
+		this.end = index;
+
+		if (this.edited) {
+			// after split we should save the edit content record into the correct chunk
+			// to make sure sourcemap correct
+			// For example:
+			// '  test'.trim()
+			//     split   -> '  ' + 'test'
+			//   ✔️ edit    -> '' + 'test'
+			//   ✖️ edit    -> 'test' + '' 
+			// TODO is this block necessary?...
+			newChunk.edit('', false);
+			this.content = '';
+		} else {
+			this.content = originalBefore;
+		}
+
+		newChunk.next = this.next;
+		if (newChunk.next) newChunk.next.previous = newChunk;
+		newChunk.previous = this;
+		this.next = newChunk;
+
+		return newChunk;
+	}
+
+	toString() {
+		return this.intro + this.content + this.outro;
+	}
+
+	trimEnd(rx) {
+		this.outro = this.outro.replace(rx, '');
+		if (this.outro.length) return true;
+
+		const trimmed = this.content.replace(rx, '');
+
+		if (trimmed.length) {
+			if (trimmed !== this.content) {
+				this.split(this.start + trimmed.length).edit('', undefined, true);
+				if (this.edited) {
+					// save the change, if it has been edited
+					this.edit(trimmed, this.storeName, true);
+				}
+			}
+			return true;
+		} else {
+			this.edit('', undefined, true);
+
+			this.intro = this.intro.replace(rx, '');
+			if (this.intro.length) return true;
+		}
+	}
+
+	trimStart(rx) {
+		this.intro = this.intro.replace(rx, '');
+		if (this.intro.length) return true;
+
+		const trimmed = this.content.replace(rx, '');
+
+		if (trimmed.length) {
+			if (trimmed !== this.content) {
+				const newChunk = this.split(this.end - trimmed.length);
+				if (this.edited) {
+					// save the change, if it has been edited
+					newChunk.edit(trimmed, this.storeName, true);
+				}
+				this.edit('', undefined, true);
+			}
+			return true;
+		} else {
+			this.edit('', undefined, true);
+
+			this.outro = this.outro.replace(rx, '');
+			if (this.outro.length) return true;
+		}
+	}
+};
+
+function getBtoa() {
+	if (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {
+		return (str) => globalThis.btoa(unescape(encodeURIComponent(str)));
+	} else if (typeof Buffer === 'function') {
+		return (str) => Buffer.from(str, 'utf-8').toString('base64');
+	} else {
+		return () => {
+			throw new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');
+		};
+	}
+}
+
+const btoa = /*#__PURE__*/ getBtoa();
+
+class SourceMap {
+	constructor(properties) {
+		this.version = 3;
+		this.file = properties.file;
+		this.sources = properties.sources;
+		this.sourcesContent = properties.sourcesContent;
+		this.names = properties.names;
+		this.mappings = encode(properties.mappings);
+		if (typeof properties.x_google_ignoreList !== 'undefined') {
+			this.x_google_ignoreList = properties.x_google_ignoreList;
+		}
+	}
+
+	toString() {
+		return JSON.stringify(this);
+	}
+
+	toUrl() {
+		return 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());
+	}
+}
+
+function guessIndent(code) {
+	const lines = code.split('\n');
+
+	const tabbed = lines.filter((line) => /^\t+/.test(line));
+	const spaced = lines.filter((line) => /^ {2,}/.test(line));
+
+	if (tabbed.length === 0 && spaced.length === 0) {
+		return null;
+	}
+
+	// More lines tabbed than spaced? Assume tabs, and
+	// default to tabs in the case of a tie (or nothing
+	// to go on)
+	if (tabbed.length >= spaced.length) {
+		return '\t';
+	}
+
+	// Otherwise, we need to guess the multiple
+	const min = spaced.reduce((previous, current) => {
+		const numSpaces = /^ +/.exec(current)[0].length;
+		return Math.min(numSpaces, previous);
+	}, Infinity);
+
+	return new Array(min + 1).join(' ');
+}
+
+function getRelativePath(from, to) {
+	const fromParts = from.split(/[/\\]/);
+	const toParts = to.split(/[/\\]/);
+
+	fromParts.pop(); // get dirname
+
+	while (fromParts[0] === toParts[0]) {
+		fromParts.shift();
+		toParts.shift();
+	}
+
+	if (fromParts.length) {
+		let i = fromParts.length;
+		while (i--) fromParts[i] = '..';
+	}
+
+	return fromParts.concat(toParts).join('/');
+}
+
+const toString = Object.prototype.toString;
+
+function isObject$1(thing) {
+	return toString.call(thing) === '[object Object]';
+}
+
+function getLocator(source) {
+	const originalLines = source.split('\n');
+	const lineOffsets = [];
+
+	for (let i = 0, pos = 0; i < originalLines.length; i++) {
+		lineOffsets.push(pos);
+		pos += originalLines[i].length + 1;
+	}
+
+	return function locate(index) {
+		let i = 0;
+		let j = lineOffsets.length;
+		while (i < j) {
+			const m = (i + j) >> 1;
+			if (index < lineOffsets[m]) {
+				j = m;
+			} else {
+				i = m + 1;
+			}
+		}
+		const line = i - 1;
+		const column = index - lineOffsets[line];
+		return { line, column };
+	};
+}
+
+const wordRegex = /\w/;
+
+class Mappings {
+	constructor(hires) {
+		this.hires = hires;
+		this.generatedCodeLine = 0;
+		this.generatedCodeColumn = 0;
+		this.raw = [];
+		this.rawSegments = this.raw[this.generatedCodeLine] = [];
+		this.pending = null;
+	}
+
+	addEdit(sourceIndex, content, loc, nameIndex) {
+		if (content.length) {
+			let contentLineEnd = content.indexOf('\n', 0);
+			let previousContentLineEnd = -1;
+			while (contentLineEnd >= 0) {
+				const segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];
+				if (nameIndex >= 0) {
+					segment.push(nameIndex);
+				}
+				this.rawSegments.push(segment);
+
+				this.generatedCodeLine += 1;
+				this.raw[this.generatedCodeLine] = this.rawSegments = [];
+				this.generatedCodeColumn = 0;
+
+				previousContentLineEnd = contentLineEnd;
+				contentLineEnd = content.indexOf('\n', contentLineEnd + 1);
+			}
+
+			const segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];
+			if (nameIndex >= 0) {
+				segment.push(nameIndex);
+			}
+			this.rawSegments.push(segment);
+
+			this.advance(content.slice(previousContentLineEnd + 1));
+		} else if (this.pending) {
+			this.rawSegments.push(this.pending);
+			this.advance(content);
+		}
+
+		this.pending = null;
+	}
+
+	addUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {
+		let originalCharIndex = chunk.start;
+		let first = true;
+		// when iterating each char, check if it's in a word boundary
+		let charInHiresBoundary = false;
+
+		while (originalCharIndex < chunk.end) {
+			if (this.hires || first || sourcemapLocations.has(originalCharIndex)) {
+				const segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];
+
+				if (this.hires === 'boundary') {
+					// in hires "boundary", group segments per word boundary than per char
+					if (wordRegex.test(original[originalCharIndex])) {
+						// for first char in the boundary found, start the boundary by pushing a segment
+						if (!charInHiresBoundary) {
+							this.rawSegments.push(segment);
+							charInHiresBoundary = true;
+						}
+					} else {
+						// for non-word char, end the boundary by pushing a segment
+						this.rawSegments.push(segment);
+						charInHiresBoundary = false;
+					}
+				} else {
+					this.rawSegments.push(segment);
+				}
+			}
+
+			if (original[originalCharIndex] === '\n') {
+				loc.line += 1;
+				loc.column = 0;
+				this.generatedCodeLine += 1;
+				this.raw[this.generatedCodeLine] = this.rawSegments = [];
+				this.generatedCodeColumn = 0;
+				first = true;
+			} else {
+				loc.column += 1;
+				this.generatedCodeColumn += 1;
+				first = false;
+			}
+
+			originalCharIndex += 1;
+		}
+
+		this.pending = null;
+	}
+
+	advance(str) {
+		if (!str) return;
+
+		const lines = str.split('\n');
+
+		if (lines.length > 1) {
+			for (let i = 0; i < lines.length - 1; i++) {
+				this.generatedCodeLine++;
+				this.raw[this.generatedCodeLine] = this.rawSegments = [];
+			}
+			this.generatedCodeColumn = 0;
+		}
+
+		this.generatedCodeColumn += lines[lines.length - 1].length;
+	}
+}
+
+const n = '\n';
+
+const warned = {
+	insertLeft: false,
+	insertRight: false,
+	storeName: false,
+};
+
+class MagicString {
+	constructor(string, options = {}) {
+		const chunk = new Chunk$1(0, string.length, string);
+
+		Object.defineProperties(this, {
+			original: { writable: true, value: string },
+			outro: { writable: true, value: '' },
+			intro: { writable: true, value: '' },
+			firstChunk: { writable: true, value: chunk },
+			lastChunk: { writable: true, value: chunk },
+			lastSearchedChunk: { writable: true, value: chunk },
+			byStart: { writable: true, value: {} },
+			byEnd: { writable: true, value: {} },
+			filename: { writable: true, value: options.filename },
+			indentExclusionRanges: { writable: true, value: options.indentExclusionRanges },
+			sourcemapLocations: { writable: true, value: new BitSet() },
+			storedNames: { writable: true, value: {} },
+			indentStr: { writable: true, value: undefined },
+			ignoreList: { writable: true, value: options.ignoreList },
+		});
+
+		this.byStart[0] = chunk;
+		this.byEnd[string.length] = chunk;
+	}
+
+	addSourcemapLocation(char) {
+		this.sourcemapLocations.add(char);
+	}
+
+	append(content) {
+		if (typeof content !== 'string') throw new TypeError('outro content must be a string');
+
+		this.outro += content;
+		return this;
+	}
+
+	appendLeft(index, content) {
+		if (typeof content !== 'string') throw new TypeError('inserted content must be a string');
+
+		this._split(index);
+
+		const chunk = this.byEnd[index];
+
+		if (chunk) {
+			chunk.appendLeft(content);
+		} else {
+			this.intro += content;
+		}
+		return this;
+	}
+
+	appendRight(index, content) {
+		if (typeof content !== 'string') throw new TypeError('inserted content must be a string');
+
+		this._split(index);
+
+		const chunk = this.byStart[index];
+
+		if (chunk) {
+			chunk.appendRight(content);
+		} else {
+			this.outro += content;
+		}
+		return this;
+	}
+
+	clone() {
+		const cloned = new MagicString(this.original, { filename: this.filename });
+
+		let originalChunk = this.firstChunk;
+		let clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());
+
+		while (originalChunk) {
+			cloned.byStart[clonedChunk.start] = clonedChunk;
+			cloned.byEnd[clonedChunk.end] = clonedChunk;
+
+			const nextOriginalChunk = originalChunk.next;
+			const nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();
+
+			if (nextClonedChunk) {
+				clonedChunk.next = nextClonedChunk;
+				nextClonedChunk.previous = clonedChunk;
+
+				clonedChunk = nextClonedChunk;
+			}
+
+			originalChunk = nextOriginalChunk;
+		}
+
+		cloned.lastChunk = clonedChunk;
+
+		if (this.indentExclusionRanges) {
+			cloned.indentExclusionRanges = this.indentExclusionRanges.slice();
+		}
+
+		cloned.sourcemapLocations = new BitSet(this.sourcemapLocations);
+
+		cloned.intro = this.intro;
+		cloned.outro = this.outro;
+
+		return cloned;
+	}
+
+	generateDecodedMap(options) {
+		options = options || {};
+
+		const sourceIndex = 0;
+		const names = Object.keys(this.storedNames);
+		const mappings = new Mappings(options.hires);
+
+		const locate = getLocator(this.original);
+
+		if (this.intro) {
+			mappings.advance(this.intro);
+		}
+
+		this.firstChunk.eachNext((chunk) => {
+			const loc = locate(chunk.start);
+
+			if (chunk.intro.length) mappings.advance(chunk.intro);
+
+			if (chunk.edited) {
+				mappings.addEdit(
+					sourceIndex,
+					chunk.content,
+					loc,
+					chunk.storeName ? names.indexOf(chunk.original) : -1,
+				);
+			} else {
+				mappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);
+			}
+
+			if (chunk.outro.length) mappings.advance(chunk.outro);
+		});
+
+		return {
+			file: options.file ? options.file.split(/[/\\]/).pop() : undefined,
+			sources: [
+				options.source ? getRelativePath(options.file || '', options.source) : options.file || '',
+			],
+			sourcesContent: options.includeContent ? [this.original] : undefined,
+			names,
+			mappings: mappings.raw,
+			x_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,
+		};
+	}
+
+	generateMap(options) {
+		return new SourceMap(this.generateDecodedMap(options));
+	}
+
+	_ensureindentStr() {
+		if (this.indentStr === undefined) {
+			this.indentStr = guessIndent(this.original);
+		}
+	}
+
+	_getRawIndentString() {
+		this._ensureindentStr();
+		return this.indentStr;
+	}
+
+	getIndentString() {
+		this._ensureindentStr();
+		return this.indentStr === null ? '\t' : this.indentStr;
+	}
+
+	indent(indentStr, options) {
+		const pattern = /^[^\r\n]/gm;
+
+		if (isObject$1(indentStr)) {
+			options = indentStr;
+			indentStr = undefined;
+		}
+
+		if (indentStr === undefined) {
+			this._ensureindentStr();
+			indentStr = this.indentStr || '\t';
+		}
+
+		if (indentStr === '') return this; // noop
+
+		options = options || {};
+
+		// Process exclusion ranges
+		const isExcluded = {};
+
+		if (options.exclude) {
+			const exclusions =
+				typeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;
+			exclusions.forEach((exclusion) => {
+				for (let i = exclusion[0]; i < exclusion[1]; i += 1) {
+					isExcluded[i] = true;
+				}
+			});
+		}
+
+		let shouldIndentNextCharacter = options.indentStart !== false;
+		const replacer = (match) => {
+			if (shouldIndentNextCharacter) return `${indentStr}${match}`;
+			shouldIndentNextCharacter = true;
+			return match;
+		};
+
+		this.intro = this.intro.replace(pattern, replacer);
+
+		let charIndex = 0;
+		let chunk = this.firstChunk;
+
+		while (chunk) {
+			const end = chunk.end;
+
+			if (chunk.edited) {
+				if (!isExcluded[charIndex]) {
+					chunk.content = chunk.content.replace(pattern, replacer);
+
+					if (chunk.content.length) {
+						shouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\n';
+					}
+				}
+			} else {
+				charIndex = chunk.start;
+
+				while (charIndex < end) {
+					if (!isExcluded[charIndex]) {
+						const char = this.original[charIndex];
+
+						if (char === '\n') {
+							shouldIndentNextCharacter = true;
+						} else if (char !== '\r' && shouldIndentNextCharacter) {
+							shouldIndentNextCharacter = false;
+
+							if (charIndex === chunk.start) {
+								chunk.prependRight(indentStr);
+							} else {
+								this._splitChunk(chunk, charIndex);
+								chunk = chunk.next;
+								chunk.prependRight(indentStr);
+							}
+						}
+					}
+
+					charIndex += 1;
+				}
+			}
+
+			charIndex = chunk.end;
+			chunk = chunk.next;
+		}
+
+		this.outro = this.outro.replace(pattern, replacer);
+
+		return this;
+	}
+
+	insert() {
+		throw new Error(
+			'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',
+		);
+	}
+
+	insertLeft(index, content) {
+		if (!warned.insertLeft) {
+			console.warn(
+				'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',
+			); // eslint-disable-line no-console
+			warned.insertLeft = true;
+		}
+
+		return this.appendLeft(index, content);
+	}
+
+	insertRight(index, content) {
+		if (!warned.insertRight) {
+			console.warn(
+				'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',
+			); // eslint-disable-line no-console
+			warned.insertRight = true;
+		}
+
+		return this.prependRight(index, content);
+	}
+
+	move(start, end, index) {
+		if (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');
+
+		this._split(start);
+		this._split(end);
+		this._split(index);
+
+		const first = this.byStart[start];
+		const last = this.byEnd[end];
+
+		const oldLeft = first.previous;
+		const oldRight = last.next;
+
+		const newRight = this.byStart[index];
+		if (!newRight && last === this.lastChunk) return this;
+		const newLeft = newRight ? newRight.previous : this.lastChunk;
+
+		if (oldLeft) oldLeft.next = oldRight;
+		if (oldRight) oldRight.previous = oldLeft;
+
+		if (newLeft) newLeft.next = first;
+		if (newRight) newRight.previous = last;
+
+		if (!first.previous) this.firstChunk = last.next;
+		if (!last.next) {
+			this.lastChunk = first.previous;
+			this.lastChunk.next = null;
+		}
+
+		first.previous = newLeft;
+		last.next = newRight || null;
+
+		if (!newLeft) this.firstChunk = first;
+		if (!newRight) this.lastChunk = last;
+		return this;
+	}
+
+	overwrite(start, end, content, options) {
+		options = options || {};
+		return this.update(start, end, content, { ...options, overwrite: !options.contentOnly });
+	}
+
+	update(start, end, content, options) {
+		if (typeof content !== 'string') throw new TypeError('replacement content must be a string');
+
+		while (start < 0) start += this.original.length;
+		while (end < 0) end += this.original.length;
+
+		if (end > this.original.length) throw new Error('end is out of bounds');
+		if (start === end)
+			throw new Error(
+				'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',
+			);
+
+		this._split(start);
+		this._split(end);
+
+		if (options === true) {
+			if (!warned.storeName) {
+				console.warn(
+					'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',
+				); // eslint-disable-line no-console
+				warned.storeName = true;
+			}
+
+			options = { storeName: true };
+		}
+		const storeName = options !== undefined ? options.storeName : false;
+		const overwrite = options !== undefined ? options.overwrite : false;
+
+		if (storeName) {
+			const original = this.original.slice(start, end);
+			Object.defineProperty(this.storedNames, original, {
+				writable: true,
+				value: true,
+				enumerable: true,
+			});
+		}
+
+		const first = this.byStart[start];
+		const last = this.byEnd[end];
+
+		if (first) {
+			let chunk = first;
+			while (chunk !== last) {
+				if (chunk.next !== this.byStart[chunk.end]) {
+					throw new Error('Cannot overwrite across a split point');
+				}
+				chunk = chunk.next;
+				chunk.edit('', false);
+			}
+
+			first.edit(content, storeName, !overwrite);
+		} else {
+			// must be inserting at the end
+			const newChunk = new Chunk$1(start, end, '').edit(content, storeName);
+
+			// TODO last chunk in the array may not be the last chunk, if it's moved...
+			last.next = newChunk;
+			newChunk.previous = last;
+		}
+		return this;
+	}
+
+	prepend(content) {
+		if (typeof content !== 'string') throw new TypeError('outro content must be a string');
+
+		this.intro = content + this.intro;
+		return this;
+	}
+
+	prependLeft(index, content) {
+		if (typeof content !== 'string') throw new TypeError('inserted content must be a string');
+
+		this._split(index);
+
+		const chunk = this.byEnd[index];
+
+		if (chunk) {
+			chunk.prependLeft(content);
+		} else {
+			this.intro = content + this.intro;
+		}
+		return this;
+	}
+
+	prependRight(index, content) {
+		if (typeof content !== 'string') throw new TypeError('inserted content must be a string');
+
+		this._split(index);
+
+		const chunk = this.byStart[index];
+
+		if (chunk) {
+			chunk.prependRight(content);
+		} else {
+			this.outro = content + this.outro;
+		}
+		return this;
+	}
+
+	remove(start, end) {
+		while (start < 0) start += this.original.length;
+		while (end < 0) end += this.original.length;
+
+		if (start === end) return this;
+
+		if (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');
+		if (start > end) throw new Error('end must be greater than start');
+
+		this._split(start);
+		this._split(end);
+
+		let chunk = this.byStart[start];
+
+		while (chunk) {
+			chunk.intro = '';
+			chunk.outro = '';
+			chunk.edit('');
+
+			chunk = end > chunk.end ? this.byStart[chunk.end] : null;
+		}
+		return this;
+	}
+
+	reset(start, end) {
+		while (start < 0) start += this.original.length;
+		while (end < 0) end += this.original.length;
+
+		if (start === end) return this;
+
+		if (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');
+		if (start > end) throw new Error('end must be greater than start');
+
+		this._split(start);
+		this._split(end);
+
+		let chunk = this.byStart[start];
+
+		while (chunk) {
+			chunk.reset();
+
+			chunk = end > chunk.end ? this.byStart[chunk.end] : null;
+		}
+		return this;
+	}
+
+	lastChar() {
+		if (this.outro.length) return this.outro[this.outro.length - 1];
+		let chunk = this.lastChunk;
+		do {
+			if (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];
+			if (chunk.content.length) return chunk.content[chunk.content.length - 1];
+			if (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];
+		} while ((chunk = chunk.previous));
+		if (this.intro.length) return this.intro[this.intro.length - 1];
+		return '';
+	}
+
+	lastLine() {
+		let lineIndex = this.outro.lastIndexOf(n);
+		if (lineIndex !== -1) return this.outro.substr(lineIndex + 1);
+		let lineStr = this.outro;
+		let chunk = this.lastChunk;
+		do {
+			if (chunk.outro.length > 0) {
+				lineIndex = chunk.outro.lastIndexOf(n);
+				if (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;
+				lineStr = chunk.outro + lineStr;
+			}
+
+			if (chunk.content.length > 0) {
+				lineIndex = chunk.content.lastIndexOf(n);
+				if (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;
+				lineStr = chunk.content + lineStr;
+			}
+
+			if (chunk.intro.length > 0) {
+				lineIndex = chunk.intro.lastIndexOf(n);
+				if (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;
+				lineStr = chunk.intro + lineStr;
+			}
+		} while ((chunk = chunk.previous));
+		lineIndex = this.intro.lastIndexOf(n);
+		if (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;
+		return this.intro + lineStr;
+	}
+
+	slice(start = 0, end = this.original.length) {
+		while (start < 0) start += this.original.length;
+		while (end < 0) end += this.original.length;
+
+		let result = '';
+
+		// find start chunk
+		let chunk = this.firstChunk;
+		while (chunk && (chunk.start > start || chunk.end <= start)) {
+			// found end chunk before start
+			if (chunk.start < end && chunk.end >= end) {
+				return result;
+			}
+
+			chunk = chunk.next;
+		}
+
+		if (chunk && chunk.edited && chunk.start !== start)
+			throw new Error(`Cannot use replaced character ${start} as slice start anchor.`);
+
+		const startChunk = chunk;
+		while (chunk) {
+			if (chunk.intro && (startChunk !== chunk || chunk.start === start)) {
+				result += chunk.intro;
+			}
+
+			const containsEnd = chunk.start < end && chunk.end >= end;
+			if (containsEnd && chunk.edited && chunk.end !== end)
+				throw new Error(`Cannot use replaced character ${end} as slice end anchor.`);
+
+			const sliceStart = startChunk === chunk ? start - chunk.start : 0;
+			const sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;
+
+			result += chunk.content.slice(sliceStart, sliceEnd);
+
+			if (chunk.outro && (!containsEnd || chunk.end === end)) {
+				result += chunk.outro;
+			}
+
+			if (containsEnd) {
+				break;
+			}
+
+			chunk = chunk.next;
+		}
+
+		return result;
+	}
+
+	// TODO deprecate this? not really very useful
+	snip(start, end) {
+		const clone = this.clone();
+		clone.remove(0, start);
+		clone.remove(end, clone.original.length);
+
+		return clone;
+	}
+
+	_split(index) {
+		if (this.byStart[index] || this.byEnd[index]) return;
+
+		let chunk = this.lastSearchedChunk;
+		const searchForward = index > chunk.end;
+
+		while (chunk) {
+			if (chunk.contains(index)) return this._splitChunk(chunk, index);
+
+			chunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];
+		}
+	}
+
+	_splitChunk(chunk, index) {
+		if (chunk.edited && chunk.content.length) {
+			// zero-length edited chunks are a special case (overlapping replacements)
+			const loc = getLocator(this.original)(index);
+			throw new Error(
+				`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – "${chunk.original}")`,
+			);
+		}
+
+		const newChunk = chunk.split(index);
+
+		this.byEnd[index] = chunk;
+		this.byStart[index] = newChunk;
+		this.byEnd[newChunk.end] = newChunk;
+
+		if (chunk === this.lastChunk) this.lastChunk = newChunk;
+
+		this.lastSearchedChunk = chunk;
+		return true;
+	}
+
+	toString() {
+		let str = this.intro;
+
+		let chunk = this.firstChunk;
+		while (chunk) {
+			str += chunk.toString();
+			chunk = chunk.next;
+		}
+
+		return str + this.outro;
+	}
+
+	isEmpty() {
+		let chunk = this.firstChunk;
+		do {
+			if (
+				(chunk.intro.length && chunk.intro.trim()) ||
+				(chunk.content.length && chunk.content.trim()) ||
+				(chunk.outro.length && chunk.outro.trim())
+			)
+				return false;
+		} while ((chunk = chunk.next));
+		return true;
+	}
+
+	length() {
+		let chunk = this.firstChunk;
+		let length = 0;
+		do {
+			length += chunk.intro.length + chunk.content.length + chunk.outro.length;
+		} while ((chunk = chunk.next));
+		return length;
+	}
+
+	trimLines() {
+		return this.trim('[\\r\\n]');
+	}
+
+	trim(charType) {
+		return this.trimStart(charType).trimEnd(charType);
+	}
+
+	trimEndAborted(charType) {
+		const rx = new RegExp((charType || '\\s') + '+$');
+
+		this.outro = this.outro.replace(rx, '');
+		if (this.outro.length) return true;
+
+		let chunk = this.lastChunk;
+
+		do {
+			const end = chunk.end;
+			const aborted = chunk.trimEnd(rx);
+
+			// if chunk was trimmed, we have a new lastChunk
+			if (chunk.end !== end) {
+				if (this.lastChunk === chunk) {
+					this.lastChunk = chunk.next;
+				}
+
+				this.byEnd[chunk.end] = chunk;
+				this.byStart[chunk.next.start] = chunk.next;
+				this.byEnd[chunk.next.end] = chunk.next;
+			}
+
+			if (aborted) return true;
+			chunk = chunk.previous;
+		} while (chunk);
+
+		return false;
+	}
+
+	trimEnd(charType) {
+		this.trimEndAborted(charType);
+		return this;
+	}
+	trimStartAborted(charType) {
+		const rx = new RegExp('^' + (charType || '\\s') + '+');
+
+		this.intro = this.intro.replace(rx, '');
+		if (this.intro.length) return true;
+
+		let chunk = this.firstChunk;
+
+		do {
+			const end = chunk.end;
+			const aborted = chunk.trimStart(rx);
+
+			if (chunk.end !== end) {
+				// special case...
+				if (chunk === this.lastChunk) this.lastChunk = chunk.next;
+
+				this.byEnd[chunk.end] = chunk;
+				this.byStart[chunk.next.start] = chunk.next;
+				this.byEnd[chunk.next.end] = chunk.next;
+			}
+
+			if (aborted) return true;
+			chunk = chunk.next;
+		} while (chunk);
+
+		return false;
+	}
+
+	trimStart(charType) {
+		this.trimStartAborted(charType);
+		return this;
+	}
+
+	hasChanged() {
+		return this.original !== this.toString();
+	}
+
+	_replaceRegexp(searchValue, replacement) {
+		function getReplacement(match, str) {
+			if (typeof replacement === 'string') {
+				return replacement.replace(/\$(\$|&|\d+)/g, (_, i) => {
+					// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter
+					if (i === '$') return '$';
+					if (i === '&') return match[0];
+					const num = +i;
+					if (num < match.length) return match[+i];
+					return `$${i}`;
+				});
+			} else {
+				return replacement(...match, match.index, str, match.groups);
+			}
+		}
+		function matchAll(re, str) {
+			let match;
+			const matches = [];
+			while ((match = re.exec(str))) {
+				matches.push(match);
+			}
+			return matches;
+		}
+		if (searchValue.global) {
+			const matches = matchAll(searchValue, this.original);
+			matches.forEach((match) => {
+				if (match.index != null)
+					this.overwrite(
+						match.index,
+						match.index + match[0].length,
+						getReplacement(match, this.original),
+					);
+			});
+		} else {
+			const match = this.original.match(searchValue);
+			if (match && match.index != null)
+				this.overwrite(
+					match.index,
+					match.index + match[0].length,
+					getReplacement(match, this.original),
+				);
+		}
+		return this;
+	}
+
+	_replaceString(string, replacement) {
+		const { original } = this;
+		const index = original.indexOf(string);
+
+		if (index !== -1) {
+			this.overwrite(index, index + string.length, replacement);
+		}
+
+		return this;
+	}
+
+	replace(searchValue, replacement) {
+		if (typeof searchValue === 'string') {
+			return this._replaceString(searchValue, replacement);
+		}
+
+		return this._replaceRegexp(searchValue, replacement);
+	}
+
+	_replaceAllString(string, replacement) {
+		const { original } = this;
+		const stringLength = string.length;
+		for (
+			let index = original.indexOf(string);
+			index !== -1;
+			index = original.indexOf(string, index + stringLength)
+		) {
+			this.overwrite(index, index + stringLength, replacement);
+		}
+
+		return this;
+	}
+
+	replaceAll(searchValue, replacement) {
+		if (typeof searchValue === 'string') {
+			return this._replaceAllString(searchValue, replacement);
+		}
+
+		if (!searchValue.global) {
+			throw new TypeError(
+				'MagicString.prototype.replaceAll called with a non-global RegExp argument',
+			);
+		}
+
+		return this._replaceRegexp(searchValue, replacement);
+	}
+}
+
+const hasOwnProp = Object.prototype.hasOwnProperty;
+
+let Bundle$1 = class Bundle {
+	constructor(options = {}) {
+		this.intro = options.intro || '';
+		this.separator = options.separator !== undefined ? options.separator : '\n';
+		this.sources = [];
+		this.uniqueSources = [];
+		this.uniqueSourceIndexByFilename = {};
+	}
+
+	addSource(source) {
+		if (source instanceof MagicString) {
+			return this.addSource({
+				content: source,
+				filename: source.filename,
+				separator: this.separator,
+			});
+		}
+
+		if (!isObject$1(source) || !source.content) {
+			throw new Error(
+				'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',
+			);
+		}
+
+		['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {
+			if (!hasOwnProp.call(source, option)) source[option] = source.content[option];
+		});
+
+		if (source.separator === undefined) {
+			// TODO there's a bunch of this sort of thing, needs cleaning up
+			source.separator = this.separator;
+		}
+
+		if (source.filename) {
+			if (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {
+				this.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;
+				this.uniqueSources.push({ filename: source.filename, content: source.content.original });
+			} else {
+				const uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];
+				if (source.content.original !== uniqueSource.content) {
+					throw new Error(`Illegal source: same filename (${source.filename}), different contents`);
+				}
+			}
+		}
+
+		this.sources.push(source);
+		return this;
+	}
+
+	append(str, options) {
+		this.addSource({
+			content: new MagicString(str),
+			separator: (options && options.separator) || '',
+		});
+
+		return this;
+	}
+
+	clone() {
+		const bundle = new Bundle({
+			intro: this.intro,
+			separator: this.separator,
+		});
+
+		this.sources.forEach((source) => {
+			bundle.addSource({
+				filename: source.filename,
+				content: source.content.clone(),
+				separator: source.separator,
+			});
+		});
+
+		return bundle;
+	}
+
+	generateDecodedMap(options = {}) {
+		const names = [];
+		let x_google_ignoreList = undefined;
+		this.sources.forEach((source) => {
+			Object.keys(source.content.storedNames).forEach((name) => {
+				if (!~names.indexOf(name)) names.push(name);
+			});
+		});
+
+		const mappings = new Mappings(options.hires);
+
+		if (this.intro) {
+			mappings.advance(this.intro);
+		}
+
+		this.sources.forEach((source, i) => {
+			if (i > 0) {
+				mappings.advance(this.separator);
+			}
+
+			const sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;
+			const magicString = source.content;
+			const locate = getLocator(magicString.original);
+
+			if (magicString.intro) {
+				mappings.advance(magicString.intro);
+			}
+
+			magicString.firstChunk.eachNext((chunk) => {
+				const loc = locate(chunk.start);
+
+				if (chunk.intro.length) mappings.advance(chunk.intro);
+
+				if (source.filename) {
+					if (chunk.edited) {
+						mappings.addEdit(
+							sourceIndex,
+							chunk.content,
+							loc,
+							chunk.storeName ? names.indexOf(chunk.original) : -1,
+						);
+					} else {
+						mappings.addUneditedChunk(
+							sourceIndex,
+							chunk,
+							magicString.original,
+							loc,
+							magicString.sourcemapLocations,
+						);
+					}
+				} else {
+					mappings.advance(chunk.content);
+				}
+
+				if (chunk.outro.length) mappings.advance(chunk.outro);
+			});
+
+			if (magicString.outro) {
+				mappings.advance(magicString.outro);
+			}
+
+			if (source.ignoreList && sourceIndex !== -1) {
+				if (x_google_ignoreList === undefined) {
+					x_google_ignoreList = [];
+				}
+				x_google_ignoreList.push(sourceIndex);
+			}
+		});
+
+		return {
+			file: options.file ? options.file.split(/[/\\]/).pop() : undefined,
+			sources: this.uniqueSources.map((source) => {
+				return options.file ? getRelativePath(options.file, source.filename) : source.filename;
+			}),
+			sourcesContent: this.uniqueSources.map((source) => {
+				return options.includeContent ? source.content : null;
+			}),
+			names,
+			mappings: mappings.raw,
+			x_google_ignoreList,
+		};
+	}
+
+	generateMap(options) {
+		return new SourceMap(this.generateDecodedMap(options));
+	}
+
+	getIndentString() {
+		const indentStringCounts = {};
+
+		this.sources.forEach((source) => {
+			const indentStr = source.content._getRawIndentString();
+
+			if (indentStr === null) return;
+
+			if (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;
+			indentStringCounts[indentStr] += 1;
+		});
+
+		return (
+			Object.keys(indentStringCounts).sort((a, b) => {
+				return indentStringCounts[a] - indentStringCounts[b];
+			})[0] || '\t'
+		);
+	}
+
+	indent(indentStr) {
+		if (!arguments.length) {
+			indentStr = this.getIndentString();
+		}
+
+		if (indentStr === '') return this; // noop
+
+		let trailingNewline = !this.intro || this.intro.slice(-1) === '\n';
+
+		this.sources.forEach((source, i) => {
+			const separator = source.separator !== undefined ? source.separator : this.separator;
+			const indentStart = trailingNewline || (i > 0 && /\r?\n$/.test(separator));
+
+			source.content.indent(indentStr, {
+				exclude: source.indentExclusionRanges,
+				indentStart, //: trailingNewline || /\r?\n$/.test( separator )  //true///\r?\n/.test( separator )
+			});
+
+			trailingNewline = source.content.lastChar() === '\n';
+		});
+
+		if (this.intro) {
+			this.intro =
+				indentStr +
+				this.intro.replace(/^[^\n]/gm, (match, index) => {
+					return index > 0 ? indentStr + match : match;
+				});
+		}
+
+		return this;
+	}
+
+	prepend(str) {
+		this.intro = str + this.intro;
+		return this;
+	}
+
+	toString() {
+		const body = this.sources
+			.map((source, i) => {
+				const separator = source.separator !== undefined ? source.separator : this.separator;
+				const str = (i > 0 ? separator : '') + source.content.toString();
+
+				return str;
+			})
+			.join('');
+
+		return this.intro + body;
+	}
+
+	isEmpty() {
+		if (this.intro.length && this.intro.trim()) return false;
+		if (this.sources.some((source) => !source.content.isEmpty())) return false;
+		return true;
+	}
+
+	length() {
+		return this.sources.reduce(
+			(length, source) => length + source.content.length(),
+			this.intro.length,
+		);
+	}
+
+	trimLines() {
+		return this.trim('[\\r\\n]');
+	}
+
+	trim(charType) {
+		return this.trimStart(charType).trimEnd(charType);
+	}
+
+	trimStart(charType) {
+		const rx = new RegExp('^' + (charType || '\\s') + '+');
+		this.intro = this.intro.replace(rx, '');
+
+		if (!this.intro) {
+			let source;
+			let i = 0;
+
+			do {
+				source = this.sources[i++];
+				if (!source) {
+					break;
+				}
+			} while (!source.content.trimStartAborted(charType));
+		}
+
+		return this;
+	}
+
+	trimEnd(charType) {
+		const rx = new RegExp((charType || '\\s') + '+$');
+
+		let source;
+		let i = this.sources.length - 1;
+
+		do {
+			source = this.sources[i--];
+			if (!source) {
+				this.intro = this.intro.replace(rx, '');
+				break;
+			}
+		} while (!source.content.trimEndAborted(charType));
+
+		return this;
+	}
+};
+
+const needsEscapeRegEx = /[\n\r'\\\u2028\u2029]/;
+const quoteNewlineRegEx = /([\n\r'\u2028\u2029])/g;
+const backSlashRegEx = /\\/g;
+function escapeId(id) {
+    if (!needsEscapeRegEx.test(id))
+        return id;
+    return id.replace(backSlashRegEx, '\\\\').replace(quoteNewlineRegEx, '\\$1');
+}
+
+class ExternalChunk {
+    constructor(module, options, inputBase) {
+        this.options = options;
+        this.inputBase = inputBase;
+        this.defaultVariableName = '';
+        this.namespaceVariableName = '';
+        this.variableName = '';
+        this.fileName = null;
+        this.importAttributes = null;
+        this.id = module.id;
+        this.moduleInfo = module.info;
+        this.renormalizeRenderPath = module.renormalizeRenderPath;
+        this.suggestedVariableName = module.suggestedVariableName;
+    }
+    getFileName() {
+        if (this.fileName) {
+            return this.fileName;
+        }
+        const { paths } = this.options;
+        return (this.fileName =
+            (typeof paths === 'function' ? paths(this.id) : paths[this.id]) ||
+                (this.renormalizeRenderPath ? parseAst_js.normalize(node_path.relative(this.inputBase, this.id)) : this.id));
+    }
+    getImportAttributes(snippets) {
+        return (this.importAttributes ||= formatAttributes(this.options.format === 'es' &&
+            this.options.externalImportAttributes &&
+            this.moduleInfo.attributes, snippets));
+    }
+    getImportPath(importer) {
+        return escapeId(this.renormalizeRenderPath
+            ? parseAst_js.getImportPath(importer, this.getFileName(), this.options.format === 'amd', false)
+            : this.getFileName());
+    }
+}
+function formatAttributes(attributes, { getObject }) {
+    if (!attributes) {
+        return null;
+    }
+    const assertionEntries = Object.entries(attributes).map(([key, value]) => [key, `'${value}'`]);
+    if (assertionEntries.length > 0) {
+        return getObject(assertionEntries, { lineBreakIndent: null });
+    }
+    return null;
+}
+
+const UnknownKey = Symbol('Unknown Key');
+const UnknownNonAccessorKey = Symbol('Unknown Non-Accessor Key');
+const UnknownInteger = Symbol('Unknown Integer');
+const SymbolToStringTag = Symbol('Symbol.toStringTag');
+const EMPTY_PATH = [];
+const UNKNOWN_PATH = [UnknownKey];
+// For deoptimizations, this means we are modifying an unknown property but did
+// not lose track of the object or are creating a setter/getter;
+// For assignment effects it means we do not check for setter/getter effects
+// but only if something is mutated that is included, which is relevant for
+// Object.defineProperty
+const UNKNOWN_NON_ACCESSOR_PATH = [UnknownNonAccessorKey];
+const UNKNOWN_INTEGER_PATH = [UnknownInteger];
+const EntitiesKey = Symbol('Entities');
+class PathTracker {
+    constructor() {
+        this.entityPaths = Object.create(null, {
+            [EntitiesKey]: { value: new Set() }
+        });
+    }
+    trackEntityAtPathAndGetIfTracked(path, entity) {
+        const trackedEntities = this.getEntities(path);
+        if (trackedEntities.has(entity))
+            return true;
+        trackedEntities.add(entity);
+        return false;
+    }
+    withTrackedEntityAtPath(path, entity, onUntracked, returnIfTracked) {
+        const trackedEntities = this.getEntities(path);
+        if (trackedEntities.has(entity))
+            return returnIfTracked;
+        trackedEntities.add(entity);
+        const result = onUntracked();
+        trackedEntities.delete(entity);
+        return result;
+    }
+    getEntities(path) {
+        let currentPaths = this.entityPaths;
+        for (const pathSegment of path) {
+            currentPaths = currentPaths[pathSegment] =
+                currentPaths[pathSegment] ||
+                    Object.create(null, { [EntitiesKey]: { value: new Set() } });
+        }
+        return currentPaths[EntitiesKey];
+    }
+}
+const SHARED_RECURSION_TRACKER = new PathTracker();
+class DiscriminatedPathTracker {
+    constructor() {
+        this.entityPaths = Object.create(null, {
+            [EntitiesKey]: { value: new Map() }
+        });
+    }
+    trackEntityAtPathAndGetIfTracked(path, discriminator, entity) {
+        let currentPaths = this.entityPaths;
+        for (const pathSegment of path) {
+            currentPaths = currentPaths[pathSegment] =
+                currentPaths[pathSegment] ||
+                    Object.create(null, { [EntitiesKey]: { value: new Map() } });
+        }
+        const trackedEntities = getOrCreate(currentPaths[EntitiesKey], discriminator, (getNewSet));
+        if (trackedEntities.has(entity))
+            return true;
+        trackedEntities.add(entity);
+        return false;
+    }
+}
+
+function isFlagSet(flags, flag) {
+    return (flags & flag) !== 0;
+}
+function setFlag(flags, flag, value) {
+    return (flags & ~flag) | (-value & flag);
+}
+
+const UnknownValue = Symbol('Unknown Value');
+const UnknownTruthyValue = Symbol('Unknown Truthy Value');
+class ExpressionEntity {
+    constructor() {
+        this.flags = 0;
+    }
+    get included() {
+        return isFlagSet(this.flags, 1 /* Flag.included */);
+    }
+    set included(value) {
+        this.flags = setFlag(this.flags, 1 /* Flag.included */, value);
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, _path, _recursionTracker) {
+        deoptimizeInteraction(interaction);
+    }
+    deoptimizePath(_path) { }
+    /**
+     * If possible it returns a stringifyable literal value for this node that
+     * can be used for inlining or comparing values. Otherwise, it should return
+     * UnknownValue.
+     */
+    getLiteralValueAtPath(_path, _recursionTracker, _origin) {
+        return UnknownValue;
+    }
+    getReturnExpressionWhenCalledAtPath(_path, _interaction, _recursionTracker, _origin) {
+        return UNKNOWN_RETURN_EXPRESSION;
+    }
+    hasEffectsOnInteractionAtPath(_path, _interaction, _context) {
+        return true;
+    }
+    include(_context, _includeChildrenRecursively, _options) {
+        this.included = true;
+    }
+    includeCallArguments(context, parameters) {
+        for (const argument of parameters) {
+            argument.include(context, false);
+        }
+    }
+    shouldBeIncluded(_context) {
+        return true;
+    }
+}
+const UNKNOWN_EXPRESSION = new (class UnknownExpression extends ExpressionEntity {
+})();
+const UNKNOWN_RETURN_EXPRESSION = [
+    UNKNOWN_EXPRESSION,
+    false
+];
+const deoptimizeInteraction = (interaction) => {
+    for (const argument of interaction.args) {
+        argument?.deoptimizePath(UNKNOWN_PATH);
+    }
+};
+
+const INTERACTION_ACCESSED = 0;
+const INTERACTION_ASSIGNED = 1;
+const INTERACTION_CALLED = 2;
+const NODE_INTERACTION_UNKNOWN_ACCESS = {
+    args: [null],
+    type: INTERACTION_ACCESSED
+};
+const NODE_INTERACTION_UNKNOWN_ASSIGNMENT = {
+    args: [null, UNKNOWN_EXPRESSION],
+    type: INTERACTION_ASSIGNED
+};
+// While this is technically a call without arguments, we can compare against
+// this reference in places where precise values or this argument would make a
+// difference
+const NODE_INTERACTION_UNKNOWN_CALL = {
+    args: [null],
+    type: INTERACTION_CALLED,
+    withNew: false
+};
+
+class Variable extends ExpressionEntity {
+    constructor(name) {
+        super();
+        this.name = name;
+        this.alwaysRendered = false;
+        this.forbiddenNames = null;
+        this.initReached = false;
+        this.isId = false;
+        this.isReassigned = false;
+        this.kind = null;
+        this.renderBaseName = null;
+        this.renderName = null;
+    }
+    /**
+     * Binds identifiers that reference this variable to this variable.
+     * Necessary to be able to change variable names.
+     */
+    addReference(_identifier) { }
+    /**
+     * Prevent this variable from being renamed to this name to avoid name
+     * collisions
+     */
+    forbidName(name) {
+        (this.forbiddenNames ||= new Set()).add(name);
+    }
+    getBaseVariableName() {
+        return (this.renderedLikeHoisted?.getBaseVariableName() ||
+            this.renderBaseName ||
+            this.renderName ||
+            this.name);
+    }
+    getName(getPropertyAccess, useOriginalName) {
+        if (useOriginalName?.(this)) {
+            return this.name;
+        }
+        if (this.renderedLikeHoisted) {
+            return this.renderedLikeHoisted.getName(getPropertyAccess, useOriginalName);
+        }
+        const name = this.renderName || this.name;
+        return this.renderBaseName ? `${this.renderBaseName}${getPropertyAccess(name)}` : name;
+    }
+    hasEffectsOnInteractionAtPath(path, { type }, _context) {
+        return type !== INTERACTION_ACCESSED || path.length > 0;
+    }
+    /**
+     * Marks this variable as being part of the bundle, which is usually the case when one of
+     * its identifiers becomes part of the bundle. Returns true if it has not been included
+     * previously.
+     * Once a variable is included, it should take care all its declarations are included.
+     */
+    include() {
+        this.included = true;
+        this.renderedLikeHoisted?.include();
+    }
+    /**
+     * Links the rendered name of this variable to another variable and includes
+     * this variable if the other variable is included.
+     */
+    renderLikeHoisted(variable) {
+        this.renderedLikeHoisted = variable;
+    }
+    markCalledFromTryStatement() { }
+    setRenderNames(baseName, name) {
+        this.renderBaseName = baseName;
+        this.renderName = name;
+    }
+}
+
+class ExternalVariable extends Variable {
+    constructor(module, name) {
+        super(name);
+        this.referenced = false;
+        this.module = module;
+        this.isNamespace = name === '*';
+    }
+    addReference(identifier) {
+        this.referenced = true;
+        if (this.name === 'default' || this.name === '*') {
+            this.module.suggestName(identifier.name);
+        }
+    }
+    hasEffectsOnInteractionAtPath(path, { type }) {
+        return type !== INTERACTION_ACCESSED || path.length > (this.isNamespace ? 1 : 0);
+    }
+    include() {
+        super.include();
+        this.module.used = true;
+    }
+}
+
+const RESERVED_NAMES = new Set([
+    'await',
+    'break',
+    'case',
+    'catch',
+    'class',
+    'const',
+    'continue',
+    'debugger',
+    'default',
+    'delete',
+    'do',
+    'else',
+    'enum',
+    'eval',
+    'export',
+    'extends',
+    'false',
+    'finally',
+    'for',
+    'function',
+    'if',
+    'implements',
+    'import',
+    'in',
+    'instanceof',
+    'interface',
+    'let',
+    'NaN',
+    'new',
+    'null',
+    'package',
+    'private',
+    'protected',
+    'public',
+    'return',
+    'static',
+    'super',
+    'switch',
+    'this',
+    'throw',
+    'true',
+    'try',
+    'typeof',
+    'undefined',
+    'var',
+    'void',
+    'while',
+    'with',
+    'yield'
+]);
+
+const illegalCharacters = /[^\w$]/g;
+const startsWithDigit = (value) => /\d/.test(value[0]);
+const needsEscape = (value) => startsWithDigit(value) || RESERVED_NAMES.has(value) || value === 'arguments';
+function isLegal(value) {
+    if (needsEscape(value)) {
+        return false;
+    }
+    return !illegalCharacters.test(value);
+}
+function makeLegal(value) {
+    value = value
+        .replace(/-(\w)/g, (_, letter) => letter.toUpperCase())
+        .replace(illegalCharacters, '_');
+    if (needsEscape(value))
+        value = `_${value}`;
+    return value || '_';
+}
+const VALID_IDENTIFIER_REGEXP = /^[$_\p{ID_Start}][$\u200C\u200D\p{ID_Continue}]*$/u;
+const NUMBER_REGEXP = /^(?:0|[1-9]\d*)$/;
+function stringifyObjectKeyIfNeeded(key) {
+    if (VALID_IDENTIFIER_REGEXP.test(key)) {
+        return key === '__proto__' ? '["__proto__"]' : key;
+    }
+    if (NUMBER_REGEXP.test(key) && +key <= Number.MAX_SAFE_INTEGER) {
+        return key;
+    }
+    return JSON.stringify(key);
+}
+function stringifyIdentifierIfNeeded(key) {
+    if (VALID_IDENTIFIER_REGEXP.test(key)) {
+        return key;
+    }
+    return JSON.stringify(key);
+}
+
+class ExternalModule {
+    constructor(options, id, moduleSideEffects, meta, renormalizeRenderPath, attributes) {
+        this.options = options;
+        this.id = id;
+        this.renormalizeRenderPath = renormalizeRenderPath;
+        this.dynamicImporters = [];
+        this.execIndex = Infinity;
+        this.exportedVariables = new Map();
+        this.importers = [];
+        this.reexported = false;
+        this.used = false;
+        this.declarations = new Map();
+        this.mostCommonSuggestion = 0;
+        this.nameSuggestions = new Map();
+        this.suggestedVariableName = makeLegal(id.split(/[/\\]/).pop());
+        const { importers, dynamicImporters } = this;
+        this.info = {
+            ast: null,
+            attributes,
+            code: null,
+            dynamicallyImportedIdResolutions: EMPTY_ARRAY,
+            dynamicallyImportedIds: EMPTY_ARRAY,
+            get dynamicImporters() {
+                return dynamicImporters.sort();
+            },
+            exportedBindings: null,
+            exports: null,
+            hasDefaultExport: null,
+            id,
+            implicitlyLoadedAfterOneOf: EMPTY_ARRAY,
+            implicitlyLoadedBefore: EMPTY_ARRAY,
+            importedIdResolutions: EMPTY_ARRAY,
+            importedIds: EMPTY_ARRAY,
+            get importers() {
+                return importers.sort();
+            },
+            isEntry: false,
+            isExternal: true,
+            isIncluded: null,
+            meta,
+            moduleSideEffects,
+            syntheticNamedExports: false
+        };
+    }
+    getVariableForExportName(name) {
+        const declaration = this.declarations.get(name);
+        if (declaration)
+            return [declaration];
+        const externalVariable = new ExternalVariable(this, name);
+        this.declarations.set(name, externalVariable);
+        this.exportedVariables.set(externalVariable, name);
+        return [externalVariable];
+    }
+    suggestName(name) {
+        const value = (this.nameSuggestions.get(name) ?? 0) + 1;
+        this.nameSuggestions.set(name, value);
+        if (value > this.mostCommonSuggestion) {
+            this.mostCommonSuggestion = value;
+            this.suggestedVariableName = name;
+        }
+    }
+    warnUnusedImports() {
+        const unused = [...this.declarations]
+            .filter(([name, declaration]) => name !== '*' && !declaration.included && !this.reexported && !declaration.referenced)
+            .map(([name]) => name);
+        if (unused.length === 0)
+            return;
+        const importersSet = new Set();
+        for (const name of unused) {
+            for (const importer of this.declarations.get(name).module.importers) {
+                importersSet.add(importer);
+            }
+        }
+        const importersArray = [...importersSet];
+        this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logUnusedExternalImports(this.id, unused, importersArray));
+    }
+}
+
+function getDefaultExportFromCjs (x) {
+	return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
+}
+
+function getAugmentedNamespace(n) {
+  if (n.__esModule) return n;
+  var f = n.default;
+	if (typeof f == "function") {
+		var a = function a () {
+			if (this instanceof a) {
+        return Reflect.construct(f, arguments, this.constructor);
+			}
+			return f.apply(this, arguments);
+		};
+		a.prototype = f.prototype;
+  } else a = {};
+  Object.defineProperty(a, '__esModule', {value: true});
+	Object.keys(n).forEach(function (k) {
+		var d = Object.getOwnPropertyDescriptor(n, k);
+		Object.defineProperty(a, k, d.get ? d : {
+			enumerable: true,
+			get: function () {
+				return n[k];
+			}
+		});
+	});
+	return a;
+}
+
+var utils$3 = {};
+
+const path$1 = require$$0$1;
+const WIN_SLASH = '\\\\/';
+const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
+
+/**
+ * Posix glob regex
+ */
+
+const DOT_LITERAL = '\\.';
+const PLUS_LITERAL = '\\+';
+const QMARK_LITERAL = '\\?';
+const SLASH_LITERAL = '\\/';
+const ONE_CHAR = '(?=.)';
+const QMARK = '[^/]';
+const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
+const START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
+const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
+const NO_DOT = `(?!${DOT_LITERAL})`;
+const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
+const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
+const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
+const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
+const STAR = `${QMARK}*?`;
+
+const POSIX_CHARS = {
+  DOT_LITERAL,
+  PLUS_LITERAL,
+  QMARK_LITERAL,
+  SLASH_LITERAL,
+  ONE_CHAR,
+  QMARK,
+  END_ANCHOR,
+  DOTS_SLASH,
+  NO_DOT,
+  NO_DOTS,
+  NO_DOT_SLASH,
+  NO_DOTS_SLASH,
+  QMARK_NO_DOT,
+  STAR,
+  START_ANCHOR
+};
+
+/**
+ * Windows glob regex
+ */
+
+const WINDOWS_CHARS = {
+  ...POSIX_CHARS,
+
+  SLASH_LITERAL: `[${WIN_SLASH}]`,
+  QMARK: WIN_NO_SLASH,
+  STAR: `${WIN_NO_SLASH}*?`,
+  DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
+  NO_DOT: `(?!${DOT_LITERAL})`,
+  NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
+  NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
+  NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
+  QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
+  START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
+  END_ANCHOR: `(?:[${WIN_SLASH}]|$)`
+};
+
+/**
+ * POSIX Bracket Regex
+ */
+
+const POSIX_REGEX_SOURCE$1 = {
+  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'
+};
+
+var constants$2 = {
+  MAX_LENGTH: 1024 * 64,
+  POSIX_REGEX_SOURCE: POSIX_REGEX_SOURCE$1,
+
+  // regular expressions
+  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,
+
+  // Replace globs with equivalent patterns to reduce parsing time.
+  REPLACEMENTS: {
+    '***': '*',
+    '**/**': '**',
+    '**/**/**': '**'
+  },
+
+  // Digits
+  CHAR_0: 48, /* 0 */
+  CHAR_9: 57, /* 9 */
+
+  // Alphabet chars.
+  CHAR_UPPERCASE_A: 65, /* A */
+  CHAR_LOWERCASE_A: 97, /* a */
+  CHAR_UPPERCASE_Z: 90, /* Z */
+  CHAR_LOWERCASE_Z: 122, /* z */
+
+  CHAR_LEFT_PARENTHESES: 40, /* ( */
+  CHAR_RIGHT_PARENTHESES: 41, /* ) */
+
+  CHAR_ASTERISK: 42, /* * */
+
+  // Non-alphabetic chars.
+  CHAR_AMPERSAND: 38, /* & */
+  CHAR_AT: 64, /* @ */
+  CHAR_BACKWARD_SLASH: 92, /* \ */
+  CHAR_CARRIAGE_RETURN: 13, /* \r */
+  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, /* \f */
+  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, /* \n */
+  CHAR_NO_BREAK_SPACE: 160, /* \u00A0 */
+  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, /* \t */
+  CHAR_UNDERSCORE: 95, /* _ */
+  CHAR_VERTICAL_LINE: 124, /* | */
+  CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */
+
+  SEP: path$1.sep,
+
+  /**
+   * Create EXTGLOB_CHARS
+   */
+
+  extglobChars(chars) {
+    return {
+      '!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` },
+      '?': { type: 'qmark', open: '(?:', close: ')?' },
+      '+': { type: 'plus', open: '(?:', close: ')+' },
+      '*': { type: 'star', open: '(?:', close: ')*' },
+      '@': { type: 'at', open: '(?:', close: ')' }
+    };
+  },
+
+  /**
+   * Create GLOB_CHARS
+   */
+
+  globChars(win32) {
+    return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
+  }
+};
+
+(function (exports) {
+
+	const path = require$$0$1;
+	const win32 = process.platform === 'win32';
+	const {
+	  REGEX_BACKSLASH,
+	  REGEX_REMOVE_BACKSLASH,
+	  REGEX_SPECIAL_CHARS,
+	  REGEX_SPECIAL_CHARS_GLOBAL
+	} = constants$2;
+
+	exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);
+	exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str);
+	exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str);
+	exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1');
+	exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/');
+
+	exports.removeBackslashes = str => {
+	  return str.replace(REGEX_REMOVE_BACKSLASH, match => {
+	    return match === '\\' ? '' : match;
+	  });
+	};
+
+	exports.supportsLookbehinds = () => {
+	  const segs = process.version.slice(1).split('.').map(Number);
+	  if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) {
+	    return true;
+	  }
+	  return false;
+	};
+
+	exports.isWindows = options => {
+	  if (options && typeof options.windows === 'boolean') {
+	    return options.windows;
+	  }
+	  return win32 === true || path.sep === '\\';
+	};
+
+	exports.escapeLast = (input, char, lastIdx) => {
+	  const idx = input.lastIndexOf(char, lastIdx);
+	  if (idx === -1) return input;
+	  if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1);
+	  return `${input.slice(0, idx)}\\${input.slice(idx)}`;
+	};
+
+	exports.removePrefix = (input, state = {}) => {
+	  let output = input;
+	  if (output.startsWith('./')) {
+	    output = output.slice(2);
+	    state.prefix = './';
+	  }
+	  return output;
+	};
+
+	exports.wrapOutput = (input, state = {}, options = {}) => {
+	  const prepend = options.contains ? '' : '^';
+	  const append = options.contains ? '' : '$';
+
+	  let output = `${prepend}(?:${input})${append}`;
+	  if (state.negated === true) {
+	    output = `(?:^(?!${output}).*$)`;
+	  }
+	  return output;
+	}; 
+} (utils$3));
+
+const utils$2 = utils$3;
+const {
+  CHAR_ASTERISK,             /* * */
+  CHAR_AT,                   /* @ */
+  CHAR_BACKWARD_SLASH,       /* \ */
+  CHAR_COMMA,                /* , */
+  CHAR_DOT,                  /* . */
+  CHAR_EXCLAMATION_MARK,     /* ! */
+  CHAR_FORWARD_SLASH,        /* / */
+  CHAR_LEFT_CURLY_BRACE,     /* { */
+  CHAR_LEFT_PARENTHESES,     /* ( */
+  CHAR_LEFT_SQUARE_BRACKET,  /* [ */
+  CHAR_PLUS,                 /* + */
+  CHAR_QUESTION_MARK,        /* ? */
+  CHAR_RIGHT_CURLY_BRACE,    /* } */
+  CHAR_RIGHT_PARENTHESES,    /* ) */
+  CHAR_RIGHT_SQUARE_BRACKET  /* ] */
+} = constants$2;
+
+const isPathSeparator = code => {
+  return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
+};
+
+const depth = token => {
+  if (token.isPrefix !== true) {
+    token.depth = token.isGlobstar ? Infinity : 1;
+  }
+};
+
+/**
+ * Quickly scans a glob pattern and returns an object with a handful of
+ * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists),
+ * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not
+ * with `!(`) and `negatedExtglob` (true if the path starts with `!(`).
+ *
+ * ```js
+ * const pm = require('picomatch');
+ * console.log(pm.scan('foo/bar/*.js'));
+ * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' }
+ * ```
+ * @param {String} `str`
+ * @param {Object} `options`
+ * @return {Object} Returns an object with tokens and regex source string.
+ * @api public
+ */
+
+const scan$1 = (input, options) => {
+  const opts = options || {};
+
+  const length = input.length - 1;
+  const scanToEnd = opts.parts === true || opts.scanToEnd === true;
+  const slashes = [];
+  const tokens = [];
+  const parts = [];
+
+  let str = input;
+  let index = -1;
+  let start = 0;
+  let lastIndex = 0;
+  let isBrace = false;
+  let isBracket = false;
+  let isGlob = false;
+  let isExtglob = false;
+  let isGlobstar = false;
+  let braceEscaped = false;
+  let backslashes = false;
+  let negated = false;
+  let negatedExtglob = false;
+  let finished = false;
+  let braces = 0;
+  let prev;
+  let code;
+  let token = { value: '', depth: 0, isGlob: false };
+
+  const eos = () => index >= length;
+  const peek = () => str.charCodeAt(index + 1);
+  const advance = () => {
+    prev = code;
+    return str.charCodeAt(++index);
+  };
+
+  while (index < length) {
+    code = advance();
+    let next;
+
+    if (code === CHAR_BACKWARD_SLASH) {
+      backslashes = token.backslashes = true;
+      code = advance();
+
+      if (code === CHAR_LEFT_CURLY_BRACE) {
+        braceEscaped = true;
+      }
+      continue;
+    }
+
+    if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
+      braces++;
+
+      while (eos() !== true && (code = advance())) {
+        if (code === CHAR_BACKWARD_SLASH) {
+          backslashes = token.backslashes = true;
+          advance();
+          continue;
+        }
+
+        if (code === CHAR_LEFT_CURLY_BRACE) {
+          braces++;
+          continue;
+        }
+
+        if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
+          isBrace = token.isBrace = true;
+          isGlob = token.isGlob = true;
+          finished = true;
+
+          if (scanToEnd === true) {
+            continue;
+          }
+
+          break;
+        }
+
+        if (braceEscaped !== true && code === CHAR_COMMA) {
+          isBrace = token.isBrace = true;
+          isGlob = token.isGlob = true;
+          finished = true;
+
+          if (scanToEnd === true) {
+            continue;
+          }
+
+          break;
+        }
+
+        if (code === CHAR_RIGHT_CURLY_BRACE) {
+          braces--;
+
+          if (braces === 0) {
+            braceEscaped = false;
+            isBrace = token.isBrace = true;
+            finished = true;
+            break;
+          }
+        }
+      }
+
+      if (scanToEnd === true) {
+        continue;
+      }
+
+      break;
+    }
+
+    if (code === CHAR_FORWARD_SLASH) {
+      slashes.push(index);
+      tokens.push(token);
+      token = { value: '', depth: 0, isGlob: false };
+
+      if (finished === true) continue;
+      if (prev === CHAR_DOT && index === (start + 1)) {
+        start += 2;
+        continue;
+      }
+
+      lastIndex = index + 1;
+      continue;
+    }
+
+    if (opts.noext !== true) {
+      const isExtglobChar = code === CHAR_PLUS
+        || code === CHAR_AT
+        || code === CHAR_ASTERISK
+        || code === CHAR_QUESTION_MARK
+        || code === CHAR_EXCLAMATION_MARK;
+
+      if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
+        isGlob = token.isGlob = true;
+        isExtglob = token.isExtglob = true;
+        finished = true;
+        if (code === CHAR_EXCLAMATION_MARK && index === start) {
+          negatedExtglob = true;
+        }
+
+        if (scanToEnd === true) {
+          while (eos() !== true && (code = advance())) {
+            if (code === CHAR_BACKWARD_SLASH) {
+              backslashes = token.backslashes = true;
+              code = advance();
+              continue;
+            }
+
+            if (code === CHAR_RIGHT_PARENTHESES) {
+              isGlob = token.isGlob = true;
+              finished = true;
+              break;
+            }
+          }
+          continue;
+        }
+        break;
+      }
+    }
+
+    if (code === CHAR_ASTERISK) {
+      if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;
+      isGlob = token.isGlob = true;
+      finished = true;
+
+      if (scanToEnd === true) {
+        continue;
+      }
+      break;
+    }
+
+    if (code === CHAR_QUESTION_MARK) {
+      isGlob = token.isGlob = true;
+      finished = true;
+
+      if (scanToEnd === true) {
+        continue;
+      }
+      break;
+    }
+
+    if (code === CHAR_LEFT_SQUARE_BRACKET) {
+      while (eos() !== true && (next = advance())) {
+        if (next === CHAR_BACKWARD_SLASH) {
+          backslashes = token.backslashes = true;
+          advance();
+          continue;
+        }
+
+        if (next === CHAR_RIGHT_SQUARE_BRACKET) {
+          isBracket = token.isBracket = true;
+          isGlob = token.isGlob = true;
+          finished = true;
+          break;
+        }
+      }
+
+      if (scanToEnd === true) {
+        continue;
+      }
+
+      break;
+    }
+
+    if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
+      negated = token.negated = true;
+      start++;
+      continue;
+    }
+
+    if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
+      isGlob = token.isGlob = true;
+
+      if (scanToEnd === true) {
+        while (eos() !== true && (code = advance())) {
+          if (code === CHAR_LEFT_PARENTHESES) {
+            backslashes = token.backslashes = true;
+            code = advance();
+            continue;
+          }
+
+          if (code === CHAR_RIGHT_PARENTHESES) {
+            finished = true;
+            break;
+          }
+        }
+        continue;
+      }
+      break;
+    }
+
+    if (isGlob === true) {
+      finished = true;
+
+      if (scanToEnd === true) {
+        continue;
+      }
+
+      break;
+    }
+  }
+
+  if (opts.noext === true) {
+    isExtglob = false;
+    isGlob = false;
+  }
+
+  let base = str;
+  let prefix = '';
+  let glob = '';
+
+  if (start > 0) {
+    prefix = str.slice(0, start);
+    str = str.slice(start);
+    lastIndex -= start;
+  }
+
+  if (base && isGlob === true && lastIndex > 0) {
+    base = str.slice(0, lastIndex);
+    glob = str.slice(lastIndex);
+  } else if (isGlob === true) {
+    base = '';
+    glob = str;
+  } else {
+    base = str;
+  }
+
+  if (base && base !== '' && base !== '/' && base !== str) {
+    if (isPathSeparator(base.charCodeAt(base.length - 1))) {
+      base = base.slice(0, -1);
+    }
+  }
+
+  if (opts.unescape === true) {
+    if (glob) glob = utils$2.removeBackslashes(glob);
+
+    if (base && backslashes === true) {
+      base = utils$2.removeBackslashes(base);
+    }
+  }
+
+  const state = {
+    prefix,
+    input,
+    start,
+    base,
+    glob,
+    isBrace,
+    isBracket,
+    isGlob,
+    isExtglob,
+    isGlobstar,
+    negated,
+    negatedExtglob
+  };
+
+  if (opts.tokens === true) {
+    state.maxDepth = 0;
+    if (!isPathSeparator(code)) {
+      tokens.push(token);
+    }
+    state.tokens = tokens;
+  }
+
+  if (opts.parts === true || opts.tokens === true) {
+    let prevIndex;
+
+    for (let idx = 0; idx < slashes.length; idx++) {
+      const n = prevIndex ? prevIndex + 1 : start;
+      const i = slashes[idx];
+      const value = input.slice(n, i);
+      if (opts.tokens) {
+        if (idx === 0 && start !== 0) {
+          tokens[idx].isPrefix = true;
+          tokens[idx].value = prefix;
+        } else {
+          tokens[idx].value = value;
+        }
+        depth(tokens[idx]);
+        state.maxDepth += tokens[idx].depth;
+      }
+      if (idx !== 0 || value !== '') {
+        parts.push(value);
+      }
+      prevIndex = i;
+    }
+
+    if (prevIndex && prevIndex + 1 < input.length) {
+      const value = input.slice(prevIndex + 1);
+      parts.push(value);
+
+      if (opts.tokens) {
+        tokens[tokens.length - 1].value = value;
+        depth(tokens[tokens.length - 1]);
+        state.maxDepth += tokens[tokens.length - 1].depth;
+      }
+    }
+
+    state.slashes = slashes;
+    state.parts = parts;
+  }
+
+  return state;
+};
+
+var scan_1 = scan$1;
+
+const constants$1 = constants$2;
+const utils$1 = utils$3;
+
+/**
+ * Constants
+ */
+
+const {
+  MAX_LENGTH,
+  POSIX_REGEX_SOURCE,
+  REGEX_NON_SPECIAL_CHARS,
+  REGEX_SPECIAL_CHARS_BACKREF,
+  REPLACEMENTS
+} = constants$1;
+
+/**
+ * Helpers
+ */
+
+const expandRange = (args, options) => {
+  if (typeof options.expandRange === 'function') {
+    return options.expandRange(...args, options);
+  }
+
+  args.sort();
+  const value = `[${args.join('-')}]`;
+
+  return value;
+};
+
+/**
+ * Create the message for a syntax error
+ */
+
+const syntaxError = (type, char) => {
+  return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
+};
+
+/**
+ * Parse the given input string.
+ * @param {String} input
+ * @param {Object} options
+ * @return {Object}
+ */
+
+const parse$1 = (input, options) => {
+  if (typeof input !== 'string') {
+    throw new TypeError('Expected a string');
+  }
+
+  input = REPLACEMENTS[input] || input;
+
+  const opts = { ...options };
+  const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
+
+  let len = input.length;
+  if (len > max) {
+    throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
+  }
+
+  const bos = { type: 'bos', value: '', output: opts.prepend || '' };
+  const tokens = [bos];
+
+  const capture = opts.capture ? '' : '?:';
+  const win32 = utils$1.isWindows(options);
+
+  // create constants based on platform, for windows or posix
+  const PLATFORM_CHARS = constants$1.globChars(win32);
+  const EXTGLOB_CHARS = constants$1.extglobChars(PLATFORM_CHARS);
+
+  const {
+    DOT_LITERAL,
+    PLUS_LITERAL,
+    SLASH_LITERAL,
+    ONE_CHAR,
+    DOTS_SLASH,
+    NO_DOT,
+    NO_DOT_SLASH,
+    NO_DOTS_SLASH,
+    QMARK,
+    QMARK_NO_DOT,
+    STAR,
+    START_ANCHOR
+  } = PLATFORM_CHARS;
+
+  const globstar = opts => {
+    return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
+  };
+
+  const nodot = opts.dot ? '' : NO_DOT;
+  const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
+  let star = opts.bash === true ? globstar(opts) : STAR;
+
+  if (opts.capture) {
+    star = `(${star})`;
+  }
+
+  // minimatch options support
+  if (typeof opts.noext === 'boolean') {
+    opts.noextglob = opts.noext;
+  }
+
+  const state = {
+    input,
+    index: -1,
+    start: 0,
+    dot: opts.dot === true,
+    consumed: '',
+    output: '',
+    prefix: '',
+    backtrack: false,
+    negated: false,
+    brackets: 0,
+    braces: 0,
+    parens: 0,
+    quotes: 0,
+    globstar: false,
+    tokens
+  };
+
+  input = utils$1.removePrefix(input, state);
+  len = input.length;
+
+  const extglobs = [];
+  const braces = [];
+  const stack = [];
+  let prev = bos;
+  let value;
+
+  /**
+   * Tokenizing helpers
+   */
+
+  const eos = () => state.index === len - 1;
+  const peek = state.peek = (n = 1) => input[state.index + n];
+  const advance = state.advance = () => input[++state.index] || '';
+  const remaining = () => input.slice(state.index + 1);
+  const consume = (value = '', num = 0) => {
+    state.consumed += value;
+    state.index += num;
+  };
+
+  const append = token => {
+    state.output += token.output != null ? token.output : token.value;
+    consume(token.value);
+  };
+
+  const negate = () => {
+    let count = 1;
+
+    while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) {
+      advance();
+      state.start++;
+      count++;
+    }
+
+    if (count % 2 === 0) {
+      return false;
+    }
+
+    state.negated = true;
+    state.start++;
+    return true;
+  };
+
+  const increment = type => {
+    state[type]++;
+    stack.push(type);
+  };
+
+  const decrement = type => {
+    state[type]--;
+    stack.pop();
+  };
+
+  /**
+   * Push tokens onto the tokens array. This helper speeds up
+   * tokenizing by 1) helping us avoid backtracking as much as possible,
+   * and 2) helping us avoid creating extra tokens when consecutive
+   * characters are plain text. This improves performance and simplifies
+   * lookbehinds.
+   */
+
+  const push = tok => {
+    if (prev.type === 'globstar') {
+      const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace');
+      const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren'));
+
+      if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) {
+        state.output = state.output.slice(0, -prev.output.length);
+        prev.type = 'star';
+        prev.value = '*';
+        prev.output = star;
+        state.output += prev.output;
+      }
+    }
+
+    if (extglobs.length && tok.type !== 'paren') {
+      extglobs[extglobs.length - 1].inner += tok.value;
+    }
+
+    if (tok.value || tok.output) append(tok);
+    if (prev && prev.type === 'text' && tok.type === 'text') {
+      prev.value += tok.value;
+      prev.output = (prev.output || '') + tok.value;
+      return;
+    }
+
+    tok.prev = prev;
+    tokens.push(tok);
+    prev = tok;
+  };
+
+  const extglobOpen = (type, value) => {
+    const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' };
+
+    token.prev = prev;
+    token.parens = state.parens;
+    token.output = state.output;
+    const output = (opts.capture ? '(' : '') + token.open;
+
+    increment('parens');
+    push({ type, value, output: state.output ? '' : ONE_CHAR });
+    push({ type: 'paren', extglob: true, value: advance(), output });
+    extglobs.push(token);
+  };
+
+  const extglobClose = token => {
+    let output = token.close + (opts.capture ? ')' : '');
+    let rest;
+
+    if (token.type === 'negate') {
+      let extglobStar = star;
+
+      if (token.inner && token.inner.length > 1 && token.inner.includes('/')) {
+        extglobStar = globstar(opts);
+      }
+
+      if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
+        output = token.close = `)$))${extglobStar}`;
+      }
+
+      if (token.inner.includes('*') && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
+        // Any non-magical string (`.ts`) or even nested expression (`.{ts,tsx}`) can follow after the closing parenthesis.
+        // In this case, we need to parse the string and use it in the output of the original pattern.
+        // Suitable patterns: `/!(*.d).ts`, `/!(*.d).{ts,tsx}`, `**/!(*-dbg).@(js)`.
+        //
+        // Disabling the `fastpaths` option due to a problem with parsing strings as `.ts` in the pattern like `**/!(*.d).ts`.
+        const expression = parse$1(rest, { ...options, fastpaths: false }).output;
+
+        output = token.close = `)${expression})${extglobStar})`;
+      }
+
+      if (token.prev.type === 'bos') {
+        state.negatedExtglob = true;
+      }
+    }
+
+    push({ type: 'paren', extglob: true, value, output });
+    decrement('parens');
+  };
+
+  /**
+   * Fast paths
+   */
+
+  if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
+    let backslashes = false;
+
+    let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {
+      if (first === '\\') {
+        backslashes = true;
+        return m;
+      }
+
+      if (first === '?') {
+        if (esc) {
+          return esc + first + (rest ? QMARK.repeat(rest.length) : '');
+        }
+        if (index === 0) {
+          return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : '');
+        }
+        return QMARK.repeat(chars.length);
+      }
+
+      if (first === '.') {
+        return DOT_LITERAL.repeat(chars.length);
+      }
+
+      if (first === '*') {
+        if (esc) {
+          return esc + first + (rest ? star : '');
+        }
+        return star;
+      }
+      return esc ? m : `\\${m}`;
+    });
+
+    if (backslashes === true) {
+      if (opts.unescape === true) {
+        output = output.replace(/\\/g, '');
+      } else {
+        output = output.replace(/\\+/g, m => {
+          return m.length % 2 === 0 ? '\\\\' : (m ? '\\' : '');
+        });
+      }
+    }
+
+    if (output === input && opts.contains === true) {
+      state.output = input;
+      return state;
+    }
+
+    state.output = utils$1.wrapOutput(output, state, options);
+    return state;
+  }
+
+  /**
+   * Tokenize input until we reach end-of-string
+   */
+
+  while (!eos()) {
+    value = advance();
+
+    if (value === '\u0000') {
+      continue;
+    }
+
+    /**
+     * Escaped characters
+     */
+
+    if (value === '\\') {
+      const next = peek();
+
+      if (next === '/' && opts.bash !== true) {
+        continue;
+      }
+
+      if (next === '.' || next === ';') {
+        continue;
+      }
+
+      if (!next) {
+        value += '\\';
+        push({ type: 'text', value });
+        continue;
+      }
+
+      // collapse slashes to reduce potential for exploits
+      const match = /^\\+/.exec(remaining());
+      let slashes = 0;
+
+      if (match && match[0].length > 2) {
+        slashes = match[0].length;
+        state.index += slashes;
+        if (slashes % 2 !== 0) {
+          value += '\\';
+        }
+      }
+
+      if (opts.unescape === true) {
+        value = advance();
+      } else {
+        value += advance();
+      }
+
+      if (state.brackets === 0) {
+        push({ type: 'text', value });
+        continue;
+      }
+    }
+
+    /**
+     * If we're inside a regex character class, continue
+     * until we reach the closing bracket.
+     */
+
+    if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) {
+      if (opts.posix !== false && value === ':') {
+        const inner = prev.value.slice(1);
+        if (inner.includes('[')) {
+          prev.posix = true;
+
+          if (inner.includes(':')) {
+            const idx = prev.value.lastIndexOf('[');
+            const pre = prev.value.slice(0, idx);
+            const rest = prev.value.slice(idx + 2);
+            const posix = POSIX_REGEX_SOURCE[rest];
+            if (posix) {
+              prev.value = pre + posix;
+              state.backtrack = true;
+              advance();
+
+              if (!bos.output && tokens.indexOf(prev) === 1) {
+                bos.output = ONE_CHAR;
+              }
+              continue;
+            }
+          }
+        }
+      }
+
+      if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) {
+        value = `\\${value}`;
+      }
+
+      if (value === ']' && (prev.value === '[' || prev.value === '[^')) {
+        value = `\\${value}`;
+      }
+
+      if (opts.posix === true && value === '!' && prev.value === '[') {
+        value = '^';
+      }
+
+      prev.value += value;
+      append({ value });
+      continue;
+    }
+
+    /**
+     * If we're inside a quoted string, continue
+     * until we reach the closing double quote.
+     */
+
+    if (state.quotes === 1 && value !== '"') {
+      value = utils$1.escapeRegex(value);
+      prev.value += value;
+      append({ value });
+      continue;
+    }
+
+    /**
+     * Double quotes
+     */
+
+    if (value === '"') {
+      state.quotes = state.quotes === 1 ? 0 : 1;
+      if (opts.keepQuotes === true) {
+        push({ type: 'text', value });
+      }
+      continue;
+    }
+
+    /**
+     * Parentheses
+     */
+
+    if (value === '(') {
+      increment('parens');
+      push({ type: 'paren', value });
+      continue;
+    }
+
+    if (value === ')') {
+      if (state.parens === 0 && opts.strictBrackets === true) {
+        throw new SyntaxError(syntaxError('opening', '('));
+      }
+
+      const extglob = extglobs[extglobs.length - 1];
+      if (extglob && state.parens === extglob.parens + 1) {
+        extglobClose(extglobs.pop());
+        continue;
+      }
+
+      push({ type: 'paren', value, output: state.parens ? ')' : '\\)' });
+      decrement('parens');
+      continue;
+    }
+
+    /**
+     * Square brackets
+     */
+
+    if (value === '[') {
+      if (opts.nobracket === true || !remaining().includes(']')) {
+        if (opts.nobracket !== true && opts.strictBrackets === true) {
+          throw new SyntaxError(syntaxError('closing', ']'));
+        }
+
+        value = `\\${value}`;
+      } else {
+        increment('brackets');
+      }
+
+      push({ type: 'bracket', value });
+      continue;
+    }
+
+    if (value === ']') {
+      if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) {
+        push({ type: 'text', value, output: `\\${value}` });
+        continue;
+      }
+
+      if (state.brackets === 0) {
+        if (opts.strictBrackets === true) {
+          throw new SyntaxError(syntaxError('opening', '['));
+        }
+
+        push({ type: 'text', value, output: `\\${value}` });
+        continue;
+      }
+
+      decrement('brackets');
+
+      const prevValue = prev.value.slice(1);
+      if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) {
+        value = `/${value}`;
+      }
+
+      prev.value += value;
+      append({ value });
+
+      // when literal brackets are explicitly disabled
+      // assume we should match with a regex character class
+      if (opts.literalBrackets === false || utils$1.hasRegexChars(prevValue)) {
+        continue;
+      }
+
+      const escaped = utils$1.escapeRegex(prev.value);
+      state.output = state.output.slice(0, -prev.value.length);
+
+      // when literal brackets are explicitly enabled
+      // assume we should escape the brackets to match literal characters
+      if (opts.literalBrackets === true) {
+        state.output += escaped;
+        prev.value = escaped;
+        continue;
+      }
+
+      // when the user specifies nothing, try to match both
+      prev.value = `(${capture}${escaped}|${prev.value})`;
+      state.output += prev.value;
+      continue;
+    }
+
+    /**
+     * Braces
+     */
+
+    if (value === '{' && opts.nobrace !== true) {
+      increment('braces');
+
+      const open = {
+        type: 'brace',
+        value,
+        output: '(',
+        outputIndex: state.output.length,
+        tokensIndex: state.tokens.length
+      };
+
+      braces.push(open);
+      push(open);
+      continue;
+    }
+
+    if (value === '}') {
+      const brace = braces[braces.length - 1];
+
+      if (opts.nobrace === true || !brace) {
+        push({ type: 'text', value, output: value });
+        continue;
+      }
+
+      let output = ')';
+
+      if (brace.dots === true) {
+        const arr = tokens.slice();
+        const range = [];
+
+        for (let i = arr.length - 1; i >= 0; i--) {
+          tokens.pop();
+          if (arr[i].type === 'brace') {
+            break;
+          }
+          if (arr[i].type !== 'dots') {
+            range.unshift(arr[i].value);
+          }
+        }
+
+        output = expandRange(range, opts);
+        state.backtrack = true;
+      }
+
+      if (brace.comma !== true && brace.dots !== true) {
+        const out = state.output.slice(0, brace.outputIndex);
+        const toks = state.tokens.slice(brace.tokensIndex);
+        brace.value = brace.output = '\\{';
+        value = output = '\\}';
+        state.output = out;
+        for (const t of toks) {
+          state.output += (t.output || t.value);
+        }
+      }
+
+      push({ type: 'brace', value, output });
+      decrement('braces');
+      braces.pop();
+      continue;
+    }
+
+    /**
+     * Pipes
+     */
+
+    if (value === '|') {
+      if (extglobs.length > 0) {
+        extglobs[extglobs.length - 1].conditions++;
+      }
+      push({ type: 'text', value });
+      continue;
+    }
+
+    /**
+     * Commas
+     */
+
+    if (value === ',') {
+      let output = value;
+
+      const brace = braces[braces.length - 1];
+      if (brace && stack[stack.length - 1] === 'braces') {
+        brace.comma = true;
+        output = '|';
+      }
+
+      push({ type: 'comma', value, output });
+      continue;
+    }
+
+    /**
+     * Slashes
+     */
+
+    if (value === '/') {
+      // if the beginning of the glob is "./", advance the start
+      // to the current index, and don't add the "./" characters
+      // to the state. This greatly simplifies lookbehinds when
+      // checking for BOS characters like "!" and "." (not "./")
+      if (prev.type === 'dot' && state.index === state.start + 1) {
+        state.start = state.index + 1;
+        state.consumed = '';
+        state.output = '';
+        tokens.pop();
+        prev = bos; // reset "prev" to the first token
+        continue;
+      }
+
+      push({ type: 'slash', value, output: SLASH_LITERAL });
+      continue;
+    }
+
+    /**
+     * Dots
+     */
+
+    if (value === '.') {
+      if (state.braces > 0 && prev.type === 'dot') {
+        if (prev.value === '.') prev.output = DOT_LITERAL;
+        const brace = braces[braces.length - 1];
+        prev.type = 'dots';
+        prev.output += value;
+        prev.value += value;
+        brace.dots = true;
+        continue;
+      }
+
+      if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') {
+        push({ type: 'text', value, output: DOT_LITERAL });
+        continue;
+      }
+
+      push({ type: 'dot', value, output: DOT_LITERAL });
+      continue;
+    }
+
+    /**
+     * Question marks
+     */
+
+    if (value === '?') {
+      const isGroup = prev && prev.value === '(';
+      if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {
+        extglobOpen('qmark', value);
+        continue;
+      }
+
+      if (prev && prev.type === 'paren') {
+        const next = peek();
+        let output = value;
+
+        if (next === '<' && !utils$1.supportsLookbehinds()) {
+          throw new Error('Node.js v10 or higher is required for regex lookbehinds');
+        }
+
+        if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\w+>)/.test(remaining()))) {
+          output = `\\${value}`;
+        }
+
+        push({ type: 'text', value, output });
+        continue;
+      }
+
+      if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) {
+        push({ type: 'qmark', value, output: QMARK_NO_DOT });
+        continue;
+      }
+
+      push({ type: 'qmark', value, output: QMARK });
+      continue;
+    }
+
+    /**
+     * Exclamation
+     */
+
+    if (value === '!') {
+      if (opts.noextglob !== true && peek() === '(') {
+        if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) {
+          extglobOpen('negate', value);
+          continue;
+        }
+      }
+
+      if (opts.nonegate !== true && state.index === 0) {
+        negate();
+        continue;
+      }
+    }
+
+    /**
+     * Plus
+     */
+
+    if (value === '+') {
+      if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {
+        extglobOpen('plus', value);
+        continue;
+      }
+
+      if ((prev && prev.value === '(') || opts.regex === false) {
+        push({ type: 'plus', value, output: PLUS_LITERAL });
+        continue;
+      }
+
+      if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) {
+        push({ type: 'plus', value });
+        continue;
+      }
+
+      push({ type: 'plus', value: PLUS_LITERAL });
+      continue;
+    }
+
+    /**
+     * Plain text
+     */
+
+    if (value === '@') {
+      if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {
+        push({ type: 'at', extglob: true, value, output: '' });
+        continue;
+      }
+
+      push({ type: 'text', value });
+      continue;
+    }
+
+    /**
+     * Plain text
+     */
+
+    if (value !== '*') {
+      if (value === '$' || value === '^') {
+        value = `\\${value}`;
+      }
+
+      const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
+      if (match) {
+        value += match[0];
+        state.index += match[0].length;
+      }
+
+      push({ type: 'text', value });
+      continue;
+    }
+
+    /**
+     * Stars
+     */
+
+    if (prev && (prev.type === 'globstar' || prev.star === true)) {
+      prev.type = 'star';
+      prev.star = true;
+      prev.value += value;
+      prev.output = star;
+      state.backtrack = true;
+      state.globstar = true;
+      consume(value);
+      continue;
+    }
+
+    let rest = remaining();
+    if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
+      extglobOpen('star', value);
+      continue;
+    }
+
+    if (prev.type === 'star') {
+      if (opts.noglobstar === true) {
+        consume(value);
+        continue;
+      }
+
+      const prior = prev.prev;
+      const before = prior.prev;
+      const isStart = prior.type === 'slash' || prior.type === 'bos';
+      const afterStar = before && (before.type === 'star' || before.type === 'globstar');
+
+      if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) {
+        push({ type: 'star', value, output: '' });
+        continue;
+      }
+
+      const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace');
+      const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren');
+      if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) {
+        push({ type: 'star', value, output: '' });
+        continue;
+      }
+
+      // strip consecutive `/**/`
+      while (rest.slice(0, 3) === '/**') {
+        const after = input[state.index + 4];
+        if (after && after !== '/') {
+          break;
+        }
+        rest = rest.slice(3);
+        consume('/**', 3);
+      }
+
+      if (prior.type === 'bos' && eos()) {
+        prev.type = 'globstar';
+        prev.value += value;
+        prev.output = globstar(opts);
+        state.output = prev.output;
+        state.globstar = true;
+        consume(value);
+        continue;
+      }
+
+      if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) {
+        state.output = state.output.slice(0, -(prior.output + prev.output).length);
+        prior.output = `(?:${prior.output}`;
+
+        prev.type = 'globstar';
+        prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)');
+        prev.value += value;
+        state.globstar = true;
+        state.output += prior.output + prev.output;
+        consume(value);
+        continue;
+      }
+
+      if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') {
+        const end = rest[1] !== void 0 ? '|$' : '';
+
+        state.output = state.output.slice(0, -(prior.output + prev.output).length);
+        prior.output = `(?:${prior.output}`;
+
+        prev.type = 'globstar';
+        prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
+        prev.value += value;
+
+        state.output += prior.output + prev.output;
+        state.globstar = true;
+
+        consume(value + advance());
+
+        push({ type: 'slash', value: '/', output: '' });
+        continue;
+      }
+
+      if (prior.type === 'bos' && rest[0] === '/') {
+        prev.type = 'globstar';
+        prev.value += value;
+        prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
+        state.output = prev.output;
+        state.globstar = true;
+        consume(value + advance());
+        push({ type: 'slash', value: '/', output: '' });
+        continue;
+      }
+
+      // remove single star from output
+      state.output = state.output.slice(0, -prev.output.length);
+
+      // reset previous token to globstar
+      prev.type = 'globstar';
+      prev.output = globstar(opts);
+      prev.value += value;
+
+      // reset output with globstar
+      state.output += prev.output;
+      state.globstar = true;
+      consume(value);
+      continue;
+    }
+
+    const token = { type: 'star', value, output: star };
+
+    if (opts.bash === true) {
+      token.output = '.*?';
+      if (prev.type === 'bos' || prev.type === 'slash') {
+        token.output = nodot + token.output;
+      }
+      push(token);
+      continue;
+    }
+
+    if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) {
+      token.output = value;
+      push(token);
+      continue;
+    }
+
+    if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') {
+      if (prev.type === 'dot') {
+        state.output += NO_DOT_SLASH;
+        prev.output += NO_DOT_SLASH;
+
+      } else if (opts.dot === true) {
+        state.output += NO_DOTS_SLASH;
+        prev.output += NO_DOTS_SLASH;
+
+      } else {
+        state.output += nodot;
+        prev.output += nodot;
+      }
+
+      if (peek() !== '*') {
+        state.output += ONE_CHAR;
+        prev.output += ONE_CHAR;
+      }
+    }
+
+    push(token);
+  }
+
+  while (state.brackets > 0) {
+    if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']'));
+    state.output = utils$1.escapeLast(state.output, '[');
+    decrement('brackets');
+  }
+
+  while (state.parens > 0) {
+    if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')'));
+    state.output = utils$1.escapeLast(state.output, '(');
+    decrement('parens');
+  }
+
+  while (state.braces > 0) {
+    if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}'));
+    state.output = utils$1.escapeLast(state.output, '{');
+    decrement('braces');
+  }
+
+  if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) {
+    push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` });
+  }
+
+  // rebuild the output if we had to backtrack at any point
+  if (state.backtrack === true) {
+    state.output = '';
+
+    for (const token of state.tokens) {
+      state.output += token.output != null ? token.output : token.value;
+
+      if (token.suffix) {
+        state.output += token.suffix;
+      }
+    }
+  }
+
+  return state;
+};
+
+/**
+ * Fast paths for creating regular expressions for common glob patterns.
+ * This can significantly speed up processing and has very little downside
+ * impact when none of the fast paths match.
+ */
+
+parse$1.fastpaths = (input, options) => {
+  const opts = { ...options };
+  const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
+  const len = input.length;
+  if (len > max) {
+    throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
+  }
+
+  input = REPLACEMENTS[input] || input;
+  const win32 = utils$1.isWindows(options);
+
+  // create constants based on platform, for windows or posix
+  const {
+    DOT_LITERAL,
+    SLASH_LITERAL,
+    ONE_CHAR,
+    DOTS_SLASH,
+    NO_DOT,
+    NO_DOTS,
+    NO_DOTS_SLASH,
+    STAR,
+    START_ANCHOR
+  } = constants$1.globChars(win32);
+
+  const nodot = opts.dot ? NO_DOTS : NO_DOT;
+  const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
+  const capture = opts.capture ? '' : '?:';
+  const state = { negated: false, prefix: '' };
+  let star = opts.bash === true ? '.*?' : STAR;
+
+  if (opts.capture) {
+    star = `(${star})`;
+  }
+
+  const globstar = opts => {
+    if (opts.noglobstar === true) return star;
+    return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
+  };
+
+  const create = str => {
+    switch (str) {
+      case '*':
+        return `${nodot}${ONE_CHAR}${star}`;
+
+      case '.*':
+        return `${DOT_LITERAL}${ONE_CHAR}${star}`;
+
+      case '*.*':
+        return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
+
+      case '*/*':
+        return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
+
+      case '**':
+        return nodot + globstar(opts);
+
+      case '**/*':
+        return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
+
+      case '**/*.*':
+        return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
+
+      case '**/.*':
+        return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
+
+      default: {
+        const match = /^(.*?)\.(\w+)$/.exec(str);
+        if (!match) return;
+
+        const source = create(match[1]);
+        if (!source) return;
+
+        return source + DOT_LITERAL + match[2];
+      }
+    }
+  };
+
+  const output = utils$1.removePrefix(input, state);
+  let source = create(output);
+
+  if (source && opts.strictSlashes !== true) {
+    source += `${SLASH_LITERAL}?`;
+  }
+
+  return source;
+};
+
+var parse_1 = parse$1;
+
+const path = require$$0$1;
+const scan = scan_1;
+const parse = parse_1;
+const utils = utils$3;
+const constants = constants$2;
+const isObject = val => val && typeof val === 'object' && !Array.isArray(val);
+
+/**
+ * Creates a matcher function from one or more glob patterns. The
+ * returned function takes a string to match as its first argument,
+ * and returns true if the string is a match. The returned matcher
+ * function also takes a boolean as the second argument that, when true,
+ * returns an object with additional information.
+ *
+ * ```js
+ * const picomatch = require('picomatch');
+ * // picomatch(glob[, options]);
+ *
+ * const isMatch = picomatch('*.!(*a)');
+ * console.log(isMatch('a.a')); //=> false
+ * console.log(isMatch('a.b')); //=> true
+ * ```
+ * @name picomatch
+ * @param {String|Array} `globs` One or more glob patterns.
+ * @param {Object=} `options`
+ * @return {Function=} Returns a matcher function.
+ * @api public
+ */
+
+const picomatch$1 = (glob, options, returnState = false) => {
+  if (Array.isArray(glob)) {
+    const fns = glob.map(input => picomatch$1(input, options, returnState));
+    const arrayMatcher = str => {
+      for (const isMatch of fns) {
+        const state = isMatch(str);
+        if (state) return state;
+      }
+      return false;
+    };
+    return arrayMatcher;
+  }
+
+  const isState = isObject(glob) && glob.tokens && glob.input;
+
+  if (glob === '' || (typeof glob !== 'string' && !isState)) {
+    throw new TypeError('Expected pattern to be a non-empty string');
+  }
+
+  const opts = options || {};
+  const posix = utils.isWindows(options);
+  const regex = isState
+    ? picomatch$1.compileRe(glob, options)
+    : picomatch$1.makeRe(glob, options, false, true);
+
+  const state = regex.state;
+  delete regex.state;
+
+  let isIgnored = () => false;
+  if (opts.ignore) {
+    const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
+    isIgnored = picomatch$1(opts.ignore, ignoreOpts, returnState);
+  }
+
+  const matcher = (input, returnObject = false) => {
+    const { isMatch, match, output } = picomatch$1.test(input, regex, options, { glob, posix });
+    const result = { glob, state, regex, posix, input, output, match, isMatch };
+
+    if (typeof opts.onResult === 'function') {
+      opts.onResult(result);
+    }
+
+    if (isMatch === false) {
+      result.isMatch = false;
+      return returnObject ? result : false;
+    }
+
+    if (isIgnored(input)) {
+      if (typeof opts.onIgnore === 'function') {
+        opts.onIgnore(result);
+      }
+      result.isMatch = false;
+      return returnObject ? result : false;
+    }
+
+    if (typeof opts.onMatch === 'function') {
+      opts.onMatch(result);
+    }
+    return returnObject ? result : true;
+  };
+
+  if (returnState) {
+    matcher.state = state;
+  }
+
+  return matcher;
+};
+
+/**
+ * Test `input` with the given `regex`. This is used by the main
+ * `picomatch()` function to test the input string.
+ *
+ * ```js
+ * const picomatch = require('picomatch');
+ * // picomatch.test(input, regex[, options]);
+ *
+ * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/));
+ * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' }
+ * ```
+ * @param {String} `input` String to test.
+ * @param {RegExp} `regex`
+ * @return {Object} Returns an object with matching info.
+ * @api public
+ */
+
+picomatch$1.test = (input, regex, options, { glob, posix } = {}) => {
+  if (typeof input !== 'string') {
+    throw new TypeError('Expected input to be a string');
+  }
+
+  if (input === '') {
+    return { isMatch: false, output: '' };
+  }
+
+  const opts = options || {};
+  const format = opts.format || (posix ? utils.toPosixSlashes : null);
+  let match = input === glob;
+  let output = (match && format) ? format(input) : input;
+
+  if (match === false) {
+    output = format ? format(input) : input;
+    match = output === glob;
+  }
+
+  if (match === false || opts.capture === true) {
+    if (opts.matchBase === true || opts.basename === true) {
+      match = picomatch$1.matchBase(input, regex, options, posix);
+    } else {
+      match = regex.exec(output);
+    }
+  }
+
+  return { isMatch: Boolean(match), match, output };
+};
+
+/**
+ * Match the basename of a filepath.
+ *
+ * ```js
+ * const picomatch = require('picomatch');
+ * // picomatch.matchBase(input, glob[, options]);
+ * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true
+ * ```
+ * @param {String} `input` String to test.
+ * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe).
+ * @return {Boolean}
+ * @api public
+ */
+
+picomatch$1.matchBase = (input, glob, options, posix = utils.isWindows(options)) => {
+  const regex = glob instanceof RegExp ? glob : picomatch$1.makeRe(glob, options);
+  return regex.test(path.basename(input));
+};
+
+/**
+ * Returns true if **any** of the given glob `patterns` match the specified `string`.
+ *
+ * ```js
+ * const picomatch = require('picomatch');
+ * // picomatch.isMatch(string, patterns[, options]);
+ *
+ * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true
+ * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false
+ * ```
+ * @param {String|Array} str The string to test.
+ * @param {String|Array} patterns One or more glob patterns to use for matching.
+ * @param {Object} [options] See available [options](#options).
+ * @return {Boolean} Returns true if any patterns match `str`
+ * @api public
+ */
+
+picomatch$1.isMatch = (str, patterns, options) => picomatch$1(patterns, options)(str);
+
+/**
+ * Parse a glob pattern to create the source string for a regular
+ * expression.
+ *
+ * ```js
+ * const picomatch = require('picomatch');
+ * const result = picomatch.parse(pattern[, options]);
+ * ```
+ * @param {String} `pattern`
+ * @param {Object} `options`
+ * @return {Object} Returns an object with useful properties and output to be used as a regex source string.
+ * @api public
+ */
+
+picomatch$1.parse = (pattern, options) => {
+  if (Array.isArray(pattern)) return pattern.map(p => picomatch$1.parse(p, options));
+  return parse(pattern, { ...options, fastpaths: false });
+};
+
+/**
+ * Scan a glob pattern to separate the pattern into segments.
+ *
+ * ```js
+ * const picomatch = require('picomatch');
+ * // picomatch.scan(input[, options]);
+ *
+ * const result = picomatch.scan('!./foo/*.js');
+ * console.log(result);
+ * { prefix: '!./',
+ *   input: '!./foo/*.js',
+ *   start: 3,
+ *   base: 'foo',
+ *   glob: '*.js',
+ *   isBrace: false,
+ *   isBracket: false,
+ *   isGlob: true,
+ *   isExtglob: false,
+ *   isGlobstar: false,
+ *   negated: true }
+ * ```
+ * @param {String} `input` Glob pattern to scan.
+ * @param {Object} `options`
+ * @return {Object} Returns an object with
+ * @api public
+ */
+
+picomatch$1.scan = (input, options) => scan(input, options);
+
+/**
+ * Compile a regular expression from the `state` object returned by the
+ * [parse()](#parse) method.
+ *
+ * @param {Object} `state`
+ * @param {Object} `options`
+ * @param {Boolean} `returnOutput` Intended for implementors, this argument allows you to return the raw output from the parser.
+ * @param {Boolean} `returnState` Adds the state to a `state` property on the returned regex. Useful for implementors and debugging.
+ * @return {RegExp}
+ * @api public
+ */
+
+picomatch$1.compileRe = (state, options, returnOutput = false, returnState = false) => {
+  if (returnOutput === true) {
+    return state.output;
+  }
+
+  const opts = options || {};
+  const prepend = opts.contains ? '' : '^';
+  const append = opts.contains ? '' : '$';
+
+  let source = `${prepend}(?:${state.output})${append}`;
+  if (state && state.negated === true) {
+    source = `^(?!${source}).*$`;
+  }
+
+  const regex = picomatch$1.toRegex(source, options);
+  if (returnState === true) {
+    regex.state = state;
+  }
+
+  return regex;
+};
+
+/**
+ * Create a regular expression from a parsed glob pattern.
+ *
+ * ```js
+ * const picomatch = require('picomatch');
+ * const state = picomatch.parse('*.js');
+ * // picomatch.compileRe(state[, options]);
+ *
+ * console.log(picomatch.compileRe(state));
+ * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
+ * ```
+ * @param {String} `state` The object returned from the `.parse` method.
+ * @param {Object} `options`
+ * @param {Boolean} `returnOutput` Implementors may use this argument to return the compiled output, instead of a regular expression. This is not exposed on the options to prevent end-users from mutating the result.
+ * @param {Boolean} `returnState` Implementors may use this argument to return the state from the parsed glob with the returned regular expression.
+ * @return {RegExp} Returns a regex created from the given pattern.
+ * @api public
+ */
+
+picomatch$1.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
+  if (!input || typeof input !== 'string') {
+    throw new TypeError('Expected a non-empty string');
+  }
+
+  let parsed = { negated: false, fastpaths: true };
+
+  if (options.fastpaths !== false && (input[0] === '.' || input[0] === '*')) {
+    parsed.output = parse.fastpaths(input, options);
+  }
+
+  if (!parsed.output) {
+    parsed = parse(input, options);
+  }
+
+  return picomatch$1.compileRe(parsed, options, returnOutput, returnState);
+};
+
+/**
+ * Create a regular expression from the given regex source string.
+ *
+ * ```js
+ * const picomatch = require('picomatch');
+ * // picomatch.toRegex(source[, options]);
+ *
+ * const { output } = picomatch.parse('*.js');
+ * console.log(picomatch.toRegex(output));
+ * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
+ * ```
+ * @param {String} `source` Regular expression source string.
+ * @param {Object} `options`
+ * @return {RegExp}
+ * @api public
+ */
+
+picomatch$1.toRegex = (source, options) => {
+  try {
+    const opts = options || {};
+    return new RegExp(source, opts.flags || (opts.nocase ? 'i' : ''));
+  } catch (err) {
+    if (options && options.debug === true) throw err;
+    return /$^/;
+  }
+};
+
+/**
+ * Picomatch constants.
+ * @return {Object}
+ */
+
+picomatch$1.constants = constants;
+
+/**
+ * Expose "picomatch"
+ */
+
+var picomatch_1 = picomatch$1;
+
+var picomatch = picomatch_1;
+
+const pm = /*@__PURE__*/getDefaultExportFromCjs(picomatch);
+
+const extractors = {
+    ArrayPattern(names, param) {
+        for (const element of param.elements) {
+            if (element)
+                extractors[element.type](names, element);
+        }
+    },
+    AssignmentPattern(names, param) {
+        extractors[param.left.type](names, param.left);
+    },
+    Identifier(names, param) {
+        names.push(param.name);
+    },
+    MemberExpression() { },
+    ObjectPattern(names, param) {
+        for (const prop of param.properties) {
+            // @ts-ignore Typescript reports that this is not a valid type
+            if (prop.type === 'RestElement') {
+                extractors.RestElement(names, prop);
+            }
+            else {
+                extractors[prop.value.type](names, prop.value);
+            }
+        }
+    },
+    RestElement(names, param) {
+        extractors[param.argument.type](names, param.argument);
+    }
+};
+const extractAssignedNames = function extractAssignedNames(param) {
+    const names = [];
+    extractors[param.type](names, param);
+    return names;
+};
+
+// Helper since Typescript can't detect readonly arrays with Array.isArray
+function isArray(arg) {
+    return Array.isArray(arg);
+}
+function ensureArray(thing) {
+    if (isArray(thing))
+        return thing;
+    if (thing == null)
+        return [];
+    return [thing];
+}
+
+const normalizePath = function normalizePath(filename) {
+    return filename.split(require$$0$1.win32.sep).join(require$$0$1.posix.sep);
+};
+
+function getMatcherString(id, resolutionBase) {
+    if (resolutionBase === false || require$$0$1.isAbsolute(id) || id.startsWith('**')) {
+        return normalizePath(id);
+    }
+    // resolve('') is valid and will default to process.cwd()
+    const basePath = normalizePath(require$$0$1.resolve(resolutionBase || ''))
+        // escape all possible (posix + win) path characters that might interfere with regex
+        .replace(/[-^$*+?.()|[\]{}]/g, '\\$&');
+    // Note that we use posix.join because:
+    // 1. the basePath has been normalized to use /
+    // 2. the incoming glob (id) matcher, also uses /
+    // otherwise Node will force backslash (\) on windows
+    return require$$0$1.posix.join(basePath, normalizePath(id));
+}
+const createFilter = function createFilter(include, exclude, options) {
+    const resolutionBase = options && options.resolve;
+    const getMatcher = (id) => id instanceof RegExp
+        ? id
+        : {
+            test: (what) => {
+                // this refactor is a tad overly verbose but makes for easy debugging
+                const pattern = getMatcherString(id, resolutionBase);
+                const fn = pm(pattern, { dot: true });
+                const result = fn(what);
+                return result;
+            }
+        };
+    const includeMatchers = ensureArray(include).map(getMatcher);
+    const excludeMatchers = ensureArray(exclude).map(getMatcher);
+    return function result(id) {
+        if (typeof id !== 'string')
+            return false;
+        if (/\0/.test(id))
+            return false;
+        const pathId = normalizePath(id);
+        for (let i = 0; i < excludeMatchers.length; ++i) {
+            const matcher = excludeMatchers[i];
+            if (matcher.test(pathId))
+                return false;
+        }
+        for (let i = 0; i < includeMatchers.length; ++i) {
+            const matcher = includeMatchers[i];
+            if (matcher.test(pathId))
+                return true;
+        }
+        return !includeMatchers.length;
+    };
+};
+
+const reservedWords = 'break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public';
+const builtins = 'arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl';
+const forbiddenIdentifiers = new Set(`${reservedWords} ${builtins}`.split(' '));
+forbiddenIdentifiers.add('');
+
+function createInclusionContext() {
+    return {
+        brokenFlow: false,
+        hasBreak: false,
+        hasContinue: false,
+        includedCallArguments: new Set(),
+        includedLabels: new Set()
+    };
+}
+function createHasEffectsContext() {
+    return {
+        accessed: new PathTracker(),
+        assigned: new PathTracker(),
+        brokenFlow: false,
+        called: new DiscriminatedPathTracker(),
+        hasBreak: false,
+        hasContinue: false,
+        ignore: {
+            breaks: false,
+            continues: false,
+            labels: new Set(),
+            returnYield: false,
+            this: false
+        },
+        includedLabels: new Set(),
+        instantiated: new DiscriminatedPathTracker(),
+        replacedVariableInits: new Map()
+    };
+}
+
+function assembleMemberDescriptions(memberDescriptions, inheritedDescriptions = null) {
+    return Object.create(inheritedDescriptions, memberDescriptions);
+}
+const UNDEFINED_EXPRESSION = new (class UndefinedExpression extends ExpressionEntity {
+    getLiteralValueAtPath() {
+        return undefined;
+    }
+})();
+const returnsUnknown = {
+    value: {
+        hasEffectsWhenCalled: null,
+        returns: UNKNOWN_EXPRESSION
+    }
+};
+const UNKNOWN_LITERAL_BOOLEAN = new (class UnknownBoolean extends ExpressionEntity {
+    getReturnExpressionWhenCalledAtPath(path) {
+        if (path.length === 1) {
+            return getMemberReturnExpressionWhenCalled(literalBooleanMembers, path[0]);
+        }
+        return UNKNOWN_RETURN_EXPRESSION;
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        if (interaction.type === INTERACTION_ACCESSED) {
+            return path.length > 1;
+        }
+        if (interaction.type === INTERACTION_CALLED && path.length === 1) {
+            return hasMemberEffectWhenCalled(literalBooleanMembers, path[0], interaction, context);
+        }
+        return true;
+    }
+})();
+const returnsBoolean = {
+    value: {
+        hasEffectsWhenCalled: null,
+        returns: UNKNOWN_LITERAL_BOOLEAN
+    }
+};
+const UNKNOWN_LITERAL_NUMBER = new (class UnknownNumber extends ExpressionEntity {
+    getReturnExpressionWhenCalledAtPath(path) {
+        if (path.length === 1) {
+            return getMemberReturnExpressionWhenCalled(literalNumberMembers, path[0]);
+        }
+        return UNKNOWN_RETURN_EXPRESSION;
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        if (interaction.type === INTERACTION_ACCESSED) {
+            return path.length > 1;
+        }
+        if (interaction.type === INTERACTION_CALLED && path.length === 1) {
+            return hasMemberEffectWhenCalled(literalNumberMembers, path[0], interaction, context);
+        }
+        return true;
+    }
+})();
+const returnsNumber = {
+    value: {
+        hasEffectsWhenCalled: null,
+        returns: UNKNOWN_LITERAL_NUMBER
+    }
+};
+const UNKNOWN_LITERAL_STRING = new (class UnknownString extends ExpressionEntity {
+    getReturnExpressionWhenCalledAtPath(path) {
+        if (path.length === 1) {
+            return getMemberReturnExpressionWhenCalled(literalStringMembers, path[0]);
+        }
+        return UNKNOWN_RETURN_EXPRESSION;
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        if (interaction.type === INTERACTION_ACCESSED) {
+            return path.length > 1;
+        }
+        if (interaction.type === INTERACTION_CALLED && path.length === 1) {
+            return hasMemberEffectWhenCalled(literalStringMembers, path[0], interaction, context);
+        }
+        return true;
+    }
+})();
+const returnsString = {
+    value: {
+        hasEffectsWhenCalled: null,
+        returns: UNKNOWN_LITERAL_STRING
+    }
+};
+const stringReplace = {
+    value: {
+        hasEffectsWhenCalled({ args }, context) {
+            const argument1 = args[2];
+            return (args.length < 3 ||
+                (typeof argument1.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, {
+                    deoptimizeCache() { }
+                }) === 'symbol' &&
+                    argument1.hasEffectsOnInteractionAtPath(EMPTY_PATH, NODE_INTERACTION_UNKNOWN_CALL, context)));
+        },
+        returns: UNKNOWN_LITERAL_STRING
+    }
+};
+const objectMembers = assembleMemberDescriptions({
+    hasOwnProperty: returnsBoolean,
+    isPrototypeOf: returnsBoolean,
+    propertyIsEnumerable: returnsBoolean,
+    toLocaleString: returnsString,
+    toString: returnsString,
+    valueOf: returnsUnknown
+});
+const literalBooleanMembers = assembleMemberDescriptions({
+    valueOf: returnsBoolean
+}, objectMembers);
+const literalNumberMembers = assembleMemberDescriptions({
+    toExponential: returnsString,
+    toFixed: returnsString,
+    toLocaleString: returnsString,
+    toPrecision: returnsString,
+    valueOf: returnsNumber
+}, objectMembers);
+/**
+ * RegExp are stateful when they have the global or sticky flags set.
+ * But if we actually don't use them, the side effect does not matter.
+ * the check logic in `hasEffectsOnInteractionAtPath`.
+ */
+const literalRegExpMembers = assembleMemberDescriptions({
+    exec: returnsUnknown,
+    test: returnsBoolean
+}, objectMembers);
+const literalStringMembers = assembleMemberDescriptions({
+    anchor: returnsString,
+    at: returnsUnknown,
+    big: returnsString,
+    blink: returnsString,
+    bold: returnsString,
+    charAt: returnsString,
+    charCodeAt: returnsNumber,
+    codePointAt: returnsUnknown,
+    concat: returnsString,
+    endsWith: returnsBoolean,
+    fixed: returnsString,
+    fontcolor: returnsString,
+    fontsize: returnsString,
+    includes: returnsBoolean,
+    indexOf: returnsNumber,
+    italics: returnsString,
+    lastIndexOf: returnsNumber,
+    link: returnsString,
+    localeCompare: returnsNumber,
+    match: returnsUnknown,
+    matchAll: returnsUnknown,
+    normalize: returnsString,
+    padEnd: returnsString,
+    padStart: returnsString,
+    repeat: returnsString,
+    replace: stringReplace,
+    replaceAll: stringReplace,
+    search: returnsNumber,
+    slice: returnsString,
+    small: returnsString,
+    split: returnsUnknown,
+    startsWith: returnsBoolean,
+    strike: returnsString,
+    sub: returnsString,
+    substr: returnsString,
+    substring: returnsString,
+    sup: returnsString,
+    toLocaleLowerCase: returnsString,
+    toLocaleUpperCase: returnsString,
+    toLowerCase: returnsString,
+    toString: returnsString, // overrides the toString() method of the Object object; it does not inherit Object.prototype.toString()
+    toUpperCase: returnsString,
+    trim: returnsString,
+    trimEnd: returnsString,
+    trimLeft: returnsString,
+    trimRight: returnsString,
+    trimStart: returnsString,
+    valueOf: returnsString
+}, objectMembers);
+function getLiteralMembersForValue(value) {
+    if (value instanceof RegExp) {
+        return literalRegExpMembers;
+    }
+    switch (typeof value) {
+        case 'boolean': {
+            return literalBooleanMembers;
+        }
+        case 'number': {
+            return literalNumberMembers;
+        }
+        case 'string': {
+            return literalStringMembers;
+        }
+    }
+    return Object.create(null);
+}
+function hasMemberEffectWhenCalled(members, memberName, interaction, context) {
+    if (typeof memberName !== 'string' || !members[memberName]) {
+        return true;
+    }
+    return members[memberName].hasEffectsWhenCalled?.(interaction, context) || false;
+}
+function getMemberReturnExpressionWhenCalled(members, memberName) {
+    if (typeof memberName !== 'string' || !members[memberName])
+        return UNKNOWN_RETURN_EXPRESSION;
+    return [members[memberName].returns, false];
+}
+
+const keys = {
+    Literal: [],
+    Program: ['body']
+};
+function createKeysForNode(esTreeNode) {
+    return Object.keys(esTreeNode).filter(key => typeof esTreeNode[key] === 'object' && key.charCodeAt(0) !== 95 /* _ */);
+}
+
+const INCLUDE_PARAMETERS = 'variables';
+class NodeBase extends ExpressionEntity {
+    /**
+     * Nodes can apply custom deoptimizations once they become part of the
+     * executed code. To do this, they must initialize this as false, implement
+     * applyDeoptimizations and call this from include and hasEffects if they have
+     * custom handlers
+     */
+    get deoptimized() {
+        return isFlagSet(this.flags, 2 /* Flag.deoptimized */);
+    }
+    set deoptimized(value) {
+        this.flags = setFlag(this.flags, 2 /* Flag.deoptimized */, value);
+    }
+    constructor(esTreeNode, parent, parentScope, keepEsTreeNode = false) {
+        super();
+        // Nodes can opt-in to keep the AST if needed during the build pipeline.
+        // Avoid true when possible as large AST takes up memory.
+        if (keepEsTreeNode) {
+            this.esTreeNode = esTreeNode;
+        }
+        const { type } = esTreeNode;
+        keys[type] ||= createKeysForNode(esTreeNode);
+        this.parent = parent;
+        this.scope = parentScope;
+        this.createScope(parentScope);
+        this.parseNode(esTreeNode);
+        this.initialise();
+        this.scope.context.magicString.addSourcemapLocation(this.start);
+        this.scope.context.magicString.addSourcemapLocation(this.end);
+    }
+    addExportedVariables(_variables, _exportNamesByVariable) { }
+    /**
+     * Override this to bind assignments to variables and do any initialisations
+     * that require the scopes to be populated with variables.
+     */
+    bind() {
+        for (const key of keys[this.type]) {
+            const value = this[key];
+            if (Array.isArray(value)) {
+                for (const child of value) {
+                    child?.bind();
+                }
+            }
+            else if (value) {
+                value.bind();
+            }
+        }
+    }
+    /**
+     * Override if this node should receive a different scope than the parent
+     * scope.
+     */
+    createScope(parentScope) {
+        this.scope = parentScope;
+    }
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        for (const key of keys[this.type]) {
+            const value = this[key];
+            if (value === null)
+                continue;
+            if (Array.isArray(value)) {
+                for (const child of value) {
+                    if (child?.hasEffects(context))
+                        return true;
+                }
+            }
+            else if (value.hasEffects(context))
+                return true;
+        }
+        return false;
+    }
+    hasEffectsAsAssignmentTarget(context, _checkAccess) {
+        return (this.hasEffects(context) ||
+            this.hasEffectsOnInteractionAtPath(EMPTY_PATH, this.assignmentInteraction, context));
+    }
+    include(context, includeChildrenRecursively, _options) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        this.included = true;
+        for (const key of keys[this.type]) {
+            const value = this[key];
+            if (value === null)
+                continue;
+            if (Array.isArray(value)) {
+                for (const child of value) {
+                    child?.include(context, includeChildrenRecursively);
+                }
+            }
+            else {
+                value.include(context, includeChildrenRecursively);
+            }
+        }
+    }
+    includeAsAssignmentTarget(context, includeChildrenRecursively, _deoptimizeAccess) {
+        this.include(context, includeChildrenRecursively);
+    }
+    /**
+     * Override to perform special initialisation steps after the scope is
+     * initialised
+     */
+    initialise() { }
+    parseNode(esTreeNode, keepEsTreeNodeKeys) {
+        for (const [key, value] of Object.entries(esTreeNode)) {
+            // Skip properties defined on the class already.
+            // This way, we can override this function to add custom initialisation and then call super.parseNode
+            // Note: this doesn't skip properties with defined getters/setters which we use to pack wrap booleans
+            // in bitfields. Those are still assigned from the value in the esTreeNode.
+            if (this.hasOwnProperty(key))
+                continue;
+            if (key.charCodeAt(0) === 95 /* _ */) {
+                if (key === parseAst_js.ANNOTATION_KEY) {
+                    const annotations = value;
+                    this.annotations = annotations;
+                    if (this.scope.context.options.treeshake.annotations) {
+                        this.annotationNoSideEffects = annotations.some(comment => comment.type === 'noSideEffects');
+                        this.annotationPure = annotations.some(comment => comment.type === 'pure');
+                    }
+                }
+                else if (key === parseAst_js.INVALID_ANNOTATION_KEY) {
+                    for (const { start, end, type } of value) {
+                        this.scope.context.magicString.remove(start, end);
+                        if (type === 'pure' || type === 'noSideEffects') {
+                            this.scope.context.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logInvalidAnnotation(this.scope.context.code.slice(start, end), this.scope.context.module.id, type), start);
+                        }
+                    }
+                }
+            }
+            else if (typeof value !== 'object' || value === null) {
+                this[key] = value;
+            }
+            else if (Array.isArray(value)) {
+                this[key] = [];
+                for (const child of value) {
+                    this[key].push(child === null
+                        ? null
+                        : new (this.scope.context.getNodeConstructor(child.type))(child, this, this.scope, keepEsTreeNodeKeys?.includes(key)));
+                }
+            }
+            else {
+                this[key] = new (this.scope.context.getNodeConstructor(value.type))(value, this, this.scope, keepEsTreeNodeKeys?.includes(key));
+            }
+        }
+    }
+    removeAnnotations(code) {
+        if (this.annotations) {
+            for (const annotation of this.annotations) {
+                code.remove(annotation.start, annotation.end);
+            }
+        }
+    }
+    render(code, options) {
+        for (const key of keys[this.type]) {
+            const value = this[key];
+            if (value === null)
+                continue;
+            if (Array.isArray(value)) {
+                for (const child of value) {
+                    child?.render(code, options);
+                }
+            }
+            else {
+                value.render(code, options);
+            }
+        }
+    }
+    setAssignedValue(value) {
+        this.assignmentInteraction = { args: [null, value], type: INTERACTION_ASSIGNED };
+    }
+    shouldBeIncluded(context) {
+        return this.included || (!context.brokenFlow && this.hasEffects(createHasEffectsContext()));
+    }
+    /**
+     * Just deoptimize everything by default so that when e.g. we do not track
+     * something properly, it is deoptimized.
+     * @protected
+     */
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        for (const key of keys[this.type]) {
+            const value = this[key];
+            if (value === null)
+                continue;
+            if (Array.isArray(value)) {
+                for (const child of value) {
+                    child?.deoptimizePath(UNKNOWN_PATH);
+                }
+            }
+            else {
+                value.deoptimizePath(UNKNOWN_PATH);
+            }
+        }
+        this.scope.context.requestTreeshakingPass();
+    }
+}
+
+class SpreadElement extends NodeBase {
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        if (path.length > 0) {
+            this.argument.deoptimizeArgumentsOnInteractionAtPath(interaction, [UnknownKey, ...path], recursionTracker);
+        }
+    }
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        const { propertyReadSideEffects } = this.scope.context.options
+            .treeshake;
+        return (this.argument.hasEffects(context) ||
+            (propertyReadSideEffects &&
+                (propertyReadSideEffects === 'always' ||
+                    this.argument.hasEffectsOnInteractionAtPath(UNKNOWN_PATH, NODE_INTERACTION_UNKNOWN_ACCESS, context))));
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        // Only properties of properties of the argument could become subject to reassignment
+        // This will also reassign the return values of iterators
+        this.argument.deoptimizePath([UnknownKey, UnknownKey]);
+        this.scope.context.requestTreeshakingPass();
+    }
+}
+
+class Method extends ExpressionEntity {
+    constructor(description) {
+        super();
+        this.description = description;
+    }
+    deoptimizeArgumentsOnInteractionAtPath({ args, type }, path) {
+        if (type === INTERACTION_CALLED && path.length === 0) {
+            if (this.description.mutatesSelfAsArray) {
+                args[0]?.deoptimizePath(UNKNOWN_INTEGER_PATH);
+            }
+            if (this.description.mutatesArgs) {
+                for (let index = 1; index < args.length; index++) {
+                    args[index].deoptimizePath(UNKNOWN_PATH);
+                }
+            }
+        }
+    }
+    getReturnExpressionWhenCalledAtPath(path, { args }) {
+        if (path.length > 0) {
+            return UNKNOWN_RETURN_EXPRESSION;
+        }
+        return [
+            this.description.returnsPrimitive ||
+                (this.description.returns === 'self'
+                    ? args[0] || UNKNOWN_EXPRESSION
+                    : this.description.returns()),
+            false
+        ];
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        const { type } = interaction;
+        if (path.length > (type === INTERACTION_ACCESSED ? 1 : 0)) {
+            return true;
+        }
+        if (type === INTERACTION_CALLED) {
+            const { args } = interaction;
+            if (this.description.mutatesSelfAsArray === true &&
+                args[0]?.hasEffectsOnInteractionAtPath(UNKNOWN_INTEGER_PATH, NODE_INTERACTION_UNKNOWN_ASSIGNMENT, context)) {
+                return true;
+            }
+            if (this.description.callsArgs) {
+                for (const argumentIndex of this.description.callsArgs) {
+                    if (args[argumentIndex + 1]?.hasEffectsOnInteractionAtPath(EMPTY_PATH, NODE_INTERACTION_UNKNOWN_CALL, context)) {
+                        return true;
+                    }
+                }
+            }
+        }
+        return false;
+    }
+}
+const METHOD_RETURNS_BOOLEAN = [
+    new Method({
+        callsArgs: null,
+        mutatesArgs: false,
+        mutatesSelfAsArray: false,
+        returns: null,
+        returnsPrimitive: UNKNOWN_LITERAL_BOOLEAN
+    })
+];
+const METHOD_RETURNS_STRING = [
+    new Method({
+        callsArgs: null,
+        mutatesArgs: false,
+        mutatesSelfAsArray: false,
+        returns: null,
+        returnsPrimitive: UNKNOWN_LITERAL_STRING
+    })
+];
+const METHOD_RETURNS_NUMBER = [
+    new Method({
+        callsArgs: null,
+        mutatesArgs: false,
+        mutatesSelfAsArray: false,
+        returns: null,
+        returnsPrimitive: UNKNOWN_LITERAL_NUMBER
+    })
+];
+const METHOD_RETURNS_UNKNOWN = [
+    new Method({
+        callsArgs: null,
+        mutatesArgs: false,
+        mutatesSelfAsArray: false,
+        returns: null,
+        returnsPrimitive: UNKNOWN_EXPRESSION
+    })
+];
+
+const INTEGER_REG_EXP = /^\d+$/;
+class ObjectEntity extends ExpressionEntity {
+    get hasLostTrack() {
+        return isFlagSet(this.flags, 2048 /* Flag.hasLostTrack */);
+    }
+    set hasLostTrack(value) {
+        this.flags = setFlag(this.flags, 2048 /* Flag.hasLostTrack */, value);
+    }
+    get hasUnknownDeoptimizedInteger() {
+        return isFlagSet(this.flags, 4096 /* Flag.hasUnknownDeoptimizedInteger */);
+    }
+    set hasUnknownDeoptimizedInteger(value) {
+        this.flags = setFlag(this.flags, 4096 /* Flag.hasUnknownDeoptimizedInteger */, value);
+    }
+    get hasUnknownDeoptimizedProperty() {
+        return isFlagSet(this.flags, 8192 /* Flag.hasUnknownDeoptimizedProperty */);
+    }
+    set hasUnknownDeoptimizedProperty(value) {
+        this.flags = setFlag(this.flags, 8192 /* Flag.hasUnknownDeoptimizedProperty */, value);
+    }
+    // If a PropertyMap is used, this will be taken as propertiesAndGettersByKey
+    // and we assume there are no setters or getters
+    constructor(properties, prototypeExpression, immutable = false) {
+        super();
+        this.prototypeExpression = prototypeExpression;
+        this.immutable = immutable;
+        this.additionalExpressionsToBeDeoptimized = new Set();
+        this.allProperties = [];
+        this.deoptimizedPaths = Object.create(null);
+        this.expressionsToBeDeoptimizedByKey = Object.create(null);
+        this.gettersByKey = Object.create(null);
+        this.propertiesAndGettersByKey = Object.create(null);
+        this.propertiesAndSettersByKey = Object.create(null);
+        this.settersByKey = Object.create(null);
+        this.unknownIntegerProps = [];
+        this.unmatchableGetters = [];
+        this.unmatchablePropertiesAndGetters = [];
+        this.unmatchableSetters = [];
+        if (Array.isArray(properties)) {
+            this.buildPropertyMaps(properties);
+        }
+        else {
+            this.propertiesAndGettersByKey = this.propertiesAndSettersByKey = properties;
+            for (const propertiesForKey of Object.values(properties)) {
+                this.allProperties.push(...propertiesForKey);
+            }
+        }
+    }
+    deoptimizeAllProperties(noAccessors) {
+        const isDeoptimized = this.hasLostTrack || this.hasUnknownDeoptimizedProperty;
+        if (noAccessors) {
+            this.hasUnknownDeoptimizedProperty = true;
+        }
+        else {
+            this.hasLostTrack = true;
+        }
+        if (isDeoptimized) {
+            return;
+        }
+        for (const properties of [
+            ...Object.values(this.propertiesAndGettersByKey),
+            ...Object.values(this.settersByKey)
+        ]) {
+            for (const property of properties) {
+                property.deoptimizePath(UNKNOWN_PATH);
+            }
+        }
+        // While the prototype itself cannot be mutated, each property can
+        this.prototypeExpression?.deoptimizePath([UnknownKey, UnknownKey]);
+        this.deoptimizeCachedEntities();
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        const [key, ...subPath] = path;
+        const { args, type } = interaction;
+        if (this.hasLostTrack ||
+            // single paths that are deoptimized will not become getters or setters
+            ((type === INTERACTION_CALLED || path.length > 1) &&
+                (this.hasUnknownDeoptimizedProperty ||
+                    (typeof key === 'string' && this.deoptimizedPaths[key])))) {
+            deoptimizeInteraction(interaction);
+            return;
+        }
+        const [propertiesForExactMatchByKey, relevantPropertiesByKey, relevantUnmatchableProperties] = type === INTERACTION_CALLED || path.length > 1
+            ? [
+                this.propertiesAndGettersByKey,
+                this.propertiesAndGettersByKey,
+                this.unmatchablePropertiesAndGetters
+            ]
+            : type === INTERACTION_ACCESSED
+                ? [this.propertiesAndGettersByKey, this.gettersByKey, this.unmatchableGetters]
+                : [this.propertiesAndSettersByKey, this.settersByKey, this.unmatchableSetters];
+        if (typeof key === 'string') {
+            if (propertiesForExactMatchByKey[key]) {
+                const properties = relevantPropertiesByKey[key];
+                if (properties) {
+                    for (const property of properties) {
+                        property.deoptimizeArgumentsOnInteractionAtPath(interaction, subPath, recursionTracker);
+                    }
+                }
+                if (!this.immutable) {
+                    for (const argument of args) {
+                        if (argument) {
+                            this.additionalExpressionsToBeDeoptimized.add(argument);
+                        }
+                    }
+                }
+                return;
+            }
+            for (const property of relevantUnmatchableProperties) {
+                property.deoptimizeArgumentsOnInteractionAtPath(interaction, subPath, recursionTracker);
+            }
+            if (INTEGER_REG_EXP.test(key)) {
+                for (const property of this.unknownIntegerProps) {
+                    property.deoptimizeArgumentsOnInteractionAtPath(interaction, subPath, recursionTracker);
+                }
+            }
+        }
+        else {
+            for (const properties of [
+                ...Object.values(relevantPropertiesByKey),
+                relevantUnmatchableProperties
+            ]) {
+                for (const property of properties) {
+                    property.deoptimizeArgumentsOnInteractionAtPath(interaction, subPath, recursionTracker);
+                }
+            }
+            for (const property of this.unknownIntegerProps) {
+                property.deoptimizeArgumentsOnInteractionAtPath(interaction, subPath, recursionTracker);
+            }
+        }
+        if (!this.immutable) {
+            for (const argument of args) {
+                if (argument) {
+                    this.additionalExpressionsToBeDeoptimized.add(argument);
+                }
+            }
+        }
+        this.prototypeExpression?.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizeIntegerProperties() {
+        if (this.hasLostTrack ||
+            this.hasUnknownDeoptimizedProperty ||
+            this.hasUnknownDeoptimizedInteger) {
+            return;
+        }
+        this.hasUnknownDeoptimizedInteger = true;
+        for (const [key, propertiesAndGetters] of Object.entries(this.propertiesAndGettersByKey)) {
+            if (INTEGER_REG_EXP.test(key)) {
+                for (const property of propertiesAndGetters) {
+                    property.deoptimizePath(UNKNOWN_PATH);
+                }
+            }
+        }
+        this.deoptimizeCachedIntegerEntities();
+    }
+    // Assumption: If only a specific path is deoptimized, no accessors are created
+    deoptimizePath(path) {
+        if (this.hasLostTrack || this.immutable) {
+            return;
+        }
+        const key = path[0];
+        if (path.length === 1) {
+            if (typeof key !== 'string') {
+                if (key === UnknownInteger) {
+                    return this.deoptimizeIntegerProperties();
+                }
+                return this.deoptimizeAllProperties(key === UnknownNonAccessorKey);
+            }
+            if (!this.deoptimizedPaths[key]) {
+                this.deoptimizedPaths[key] = true;
+                // we only deoptimizeCache exact matches as in all other cases,
+                // we do not return a literal value or return expression
+                const expressionsToBeDeoptimized = this.expressionsToBeDeoptimizedByKey[key];
+                if (expressionsToBeDeoptimized) {
+                    for (const expression of expressionsToBeDeoptimized) {
+                        expression.deoptimizeCache();
+                    }
+                }
+            }
+        }
+        const subPath = path.length === 1 ? UNKNOWN_PATH : path.slice(1);
+        for (const property of typeof key === 'string'
+            ? [
+                ...(this.propertiesAndGettersByKey[key] || this.unmatchablePropertiesAndGetters),
+                ...(this.settersByKey[key] || this.unmatchableSetters)
+            ]
+            : this.allProperties) {
+            property.deoptimizePath(subPath);
+        }
+        this.prototypeExpression?.deoptimizePath(path.length === 1 ? [...path, UnknownKey] : path);
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        if (path.length === 0) {
+            return UnknownTruthyValue;
+        }
+        const key = path[0];
+        const expressionAtPath = this.getMemberExpressionAndTrackDeopt(key, origin);
+        if (expressionAtPath) {
+            return expressionAtPath.getLiteralValueAtPath(path.slice(1), recursionTracker, origin);
+        }
+        if (this.prototypeExpression) {
+            return this.prototypeExpression.getLiteralValueAtPath(path, recursionTracker, origin);
+        }
+        if (path.length === 1) {
+            return undefined;
+        }
+        return UnknownValue;
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        if (path.length === 0) {
+            return UNKNOWN_RETURN_EXPRESSION;
+        }
+        const [key, ...subPath] = path;
+        const expressionAtPath = this.getMemberExpressionAndTrackDeopt(key, origin);
+        if (expressionAtPath) {
+            return expressionAtPath.getReturnExpressionWhenCalledAtPath(subPath, interaction, recursionTracker, origin);
+        }
+        if (this.prototypeExpression) {
+            return this.prototypeExpression.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+        }
+        return UNKNOWN_RETURN_EXPRESSION;
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        const [key, ...subPath] = path;
+        if (subPath.length > 0 || interaction.type === INTERACTION_CALLED) {
+            const expressionAtPath = this.getMemberExpression(key);
+            if (expressionAtPath) {
+                return expressionAtPath.hasEffectsOnInteractionAtPath(subPath, interaction, context);
+            }
+            if (this.prototypeExpression) {
+                return this.prototypeExpression.hasEffectsOnInteractionAtPath(path, interaction, context);
+            }
+            return true;
+        }
+        if (key === UnknownNonAccessorKey)
+            return false;
+        if (this.hasLostTrack)
+            return true;
+        const [propertiesAndAccessorsByKey, accessorsByKey, unmatchableAccessors] = interaction.type === INTERACTION_ACCESSED
+            ? [this.propertiesAndGettersByKey, this.gettersByKey, this.unmatchableGetters]
+            : [this.propertiesAndSettersByKey, this.settersByKey, this.unmatchableSetters];
+        if (typeof key === 'string') {
+            if (propertiesAndAccessorsByKey[key]) {
+                const accessors = accessorsByKey[key];
+                if (accessors) {
+                    for (const accessor of accessors) {
+                        if (accessor.hasEffectsOnInteractionAtPath(subPath, interaction, context))
+                            return true;
+                    }
+                }
+                return false;
+            }
+            for (const accessor of unmatchableAccessors) {
+                if (accessor.hasEffectsOnInteractionAtPath(subPath, interaction, context)) {
+                    return true;
+                }
+            }
+        }
+        else {
+            for (const accessors of [...Object.values(accessorsByKey), unmatchableAccessors]) {
+                for (const accessor of accessors) {
+                    if (accessor.hasEffectsOnInteractionAtPath(subPath, interaction, context))
+                        return true;
+                }
+            }
+        }
+        if (this.prototypeExpression) {
+            return this.prototypeExpression.hasEffectsOnInteractionAtPath(path, interaction, context);
+        }
+        return false;
+    }
+    buildPropertyMaps(properties) {
+        const { allProperties, propertiesAndGettersByKey, propertiesAndSettersByKey, settersByKey, gettersByKey, unknownIntegerProps, unmatchablePropertiesAndGetters, unmatchableGetters, unmatchableSetters } = this;
+        const unmatchablePropertiesAndSetters = [];
+        for (let index = properties.length - 1; index >= 0; index--) {
+            const { key, kind, property } = properties[index];
+            allProperties.push(property);
+            if (typeof key === 'string') {
+                if (kind === 'set') {
+                    if (!propertiesAndSettersByKey[key]) {
+                        propertiesAndSettersByKey[key] = [property, ...unmatchablePropertiesAndSetters];
+                        settersByKey[key] = [property, ...unmatchableSetters];
+                    }
+                }
+                else if (kind === 'get') {
+                    if (!propertiesAndGettersByKey[key]) {
+                        propertiesAndGettersByKey[key] = [property, ...unmatchablePropertiesAndGetters];
+                        gettersByKey[key] = [property, ...unmatchableGetters];
+                    }
+                }
+                else {
+                    if (!propertiesAndSettersByKey[key]) {
+                        propertiesAndSettersByKey[key] = [property, ...unmatchablePropertiesAndSetters];
+                    }
+                    if (!propertiesAndGettersByKey[key]) {
+                        propertiesAndGettersByKey[key] = [property, ...unmatchablePropertiesAndGetters];
+                    }
+                }
+            }
+            else {
+                if (key === UnknownInteger) {
+                    unknownIntegerProps.push(property);
+                    continue;
+                }
+                if (kind === 'set')
+                    unmatchableSetters.push(property);
+                if (kind === 'get')
+                    unmatchableGetters.push(property);
+                if (kind !== 'get')
+                    unmatchablePropertiesAndSetters.push(property);
+                if (kind !== 'set')
+                    unmatchablePropertiesAndGetters.push(property);
+            }
+        }
+    }
+    deoptimizeCachedEntities() {
+        for (const expressionsToBeDeoptimized of Object.values(this.expressionsToBeDeoptimizedByKey)) {
+            for (const expression of expressionsToBeDeoptimized) {
+                expression.deoptimizeCache();
+            }
+        }
+        for (const expression of this.additionalExpressionsToBeDeoptimized) {
+            expression.deoptimizePath(UNKNOWN_PATH);
+        }
+    }
+    deoptimizeCachedIntegerEntities() {
+        for (const [key, expressionsToBeDeoptimized] of Object.entries(this.expressionsToBeDeoptimizedByKey)) {
+            if (INTEGER_REG_EXP.test(key)) {
+                for (const expression of expressionsToBeDeoptimized) {
+                    expression.deoptimizeCache();
+                }
+            }
+        }
+        for (const expression of this.additionalExpressionsToBeDeoptimized) {
+            expression.deoptimizePath(UNKNOWN_INTEGER_PATH);
+        }
+    }
+    getMemberExpression(key) {
+        if (this.hasLostTrack ||
+            this.hasUnknownDeoptimizedProperty ||
+            typeof key !== 'string' ||
+            (this.hasUnknownDeoptimizedInteger && INTEGER_REG_EXP.test(key)) ||
+            this.deoptimizedPaths[key]) {
+            return UNKNOWN_EXPRESSION;
+        }
+        const properties = this.propertiesAndGettersByKey[key];
+        if (properties?.length === 1) {
+            return properties[0];
+        }
+        if (properties ||
+            this.unmatchablePropertiesAndGetters.length > 0 ||
+            (this.unknownIntegerProps.length > 0 && INTEGER_REG_EXP.test(key))) {
+            return UNKNOWN_EXPRESSION;
+        }
+        return null;
+    }
+    getMemberExpressionAndTrackDeopt(key, origin) {
+        if (typeof key !== 'string') {
+            return UNKNOWN_EXPRESSION;
+        }
+        const expression = this.getMemberExpression(key);
+        if (!(expression === UNKNOWN_EXPRESSION || this.immutable)) {
+            const expressionsToBeDeoptimized = (this.expressionsToBeDeoptimizedByKey[key] =
+                this.expressionsToBeDeoptimizedByKey[key] || []);
+            expressionsToBeDeoptimized.push(origin);
+        }
+        return expression;
+    }
+}
+
+const isInteger = (property) => typeof property === 'string' && /^\d+$/.test(property);
+// This makes sure unknown properties are not handled as "undefined" but as
+// "unknown" but without access side effects. An exception is done for numeric
+// properties as we do not expect new builtin properties to be numbers, this
+// will improve tree-shaking for out-of-bounds array properties
+const OBJECT_PROTOTYPE_FALLBACK = new (class ObjectPrototypeFallbackExpression extends ExpressionEntity {
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path) {
+        if (interaction.type === INTERACTION_CALLED && path.length === 1 && !isInteger(path[0])) {
+            deoptimizeInteraction(interaction);
+        }
+    }
+    getLiteralValueAtPath(path) {
+        // We ignore number properties as we do not expect new properties to be
+        // numbers and also want to keep handling out-of-bound array elements as
+        // "undefined"
+        return path.length === 1 && isInteger(path[0]) ? undefined : UnknownValue;
+    }
+    hasEffectsOnInteractionAtPath(path, { type }) {
+        return path.length > 1 || type === INTERACTION_CALLED;
+    }
+})();
+const OBJECT_PROTOTYPE = new ObjectEntity({
+    __proto__: null,
+    hasOwnProperty: METHOD_RETURNS_BOOLEAN,
+    isPrototypeOf: METHOD_RETURNS_BOOLEAN,
+    propertyIsEnumerable: METHOD_RETURNS_BOOLEAN,
+    toLocaleString: METHOD_RETURNS_STRING,
+    toString: METHOD_RETURNS_STRING,
+    valueOf: METHOD_RETURNS_UNKNOWN
+}, OBJECT_PROTOTYPE_FALLBACK, true);
+
+const NEW_ARRAY_PROPERTIES = [
+    { key: UnknownInteger, kind: 'init', property: UNKNOWN_EXPRESSION },
+    { key: 'length', kind: 'init', property: UNKNOWN_LITERAL_NUMBER }
+];
+const METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_BOOLEAN = [
+    new Method({
+        callsArgs: [0],
+        mutatesArgs: false,
+        mutatesSelfAsArray: 'deopt-only',
+        returns: null,
+        returnsPrimitive: UNKNOWN_LITERAL_BOOLEAN
+    })
+];
+const METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NUMBER = [
+    new Method({
+        callsArgs: [0],
+        mutatesArgs: false,
+        mutatesSelfAsArray: 'deopt-only',
+        returns: null,
+        returnsPrimitive: UNKNOWN_LITERAL_NUMBER
+    })
+];
+const METHOD_MUTATES_SELF_RETURNS_NEW_ARRAY = [
+    new Method({
+        callsArgs: null,
+        mutatesArgs: false,
+        mutatesSelfAsArray: true,
+        returns: () => new ObjectEntity(NEW_ARRAY_PROPERTIES, ARRAY_PROTOTYPE),
+        returnsPrimitive: null
+    })
+];
+const METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY = [
+    new Method({
+        callsArgs: null,
+        mutatesArgs: false,
+        mutatesSelfAsArray: 'deopt-only',
+        returns: () => new ObjectEntity(NEW_ARRAY_PROPERTIES, ARRAY_PROTOTYPE),
+        returnsPrimitive: null
+    })
+];
+const METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NEW_ARRAY = [
+    new Method({
+        callsArgs: [0],
+        mutatesArgs: false,
+        mutatesSelfAsArray: 'deopt-only',
+        returns: () => new ObjectEntity(NEW_ARRAY_PROPERTIES, ARRAY_PROTOTYPE),
+        returnsPrimitive: null
+    })
+];
+const METHOD_MUTATES_SELF_AND_ARGS_RETURNS_NUMBER = [
+    new Method({
+        callsArgs: null,
+        mutatesArgs: true,
+        mutatesSelfAsArray: true,
+        returns: null,
+        returnsPrimitive: UNKNOWN_LITERAL_NUMBER
+    })
+];
+const METHOD_MUTATES_SELF_RETURNS_UNKNOWN = [
+    new Method({
+        callsArgs: null,
+        mutatesArgs: false,
+        mutatesSelfAsArray: true,
+        returns: null,
+        returnsPrimitive: UNKNOWN_EXPRESSION
+    })
+];
+const METHOD_DEOPTS_SELF_RETURNS_UNKNOWN = [
+    new Method({
+        callsArgs: null,
+        mutatesArgs: false,
+        mutatesSelfAsArray: 'deopt-only',
+        returns: null,
+        returnsPrimitive: UNKNOWN_EXPRESSION
+    })
+];
+const METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN = [
+    new Method({
+        callsArgs: [0],
+        mutatesArgs: false,
+        mutatesSelfAsArray: 'deopt-only',
+        returns: null,
+        returnsPrimitive: UNKNOWN_EXPRESSION
+    })
+];
+const METHOD_MUTATES_SELF_RETURNS_SELF = [
+    new Method({
+        callsArgs: null,
+        mutatesArgs: false,
+        mutatesSelfAsArray: true,
+        returns: 'self',
+        returnsPrimitive: null
+    })
+];
+const METHOD_CALLS_ARG_MUTATES_SELF_RETURNS_SELF = [
+    new Method({
+        callsArgs: [0],
+        mutatesArgs: false,
+        mutatesSelfAsArray: true,
+        returns: 'self',
+        returnsPrimitive: null
+    })
+];
+const ARRAY_PROTOTYPE = new ObjectEntity({
+    __proto__: null,
+    // We assume that accessors have effects as we do not track the accessed value afterwards
+    at: METHOD_DEOPTS_SELF_RETURNS_UNKNOWN,
+    concat: METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY,
+    copyWithin: METHOD_MUTATES_SELF_RETURNS_SELF,
+    entries: METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY,
+    every: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_BOOLEAN,
+    fill: METHOD_MUTATES_SELF_RETURNS_SELF,
+    filter: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NEW_ARRAY,
+    find: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN,
+    findIndex: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NUMBER,
+    findLast: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN,
+    findLastIndex: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NUMBER,
+    flat: METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY,
+    flatMap: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NEW_ARRAY,
+    forEach: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN,
+    includes: METHOD_RETURNS_BOOLEAN,
+    indexOf: METHOD_RETURNS_NUMBER,
+    join: METHOD_RETURNS_STRING,
+    keys: METHOD_RETURNS_UNKNOWN,
+    lastIndexOf: METHOD_RETURNS_NUMBER,
+    map: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NEW_ARRAY,
+    pop: METHOD_MUTATES_SELF_RETURNS_UNKNOWN,
+    push: METHOD_MUTATES_SELF_AND_ARGS_RETURNS_NUMBER,
+    reduce: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN,
+    reduceRight: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN,
+    reverse: METHOD_MUTATES_SELF_RETURNS_SELF,
+    shift: METHOD_MUTATES_SELF_RETURNS_UNKNOWN,
+    slice: METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY,
+    some: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_BOOLEAN,
+    sort: METHOD_CALLS_ARG_MUTATES_SELF_RETURNS_SELF,
+    splice: METHOD_MUTATES_SELF_RETURNS_NEW_ARRAY,
+    toLocaleString: METHOD_RETURNS_STRING,
+    toString: METHOD_RETURNS_STRING,
+    unshift: METHOD_MUTATES_SELF_AND_ARGS_RETURNS_NUMBER,
+    values: METHOD_DEOPTS_SELF_RETURNS_UNKNOWN
+}, OBJECT_PROTOTYPE, true);
+
+class ArrayExpression extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.objectEntity = null;
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.getObjectEntity().deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizePath(path) {
+        this.getObjectEntity().deoptimizePath(path);
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        return this.getObjectEntity().getLiteralValueAtPath(path, recursionTracker, origin);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        return this.getObjectEntity().getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        return this.getObjectEntity().hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        let hasSpread = false;
+        for (let index = 0; index < this.elements.length; index++) {
+            const element = this.elements[index];
+            if (element && (hasSpread || element instanceof SpreadElement)) {
+                hasSpread = true;
+                element.deoptimizePath(UNKNOWN_PATH);
+            }
+        }
+        this.scope.context.requestTreeshakingPass();
+    }
+    getObjectEntity() {
+        if (this.objectEntity !== null) {
+            return this.objectEntity;
+        }
+        const properties = [
+            { key: 'length', kind: 'init', property: UNKNOWN_LITERAL_NUMBER }
+        ];
+        let hasSpread = false;
+        for (let index = 0; index < this.elements.length; index++) {
+            const element = this.elements[index];
+            if (hasSpread || element instanceof SpreadElement) {
+                if (element) {
+                    hasSpread = true;
+                    properties.unshift({ key: UnknownInteger, kind: 'init', property: element });
+                }
+            }
+            else if (element) {
+                properties.push({ key: String(index), kind: 'init', property: element });
+            }
+            else {
+                properties.push({ key: String(index), kind: 'init', property: UNDEFINED_EXPRESSION });
+            }
+        }
+        return (this.objectEntity = new ObjectEntity(properties, ARRAY_PROTOTYPE));
+    }
+}
+
+class ArrayPattern extends NodeBase {
+    addExportedVariables(variables, exportNamesByVariable) {
+        for (const element of this.elements) {
+            element?.addExportedVariables(variables, exportNamesByVariable);
+        }
+    }
+    declare(kind) {
+        const variables = [];
+        for (const element of this.elements) {
+            if (element !== null) {
+                variables.push(...element.declare(kind, UNKNOWN_EXPRESSION));
+            }
+        }
+        return variables;
+    }
+    // Patterns can only be deoptimized at the empty path at the moment
+    deoptimizePath() {
+        for (const element of this.elements) {
+            element?.deoptimizePath(EMPTY_PATH);
+        }
+    }
+    // Patterns are only checked at the emtpy path at the moment
+    hasEffectsOnInteractionAtPath(_path, interaction, context) {
+        for (const element of this.elements) {
+            if (element?.hasEffectsOnInteractionAtPath(EMPTY_PATH, interaction, context))
+                return true;
+        }
+        return false;
+    }
+    markDeclarationReached() {
+        for (const element of this.elements) {
+            element?.markDeclarationReached();
+        }
+    }
+}
+
+const ArrowFunctionExpression$1 = 'ArrowFunctionExpression';
+const BlockStatement$1 = 'BlockStatement';
+const CallExpression$1 = 'CallExpression';
+const CatchClause$1 = 'CatchClause';
+const ExpressionStatement$1 = 'ExpressionStatement';
+const Identifier$1 = 'Identifier';
+const Program$1 = 'Program';
+const Property$1 = 'Property';
+const ReturnStatement$1 = 'ReturnStatement';
+
+class LocalVariable extends Variable {
+    constructor(name, declarator, init, context, kind) {
+        super(name);
+        this.init = init;
+        this.calledFromTryStatement = false;
+        this.additionalInitializers = null;
+        this.expressionsToBeDeoptimized = [];
+        this.declarations = declarator ? [declarator] : [];
+        this.deoptimizationTracker = context.deoptimizationTracker;
+        this.module = context.module;
+        this.kind = kind;
+    }
+    addDeclaration(identifier, init) {
+        this.declarations.push(identifier);
+        this.markInitializersForDeoptimization().push(init);
+    }
+    consolidateInitializers() {
+        if (this.additionalInitializers) {
+            for (const initializer of this.additionalInitializers) {
+                initializer.deoptimizePath(UNKNOWN_PATH);
+            }
+            this.additionalInitializers = null;
+        }
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        if (this.isReassigned) {
+            deoptimizeInteraction(interaction);
+            return;
+        }
+        recursionTracker.withTrackedEntityAtPath(path, this.init, () => this.init.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker), undefined);
+    }
+    deoptimizePath(path) {
+        if (this.isReassigned ||
+            this.deoptimizationTracker.trackEntityAtPathAndGetIfTracked(path, this)) {
+            return;
+        }
+        if (path.length === 0) {
+            this.isReassigned = true;
+            const expressionsToBeDeoptimized = this.expressionsToBeDeoptimized;
+            this.expressionsToBeDeoptimized = EMPTY_ARRAY;
+            for (const expression of expressionsToBeDeoptimized) {
+                expression.deoptimizeCache();
+            }
+            this.init.deoptimizePath(UNKNOWN_PATH);
+        }
+        else {
+            this.init.deoptimizePath(path);
+        }
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        if (this.isReassigned) {
+            return UnknownValue;
+        }
+        return recursionTracker.withTrackedEntityAtPath(path, this.init, () => {
+            this.expressionsToBeDeoptimized.push(origin);
+            return this.init.getLiteralValueAtPath(path, recursionTracker, origin);
+        }, UnknownValue);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        if (this.isReassigned) {
+            return UNKNOWN_RETURN_EXPRESSION;
+        }
+        return recursionTracker.withTrackedEntityAtPath(path, this.init, () => {
+            this.expressionsToBeDeoptimized.push(origin);
+            return this.init.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+        }, UNKNOWN_RETURN_EXPRESSION);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        switch (interaction.type) {
+            case INTERACTION_ACCESSED: {
+                if (this.isReassigned)
+                    return true;
+                return (!context.accessed.trackEntityAtPathAndGetIfTracked(path, this) &&
+                    this.init.hasEffectsOnInteractionAtPath(path, interaction, context));
+            }
+            case INTERACTION_ASSIGNED: {
+                if (this.included)
+                    return true;
+                if (path.length === 0)
+                    return false;
+                if (this.isReassigned)
+                    return true;
+                return (!context.assigned.trackEntityAtPathAndGetIfTracked(path, this) &&
+                    this.init.hasEffectsOnInteractionAtPath(path, interaction, context));
+            }
+            case INTERACTION_CALLED: {
+                if (this.isReassigned)
+                    return true;
+                return (!(interaction.withNew ? context.instantiated : context.called).trackEntityAtPathAndGetIfTracked(path, interaction.args, this) &&
+                    this.init.hasEffectsOnInteractionAtPath(path, interaction, context));
+            }
+        }
+    }
+    include() {
+        if (!this.included) {
+            super.include();
+            for (const declaration of this.declarations) {
+                // If node is a default export, it can save a tree-shaking run to include the full declaration now
+                if (!declaration.included)
+                    declaration.include(createInclusionContext(), false);
+                let node = declaration.parent;
+                while (!node.included) {
+                    // We do not want to properly include parents in case they are part of a dead branch
+                    // in which case .include() might pull in more dead code
+                    node.included = true;
+                    if (node.type === Program$1)
+                        break;
+                    node = node.parent;
+                }
+            }
+        }
+    }
+    includeCallArguments(context, parameters) {
+        if (this.isReassigned || context.includedCallArguments.has(this.init)) {
+            for (const argument of parameters) {
+                argument.include(context, false);
+            }
+        }
+        else {
+            context.includedCallArguments.add(this.init);
+            this.init.includeCallArguments(context, parameters);
+            context.includedCallArguments.delete(this.init);
+        }
+    }
+    markCalledFromTryStatement() {
+        this.calledFromTryStatement = true;
+    }
+    markInitializersForDeoptimization() {
+        if (this.additionalInitializers === null) {
+            this.additionalInitializers = [this.init];
+            this.init = UNKNOWN_EXPRESSION;
+            this.isReassigned = true;
+        }
+        return this.additionalInitializers;
+    }
+}
+
+const MAX_TRACKED_INTERACTIONS = 20;
+const NO_INTERACTIONS = EMPTY_ARRAY;
+const UNKNOWN_DEOPTIMIZED_FIELD = new Set([UnknownKey]);
+const EMPTY_PATH_TRACKER = new PathTracker();
+const UNKNOWN_DEOPTIMIZED_ENTITY = new Set([UNKNOWN_EXPRESSION]);
+class ParameterVariable extends LocalVariable {
+    constructor(name, declarator, context) {
+        super(name, declarator, UNKNOWN_EXPRESSION, context, "parameter" /* VariableKind.parameter */);
+        this.deoptimizationInteractions = [];
+        this.deoptimizations = new PathTracker();
+        this.deoptimizedFields = new Set();
+        this.entitiesToBeDeoptimized = new Set();
+    }
+    addEntityToBeDeoptimized(entity) {
+        if (entity === UNKNOWN_EXPRESSION) {
+            // As unknown expressions fully deoptimize all interactions, we can clear
+            // the interaction cache at this point provided we keep this optimization
+            // in mind when adding new interactions
+            if (!this.entitiesToBeDeoptimized.has(UNKNOWN_EXPRESSION)) {
+                this.entitiesToBeDeoptimized.add(UNKNOWN_EXPRESSION);
+                for (const { interaction } of this.deoptimizationInteractions) {
+                    deoptimizeInteraction(interaction);
+                }
+                this.deoptimizationInteractions = NO_INTERACTIONS;
+            }
+        }
+        else if (this.deoptimizedFields.has(UnknownKey)) {
+            // This means that we already deoptimized all interactions and no longer
+            // track them
+            entity.deoptimizePath(UNKNOWN_PATH);
+        }
+        else if (!this.entitiesToBeDeoptimized.has(entity)) {
+            this.entitiesToBeDeoptimized.add(entity);
+            for (const field of this.deoptimizedFields) {
+                entity.deoptimizePath([field]);
+            }
+            for (const { interaction, path } of this.deoptimizationInteractions) {
+                entity.deoptimizeArgumentsOnInteractionAtPath(interaction, path, SHARED_RECURSION_TRACKER);
+            }
+        }
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path) {
+        // For performance reasons, we fully deoptimize all deeper interactions
+        if (path.length >= 2 ||
+            this.entitiesToBeDeoptimized.has(UNKNOWN_EXPRESSION) ||
+            this.deoptimizationInteractions.length >= MAX_TRACKED_INTERACTIONS ||
+            (path.length === 1 &&
+                (this.deoptimizedFields.has(UnknownKey) ||
+                    (interaction.type === INTERACTION_CALLED && this.deoptimizedFields.has(path[0]))))) {
+            deoptimizeInteraction(interaction);
+            return;
+        }
+        if (!this.deoptimizations.trackEntityAtPathAndGetIfTracked(path, interaction.args)) {
+            for (const entity of this.entitiesToBeDeoptimized) {
+                entity.deoptimizeArgumentsOnInteractionAtPath(interaction, path, SHARED_RECURSION_TRACKER);
+            }
+            if (!this.entitiesToBeDeoptimized.has(UNKNOWN_EXPRESSION)) {
+                this.deoptimizationInteractions.push({
+                    interaction,
+                    path
+                });
+            }
+        }
+    }
+    deoptimizePath(path) {
+        if (path.length === 0 || this.deoptimizedFields.has(UnknownKey)) {
+            return;
+        }
+        const key = path[0];
+        if (this.deoptimizedFields.has(key)) {
+            return;
+        }
+        this.deoptimizedFields.add(key);
+        for (const entity of this.entitiesToBeDeoptimized) {
+            // We do not need a recursion tracker here as we already track whether
+            // this field is deoptimized
+            entity.deoptimizePath([key]);
+        }
+        if (key === UnknownKey) {
+            // save some memory
+            this.deoptimizationInteractions = NO_INTERACTIONS;
+            this.deoptimizations = EMPTY_PATH_TRACKER;
+            this.deoptimizedFields = UNKNOWN_DEOPTIMIZED_FIELD;
+            this.entitiesToBeDeoptimized = UNKNOWN_DEOPTIMIZED_ENTITY;
+        }
+    }
+    getReturnExpressionWhenCalledAtPath(path) {
+        // We deoptimize everything that is called as that will trivially deoptimize
+        // the corresponding return expressions as well and avoid badly performing
+        // and complicated alternatives
+        if (path.length === 0) {
+            this.deoptimizePath(UNKNOWN_PATH);
+        }
+        else if (!this.deoptimizedFields.has(path[0])) {
+            this.deoptimizePath([path[0]]);
+        }
+        return UNKNOWN_RETURN_EXPRESSION;
+    }
+}
+
+function getSafeName(baseName, usedNames, forbiddenNames) {
+    let safeName = baseName;
+    let count = 1;
+    while (usedNames.has(safeName) || RESERVED_NAMES.has(safeName) || forbiddenNames?.has(safeName)) {
+        safeName = `${baseName}$${toBase64(count++)}`;
+    }
+    usedNames.add(safeName);
+    return safeName;
+}
+
+class Scope {
+    constructor() {
+        this.children = [];
+        this.variables = new Map();
+    }
+    /*
+    Redeclaration rules:
+    - var can redeclare var
+    - in function scopes, function and var can redeclare function and var
+    - var is hoisted across scopes, function remains in the scope it is declared
+    - var and function can redeclare function parameters, but parameters cannot redeclare parameters
+    - function cannot redeclare catch scope parameters
+    - var can redeclare catch scope parameters in a way
+        - if the parameter is an identifier and not a pattern
+        - then the variable is still declared in the hoisted outer scope, but the initializer is assigned to the parameter
+    - const, let, class, and function except in the cases above cannot redeclare anything
+     */
+    addDeclaration(identifier, context, init, kind) {
+        const name = identifier.name;
+        const existingVariable = this.hoistedVariables?.get(name) || this.variables.get(name);
+        if (existingVariable) {
+            const existingKind = existingVariable.kind;
+            if (kind === "var" /* VariableKind.var */ && existingKind === "var" /* VariableKind.var */) {
+                existingVariable.addDeclaration(identifier, init);
+                return existingVariable;
+            }
+            context.error(parseAst_js.logRedeclarationError(name), identifier.start);
+        }
+        const newVariable = new LocalVariable(identifier.name, identifier, init, context, kind);
+        this.variables.set(name, newVariable);
+        return newVariable;
+    }
+    addHoistedVariable(name, variable) {
+        (this.hoistedVariables ||= new Map()).set(name, variable);
+    }
+    contains(name) {
+        return this.variables.has(name);
+    }
+    findVariable(_name) {
+        /* istanbul ignore next */
+        throw new Error('Internal Error: findVariable needs to be implemented by a subclass');
+    }
+}
+
+class ChildScope extends Scope {
+    constructor(parent, context) {
+        super();
+        this.parent = parent;
+        this.context = context;
+        this.accessedOutsideVariables = new Map();
+        parent.children.push(this);
+    }
+    addAccessedDynamicImport(importExpression) {
+        (this.accessedDynamicImports || (this.accessedDynamicImports = new Set())).add(importExpression);
+        if (this.parent instanceof ChildScope) {
+            this.parent.addAccessedDynamicImport(importExpression);
+        }
+    }
+    addAccessedGlobals(globals, accessedGlobalsByScope) {
+        const accessedGlobals = accessedGlobalsByScope.get(this) || new Set();
+        for (const name of globals) {
+            accessedGlobals.add(name);
+        }
+        accessedGlobalsByScope.set(this, accessedGlobals);
+        if (this.parent instanceof ChildScope) {
+            this.parent.addAccessedGlobals(globals, accessedGlobalsByScope);
+        }
+    }
+    addNamespaceMemberAccess(name, variable) {
+        this.accessedOutsideVariables.set(name, variable);
+        this.parent.addNamespaceMemberAccess(name, variable);
+    }
+    addReturnExpression(expression) {
+        this.parent instanceof ChildScope && this.parent.addReturnExpression(expression);
+    }
+    addUsedOutsideNames(usedNames, format, exportNamesByVariable, accessedGlobalsByScope) {
+        for (const variable of this.accessedOutsideVariables.values()) {
+            if (variable.included) {
+                usedNames.add(variable.getBaseVariableName());
+                if (format === 'system' && exportNamesByVariable.has(variable)) {
+                    usedNames.add('exports');
+                }
+            }
+        }
+        const accessedGlobals = accessedGlobalsByScope.get(this);
+        if (accessedGlobals) {
+            for (const name of accessedGlobals) {
+                usedNames.add(name);
+            }
+        }
+    }
+    contains(name) {
+        return this.variables.has(name) || this.parent.contains(name);
+    }
+    deconflict(format, exportNamesByVariable, accessedGlobalsByScope) {
+        const usedNames = new Set();
+        this.addUsedOutsideNames(usedNames, format, exportNamesByVariable, accessedGlobalsByScope);
+        if (this.accessedDynamicImports) {
+            for (const importExpression of this.accessedDynamicImports) {
+                if (importExpression.inlineNamespace) {
+                    usedNames.add(importExpression.inlineNamespace.getBaseVariableName());
+                }
+            }
+        }
+        for (const [name, variable] of this.variables) {
+            if (variable.included || variable.alwaysRendered) {
+                variable.setRenderNames(null, getSafeName(name, usedNames, variable.forbiddenNames));
+            }
+        }
+        for (const scope of this.children) {
+            scope.deconflict(format, exportNamesByVariable, accessedGlobalsByScope);
+        }
+    }
+    findLexicalBoundary() {
+        return this.parent.findLexicalBoundary();
+    }
+    findVariable(name) {
+        const knownVariable = this.variables.get(name) || this.accessedOutsideVariables.get(name);
+        if (knownVariable) {
+            return knownVariable;
+        }
+        const variable = this.parent.findVariable(name);
+        this.accessedOutsideVariables.set(name, variable);
+        return variable;
+    }
+}
+
+class CatchBodyScope extends ChildScope {
+    constructor(parent) {
+        super(parent, parent.context);
+        this.parent = parent;
+    }
+    addDeclaration(identifier, context, init, kind) {
+        if (kind === "var" /* VariableKind.var */) {
+            const name = identifier.name;
+            const existingVariable = this.hoistedVariables?.get(name) || this.variables.get(name);
+            if (existingVariable) {
+                const existingKind = existingVariable.kind;
+                if (existingKind === "parameter" /* VariableKind.parameter */ &&
+                    // If this is a destructured parameter, it is forbidden to redeclare
+                    existingVariable.declarations[0].parent.type === CatchClause$1) {
+                    // If this is a var with the same name as the catch scope parameter,
+                    // the assignment actually goes to the parameter and the var is
+                    // hoisted without assignment. Locally, it is shadowed by the
+                    // parameter
+                    const declaredVariable = this.parent.parent.addDeclaration(identifier, context, UNDEFINED_EXPRESSION, kind);
+                    // To avoid the need to rewrite the declaration, we link the variable
+                    // names. If we ever implement a logic that splits initialization and
+                    // assignment for hoisted vars, the "renderLikeHoisted" logic can be
+                    // removed again.
+                    // We do not need to check whether there already is a linked
+                    // variable because then declaredVariable would be that linked
+                    // variable.
+                    existingVariable.renderLikeHoisted(declaredVariable);
+                    this.addHoistedVariable(name, declaredVariable);
+                    return declaredVariable;
+                }
+                if (existingKind === "var" /* VariableKind.var */) {
+                    existingVariable.addDeclaration(identifier, init);
+                    return existingVariable;
+                }
+                return context.error(parseAst_js.logRedeclarationError(name), identifier.start);
+            }
+            // We only add parameters to parameter scopes
+            const declaredVariable = this.parent.parent.addDeclaration(identifier, context, init, kind);
+            // Necessary to make sure the init is deoptimized for conditional declarations.
+            // We cannot call deoptimizePath here.
+            declaredVariable.markInitializersForDeoptimization();
+            // We add the variable to this and all parent scopes to reliably detect conflicts
+            this.addHoistedVariable(name, declaredVariable);
+            return declaredVariable;
+        }
+        return super.addDeclaration(identifier, context, init, kind);
+    }
+}
+
+class FunctionBodyScope extends ChildScope {
+    constructor(parent) {
+        super(parent, parent.context);
+    }
+    // There is stuff that is only allowed in function scopes, i.e. functions can
+    // be redeclared, functions and var can redeclare each other
+    addDeclaration(identifier, context, init, kind) {
+        const name = identifier.name;
+        const existingVariable = this.hoistedVariables?.get(name) || this.variables.get(name);
+        if (existingVariable) {
+            const existingKind = existingVariable.kind;
+            if ((kind === "var" /* VariableKind.var */ || kind === "function" /* VariableKind.function */) &&
+                (existingKind === "var" /* VariableKind.var */ ||
+                    existingKind === "function" /* VariableKind.function */ ||
+                    existingKind === "parameter" /* VariableKind.parameter */)) {
+                existingVariable.addDeclaration(identifier, init);
+                return existingVariable;
+            }
+            context.error(parseAst_js.logRedeclarationError(name), identifier.start);
+        }
+        const newVariable = new LocalVariable(identifier.name, identifier, init, context, kind);
+        this.variables.set(name, newVariable);
+        return newVariable;
+    }
+}
+
+class ParameterScope extends ChildScope {
+    constructor(parent, isCatchScope) {
+        super(parent, parent.context);
+        this.parameters = [];
+        this.hasRest = false;
+        this.bodyScope = isCatchScope ? new CatchBodyScope(this) : new FunctionBodyScope(this);
+    }
+    /**
+     * Adds a parameter to this scope. Parameters must be added in the correct
+     * order, i.e. from left to right.
+     */
+    addParameterDeclaration(identifier) {
+        const { name, start } = identifier;
+        const existingParameter = this.variables.get(name);
+        if (existingParameter) {
+            return this.context.error(parseAst_js.logDuplicateArgumentNameError(name), start);
+        }
+        const variable = new ParameterVariable(name, identifier, this.context);
+        this.variables.set(name, variable);
+        // We also add it to the body scope to detect name conflicts with local
+        // variables. We still need the intermediate scope, though, as parameter
+        // defaults are NOT taken from the body scope but from the parameters or
+        // outside scope.
+        this.bodyScope.addHoistedVariable(name, variable);
+        return variable;
+    }
+    addParameterVariables(parameters, hasRest) {
+        this.parameters = parameters;
+        for (const parameterList of parameters) {
+            for (const parameter of parameterList) {
+                parameter.alwaysRendered = true;
+            }
+        }
+        this.hasRest = hasRest;
+    }
+    includeCallArguments(context, parameters) {
+        let calledFromTryStatement = false;
+        let argumentIncluded = false;
+        const restParameter = this.hasRest && this.parameters[this.parameters.length - 1];
+        for (const checkedArgument of parameters) {
+            if (checkedArgument instanceof SpreadElement) {
+                for (const argument of parameters) {
+                    argument.include(context, false);
+                }
+                break;
+            }
+        }
+        for (let index = parameters.length - 1; index >= 0; index--) {
+            const parameterVariables = this.parameters[index] || restParameter;
+            const argument = parameters[index];
+            if (parameterVariables) {
+                calledFromTryStatement = false;
+                if (parameterVariables.length === 0) {
+                    // handle empty destructuring
+                    argumentIncluded = true;
+                }
+                else {
+                    for (const variable of parameterVariables) {
+                        if (variable.included) {
+                            argumentIncluded = true;
+                        }
+                        if (variable.calledFromTryStatement) {
+                            calledFromTryStatement = true;
+                        }
+                    }
+                }
+            }
+            if (!argumentIncluded && argument.shouldBeIncluded(context)) {
+                argumentIncluded = true;
+            }
+            if (argumentIncluded) {
+                argument.include(context, calledFromTryStatement);
+            }
+        }
+    }
+}
+
+class ReturnValueScope extends ParameterScope {
+    constructor() {
+        super(...arguments);
+        this.returnExpression = null;
+        this.returnExpressions = [];
+    }
+    addReturnExpression(expression) {
+        this.returnExpressions.push(expression);
+    }
+    getReturnExpression() {
+        if (this.returnExpression === null)
+            this.updateReturnExpression();
+        return this.returnExpression;
+    }
+    updateReturnExpression() {
+        if (this.returnExpressions.length === 1) {
+            this.returnExpression = this.returnExpressions[0];
+        }
+        else {
+            this.returnExpression = UNKNOWN_EXPRESSION;
+            for (const expression of this.returnExpressions) {
+                expression.deoptimizePath(UNKNOWN_PATH);
+            }
+        }
+    }
+}
+
+/** @typedef { import('estree').Node} Node */
+/** @typedef {Node | {
+ *   type: 'PropertyDefinition';
+ *   computed: boolean;
+ *   value: Node
+ * }} NodeWithPropertyDefinition */
+
+/**
+ *
+ * @param {NodeWithPropertyDefinition} node
+ * @param {NodeWithPropertyDefinition} parent
+ * @returns {boolean}
+ */
+function is_reference (node, parent) {
+	if (node.type === 'MemberExpression') {
+		return !node.computed && is_reference(node.object, node);
+	}
+
+	if (node.type === 'Identifier') {
+		if (!parent) return true;
+
+		switch (parent.type) {
+			// disregard `bar` in `foo.bar`
+			case 'MemberExpression': return parent.computed || node === parent.object;
+
+			// disregard the `foo` in `class {foo(){}}` but keep it in `class {[foo](){}}`
+			case 'MethodDefinition': return parent.computed;
+
+			// disregard the `foo` in `class {foo=bar}` but keep it in `class {[foo]=bar}` and `class {bar=foo}`
+			case 'PropertyDefinition': return parent.computed || node === parent.value;
+
+			// disregard the `bar` in `{ bar: foo }`, but keep it in `{ [bar]: foo }`
+			case 'Property': return parent.computed || node === parent.value;
+
+			// disregard the `bar` in `export { foo as bar }` or
+			// the foo in `import { foo as bar }`
+			case 'ExportSpecifier':
+			case 'ImportSpecifier': return node === parent.local;
+
+			// disregard the `foo` in `foo: while (...) { ... break foo; ... continue foo;}`
+			case 'LabeledStatement':
+			case 'BreakStatement':
+			case 'ContinueStatement': return false;
+			default: return true;
+		}
+	}
+
+	return false;
+}
+
+const PureFunctionKey = Symbol('PureFunction');
+const getPureFunctions = ({ treeshake }) => {
+    const pureFunctions = Object.create(null);
+    for (const functionName of treeshake ? treeshake.manualPureFunctions : []) {
+        let currentFunctions = pureFunctions;
+        for (const pathSegment of functionName.split('.')) {
+            currentFunctions = currentFunctions[pathSegment] ||= Object.create(null);
+        }
+        currentFunctions[PureFunctionKey] = true;
+    }
+    return pureFunctions;
+};
+
+/* eslint sort-keys: "off" */
+const ValueProperties = Symbol('Value Properties');
+const getTruthyLiteralValue = () => UnknownTruthyValue;
+const returnFalse = () => false;
+const returnTrue = () => true;
+const PURE = {
+    deoptimizeArgumentsOnCall: doNothing,
+    getLiteralValue: getTruthyLiteralValue,
+    hasEffectsWhenCalled: returnFalse
+};
+const IMPURE = {
+    deoptimizeArgumentsOnCall: doNothing,
+    getLiteralValue: getTruthyLiteralValue,
+    hasEffectsWhenCalled: returnTrue
+};
+const PURE_WITH_ARRAY = {
+    deoptimizeArgumentsOnCall: doNothing,
+    getLiteralValue: getTruthyLiteralValue,
+    hasEffectsWhenCalled({ args }) {
+        return args.length > 1 && !(args[1] instanceof ArrayExpression);
+    }
+};
+const GETTER_ACCESS = {
+    deoptimizeArgumentsOnCall: doNothing,
+    getLiteralValue: getTruthyLiteralValue,
+    hasEffectsWhenCalled({ args }, context) {
+        const [_thisArgument, firstArgument] = args;
+        return (!(firstArgument instanceof ExpressionEntity) ||
+            firstArgument.hasEffectsOnInteractionAtPath(UNKNOWN_PATH, NODE_INTERACTION_UNKNOWN_ACCESS, context));
+    }
+};
+// We use shortened variables to reduce file size here
+/* OBJECT */
+const O = {
+    __proto__: null,
+    [ValueProperties]: IMPURE
+};
+/* PURE FUNCTION */
+const PF = {
+    __proto__: null,
+    [ValueProperties]: PURE
+};
+/* PURE FUNCTION IF FIRST ARG DOES NOT CONTAIN A GETTER */
+const PF_NO_GETTER = {
+    __proto__: null,
+    [ValueProperties]: GETTER_ACCESS
+};
+/* FUNCTION THAT MUTATES FIRST ARG WITHOUT TRIGGERING ACCESSORS */
+const MUTATES_ARG_WITHOUT_ACCESSOR = {
+    __proto__: null,
+    [ValueProperties]: {
+        deoptimizeArgumentsOnCall({ args: [, firstArgument] }) {
+            firstArgument?.deoptimizePath(UNKNOWN_PATH);
+        },
+        getLiteralValue: getTruthyLiteralValue,
+        hasEffectsWhenCalled({ args }, context) {
+            return (args.length <= 1 ||
+                args[1].hasEffectsOnInteractionAtPath(UNKNOWN_NON_ACCESSOR_PATH, NODE_INTERACTION_UNKNOWN_ASSIGNMENT, context));
+        }
+    }
+};
+/* CONSTRUCTOR */
+const C = {
+    __proto__: null,
+    [ValueProperties]: IMPURE,
+    prototype: O
+};
+/* PURE CONSTRUCTOR */
+const PC = {
+    __proto__: null,
+    [ValueProperties]: PURE,
+    prototype: O
+};
+const PC_WITH_ARRAY = {
+    __proto__: null,
+    [ValueProperties]: PURE_WITH_ARRAY,
+    prototype: O
+};
+const ARRAY_TYPE = {
+    __proto__: null,
+    [ValueProperties]: PURE,
+    from: O,
+    of: PF,
+    prototype: O
+};
+const INTL_MEMBER = {
+    __proto__: null,
+    [ValueProperties]: PURE,
+    supportedLocalesOf: PC
+};
+const knownGlobals = {
+    // Placeholders for global objects to avoid shape mutations
+    global: O,
+    globalThis: O,
+    self: O,
+    window: O,
+    // Common globals
+    __proto__: null,
+    [ValueProperties]: IMPURE,
+    Array: {
+        __proto__: null,
+        [ValueProperties]: IMPURE,
+        from: O,
+        isArray: PF,
+        of: PF,
+        prototype: O
+    },
+    ArrayBuffer: {
+        __proto__: null,
+        [ValueProperties]: PURE,
+        isView: PF,
+        prototype: O
+    },
+    Atomics: O,
+    BigInt: C,
+    BigInt64Array: C,
+    BigUint64Array: C,
+    Boolean: PC,
+    constructor: C,
+    DataView: PC,
+    Date: {
+        __proto__: null,
+        [ValueProperties]: PURE,
+        now: PF,
+        parse: PF,
+        prototype: O,
+        UTC: PF
+    },
+    decodeURI: PF,
+    decodeURIComponent: PF,
+    encodeURI: PF,
+    encodeURIComponent: PF,
+    Error: PC,
+    escape: PF,
+    eval: O,
+    EvalError: PC,
+    Float32Array: ARRAY_TYPE,
+    Float64Array: ARRAY_TYPE,
+    Function: C,
+    hasOwnProperty: O,
+    Infinity: O,
+    Int16Array: ARRAY_TYPE,
+    Int32Array: ARRAY_TYPE,
+    Int8Array: ARRAY_TYPE,
+    isFinite: PF,
+    isNaN: PF,
+    isPrototypeOf: O,
+    JSON: O,
+    Map: PC_WITH_ARRAY,
+    Math: {
+        __proto__: null,
+        [ValueProperties]: IMPURE,
+        abs: PF,
+        acos: PF,
+        acosh: PF,
+        asin: PF,
+        asinh: PF,
+        atan: PF,
+        atan2: PF,
+        atanh: PF,
+        cbrt: PF,
+        ceil: PF,
+        clz32: PF,
+        cos: PF,
+        cosh: PF,
+        exp: PF,
+        expm1: PF,
+        floor: PF,
+        fround: PF,
+        hypot: PF,
+        imul: PF,
+        log: PF,
+        log10: PF,
+        log1p: PF,
+        log2: PF,
+        max: PF,
+        min: PF,
+        pow: PF,
+        random: PF,
+        round: PF,
+        sign: PF,
+        sin: PF,
+        sinh: PF,
+        sqrt: PF,
+        tan: PF,
+        tanh: PF,
+        trunc: PF
+    },
+    NaN: O,
+    Number: {
+        __proto__: null,
+        [ValueProperties]: PURE,
+        isFinite: PF,
+        isInteger: PF,
+        isNaN: PF,
+        isSafeInteger: PF,
+        parseFloat: PF,
+        parseInt: PF,
+        prototype: O
+    },
+    Object: {
+        __proto__: null,
+        [ValueProperties]: PURE,
+        create: PF,
+        // Technically those can throw in certain situations, but we ignore this as
+        // code that relies on this will hopefully wrap this in a try-catch, which
+        // deoptimizes everything anyway
+        defineProperty: MUTATES_ARG_WITHOUT_ACCESSOR,
+        defineProperties: MUTATES_ARG_WITHOUT_ACCESSOR,
+        freeze: MUTATES_ARG_WITHOUT_ACCESSOR,
+        getOwnPropertyDescriptor: PF,
+        getOwnPropertyDescriptors: PF,
+        getOwnPropertyNames: PF,
+        getOwnPropertySymbols: PF,
+        getPrototypeOf: PF,
+        hasOwn: PF,
+        is: PF,
+        isExtensible: PF,
+        isFrozen: PF,
+        isSealed: PF,
+        keys: PF,
+        fromEntries: O,
+        entries: PF_NO_GETTER,
+        values: PF_NO_GETTER,
+        prototype: O
+    },
+    parseFloat: PF,
+    parseInt: PF,
+    Promise: {
+        __proto__: null,
+        [ValueProperties]: IMPURE,
+        all: O,
+        allSettled: O,
+        any: O,
+        prototype: O,
+        race: O,
+        reject: O,
+        resolve: O
+    },
+    propertyIsEnumerable: O,
+    Proxy: O,
+    RangeError: PC,
+    ReferenceError: PC,
+    Reflect: O,
+    RegExp: PC,
+    Set: PC_WITH_ARRAY,
+    SharedArrayBuffer: C,
+    String: {
+        __proto__: null,
+        [ValueProperties]: PURE,
+        fromCharCode: PF,
+        fromCodePoint: PF,
+        prototype: O,
+        raw: PF
+    },
+    Symbol: {
+        __proto__: null,
+        [ValueProperties]: PURE,
+        for: PF,
+        keyFor: PF,
+        prototype: O,
+        toStringTag: {
+            __proto__: null,
+            [ValueProperties]: {
+                deoptimizeArgumentsOnCall: doNothing,
+                getLiteralValue() {
+                    return SymbolToStringTag;
+                },
+                hasEffectsWhenCalled: returnTrue
+            }
+        }
+    },
+    SyntaxError: PC,
+    toLocaleString: O,
+    toString: O,
+    TypeError: PC,
+    Uint16Array: ARRAY_TYPE,
+    Uint32Array: ARRAY_TYPE,
+    Uint8Array: ARRAY_TYPE,
+    Uint8ClampedArray: ARRAY_TYPE,
+    // Technically, this is a global, but it needs special handling
+    // undefined: ?,
+    unescape: PF,
+    URIError: PC,
+    valueOf: O,
+    WeakMap: PC_WITH_ARRAY,
+    WeakSet: PC_WITH_ARRAY,
+    // Additional globals shared by Node and Browser that are not strictly part of the language
+    clearInterval: C,
+    clearTimeout: C,
+    console: {
+        __proto__: null,
+        [ValueProperties]: IMPURE,
+        assert: C,
+        clear: C,
+        count: C,
+        countReset: C,
+        debug: C,
+        dir: C,
+        dirxml: C,
+        error: C,
+        exception: C,
+        group: C,
+        groupCollapsed: C,
+        groupEnd: C,
+        info: C,
+        log: C,
+        table: C,
+        time: C,
+        timeEnd: C,
+        timeLog: C,
+        trace: C,
+        warn: C
+    },
+    Intl: {
+        __proto__: null,
+        [ValueProperties]: IMPURE,
+        Collator: INTL_MEMBER,
+        DateTimeFormat: INTL_MEMBER,
+        DisplayNames: INTL_MEMBER,
+        ListFormat: INTL_MEMBER,
+        Locale: INTL_MEMBER,
+        NumberFormat: INTL_MEMBER,
+        PluralRules: INTL_MEMBER,
+        RelativeTimeFormat: INTL_MEMBER,
+        Segmenter: INTL_MEMBER
+    },
+    setInterval: C,
+    setTimeout: C,
+    TextDecoder: C,
+    TextEncoder: C,
+    URL: {
+        __proto__: null,
+        [ValueProperties]: IMPURE,
+        prototype: O,
+        canParse: PF
+    },
+    URLSearchParams: C,
+    // Browser specific globals
+    AbortController: C,
+    AbortSignal: C,
+    addEventListener: O,
+    alert: O,
+    AnalyserNode: C,
+    Animation: C,
+    AnimationEvent: C,
+    applicationCache: O,
+    ApplicationCache: C,
+    ApplicationCacheErrorEvent: C,
+    atob: O,
+    Attr: C,
+    Audio: C,
+    AudioBuffer: C,
+    AudioBufferSourceNode: C,
+    AudioContext: C,
+    AudioDestinationNode: C,
+    AudioListener: C,
+    AudioNode: C,
+    AudioParam: C,
+    AudioProcessingEvent: C,
+    AudioScheduledSourceNode: C,
+    AudioWorkletNode: C,
+    BarProp: C,
+    BaseAudioContext: C,
+    BatteryManager: C,
+    BeforeUnloadEvent: C,
+    BiquadFilterNode: C,
+    Blob: C,
+    BlobEvent: C,
+    blur: O,
+    BroadcastChannel: C,
+    btoa: O,
+    ByteLengthQueuingStrategy: C,
+    Cache: C,
+    caches: O,
+    CacheStorage: C,
+    cancelAnimationFrame: O,
+    cancelIdleCallback: O,
+    CanvasCaptureMediaStreamTrack: C,
+    CanvasGradient: C,
+    CanvasPattern: C,
+    CanvasRenderingContext2D: C,
+    ChannelMergerNode: C,
+    ChannelSplitterNode: C,
+    CharacterData: C,
+    clientInformation: O,
+    ClipboardEvent: C,
+    close: O,
+    closed: O,
+    CloseEvent: C,
+    Comment: C,
+    CompositionEvent: C,
+    confirm: O,
+    ConstantSourceNode: C,
+    ConvolverNode: C,
+    CountQueuingStrategy: C,
+    createImageBitmap: O,
+    Credential: C,
+    CredentialsContainer: C,
+    crypto: O,
+    Crypto: C,
+    CryptoKey: C,
+    CSS: C,
+    CSSConditionRule: C,
+    CSSFontFaceRule: C,
+    CSSGroupingRule: C,
+    CSSImportRule: C,
+    CSSKeyframeRule: C,
+    CSSKeyframesRule: C,
+    CSSMediaRule: C,
+    CSSNamespaceRule: C,
+    CSSPageRule: C,
+    CSSRule: C,
+    CSSRuleList: C,
+    CSSStyleDeclaration: C,
+    CSSStyleRule: C,
+    CSSStyleSheet: C,
+    CSSSupportsRule: C,
+    CustomElementRegistry: C,
+    customElements: O,
+    CustomEvent: {
+        __proto__: null,
+        [ValueProperties]: {
+            deoptimizeArgumentsOnCall({ args }) {
+                args[2]?.deoptimizePath(['detail']);
+            },
+            getLiteralValue: getTruthyLiteralValue,
+            hasEffectsWhenCalled: returnFalse
+        },
+        prototype: O
+    },
+    DataTransfer: C,
+    DataTransferItem: C,
+    DataTransferItemList: C,
+    defaultstatus: O,
+    defaultStatus: O,
+    DelayNode: C,
+    DeviceMotionEvent: C,
+    DeviceOrientationEvent: C,
+    devicePixelRatio: O,
+    dispatchEvent: O,
+    document: O,
+    Document: C,
+    DocumentFragment: C,
+    DocumentType: C,
+    DOMError: C,
+    DOMException: C,
+    DOMImplementation: C,
+    DOMMatrix: C,
+    DOMMatrixReadOnly: C,
+    DOMParser: C,
+    DOMPoint: C,
+    DOMPointReadOnly: C,
+    DOMQuad: C,
+    DOMRect: C,
+    DOMRectReadOnly: C,
+    DOMStringList: C,
+    DOMStringMap: C,
+    DOMTokenList: C,
+    DragEvent: C,
+    DynamicsCompressorNode: C,
+    Element: C,
+    ErrorEvent: C,
+    Event: C,
+    EventSource: C,
+    EventTarget: C,
+    external: O,
+    fetch: O,
+    File: C,
+    FileList: C,
+    FileReader: C,
+    find: O,
+    focus: O,
+    FocusEvent: C,
+    FontFace: C,
+    FontFaceSetLoadEvent: C,
+    FormData: C,
+    frames: O,
+    GainNode: C,
+    Gamepad: C,
+    GamepadButton: C,
+    GamepadEvent: C,
+    getComputedStyle: O,
+    getSelection: O,
+    HashChangeEvent: C,
+    Headers: C,
+    history: O,
+    History: C,
+    HTMLAllCollection: C,
+    HTMLAnchorElement: C,
+    HTMLAreaElement: C,
+    HTMLAudioElement: C,
+    HTMLBaseElement: C,
+    HTMLBodyElement: C,
+    HTMLBRElement: C,
+    HTMLButtonElement: C,
+    HTMLCanvasElement: C,
+    HTMLCollection: C,
+    HTMLContentElement: C,
+    HTMLDataElement: C,
+    HTMLDataListElement: C,
+    HTMLDetailsElement: C,
+    HTMLDialogElement: C,
+    HTMLDirectoryElement: C,
+    HTMLDivElement: C,
+    HTMLDListElement: C,
+    HTMLDocument: C,
+    HTMLElement: C,
+    HTMLEmbedElement: C,
+    HTMLFieldSetElement: C,
+    HTMLFontElement: C,
+    HTMLFormControlsCollection: C,
+    HTMLFormElement: C,
+    HTMLFrameElement: C,
+    HTMLFrameSetElement: C,
+    HTMLHeadElement: C,
+    HTMLHeadingElement: C,
+    HTMLHRElement: C,
+    HTMLHtmlElement: C,
+    HTMLIFrameElement: C,
+    HTMLImageElement: C,
+    HTMLInputElement: C,
+    HTMLLabelElement: C,
+    HTMLLegendElement: C,
+    HTMLLIElement: C,
+    HTMLLinkElement: C,
+    HTMLMapElement: C,
+    HTMLMarqueeElement: C,
+    HTMLMediaElement: C,
+    HTMLMenuElement: C,
+    HTMLMetaElement: C,
+    HTMLMeterElement: C,
+    HTMLModElement: C,
+    HTMLObjectElement: C,
+    HTMLOListElement: C,
+    HTMLOptGroupElement: C,
+    HTMLOptionElement: C,
+    HTMLOptionsCollection: C,
+    HTMLOutputElement: C,
+    HTMLParagraphElement: C,
+    HTMLParamElement: C,
+    HTMLPictureElement: C,
+    HTMLPreElement: C,
+    HTMLProgressElement: C,
+    HTMLQuoteElement: C,
+    HTMLScriptElement: C,
+    HTMLSelectElement: C,
+    HTMLShadowElement: C,
+    HTMLSlotElement: C,
+    HTMLSourceElement: C,
+    HTMLSpanElement: C,
+    HTMLStyleElement: C,
+    HTMLTableCaptionElement: C,
+    HTMLTableCellElement: C,
+    HTMLTableColElement: C,
+    HTMLTableElement: C,
+    HTMLTableRowElement: C,
+    HTMLTableSectionElement: C,
+    HTMLTemplateElement: C,
+    HTMLTextAreaElement: C,
+    HTMLTimeElement: C,
+    HTMLTitleElement: C,
+    HTMLTrackElement: C,
+    HTMLUListElement: C,
+    HTMLUnknownElement: C,
+    HTMLVideoElement: C,
+    IDBCursor: C,
+    IDBCursorWithValue: C,
+    IDBDatabase: C,
+    IDBFactory: C,
+    IDBIndex: C,
+    IDBKeyRange: C,
+    IDBObjectStore: C,
+    IDBOpenDBRequest: C,
+    IDBRequest: C,
+    IDBTransaction: C,
+    IDBVersionChangeEvent: C,
+    IdleDeadline: C,
+    IIRFilterNode: C,
+    Image: C,
+    ImageBitmap: C,
+    ImageBitmapRenderingContext: C,
+    ImageCapture: C,
+    ImageData: C,
+    indexedDB: O,
+    innerHeight: O,
+    innerWidth: O,
+    InputEvent: C,
+    IntersectionObserver: C,
+    IntersectionObserverEntry: C,
+    isSecureContext: O,
+    KeyboardEvent: C,
+    KeyframeEffect: C,
+    length: O,
+    localStorage: O,
+    location: O,
+    Location: C,
+    locationbar: O,
+    matchMedia: O,
+    MediaDeviceInfo: C,
+    MediaDevices: C,
+    MediaElementAudioSourceNode: C,
+    MediaEncryptedEvent: C,
+    MediaError: C,
+    MediaKeyMessageEvent: C,
+    MediaKeySession: C,
+    MediaKeyStatusMap: C,
+    MediaKeySystemAccess: C,
+    MediaList: C,
+    MediaQueryList: C,
+    MediaQueryListEvent: C,
+    MediaRecorder: C,
+    MediaSettingsRange: C,
+    MediaSource: C,
+    MediaStream: C,
+    MediaStreamAudioDestinationNode: C,
+    MediaStreamAudioSourceNode: C,
+    MediaStreamEvent: C,
+    MediaStreamTrack: C,
+    MediaStreamTrackEvent: C,
+    menubar: O,
+    MessageChannel: C,
+    MessageEvent: C,
+    MessagePort: C,
+    MIDIAccess: C,
+    MIDIConnectionEvent: C,
+    MIDIInput: C,
+    MIDIInputMap: C,
+    MIDIMessageEvent: C,
+    MIDIOutput: C,
+    MIDIOutputMap: C,
+    MIDIPort: C,
+    MimeType: C,
+    MimeTypeArray: C,
+    MouseEvent: C,
+    moveBy: O,
+    moveTo: O,
+    MutationEvent: C,
+    MutationObserver: C,
+    MutationRecord: C,
+    name: O,
+    NamedNodeMap: C,
+    NavigationPreloadManager: C,
+    navigator: O,
+    Navigator: C,
+    NetworkInformation: C,
+    Node: C,
+    NodeFilter: O,
+    NodeIterator: C,
+    NodeList: C,
+    Notification: C,
+    OfflineAudioCompletionEvent: C,
+    OfflineAudioContext: C,
+    offscreenBuffering: O,
+    OffscreenCanvas: C,
+    open: O,
+    openDatabase: O,
+    Option: C,
+    origin: O,
+    OscillatorNode: C,
+    outerHeight: O,
+    outerWidth: O,
+    PageTransitionEvent: C,
+    pageXOffset: O,
+    pageYOffset: O,
+    PannerNode: C,
+    parent: O,
+    Path2D: C,
+    PaymentAddress: C,
+    PaymentRequest: C,
+    PaymentRequestUpdateEvent: C,
+    PaymentResponse: C,
+    performance: O,
+    Performance: C,
+    PerformanceEntry: C,
+    PerformanceLongTaskTiming: C,
+    PerformanceMark: C,
+    PerformanceMeasure: C,
+    PerformanceNavigation: C,
+    PerformanceNavigationTiming: C,
+    PerformanceObserver: C,
+    PerformanceObserverEntryList: C,
+    PerformancePaintTiming: C,
+    PerformanceResourceTiming: C,
+    PerformanceTiming: C,
+    PeriodicWave: C,
+    Permissions: C,
+    PermissionStatus: C,
+    personalbar: O,
+    PhotoCapabilities: C,
+    Plugin: C,
+    PluginArray: C,
+    PointerEvent: C,
+    PopStateEvent: C,
+    postMessage: O,
+    Presentation: C,
+    PresentationAvailability: C,
+    PresentationConnection: C,
+    PresentationConnectionAvailableEvent: C,
+    PresentationConnectionCloseEvent: C,
+    PresentationConnectionList: C,
+    PresentationReceiver: C,
+    PresentationRequest: C,
+    print: O,
+    ProcessingInstruction: C,
+    ProgressEvent: C,
+    PromiseRejectionEvent: C,
+    prompt: O,
+    PushManager: C,
+    PushSubscription: C,
+    PushSubscriptionOptions: C,
+    queueMicrotask: O,
+    RadioNodeList: C,
+    Range: C,
+    ReadableStream: C,
+    RemotePlayback: C,
+    removeEventListener: O,
+    Request: C,
+    requestAnimationFrame: O,
+    requestIdleCallback: O,
+    resizeBy: O,
+    ResizeObserver: C,
+    ResizeObserverEntry: C,
+    resizeTo: O,
+    Response: C,
+    RTCCertificate: C,
+    RTCDataChannel: C,
+    RTCDataChannelEvent: C,
+    RTCDtlsTransport: C,
+    RTCIceCandidate: C,
+    RTCIceTransport: C,
+    RTCPeerConnection: C,
+    RTCPeerConnectionIceEvent: C,
+    RTCRtpReceiver: C,
+    RTCRtpSender: C,
+    RTCSctpTransport: C,
+    RTCSessionDescription: C,
+    RTCStatsReport: C,
+    RTCTrackEvent: C,
+    screen: O,
+    Screen: C,
+    screenLeft: O,
+    ScreenOrientation: C,
+    screenTop: O,
+    screenX: O,
+    screenY: O,
+    ScriptProcessorNode: C,
+    scroll: O,
+    scrollbars: O,
+    scrollBy: O,
+    scrollTo: O,
+    scrollX: O,
+    scrollY: O,
+    SecurityPolicyViolationEvent: C,
+    Selection: C,
+    ServiceWorker: C,
+    ServiceWorkerContainer: C,
+    ServiceWorkerRegistration: C,
+    sessionStorage: O,
+    ShadowRoot: C,
+    SharedWorker: C,
+    SourceBuffer: C,
+    SourceBufferList: C,
+    speechSynthesis: O,
+    SpeechSynthesisEvent: C,
+    SpeechSynthesisUtterance: C,
+    StaticRange: C,
+    status: O,
+    statusbar: O,
+    StereoPannerNode: C,
+    stop: O,
+    Storage: C,
+    StorageEvent: C,
+    StorageManager: C,
+    styleMedia: O,
+    StyleSheet: C,
+    StyleSheetList: C,
+    SubtleCrypto: C,
+    SVGAElement: C,
+    SVGAngle: C,
+    SVGAnimatedAngle: C,
+    SVGAnimatedBoolean: C,
+    SVGAnimatedEnumeration: C,
+    SVGAnimatedInteger: C,
+    SVGAnimatedLength: C,
+    SVGAnimatedLengthList: C,
+    SVGAnimatedNumber: C,
+    SVGAnimatedNumberList: C,
+    SVGAnimatedPreserveAspectRatio: C,
+    SVGAnimatedRect: C,
+    SVGAnimatedString: C,
+    SVGAnimatedTransformList: C,
+    SVGAnimateElement: C,
+    SVGAnimateMotionElement: C,
+    SVGAnimateTransformElement: C,
+    SVGAnimationElement: C,
+    SVGCircleElement: C,
+    SVGClipPathElement: C,
+    SVGComponentTransferFunctionElement: C,
+    SVGDefsElement: C,
+    SVGDescElement: C,
+    SVGDiscardElement: C,
+    SVGElement: C,
+    SVGEllipseElement: C,
+    SVGFEBlendElement: C,
+    SVGFEColorMatrixElement: C,
+    SVGFEComponentTransferElement: C,
+    SVGFECompositeElement: C,
+    SVGFEConvolveMatrixElement: C,
+    SVGFEDiffuseLightingElement: C,
+    SVGFEDisplacementMapElement: C,
+    SVGFEDistantLightElement: C,
+    SVGFEDropShadowElement: C,
+    SVGFEFloodElement: C,
+    SVGFEFuncAElement: C,
+    SVGFEFuncBElement: C,
+    SVGFEFuncGElement: C,
+    SVGFEFuncRElement: C,
+    SVGFEGaussianBlurElement: C,
+    SVGFEImageElement: C,
+    SVGFEMergeElement: C,
+    SVGFEMergeNodeElement: C,
+    SVGFEMorphologyElement: C,
+    SVGFEOffsetElement: C,
+    SVGFEPointLightElement: C,
+    SVGFESpecularLightingElement: C,
+    SVGFESpotLightElement: C,
+    SVGFETileElement: C,
+    SVGFETurbulenceElement: C,
+    SVGFilterElement: C,
+    SVGForeignObjectElement: C,
+    SVGGElement: C,
+    SVGGeometryElement: C,
+    SVGGradientElement: C,
+    SVGGraphicsElement: C,
+    SVGImageElement: C,
+    SVGLength: C,
+    SVGLengthList: C,
+    SVGLinearGradientElement: C,
+    SVGLineElement: C,
+    SVGMarkerElement: C,
+    SVGMaskElement: C,
+    SVGMatrix: C,
+    SVGMetadataElement: C,
+    SVGMPathElement: C,
+    SVGNumber: C,
+    SVGNumberList: C,
+    SVGPathElement: C,
+    SVGPatternElement: C,
+    SVGPoint: C,
+    SVGPointList: C,
+    SVGPolygonElement: C,
+    SVGPolylineElement: C,
+    SVGPreserveAspectRatio: C,
+    SVGRadialGradientElement: C,
+    SVGRect: C,
+    SVGRectElement: C,
+    SVGScriptElement: C,
+    SVGSetElement: C,
+    SVGStopElement: C,
+    SVGStringList: C,
+    SVGStyleElement: C,
+    SVGSVGElement: C,
+    SVGSwitchElement: C,
+    SVGSymbolElement: C,
+    SVGTextContentElement: C,
+    SVGTextElement: C,
+    SVGTextPathElement: C,
+    SVGTextPositioningElement: C,
+    SVGTitleElement: C,
+    SVGTransform: C,
+    SVGTransformList: C,
+    SVGTSpanElement: C,
+    SVGUnitTypes: C,
+    SVGUseElement: C,
+    SVGViewElement: C,
+    TaskAttributionTiming: C,
+    Text: C,
+    TextEvent: C,
+    TextMetrics: C,
+    TextTrack: C,
+    TextTrackCue: C,
+    TextTrackCueList: C,
+    TextTrackList: C,
+    TimeRanges: C,
+    toolbar: O,
+    top: O,
+    Touch: C,
+    TouchEvent: C,
+    TouchList: C,
+    TrackEvent: C,
+    TransitionEvent: C,
+    TreeWalker: C,
+    UIEvent: C,
+    ValidityState: C,
+    visualViewport: O,
+    VisualViewport: C,
+    VTTCue: C,
+    WaveShaperNode: C,
+    WebAssembly: O,
+    WebGL2RenderingContext: C,
+    WebGLActiveInfo: C,
+    WebGLBuffer: C,
+    WebGLContextEvent: C,
+    WebGLFramebuffer: C,
+    WebGLProgram: C,
+    WebGLQuery: C,
+    WebGLRenderbuffer: C,
+    WebGLRenderingContext: C,
+    WebGLSampler: C,
+    WebGLShader: C,
+    WebGLShaderPrecisionFormat: C,
+    WebGLSync: C,
+    WebGLTexture: C,
+    WebGLTransformFeedback: C,
+    WebGLUniformLocation: C,
+    WebGLVertexArrayObject: C,
+    WebSocket: C,
+    WheelEvent: C,
+    Window: C,
+    Worker: C,
+    WritableStream: C,
+    XMLDocument: C,
+    XMLHttpRequest: C,
+    XMLHttpRequestEventTarget: C,
+    XMLHttpRequestUpload: C,
+    XMLSerializer: C,
+    XPathEvaluator: C,
+    XPathExpression: C,
+    XPathResult: C,
+    XSLTProcessor: C
+};
+for (const global of ['window', 'global', 'self', 'globalThis']) {
+    knownGlobals[global] = knownGlobals;
+}
+function getGlobalAtPath(path) {
+    let currentGlobal = knownGlobals;
+    for (const pathSegment of path) {
+        if (typeof pathSegment !== 'string') {
+            return null;
+        }
+        currentGlobal = currentGlobal[pathSegment];
+        if (!currentGlobal) {
+            return null;
+        }
+    }
+    return currentGlobal[ValueProperties];
+}
+
+class GlobalVariable extends Variable {
+    constructor() {
+        super(...arguments);
+        // Ensure we use live-bindings for globals as we do not know if they have
+        // been reassigned
+        this.isReassigned = true;
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        switch (interaction.type) {
+            // While there is no point in testing these cases as at the moment, they
+            // are also covered via other means, we keep them for completeness
+            case INTERACTION_ACCESSED:
+            case INTERACTION_ASSIGNED: {
+                if (!getGlobalAtPath([this.name, ...path].slice(0, -1))) {
+                    super.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+                }
+                return;
+            }
+            case INTERACTION_CALLED: {
+                const globalAtPath = getGlobalAtPath([this.name, ...path]);
+                if (globalAtPath) {
+                    globalAtPath.deoptimizeArgumentsOnCall(interaction);
+                }
+                else {
+                    super.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+                }
+                return;
+            }
+        }
+    }
+    getLiteralValueAtPath(path, _recursionTracker, _origin) {
+        const globalAtPath = getGlobalAtPath([this.name, ...path]);
+        return globalAtPath ? globalAtPath.getLiteralValue() : UnknownValue;
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        switch (interaction.type) {
+            case INTERACTION_ACCESSED: {
+                if (path.length === 0) {
+                    // Technically, "undefined" is a global variable of sorts
+                    return this.name !== 'undefined' && !getGlobalAtPath([this.name]);
+                }
+                return !getGlobalAtPath([this.name, ...path].slice(0, -1));
+            }
+            case INTERACTION_ASSIGNED: {
+                return true;
+            }
+            case INTERACTION_CALLED: {
+                const globalAtPath = getGlobalAtPath([this.name, ...path]);
+                return !globalAtPath || globalAtPath.hasEffectsWhenCalled(interaction, context);
+            }
+        }
+    }
+}
+
+const tdzVariableKinds = {
+    __proto__: null,
+    class: true,
+    const: true,
+    let: true,
+    var: true
+};
+class Identifier extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.variable = null;
+    }
+    get isTDZAccess() {
+        if (!isFlagSet(this.flags, 4 /* Flag.tdzAccessDefined */)) {
+            return null;
+        }
+        return isFlagSet(this.flags, 8 /* Flag.tdzAccess */);
+    }
+    set isTDZAccess(value) {
+        this.flags = setFlag(this.flags, 4 /* Flag.tdzAccessDefined */, true);
+        this.flags = setFlag(this.flags, 8 /* Flag.tdzAccess */, value);
+    }
+    addExportedVariables(variables, exportNamesByVariable) {
+        if (exportNamesByVariable.has(this.variable)) {
+            variables.push(this.variable);
+        }
+    }
+    bind() {
+        if (!this.variable && is_reference(this, this.parent)) {
+            this.variable = this.scope.findVariable(this.name);
+            this.variable.addReference(this);
+        }
+    }
+    declare(kind, init) {
+        let variable;
+        const { treeshake } = this.scope.context.options;
+        switch (kind) {
+            case "var" /* VariableKind.var */: {
+                variable = this.scope.addDeclaration(this, this.scope.context, init, kind);
+                if (treeshake && treeshake.correctVarValueBeforeDeclaration) {
+                    // Necessary to make sure the init is deoptimized. We cannot call deoptimizePath here.
+                    variable.markInitializersForDeoptimization();
+                }
+                break;
+            }
+            case "function" /* VariableKind.function */: {
+                // in strict mode, functions are only hoisted within a scope but not across block scopes
+                variable = this.scope.addDeclaration(this, this.scope.context, init, kind);
+                break;
+            }
+            case "let" /* VariableKind.let */:
+            case "const" /* VariableKind.const */:
+            case "class" /* VariableKind.class */: {
+                variable = this.scope.addDeclaration(this, this.scope.context, init, kind);
+                break;
+            }
+            case "parameter" /* VariableKind.parameter */: {
+                variable = this.scope.addParameterDeclaration(this);
+                break;
+            }
+            /* istanbul ignore next */
+            default: {
+                /* istanbul ignore next */
+                throw new Error(`Internal Error: Unexpected identifier kind ${kind}.`);
+            }
+        }
+        return [(this.variable = variable)];
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.variable.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizePath(path) {
+        if (path.length === 0 && !this.scope.contains(this.name)) {
+            this.disallowImportReassignment();
+        }
+        // We keep conditional chaining because an unknown Node could have an
+        // Identifier as property that might be deoptimized by default
+        this.variable?.deoptimizePath(path);
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        return this.getVariableRespectingTDZ().getLiteralValueAtPath(path, recursionTracker, origin);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        const [expression, isPure] = this.getVariableRespectingTDZ().getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+        return [expression, isPure || this.isPureFunction(path)];
+    }
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        if (this.isPossibleTDZ() && this.variable.kind !== "var" /* VariableKind.var */) {
+            return true;
+        }
+        return (this.scope.context.options.treeshake
+            .unknownGlobalSideEffects &&
+            this.variable instanceof GlobalVariable &&
+            !this.isPureFunction(EMPTY_PATH) &&
+            this.variable.hasEffectsOnInteractionAtPath(EMPTY_PATH, NODE_INTERACTION_UNKNOWN_ACCESS, context));
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        switch (interaction.type) {
+            case INTERACTION_ACCESSED: {
+                return (this.variable !== null &&
+                    !this.isPureFunction(path) &&
+                    this.getVariableRespectingTDZ().hasEffectsOnInteractionAtPath(path, interaction, context));
+            }
+            case INTERACTION_ASSIGNED: {
+                return (path.length > 0 ? this.getVariableRespectingTDZ() : this.variable).hasEffectsOnInteractionAtPath(path, interaction, context);
+            }
+            case INTERACTION_CALLED: {
+                return (!this.isPureFunction(path) &&
+                    this.getVariableRespectingTDZ().hasEffectsOnInteractionAtPath(path, interaction, context));
+            }
+        }
+    }
+    include() {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        if (!this.included) {
+            this.included = true;
+            if (this.variable !== null) {
+                this.scope.context.includeVariableInModule(this.variable);
+            }
+        }
+    }
+    includeCallArguments(context, parameters) {
+        this.variable.includeCallArguments(context, parameters);
+    }
+    isPossibleTDZ() {
+        // return cached value to avoid issues with the next tree-shaking pass
+        const cachedTdzAccess = this.isTDZAccess;
+        if (cachedTdzAccess !== null)
+            return cachedTdzAccess;
+        if (!(this.variable instanceof LocalVariable &&
+            this.variable.kind &&
+            this.variable.kind in tdzVariableKinds &&
+            // we ignore possible TDZs due to circular module dependencies as
+            // otherwise we get many false positives
+            this.variable.module === this.scope.context.module)) {
+            return (this.isTDZAccess = false);
+        }
+        let decl_id;
+        if (this.variable.declarations &&
+            this.variable.declarations.length === 1 &&
+            (decl_id = this.variable.declarations[0]) &&
+            this.start < decl_id.start &&
+            closestParentFunctionOrProgram(this) === closestParentFunctionOrProgram(decl_id)) {
+            // a variable accessed before its declaration
+            // in the same function or at top level of module
+            return (this.isTDZAccess = true);
+        }
+        // We ignore the case where the module is not yet executed because
+        // moduleSideEffects are false.
+        if (!this.variable.initReached && this.scope.context.module.isExecuted) {
+            // Either a const/let TDZ violation or
+            // var use before declaration was encountered.
+            return (this.isTDZAccess = true);
+        }
+        return (this.isTDZAccess = false);
+    }
+    markDeclarationReached() {
+        this.variable.initReached = true;
+    }
+    render(code, { snippets: { getPropertyAccess }, useOriginalName }, { renderedParentType, isCalleeOfRenderedParent, isShorthandProperty } = BLANK) {
+        if (this.variable) {
+            const name = this.variable.getName(getPropertyAccess, useOriginalName);
+            if (name !== this.name) {
+                code.overwrite(this.start, this.end, name, {
+                    contentOnly: true,
+                    storeName: true
+                });
+                if (isShorthandProperty) {
+                    code.prependRight(this.start, `${this.name}: `);
+                }
+            }
+            // In strict mode, any variable named "eval" must be the actual "eval" function
+            if (name === 'eval' &&
+                renderedParentType === CallExpression$1 &&
+                isCalleeOfRenderedParent) {
+                code.appendRight(this.start, '0, ');
+            }
+        }
+    }
+    disallowImportReassignment() {
+        return this.scope.context.error(parseAst_js.logIllegalImportReassignment(this.name, this.scope.context.module.id), this.start);
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        if (this.variable instanceof LocalVariable) {
+            this.variable.consolidateInitializers();
+            this.scope.context.requestTreeshakingPass();
+        }
+    }
+    getVariableRespectingTDZ() {
+        if (this.isPossibleTDZ()) {
+            return UNKNOWN_EXPRESSION;
+        }
+        return this.variable;
+    }
+    isPureFunction(path) {
+        let currentPureFunction = this.scope.context.manualPureFunctions[this.name];
+        for (const segment of path) {
+            if (currentPureFunction) {
+                if (currentPureFunction[PureFunctionKey]) {
+                    return true;
+                }
+                currentPureFunction = currentPureFunction[segment];
+            }
+            else {
+                return false;
+            }
+        }
+        return currentPureFunction?.[PureFunctionKey];
+    }
+}
+function closestParentFunctionOrProgram(node) {
+    while (node && !/^Program|Function/.test(node.type)) {
+        node = node.parent;
+    }
+    // one of: ArrowFunctionExpression, FunctionDeclaration, FunctionExpression or Program
+    return node;
+}
+
+function treeshakeNode(node, code, start, end) {
+    code.remove(start, end);
+    node.removeAnnotations(code);
+}
+
+const NO_SEMICOLON = { isNoStatement: true };
+// This assumes there are only white-space and comments between start and the string we are looking for
+function findFirstOccurrenceOutsideComment(code, searchString, start = 0) {
+    let searchPos, charCodeAfterSlash;
+    searchPos = code.indexOf(searchString, start);
+    while (true) {
+        start = code.indexOf('/', start);
+        if (start === -1 || start >= searchPos)
+            return searchPos;
+        charCodeAfterSlash = code.charCodeAt(++start);
+        ++start;
+        // With our assumption, '/' always starts a comment. Determine comment type:
+        start =
+            charCodeAfterSlash === 47 /*"/"*/
+                ? code.indexOf('\n', start) + 1
+                : code.indexOf('*/', start) + 2;
+        if (start > searchPos) {
+            searchPos = code.indexOf(searchString, start);
+        }
+    }
+}
+const NON_WHITESPACE = /\S/g;
+function findNonWhiteSpace(code, index) {
+    NON_WHITESPACE.lastIndex = index;
+    const result = NON_WHITESPACE.exec(code);
+    return result.index;
+}
+// This assumes "code" only contains white-space and comments
+// Returns position of line-comment if applicable
+function findFirstLineBreakOutsideComment(code) {
+    let lineBreakPos, charCodeAfterSlash, start = 0;
+    lineBreakPos = code.indexOf('\n', start);
+    while (true) {
+        start = code.indexOf('/', start);
+        if (start === -1 || start > lineBreakPos)
+            return [lineBreakPos, lineBreakPos + 1];
+        // With our assumption, '/' always starts a comment. Determine comment type:
+        charCodeAfterSlash = code.charCodeAt(start + 1);
+        if (charCodeAfterSlash === 47 /*"/"*/)
+            return [start, lineBreakPos + 1];
+        start = code.indexOf('*/', start + 2) + 2;
+        if (start > lineBreakPos) {
+            lineBreakPos = code.indexOf('\n', start);
+        }
+    }
+}
+function renderStatementList(statements, code, start, end, options) {
+    let currentNode, currentNodeStart, currentNodeNeedsBoundaries, nextNodeStart;
+    let nextNode = statements[0];
+    let nextNodeNeedsBoundaries = !nextNode.included || nextNode.needsBoundaries;
+    if (nextNodeNeedsBoundaries) {
+        nextNodeStart =
+            start + findFirstLineBreakOutsideComment(code.original.slice(start, nextNode.start))[1];
+    }
+    for (let nextIndex = 1; nextIndex <= statements.length; nextIndex++) {
+        currentNode = nextNode;
+        currentNodeStart = nextNodeStart;
+        currentNodeNeedsBoundaries = nextNodeNeedsBoundaries;
+        nextNode = statements[nextIndex];
+        nextNodeNeedsBoundaries =
+            nextNode === undefined ? false : !nextNode.included || nextNode.needsBoundaries;
+        if (currentNodeNeedsBoundaries || nextNodeNeedsBoundaries) {
+            nextNodeStart =
+                currentNode.end +
+                    findFirstLineBreakOutsideComment(code.original.slice(currentNode.end, nextNode === undefined ? end : nextNode.start))[1];
+            if (currentNode.included) {
+                currentNodeNeedsBoundaries
+                    ? currentNode.render(code, options, {
+                        end: nextNodeStart,
+                        start: currentNodeStart
+                    })
+                    : currentNode.render(code, options);
+            }
+            else {
+                treeshakeNode(currentNode, code, currentNodeStart, nextNodeStart);
+            }
+        }
+        else {
+            currentNode.render(code, options);
+        }
+    }
+}
+// This assumes that the first character is not part of the first node
+function getCommaSeparatedNodesWithBoundaries(nodes, code, start, end) {
+    const splitUpNodes = [];
+    let node, nextNodeStart, contentEnd, char;
+    let separator = start - 1;
+    for (const nextNode of nodes) {
+        if (node !== undefined) {
+            separator =
+                node.end +
+                    findFirstOccurrenceOutsideComment(code.original.slice(node.end, nextNode.start), ',');
+        }
+        nextNodeStart = contentEnd =
+            separator +
+                1 +
+                findFirstLineBreakOutsideComment(code.original.slice(separator + 1, nextNode.start))[1];
+        while (((char = code.original.charCodeAt(nextNodeStart)),
+            char === 32 /*" "*/ || char === 9 /*"\t"*/ || char === 10 /*"\n"*/ || char === 13) /*"\r"*/)
+            nextNodeStart++;
+        if (node !== undefined) {
+            splitUpNodes.push({
+                contentEnd,
+                end: nextNodeStart,
+                node,
+                separator,
+                start
+            });
+        }
+        node = nextNode;
+        start = nextNodeStart;
+    }
+    splitUpNodes.push({
+        contentEnd: end,
+        end,
+        node: node,
+        separator: null,
+        start
+    });
+    return splitUpNodes;
+}
+// This assumes there are only white-space and comments between start and end
+function removeLineBreaks(code, start, end) {
+    while (true) {
+        const [removeStart, removeEnd] = findFirstLineBreakOutsideComment(code.original.slice(start, end));
+        if (removeStart === -1) {
+            break;
+        }
+        code.remove(start + removeStart, (start += removeEnd));
+    }
+}
+
+class BlockScope extends ChildScope {
+    constructor(parent) {
+        super(parent, parent.context);
+    }
+    addDeclaration(identifier, context, init, kind) {
+        if (kind === "var" /* VariableKind.var */) {
+            const name = identifier.name;
+            const existingVariable = this.hoistedVariables?.get(name) || this.variables.get(name);
+            if (existingVariable) {
+                if (existingVariable.kind === "var" /* VariableKind.var */ ||
+                    (kind === "var" /* VariableKind.var */ && existingVariable.kind === "parameter" /* VariableKind.parameter */)) {
+                    existingVariable.addDeclaration(identifier, init);
+                    return existingVariable;
+                }
+                return context.error(parseAst_js.logRedeclarationError(name), identifier.start);
+            }
+            const declaredVariable = this.parent.addDeclaration(identifier, context, init, kind);
+            // Necessary to make sure the init is deoptimized for conditional declarations.
+            // We cannot call deoptimizePath here.
+            declaredVariable.markInitializersForDeoptimization();
+            // We add the variable to this and all parent scopes to reliably detect conflicts
+            this.addHoistedVariable(name, declaredVariable);
+            return declaredVariable;
+        }
+        return super.addDeclaration(identifier, context, init, kind);
+    }
+}
+
+class ExpressionStatement extends NodeBase {
+    initialise() {
+        if (this.directive &&
+            this.directive !== 'use strict' &&
+            this.parent.type === Program$1) {
+            this.scope.context.log(parseAst_js.LOGLEVEL_WARN, 
+            // This is necessary, because either way (deleting or not) can lead to errors.
+            parseAst_js.logModuleLevelDirective(this.directive, this.scope.context.module.id), this.start);
+        }
+    }
+    removeAnnotations(code) {
+        this.expression.removeAnnotations(code);
+    }
+    render(code, options) {
+        super.render(code, options);
+        if (code.original[this.end - 1] !== ';') {
+            code.appendLeft(this.end, ';');
+        }
+    }
+    shouldBeIncluded(context) {
+        if (this.directive && this.directive !== 'use strict')
+            return this.parent.type !== Program$1;
+        return super.shouldBeIncluded(context);
+    }
+    applyDeoptimizations() { }
+}
+
+class BlockStatement extends NodeBase {
+    get deoptimizeBody() {
+        return isFlagSet(this.flags, 32768 /* Flag.deoptimizeBody */);
+    }
+    set deoptimizeBody(value) {
+        this.flags = setFlag(this.flags, 32768 /* Flag.deoptimizeBody */, value);
+    }
+    get directlyIncluded() {
+        return isFlagSet(this.flags, 16384 /* Flag.directlyIncluded */);
+    }
+    set directlyIncluded(value) {
+        this.flags = setFlag(this.flags, 16384 /* Flag.directlyIncluded */, value);
+    }
+    addImplicitReturnExpressionToScope() {
+        const lastStatement = this.body[this.body.length - 1];
+        if (!lastStatement || lastStatement.type !== ReturnStatement$1) {
+            this.scope.addReturnExpression(UNKNOWN_EXPRESSION);
+        }
+    }
+    createScope(parentScope) {
+        this.scope = this.parent.preventChildBlockScope
+            ? parentScope
+            : new BlockScope(parentScope);
+    }
+    hasEffects(context) {
+        if (this.deoptimizeBody)
+            return true;
+        for (const node of this.body) {
+            if (context.brokenFlow)
+                break;
+            if (node.hasEffects(context))
+                return true;
+        }
+        return false;
+    }
+    include(context, includeChildrenRecursively) {
+        if (!(this.deoptimizeBody && this.directlyIncluded)) {
+            this.included = true;
+            this.directlyIncluded = true;
+            if (this.deoptimizeBody)
+                includeChildrenRecursively = true;
+            for (const node of this.body) {
+                if (includeChildrenRecursively || node.shouldBeIncluded(context))
+                    node.include(context, includeChildrenRecursively);
+            }
+        }
+    }
+    initialise() {
+        const firstBodyStatement = this.body[0];
+        this.deoptimizeBody =
+            firstBodyStatement instanceof ExpressionStatement &&
+                firstBodyStatement.directive === 'use asm';
+    }
+    render(code, options) {
+        if (this.body.length > 0) {
+            renderStatementList(this.body, code, this.start + 1, this.end - 1, options);
+        }
+        else {
+            super.render(code, options);
+        }
+    }
+}
+
+class RestElement extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.declarationInit = null;
+    }
+    addExportedVariables(variables, exportNamesByVariable) {
+        this.argument.addExportedVariables(variables, exportNamesByVariable);
+    }
+    declare(kind, init) {
+        this.declarationInit = init;
+        return this.argument.declare(kind, UNKNOWN_EXPRESSION);
+    }
+    deoptimizePath(path) {
+        path.length === 0 && this.argument.deoptimizePath(EMPTY_PATH);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        return (path.length > 0 ||
+            this.argument.hasEffectsOnInteractionAtPath(EMPTY_PATH, interaction, context));
+    }
+    markDeclarationReached() {
+        this.argument.markDeclarationReached();
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        if (this.declarationInit !== null) {
+            this.declarationInit.deoptimizePath([UnknownKey, UnknownKey]);
+            this.scope.context.requestTreeshakingPass();
+        }
+    }
+}
+
+class FunctionBase extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.objectEntity = null;
+    }
+    get async() {
+        return isFlagSet(this.flags, 256 /* Flag.async */);
+    }
+    set async(value) {
+        this.flags = setFlag(this.flags, 256 /* Flag.async */, value);
+    }
+    get deoptimizedReturn() {
+        return isFlagSet(this.flags, 512 /* Flag.deoptimizedReturn */);
+    }
+    set deoptimizedReturn(value) {
+        this.flags = setFlag(this.flags, 512 /* Flag.deoptimizedReturn */, value);
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        if (interaction.type === INTERACTION_CALLED) {
+            const { parameters } = this.scope;
+            const { args } = interaction;
+            let hasRest = false;
+            for (let position = 0; position < args.length - 1; position++) {
+                const parameter = this.params[position];
+                // Only the "this" argument arg[0] can be null
+                const argument = args[position + 1];
+                if (hasRest || parameter instanceof RestElement) {
+                    hasRest = true;
+                    argument.deoptimizePath(UNKNOWN_PATH);
+                }
+                else if (parameter instanceof Identifier) {
+                    parameters[position][0].addEntityToBeDeoptimized(argument);
+                    this.addArgumentToBeDeoptimized(argument);
+                }
+                else if (parameter) {
+                    argument.deoptimizePath(UNKNOWN_PATH);
+                }
+                else {
+                    this.addArgumentToBeDeoptimized(argument);
+                }
+            }
+        }
+        else {
+            this.getObjectEntity().deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+        }
+    }
+    deoptimizePath(path) {
+        this.getObjectEntity().deoptimizePath(path);
+        if (path.length === 1 && path[0] === UnknownKey) {
+            // A reassignment of UNKNOWN_PATH is considered equivalent to having lost track
+            // which means the return expression and parameters need to be reassigned
+            this.scope.getReturnExpression().deoptimizePath(UNKNOWN_PATH);
+            for (const parameterList of this.scope.parameters) {
+                for (const parameter of parameterList) {
+                    parameter.deoptimizePath(UNKNOWN_PATH);
+                }
+            }
+        }
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        return this.getObjectEntity().getLiteralValueAtPath(path, recursionTracker, origin);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        if (path.length > 0) {
+            return this.getObjectEntity().getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+        }
+        if (this.async) {
+            if (!this.deoptimizedReturn) {
+                this.deoptimizedReturn = true;
+                this.scope.getReturnExpression().deoptimizePath(UNKNOWN_PATH);
+                this.scope.context.requestTreeshakingPass();
+            }
+            return UNKNOWN_RETURN_EXPRESSION;
+        }
+        return [this.scope.getReturnExpression(), false];
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        if (path.length > 0 || interaction.type !== INTERACTION_CALLED) {
+            return this.getObjectEntity().hasEffectsOnInteractionAtPath(path, interaction, context);
+        }
+        if (this.annotationNoSideEffects) {
+            return false;
+        }
+        if (this.async) {
+            const { propertyReadSideEffects } = this.scope.context.options
+                .treeshake;
+            const returnExpression = this.scope.getReturnExpression();
+            if (returnExpression.hasEffectsOnInteractionAtPath(['then'], NODE_INTERACTION_UNKNOWN_CALL, context) ||
+                (propertyReadSideEffects &&
+                    (propertyReadSideEffects === 'always' ||
+                        returnExpression.hasEffectsOnInteractionAtPath(['then'], NODE_INTERACTION_UNKNOWN_ACCESS, context)))) {
+                return true;
+            }
+        }
+        for (const parameter of this.params) {
+            if (parameter.hasEffects(context))
+                return true;
+        }
+        return false;
+    }
+    include(context, includeChildrenRecursively) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        this.included = true;
+        const { brokenFlow } = context;
+        context.brokenFlow = false;
+        this.body.include(context, includeChildrenRecursively);
+        context.brokenFlow = brokenFlow;
+    }
+    includeCallArguments(context, parameters) {
+        this.scope.includeCallArguments(context, parameters);
+    }
+    initialise() {
+        if (this.body instanceof BlockStatement) {
+            this.body.addImplicitReturnExpressionToScope();
+        }
+        else {
+            this.scope.addReturnExpression(this.body);
+        }
+    }
+    parseNode(esTreeNode) {
+        const { body, params } = esTreeNode;
+        const parameters = (this.params = []);
+        const { scope } = this;
+        const { bodyScope, context } = scope;
+        // We need to ensure that parameters are declared before the body is parsed
+        // so that the scope already knows all parameters and can detect conflicts
+        // when parsing the body.
+        for (const parameter of params) {
+            parameters.push(new (context.getNodeConstructor(parameter.type))(parameter, this, scope, false));
+        }
+        scope.addParameterVariables(parameters.map(parameter => parameter.declare("parameter" /* VariableKind.parameter */, UNKNOWN_EXPRESSION)), parameters[parameters.length - 1] instanceof RestElement);
+        this.body = new (context.getNodeConstructor(body.type))(body, this, bodyScope);
+        super.parseNode(esTreeNode);
+    }
+    addArgumentToBeDeoptimized(_argument) { }
+    applyDeoptimizations() { }
+}
+FunctionBase.prototype.preventChildBlockScope = true;
+
+class ArrowFunctionExpression extends FunctionBase {
+    constructor() {
+        super(...arguments);
+        this.objectEntity = null;
+    }
+    createScope(parentScope) {
+        this.scope = new ReturnValueScope(parentScope, false);
+    }
+    hasEffects() {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        return false;
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        if (super.hasEffectsOnInteractionAtPath(path, interaction, context)) {
+            return true;
+        }
+        if (this.annotationNoSideEffects) {
+            return false;
+        }
+        if (interaction.type === INTERACTION_CALLED) {
+            const { ignore, brokenFlow } = context;
+            context.ignore = {
+                breaks: false,
+                continues: false,
+                labels: new Set(),
+                returnYield: true,
+                this: false
+            };
+            if (this.body.hasEffects(context))
+                return true;
+            context.ignore = ignore;
+            context.brokenFlow = brokenFlow;
+        }
+        return false;
+    }
+    include(context, includeChildrenRecursively) {
+        super.include(context, includeChildrenRecursively);
+        for (const parameter of this.params) {
+            if (!(parameter instanceof Identifier)) {
+                parameter.include(context, includeChildrenRecursively);
+            }
+        }
+    }
+    getObjectEntity() {
+        if (this.objectEntity !== null) {
+            return this.objectEntity;
+        }
+        return (this.objectEntity = new ObjectEntity([], OBJECT_PROTOTYPE));
+    }
+}
+
+function getSystemExportStatement(exportedVariables, { exportNamesByVariable, snippets: { _, getObject, getPropertyAccess } }, modifier = '') {
+    if (exportedVariables.length === 1 &&
+        exportNamesByVariable.get(exportedVariables[0]).length === 1) {
+        const variable = exportedVariables[0];
+        return `exports(${JSON.stringify(exportNamesByVariable.get(variable)[0])},${_}${variable.getName(getPropertyAccess)}${modifier})`;
+    }
+    else {
+        const fields = [];
+        for (const variable of exportedVariables) {
+            for (const exportName of exportNamesByVariable.get(variable)) {
+                fields.push([exportName, variable.getName(getPropertyAccess) + modifier]);
+            }
+        }
+        return `exports(${getObject(fields, { lineBreakIndent: null })})`;
+    }
+}
+// This is only invoked if there is exactly one export name
+function renderSystemExportExpression(exportedVariable, expressionStart, expressionEnd, code, { exportNamesByVariable, snippets: { _ } }) {
+    code.prependRight(expressionStart, `exports(${JSON.stringify(exportNamesByVariable.get(exportedVariable)[0])},${_}`);
+    code.appendLeft(expressionEnd, ')');
+}
+function renderSystemExportFunction(exportedVariables, expressionStart, expressionEnd, needsParens, code, options) {
+    const { _, getDirectReturnIifeLeft } = options.snippets;
+    code.prependRight(expressionStart, getDirectReturnIifeLeft(['v'], `${getSystemExportStatement(exportedVariables, options)},${_}v`, { needsArrowReturnParens: true, needsWrappedFunction: needsParens }));
+    code.appendLeft(expressionEnd, ')');
+}
+function renderSystemExportSequenceAfterExpression(exportedVariable, expressionStart, expressionEnd, needsParens, code, options) {
+    const { _, getPropertyAccess } = options.snippets;
+    code.appendLeft(expressionEnd, `,${_}${getSystemExportStatement([exportedVariable], options)},${_}${exportedVariable.getName(getPropertyAccess)}`);
+    if (needsParens) {
+        code.prependRight(expressionStart, '(');
+        code.appendLeft(expressionEnd, ')');
+    }
+}
+function renderSystemExportSequenceBeforeExpression(exportedVariable, expressionStart, expressionEnd, needsParens, code, options, modifier) {
+    const { _ } = options.snippets;
+    code.prependRight(expressionStart, `${getSystemExportStatement([exportedVariable], options, modifier)},${_}`);
+    if (needsParens) {
+        code.prependRight(expressionStart, '(');
+        code.appendLeft(expressionEnd, ')');
+    }
+}
+
+class ObjectPattern extends NodeBase {
+    addExportedVariables(variables, exportNamesByVariable) {
+        for (const property of this.properties) {
+            if (property.type === Property$1) {
+                property.value.addExportedVariables(variables, exportNamesByVariable);
+            }
+            else {
+                property.argument.addExportedVariables(variables, exportNamesByVariable);
+            }
+        }
+    }
+    declare(kind, init) {
+        const variables = [];
+        for (const property of this.properties) {
+            variables.push(...property.declare(kind, init));
+        }
+        return variables;
+    }
+    deoptimizePath(path) {
+        if (path.length === 0) {
+            for (const property of this.properties) {
+                property.deoptimizePath(path);
+            }
+        }
+    }
+    hasEffectsOnInteractionAtPath(
+    // At the moment, this is only triggered for assignment left-hand sides,
+    // where the path is empty
+    _path, interaction, context) {
+        for (const property of this.properties) {
+            if (property.hasEffectsOnInteractionAtPath(EMPTY_PATH, interaction, context))
+                return true;
+        }
+        return false;
+    }
+    markDeclarationReached() {
+        for (const property of this.properties) {
+            property.markDeclarationReached();
+        }
+    }
+}
+
+class AssignmentExpression extends NodeBase {
+    hasEffects(context) {
+        const { deoptimized, left, operator, right } = this;
+        if (!deoptimized)
+            this.applyDeoptimizations();
+        // MemberExpressions do not access the property before assignments if the
+        // operator is '='.
+        return (right.hasEffects(context) || left.hasEffectsAsAssignmentTarget(context, operator !== '='));
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        return this.right.hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+    include(context, includeChildrenRecursively) {
+        const { deoptimized, left, right, operator } = this;
+        if (!deoptimized)
+            this.applyDeoptimizations();
+        this.included = true;
+        if (includeChildrenRecursively ||
+            operator !== '=' ||
+            left.included ||
+            left.hasEffectsAsAssignmentTarget(createHasEffectsContext(), false)) {
+            left.includeAsAssignmentTarget(context, includeChildrenRecursively, operator !== '=');
+        }
+        right.include(context, includeChildrenRecursively);
+    }
+    initialise() {
+        if (this.left instanceof Identifier) {
+            const variable = this.scope.variables.get(this.left.name);
+            if (variable?.kind === 'const') {
+                this.scope.context.error(parseAst_js.logConstVariableReassignError(), this.left.start);
+            }
+        }
+        this.left.setAssignedValue(this.right);
+    }
+    render(code, options, { preventASI, renderedParentType, renderedSurroundingElement } = BLANK) {
+        const { left, right, start, end, parent } = this;
+        if (left.included) {
+            left.render(code, options);
+            right.render(code, options);
+        }
+        else {
+            const inclusionStart = findNonWhiteSpace(code.original, findFirstOccurrenceOutsideComment(code.original, '=', left.end) + 1);
+            code.remove(start, inclusionStart);
+            if (preventASI) {
+                removeLineBreaks(code, inclusionStart, right.start);
+            }
+            right.render(code, options, {
+                renderedParentType: renderedParentType || parent.type,
+                renderedSurroundingElement: renderedSurroundingElement || parent.type
+            });
+        }
+        if (options.format === 'system') {
+            if (left instanceof Identifier) {
+                const variable = left.variable;
+                const exportNames = options.exportNamesByVariable.get(variable);
+                if (exportNames) {
+                    if (exportNames.length === 1) {
+                        renderSystemExportExpression(variable, start, end, code, options);
+                    }
+                    else {
+                        renderSystemExportSequenceAfterExpression(variable, start, end, parent.type !== ExpressionStatement$1, code, options);
+                    }
+                    return;
+                }
+            }
+            else {
+                const systemPatternExports = [];
+                left.addExportedVariables(systemPatternExports, options.exportNamesByVariable);
+                if (systemPatternExports.length > 0) {
+                    renderSystemExportFunction(systemPatternExports, start, end, renderedSurroundingElement === ExpressionStatement$1, code, options);
+                    return;
+                }
+            }
+        }
+        if (left.included &&
+            left instanceof ObjectPattern &&
+            (renderedSurroundingElement === ExpressionStatement$1 ||
+                renderedSurroundingElement === ArrowFunctionExpression$1)) {
+            code.appendRight(start, '(');
+            code.prependLeft(end, ')');
+        }
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        this.left.deoptimizePath(EMPTY_PATH);
+        this.right.deoptimizePath(UNKNOWN_PATH);
+        this.scope.context.requestTreeshakingPass();
+    }
+}
+
+class AssignmentPattern extends NodeBase {
+    addExportedVariables(variables, exportNamesByVariable) {
+        this.left.addExportedVariables(variables, exportNamesByVariable);
+    }
+    declare(kind, init) {
+        return this.left.declare(kind, init);
+    }
+    deoptimizePath(path) {
+        path.length === 0 && this.left.deoptimizePath(path);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        return (path.length > 0 || this.left.hasEffectsOnInteractionAtPath(EMPTY_PATH, interaction, context));
+    }
+    markDeclarationReached() {
+        this.left.markDeclarationReached();
+    }
+    render(code, options, { isShorthandProperty } = BLANK) {
+        this.left.render(code, options, { isShorthandProperty });
+        this.right.render(code, options);
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        this.left.deoptimizePath(EMPTY_PATH);
+        this.right.deoptimizePath(UNKNOWN_PATH);
+        this.scope.context.requestTreeshakingPass();
+    }
+}
+
+class ArgumentsVariable extends LocalVariable {
+    constructor(context) {
+        super('arguments', null, UNKNOWN_EXPRESSION, context, "other" /* VariableKind.other */);
+        this.deoptimizedArguments = [];
+    }
+    addArgumentToBeDeoptimized(argument) {
+        if (this.included) {
+            argument.deoptimizePath(UNKNOWN_PATH);
+        }
+        else {
+            this.deoptimizedArguments.push(argument);
+        }
+    }
+    hasEffectsOnInteractionAtPath(path, { type }) {
+        return type !== INTERACTION_ACCESSED || path.length > 1;
+    }
+    include() {
+        super.include();
+        for (const argument of this.deoptimizedArguments) {
+            argument.deoptimizePath(UNKNOWN_PATH);
+        }
+        this.deoptimizedArguments.length = 0;
+    }
+}
+
+class ThisVariable extends ParameterVariable {
+    constructor(context) {
+        super('this', null, context);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        return (context.replacedVariableInits.get(this) || UNKNOWN_EXPRESSION).hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+}
+
+class FunctionScope extends ReturnValueScope {
+    constructor(parent) {
+        const { context } = parent;
+        super(parent, false);
+        this.variables.set('arguments', (this.argumentsVariable = new ArgumentsVariable(context)));
+        this.variables.set('this', (this.thisVariable = new ThisVariable(context)));
+    }
+    findLexicalBoundary() {
+        return this;
+    }
+    includeCallArguments(context, parameters) {
+        super.includeCallArguments(context, parameters);
+        if (this.argumentsVariable.included) {
+            for (const argument of parameters) {
+                if (!argument.included) {
+                    argument.include(context, false);
+                }
+            }
+        }
+    }
+}
+
+class FunctionNode extends FunctionBase {
+    constructor() {
+        super(...arguments);
+        this.objectEntity = null;
+    }
+    createScope(parentScope) {
+        this.scope = new FunctionScope(parentScope);
+        this.constructedEntity = new ObjectEntity(Object.create(null), OBJECT_PROTOTYPE);
+        // This makes sure that all deoptimizations of "this" are applied to the
+        // constructed entity.
+        this.scope.thisVariable.addEntityToBeDeoptimized(this.constructedEntity);
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        super.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+        if (interaction.type === INTERACTION_CALLED && path.length === 0 && interaction.args[0]) {
+            // args[0] is the "this" argument
+            this.scope.thisVariable.addEntityToBeDeoptimized(interaction.args[0]);
+        }
+    }
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        if (this.annotationNoSideEffects) {
+            return false;
+        }
+        return !!this.id?.hasEffects(context);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        if (super.hasEffectsOnInteractionAtPath(path, interaction, context))
+            return true;
+        if (this.annotationNoSideEffects) {
+            return false;
+        }
+        if (interaction.type === INTERACTION_CALLED) {
+            const thisInit = context.replacedVariableInits.get(this.scope.thisVariable);
+            context.replacedVariableInits.set(this.scope.thisVariable, interaction.withNew ? this.constructedEntity : UNKNOWN_EXPRESSION);
+            const { brokenFlow, ignore, replacedVariableInits } = context;
+            context.ignore = {
+                breaks: false,
+                continues: false,
+                labels: new Set(),
+                returnYield: true,
+                this: interaction.withNew
+            };
+            if (this.body.hasEffects(context))
+                return true;
+            context.brokenFlow = brokenFlow;
+            if (thisInit) {
+                replacedVariableInits.set(this.scope.thisVariable, thisInit);
+            }
+            else {
+                replacedVariableInits.delete(this.scope.thisVariable);
+            }
+            context.ignore = ignore;
+        }
+        return false;
+    }
+    include(context, includeChildrenRecursively) {
+        super.include(context, includeChildrenRecursively);
+        this.id?.include();
+        const hasArguments = this.scope.argumentsVariable.included;
+        for (const parameter of this.params) {
+            if (!(parameter instanceof Identifier) || hasArguments) {
+                parameter.include(context, includeChildrenRecursively);
+            }
+        }
+    }
+    initialise() {
+        super.initialise();
+        this.id?.declare("function" /* VariableKind.function */, this);
+    }
+    addArgumentToBeDeoptimized(argument) {
+        this.scope.argumentsVariable.addArgumentToBeDeoptimized(argument);
+    }
+    getObjectEntity() {
+        if (this.objectEntity !== null) {
+            return this.objectEntity;
+        }
+        return (this.objectEntity = new ObjectEntity([
+            {
+                key: 'prototype',
+                kind: 'init',
+                property: new ObjectEntity([], OBJECT_PROTOTYPE)
+            }
+        ], OBJECT_PROTOTYPE));
+    }
+}
+
+class AwaitExpression extends NodeBase {
+    hasEffects() {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        return true;
+    }
+    include(context, includeChildrenRecursively) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        if (!this.included) {
+            this.included = true;
+            checkTopLevelAwait: if (!this.scope.context.usesTopLevelAwait) {
+                let parent = this.parent;
+                do {
+                    if (parent instanceof FunctionNode || parent instanceof ArrowFunctionExpression)
+                        break checkTopLevelAwait;
+                } while ((parent = parent.parent));
+                this.scope.context.usesTopLevelAwait = true;
+            }
+        }
+        this.argument.include(context, includeChildrenRecursively);
+    }
+}
+
+const binaryOperators = {
+    '!=': (left, right) => left != right,
+    '!==': (left, right) => left !== right,
+    '%': (left, right) => left % right,
+    '&': (left, right) => left & right,
+    '*': (left, right) => left * right,
+    // At the moment, "**" will be transpiled to Math.pow
+    '**': (left, right) => left ** right,
+    '+': (left, right) => left + right,
+    '-': (left, right) => left - right,
+    '/': (left, right) => left / right,
+    '<': (left, right) => left < right,
+    '<<': (left, right) => left << right,
+    '<=': (left, right) => left <= right,
+    '==': (left, right) => left == right,
+    '===': (left, right) => left === right,
+    '>': (left, right) => left > right,
+    '>=': (left, right) => left >= right,
+    '>>': (left, right) => left >> right,
+    '>>>': (left, right) => left >>> right,
+    '^': (left, right) => left ^ right,
+    '|': (left, right) => left | right
+    // We use the fallback for cases where we return something unknown
+    // in: () => UnknownValue,
+    // instanceof: () => UnknownValue,
+};
+class BinaryExpression extends NodeBase {
+    deoptimizeCache() { }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        if (path.length > 0)
+            return UnknownValue;
+        const leftValue = this.left.getLiteralValueAtPath(EMPTY_PATH, recursionTracker, origin);
+        if (typeof leftValue === 'symbol')
+            return UnknownValue;
+        const rightValue = this.right.getLiteralValueAtPath(EMPTY_PATH, recursionTracker, origin);
+        if (typeof rightValue === 'symbol')
+            return UnknownValue;
+        const operatorFunction = binaryOperators[this.operator];
+        if (!operatorFunction)
+            return UnknownValue;
+        return operatorFunction(leftValue, rightValue);
+    }
+    hasEffects(context) {
+        // support some implicit type coercion runtime errors
+        if (this.operator === '+' &&
+            this.parent instanceof ExpressionStatement &&
+            this.left.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this) === '') {
+            return true;
+        }
+        return super.hasEffects(context);
+    }
+    hasEffectsOnInteractionAtPath(path, { type }) {
+        return type !== INTERACTION_ACCESSED || path.length > 1;
+    }
+    removeAnnotations(code) {
+        this.left.removeAnnotations(code);
+    }
+    render(code, options, { renderedSurroundingElement } = BLANK) {
+        this.left.render(code, options, { renderedSurroundingElement });
+        this.right.render(code, options);
+    }
+}
+
+class BreakStatement extends NodeBase {
+    hasEffects(context) {
+        if (this.label) {
+            if (!context.ignore.labels.has(this.label.name))
+                return true;
+            context.includedLabels.add(this.label.name);
+        }
+        else {
+            if (!context.ignore.breaks)
+                return true;
+            context.hasBreak = true;
+        }
+        context.brokenFlow = true;
+        return false;
+    }
+    include(context) {
+        this.included = true;
+        if (this.label) {
+            this.label.include();
+            context.includedLabels.add(this.label.name);
+        }
+        else {
+            context.hasBreak = true;
+        }
+        context.brokenFlow = true;
+    }
+}
+
+function renderCallArguments(code, options, node) {
+    if (node.arguments.length > 0) {
+        if (node.arguments[node.arguments.length - 1].included) {
+            for (const argument of node.arguments) {
+                argument.render(code, options);
+            }
+        }
+        else {
+            let lastIncludedIndex = node.arguments.length - 2;
+            while (lastIncludedIndex >= 0 && !node.arguments[lastIncludedIndex].included) {
+                lastIncludedIndex--;
+            }
+            if (lastIncludedIndex >= 0) {
+                for (let index = 0; index <= lastIncludedIndex; index++) {
+                    node.arguments[index].render(code, options);
+                }
+                code.remove(findFirstOccurrenceOutsideComment(code.original, ',', node.arguments[lastIncludedIndex].end), node.end - 1);
+            }
+            else {
+                code.remove(findFirstOccurrenceOutsideComment(code.original, '(', node.callee.end) + 1, node.end - 1);
+            }
+        }
+    }
+}
+
+class Literal extends NodeBase {
+    deoptimizeArgumentsOnInteractionAtPath() { }
+    getLiteralValueAtPath(path) {
+        if (path.length > 0 ||
+            // unknown literals can also be null but do not start with an "n"
+            (this.value === null && this.scope.context.code.charCodeAt(this.start) !== 110) ||
+            typeof this.value === 'bigint' ||
+            // to support shims for regular expressions
+            this.scope.context.code.charCodeAt(this.start) === 47) {
+            return UnknownValue;
+        }
+        return this.value;
+    }
+    getReturnExpressionWhenCalledAtPath(path) {
+        if (path.length !== 1)
+            return UNKNOWN_RETURN_EXPRESSION;
+        return getMemberReturnExpressionWhenCalled(this.members, path[0]);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        switch (interaction.type) {
+            case INTERACTION_ACCESSED: {
+                return path.length > (this.value === null ? 0 : 1);
+            }
+            case INTERACTION_ASSIGNED: {
+                return true;
+            }
+            case INTERACTION_CALLED: {
+                if (this.included &&
+                    this.value instanceof RegExp &&
+                    (this.value.global || this.value.sticky)) {
+                    return true;
+                }
+                return (path.length !== 1 ||
+                    hasMemberEffectWhenCalled(this.members, path[0], interaction, context));
+            }
+        }
+    }
+    initialise() {
+        this.members = getLiteralMembersForValue(this.value);
+    }
+    parseNode(esTreeNode) {
+        this.value = esTreeNode.value;
+        this.regex = esTreeNode.regex;
+        super.parseNode(esTreeNode);
+    }
+    render(code) {
+        if (typeof this.value === 'string') {
+            code.indentExclusionRanges.push([this.start + 1, this.end - 1]);
+        }
+    }
+}
+
+// To avoid infinite recursions
+const MAX_PATH_DEPTH = 7;
+function getResolvablePropertyKey(memberExpression) {
+    return memberExpression.computed
+        ? getResolvableComputedPropertyKey(memberExpression.property)
+        : memberExpression.property.name;
+}
+function getResolvableComputedPropertyKey(propertyKey) {
+    if (propertyKey instanceof Literal) {
+        return String(propertyKey.value);
+    }
+    return null;
+}
+function getPathIfNotComputed(memberExpression) {
+    const nextPathKey = memberExpression.propertyKey;
+    const object = memberExpression.object;
+    if (typeof nextPathKey === 'string') {
+        if (object instanceof Identifier) {
+            return [
+                { key: object.name, pos: object.start },
+                { key: nextPathKey, pos: memberExpression.property.start }
+            ];
+        }
+        if (object instanceof MemberExpression) {
+            const parentPath = getPathIfNotComputed(object);
+            return (parentPath && [...parentPath, { key: nextPathKey, pos: memberExpression.property.start }]);
+        }
+    }
+    return null;
+}
+function getStringFromPath(path) {
+    let pathString = path[0].key;
+    for (let index = 1; index < path.length; index++) {
+        pathString += '.' + path[index].key;
+    }
+    return pathString;
+}
+class MemberExpression extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.variable = null;
+        this.expressionsToBeDeoptimized = [];
+    }
+    get computed() {
+        return isFlagSet(this.flags, 1024 /* Flag.computed */);
+    }
+    set computed(value) {
+        this.flags = setFlag(this.flags, 1024 /* Flag.computed */, value);
+    }
+    get optional() {
+        return isFlagSet(this.flags, 128 /* Flag.optional */);
+    }
+    set optional(value) {
+        this.flags = setFlag(this.flags, 128 /* Flag.optional */, value);
+    }
+    get assignmentDeoptimized() {
+        return isFlagSet(this.flags, 16 /* Flag.assignmentDeoptimized */);
+    }
+    set assignmentDeoptimized(value) {
+        this.flags = setFlag(this.flags, 16 /* Flag.assignmentDeoptimized */, value);
+    }
+    get bound() {
+        return isFlagSet(this.flags, 32 /* Flag.bound */);
+    }
+    set bound(value) {
+        this.flags = setFlag(this.flags, 32 /* Flag.bound */, value);
+    }
+    get isUndefined() {
+        return isFlagSet(this.flags, 64 /* Flag.isUndefined */);
+    }
+    set isUndefined(value) {
+        this.flags = setFlag(this.flags, 64 /* Flag.isUndefined */, value);
+    }
+    bind() {
+        this.bound = true;
+        const path = getPathIfNotComputed(this);
+        const baseVariable = path && this.scope.findVariable(path[0].key);
+        if (baseVariable?.isNamespace) {
+            const resolvedVariable = resolveNamespaceVariables(baseVariable, path.slice(1), this.scope.context);
+            if (!resolvedVariable) {
+                super.bind();
+            }
+            else if (resolvedVariable === 'undefined') {
+                this.isUndefined = true;
+            }
+            else {
+                this.variable = resolvedVariable;
+                this.scope.addNamespaceMemberAccess(getStringFromPath(path), resolvedVariable);
+            }
+        }
+        else {
+            super.bind();
+        }
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        if (this.variable) {
+            this.variable.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+        }
+        else if (!this.isUndefined) {
+            if (path.length < MAX_PATH_DEPTH) {
+                this.object.deoptimizeArgumentsOnInteractionAtPath(interaction, [this.getPropertyKey(), ...path], recursionTracker);
+            }
+            else {
+                deoptimizeInteraction(interaction);
+            }
+        }
+    }
+    deoptimizeCache() {
+        const { expressionsToBeDeoptimized, object } = this;
+        this.expressionsToBeDeoptimized = EMPTY_ARRAY;
+        this.propertyKey = UnknownKey;
+        object.deoptimizePath(UNKNOWN_PATH);
+        for (const expression of expressionsToBeDeoptimized) {
+            expression.deoptimizeCache();
+        }
+    }
+    deoptimizePath(path) {
+        if (path.length === 0)
+            this.disallowNamespaceReassignment();
+        if (this.variable) {
+            this.variable.deoptimizePath(path);
+        }
+        else if (!this.isUndefined && path.length < MAX_PATH_DEPTH) {
+            const propertyKey = this.getPropertyKey();
+            this.object.deoptimizePath([
+                propertyKey === UnknownKey ? UnknownNonAccessorKey : propertyKey,
+                ...path
+            ]);
+        }
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        if (this.variable) {
+            return this.variable.getLiteralValueAtPath(path, recursionTracker, origin);
+        }
+        if (this.isUndefined) {
+            return undefined;
+        }
+        if (this.propertyKey !== UnknownKey && path.length < MAX_PATH_DEPTH) {
+            this.expressionsToBeDeoptimized.push(origin);
+            return this.object.getLiteralValueAtPath([this.getPropertyKey(), ...path], recursionTracker, origin);
+        }
+        return UnknownValue;
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        if (this.variable) {
+            return this.variable.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+        }
+        if (this.isUndefined) {
+            return [UNDEFINED_EXPRESSION, false];
+        }
+        if (this.propertyKey !== UnknownKey && path.length < MAX_PATH_DEPTH) {
+            this.expressionsToBeDeoptimized.push(origin);
+            return this.object.getReturnExpressionWhenCalledAtPath([this.getPropertyKey(), ...path], interaction, recursionTracker, origin);
+        }
+        return UNKNOWN_RETURN_EXPRESSION;
+    }
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        return (this.property.hasEffects(context) ||
+            this.object.hasEffects(context) ||
+            this.hasAccessEffect(context));
+    }
+    hasEffectsAsAssignmentTarget(context, checkAccess) {
+        if (checkAccess && !this.deoptimized)
+            this.applyDeoptimizations();
+        if (!this.assignmentDeoptimized)
+            this.applyAssignmentDeoptimization();
+        return (this.property.hasEffects(context) ||
+            this.object.hasEffects(context) ||
+            (checkAccess && this.hasAccessEffect(context)) ||
+            this.hasEffectsOnInteractionAtPath(EMPTY_PATH, this.assignmentInteraction, context));
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        if (this.variable) {
+            return this.variable.hasEffectsOnInteractionAtPath(path, interaction, context);
+        }
+        if (this.isUndefined) {
+            return true;
+        }
+        if (path.length < MAX_PATH_DEPTH) {
+            return this.object.hasEffectsOnInteractionAtPath([this.getPropertyKey(), ...path], interaction, context);
+        }
+        return true;
+    }
+    include(context, includeChildrenRecursively) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        this.includeProperties(context, includeChildrenRecursively);
+    }
+    includeAsAssignmentTarget(context, includeChildrenRecursively, deoptimizeAccess) {
+        if (!this.assignmentDeoptimized)
+            this.applyAssignmentDeoptimization();
+        if (deoptimizeAccess) {
+            this.include(context, includeChildrenRecursively);
+        }
+        else {
+            this.includeProperties(context, includeChildrenRecursively);
+        }
+    }
+    includeCallArguments(context, parameters) {
+        if (this.variable) {
+            this.variable.includeCallArguments(context, parameters);
+        }
+        else {
+            super.includeCallArguments(context, parameters);
+        }
+    }
+    initialise() {
+        this.propertyKey = getResolvablePropertyKey(this);
+        this.accessInteraction = { args: [this.object], type: INTERACTION_ACCESSED };
+    }
+    isSkippedAsOptional(origin) {
+        return (!this.variable &&
+            !this.isUndefined &&
+            (this.object.isSkippedAsOptional?.(origin) ||
+                (this.optional &&
+                    this.object.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, origin) == null)));
+    }
+    render(code, options, { renderedParentType, isCalleeOfRenderedParent, renderedSurroundingElement } = BLANK) {
+        if (this.variable || this.isUndefined) {
+            const { snippets: { getPropertyAccess } } = options;
+            let replacement = this.variable ? this.variable.getName(getPropertyAccess) : 'undefined';
+            if (renderedParentType && isCalleeOfRenderedParent)
+                replacement = '0, ' + replacement;
+            code.overwrite(this.start, this.end, replacement, {
+                contentOnly: true,
+                storeName: true
+            });
+        }
+        else {
+            if (renderedParentType && isCalleeOfRenderedParent) {
+                code.appendRight(this.start, '0, ');
+            }
+            this.object.render(code, options, { renderedSurroundingElement });
+            this.property.render(code, options);
+        }
+    }
+    setAssignedValue(value) {
+        this.assignmentInteraction = {
+            args: [this.object, value],
+            type: INTERACTION_ASSIGNED
+        };
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        const { propertyReadSideEffects } = this.scope.context.options
+            .treeshake;
+        if (
+        // Namespaces are not bound and should not be deoptimized
+        this.bound &&
+            propertyReadSideEffects &&
+            !(this.variable || this.isUndefined)) {
+            const propertyKey = this.getPropertyKey();
+            this.object.deoptimizeArgumentsOnInteractionAtPath(this.accessInteraction, [propertyKey], SHARED_RECURSION_TRACKER);
+            this.scope.context.requestTreeshakingPass();
+        }
+    }
+    applyAssignmentDeoptimization() {
+        this.assignmentDeoptimized = true;
+        const { propertyReadSideEffects } = this.scope.context.options
+            .treeshake;
+        if (
+        // Namespaces are not bound and should not be deoptimized
+        this.bound &&
+            propertyReadSideEffects &&
+            !(this.variable || this.isUndefined)) {
+            this.object.deoptimizeArgumentsOnInteractionAtPath(this.assignmentInteraction, [this.getPropertyKey()], SHARED_RECURSION_TRACKER);
+            this.scope.context.requestTreeshakingPass();
+        }
+    }
+    disallowNamespaceReassignment() {
+        if (this.object instanceof Identifier) {
+            const variable = this.scope.findVariable(this.object.name);
+            if (variable.isNamespace) {
+                if (this.variable) {
+                    this.scope.context.includeVariableInModule(this.variable);
+                }
+                this.scope.context.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logIllegalImportReassignment(this.object.name, this.scope.context.module.id), this.start);
+            }
+        }
+    }
+    getPropertyKey() {
+        if (this.propertyKey === null) {
+            this.propertyKey = UnknownKey;
+            const value = this.property.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this);
+            return (this.propertyKey =
+                value === SymbolToStringTag
+                    ? value
+                    : typeof value === 'symbol'
+                        ? UnknownKey
+                        : String(value));
+        }
+        return this.propertyKey;
+    }
+    hasAccessEffect(context) {
+        const { propertyReadSideEffects } = this.scope.context.options
+            .treeshake;
+        return (!(this.variable || this.isUndefined) &&
+            propertyReadSideEffects &&
+            (propertyReadSideEffects === 'always' ||
+                this.object.hasEffectsOnInteractionAtPath([this.getPropertyKey()], this.accessInteraction, context)));
+    }
+    includeProperties(context, includeChildrenRecursively) {
+        if (!this.included) {
+            this.included = true;
+            if (this.variable) {
+                this.scope.context.includeVariableInModule(this.variable);
+            }
+        }
+        this.object.include(context, includeChildrenRecursively);
+        this.property.include(context, includeChildrenRecursively);
+    }
+}
+function resolveNamespaceVariables(baseVariable, path, astContext) {
+    if (path.length === 0)
+        return baseVariable;
+    if (!baseVariable.isNamespace || baseVariable instanceof ExternalVariable)
+        return null;
+    const exportName = path[0].key;
+    const variable = baseVariable.context.traceExport(exportName);
+    if (!variable) {
+        if (path.length === 1) {
+            const fileName = baseVariable.context.fileName;
+            astContext.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logMissingExport(exportName, astContext.module.id, fileName), path[0].pos);
+            return 'undefined';
+        }
+        return null;
+    }
+    return resolveNamespaceVariables(variable, path.slice(1), astContext);
+}
+
+class CallExpressionBase extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.returnExpression = null;
+        this.deoptimizableDependentExpressions = [];
+        this.expressionsToBeDeoptimized = new Set();
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        const { args } = interaction;
+        const [returnExpression, isPure] = this.getReturnExpression(recursionTracker);
+        if (isPure)
+            return;
+        const deoptimizedExpressions = args.filter(expression => !!expression && expression !== UNKNOWN_EXPRESSION);
+        if (deoptimizedExpressions.length === 0)
+            return;
+        if (returnExpression === UNKNOWN_EXPRESSION) {
+            for (const expression of deoptimizedExpressions) {
+                expression.deoptimizePath(UNKNOWN_PATH);
+            }
+        }
+        else {
+            recursionTracker.withTrackedEntityAtPath(path, returnExpression, () => {
+                for (const expression of deoptimizedExpressions) {
+                    this.expressionsToBeDeoptimized.add(expression);
+                }
+                returnExpression.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+            }, null);
+        }
+    }
+    deoptimizeCache() {
+        if (this.returnExpression?.[0] !== UNKNOWN_EXPRESSION) {
+            this.returnExpression = UNKNOWN_RETURN_EXPRESSION;
+            const { deoptimizableDependentExpressions, expressionsToBeDeoptimized } = this;
+            this.expressionsToBeDeoptimized = EMPTY_SET;
+            this.deoptimizableDependentExpressions = EMPTY_ARRAY;
+            for (const expression of deoptimizableDependentExpressions) {
+                expression.deoptimizeCache();
+            }
+            for (const expression of expressionsToBeDeoptimized) {
+                expression.deoptimizePath(UNKNOWN_PATH);
+            }
+        }
+    }
+    deoptimizePath(path) {
+        if (path.length === 0 ||
+            this.scope.context.deoptimizationTracker.trackEntityAtPathAndGetIfTracked(path, this)) {
+            return;
+        }
+        const [returnExpression] = this.getReturnExpression();
+        if (returnExpression !== UNKNOWN_EXPRESSION) {
+            returnExpression.deoptimizePath(path);
+        }
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        const [returnExpression] = this.getReturnExpression(recursionTracker);
+        if (returnExpression === UNKNOWN_EXPRESSION) {
+            return UnknownValue;
+        }
+        return recursionTracker.withTrackedEntityAtPath(path, returnExpression, () => {
+            this.deoptimizableDependentExpressions.push(origin);
+            return returnExpression.getLiteralValueAtPath(path, recursionTracker, origin);
+        }, UnknownValue);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        const returnExpression = this.getReturnExpression(recursionTracker);
+        if (returnExpression[0] === UNKNOWN_EXPRESSION) {
+            return returnExpression;
+        }
+        return recursionTracker.withTrackedEntityAtPath(path, returnExpression, () => {
+            this.deoptimizableDependentExpressions.push(origin);
+            const [expression, isPure] = returnExpression[0].getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+            return [expression, isPure || returnExpression[1]];
+        }, UNKNOWN_RETURN_EXPRESSION);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        const { type } = interaction;
+        if (type === INTERACTION_CALLED) {
+            const { args, withNew } = interaction;
+            if ((withNew ? context.instantiated : context.called).trackEntityAtPathAndGetIfTracked(path, args, this)) {
+                return false;
+            }
+        }
+        else if ((type === INTERACTION_ASSIGNED
+            ? context.assigned
+            : context.accessed).trackEntityAtPathAndGetIfTracked(path, this)) {
+            return false;
+        }
+        const [returnExpression, isPure] = this.getReturnExpression();
+        return ((type === INTERACTION_ASSIGNED || !isPure) &&
+            returnExpression.hasEffectsOnInteractionAtPath(path, interaction, context));
+    }
+}
+
+class CallExpression extends CallExpressionBase {
+    get optional() {
+        return isFlagSet(this.flags, 128 /* Flag.optional */);
+    }
+    set optional(value) {
+        this.flags = setFlag(this.flags, 128 /* Flag.optional */, value);
+    }
+    bind() {
+        super.bind();
+        if (this.callee instanceof Identifier) {
+            const variable = this.scope.findVariable(this.callee.name);
+            if (variable.isNamespace) {
+                this.scope.context.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logCannotCallNamespace(this.callee.name), this.start);
+            }
+            if (this.callee.name === 'eval') {
+                this.scope.context.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logEval(this.scope.context.module.id), this.start);
+            }
+        }
+        this.interaction = {
+            args: [
+                this.callee instanceof MemberExpression && !this.callee.variable
+                    ? this.callee.object
+                    : null,
+                ...this.arguments
+            ],
+            type: INTERACTION_CALLED,
+            withNew: false
+        };
+    }
+    hasEffects(context) {
+        try {
+            for (const argument of this.arguments) {
+                if (argument.hasEffects(context))
+                    return true;
+            }
+            if (this.annotationPure) {
+                return false;
+            }
+            return (this.callee.hasEffects(context) ||
+                this.callee.hasEffectsOnInteractionAtPath(EMPTY_PATH, this.interaction, context));
+        }
+        finally {
+            if (!this.deoptimized)
+                this.applyDeoptimizations();
+        }
+    }
+    include(context, includeChildrenRecursively) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        if (includeChildrenRecursively) {
+            super.include(context, includeChildrenRecursively);
+            if (includeChildrenRecursively === INCLUDE_PARAMETERS &&
+                this.callee instanceof Identifier &&
+                this.callee.variable) {
+                this.callee.variable.markCalledFromTryStatement();
+            }
+        }
+        else {
+            this.included = true;
+            this.callee.include(context, false);
+        }
+        this.callee.includeCallArguments(context, this.arguments);
+    }
+    isSkippedAsOptional(origin) {
+        return (this.callee.isSkippedAsOptional?.(origin) ||
+            (this.optional &&
+                this.callee.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, origin) == null));
+    }
+    render(code, options, { renderedSurroundingElement } = BLANK) {
+        this.callee.render(code, options, {
+            isCalleeOfRenderedParent: true,
+            renderedSurroundingElement
+        });
+        renderCallArguments(code, options, this);
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        this.callee.deoptimizeArgumentsOnInteractionAtPath(this.interaction, EMPTY_PATH, SHARED_RECURSION_TRACKER);
+        this.scope.context.requestTreeshakingPass();
+    }
+    getReturnExpression(recursionTracker = SHARED_RECURSION_TRACKER) {
+        if (this.returnExpression === null) {
+            this.returnExpression = UNKNOWN_RETURN_EXPRESSION;
+            return (this.returnExpression = this.callee.getReturnExpressionWhenCalledAtPath(EMPTY_PATH, this.interaction, recursionTracker, this));
+        }
+        return this.returnExpression;
+    }
+}
+
+class CatchClause extends NodeBase {
+    createScope(parentScope) {
+        this.scope = new ParameterScope(parentScope, true);
+    }
+    parseNode(esTreeNode) {
+        const { body, param, type } = esTreeNode;
+        this.type = type;
+        if (param) {
+            this.param = new (this.scope.context.getNodeConstructor(param.type))(param, this, this.scope);
+            this.param.declare("parameter" /* VariableKind.parameter */, UNKNOWN_EXPRESSION);
+        }
+        this.body = new BlockStatement(body, this, this.scope.bodyScope);
+        super.parseNode(esTreeNode);
+    }
+}
+CatchClause.prototype.preventChildBlockScope = true;
+
+class ChainExpression extends NodeBase {
+    // deoptimizations are not relevant as we are not caching values
+    deoptimizeCache() { }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        if (this.expression.isSkippedAsOptional(origin))
+            return undefined;
+        return this.expression.getLiteralValueAtPath(path, recursionTracker, origin);
+    }
+    hasEffects(context) {
+        if (this.expression.isSkippedAsOptional(this))
+            return false;
+        return this.expression.hasEffects(context);
+    }
+    removeAnnotations(code) {
+        this.expression.removeAnnotations(code);
+    }
+}
+
+class ClassBodyScope extends ChildScope {
+    constructor(parent, classNode) {
+        const { context } = parent;
+        super(parent, context);
+        this.variables.set('this', (this.thisVariable = new LocalVariable('this', null, classNode, context, "other" /* VariableKind.other */)));
+        this.instanceScope = new ChildScope(this, context);
+        this.instanceScope.variables.set('this', new ThisVariable(context));
+    }
+    findLexicalBoundary() {
+        return this;
+    }
+}
+
+class ClassBody extends NodeBase {
+    createScope(parentScope) {
+        this.scope = new ClassBodyScope(parentScope, this.parent);
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        this.scope.context.includeVariableInModule(this.scope.thisVariable);
+        for (const definition of this.body) {
+            definition.include(context, includeChildrenRecursively);
+        }
+    }
+    parseNode(esTreeNode) {
+        const body = (this.body = []);
+        for (const definition of esTreeNode.body) {
+            body.push(new (this.scope.context.getNodeConstructor(definition.type))(definition, this, definition.static ? this.scope : this.scope.instanceScope));
+        }
+        super.parseNode(esTreeNode);
+    }
+    applyDeoptimizations() { }
+}
+
+class MethodBase extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.accessedValue = null;
+    }
+    get computed() {
+        return isFlagSet(this.flags, 1024 /* Flag.computed */);
+    }
+    set computed(value) {
+        this.flags = setFlag(this.flags, 1024 /* Flag.computed */, value);
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        if (interaction.type === INTERACTION_ACCESSED && this.kind === 'get' && path.length === 0) {
+            return this.value.deoptimizeArgumentsOnInteractionAtPath({
+                args: interaction.args,
+                type: INTERACTION_CALLED,
+                withNew: false
+            }, EMPTY_PATH, recursionTracker);
+        }
+        if (interaction.type === INTERACTION_ASSIGNED && this.kind === 'set' && path.length === 0) {
+            return this.value.deoptimizeArgumentsOnInteractionAtPath({
+                args: interaction.args,
+                type: INTERACTION_CALLED,
+                withNew: false
+            }, EMPTY_PATH, recursionTracker);
+        }
+        this.getAccessedValue()[0].deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    // As getter properties directly receive their values from fixed function
+    // expressions, there is no known situation where a getter is deoptimized.
+    deoptimizeCache() { }
+    deoptimizePath(path) {
+        this.getAccessedValue()[0].deoptimizePath(path);
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        return this.getAccessedValue()[0].getLiteralValueAtPath(path, recursionTracker, origin);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        return this.getAccessedValue()[0].getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+    }
+    hasEffects(context) {
+        return this.key.hasEffects(context);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        if (this.kind === 'get' && interaction.type === INTERACTION_ACCESSED && path.length === 0) {
+            return this.value.hasEffectsOnInteractionAtPath(EMPTY_PATH, {
+                args: interaction.args,
+                type: INTERACTION_CALLED,
+                withNew: false
+            }, context);
+        }
+        // setters are only called for empty paths
+        if (this.kind === 'set' && interaction.type === INTERACTION_ASSIGNED) {
+            return this.value.hasEffectsOnInteractionAtPath(EMPTY_PATH, {
+                args: interaction.args,
+                type: INTERACTION_CALLED,
+                withNew: false
+            }, context);
+        }
+        return this.getAccessedValue()[0].hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+    applyDeoptimizations() { }
+    getAccessedValue() {
+        if (this.accessedValue === null) {
+            if (this.kind === 'get') {
+                this.accessedValue = UNKNOWN_RETURN_EXPRESSION;
+                return (this.accessedValue = this.value.getReturnExpressionWhenCalledAtPath(EMPTY_PATH, NODE_INTERACTION_UNKNOWN_CALL, SHARED_RECURSION_TRACKER, this));
+            }
+            else {
+                return (this.accessedValue = [this.value, false]);
+            }
+        }
+        return this.accessedValue;
+    }
+}
+
+class MethodDefinition extends MethodBase {
+    applyDeoptimizations() { }
+}
+
+class ObjectMember extends ExpressionEntity {
+    constructor(object, key) {
+        super();
+        this.object = object;
+        this.key = key;
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.object.deoptimizeArgumentsOnInteractionAtPath(interaction, [this.key, ...path], recursionTracker);
+    }
+    deoptimizePath(path) {
+        this.object.deoptimizePath([this.key, ...path]);
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        return this.object.getLiteralValueAtPath([this.key, ...path], recursionTracker, origin);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        return this.object.getReturnExpressionWhenCalledAtPath([this.key, ...path], interaction, recursionTracker, origin);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        return this.object.hasEffectsOnInteractionAtPath([this.key, ...path], interaction, context);
+    }
+}
+
+class ClassNode extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.objectEntity = null;
+    }
+    createScope(parentScope) {
+        this.scope = new ChildScope(parentScope, parentScope.context);
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.getObjectEntity().deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizeCache() {
+        this.getObjectEntity().deoptimizeAllProperties();
+    }
+    deoptimizePath(path) {
+        this.getObjectEntity().deoptimizePath(path);
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        return this.getObjectEntity().getLiteralValueAtPath(path, recursionTracker, origin);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        return this.getObjectEntity().getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+    }
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        const initEffect = this.superClass?.hasEffects(context) || this.body.hasEffects(context);
+        this.id?.markDeclarationReached();
+        return initEffect || super.hasEffects(context);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        return interaction.type === INTERACTION_CALLED && path.length === 0
+            ? !interaction.withNew ||
+                (this.classConstructor === null
+                    ? this.superClass?.hasEffectsOnInteractionAtPath(path, interaction, context)
+                    : this.classConstructor.hasEffectsOnInteractionAtPath(path, interaction, context)) ||
+                false
+            : this.getObjectEntity().hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+    include(context, includeChildrenRecursively) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        this.included = true;
+        this.superClass?.include(context, includeChildrenRecursively);
+        this.body.include(context, includeChildrenRecursively);
+        if (this.id) {
+            this.id.markDeclarationReached();
+            this.id.include();
+        }
+    }
+    initialise() {
+        this.id?.declare("class" /* VariableKind.class */, this);
+        for (const method of this.body.body) {
+            if (method instanceof MethodDefinition && method.kind === 'constructor') {
+                this.classConstructor = method;
+                return;
+            }
+        }
+        this.classConstructor = null;
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        for (const definition of this.body.body) {
+            if (!(definition.static ||
+                (definition instanceof MethodDefinition && definition.kind === 'constructor'))) {
+                // Calls to methods are not tracked, ensure that the return value is deoptimized
+                definition.deoptimizePath(UNKNOWN_PATH);
+            }
+        }
+        this.scope.context.requestTreeshakingPass();
+    }
+    getObjectEntity() {
+        if (this.objectEntity !== null) {
+            return this.objectEntity;
+        }
+        const staticProperties = [];
+        const dynamicMethods = [];
+        for (const definition of this.body.body) {
+            const properties = definition.static ? staticProperties : dynamicMethods;
+            const definitionKind = definition.kind;
+            // Note that class fields do not end up on the prototype
+            if (properties === dynamicMethods && !definitionKind)
+                continue;
+            const kind = definitionKind === 'set' || definitionKind === 'get' ? definitionKind : 'init';
+            let key;
+            if (definition.computed) {
+                const keyValue = definition.key.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this);
+                if (typeof keyValue === 'symbol') {
+                    properties.push({ key: UnknownKey, kind, property: definition });
+                    continue;
+                }
+                else {
+                    key = String(keyValue);
+                }
+            }
+            else {
+                key =
+                    definition.key instanceof Identifier
+                        ? definition.key.name
+                        : String(definition.key.value);
+            }
+            properties.push({ key, kind, property: definition });
+        }
+        staticProperties.unshift({
+            key: 'prototype',
+            kind: 'init',
+            property: new ObjectEntity(dynamicMethods, this.superClass ? new ObjectMember(this.superClass, 'prototype') : OBJECT_PROTOTYPE)
+        });
+        return (this.objectEntity = new ObjectEntity(staticProperties, this.superClass || OBJECT_PROTOTYPE));
+    }
+}
+
+class ClassDeclaration extends ClassNode {
+    initialise() {
+        super.initialise();
+        if (this.id !== null) {
+            this.id.variable.isId = true;
+        }
+    }
+    parseNode(esTreeNode) {
+        if (esTreeNode.id !== null) {
+            this.id = new Identifier(esTreeNode.id, this, this.scope.parent);
+        }
+        super.parseNode(esTreeNode);
+    }
+    render(code, options) {
+        const { exportNamesByVariable, format, snippets: { _, getPropertyAccess } } = options;
+        if (this.id) {
+            const { variable, name } = this.id;
+            if (format === 'system' && exportNamesByVariable.has(variable)) {
+                code.appendLeft(this.end, `${_}${getSystemExportStatement([variable], options)};`);
+            }
+            const renderedVariable = variable.getName(getPropertyAccess);
+            if (renderedVariable !== name) {
+                this.superClass?.render(code, options);
+                this.body.render(code, {
+                    ...options,
+                    useOriginalName: (_variable) => _variable === variable
+                });
+                code.prependRight(this.start, `let ${renderedVariable}${_}=${_}`);
+                code.prependLeft(this.end, ';');
+                return;
+            }
+        }
+        super.render(code, options);
+    }
+    applyDeoptimizations() {
+        super.applyDeoptimizations();
+        const { id, scope } = this;
+        if (id) {
+            const { name, variable } = id;
+            for (const accessedVariable of scope.accessedOutsideVariables.values()) {
+                if (accessedVariable !== variable) {
+                    accessedVariable.forbidName(name);
+                }
+            }
+        }
+    }
+}
+
+class ClassExpression extends ClassNode {
+    render(code, options, { renderedSurroundingElement } = BLANK) {
+        super.render(code, options);
+        if (renderedSurroundingElement === ExpressionStatement$1) {
+            code.appendRight(this.start, '(');
+            code.prependLeft(this.end, ')');
+        }
+    }
+}
+
+class MultiExpression extends ExpressionEntity {
+    constructor(expressions) {
+        super();
+        this.expressions = expressions;
+    }
+    deoptimizePath(path) {
+        for (const expression of this.expressions) {
+            expression.deoptimizePath(path);
+        }
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        return [
+            new MultiExpression(this.expressions.map(expression => expression.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)[0])),
+            false
+        ];
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        for (const expression of this.expressions) {
+            if (expression.hasEffectsOnInteractionAtPath(path, interaction, context))
+                return true;
+        }
+        return false;
+    }
+}
+
+class ConditionalExpression extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.expressionsToBeDeoptimized = [];
+        this.usedBranch = null;
+    }
+    get isBranchResolutionAnalysed() {
+        return isFlagSet(this.flags, 65536 /* Flag.isBranchResolutionAnalysed */);
+    }
+    set isBranchResolutionAnalysed(value) {
+        this.flags = setFlag(this.flags, 65536 /* Flag.isBranchResolutionAnalysed */, value);
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.consequent.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+        this.alternate.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizeCache() {
+        if (this.usedBranch !== null) {
+            const unusedBranch = this.usedBranch === this.consequent ? this.alternate : this.consequent;
+            this.usedBranch = null;
+            unusedBranch.deoptimizePath(UNKNOWN_PATH);
+            const { expressionsToBeDeoptimized } = this;
+            this.expressionsToBeDeoptimized = EMPTY_ARRAY;
+            for (const expression of expressionsToBeDeoptimized) {
+                expression.deoptimizeCache();
+            }
+        }
+    }
+    deoptimizePath(path) {
+        const usedBranch = this.getUsedBranch();
+        if (usedBranch) {
+            usedBranch.deoptimizePath(path);
+        }
+        else {
+            this.consequent.deoptimizePath(path);
+            this.alternate.deoptimizePath(path);
+        }
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        const usedBranch = this.getUsedBranch();
+        if (!usedBranch)
+            return UnknownValue;
+        this.expressionsToBeDeoptimized.push(origin);
+        return usedBranch.getLiteralValueAtPath(path, recursionTracker, origin);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        const usedBranch = this.getUsedBranch();
+        if (!usedBranch)
+            return [
+                new MultiExpression([
+                    this.consequent.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)[0],
+                    this.alternate.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)[0]
+                ]),
+                false
+            ];
+        this.expressionsToBeDeoptimized.push(origin);
+        return usedBranch.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+    }
+    hasEffects(context) {
+        if (this.test.hasEffects(context))
+            return true;
+        const usedBranch = this.getUsedBranch();
+        if (!usedBranch) {
+            return this.consequent.hasEffects(context) || this.alternate.hasEffects(context);
+        }
+        return usedBranch.hasEffects(context);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        const usedBranch = this.getUsedBranch();
+        if (!usedBranch) {
+            return (this.consequent.hasEffectsOnInteractionAtPath(path, interaction, context) ||
+                this.alternate.hasEffectsOnInteractionAtPath(path, interaction, context));
+        }
+        return usedBranch.hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        const usedBranch = this.getUsedBranch();
+        if (includeChildrenRecursively || this.test.shouldBeIncluded(context) || usedBranch === null) {
+            this.test.include(context, includeChildrenRecursively);
+            this.consequent.include(context, includeChildrenRecursively);
+            this.alternate.include(context, includeChildrenRecursively);
+        }
+        else {
+            usedBranch.include(context, includeChildrenRecursively);
+        }
+    }
+    includeCallArguments(context, parameters) {
+        const usedBranch = this.getUsedBranch();
+        if (usedBranch) {
+            usedBranch.includeCallArguments(context, parameters);
+        }
+        else {
+            this.consequent.includeCallArguments(context, parameters);
+            this.alternate.includeCallArguments(context, parameters);
+        }
+    }
+    removeAnnotations(code) {
+        this.test.removeAnnotations(code);
+    }
+    render(code, options, { isCalleeOfRenderedParent, preventASI, renderedParentType, renderedSurroundingElement } = BLANK) {
+        const usedBranch = this.getUsedBranch();
+        if (this.test.included) {
+            this.test.render(code, options, { renderedSurroundingElement });
+            this.consequent.render(code, options);
+            this.alternate.render(code, options);
+        }
+        else {
+            const colonPos = findFirstOccurrenceOutsideComment(code.original, ':', this.consequent.end);
+            const inclusionStart = findNonWhiteSpace(code.original, (this.consequent.included
+                ? findFirstOccurrenceOutsideComment(code.original, '?', this.test.end)
+                : colonPos) + 1);
+            if (preventASI) {
+                removeLineBreaks(code, inclusionStart, usedBranch.start);
+            }
+            code.remove(this.start, inclusionStart);
+            if (this.consequent.included) {
+                code.remove(colonPos, this.end);
+            }
+            this.test.removeAnnotations(code);
+            usedBranch.render(code, options, {
+                isCalleeOfRenderedParent,
+                preventASI: true,
+                renderedParentType: renderedParentType || this.parent.type,
+                renderedSurroundingElement: renderedSurroundingElement || this.parent.type
+            });
+        }
+    }
+    getUsedBranch() {
+        if (this.isBranchResolutionAnalysed) {
+            return this.usedBranch;
+        }
+        this.isBranchResolutionAnalysed = true;
+        const testValue = this.test.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this);
+        return typeof testValue === 'symbol'
+            ? null
+            : (this.usedBranch = testValue ? this.consequent : this.alternate);
+    }
+}
+
+class ContinueStatement extends NodeBase {
+    hasEffects(context) {
+        if (this.label) {
+            if (!context.ignore.labels.has(this.label.name))
+                return true;
+            context.includedLabels.add(this.label.name);
+        }
+        else {
+            if (!context.ignore.continues)
+                return true;
+            context.hasContinue = true;
+        }
+        context.brokenFlow = true;
+        return false;
+    }
+    include(context) {
+        this.included = true;
+        if (this.label) {
+            this.label.include();
+            context.includedLabels.add(this.label.name);
+        }
+        else {
+            context.hasContinue = true;
+        }
+        context.brokenFlow = true;
+    }
+}
+
+function hasLoopBodyEffects(context, body) {
+    const { brokenFlow, hasBreak, hasContinue, ignore } = context;
+    const { breaks, continues } = ignore;
+    ignore.breaks = true;
+    ignore.continues = true;
+    context.hasBreak = false;
+    context.hasContinue = false;
+    if (body.hasEffects(context))
+        return true;
+    ignore.breaks = breaks;
+    ignore.continues = continues;
+    context.hasBreak = hasBreak;
+    context.hasContinue = hasContinue;
+    context.brokenFlow = brokenFlow;
+    return false;
+}
+function includeLoopBody(context, body, includeChildrenRecursively) {
+    const { brokenFlow, hasBreak, hasContinue } = context;
+    context.hasBreak = false;
+    context.hasContinue = false;
+    body.include(context, includeChildrenRecursively, { asSingleStatement: true });
+    context.hasBreak = hasBreak;
+    context.hasContinue = hasContinue;
+    context.brokenFlow = brokenFlow;
+}
+
+class DoWhileStatement extends NodeBase {
+    hasEffects(context) {
+        if (this.test.hasEffects(context))
+            return true;
+        return hasLoopBodyEffects(context, this.body);
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        this.test.include(context, includeChildrenRecursively);
+        includeLoopBody(context, this.body, includeChildrenRecursively);
+    }
+}
+
+class EmptyStatement extends NodeBase {
+    hasEffects() {
+        return false;
+    }
+}
+
+class ExportAllDeclaration extends NodeBase {
+    hasEffects() {
+        return false;
+    }
+    initialise() {
+        this.scope.context.addExport(this);
+    }
+    render(code, _options, nodeRenderOptions) {
+        code.remove(nodeRenderOptions.start, nodeRenderOptions.end);
+    }
+    applyDeoptimizations() { }
+}
+ExportAllDeclaration.prototype.needsBoundaries = true;
+
+class FunctionDeclaration extends FunctionNode {
+    initialise() {
+        super.initialise();
+        if (this.id !== null) {
+            this.id.variable.isId = true;
+        }
+    }
+    parseNode(esTreeNode) {
+        if (esTreeNode.id !== null) {
+            this.id = new Identifier(esTreeNode.id, this, this.scope.parent);
+        }
+        super.parseNode(esTreeNode);
+    }
+}
+
+// The header ends at the first non-white-space after "default"
+function getDeclarationStart(code, start) {
+    return findNonWhiteSpace(code, findFirstOccurrenceOutsideComment(code, 'default', start) + 7);
+}
+function getFunctionIdInsertPosition(code, start) {
+    const declarationEnd = findFirstOccurrenceOutsideComment(code, 'function', start) + 'function'.length;
+    code = code.slice(declarationEnd, findFirstOccurrenceOutsideComment(code, '(', declarationEnd));
+    const generatorStarPos = findFirstOccurrenceOutsideComment(code, '*');
+    if (generatorStarPos === -1) {
+        return declarationEnd;
+    }
+    return declarationEnd + generatorStarPos + 1;
+}
+class ExportDefaultDeclaration extends NodeBase {
+    include(context, includeChildrenRecursively) {
+        super.include(context, includeChildrenRecursively);
+        if (includeChildrenRecursively) {
+            this.scope.context.includeVariableInModule(this.variable);
+        }
+    }
+    initialise() {
+        const declaration = this.declaration;
+        this.declarationName =
+            (declaration.id && declaration.id.name) || this.declaration.name;
+        this.variable = this.scope.addExportDefaultDeclaration(this.declarationName || this.scope.context.getModuleName(), this, this.scope.context);
+        this.scope.context.addExport(this);
+    }
+    removeAnnotations(code) {
+        this.declaration.removeAnnotations(code);
+    }
+    render(code, options, nodeRenderOptions) {
+        const { start, end } = nodeRenderOptions;
+        const declarationStart = getDeclarationStart(code.original, this.start);
+        if (this.declaration instanceof FunctionDeclaration) {
+            this.renderNamedDeclaration(code, declarationStart, this.declaration.id === null
+                ? getFunctionIdInsertPosition(code.original, declarationStart)
+                : null, options);
+        }
+        else if (this.declaration instanceof ClassDeclaration) {
+            this.renderNamedDeclaration(code, declarationStart, this.declaration.id === null
+                ? findFirstOccurrenceOutsideComment(code.original, 'class', start) + 'class'.length
+                : null, options);
+        }
+        else if (this.variable.getOriginalVariable() !== this.variable) {
+            // Remove altogether to prevent re-declaring the same variable
+            treeshakeNode(this, code, start, end);
+            return;
+        }
+        else if (this.variable.included) {
+            this.renderVariableDeclaration(code, declarationStart, options);
+        }
+        else {
+            code.remove(this.start, declarationStart);
+            this.declaration.render(code, options, {
+                renderedSurroundingElement: ExpressionStatement$1
+            });
+            if (code.original[this.end - 1] !== ';') {
+                code.appendLeft(this.end, ';');
+            }
+            return;
+        }
+        this.declaration.render(code, options);
+    }
+    applyDeoptimizations() { }
+    renderNamedDeclaration(code, declarationStart, idInsertPosition, options) {
+        const { exportNamesByVariable, format, snippets: { getPropertyAccess } } = options;
+        const name = this.variable.getName(getPropertyAccess);
+        // Remove `export default`
+        code.remove(this.start, declarationStart);
+        if (idInsertPosition !== null) {
+            code.appendLeft(idInsertPosition, ` ${name}`);
+        }
+        if (format === 'system' &&
+            this.declaration instanceof ClassDeclaration &&
+            exportNamesByVariable.has(this.variable)) {
+            code.appendLeft(this.end, ` ${getSystemExportStatement([this.variable], options)};`);
+        }
+    }
+    renderVariableDeclaration(code, declarationStart, { format, exportNamesByVariable, snippets: { cnst, getPropertyAccess } }) {
+        const hasTrailingSemicolon = code.original.charCodeAt(this.end - 1) === 59; /*";"*/
+        const systemExportNames = format === 'system' && exportNamesByVariable.get(this.variable);
+        if (systemExportNames) {
+            code.overwrite(this.start, declarationStart, `${cnst} ${this.variable.getName(getPropertyAccess)} = exports(${JSON.stringify(systemExportNames[0])}, `);
+            code.appendRight(hasTrailingSemicolon ? this.end - 1 : this.end, ')' + (hasTrailingSemicolon ? '' : ';'));
+        }
+        else {
+            code.overwrite(this.start, declarationStart, `${cnst} ${this.variable.getName(getPropertyAccess)} = `);
+            if (!hasTrailingSemicolon) {
+                code.appendLeft(this.end, ';');
+            }
+        }
+    }
+}
+ExportDefaultDeclaration.prototype.needsBoundaries = true;
+
+class ExportNamedDeclaration extends NodeBase {
+    bind() {
+        // Do not bind specifiers
+        this.declaration?.bind();
+    }
+    hasEffects(context) {
+        return !!this.declaration?.hasEffects(context);
+    }
+    initialise() {
+        this.scope.context.addExport(this);
+    }
+    removeAnnotations(code) {
+        this.declaration?.removeAnnotations(code);
+    }
+    render(code, options, nodeRenderOptions) {
+        const { start, end } = nodeRenderOptions;
+        if (this.declaration === null) {
+            code.remove(start, end);
+        }
+        else {
+            code.remove(this.start, this.declaration.start);
+            this.declaration.render(code, options, { end, start });
+        }
+    }
+    applyDeoptimizations() { }
+}
+ExportNamedDeclaration.prototype.needsBoundaries = true;
+
+class ExportSpecifier extends NodeBase {
+    applyDeoptimizations() { }
+}
+
+class ForInStatement extends NodeBase {
+    createScope(parentScope) {
+        this.scope = new BlockScope(parentScope);
+    }
+    hasEffects(context) {
+        const { body, deoptimized, left, right } = this;
+        if (!deoptimized)
+            this.applyDeoptimizations();
+        if (left.hasEffectsAsAssignmentTarget(context, false) || right.hasEffects(context))
+            return true;
+        return hasLoopBodyEffects(context, body);
+    }
+    include(context, includeChildrenRecursively) {
+        const { body, deoptimized, left, right } = this;
+        if (!deoptimized)
+            this.applyDeoptimizations();
+        this.included = true;
+        left.includeAsAssignmentTarget(context, includeChildrenRecursively || true, false);
+        right.include(context, includeChildrenRecursively);
+        includeLoopBody(context, body, includeChildrenRecursively);
+    }
+    initialise() {
+        this.left.setAssignedValue(UNKNOWN_EXPRESSION);
+    }
+    render(code, options) {
+        this.left.render(code, options, NO_SEMICOLON);
+        this.right.render(code, options, NO_SEMICOLON);
+        // handle no space between "in" and the right side
+        if (code.original.charCodeAt(this.right.start - 1) === 110 /* n */) {
+            code.prependLeft(this.right.start, ' ');
+        }
+        this.body.render(code, options);
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        this.left.deoptimizePath(EMPTY_PATH);
+        this.scope.context.requestTreeshakingPass();
+    }
+}
+
+class ForOfStatement extends NodeBase {
+    get await() {
+        return isFlagSet(this.flags, 131072 /* Flag.await */);
+    }
+    set await(value) {
+        this.flags = setFlag(this.flags, 131072 /* Flag.await */, value);
+    }
+    createScope(parentScope) {
+        this.scope = new BlockScope(parentScope);
+    }
+    hasEffects() {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        // Placeholder until proper Symbol.Iterator support
+        return true;
+    }
+    include(context, includeChildrenRecursively) {
+        const { body, deoptimized, left, right } = this;
+        if (!deoptimized)
+            this.applyDeoptimizations();
+        this.included = true;
+        left.includeAsAssignmentTarget(context, includeChildrenRecursively || true, false);
+        right.include(context, includeChildrenRecursively);
+        includeLoopBody(context, body, includeChildrenRecursively);
+    }
+    initialise() {
+        this.left.setAssignedValue(UNKNOWN_EXPRESSION);
+    }
+    render(code, options) {
+        this.left.render(code, options, NO_SEMICOLON);
+        this.right.render(code, options, NO_SEMICOLON);
+        // handle no space between "of" and the right side
+        if (code.original.charCodeAt(this.right.start - 1) === 102 /* f */) {
+            code.prependLeft(this.right.start, ' ');
+        }
+        this.body.render(code, options);
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        this.left.deoptimizePath(EMPTY_PATH);
+        this.right.deoptimizePath(UNKNOWN_PATH);
+        this.scope.context.requestTreeshakingPass();
+    }
+}
+
+class ForStatement extends NodeBase {
+    createScope(parentScope) {
+        this.scope = new BlockScope(parentScope);
+    }
+    hasEffects(context) {
+        if (this.init?.hasEffects(context) ||
+            this.test?.hasEffects(context) ||
+            this.update?.hasEffects(context)) {
+            return true;
+        }
+        return hasLoopBodyEffects(context, this.body);
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        this.init?.include(context, includeChildrenRecursively, { asSingleStatement: true });
+        this.test?.include(context, includeChildrenRecursively);
+        this.update?.include(context, includeChildrenRecursively);
+        includeLoopBody(context, this.body, includeChildrenRecursively);
+    }
+    render(code, options) {
+        this.init?.render(code, options, NO_SEMICOLON);
+        this.test?.render(code, options, NO_SEMICOLON);
+        this.update?.render(code, options, NO_SEMICOLON);
+        this.body.render(code, options);
+    }
+}
+
+class FunctionExpression extends FunctionNode {
+    createScope(parentScope) {
+        super.createScope((this.idScope = new ChildScope(parentScope, parentScope.context)));
+    }
+    parseNode(esTreeNode) {
+        if (esTreeNode.id !== null) {
+            this.id = new Identifier(esTreeNode.id, this, this.idScope);
+        }
+        super.parseNode(esTreeNode);
+    }
+    render(code, options, { renderedSurroundingElement } = BLANK) {
+        super.render(code, options);
+        if (renderedSurroundingElement === ExpressionStatement$1) {
+            code.appendRight(this.start, '(');
+            code.prependLeft(this.end, ')');
+        }
+    }
+}
+
+class TrackingScope extends BlockScope {
+    constructor() {
+        super(...arguments);
+        this.hoistedDeclarations = [];
+    }
+    addDeclaration(identifier, context, init, kind) {
+        this.hoistedDeclarations.push(identifier);
+        return super.addDeclaration(identifier, context, init, kind);
+    }
+}
+
+const unset = Symbol('unset');
+class IfStatement extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.testValue = unset;
+    }
+    deoptimizeCache() {
+        this.testValue = UnknownValue;
+    }
+    hasEffects(context) {
+        if (this.test.hasEffects(context)) {
+            return true;
+        }
+        const testValue = this.getTestValue();
+        if (typeof testValue === 'symbol') {
+            const { brokenFlow } = context;
+            if (this.consequent.hasEffects(context))
+                return true;
+            const consequentBrokenFlow = context.brokenFlow;
+            context.brokenFlow = brokenFlow;
+            if (this.alternate === null)
+                return false;
+            if (this.alternate.hasEffects(context))
+                return true;
+            context.brokenFlow = context.brokenFlow && consequentBrokenFlow;
+            return false;
+        }
+        return testValue ? this.consequent.hasEffects(context) : !!this.alternate?.hasEffects(context);
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        if (includeChildrenRecursively) {
+            this.includeRecursively(includeChildrenRecursively, context);
+        }
+        else {
+            const testValue = this.getTestValue();
+            if (typeof testValue === 'symbol') {
+                this.includeUnknownTest(context);
+            }
+            else {
+                this.includeKnownTest(context, testValue);
+            }
+        }
+    }
+    parseNode(esTreeNode) {
+        this.consequentScope = new TrackingScope(this.scope);
+        this.consequent = new (this.scope.context.getNodeConstructor(esTreeNode.consequent.type))(esTreeNode.consequent, this, this.consequentScope);
+        if (esTreeNode.alternate) {
+            this.alternateScope = new TrackingScope(this.scope);
+            this.alternate = new (this.scope.context.getNodeConstructor(esTreeNode.alternate.type))(esTreeNode.alternate, this, this.alternateScope);
+        }
+        super.parseNode(esTreeNode);
+    }
+    render(code, options) {
+        const { snippets: { getPropertyAccess } } = options;
+        // Note that unknown test values are always included
+        const testValue = this.getTestValue();
+        const hoistedDeclarations = [];
+        const includesIfElse = this.test.included;
+        const noTreeshake = !this.scope.context.options.treeshake;
+        if (includesIfElse) {
+            this.test.render(code, options);
+        }
+        else {
+            code.remove(this.start, this.consequent.start);
+        }
+        if (this.consequent.included && (noTreeshake || typeof testValue === 'symbol' || testValue)) {
+            this.consequent.render(code, options);
+        }
+        else {
+            code.overwrite(this.consequent.start, this.consequent.end, includesIfElse ? ';' : '');
+            hoistedDeclarations.push(...this.consequentScope.hoistedDeclarations);
+        }
+        if (this.alternate) {
+            if (this.alternate.included && (noTreeshake || typeof testValue === 'symbol' || !testValue)) {
+                if (includesIfElse) {
+                    if (code.original.charCodeAt(this.alternate.start - 1) === 101) {
+                        code.prependLeft(this.alternate.start, ' ');
+                    }
+                }
+                else {
+                    code.remove(this.consequent.end, this.alternate.start);
+                }
+                this.alternate.render(code, options);
+            }
+            else {
+                if (includesIfElse && this.shouldKeepAlternateBranch()) {
+                    code.overwrite(this.alternate.start, this.end, ';');
+                }
+                else {
+                    code.remove(this.consequent.end, this.end);
+                }
+                hoistedDeclarations.push(...this.alternateScope.hoistedDeclarations);
+            }
+        }
+        this.renderHoistedDeclarations(hoistedDeclarations, code, getPropertyAccess);
+    }
+    applyDeoptimizations() { }
+    getTestValue() {
+        if (this.testValue === unset) {
+            return (this.testValue = this.test.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this));
+        }
+        return this.testValue;
+    }
+    includeKnownTest(context, testValue) {
+        if (this.test.shouldBeIncluded(context)) {
+            this.test.include(context, false);
+        }
+        if (testValue && this.consequent.shouldBeIncluded(context)) {
+            this.consequent.include(context, false, { asSingleStatement: true });
+        }
+        if (!testValue && this.alternate?.shouldBeIncluded(context)) {
+            this.alternate.include(context, false, { asSingleStatement: true });
+        }
+    }
+    includeRecursively(includeChildrenRecursively, context) {
+        this.test.include(context, includeChildrenRecursively);
+        this.consequent.include(context, includeChildrenRecursively);
+        this.alternate?.include(context, includeChildrenRecursively);
+    }
+    includeUnknownTest(context) {
+        this.test.include(context, false);
+        const { brokenFlow } = context;
+        let consequentBrokenFlow = false;
+        if (this.consequent.shouldBeIncluded(context)) {
+            this.consequent.include(context, false, { asSingleStatement: true });
+            consequentBrokenFlow = context.brokenFlow;
+            context.brokenFlow = brokenFlow;
+        }
+        if (this.alternate?.shouldBeIncluded(context)) {
+            this.alternate.include(context, false, { asSingleStatement: true });
+            context.brokenFlow = context.brokenFlow && consequentBrokenFlow;
+        }
+    }
+    renderHoistedDeclarations(hoistedDeclarations, code, getPropertyAccess) {
+        const hoistedVariables = [
+            ...new Set(hoistedDeclarations.map(identifier => {
+                const variable = identifier.variable;
+                return variable.included ? variable.getName(getPropertyAccess) : '';
+            }))
+        ]
+            .filter(Boolean)
+            .join(', ');
+        if (hoistedVariables) {
+            const parentType = this.parent.type;
+            const needsBraces = parentType !== Program$1 && parentType !== BlockStatement$1;
+            code.prependRight(this.start, `${needsBraces ? '{ ' : ''}var ${hoistedVariables}; `);
+            if (needsBraces) {
+                code.appendLeft(this.end, ` }`);
+            }
+        }
+    }
+    shouldKeepAlternateBranch() {
+        let currentParent = this.parent;
+        do {
+            if (currentParent instanceof IfStatement && currentParent.alternate) {
+                return true;
+            }
+            if (currentParent instanceof BlockStatement) {
+                return false;
+            }
+            currentParent = currentParent.parent;
+        } while (currentParent);
+        return false;
+    }
+}
+
+class ImportAttribute extends NodeBase {
+}
+
+class ImportDeclaration extends NodeBase {
+    // Do not bind specifiers or attributes
+    bind() { }
+    hasEffects() {
+        return false;
+    }
+    initialise() {
+        this.scope.context.addImport(this);
+    }
+    render(code, _options, nodeRenderOptions) {
+        code.remove(nodeRenderOptions.start, nodeRenderOptions.end);
+    }
+    applyDeoptimizations() { }
+}
+ImportDeclaration.prototype.needsBoundaries = true;
+
+class ImportDefaultSpecifier extends NodeBase {
+    applyDeoptimizations() { }
+}
+
+const INTEROP_DEFAULT_VARIABLE = '_interopDefault';
+const INTEROP_DEFAULT_COMPAT_VARIABLE = '_interopDefaultCompat';
+const INTEROP_NAMESPACE_VARIABLE = '_interopNamespace';
+const INTEROP_NAMESPACE_COMPAT_VARIABLE = '_interopNamespaceCompat';
+const INTEROP_NAMESPACE_DEFAULT_VARIABLE = '_interopNamespaceDefault';
+const INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE = '_interopNamespaceDefaultOnly';
+const MERGE_NAMESPACES_VARIABLE = '_mergeNamespaces';
+const DOCUMENT_CURRENT_SCRIPT = '_documentCurrentScript';
+const defaultInteropHelpersByInteropType = {
+    auto: INTEROP_DEFAULT_VARIABLE,
+    compat: INTEROP_DEFAULT_COMPAT_VARIABLE,
+    default: null,
+    defaultOnly: null,
+    esModule: null
+};
+const isDefaultAProperty = (interopType, externalLiveBindings) => interopType === 'esModule' ||
+    (externalLiveBindings && (interopType === 'auto' || interopType === 'compat'));
+const namespaceInteropHelpersByInteropType = {
+    auto: INTEROP_NAMESPACE_VARIABLE,
+    compat: INTEROP_NAMESPACE_COMPAT_VARIABLE,
+    default: INTEROP_NAMESPACE_DEFAULT_VARIABLE,
+    defaultOnly: INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE,
+    esModule: null
+};
+const canDefaultBeTakenFromNamespace = (interopType, externalLiveBindings) => interopType !== 'esModule' && isDefaultAProperty(interopType, externalLiveBindings);
+const getHelpersBlock = (additionalHelpers, accessedGlobals, indent, snippets, liveBindings, freeze, symbols) => {
+    const usedHelpers = new Set(additionalHelpers);
+    for (const variable of HELPER_NAMES) {
+        if (accessedGlobals.has(variable)) {
+            usedHelpers.add(variable);
+        }
+    }
+    return HELPER_NAMES.map(variable => usedHelpers.has(variable)
+        ? HELPER_GENERATORS[variable](indent, snippets, liveBindings, freeze, symbols, usedHelpers)
+        : '').join('');
+};
+const HELPER_GENERATORS = {
+    [DOCUMENT_CURRENT_SCRIPT](_t, { _, n }) {
+        return `var${_}${DOCUMENT_CURRENT_SCRIPT}${_}=${_}typeof${_}document${_}!==${_}'undefined'${_}?${_}document.currentScript${_}:${_}null;${n}`;
+    },
+    [INTEROP_DEFAULT_COMPAT_VARIABLE](_t, snippets, liveBindings) {
+        const { _, getDirectReturnFunction, n } = snippets;
+        const [left, right] = getDirectReturnFunction(['e'], {
+            functionReturn: true,
+            lineBreakIndent: null,
+            name: INTEROP_DEFAULT_COMPAT_VARIABLE
+        });
+        return (`${left}${getIsCompatNamespace(snippets)}${_}?${_}` +
+            `${liveBindings ? getDefaultLiveBinding(snippets) : getDefaultStatic(snippets)}${right}${n}${n}`);
+    },
+    [INTEROP_DEFAULT_VARIABLE](_t, snippets, liveBindings) {
+        const { _, getDirectReturnFunction, n } = snippets;
+        const [left, right] = getDirectReturnFunction(['e'], {
+            functionReturn: true,
+            lineBreakIndent: null,
+            name: INTEROP_DEFAULT_VARIABLE
+        });
+        return (`${left}e${_}&&${_}e.__esModule${_}?${_}` +
+            `${liveBindings ? getDefaultLiveBinding(snippets) : getDefaultStatic(snippets)}${right}${n}${n}`);
+    },
+    [INTEROP_NAMESPACE_COMPAT_VARIABLE](t, snippets, liveBindings, freeze, symbols, usedHelpers) {
+        const { _, getDirectReturnFunction, n } = snippets;
+        if (usedHelpers.has(INTEROP_NAMESPACE_DEFAULT_VARIABLE)) {
+            const [left, right] = getDirectReturnFunction(['e'], {
+                functionReturn: true,
+                lineBreakIndent: null,
+                name: INTEROP_NAMESPACE_COMPAT_VARIABLE
+            });
+            return `${left}${getIsCompatNamespace(snippets)}${_}?${_}e${_}:${_}${INTEROP_NAMESPACE_DEFAULT_VARIABLE}(e)${right}${n}${n}`;
+        }
+        return (`function ${INTEROP_NAMESPACE_COMPAT_VARIABLE}(e)${_}{${n}` +
+            `${t}if${_}(${getIsCompatNamespace(snippets)})${_}return e;${n}` +
+            createNamespaceObject(t, t, snippets, liveBindings, freeze, symbols) +
+            `}${n}${n}`);
+    },
+    [INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE](_t, snippets, _liveBindings, freeze, symbols) {
+        const { getDirectReturnFunction, getObject, n, _ } = snippets;
+        const [left, right] = getDirectReturnFunction(['e'], {
+            functionReturn: true,
+            lineBreakIndent: null,
+            name: INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE
+        });
+        return `${left}${getFrozen(freeze, getWithToStringTag(symbols, getObject([
+            [null, `__proto__:${_}null`],
+            ['default', 'e']
+        ], { lineBreakIndent: null }), snippets))}${right}${n}${n}`;
+    },
+    [INTEROP_NAMESPACE_DEFAULT_VARIABLE](t, snippets, liveBindings, freeze, symbols) {
+        const { _, n } = snippets;
+        return (`function ${INTEROP_NAMESPACE_DEFAULT_VARIABLE}(e)${_}{${n}` +
+            createNamespaceObject(t, t, snippets, liveBindings, freeze, symbols) +
+            `}${n}${n}`);
+    },
+    [INTEROP_NAMESPACE_VARIABLE](t, snippets, liveBindings, freeze, symbols, usedHelpers) {
+        const { _, getDirectReturnFunction, n } = snippets;
+        if (usedHelpers.has(INTEROP_NAMESPACE_DEFAULT_VARIABLE)) {
+            const [left, right] = getDirectReturnFunction(['e'], {
+                functionReturn: true,
+                lineBreakIndent: null,
+                name: INTEROP_NAMESPACE_VARIABLE
+            });
+            return `${left}e${_}&&${_}e.__esModule${_}?${_}e${_}:${_}${INTEROP_NAMESPACE_DEFAULT_VARIABLE}(e)${right}${n}${n}`;
+        }
+        return (`function ${INTEROP_NAMESPACE_VARIABLE}(e)${_}{${n}` +
+            `${t}if${_}(e${_}&&${_}e.__esModule)${_}return e;${n}` +
+            createNamespaceObject(t, t, snippets, liveBindings, freeze, symbols) +
+            `}${n}${n}`);
+    },
+    [MERGE_NAMESPACES_VARIABLE](t, snippets, liveBindings, freeze, symbols) {
+        const { _, cnst, n } = snippets;
+        const useForEach = cnst === 'var' && liveBindings;
+        return (`function ${MERGE_NAMESPACES_VARIABLE}(n, m)${_}{${n}` +
+            `${t}${loopOverNamespaces(`{${n}` +
+                `${t}${t}${t}if${_}(k${_}!==${_}'default'${_}&&${_}!(k in n))${_}{${n}` +
+                (liveBindings
+                    ? useForEach
+                        ? copyOwnPropertyLiveBinding
+                        : copyPropertyLiveBinding
+                    : copyPropertyStatic)(t, t + t + t + t, snippets) +
+                `${t}${t}${t}}${n}` +
+                `${t}${t}}`, useForEach, t, snippets)}${n}` +
+            `${t}return ${getFrozen(freeze, getWithToStringTag(symbols, 'n', snippets))};${n}` +
+            `}${n}${n}`);
+    }
+};
+const getDefaultLiveBinding = ({ _, getObject }) => `e${_}:${_}${getObject([['default', 'e']], { lineBreakIndent: null })}`;
+const getDefaultStatic = ({ _, getPropertyAccess }) => `e${getPropertyAccess('default')}${_}:${_}e`;
+const getIsCompatNamespace = ({ _ }) => `e${_}&&${_}typeof e${_}===${_}'object'${_}&&${_}'default'${_}in e`;
+const createNamespaceObject = (t, index, snippets, liveBindings, freeze, symbols) => {
+    const { _, cnst, getObject, getPropertyAccess, n, s } = snippets;
+    const copyProperty = `{${n}` +
+        (liveBindings ? copyNonDefaultOwnPropertyLiveBinding : copyPropertyStatic)(t, index + t + t, snippets) +
+        `${index}${t}}`;
+    return (`${index}${cnst} n${_}=${_}Object.create(null${symbols ? `,${_}{${_}[Symbol.toStringTag]:${_}${getToStringTagValue(getObject)}${_}}` : ''});${n}` +
+        `${index}if${_}(e)${_}{${n}` +
+        `${index}${t}${loopOverKeys(copyProperty, !liveBindings, snippets)}${n}` +
+        `${index}}${n}` +
+        `${index}n${getPropertyAccess('default')}${_}=${_}e;${n}` +
+        `${index}return ${getFrozen(freeze, 'n')}${s}${n}`);
+};
+const loopOverKeys = (body, allowVariableLoopVariable, { _, cnst, getFunctionIntro, s }) => cnst !== 'var' || allowVariableLoopVariable
+    ? `for${_}(${cnst} k in e)${_}${body}`
+    : `Object.keys(e).forEach(${getFunctionIntro(['k'], {
+        isAsync: false,
+        name: null
+    })}${body})${s}`;
+const loopOverNamespaces = (body, useForEach, t, { _, cnst, getDirectReturnFunction, getFunctionIntro, n }) => {
+    if (useForEach) {
+        const [left, right] = getDirectReturnFunction(['e'], {
+            functionReturn: false,
+            lineBreakIndent: { base: t, t },
+            name: null
+        });
+        return (`m.forEach(${left}` +
+            `e${_}&&${_}typeof e${_}!==${_}'string'${_}&&${_}!Array.isArray(e)${_}&&${_}Object.keys(e).forEach(${getFunctionIntro(['k'], {
+                isAsync: false,
+                name: null
+            })}${body})${right});`);
+    }
+    return (`for${_}(var i${_}=${_}0;${_}i${_}<${_}m.length;${_}i++)${_}{${n}` +
+        `${t}${t}${cnst} e${_}=${_}m[i];${n}` +
+        `${t}${t}if${_}(typeof e${_}!==${_}'string'${_}&&${_}!Array.isArray(e))${_}{${_}for${_}(${cnst} k in e)${_}${body}${_}}${n}${t}}`);
+};
+const copyNonDefaultOwnPropertyLiveBinding = (t, index, snippets) => {
+    const { _, n } = snippets;
+    return (`${index}if${_}(k${_}!==${_}'default')${_}{${n}` +
+        copyOwnPropertyLiveBinding(t, index + t, snippets) +
+        `${index}}${n}`);
+};
+const copyOwnPropertyLiveBinding = (t, index, { _, cnst, getDirectReturnFunction, n }) => {
+    const [left, right] = getDirectReturnFunction([], {
+        functionReturn: true,
+        lineBreakIndent: null,
+        name: null
+    });
+    return (`${index}${cnst} d${_}=${_}Object.getOwnPropertyDescriptor(e,${_}k);${n}` +
+        `${index}Object.defineProperty(n,${_}k,${_}d.get${_}?${_}d${_}:${_}{${n}` +
+        `${index}${t}enumerable:${_}true,${n}` +
+        `${index}${t}get:${_}${left}e[k]${right}${n}` +
+        `${index}});${n}`);
+};
+const copyPropertyLiveBinding = (t, index, { _, cnst, getDirectReturnFunction, n }) => {
+    const [left, right] = getDirectReturnFunction([], {
+        functionReturn: true,
+        lineBreakIndent: null,
+        name: null
+    });
+    return (`${index}${cnst} d${_}=${_}Object.getOwnPropertyDescriptor(e,${_}k);${n}` +
+        `${index}if${_}(d)${_}{${n}` +
+        `${index}${t}Object.defineProperty(n,${_}k,${_}d.get${_}?${_}d${_}:${_}{${n}` +
+        `${index}${t}${t}enumerable:${_}true,${n}` +
+        `${index}${t}${t}get:${_}${left}e[k]${right}${n}` +
+        `${index}${t}});${n}` +
+        `${index}}${n}`);
+};
+const copyPropertyStatic = (_t, index, { _, n }) => `${index}n[k]${_}=${_}e[k];${n}`;
+const getFrozen = (freeze, fragment) => freeze ? `Object.freeze(${fragment})` : fragment;
+const getWithToStringTag = (symbols, fragment, { _, getObject }) => symbols
+    ? `Object.defineProperty(${fragment},${_}Symbol.toStringTag,${_}${getToStringTagValue(getObject)})`
+    : fragment;
+const HELPER_NAMES = Object.keys(HELPER_GENERATORS);
+function getToStringTagValue(getObject) {
+    return getObject([['value', "'Module'"]], {
+        lineBreakIndent: null
+    });
+}
+
+function isReassignedExportsMember(variable, exportNamesByVariable) {
+    return (variable.renderBaseName !== null && exportNamesByVariable.has(variable) && variable.isReassigned);
+}
+
+class VariableDeclarator extends NodeBase {
+    declareDeclarator(kind) {
+        this.id.declare(kind, this.init || UNDEFINED_EXPRESSION);
+    }
+    deoptimizePath(path) {
+        this.id.deoptimizePath(path);
+    }
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        const initEffect = this.init?.hasEffects(context);
+        this.id.markDeclarationReached();
+        return initEffect || this.id.hasEffects(context);
+    }
+    include(context, includeChildrenRecursively) {
+        const { deoptimized, id, init } = this;
+        if (!deoptimized)
+            this.applyDeoptimizations();
+        this.included = true;
+        init?.include(context, includeChildrenRecursively);
+        id.markDeclarationReached();
+        if (includeChildrenRecursively || id.shouldBeIncluded(context)) {
+            id.include(context, includeChildrenRecursively);
+        }
+    }
+    removeAnnotations(code) {
+        this.init?.removeAnnotations(code);
+    }
+    render(code, options) {
+        const { exportNamesByVariable, snippets: { _, getPropertyAccess } } = options;
+        const { end, id, init, start } = this;
+        const renderId = id.included;
+        if (renderId) {
+            id.render(code, options);
+        }
+        else {
+            const operatorPos = findFirstOccurrenceOutsideComment(code.original, '=', id.end);
+            code.remove(start, findNonWhiteSpace(code.original, operatorPos + 1));
+        }
+        if (init) {
+            if (id instanceof Identifier && init instanceof ClassExpression && !init.id) {
+                const renderedVariable = id.variable.getName(getPropertyAccess);
+                if (renderedVariable !== id.name) {
+                    code.appendLeft(init.start + 5, ` ${id.name}`);
+                }
+            }
+            init.render(code, options, renderId ? BLANK : { renderedSurroundingElement: ExpressionStatement$1 });
+        }
+        else if (id instanceof Identifier &&
+            isReassignedExportsMember(id.variable, exportNamesByVariable)) {
+            code.appendLeft(end, `${_}=${_}void 0`);
+        }
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        const { id, init } = this;
+        if (init && id instanceof Identifier && init instanceof ClassExpression && !init.id) {
+            const { name, variable } = id;
+            for (const accessedVariable of init.scope.accessedOutsideVariables.values()) {
+                if (accessedVariable !== variable) {
+                    accessedVariable.forbidName(name);
+                }
+            }
+        }
+    }
+}
+
+class ImportExpression extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.inlineNamespace = null;
+        this.attributes = null;
+        this.mechanism = null;
+        this.namespaceExportName = undefined;
+        this.resolution = null;
+        this.resolutionString = null;
+    }
+    // Do not bind attributes
+    bind() {
+        this.source.bind();
+    }
+    /**
+     * Get imported variables for deterministic usage, valid cases are:
+     *
+     * - `const { foo } = await import('bar')`.
+     * - `(await import('bar')).foo`
+     * - `import('bar').then(({ foo }) => {})`
+     *
+     * Returns empty array if it's side-effect only import.
+     * Returns undefined if it's not fully deterministic.
+     */
+    getDeterministicImportedNames() {
+        const parent1 = this.parent;
+        // Side-effect only: import('bar')
+        if (parent1 instanceof ExpressionStatement) {
+            return EMPTY_ARRAY;
+        }
+        if (parent1 instanceof AwaitExpression) {
+            const parent2 = parent1.parent;
+            // Side-effect only: await import('bar')
+            if (parent2 instanceof ExpressionStatement) {
+                return EMPTY_ARRAY;
+            }
+            // Case 1: const { foo } = await import('bar')
+            if (parent2 instanceof VariableDeclarator) {
+                const declaration = parent2.id;
+                return declaration instanceof ObjectPattern
+                    ? getDeterministicObjectDestructure(declaration)
+                    : undefined;
+            }
+            // Case 2: (await import('bar')).foo
+            if (parent2 instanceof MemberExpression) {
+                const id = parent2.property;
+                if (!parent2.computed && id instanceof Identifier) {
+                    return [id.name];
+                }
+            }
+            return;
+        }
+        // Case 3: import('bar').then(({ foo }) => {})
+        if (parent1 instanceof MemberExpression) {
+            const callExpression = parent1.parent;
+            const property = parent1.property;
+            if (!(callExpression instanceof CallExpression) || !(property instanceof Identifier)) {
+                return;
+            }
+            const memberName = property.name;
+            // side-effect only, when only chaining .catch or .finally
+            if (callExpression.parent instanceof ExpressionStatement &&
+                ['catch', 'finally'].includes(memberName)) {
+                return EMPTY_ARRAY;
+            }
+            if (memberName !== 'then')
+                return;
+            // Side-effect only: import('bar').then()
+            if (callExpression.arguments.length === 0) {
+                return EMPTY_ARRAY;
+            }
+            const argument = callExpression.arguments[0];
+            if (callExpression.arguments.length !== 1 ||
+                !(argument instanceof ArrowFunctionExpression || argument instanceof FunctionExpression)) {
+                return;
+            }
+            // Side-effect only: import('bar').then(() => {})
+            if (argument.params.length === 0) {
+                return EMPTY_ARRAY;
+            }
+            const declaration = argument.params[0];
+            if (argument.params.length === 1 && declaration instanceof ObjectPattern) {
+                return getDeterministicObjectDestructure(declaration);
+            }
+            return;
+        }
+    }
+    hasEffects() {
+        return true;
+    }
+    include(context, includeChildrenRecursively) {
+        if (!this.included) {
+            this.included = true;
+            this.scope.context.includeDynamicImport(this);
+            this.scope.addAccessedDynamicImport(this);
+        }
+        this.source.include(context, includeChildrenRecursively);
+    }
+    initialise() {
+        this.scope.context.addDynamicImport(this);
+    }
+    parseNode(esTreeNode) {
+        // Keep the source AST to be used by renderDynamicImport
+        super.parseNode(esTreeNode, ['source']);
+    }
+    render(code, options) {
+        const { snippets: { _, getDirectReturnFunction, getObject, getPropertyAccess } } = options;
+        if (this.inlineNamespace) {
+            const [left, right] = getDirectReturnFunction([], {
+                functionReturn: true,
+                lineBreakIndent: null,
+                name: null
+            });
+            code.overwrite(this.start, this.end, `Promise.resolve().then(${left}${this.inlineNamespace.getName(getPropertyAccess)}${right})`);
+            return;
+        }
+        if (this.mechanism) {
+            code.overwrite(this.start, findFirstOccurrenceOutsideComment(code.original, '(', this.start + 6) + 1, this.mechanism.left);
+            code.overwrite(this.end - 1, this.end, this.mechanism.right);
+        }
+        if (this.resolutionString) {
+            code.overwrite(this.source.start, this.source.end, this.resolutionString);
+            if (this.namespaceExportName) {
+                const [left, right] = getDirectReturnFunction(['n'], {
+                    functionReturn: true,
+                    lineBreakIndent: null,
+                    name: null
+                });
+                code.prependLeft(this.end, `.then(${left}n.${this.namespaceExportName}${right})`);
+            }
+        }
+        else {
+            this.source.render(code, options);
+        }
+        if (this.attributes !== true) {
+            if (this.options) {
+                code.overwrite(this.source.end, this.end - 1, '', { contentOnly: true });
+            }
+            if (this.attributes) {
+                code.appendLeft(this.end - 1, `,${_}${getObject([['assert', this.attributes]], {
+                    lineBreakIndent: null
+                })}`);
+            }
+        }
+    }
+    setExternalResolution(exportMode, resolution, options, snippets, pluginDriver, accessedGlobalsByScope, resolutionString, namespaceExportName, attributes) {
+        const { format } = options;
+        this.inlineNamespace = null;
+        this.resolution = resolution;
+        this.resolutionString = resolutionString;
+        this.namespaceExportName = namespaceExportName;
+        this.attributes = attributes;
+        const accessedGlobals = [...(accessedImportGlobals[format] || [])];
+        let helper;
+        ({ helper, mechanism: this.mechanism } = this.getDynamicImportMechanismAndHelper(resolution, exportMode, options, snippets, pluginDriver));
+        if (helper) {
+            accessedGlobals.push(helper);
+        }
+        if (accessedGlobals.length > 0) {
+            this.scope.addAccessedGlobals(accessedGlobals, accessedGlobalsByScope);
+        }
+    }
+    setInternalResolution(inlineNamespace) {
+        this.inlineNamespace = inlineNamespace;
+    }
+    applyDeoptimizations() { }
+    getDynamicImportMechanismAndHelper(resolution, exportMode, { compact, dynamicImportInCjs, format, generatedCode: { arrowFunctions }, interop }, { _, getDirectReturnFunction, getDirectReturnIifeLeft }, pluginDriver) {
+        const mechanism = pluginDriver.hookFirstSync('renderDynamicImport', [
+            {
+                customResolution: typeof this.resolution === 'string' ? this.resolution : null,
+                format,
+                moduleId: this.scope.context.module.id,
+                targetModuleId: this.resolution && typeof this.resolution !== 'string' ? this.resolution.id : null
+            }
+        ]);
+        if (mechanism) {
+            return { helper: null, mechanism };
+        }
+        const hasDynamicTarget = !this.resolution || typeof this.resolution === 'string';
+        switch (format) {
+            case 'cjs': {
+                if (dynamicImportInCjs &&
+                    (!resolution || typeof resolution === 'string' || resolution instanceof ExternalModule)) {
+                    return { helper: null, mechanism: null };
+                }
+                const helper = getInteropHelper(resolution, exportMode, interop);
+                let left = `require(`;
+                let right = `)`;
+                if (helper) {
+                    left = `/*#__PURE__*/${helper}(${left}`;
+                    right += ')';
+                }
+                const [functionLeft, functionRight] = getDirectReturnFunction([], {
+                    functionReturn: true,
+                    lineBreakIndent: null,
+                    name: null
+                });
+                left = `Promise.resolve().then(${functionLeft}${left}`;
+                right += `${functionRight})`;
+                if (!arrowFunctions && hasDynamicTarget) {
+                    left = getDirectReturnIifeLeft(['t'], `${left}t${right}`, {
+                        needsArrowReturnParens: false,
+                        needsWrappedFunction: true
+                    });
+                    right = ')';
+                }
+                return {
+                    helper,
+                    mechanism: { left, right }
+                };
+            }
+            case 'amd': {
+                const resolve = compact ? 'c' : 'resolve';
+                const reject = compact ? 'e' : 'reject';
+                const helper = getInteropHelper(resolution, exportMode, interop);
+                const [resolveLeft, resolveRight] = getDirectReturnFunction(['m'], {
+                    functionReturn: false,
+                    lineBreakIndent: null,
+                    name: null
+                });
+                const resolveNamespace = helper
+                    ? `${resolveLeft}${resolve}(/*#__PURE__*/${helper}(m))${resolveRight}`
+                    : resolve;
+                const [handlerLeft, handlerRight] = getDirectReturnFunction([resolve, reject], {
+                    functionReturn: false,
+                    lineBreakIndent: null,
+                    name: null
+                });
+                let left = `new Promise(${handlerLeft}require([`;
+                let right = `],${_}${resolveNamespace},${_}${reject})${handlerRight})`;
+                if (!arrowFunctions && hasDynamicTarget) {
+                    left = getDirectReturnIifeLeft(['t'], `${left}t${right}`, {
+                        needsArrowReturnParens: false,
+                        needsWrappedFunction: true
+                    });
+                    right = ')';
+                }
+                return {
+                    helper,
+                    mechanism: { left, right }
+                };
+            }
+            case 'system': {
+                return {
+                    helper: null,
+                    mechanism: {
+                        left: 'module.import(',
+                        right: ')'
+                    }
+                };
+            }
+        }
+        return { helper: null, mechanism: null };
+    }
+}
+function getInteropHelper(resolution, exportMode, interop) {
+    return exportMode === 'external'
+        ? namespaceInteropHelpersByInteropType[interop(resolution instanceof ExternalModule ? resolution.id : null)]
+        : exportMode === 'default'
+            ? INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE
+            : null;
+}
+const accessedImportGlobals = {
+    amd: ['require'],
+    cjs: ['require'],
+    system: ['module']
+};
+function getDeterministicObjectDestructure(objectPattern) {
+    const variables = [];
+    for (const property of objectPattern.properties) {
+        if (property.type === 'RestElement' || property.computed || property.key.type !== 'Identifier')
+            return;
+        variables.push(property.key.name);
+    }
+    return variables;
+}
+
+class ImportNamespaceSpecifier extends NodeBase {
+    applyDeoptimizations() { }
+}
+
+class ImportSpecifier extends NodeBase {
+    applyDeoptimizations() { }
+}
+
+class LabeledStatement extends NodeBase {
+    hasEffects(context) {
+        const { brokenFlow, includedLabels } = context;
+        context.ignore.labels.add(this.label.name);
+        context.includedLabels = new Set();
+        let bodyHasEffects = false;
+        if (this.body.hasEffects(context)) {
+            bodyHasEffects = true;
+        }
+        else {
+            context.ignore.labels.delete(this.label.name);
+            if (context.includedLabels.has(this.label.name)) {
+                context.includedLabels.delete(this.label.name);
+                context.brokenFlow = brokenFlow;
+            }
+        }
+        context.includedLabels = new Set([...includedLabels, ...context.includedLabels]);
+        return bodyHasEffects;
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        const { brokenFlow, includedLabels } = context;
+        context.includedLabels = new Set();
+        this.body.include(context, includeChildrenRecursively);
+        if (includeChildrenRecursively || context.includedLabels.has(this.label.name)) {
+            this.label.include();
+            context.includedLabels.delete(this.label.name);
+            context.brokenFlow = brokenFlow;
+        }
+        context.includedLabels = new Set([...includedLabels, ...context.includedLabels]);
+    }
+    render(code, options) {
+        if (this.label.included) {
+            this.label.render(code, options);
+        }
+        else {
+            code.remove(this.start, findNonWhiteSpace(code.original, findFirstOccurrenceOutsideComment(code.original, ':', this.label.end) + 1));
+        }
+        this.body.render(code, options);
+    }
+}
+
+class LogicalExpression extends NodeBase {
+    constructor() {
+        super(...arguments);
+        // We collect deoptimization information if usedBranch !== null
+        this.expressionsToBeDeoptimized = [];
+        this.usedBranch = null;
+    }
+    //private isBranchResolutionAnalysed = false;
+    get isBranchResolutionAnalysed() {
+        return isFlagSet(this.flags, 65536 /* Flag.isBranchResolutionAnalysed */);
+    }
+    set isBranchResolutionAnalysed(value) {
+        this.flags = setFlag(this.flags, 65536 /* Flag.isBranchResolutionAnalysed */, value);
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.left.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+        this.right.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizeCache() {
+        if (this.usedBranch) {
+            const unusedBranch = this.usedBranch === this.left ? this.right : this.left;
+            this.usedBranch = null;
+            unusedBranch.deoptimizePath(UNKNOWN_PATH);
+            const { scope: { context }, expressionsToBeDeoptimized } = this;
+            this.expressionsToBeDeoptimized = EMPTY_ARRAY;
+            for (const expression of expressionsToBeDeoptimized) {
+                expression.deoptimizeCache();
+            }
+            // Request another pass because we need to ensure "include" runs again if
+            // it is rendered
+            context.requestTreeshakingPass();
+        }
+    }
+    deoptimizePath(path) {
+        const usedBranch = this.getUsedBranch();
+        if (usedBranch) {
+            usedBranch.deoptimizePath(path);
+        }
+        else {
+            this.left.deoptimizePath(path);
+            this.right.deoptimizePath(path);
+        }
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        const usedBranch = this.getUsedBranch();
+        if (!usedBranch)
+            return UnknownValue;
+        this.expressionsToBeDeoptimized.push(origin);
+        return usedBranch.getLiteralValueAtPath(path, recursionTracker, origin);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        const usedBranch = this.getUsedBranch();
+        if (!usedBranch)
+            return [
+                new MultiExpression([
+                    this.left.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)[0],
+                    this.right.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)[0]
+                ]),
+                false
+            ];
+        this.expressionsToBeDeoptimized.push(origin);
+        return usedBranch.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+    }
+    hasEffects(context) {
+        if (this.left.hasEffects(context)) {
+            return true;
+        }
+        if (this.getUsedBranch() !== this.left) {
+            return this.right.hasEffects(context);
+        }
+        return false;
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        const usedBranch = this.getUsedBranch();
+        if (!usedBranch) {
+            return (this.left.hasEffectsOnInteractionAtPath(path, interaction, context) ||
+                this.right.hasEffectsOnInteractionAtPath(path, interaction, context));
+        }
+        return usedBranch.hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        const usedBranch = this.getUsedBranch();
+        if (includeChildrenRecursively ||
+            (usedBranch === this.right && this.left.shouldBeIncluded(context)) ||
+            !usedBranch) {
+            this.left.include(context, includeChildrenRecursively);
+            this.right.include(context, includeChildrenRecursively);
+        }
+        else {
+            usedBranch.include(context, includeChildrenRecursively);
+        }
+    }
+    removeAnnotations(code) {
+        this.left.removeAnnotations(code);
+    }
+    render(code, options, { isCalleeOfRenderedParent, preventASI, renderedParentType, renderedSurroundingElement } = BLANK) {
+        if (!this.left.included || !this.right.included) {
+            const operatorPos = findFirstOccurrenceOutsideComment(code.original, this.operator, this.left.end);
+            if (this.right.included) {
+                const removePos = findNonWhiteSpace(code.original, operatorPos + 2);
+                code.remove(this.start, removePos);
+                if (preventASI) {
+                    removeLineBreaks(code, removePos, this.right.start);
+                }
+                this.left.removeAnnotations(code);
+            }
+            else {
+                code.remove(operatorPos, this.end);
+            }
+            this.getUsedBranch().render(code, options, {
+                isCalleeOfRenderedParent,
+                preventASI,
+                renderedParentType: renderedParentType || this.parent.type,
+                renderedSurroundingElement: renderedSurroundingElement || this.parent.type
+            });
+        }
+        else {
+            this.left.render(code, options, {
+                preventASI,
+                renderedSurroundingElement
+            });
+            this.right.render(code, options);
+        }
+    }
+    getUsedBranch() {
+        if (!this.isBranchResolutionAnalysed) {
+            this.isBranchResolutionAnalysed = true;
+            const leftValue = this.left.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this);
+            if (typeof leftValue === 'symbol') {
+                return null;
+            }
+            else {
+                this.usedBranch =
+                    (this.operator === '||' && leftValue) ||
+                        (this.operator === '&&' && !leftValue) ||
+                        (this.operator === '??' && leftValue != null)
+                        ? this.left
+                        : this.right;
+            }
+        }
+        return this.usedBranch;
+    }
+}
+
+const FILE_PREFIX = 'ROLLUP_FILE_URL_';
+const IMPORT = 'import';
+class MetaProperty extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.metaProperty = null;
+        this.preliminaryChunkId = null;
+        this.referenceId = null;
+    }
+    getReferencedFileName(outputPluginDriver) {
+        const { meta: { name }, metaProperty } = this;
+        if (name === IMPORT && metaProperty?.startsWith(FILE_PREFIX)) {
+            return outputPluginDriver.getFileName(metaProperty.slice(FILE_PREFIX.length));
+        }
+        return null;
+    }
+    hasEffects() {
+        return false;
+    }
+    hasEffectsOnInteractionAtPath(path, { type }) {
+        return path.length > 1 || type !== INTERACTION_ACCESSED;
+    }
+    include() {
+        if (!this.included) {
+            this.included = true;
+            if (this.meta.name === IMPORT) {
+                this.scope.context.addImportMeta(this);
+                const parent = this.parent;
+                const metaProperty = (this.metaProperty =
+                    parent instanceof MemberExpression && typeof parent.propertyKey === 'string'
+                        ? parent.propertyKey
+                        : null);
+                if (metaProperty?.startsWith(FILE_PREFIX)) {
+                    this.referenceId = metaProperty.slice(FILE_PREFIX.length);
+                }
+            }
+        }
+    }
+    render(code, renderOptions) {
+        const { format, pluginDriver, snippets } = renderOptions;
+        const { scope: { context: { module } }, meta: { name }, metaProperty, parent, preliminaryChunkId, referenceId, start, end } = this;
+        const { id: moduleId } = module;
+        if (name !== IMPORT)
+            return;
+        const chunkId = preliminaryChunkId;
+        if (referenceId) {
+            const fileName = pluginDriver.getFileName(referenceId);
+            const relativePath = parseAst_js.normalize(node_path.relative(node_path.dirname(chunkId), fileName));
+            const replacement = pluginDriver.hookFirstSync('resolveFileUrl', [
+                { chunkId, fileName, format, moduleId, referenceId, relativePath }
+            ]) || relativeUrlMechanisms[format](relativePath);
+            code.overwrite(parent.start, parent.end, replacement, { contentOnly: true });
+            return;
+        }
+        let replacement = pluginDriver.hookFirstSync('resolveImportMeta', [
+            metaProperty,
+            { chunkId, format, moduleId }
+        ]);
+        if (!replacement) {
+            replacement = importMetaMechanisms[format]?.(metaProperty, { chunkId, snippets });
+            renderOptions.accessedDocumentCurrentScript ||=
+                formatsMaybeAccessDocumentCurrentScript.includes(format) && replacement !== 'undefined';
+        }
+        if (typeof replacement === 'string') {
+            if (parent instanceof MemberExpression) {
+                code.overwrite(parent.start, parent.end, replacement, { contentOnly: true });
+            }
+            else {
+                code.overwrite(start, end, replacement, { contentOnly: true });
+            }
+        }
+    }
+    setResolution(format, accessedGlobalsByScope, preliminaryChunkId) {
+        this.preliminaryChunkId = preliminaryChunkId;
+        const accessedGlobals = (this.metaProperty?.startsWith(FILE_PREFIX) ? accessedFileUrlGlobals : accessedMetaUrlGlobals)[format];
+        if (accessedGlobals.length > 0) {
+            this.scope.addAccessedGlobals(accessedGlobals, accessedGlobalsByScope);
+        }
+    }
+}
+const formatsMaybeAccessDocumentCurrentScript = ['cjs', 'iife', 'umd'];
+const accessedMetaUrlGlobals = {
+    amd: ['document', 'module', 'URL'],
+    cjs: ['document', 'require', 'URL', DOCUMENT_CURRENT_SCRIPT],
+    es: [],
+    iife: ['document', 'URL', DOCUMENT_CURRENT_SCRIPT],
+    system: ['module'],
+    umd: ['document', 'require', 'URL', DOCUMENT_CURRENT_SCRIPT]
+};
+const accessedFileUrlGlobals = {
+    amd: ['document', 'require', 'URL'],
+    cjs: ['document', 'require', 'URL'],
+    es: [],
+    iife: ['document', 'URL'],
+    system: ['module', 'URL'],
+    umd: ['document', 'require', 'URL']
+};
+const getResolveUrl = (path, URL = 'URL') => `new ${URL}(${path}).href`;
+const getRelativeUrlFromDocument = (relativePath, umd = false) => getResolveUrl(`'${escapeId(relativePath)}', ${umd ? `typeof document === 'undefined' ? location.href : ` : ''}document.currentScript && document.currentScript.src || document.baseURI`);
+const getGenericImportMetaMechanism = (getUrl) => (property, { chunkId }) => {
+    const urlMechanism = getUrl(chunkId);
+    return property === null
+        ? `({ url: ${urlMechanism} })`
+        : property === 'url'
+            ? urlMechanism
+            : 'undefined';
+};
+const getFileUrlFromFullPath = (path) => `require('u' + 'rl').pathToFileURL(${path}).href`;
+const getFileUrlFromRelativePath = (path) => getFileUrlFromFullPath(`__dirname + '/${path}'`);
+const getUrlFromDocument = (chunkId, umd = false) => `${umd ? `typeof document === 'undefined' ? location.href : ` : ''}(${DOCUMENT_CURRENT_SCRIPT} && ${DOCUMENT_CURRENT_SCRIPT}.src || new URL('${escapeId(chunkId)}', document.baseURI).href)`;
+const relativeUrlMechanisms = {
+    amd: relativePath => {
+        if (relativePath[0] !== '.')
+            relativePath = './' + relativePath;
+        return getResolveUrl(`require.toUrl('${relativePath}'), document.baseURI`);
+    },
+    cjs: relativePath => `(typeof document === 'undefined' ? ${getFileUrlFromRelativePath(relativePath)} : ${getRelativeUrlFromDocument(relativePath)})`,
+    es: relativePath => getResolveUrl(`'${relativePath}', import.meta.url`),
+    iife: relativePath => getRelativeUrlFromDocument(relativePath),
+    system: relativePath => getResolveUrl(`'${relativePath}', module.meta.url`),
+    umd: relativePath => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromRelativePath(relativePath)} : ${getRelativeUrlFromDocument(relativePath, true)})`
+};
+const importMetaMechanisms = {
+    amd: getGenericImportMetaMechanism(() => getResolveUrl(`module.uri, document.baseURI`)),
+    cjs: getGenericImportMetaMechanism(chunkId => `(typeof document === 'undefined' ? ${getFileUrlFromFullPath('__filename')} : ${getUrlFromDocument(chunkId)})`),
+    iife: getGenericImportMetaMechanism(chunkId => getUrlFromDocument(chunkId)),
+    system: (property, { snippets: { getPropertyAccess } }) => property === null ? `module.meta` : `module.meta${getPropertyAccess(property)}`,
+    umd: getGenericImportMetaMechanism(chunkId => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromFullPath('__filename')} : ${getUrlFromDocument(chunkId, true)})`)
+};
+
+class NewExpression extends NodeBase {
+    hasEffects(context) {
+        try {
+            for (const argument of this.arguments) {
+                if (argument.hasEffects(context))
+                    return true;
+            }
+            if (this.annotationPure) {
+                return false;
+            }
+            return (this.callee.hasEffects(context) ||
+                this.callee.hasEffectsOnInteractionAtPath(EMPTY_PATH, this.interaction, context));
+        }
+        finally {
+            if (!this.deoptimized)
+                this.applyDeoptimizations();
+        }
+    }
+    hasEffectsOnInteractionAtPath(path, { type }) {
+        return path.length > 0 || type !== INTERACTION_ACCESSED;
+    }
+    include(context, includeChildrenRecursively) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        if (includeChildrenRecursively) {
+            super.include(context, includeChildrenRecursively);
+        }
+        else {
+            this.included = true;
+            this.callee.include(context, false);
+        }
+        this.callee.includeCallArguments(context, this.arguments);
+    }
+    initialise() {
+        this.interaction = {
+            args: [null, ...this.arguments],
+            type: INTERACTION_CALLED,
+            withNew: true
+        };
+    }
+    render(code, options) {
+        this.callee.render(code, options);
+        renderCallArguments(code, options, this);
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        this.callee.deoptimizeArgumentsOnInteractionAtPath(this.interaction, EMPTY_PATH, SHARED_RECURSION_TRACKER);
+        this.scope.context.requestTreeshakingPass();
+    }
+}
+
+class ObjectExpression extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.objectEntity = null;
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.getObjectEntity().deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizeCache() {
+        this.getObjectEntity().deoptimizeAllProperties();
+    }
+    deoptimizePath(path) {
+        this.getObjectEntity().deoptimizePath(path);
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        return this.getObjectEntity().getLiteralValueAtPath(path, recursionTracker, origin);
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        return this.getObjectEntity().getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        return this.getObjectEntity().hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+    render(code, options, { renderedSurroundingElement } = BLANK) {
+        super.render(code, options);
+        if (renderedSurroundingElement === ExpressionStatement$1 ||
+            renderedSurroundingElement === ArrowFunctionExpression$1) {
+            code.appendRight(this.start, '(');
+            code.prependLeft(this.end, ')');
+        }
+    }
+    applyDeoptimizations() { }
+    getObjectEntity() {
+        if (this.objectEntity !== null) {
+            return this.objectEntity;
+        }
+        let prototype = OBJECT_PROTOTYPE;
+        const properties = [];
+        for (const property of this.properties) {
+            if (property instanceof SpreadElement) {
+                properties.push({ key: UnknownKey, kind: 'init', property });
+                continue;
+            }
+            let key;
+            if (property.computed) {
+                const keyValue = property.key.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this);
+                if (typeof keyValue === 'symbol') {
+                    properties.push({ key: UnknownKey, kind: property.kind, property });
+                    continue;
+                }
+                else {
+                    key = String(keyValue);
+                }
+            }
+            else {
+                key =
+                    property.key instanceof Identifier
+                        ? property.key.name
+                        : String(property.key.value);
+                if (key === '__proto__' && property.kind === 'init') {
+                    prototype =
+                        property.value instanceof Literal && property.value.value === null
+                            ? null
+                            : property.value;
+                    continue;
+                }
+            }
+            properties.push({ key, kind: property.kind, property });
+        }
+        return (this.objectEntity = new ObjectEntity(properties, prototype));
+    }
+}
+
+class PrivateIdentifier extends NodeBase {
+}
+
+class Program extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.hasCachedEffect = null;
+        this.hasLoggedEffect = false;
+    }
+    hasCachedEffects() {
+        if (!this.included) {
+            return false;
+        }
+        return this.hasCachedEffect === null
+            ? (this.hasCachedEffect = this.hasEffects(createHasEffectsContext()))
+            : this.hasCachedEffect;
+    }
+    hasEffects(context) {
+        for (const node of this.body) {
+            if (node.hasEffects(context)) {
+                if (this.scope.context.options.experimentalLogSideEffects && !this.hasLoggedEffect) {
+                    this.hasLoggedEffect = true;
+                    const { code, log, module } = this.scope.context;
+                    log(parseAst_js.LOGLEVEL_INFO, parseAst_js.logFirstSideEffect(code, module.id, parseAst_js.locate(code, node.start, { offsetLine: 1 })), node.start);
+                }
+                return (this.hasCachedEffect = true);
+            }
+        }
+        return false;
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        for (const node of this.body) {
+            if (includeChildrenRecursively || node.shouldBeIncluded(context)) {
+                node.include(context, includeChildrenRecursively);
+            }
+        }
+    }
+    render(code, options) {
+        let start = this.start;
+        if (code.original.startsWith('#!')) {
+            start = Math.min(code.original.indexOf('\n') + 1, this.end);
+            code.remove(0, start);
+        }
+        if (this.body.length > 0) {
+            // Keep all consecutive lines that start with a comment
+            while (code.original[start] === '/' && /[*/]/.test(code.original[start + 1])) {
+                const firstLineBreak = findFirstLineBreakOutsideComment(code.original.slice(start, this.body[0].start));
+                if (firstLineBreak[0] === -1) {
+                    break;
+                }
+                start += firstLineBreak[1];
+            }
+            renderStatementList(this.body, code, start, this.end, options);
+        }
+        else {
+            super.render(code, options);
+        }
+    }
+    applyDeoptimizations() { }
+}
+
+class Property extends MethodBase {
+    constructor() {
+        super(...arguments);
+        this.declarationInit = null;
+    }
+    //declare method: boolean;
+    get method() {
+        return isFlagSet(this.flags, 262144 /* Flag.method */);
+    }
+    set method(value) {
+        this.flags = setFlag(this.flags, 262144 /* Flag.method */, value);
+    }
+    //declare shorthand: boolean;
+    get shorthand() {
+        return isFlagSet(this.flags, 524288 /* Flag.shorthand */);
+    }
+    set shorthand(value) {
+        this.flags = setFlag(this.flags, 524288 /* Flag.shorthand */, value);
+    }
+    declare(kind, init) {
+        this.declarationInit = init;
+        return this.value.declare(kind, UNKNOWN_EXPRESSION);
+    }
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        const propertyReadSideEffects = this.scope.context.options.treeshake.propertyReadSideEffects;
+        return ((this.parent.type === 'ObjectPattern' && propertyReadSideEffects === 'always') ||
+            this.key.hasEffects(context) ||
+            this.value.hasEffects(context));
+    }
+    markDeclarationReached() {
+        this.value.markDeclarationReached();
+    }
+    render(code, options) {
+        if (!this.shorthand) {
+            this.key.render(code, options);
+        }
+        this.value.render(code, options, { isShorthandProperty: this.shorthand });
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        if (this.declarationInit !== null) {
+            this.declarationInit.deoptimizePath([UnknownKey, UnknownKey]);
+            this.scope.context.requestTreeshakingPass();
+        }
+    }
+}
+
+class PropertyDefinition extends NodeBase {
+    get computed() {
+        return isFlagSet(this.flags, 1024 /* Flag.computed */);
+    }
+    set computed(value) {
+        this.flags = setFlag(this.flags, 1024 /* Flag.computed */, value);
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.value?.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizePath(path) {
+        this.value?.deoptimizePath(path);
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        return this.value
+            ? this.value.getLiteralValueAtPath(path, recursionTracker, origin)
+            : UnknownValue;
+    }
+    getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
+        return this.value
+            ? this.value.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)
+            : UNKNOWN_RETURN_EXPRESSION;
+    }
+    hasEffects(context) {
+        return this.key.hasEffects(context) || (this.static && !!this.value?.hasEffects(context));
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        return !this.value || this.value.hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+    applyDeoptimizations() { }
+}
+
+class ReturnStatement extends NodeBase {
+    hasEffects(context) {
+        if (!context.ignore.returnYield || this.argument?.hasEffects(context))
+            return true;
+        context.brokenFlow = true;
+        return false;
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        this.argument?.include(context, includeChildrenRecursively);
+        context.brokenFlow = true;
+    }
+    initialise() {
+        this.scope.addReturnExpression(this.argument || UNKNOWN_EXPRESSION);
+    }
+    render(code, options) {
+        if (this.argument) {
+            this.argument.render(code, options, { preventASI: true });
+            if (this.argument.start === this.start + 6 /* 'return'.length */) {
+                code.prependLeft(this.start + 6, ' ');
+            }
+        }
+    }
+}
+
+class SequenceExpression extends NodeBase {
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.expressions[this.expressions.length - 1].deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizePath(path) {
+        this.expressions[this.expressions.length - 1].deoptimizePath(path);
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        return this.expressions[this.expressions.length - 1].getLiteralValueAtPath(path, recursionTracker, origin);
+    }
+    hasEffects(context) {
+        for (const expression of this.expressions) {
+            if (expression.hasEffects(context))
+                return true;
+        }
+        return false;
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        return this.expressions[this.expressions.length - 1].hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        const lastExpression = this.expressions[this.expressions.length - 1];
+        for (const expression of this.expressions) {
+            if (includeChildrenRecursively ||
+                (expression === lastExpression && !(this.parent instanceof ExpressionStatement)) ||
+                expression.shouldBeIncluded(context))
+                expression.include(context, includeChildrenRecursively);
+        }
+    }
+    removeAnnotations(code) {
+        this.expressions[0].removeAnnotations(code);
+    }
+    render(code, options, { renderedParentType, isCalleeOfRenderedParent, preventASI } = BLANK) {
+        let includedNodes = 0;
+        let lastSeparatorPos = null;
+        const lastNode = this.expressions[this.expressions.length - 1];
+        for (const { node, separator, start, end } of getCommaSeparatedNodesWithBoundaries(this.expressions, code, this.start, this.end)) {
+            if (!node.included) {
+                treeshakeNode(node, code, start, end);
+                continue;
+            }
+            includedNodes++;
+            lastSeparatorPos = separator;
+            if (includedNodes === 1 && preventASI) {
+                removeLineBreaks(code, start, node.start);
+            }
+            if (includedNodes === 1) {
+                const parentType = renderedParentType || this.parent.type;
+                node.render(code, options, {
+                    isCalleeOfRenderedParent: isCalleeOfRenderedParent && node === lastNode,
+                    renderedParentType: parentType,
+                    renderedSurroundingElement: parentType
+                });
+            }
+            else {
+                node.render(code, options);
+            }
+        }
+        if (lastSeparatorPos) {
+            code.remove(lastSeparatorPos, this.end);
+        }
+    }
+}
+
+class StaticBlock extends NodeBase {
+    createScope(parentScope) {
+        this.scope = new BlockScope(parentScope);
+    }
+    hasEffects(context) {
+        for (const node of this.body) {
+            if (node.hasEffects(context))
+                return true;
+        }
+        return false;
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        for (const node of this.body) {
+            if (includeChildrenRecursively || node.shouldBeIncluded(context))
+                node.include(context, includeChildrenRecursively);
+        }
+    }
+    render(code, options) {
+        if (this.body.length > 0) {
+            const bodyStartPos = findFirstOccurrenceOutsideComment(code.original.slice(this.start, this.end), '{') + 1;
+            renderStatementList(this.body, code, this.start + bodyStartPos, this.end - 1, options);
+        }
+        else {
+            super.render(code, options);
+        }
+    }
+}
+
+class Super extends NodeBase {
+    bind() {
+        this.variable = this.scope.findVariable('this');
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.variable.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizePath(path) {
+        this.variable.deoptimizePath(path);
+    }
+    include() {
+        if (!this.included) {
+            this.included = true;
+            this.scope.context.includeVariableInModule(this.variable);
+        }
+    }
+}
+
+class SwitchCase extends NodeBase {
+    hasEffects(context) {
+        if (this.test?.hasEffects(context))
+            return true;
+        for (const node of this.consequent) {
+            if (context.brokenFlow)
+                break;
+            if (node.hasEffects(context))
+                return true;
+        }
+        return false;
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        this.test?.include(context, includeChildrenRecursively);
+        for (const node of this.consequent) {
+            if (includeChildrenRecursively || node.shouldBeIncluded(context))
+                node.include(context, includeChildrenRecursively);
+        }
+    }
+    render(code, options, nodeRenderOptions) {
+        if (this.consequent.length > 0) {
+            this.test && this.test.render(code, options);
+            const testEnd = this.test
+                ? this.test.end
+                : findFirstOccurrenceOutsideComment(code.original, 'default', this.start) + 7;
+            const consequentStart = findFirstOccurrenceOutsideComment(code.original, ':', testEnd) + 1;
+            renderStatementList(this.consequent, code, consequentStart, nodeRenderOptions.end, options);
+        }
+        else {
+            super.render(code, options);
+        }
+    }
+}
+SwitchCase.prototype.needsBoundaries = true;
+
+class SwitchStatement extends NodeBase {
+    createScope(parentScope) {
+        this.parentScope = parentScope;
+        this.scope = new BlockScope(parentScope);
+    }
+    hasEffects(context) {
+        if (this.discriminant.hasEffects(context))
+            return true;
+        const { brokenFlow, hasBreak, ignore } = context;
+        const { breaks } = ignore;
+        ignore.breaks = true;
+        context.hasBreak = false;
+        let onlyHasBrokenFlow = true;
+        for (const switchCase of this.cases) {
+            if (switchCase.hasEffects(context))
+                return true;
+            onlyHasBrokenFlow &&= context.brokenFlow && !context.hasBreak;
+            context.hasBreak = false;
+            context.brokenFlow = brokenFlow;
+        }
+        if (this.defaultCase !== null) {
+            context.brokenFlow = onlyHasBrokenFlow;
+        }
+        ignore.breaks = breaks;
+        context.hasBreak = hasBreak;
+        return false;
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        this.discriminant.include(context, includeChildrenRecursively);
+        const { brokenFlow, hasBreak } = context;
+        context.hasBreak = false;
+        let onlyHasBrokenFlow = true;
+        let isCaseIncluded = includeChildrenRecursively ||
+            (this.defaultCase !== null && this.defaultCase < this.cases.length - 1);
+        for (let caseIndex = this.cases.length - 1; caseIndex >= 0; caseIndex--) {
+            const switchCase = this.cases[caseIndex];
+            if (switchCase.included) {
+                isCaseIncluded = true;
+            }
+            if (!isCaseIncluded) {
+                const hasEffectsContext = createHasEffectsContext();
+                hasEffectsContext.ignore.breaks = true;
+                isCaseIncluded = switchCase.hasEffects(hasEffectsContext);
+            }
+            if (isCaseIncluded) {
+                switchCase.include(context, includeChildrenRecursively);
+                onlyHasBrokenFlow &&= context.brokenFlow && !context.hasBreak;
+                context.hasBreak = false;
+                context.brokenFlow = brokenFlow;
+            }
+            else {
+                onlyHasBrokenFlow = brokenFlow;
+            }
+        }
+        if (isCaseIncluded && this.defaultCase !== null) {
+            context.brokenFlow = onlyHasBrokenFlow;
+        }
+        context.hasBreak = hasBreak;
+    }
+    initialise() {
+        for (let caseIndex = 0; caseIndex < this.cases.length; caseIndex++) {
+            if (this.cases[caseIndex].test === null) {
+                this.defaultCase = caseIndex;
+                return;
+            }
+        }
+        this.defaultCase = null;
+    }
+    parseNode(esTreeNode) {
+        this.discriminant = new (this.scope.context.getNodeConstructor(esTreeNode.discriminant.type))(esTreeNode.discriminant, this, this.parentScope);
+        super.parseNode(esTreeNode);
+    }
+    render(code, options) {
+        this.discriminant.render(code, options);
+        if (this.cases.length > 0) {
+            renderStatementList(this.cases, code, this.cases[0].start, this.end - 1, options);
+        }
+    }
+}
+
+class TaggedTemplateExpression extends CallExpressionBase {
+    bind() {
+        super.bind();
+        if (this.tag.type === Identifier$1) {
+            const name = this.tag.name;
+            const variable = this.scope.findVariable(name);
+            if (variable.isNamespace) {
+                this.scope.context.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logCannotCallNamespace(name), this.start);
+            }
+        }
+    }
+    hasEffects(context) {
+        try {
+            for (const argument of this.quasi.expressions) {
+                if (argument.hasEffects(context))
+                    return true;
+            }
+            return (this.tag.hasEffects(context) ||
+                this.tag.hasEffectsOnInteractionAtPath(EMPTY_PATH, this.interaction, context));
+        }
+        finally {
+            if (!this.deoptimized)
+                this.applyDeoptimizations();
+        }
+    }
+    include(context, includeChildrenRecursively) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        if (includeChildrenRecursively) {
+            super.include(context, includeChildrenRecursively);
+        }
+        else {
+            this.included = true;
+            this.tag.include(context, includeChildrenRecursively);
+            this.quasi.include(context, includeChildrenRecursively);
+        }
+        this.tag.includeCallArguments(context, this.args);
+        const [returnExpression] = this.getReturnExpression();
+        if (!returnExpression.included) {
+            returnExpression.include(context, false);
+        }
+    }
+    initialise() {
+        this.args = [UNKNOWN_EXPRESSION, ...this.quasi.expressions];
+        this.interaction = {
+            args: [
+                this.tag instanceof MemberExpression && !this.tag.variable ? this.tag.object : null,
+                ...this.args
+            ],
+            type: INTERACTION_CALLED,
+            withNew: false
+        };
+    }
+    render(code, options) {
+        this.tag.render(code, options, { isCalleeOfRenderedParent: true });
+        this.quasi.render(code, options);
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        this.tag.deoptimizeArgumentsOnInteractionAtPath(this.interaction, EMPTY_PATH, SHARED_RECURSION_TRACKER);
+        this.scope.context.requestTreeshakingPass();
+    }
+    getReturnExpression(recursionTracker = SHARED_RECURSION_TRACKER) {
+        if (this.returnExpression === null) {
+            this.returnExpression = UNKNOWN_RETURN_EXPRESSION;
+            return (this.returnExpression = this.tag.getReturnExpressionWhenCalledAtPath(EMPTY_PATH, this.interaction, recursionTracker, this));
+        }
+        return this.returnExpression;
+    }
+}
+
+class TemplateElement extends NodeBase {
+    get tail() {
+        return isFlagSet(this.flags, 1048576 /* Flag.tail */);
+    }
+    set tail(value) {
+        this.flags = setFlag(this.flags, 1048576 /* Flag.tail */, value);
+    }
+    // Do not try to bind value
+    bind() { }
+    hasEffects() {
+        return false;
+    }
+    include() {
+        this.included = true;
+    }
+    parseNode(esTreeNode) {
+        this.value = esTreeNode.value;
+        super.parseNode(esTreeNode);
+    }
+    render() { }
+}
+
+class TemplateLiteral extends NodeBase {
+    deoptimizeArgumentsOnInteractionAtPath() { }
+    getLiteralValueAtPath(path) {
+        if (path.length > 0 || this.quasis.length !== 1) {
+            return UnknownValue;
+        }
+        return this.quasis[0].value.cooked;
+    }
+    getReturnExpressionWhenCalledAtPath(path) {
+        if (path.length !== 1) {
+            return UNKNOWN_RETURN_EXPRESSION;
+        }
+        return getMemberReturnExpressionWhenCalled(literalStringMembers, path[0]);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        if (interaction.type === INTERACTION_ACCESSED) {
+            return path.length > 1;
+        }
+        if (interaction.type === INTERACTION_CALLED && path.length === 1) {
+            return hasMemberEffectWhenCalled(literalStringMembers, path[0], interaction, context);
+        }
+        return true;
+    }
+    render(code, options) {
+        code.indentExclusionRanges.push([this.start, this.end]);
+        super.render(code, options);
+    }
+}
+
+class UndefinedVariable extends Variable {
+    constructor() {
+        super('undefined');
+    }
+    getLiteralValueAtPath() {
+        return undefined;
+    }
+}
+
+class ExportDefaultVariable extends LocalVariable {
+    constructor(name, exportDefaultDeclaration, context) {
+        super(name, exportDefaultDeclaration, exportDefaultDeclaration.declaration, context, "other" /* VariableKind.other */);
+        this.hasId = false;
+        this.originalId = null;
+        this.originalVariable = null;
+        const declaration = exportDefaultDeclaration.declaration;
+        if ((declaration instanceof FunctionDeclaration || declaration instanceof ClassDeclaration) &&
+            declaration.id) {
+            this.hasId = true;
+            this.originalId = declaration.id;
+        }
+        else if (declaration instanceof Identifier) {
+            this.originalId = declaration;
+        }
+    }
+    addReference(identifier) {
+        if (!this.hasId) {
+            this.name = identifier.name;
+        }
+    }
+    forbidName(name) {
+        const original = this.getOriginalVariable();
+        if (original === this) {
+            super.forbidName(name);
+        }
+        else {
+            original.forbidName(name);
+        }
+    }
+    getAssignedVariableName() {
+        return (this.originalId && this.originalId.name) || null;
+    }
+    getBaseVariableName() {
+        const original = this.getOriginalVariable();
+        return original === this ? super.getBaseVariableName() : original.getBaseVariableName();
+    }
+    getDirectOriginalVariable() {
+        return this.originalId &&
+            (this.hasId ||
+                !(this.originalId.isPossibleTDZ() ||
+                    this.originalId.variable.isReassigned ||
+                    this.originalId.variable instanceof UndefinedVariable ||
+                    // this avoids a circular dependency
+                    'syntheticNamespace' in this.originalId.variable))
+            ? this.originalId.variable
+            : null;
+    }
+    getName(getPropertyAccess) {
+        const original = this.getOriginalVariable();
+        return original === this
+            ? super.getName(getPropertyAccess)
+            : original.getName(getPropertyAccess);
+    }
+    getOriginalVariable() {
+        if (this.originalVariable)
+            return this.originalVariable;
+        // eslint-disable-next-line @typescript-eslint/no-this-alias
+        let original = this;
+        let currentVariable;
+        const checkedVariables = new Set();
+        do {
+            checkedVariables.add(original);
+            currentVariable = original;
+            original = currentVariable.getDirectOriginalVariable();
+        } while (original instanceof ExportDefaultVariable && !checkedVariables.has(original));
+        return (this.originalVariable = original || currentVariable);
+    }
+}
+
+class ModuleScope extends ChildScope {
+    constructor(parent, context) {
+        super(parent, context);
+        this.variables.set('this', new LocalVariable('this', null, UNDEFINED_EXPRESSION, context, "other" /* VariableKind.other */));
+    }
+    addDeclaration(identifier, context, init, kind) {
+        if (this.context.module.importDescriptions.has(identifier.name)) {
+            context.error(parseAst_js.logRedeclarationError(identifier.name), identifier.start);
+        }
+        return super.addDeclaration(identifier, context, init, kind);
+    }
+    addExportDefaultDeclaration(name, exportDefaultDeclaration, context) {
+        const variable = new ExportDefaultVariable(name, exportDefaultDeclaration, context);
+        this.variables.set('default', variable);
+        return variable;
+    }
+    addNamespaceMemberAccess() { }
+    deconflict(format, exportNamesByVariable, accessedGlobalsByScope) {
+        // all module level variables are already deconflicted when deconflicting the chunk
+        for (const scope of this.children)
+            scope.deconflict(format, exportNamesByVariable, accessedGlobalsByScope);
+    }
+    findLexicalBoundary() {
+        return this;
+    }
+    findVariable(name) {
+        const knownVariable = this.variables.get(name) || this.accessedOutsideVariables.get(name);
+        if (knownVariable) {
+            return knownVariable;
+        }
+        const variable = this.context.traceVariable(name) || this.parent.findVariable(name);
+        if (variable instanceof GlobalVariable) {
+            this.accessedOutsideVariables.set(name, variable);
+        }
+        return variable;
+    }
+}
+
+class ThisExpression extends NodeBase {
+    bind() {
+        this.variable = this.scope.findVariable('this');
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        this.variable.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker);
+    }
+    deoptimizePath(path) {
+        this.variable.deoptimizePath(path);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        if (path.length === 0) {
+            return interaction.type !== INTERACTION_ACCESSED;
+        }
+        return this.variable.hasEffectsOnInteractionAtPath(path, interaction, context);
+    }
+    include() {
+        if (!this.included) {
+            this.included = true;
+            this.scope.context.includeVariableInModule(this.variable);
+        }
+    }
+    initialise() {
+        this.alias =
+            this.scope.findLexicalBoundary() instanceof ModuleScope
+                ? this.scope.context.moduleContext
+                : null;
+        if (this.alias === 'undefined') {
+            this.scope.context.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logThisIsUndefined(), this.start);
+        }
+    }
+    render(code) {
+        if (this.alias !== null) {
+            code.overwrite(this.start, this.end, this.alias, {
+                contentOnly: false,
+                storeName: true
+            });
+        }
+    }
+}
+
+class ThrowStatement extends NodeBase {
+    hasEffects() {
+        return true;
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        this.argument.include(context, includeChildrenRecursively);
+        context.brokenFlow = true;
+    }
+    render(code, options) {
+        this.argument.render(code, options, { preventASI: true });
+        if (this.argument.start === this.start + 5 /* 'throw'.length */) {
+            code.prependLeft(this.start + 5, ' ');
+        }
+    }
+}
+
+class TryStatement extends NodeBase {
+    constructor() {
+        super(...arguments);
+        this.directlyIncluded = false;
+        this.includedLabelsAfterBlock = null;
+    }
+    hasEffects(context) {
+        return ((this.scope.context.options.treeshake.tryCatchDeoptimization
+            ? this.block.body.length > 0
+            : this.block.hasEffects(context)) || !!this.finalizer?.hasEffects(context));
+    }
+    include(context, includeChildrenRecursively) {
+        const tryCatchDeoptimization = this.scope.context.options.treeshake?.tryCatchDeoptimization;
+        const { brokenFlow, includedLabels } = context;
+        if (!this.directlyIncluded || !tryCatchDeoptimization) {
+            this.included = true;
+            this.directlyIncluded = true;
+            this.block.include(context, tryCatchDeoptimization ? INCLUDE_PARAMETERS : includeChildrenRecursively);
+            if (includedLabels.size > 0) {
+                this.includedLabelsAfterBlock = [...includedLabels];
+            }
+            context.brokenFlow = brokenFlow;
+        }
+        else if (this.includedLabelsAfterBlock) {
+            for (const label of this.includedLabelsAfterBlock) {
+                includedLabels.add(label);
+            }
+        }
+        if (this.handler !== null) {
+            this.handler.include(context, includeChildrenRecursively);
+            context.brokenFlow = brokenFlow;
+        }
+        this.finalizer?.include(context, includeChildrenRecursively);
+    }
+}
+
+const unaryOperators = {
+    '!': value => !value,
+    '+': value => +value,
+    '-': value => -value,
+    delete: () => UnknownValue,
+    typeof: value => typeof value,
+    void: () => undefined,
+    '~': value => ~value
+};
+class UnaryExpression extends NodeBase {
+    get prefix() {
+        return isFlagSet(this.flags, 2097152 /* Flag.prefix */);
+    }
+    set prefix(value) {
+        this.flags = setFlag(this.flags, 2097152 /* Flag.prefix */, value);
+    }
+    getLiteralValueAtPath(path, recursionTracker, origin) {
+        if (path.length > 0)
+            return UnknownValue;
+        const argumentValue = this.argument.getLiteralValueAtPath(EMPTY_PATH, recursionTracker, origin);
+        if (typeof argumentValue === 'symbol')
+            return UnknownValue;
+        return unaryOperators[this.operator](argumentValue);
+    }
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        if (this.operator === 'typeof' && this.argument instanceof Identifier)
+            return false;
+        return (this.argument.hasEffects(context) ||
+            (this.operator === 'delete' &&
+                this.argument.hasEffectsOnInteractionAtPath(EMPTY_PATH, NODE_INTERACTION_UNKNOWN_ASSIGNMENT, context)));
+    }
+    hasEffectsOnInteractionAtPath(path, { type }) {
+        return type !== INTERACTION_ACCESSED || path.length > (this.operator === 'void' ? 0 : 1);
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        if (this.operator === 'delete') {
+            this.argument.deoptimizePath(EMPTY_PATH);
+            this.scope.context.requestTreeshakingPass();
+        }
+    }
+}
+
+class UnknownNode extends NodeBase {
+    hasEffects() {
+        return true;
+    }
+    include(context) {
+        super.include(context, true);
+    }
+}
+
+class UpdateExpression extends NodeBase {
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        return this.argument.hasEffectsAsAssignmentTarget(context, true);
+    }
+    hasEffectsOnInteractionAtPath(path, { type }) {
+        return path.length > 1 || type !== INTERACTION_ACCESSED;
+    }
+    include(context, includeChildrenRecursively) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        this.included = true;
+        this.argument.includeAsAssignmentTarget(context, includeChildrenRecursively, true);
+    }
+    initialise() {
+        this.argument.setAssignedValue(UNKNOWN_EXPRESSION);
+    }
+    render(code, options) {
+        const { exportNamesByVariable, format, snippets: { _ } } = options;
+        this.argument.render(code, options);
+        if (format === 'system') {
+            const variable = this.argument.variable;
+            const exportNames = exportNamesByVariable.get(variable);
+            if (exportNames) {
+                if (this.prefix) {
+                    if (exportNames.length === 1) {
+                        renderSystemExportExpression(variable, this.start, this.end, code, options);
+                    }
+                    else {
+                        renderSystemExportSequenceAfterExpression(variable, this.start, this.end, this.parent.type !== ExpressionStatement$1, code, options);
+                    }
+                }
+                else {
+                    const operator = this.operator[0];
+                    renderSystemExportSequenceBeforeExpression(variable, this.start, this.end, this.parent.type !== ExpressionStatement$1, code, options, `${_}${operator}${_}1`);
+                }
+            }
+        }
+    }
+    applyDeoptimizations() {
+        this.deoptimized = true;
+        this.argument.deoptimizePath(EMPTY_PATH);
+        if (this.argument instanceof Identifier) {
+            const variable = this.scope.findVariable(this.argument.name);
+            variable.isReassigned = true;
+        }
+        this.scope.context.requestTreeshakingPass();
+    }
+}
+
+function areAllDeclarationsIncludedAndNotExported(declarations, exportNamesByVariable) {
+    for (const declarator of declarations) {
+        if (!declarator.id.included)
+            return false;
+        if (declarator.id.type === Identifier$1) {
+            if (exportNamesByVariable.has(declarator.id.variable))
+                return false;
+        }
+        else {
+            const exportedVariables = [];
+            declarator.id.addExportedVariables(exportedVariables, exportNamesByVariable);
+            if (exportedVariables.length > 0)
+                return false;
+        }
+    }
+    return true;
+}
+class VariableDeclaration extends NodeBase {
+    deoptimizePath() {
+        for (const declarator of this.declarations) {
+            declarator.deoptimizePath(EMPTY_PATH);
+        }
+    }
+    hasEffectsOnInteractionAtPath() {
+        return false;
+    }
+    include(context, includeChildrenRecursively, { asSingleStatement } = BLANK) {
+        this.included = true;
+        for (const declarator of this.declarations) {
+            if (includeChildrenRecursively || declarator.shouldBeIncluded(context))
+                declarator.include(context, includeChildrenRecursively);
+            const { id, init } = declarator;
+            if (asSingleStatement) {
+                id.include(context, includeChildrenRecursively);
+            }
+            if (init &&
+                id.included &&
+                !init.included &&
+                (id instanceof ObjectPattern || id instanceof ArrayPattern)) {
+                init.include(context, includeChildrenRecursively);
+            }
+        }
+    }
+    initialise() {
+        for (const declarator of this.declarations) {
+            declarator.declareDeclarator(this.kind);
+        }
+    }
+    removeAnnotations(code) {
+        this.declarations[0].removeAnnotations(code);
+    }
+    render(code, options, nodeRenderOptions = BLANK) {
+        if (areAllDeclarationsIncludedAndNotExported(this.declarations, options.exportNamesByVariable)) {
+            for (const declarator of this.declarations) {
+                declarator.render(code, options);
+            }
+            if (!nodeRenderOptions.isNoStatement &&
+                code.original.charCodeAt(this.end - 1) !== 59 /*";"*/) {
+                code.appendLeft(this.end, ';');
+            }
+        }
+        else {
+            this.renderReplacedDeclarations(code, options);
+        }
+    }
+    applyDeoptimizations() { }
+    renderDeclarationEnd(code, separatorString, lastSeparatorPos, actualContentEnd, renderedContentEnd, systemPatternExports, options) {
+        if (code.original.charCodeAt(this.end - 1) === 59 /*";"*/) {
+            code.remove(this.end - 1, this.end);
+        }
+        separatorString += ';';
+        if (lastSeparatorPos === null) {
+            code.appendLeft(renderedContentEnd, separatorString);
+        }
+        else {
+            if (code.original.charCodeAt(actualContentEnd - 1) === 10 /*"\n"*/ &&
+                (code.original.charCodeAt(this.end) === 10 /*"\n"*/ ||
+                    code.original.charCodeAt(this.end) === 13) /*"\r"*/) {
+                actualContentEnd--;
+                if (code.original.charCodeAt(actualContentEnd) === 13 /*"\r"*/) {
+                    actualContentEnd--;
+                }
+            }
+            if (actualContentEnd === lastSeparatorPos + 1) {
+                code.overwrite(lastSeparatorPos, renderedContentEnd, separatorString);
+            }
+            else {
+                code.overwrite(lastSeparatorPos, lastSeparatorPos + 1, separatorString);
+                code.remove(actualContentEnd, renderedContentEnd);
+            }
+        }
+        if (systemPatternExports.length > 0) {
+            code.appendLeft(renderedContentEnd, ` ${getSystemExportStatement(systemPatternExports, options)};`);
+        }
+    }
+    renderReplacedDeclarations(code, options) {
+        const separatedNodes = getCommaSeparatedNodesWithBoundaries(this.declarations, code, this.start + this.kind.length, this.end - (code.original.charCodeAt(this.end - 1) === 59 /*";"*/ ? 1 : 0));
+        let actualContentEnd, renderedContentEnd;
+        renderedContentEnd = findNonWhiteSpace(code.original, this.start + this.kind.length);
+        let lastSeparatorPos = renderedContentEnd - 1;
+        code.remove(this.start, lastSeparatorPos);
+        let isInDeclaration = false;
+        let hasRenderedContent = false;
+        let separatorString = '', leadingString, nextSeparatorString;
+        const aggregatedSystemExports = [];
+        const singleSystemExport = gatherSystemExportsAndGetSingleExport(separatedNodes, options, aggregatedSystemExports);
+        for (const { node, start, separator, contentEnd, end } of separatedNodes) {
+            if (!node.included) {
+                code.remove(start, end);
+                node.removeAnnotations(code);
+                continue;
+            }
+            node.render(code, options);
+            leadingString = '';
+            nextSeparatorString = '';
+            if (!node.id.included ||
+                (node.id instanceof Identifier &&
+                    isReassignedExportsMember(node.id.variable, options.exportNamesByVariable))) {
+                if (hasRenderedContent) {
+                    separatorString += ';';
+                }
+                isInDeclaration = false;
+            }
+            else {
+                if (singleSystemExport && singleSystemExport === node.id.variable) {
+                    const operatorPos = findFirstOccurrenceOutsideComment(code.original, '=', node.id.end);
+                    renderSystemExportExpression(singleSystemExport, findNonWhiteSpace(code.original, operatorPos + 1), separator === null ? contentEnd : separator, code, options);
+                }
+                if (isInDeclaration) {
+                    separatorString += ',';
+                }
+                else {
+                    if (hasRenderedContent) {
+                        separatorString += ';';
+                    }
+                    leadingString += `${this.kind} `;
+                    isInDeclaration = true;
+                }
+            }
+            if (renderedContentEnd === lastSeparatorPos + 1) {
+                code.overwrite(lastSeparatorPos, renderedContentEnd, separatorString + leadingString);
+            }
+            else {
+                code.overwrite(lastSeparatorPos, lastSeparatorPos + 1, separatorString);
+                code.appendLeft(renderedContentEnd, leadingString);
+            }
+            actualContentEnd = contentEnd;
+            renderedContentEnd = end;
+            hasRenderedContent = true;
+            lastSeparatorPos = separator;
+            separatorString = nextSeparatorString;
+        }
+        this.renderDeclarationEnd(code, separatorString, lastSeparatorPos, actualContentEnd, renderedContentEnd, aggregatedSystemExports, options);
+    }
+}
+function gatherSystemExportsAndGetSingleExport(separatedNodes, options, aggregatedSystemExports) {
+    let singleSystemExport = null;
+    if (options.format === 'system') {
+        for (const { node } of separatedNodes) {
+            if (node.id instanceof Identifier &&
+                node.init &&
+                aggregatedSystemExports.length === 0 &&
+                options.exportNamesByVariable.get(node.id.variable)?.length === 1) {
+                singleSystemExport = node.id.variable;
+                aggregatedSystemExports.push(singleSystemExport);
+            }
+            else {
+                node.id.addExportedVariables(aggregatedSystemExports, options.exportNamesByVariable);
+            }
+        }
+        if (aggregatedSystemExports.length > 1) {
+            singleSystemExport = null;
+        }
+        else if (singleSystemExport) {
+            aggregatedSystemExports.length = 0;
+        }
+    }
+    return singleSystemExport;
+}
+
+class WhileStatement extends NodeBase {
+    hasEffects(context) {
+        if (this.test.hasEffects(context))
+            return true;
+        return hasLoopBodyEffects(context, this.body);
+    }
+    include(context, includeChildrenRecursively) {
+        this.included = true;
+        this.test.include(context, includeChildrenRecursively);
+        includeLoopBody(context, this.body, includeChildrenRecursively);
+    }
+}
+
+class YieldExpression extends NodeBase {
+    hasEffects(context) {
+        if (!this.deoptimized)
+            this.applyDeoptimizations();
+        return !(context.ignore.returnYield && !this.argument?.hasEffects(context));
+    }
+    render(code, options) {
+        if (this.argument) {
+            this.argument.render(code, options, { preventASI: true });
+            if (this.argument.start === this.start + 5 /* 'yield'.length */) {
+                code.prependLeft(this.start + 5, ' ');
+            }
+        }
+    }
+}
+
+const nodeConstructors = {
+    ArrayExpression,
+    ArrayPattern,
+    ArrowFunctionExpression,
+    AssignmentExpression,
+    AssignmentPattern,
+    AwaitExpression,
+    BinaryExpression,
+    BlockStatement,
+    BreakStatement,
+    CallExpression,
+    CatchClause,
+    ChainExpression,
+    ClassBody,
+    ClassDeclaration,
+    ClassExpression,
+    ConditionalExpression,
+    ContinueStatement,
+    DoWhileStatement,
+    EmptyStatement,
+    ExportAllDeclaration,
+    ExportDefaultDeclaration,
+    ExportNamedDeclaration,
+    ExportSpecifier,
+    ExpressionStatement,
+    ForInStatement,
+    ForOfStatement,
+    ForStatement,
+    FunctionDeclaration,
+    FunctionExpression,
+    Identifier,
+    IfStatement,
+    ImportAttribute,
+    ImportDeclaration,
+    ImportDefaultSpecifier,
+    ImportExpression,
+    ImportNamespaceSpecifier,
+    ImportSpecifier,
+    LabeledStatement,
+    Literal,
+    LogicalExpression,
+    MemberExpression,
+    MetaProperty,
+    MethodDefinition,
+    NewExpression,
+    ObjectExpression,
+    ObjectPattern,
+    PrivateIdentifier,
+    Program,
+    Property,
+    PropertyDefinition,
+    RestElement,
+    ReturnStatement,
+    SequenceExpression,
+    SpreadElement,
+    StaticBlock,
+    Super,
+    SwitchCase,
+    SwitchStatement,
+    TaggedTemplateExpression,
+    TemplateElement,
+    TemplateLiteral,
+    ThisExpression,
+    ThrowStatement,
+    TryStatement,
+    UnaryExpression,
+    UnknownNode,
+    UpdateExpression,
+    VariableDeclaration,
+    VariableDeclarator,
+    WhileStatement,
+    YieldExpression
+};
+
+const MISSING_EXPORT_SHIM_VARIABLE = '_missingExportShim';
+
+class ExportShimVariable extends Variable {
+    constructor(module) {
+        super(MISSING_EXPORT_SHIM_VARIABLE);
+        this.module = module;
+    }
+    include() {
+        super.include();
+        this.module.needsExportShim = true;
+    }
+}
+
+class NamespaceVariable extends Variable {
+    constructor(context) {
+        super(context.getModuleName());
+        this.memberVariables = null;
+        this.mergedNamespaces = [];
+        this.referencedEarly = false;
+        this.references = [];
+        this.context = context;
+        this.module = context.module;
+    }
+    addReference(identifier) {
+        this.references.push(identifier);
+        this.name = identifier.name;
+    }
+    deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
+        if (path.length > 1 || (path.length === 1 && interaction.type === INTERACTION_CALLED)) {
+            const key = path[0];
+            if (typeof key === 'string') {
+                this.getMemberVariables()[key]?.deoptimizeArgumentsOnInteractionAtPath(interaction, path.slice(1), recursionTracker);
+            }
+            else {
+                deoptimizeInteraction(interaction);
+            }
+        }
+    }
+    deoptimizePath(path) {
+        if (path.length > 1) {
+            const key = path[0];
+            if (typeof key === 'string') {
+                this.getMemberVariables()[key]?.deoptimizePath(path.slice(1));
+            }
+        }
+    }
+    getLiteralValueAtPath(path) {
+        if (path[0] === SymbolToStringTag) {
+            return 'Module';
+        }
+        return UnknownValue;
+    }
+    getMemberVariables() {
+        if (this.memberVariables) {
+            return this.memberVariables;
+        }
+        const memberVariables = Object.create(null);
+        const sortedExports = [...this.context.getExports(), ...this.context.getReexports()].sort();
+        for (const name of sortedExports) {
+            if (name[0] !== '*' && name !== this.module.info.syntheticNamedExports) {
+                const exportedVariable = this.context.traceExport(name);
+                if (exportedVariable) {
+                    memberVariables[name] = exportedVariable;
+                }
+            }
+        }
+        return (this.memberVariables = memberVariables);
+    }
+    hasEffectsOnInteractionAtPath(path, interaction, context) {
+        const { type } = interaction;
+        if (path.length === 0) {
+            // This can only be a call anyway
+            return true;
+        }
+        if (path.length === 1 && type !== INTERACTION_CALLED) {
+            return type === INTERACTION_ASSIGNED;
+        }
+        const key = path[0];
+        if (typeof key !== 'string') {
+            return true;
+        }
+        const memberVariable = this.getMemberVariables()[key];
+        return (!memberVariable ||
+            memberVariable.hasEffectsOnInteractionAtPath(path.slice(1), interaction, context));
+    }
+    include() {
+        super.include();
+        this.context.includeAllExports();
+    }
+    prepare(accessedGlobalsByScope) {
+        if (this.mergedNamespaces.length > 0) {
+            this.module.scope.addAccessedGlobals([MERGE_NAMESPACES_VARIABLE], accessedGlobalsByScope);
+        }
+    }
+    renderBlock(options) {
+        const { exportNamesByVariable, format, freeze, indent: t, symbols, snippets: { _, cnst, getObject, getPropertyAccess, n, s } } = options;
+        const memberVariables = this.getMemberVariables();
+        const members = Object.entries(memberVariables)
+            .filter(([_, variable]) => variable.included)
+            .map(([name, variable]) => {
+            if (this.referencedEarly || variable.isReassigned || variable === this) {
+                return [
+                    null,
+                    `get ${stringifyObjectKeyIfNeeded(name)}${_}()${_}{${_}return ${variable.getName(getPropertyAccess)}${s}${_}}`
+                ];
+            }
+            return [name, variable.getName(getPropertyAccess)];
+        });
+        members.unshift([null, `__proto__:${_}null`]);
+        let output = getObject(members, { lineBreakIndent: { base: '', t } });
+        if (this.mergedNamespaces.length > 0) {
+            const assignmentArguments = this.mergedNamespaces.map(variable => variable.getName(getPropertyAccess));
+            output = `/*#__PURE__*/${MERGE_NAMESPACES_VARIABLE}(${output},${_}[${assignmentArguments.join(`,${_}`)}])`;
+        }
+        else {
+            // The helper to merge namespaces will also take care of freezing and toStringTag
+            if (symbols) {
+                output = `/*#__PURE__*/Object.defineProperty(${output},${_}Symbol.toStringTag,${_}${getToStringTagValue(getObject)})`;
+            }
+            if (freeze) {
+                output = `/*#__PURE__*/Object.freeze(${output})`;
+            }
+        }
+        const name = this.getName(getPropertyAccess);
+        output = `${cnst} ${name}${_}=${_}${output};`;
+        if (format === 'system' && exportNamesByVariable.has(this)) {
+            output += `${n}${getSystemExportStatement([this], options)};`;
+        }
+        return output;
+    }
+    renderFirst() {
+        return this.referencedEarly;
+    }
+    setMergedNamespaces(mergedNamespaces) {
+        this.mergedNamespaces = mergedNamespaces;
+        const moduleExecIndex = this.context.getModuleExecIndex();
+        for (const identifier of this.references) {
+            const { context } = identifier.scope;
+            if (context.getModuleExecIndex() <= moduleExecIndex) {
+                this.referencedEarly = true;
+                break;
+            }
+        }
+    }
+}
+NamespaceVariable.prototype.isNamespace = true;
+
+class SyntheticNamedExportVariable extends Variable {
+    constructor(context, name, syntheticNamespace) {
+        super(name);
+        this.baseVariable = null;
+        this.context = context;
+        this.module = context.module;
+        this.syntheticNamespace = syntheticNamespace;
+    }
+    getBaseVariable() {
+        if (this.baseVariable)
+            return this.baseVariable;
+        let baseVariable = this.syntheticNamespace;
+        while (baseVariable instanceof ExportDefaultVariable ||
+            baseVariable instanceof SyntheticNamedExportVariable) {
+            if (baseVariable instanceof ExportDefaultVariable) {
+                const original = baseVariable.getOriginalVariable();
+                if (original === baseVariable)
+                    break;
+                baseVariable = original;
+            }
+            if (baseVariable instanceof SyntheticNamedExportVariable) {
+                baseVariable = baseVariable.syntheticNamespace;
+            }
+        }
+        return (this.baseVariable = baseVariable);
+    }
+    getBaseVariableName() {
+        return this.syntheticNamespace.getBaseVariableName();
+    }
+    getName(getPropertyAccess) {
+        return `${this.syntheticNamespace.getName(getPropertyAccess)}${getPropertyAccess(this.name)}`;
+    }
+    include() {
+        super.include();
+        this.context.includeVariableInModule(this.syntheticNamespace);
+    }
+    setRenderNames(baseName, name) {
+        super.setRenderNames(baseName, name);
+    }
+}
+
+const sourceMapCache = new WeakMap();
+/**
+ * This clears the decoded array and falls back to the encoded string form.
+ * Sourcemap mappings arrays can be very large and holding on to them for longer
+ * than is necessary leads to poor heap utilization.
+ */
+function resetCacheToEncoded(cache) {
+    if (cache.encodedMappings === undefined && cache.decodedMappings) {
+        cache.encodedMappings = encode(cache.decodedMappings);
+    }
+    cache.decodedMappings = undefined;
+}
+function resetSourcemapCache(map, sourcemapChain) {
+    if (map) {
+        const cache = sourceMapCache.get(map);
+        if (cache) {
+            resetCacheToEncoded(cache);
+        }
+    }
+    if (!sourcemapChain) {
+        return;
+    }
+    for (const map of sourcemapChain) {
+        if (map.missing)
+            continue;
+        resetSourcemapCache(map);
+    }
+}
+function decodedSourcemap(map) {
+    if (!map)
+        return null;
+    if (typeof map === 'string') {
+        map = JSON.parse(map);
+    }
+    if (!map.mappings) {
+        return {
+            mappings: [],
+            names: [],
+            sources: [],
+            version: 3
+        };
+    }
+    const originalMappings = map.mappings;
+    const isAlreadyDecoded = Array.isArray(originalMappings);
+    const cache = {
+        decodedMappings: isAlreadyDecoded ? originalMappings : undefined,
+        encodedMappings: isAlreadyDecoded ? undefined : originalMappings
+    };
+    const decodedMap = {
+        ...map,
+        // By moving mappings behind an accessor, we can avoid unneeded computation for cases
+        // where the mappings field is never actually accessed. This appears to greatly reduce
+        // the overhead of sourcemap decoding in terms of both compute time and memory usage.
+        get mappings() {
+            if (cache.decodedMappings) {
+                return cache.decodedMappings;
+            }
+            // If decodedMappings doesn't exist then encodedMappings should.
+            // The only scenario where cache.encodedMappings should be undefined is if the map
+            // this was constructed from was already decoded, or if mappings was set to a new
+            // decoded string. In either case, this line shouldn't get hit.
+            cache.decodedMappings = cache.encodedMappings ? decode(cache.encodedMappings) : [];
+            cache.encodedMappings = undefined;
+            return cache.decodedMappings;
+        }
+    };
+    sourceMapCache.set(decodedMap, cache);
+    return decodedMap;
+}
+
+function getId(m) {
+    return m.id;
+}
+
+function getOriginalLocation(sourcemapChain, location) {
+    const filteredSourcemapChain = sourcemapChain.filter((sourcemap) => !sourcemap.missing);
+    traceSourcemap: while (filteredSourcemapChain.length > 0) {
+        const sourcemap = filteredSourcemapChain.pop();
+        const line = sourcemap.mappings[location.line - 1];
+        if (line) {
+            const filteredLine = line.filter((segment) => segment.length > 1);
+            const lastSegment = filteredLine[filteredLine.length - 1];
+            for (const segment of filteredLine) {
+                if (segment[0] >= location.column || segment === lastSegment) {
+                    location = {
+                        column: segment[3],
+                        line: segment[2] + 1
+                    };
+                    continue traceSourcemap;
+                }
+            }
+        }
+        throw new Error("Can't resolve original location of error.");
+    }
+    return location;
+}
+
+const ATTRIBUTE_KEYWORDS = new Set(['assert', 'with']);
+function getAttributesFromImportExpression(node) {
+    const { scope: { context }, options, start } = node;
+    if (!(options instanceof ObjectExpression)) {
+        if (options) {
+            context.module.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logImportAttributeIsInvalid(context.module.id), start);
+        }
+        return EMPTY_OBJECT;
+    }
+    const assertProperty = options.properties.find((property) => ATTRIBUTE_KEYWORDS.has(getPropertyKey(property)))?.value;
+    if (!assertProperty) {
+        return EMPTY_OBJECT;
+    }
+    if (!(assertProperty instanceof ObjectExpression)) {
+        context.module.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logImportOptionsAreInvalid(context.module.id), start);
+        return EMPTY_OBJECT;
+    }
+    const assertFields = assertProperty.properties
+        .map(property => {
+        const key = getPropertyKey(property);
+        if (typeof key === 'string' &&
+            typeof property.value.value === 'string') {
+            return [key, property.value.value];
+        }
+        context.module.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logImportAttributeIsInvalid(context.module.id), property.start);
+        return null;
+    })
+        .filter((property) => !!property);
+    if (assertFields.length > 0) {
+        return Object.fromEntries(assertFields);
+    }
+    return EMPTY_OBJECT;
+}
+const getPropertyKey = (property) => {
+    const key = property.key;
+    return (key && !property.computed && (key.name || key.value));
+};
+function getAttributesFromImportExportDeclaration(attributes) {
+    return attributes?.length
+        ? Object.fromEntries(attributes.map(assertion => [getPropertyKey(assertion), assertion.value.value]))
+        : EMPTY_OBJECT;
+}
+function doAttributesDiffer(assertionA, assertionB) {
+    const keysA = Object.keys(assertionA);
+    return (keysA.length !== Object.keys(assertionB).length ||
+        keysA.some(key => assertionA[key] !== assertionB[key]));
+}
+
+let timers = new Map();
+function getPersistedLabel(label, level) {
+    switch (level) {
+        case 1: {
+            return `# ${label}`;
+        }
+        case 2: {
+            return `## ${label}`;
+        }
+        case 3: {
+            return label;
+        }
+        default: {
+            return `${'  '.repeat(level - 4)}- ${label}`;
+        }
+    }
+}
+function timeStartImpl(label, level = 3) {
+    label = getPersistedLabel(label, level);
+    const startMemory = process$1.memoryUsage().heapUsed;
+    const startTime = node_perf_hooks.performance.now();
+    const timer = timers.get(label);
+    if (timer === undefined) {
+        timers.set(label, {
+            memory: 0,
+            startMemory,
+            startTime,
+            time: 0,
+            totalMemory: 0
+        });
+    }
+    else {
+        timer.startMemory = startMemory;
+        timer.startTime = startTime;
+    }
+}
+function timeEndImpl(label, level = 3) {
+    label = getPersistedLabel(label, level);
+    const timer = timers.get(label);
+    if (timer !== undefined) {
+        const currentMemory = process$1.memoryUsage().heapUsed;
+        timer.memory += currentMemory - timer.startMemory;
+        timer.time += node_perf_hooks.performance.now() - timer.startTime;
+        timer.totalMemory = Math.max(timer.totalMemory, currentMemory);
+    }
+}
+function getTimings() {
+    const newTimings = {};
+    for (const [label, { memory, time, totalMemory }] of timers) {
+        newTimings[label] = [time, memory, totalMemory];
+    }
+    return newTimings;
+}
+let timeStart = doNothing;
+let timeEnd = doNothing;
+const TIMED_PLUGIN_HOOKS = [
+    'augmentChunkHash',
+    'buildEnd',
+    'buildStart',
+    'generateBundle',
+    'load',
+    'moduleParsed',
+    'options',
+    'outputOptions',
+    'renderChunk',
+    'renderDynamicImport',
+    'renderStart',
+    'resolveDynamicImport',
+    'resolveFileUrl',
+    'resolveId',
+    'resolveImportMeta',
+    'shouldTransformCachedModule',
+    'transform',
+    'writeBundle'
+];
+function getPluginWithTimers(plugin, index) {
+    if (plugin._hasTimer)
+        return plugin;
+    plugin._hasTimer = true;
+    for (const hook of TIMED_PLUGIN_HOOKS) {
+        if (hook in plugin) {
+            let timerLabel = `plugin ${index}`;
+            if (plugin.name) {
+                timerLabel += ` (${plugin.name})`;
+            }
+            timerLabel += ` - ${hook}`;
+            const handler = function (...parameters) {
+                timeStart(timerLabel, 4);
+                const result = hookFunction.apply(this, parameters);
+                timeEnd(timerLabel, 4);
+                return result;
+            };
+            let hookFunction;
+            if (typeof plugin[hook].handler === 'function') {
+                hookFunction = plugin[hook].handler;
+                plugin[hook].handler = handler;
+            }
+            else {
+                hookFunction = plugin[hook];
+                plugin[hook] = handler;
+            }
+        }
+    }
+    return plugin;
+}
+function initialiseTimers(inputOptions) {
+    if (inputOptions.perf) {
+        timers = new Map();
+        timeStart = timeStartImpl;
+        timeEnd = timeEndImpl;
+        inputOptions.plugins = inputOptions.plugins.map(getPluginWithTimers);
+    }
+    else {
+        timeStart = doNothing;
+        timeEnd = doNothing;
+    }
+}
+
+function markModuleAndImpureDependenciesAsExecuted(baseModule) {
+    baseModule.isExecuted = true;
+    const modules = [baseModule];
+    const visitedModules = new Set();
+    for (const module of modules) {
+        for (const dependency of [...module.dependencies, ...module.implicitlyLoadedBefore]) {
+            if (!(dependency instanceof ExternalModule) &&
+                !dependency.isExecuted &&
+                (dependency.info.moduleSideEffects || module.implicitlyLoadedBefore.has(dependency)) &&
+                !visitedModules.has(dependency.id)) {
+                dependency.isExecuted = true;
+                visitedModules.add(dependency.id);
+                modules.push(dependency);
+            }
+        }
+    }
+}
+
+const MISSING_EXPORT_SHIM_DESCRIPTION = {
+    identifier: null,
+    localName: MISSING_EXPORT_SHIM_VARIABLE
+};
+function getVariableForExportNameRecursive(target, name, importerForSideEffects, isExportAllSearch, searchedNamesAndModules = new Map()) {
+    const searchedModules = searchedNamesAndModules.get(name);
+    if (searchedModules) {
+        if (searchedModules.has(target)) {
+            return isExportAllSearch ? [null] : parseAst_js.error(parseAst_js.logCircularReexport(name, target.id));
+        }
+        searchedModules.add(target);
+    }
+    else {
+        searchedNamesAndModules.set(name, new Set([target]));
+    }
+    return target.getVariableForExportName(name, {
+        importerForSideEffects,
+        isExportAllSearch,
+        searchedNamesAndModules
+    });
+}
+function getAndExtendSideEffectModules(variable, module) {
+    const sideEffectModules = getOrCreate(module.sideEffectDependenciesByVariable, variable, (getNewSet));
+    let currentVariable = variable;
+    const referencedVariables = new Set([currentVariable]);
+    while (true) {
+        const importingModule = currentVariable.module;
+        currentVariable =
+            currentVariable instanceof ExportDefaultVariable
+                ? currentVariable.getDirectOriginalVariable()
+                : currentVariable instanceof SyntheticNamedExportVariable
+                    ? currentVariable.syntheticNamespace
+                    : null;
+        if (!currentVariable || referencedVariables.has(currentVariable)) {
+            break;
+        }
+        referencedVariables.add(currentVariable);
+        sideEffectModules.add(importingModule);
+        const originalSideEffects = importingModule.sideEffectDependenciesByVariable.get(currentVariable);
+        if (originalSideEffects) {
+            for (const module of originalSideEffects) {
+                sideEffectModules.add(module);
+            }
+        }
+    }
+    return sideEffectModules;
+}
+class Module {
+    constructor(graph, id, options, isEntry, moduleSideEffects, syntheticNamedExports, meta, attributes) {
+        this.graph = graph;
+        this.id = id;
+        this.options = options;
+        this.alternativeReexportModules = new Map();
+        this.chunkFileNames = new Set();
+        this.chunkNames = [];
+        this.cycles = new Set();
+        this.dependencies = new Set();
+        this.dynamicDependencies = new Set();
+        this.dynamicImporters = [];
+        this.dynamicImports = [];
+        this.execIndex = Infinity;
+        this.implicitlyLoadedAfter = new Set();
+        this.implicitlyLoadedBefore = new Set();
+        this.importDescriptions = new Map();
+        this.importMetas = [];
+        this.importedFromNotTreeshaken = false;
+        this.importers = [];
+        this.includedDynamicImporters = [];
+        this.includedImports = new Set();
+        this.isExecuted = false;
+        this.isUserDefinedEntryPoint = false;
+        this.needsExportShim = false;
+        this.sideEffectDependenciesByVariable = new Map();
+        this.sourcesWithAttributes = new Map();
+        this.allExportNames = null;
+        this.ast = null;
+        this.exportAllModules = [];
+        this.exportAllSources = new Set();
+        this.exportNamesByVariable = null;
+        this.exportShimVariable = new ExportShimVariable(this);
+        this.exports = new Map();
+        this.namespaceReexportsByName = new Map();
+        this.reexportDescriptions = new Map();
+        this.relevantDependencies = null;
+        this.syntheticExports = new Map();
+        this.syntheticNamespace = null;
+        this.transformDependencies = [];
+        this.transitiveReexports = null;
+        this.excludeFromSourcemap = /\0/.test(id);
+        this.context = options.moduleContext(id);
+        this.preserveSignature = this.options.preserveEntrySignatures;
+        // eslint-disable-next-line @typescript-eslint/no-this-alias
+        const module = this;
+        const { dynamicImports, dynamicImporters, exportAllSources, exports, implicitlyLoadedAfter, implicitlyLoadedBefore, importers, reexportDescriptions, sourcesWithAttributes } = this;
+        this.info = {
+            ast: null,
+            attributes,
+            code: null,
+            get dynamicallyImportedIdResolutions() {
+                return dynamicImports
+                    .map(({ argument }) => typeof argument === 'string' && module.resolvedIds[argument])
+                    .filter(Boolean);
+            },
+            get dynamicallyImportedIds() {
+                // We cannot use this.dynamicDependencies because this is needed before
+                // dynamicDependencies are populated
+                return dynamicImports.map(({ id }) => id).filter((id) => id != null);
+            },
+            get dynamicImporters() {
+                return dynamicImporters.sort();
+            },
+            get exportedBindings() {
+                const exportBindings = { '.': [...exports.keys()] };
+                for (const [name, { source }] of reexportDescriptions) {
+                    (exportBindings[source] ??= []).push(name);
+                }
+                for (const source of exportAllSources) {
+                    (exportBindings[source] ??= []).push('*');
+                }
+                return exportBindings;
+            },
+            get exports() {
+                return [
+                    ...exports.keys(),
+                    ...reexportDescriptions.keys(),
+                    ...[...exportAllSources].map(() => '*')
+                ];
+            },
+            get hasDefaultExport() {
+                // This information is only valid after parsing
+                if (!module.ast) {
+                    return null;
+                }
+                return module.exports.has('default') || reexportDescriptions.has('default');
+            },
+            id,
+            get implicitlyLoadedAfterOneOf() {
+                // eslint-disable-next-line unicorn/prefer-spread
+                return Array.from(implicitlyLoadedAfter, getId).sort();
+            },
+            get implicitlyLoadedBefore() {
+                // eslint-disable-next-line unicorn/prefer-spread
+                return Array.from(implicitlyLoadedBefore, getId).sort();
+            },
+            get importedIdResolutions() {
+                // eslint-disable-next-line unicorn/prefer-spread
+                return Array.from(sourcesWithAttributes.keys(), source => module.resolvedIds[source]).filter(Boolean);
+            },
+            get importedIds() {
+                // We cannot use this.dependencies because this is needed before
+                // dependencies are populated
+                // eslint-disable-next-line unicorn/prefer-spread
+                return Array.from(sourcesWithAttributes.keys(), source => module.resolvedIds[source]?.id).filter(Boolean);
+            },
+            get importers() {
+                return importers.sort();
+            },
+            isEntry,
+            isExternal: false,
+            get isIncluded() {
+                if (graph.phase !== BuildPhase.GENERATE) {
+                    return null;
+                }
+                return module.isIncluded();
+            },
+            meta: { ...meta },
+            moduleSideEffects,
+            syntheticNamedExports
+        };
+    }
+    basename() {
+        const base = node_path.basename(this.id);
+        const extension = node_path.extname(this.id);
+        return makeLegal(extension ? base.slice(0, -extension.length) : base);
+    }
+    bindReferences() {
+        this.ast.bind();
+    }
+    error(properties, pos) {
+        pos !== undefined && this.addLocationToLogProps(properties, pos);
+        return parseAst_js.error(properties);
+    }
+    // sum up the length of all ast nodes that are included
+    estimateSize() {
+        let size = 0;
+        for (const node of this.ast.body) {
+            if (node.included) {
+                size += node.end - node.start;
+            }
+        }
+        return size;
+    }
+    getAllExportNames() {
+        if (this.allExportNames) {
+            return this.allExportNames;
+        }
+        this.allExportNames = new Set([...this.exports.keys(), ...this.reexportDescriptions.keys()]);
+        for (const module of this.exportAllModules) {
+            if (module instanceof ExternalModule) {
+                this.allExportNames.add(`*${module.id}`);
+                continue;
+            }
+            for (const name of module.getAllExportNames()) {
+                if (name !== 'default')
+                    this.allExportNames.add(name);
+            }
+        }
+        // We do not count the synthetic namespace as a regular export to hide it
+        // from entry signatures and namespace objects
+        if (typeof this.info.syntheticNamedExports === 'string') {
+            this.allExportNames.delete(this.info.syntheticNamedExports);
+        }
+        return this.allExportNames;
+    }
+    getDependenciesToBeIncluded() {
+        if (this.relevantDependencies)
+            return this.relevantDependencies;
+        this.relevantDependencies = new Set();
+        const necessaryDependencies = new Set();
+        const alwaysCheckedDependencies = new Set();
+        const dependencyVariables = new Set(this.includedImports);
+        if (this.info.isEntry ||
+            this.includedDynamicImporters.length > 0 ||
+            this.namespace.included ||
+            this.implicitlyLoadedAfter.size > 0) {
+            for (const exportName of [...this.getReexports(), ...this.getExports()]) {
+                const [exportedVariable] = this.getVariableForExportName(exportName);
+                if (exportedVariable?.included) {
+                    dependencyVariables.add(exportedVariable);
+                }
+            }
+        }
+        for (let variable of dependencyVariables) {
+            const sideEffectDependencies = this.sideEffectDependenciesByVariable.get(variable);
+            if (sideEffectDependencies) {
+                for (const module of sideEffectDependencies) {
+                    alwaysCheckedDependencies.add(module);
+                }
+            }
+            if (variable instanceof SyntheticNamedExportVariable) {
+                variable = variable.getBaseVariable();
+            }
+            else if (variable instanceof ExportDefaultVariable) {
+                variable = variable.getOriginalVariable();
+            }
+            necessaryDependencies.add(variable.module);
+        }
+        if (!this.options.treeshake || this.info.moduleSideEffects === 'no-treeshake') {
+            for (const dependency of this.dependencies) {
+                this.relevantDependencies.add(dependency);
+            }
+        }
+        else {
+            this.addRelevantSideEffectDependencies(this.relevantDependencies, necessaryDependencies, alwaysCheckedDependencies);
+        }
+        for (const dependency of necessaryDependencies) {
+            this.relevantDependencies.add(dependency);
+        }
+        return this.relevantDependencies;
+    }
+    getExportNamesByVariable() {
+        if (this.exportNamesByVariable) {
+            return this.exportNamesByVariable;
+        }
+        const exportNamesByVariable = new Map();
+        for (const exportName of this.getAllExportNames()) {
+            let [tracedVariable] = this.getVariableForExportName(exportName);
+            if (tracedVariable instanceof ExportDefaultVariable) {
+                tracedVariable = tracedVariable.getOriginalVariable();
+            }
+            if (!tracedVariable ||
+                !(tracedVariable.included || tracedVariable instanceof ExternalVariable)) {
+                continue;
+            }
+            const existingExportNames = exportNamesByVariable.get(tracedVariable);
+            if (existingExportNames) {
+                existingExportNames.push(exportName);
+            }
+            else {
+                exportNamesByVariable.set(tracedVariable, [exportName]);
+            }
+        }
+        return (this.exportNamesByVariable = exportNamesByVariable);
+    }
+    getExports() {
+        return [...this.exports.keys()];
+    }
+    getReexports() {
+        if (this.transitiveReexports) {
+            return this.transitiveReexports;
+        }
+        // to avoid infinite recursion when using circular `export * from X`
+        this.transitiveReexports = [];
+        const reexports = new Set(this.reexportDescriptions.keys());
+        for (const module of this.exportAllModules) {
+            if (module instanceof ExternalModule) {
+                reexports.add(`*${module.id}`);
+            }
+            else {
+                for (const name of [...module.getReexports(), ...module.getExports()]) {
+                    if (name !== 'default')
+                        reexports.add(name);
+                }
+            }
+        }
+        return (this.transitiveReexports = [...reexports]);
+    }
+    getRenderedExports() {
+        // only direct exports are counted here, not reexports at all
+        const renderedExports = [];
+        const removedExports = [];
+        for (const exportName of this.exports.keys()) {
+            const [variable] = this.getVariableForExportName(exportName);
+            (variable?.included ? renderedExports : removedExports).push(exportName);
+        }
+        return { removedExports, renderedExports };
+    }
+    getSyntheticNamespace() {
+        if (this.syntheticNamespace === null) {
+            this.syntheticNamespace = undefined;
+            [this.syntheticNamespace] = this.getVariableForExportName(typeof this.info.syntheticNamedExports === 'string'
+                ? this.info.syntheticNamedExports
+                : 'default', { onlyExplicit: true });
+        }
+        if (!this.syntheticNamespace) {
+            return parseAst_js.error(parseAst_js.logSyntheticNamedExportsNeedNamespaceExport(this.id, this.info.syntheticNamedExports));
+        }
+        return this.syntheticNamespace;
+    }
+    getVariableForExportName(name, { importerForSideEffects, isExportAllSearch, onlyExplicit, searchedNamesAndModules } = EMPTY_OBJECT) {
+        if (name[0] === '*') {
+            if (name.length === 1) {
+                // export * from './other'
+                return [this.namespace];
+            }
+            // export * from 'external'
+            const module = this.graph.modulesById.get(name.slice(1));
+            return module.getVariableForExportName('*');
+        }
+        // export { foo } from './other'
+        const reexportDeclaration = this.reexportDescriptions.get(name);
+        if (reexportDeclaration) {
+            const [variable] = getVariableForExportNameRecursive(reexportDeclaration.module, reexportDeclaration.localName, importerForSideEffects, false, searchedNamesAndModules);
+            if (!variable) {
+                return this.error(parseAst_js.logMissingExport(reexportDeclaration.localName, this.id, reexportDeclaration.module.id), reexportDeclaration.start);
+            }
+            if (importerForSideEffects) {
+                setAlternativeExporterIfCyclic(variable, importerForSideEffects, this);
+                if (this.info.moduleSideEffects) {
+                    getOrCreate(importerForSideEffects.sideEffectDependenciesByVariable, variable, (getNewSet)).add(this);
+                }
+            }
+            return [variable];
+        }
+        const exportDeclaration = this.exports.get(name);
+        if (exportDeclaration) {
+            if (exportDeclaration === MISSING_EXPORT_SHIM_DESCRIPTION) {
+                return [this.exportShimVariable];
+            }
+            const name = exportDeclaration.localName;
+            const variable = this.traceVariable(name, {
+                importerForSideEffects,
+                searchedNamesAndModules
+            });
+            if (importerForSideEffects) {
+                setAlternativeExporterIfCyclic(variable, importerForSideEffects, this);
+                getOrCreate(importerForSideEffects.sideEffectDependenciesByVariable, variable, (getNewSet)).add(this);
+            }
+            return [variable];
+        }
+        if (onlyExplicit) {
+            return [null];
+        }
+        if (name !== 'default') {
+            const foundNamespaceReexport = this.namespaceReexportsByName.get(name) ??
+                this.getVariableFromNamespaceReexports(name, importerForSideEffects, searchedNamesAndModules);
+            this.namespaceReexportsByName.set(name, foundNamespaceReexport);
+            if (foundNamespaceReexport[0]) {
+                return foundNamespaceReexport;
+            }
+        }
+        if (this.info.syntheticNamedExports) {
+            return [
+                getOrCreate(this.syntheticExports, name, () => new SyntheticNamedExportVariable(this.astContext, name, this.getSyntheticNamespace()))
+            ];
+        }
+        // we don't want to create shims when we are just
+        // probing export * modules for exports
+        if (!isExportAllSearch && this.options.shimMissingExports) {
+            this.shimMissingExport(name);
+            return [this.exportShimVariable];
+        }
+        return [null];
+    }
+    hasEffects() {
+        return this.info.moduleSideEffects === 'no-treeshake' || this.ast.hasCachedEffects();
+    }
+    include() {
+        const context = createInclusionContext();
+        if (this.ast.shouldBeIncluded(context))
+            this.ast.include(context, false);
+    }
+    includeAllExports(includeNamespaceMembers) {
+        if (!this.isExecuted) {
+            markModuleAndImpureDependenciesAsExecuted(this);
+            this.graph.needsTreeshakingPass = true;
+        }
+        for (const exportName of this.exports.keys()) {
+            if (includeNamespaceMembers || exportName !== this.info.syntheticNamedExports) {
+                const variable = this.getVariableForExportName(exportName)[0];
+                if (!variable) {
+                    return parseAst_js.error(parseAst_js.logMissingEntryExport(exportName, this.id));
+                }
+                variable.deoptimizePath(UNKNOWN_PATH);
+                if (!variable.included) {
+                    this.includeVariable(variable);
+                }
+            }
+        }
+        for (const name of this.getReexports()) {
+            const [variable] = this.getVariableForExportName(name);
+            if (variable) {
+                variable.deoptimizePath(UNKNOWN_PATH);
+                if (!variable.included) {
+                    this.includeVariable(variable);
+                }
+                if (variable instanceof ExternalVariable) {
+                    variable.module.reexported = true;
+                }
+            }
+        }
+        if (includeNamespaceMembers) {
+            this.namespace.setMergedNamespaces(this.includeAndGetAdditionalMergedNamespaces());
+        }
+    }
+    includeAllInBundle() {
+        this.ast.include(createInclusionContext(), true);
+        this.includeAllExports(false);
+    }
+    includeExportsByNames(names) {
+        if (!this.isExecuted) {
+            markModuleAndImpureDependenciesAsExecuted(this);
+            this.graph.needsTreeshakingPass = true;
+        }
+        let includeNamespaceMembers = false;
+        for (const name of names) {
+            const variable = this.getVariableForExportName(name)[0];
+            if (variable) {
+                variable.deoptimizePath(UNKNOWN_PATH);
+                if (!variable.included) {
+                    this.includeVariable(variable);
+                }
+            }
+            if (!this.exports.has(name) && !this.reexportDescriptions.has(name)) {
+                includeNamespaceMembers = true;
+            }
+        }
+        if (includeNamespaceMembers) {
+            this.namespace.setMergedNamespaces(this.includeAndGetAdditionalMergedNamespaces());
+        }
+    }
+    isIncluded() {
+        // Modules where this.ast is missing have been loaded via this.load and are
+        // not yet fully processed, hence they cannot be included.
+        return (this.ast &&
+            (this.ast.included ||
+                this.namespace.included ||
+                this.importedFromNotTreeshaken ||
+                this.exportShimVariable.included));
+    }
+    linkImports() {
+        this.addModulesToImportDescriptions(this.importDescriptions);
+        this.addModulesToImportDescriptions(this.reexportDescriptions);
+        const externalExportAllModules = [];
+        for (const source of this.exportAllSources) {
+            const module = this.graph.modulesById.get(this.resolvedIds[source].id);
+            if (module instanceof ExternalModule) {
+                externalExportAllModules.push(module);
+                continue;
+            }
+            this.exportAllModules.push(module);
+        }
+        this.exportAllModules.push(...externalExportAllModules);
+    }
+    log(level, properties, pos) {
+        this.addLocationToLogProps(properties, pos);
+        this.options.onLog(level, properties);
+    }
+    render(options) {
+        const source = this.magicString.clone();
+        this.ast.render(source, options);
+        source.trim();
+        const { usesTopLevelAwait } = this.astContext;
+        if (usesTopLevelAwait && options.format !== 'es' && options.format !== 'system') {
+            return parseAst_js.error(parseAst_js.logInvalidFormatForTopLevelAwait(this.id, options.format));
+        }
+        return { source, usesTopLevelAwait };
+    }
+    async setSource({ ast, code, customTransformCache, originalCode, originalSourcemap, resolvedIds, sourcemapChain, transformDependencies, transformFiles, ...moduleOptions }) {
+        if (code.startsWith('#!')) {
+            const shebangEndPosition = code.indexOf('\n');
+            this.shebang = code.slice(2, shebangEndPosition);
+        }
+        timeStart('generate ast', 3);
+        this.info.code = code;
+        this.originalCode = originalCode;
+        // We need to call decodedSourcemap on the input in case they were hydrated from json in the cache and don't
+        // have the lazy evaluation cache configured. Right now this isn't enforced by the type system because the
+        // RollupCache stores `ExistingDecodedSourcemap` instead of `ExistingRawSourcemap`
+        this.originalSourcemap = decodedSourcemap(originalSourcemap);
+        this.sourcemapChain = sourcemapChain.map(mapOrMissing => mapOrMissing.missing ? mapOrMissing : decodedSourcemap(mapOrMissing));
+        // If coming from cache and this value is already fully decoded, we want to re-encode here to save memory.
+        resetSourcemapCache(this.originalSourcemap, this.sourcemapChain);
+        if (transformFiles) {
+            this.transformFiles = transformFiles;
+        }
+        this.transformDependencies = transformDependencies;
+        this.customTransformCache = customTransformCache;
+        this.updateOptions(moduleOptions);
+        const moduleAst = ast ?? (await this.tryParseAsync());
+        timeEnd('generate ast', 3);
+        timeStart('analyze ast', 3);
+        this.resolvedIds = resolvedIds ?? Object.create(null);
+        // By default, `id` is the file name. Custom resolvers and loaders
+        // can change that, but it makes sense to use it for the source file name
+        const fileName = this.id;
+        this.magicString = new MagicString(code, {
+            filename: (this.excludeFromSourcemap ? null : fileName), // don't include plugin helpers in sourcemap
+            indentExclusionRanges: []
+        });
+        this.astContext = {
+            addDynamicImport: this.addDynamicImport.bind(this),
+            addExport: this.addExport.bind(this),
+            addImport: this.addImport.bind(this),
+            addImportMeta: this.addImportMeta.bind(this),
+            code, // Only needed for debugging
+            deoptimizationTracker: this.graph.deoptimizationTracker,
+            error: this.error.bind(this),
+            fileName, // Needed for warnings
+            getExports: this.getExports.bind(this),
+            getModuleExecIndex: () => this.execIndex,
+            getModuleName: this.basename.bind(this),
+            getNodeConstructor: (name) => nodeConstructors[name] || nodeConstructors.UnknownNode,
+            getReexports: this.getReexports.bind(this),
+            importDescriptions: this.importDescriptions,
+            includeAllExports: () => this.includeAllExports(true),
+            includeDynamicImport: this.includeDynamicImport.bind(this),
+            includeVariableInModule: this.includeVariableInModule.bind(this),
+            log: this.log.bind(this),
+            magicString: this.magicString,
+            manualPureFunctions: this.graph.pureFunctions,
+            module: this,
+            moduleContext: this.context,
+            options: this.options,
+            requestTreeshakingPass: () => (this.graph.needsTreeshakingPass = true),
+            traceExport: (name) => this.getVariableForExportName(name)[0],
+            traceVariable: this.traceVariable.bind(this),
+            usesTopLevelAwait: false
+        };
+        this.scope = new ModuleScope(this.graph.scope, this.astContext);
+        this.namespace = new NamespaceVariable(this.astContext);
+        this.ast = new Program(moduleAst, { context: this.astContext, type: 'Module' }, this.scope);
+        // Assign AST directly if has existing one as there's no way to drop it from memory.
+        // If cache is enabled, also assign directly as otherwise it takes more CPU and memory to re-compute.
+        if (ast || this.options.cache !== false) {
+            this.info.ast = moduleAst;
+        }
+        else {
+            // Make lazy and apply LRU cache to not hog the memory
+            Object.defineProperty(this.info, 'ast', {
+                get: () => {
+                    if (this.graph.astLru.has(fileName)) {
+                        return this.graph.astLru.get(fileName);
+                    }
+                    else {
+                        const parsedAst = this.tryParse();
+                        this.graph.astLru.set(fileName, parsedAst);
+                        return parsedAst;
+                    }
+                }
+            });
+        }
+        timeEnd('analyze ast', 3);
+    }
+    toJSON() {
+        return {
+            ast: this.info.ast,
+            attributes: this.info.attributes,
+            code: this.info.code,
+            customTransformCache: this.customTransformCache,
+            // eslint-disable-next-line unicorn/prefer-spread
+            dependencies: Array.from(this.dependencies, getId),
+            id: this.id,
+            meta: this.info.meta,
+            moduleSideEffects: this.info.moduleSideEffects,
+            originalCode: this.originalCode,
+            originalSourcemap: this.originalSourcemap,
+            resolvedIds: this.resolvedIds,
+            sourcemapChain: this.sourcemapChain,
+            syntheticNamedExports: this.info.syntheticNamedExports,
+            transformDependencies: this.transformDependencies,
+            transformFiles: this.transformFiles
+        };
+    }
+    traceVariable(name, { importerForSideEffects, isExportAllSearch, searchedNamesAndModules } = EMPTY_OBJECT) {
+        const localVariable = this.scope.variables.get(name);
+        if (localVariable) {
+            return localVariable;
+        }
+        const importDescription = this.importDescriptions.get(name);
+        if (importDescription) {
+            const otherModule = importDescription.module;
+            if (otherModule instanceof Module && importDescription.name === '*') {
+                return otherModule.namespace;
+            }
+            const [declaration] = getVariableForExportNameRecursive(otherModule, importDescription.name, importerForSideEffects || this, isExportAllSearch, searchedNamesAndModules);
+            if (!declaration) {
+                return this.error(parseAst_js.logMissingExport(importDescription.name, this.id, otherModule.id), importDescription.start);
+            }
+            return declaration;
+        }
+        return null;
+    }
+    updateOptions({ meta, moduleSideEffects, syntheticNamedExports }) {
+        if (moduleSideEffects != null) {
+            this.info.moduleSideEffects = moduleSideEffects;
+        }
+        if (syntheticNamedExports != null) {
+            this.info.syntheticNamedExports = syntheticNamedExports;
+        }
+        if (meta != null) {
+            Object.assign(this.info.meta, meta);
+        }
+    }
+    addDynamicImport(node) {
+        let argument = node.source;
+        if (argument instanceof TemplateLiteral) {
+            if (argument.quasis.length === 1 && argument.quasis[0].value.cooked) {
+                argument = argument.quasis[0].value.cooked;
+            }
+        }
+        else if (argument instanceof Literal && typeof argument.value === 'string') {
+            argument = argument.value;
+        }
+        this.dynamicImports.push({ argument, id: null, node, resolution: null });
+    }
+    assertUniqueExportName(name, nodeStart) {
+        if (this.exports.has(name) || this.reexportDescriptions.has(name)) {
+            this.error(parseAst_js.logDuplicateExportError(name), nodeStart);
+        }
+    }
+    addExport(node) {
+        if (node instanceof ExportDefaultDeclaration) {
+            // export default foo;
+            this.assertUniqueExportName('default', node.start);
+            this.exports.set('default', {
+                identifier: node.variable.getAssignedVariableName(),
+                localName: 'default'
+            });
+        }
+        else if (node instanceof ExportAllDeclaration) {
+            const source = node.source.value;
+            this.addSource(source, node);
+            if (node.exported) {
+                // export * as name from './other'
+                const name = node.exported instanceof Literal ? node.exported.value : node.exported.name;
+                this.assertUniqueExportName(name, node.exported.start);
+                this.reexportDescriptions.set(name, {
+                    localName: '*',
+                    module: null, // filled in later,
+                    source,
+                    start: node.start
+                });
+            }
+            else {
+                // export * from './other'
+                this.exportAllSources.add(source);
+            }
+        }
+        else if (node.source instanceof Literal) {
+            // export { name } from './other'
+            const source = node.source.value;
+            this.addSource(source, node);
+            for (const { exported, local, start } of node.specifiers) {
+                const name = exported instanceof Literal ? exported.value : exported.name;
+                this.assertUniqueExportName(name, start);
+                this.reexportDescriptions.set(name, {
+                    localName: local instanceof Literal ? local.value : local.name,
+                    module: null, // filled in later,
+                    source,
+                    start
+                });
+            }
+        }
+        else if (node.declaration) {
+            const declaration = node.declaration;
+            if (declaration instanceof VariableDeclaration) {
+                // export var { foo, bar } = ...
+                // export var foo = 1, bar = 2;
+                for (const declarator of declaration.declarations) {
+                    for (const localName of extractAssignedNames(declarator.id)) {
+                        this.assertUniqueExportName(localName, declarator.id.start);
+                        this.exports.set(localName, { identifier: null, localName });
+                    }
+                }
+            }
+            else {
+                // export function foo () {}
+                const localName = declaration.id.name;
+                this.assertUniqueExportName(localName, declaration.id.start);
+                this.exports.set(localName, { identifier: null, localName });
+            }
+        }
+        else {
+            // export { foo, bar, baz }
+            for (const { local, exported } of node.specifiers) {
+                // except for reexports, local must be an Identifier
+                const localName = local.name;
+                const exportedName = exported instanceof Identifier ? exported.name : exported.value;
+                this.assertUniqueExportName(exportedName, exported.start);
+                this.exports.set(exportedName, { identifier: null, localName });
+            }
+        }
+    }
+    addImport(node) {
+        const source = node.source.value;
+        this.addSource(source, node);
+        for (const specifier of node.specifiers) {
+            const localName = specifier.local.name;
+            if (this.scope.variables.has(localName) || this.importDescriptions.has(localName)) {
+                this.error(parseAst_js.logRedeclarationError(localName), specifier.local.start);
+            }
+            const name = specifier instanceof ImportDefaultSpecifier
+                ? 'default'
+                : specifier instanceof ImportNamespaceSpecifier
+                    ? '*'
+                    : specifier.imported instanceof Identifier
+                        ? specifier.imported.name
+                        : specifier.imported.value;
+            this.importDescriptions.set(localName, {
+                module: null, // filled in later
+                name,
+                source,
+                start: specifier.start
+            });
+        }
+    }
+    addImportMeta(node) {
+        this.importMetas.push(node);
+    }
+    addLocationToLogProps(properties, pos) {
+        properties.id = this.id;
+        properties.pos = pos;
+        let code = this.info.code;
+        const location = parseAst_js.locate(code, pos, { offsetLine: 1 });
+        if (location) {
+            let { column, line } = location;
+            try {
+                ({ column, line } = getOriginalLocation(this.sourcemapChain, { column, line }));
+                code = this.originalCode;
+            }
+            catch (error_) {
+                this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logInvalidSourcemapForError(error_, this.id, column, line, pos));
+            }
+            parseAst_js.augmentCodeLocation(properties, { column, line }, code, this.id);
+        }
+    }
+    addModulesToImportDescriptions(importDescription) {
+        for (const specifier of importDescription.values()) {
+            const { id } = this.resolvedIds[specifier.source];
+            specifier.module = this.graph.modulesById.get(id);
+        }
+    }
+    addRelevantSideEffectDependencies(relevantDependencies, necessaryDependencies, alwaysCheckedDependencies) {
+        const handledDependencies = new Set();
+        const addSideEffectDependencies = (possibleDependencies) => {
+            for (const dependency of possibleDependencies) {
+                if (handledDependencies.has(dependency)) {
+                    continue;
+                }
+                handledDependencies.add(dependency);
+                if (necessaryDependencies.has(dependency)) {
+                    relevantDependencies.add(dependency);
+                    continue;
+                }
+                if (!(dependency.info.moduleSideEffects || alwaysCheckedDependencies.has(dependency))) {
+                    continue;
+                }
+                if (dependency instanceof ExternalModule || dependency.hasEffects()) {
+                    relevantDependencies.add(dependency);
+                    continue;
+                }
+                addSideEffectDependencies(dependency.dependencies);
+            }
+        };
+        addSideEffectDependencies(this.dependencies);
+        addSideEffectDependencies(alwaysCheckedDependencies);
+    }
+    addSource(source, declaration) {
+        const parsedAttributes = getAttributesFromImportExportDeclaration(declaration.attributes);
+        const existingAttributes = this.sourcesWithAttributes.get(source);
+        if (existingAttributes) {
+            if (doAttributesDiffer(existingAttributes, parsedAttributes)) {
+                this.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logInconsistentImportAttributes(existingAttributes, parsedAttributes, source, this.id), declaration.start);
+            }
+        }
+        else {
+            this.sourcesWithAttributes.set(source, parsedAttributes);
+        }
+    }
+    getVariableFromNamespaceReexports(name, importerForSideEffects, searchedNamesAndModules) {
+        let foundSyntheticDeclaration = null;
+        const foundInternalDeclarations = new Map();
+        const foundExternalDeclarations = new Set();
+        for (const module of this.exportAllModules) {
+            // Synthetic namespaces should not hide "regular" exports of the same name
+            if (module.info.syntheticNamedExports === name) {
+                continue;
+            }
+            const [variable, indirectExternal] = getVariableForExportNameRecursive(module, name, importerForSideEffects, true, 
+            // We are creating a copy to handle the case where the same binding is
+            // imported through different namespace reexports gracefully
+            copyNameToModulesMap(searchedNamesAndModules));
+            if (module instanceof ExternalModule || indirectExternal) {
+                foundExternalDeclarations.add(variable);
+            }
+            else if (variable instanceof SyntheticNamedExportVariable) {
+                if (!foundSyntheticDeclaration) {
+                    foundSyntheticDeclaration = variable;
+                }
+            }
+            else if (variable) {
+                foundInternalDeclarations.set(variable, module);
+            }
+        }
+        if (foundInternalDeclarations.size > 0) {
+            const foundDeclarationList = [...foundInternalDeclarations];
+            const usedDeclaration = foundDeclarationList[0][0];
+            if (foundDeclarationList.length === 1) {
+                return [usedDeclaration];
+            }
+            this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logNamespaceConflict(name, this.id, foundDeclarationList.map(([, module]) => module.id)));
+            // TODO we are pretending it was not found while it should behave like "undefined"
+            return [null];
+        }
+        if (foundExternalDeclarations.size > 0) {
+            const foundDeclarationList = [...foundExternalDeclarations];
+            const usedDeclaration = foundDeclarationList[0];
+            if (foundDeclarationList.length > 1) {
+                this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logAmbiguousExternalNamespaces(name, this.id, usedDeclaration.module.id, foundDeclarationList.map(declaration => declaration.module.id)));
+            }
+            return [usedDeclaration, true];
+        }
+        if (foundSyntheticDeclaration) {
+            return [foundSyntheticDeclaration];
+        }
+        return [null];
+    }
+    includeAndGetAdditionalMergedNamespaces() {
+        const externalNamespaces = new Set();
+        const syntheticNamespaces = new Set();
+        for (const module of [this, ...this.exportAllModules]) {
+            if (module instanceof ExternalModule) {
+                const [externalVariable] = module.getVariableForExportName('*');
+                externalVariable.include();
+                this.includedImports.add(externalVariable);
+                externalNamespaces.add(externalVariable);
+            }
+            else if (module.info.syntheticNamedExports) {
+                const syntheticNamespace = module.getSyntheticNamespace();
+                syntheticNamespace.include();
+                this.includedImports.add(syntheticNamespace);
+                syntheticNamespaces.add(syntheticNamespace);
+            }
+        }
+        return [...syntheticNamespaces, ...externalNamespaces];
+    }
+    includeDynamicImport(node) {
+        const resolution = this.dynamicImports.find(dynamicImport => dynamicImport.node === node).resolution;
+        if (resolution instanceof Module) {
+            resolution.includedDynamicImporters.push(this);
+            const importedNames = this.options.treeshake
+                ? node.getDeterministicImportedNames()
+                : undefined;
+            if (importedNames) {
+                resolution.includeExportsByNames(importedNames);
+            }
+            else {
+                resolution.includeAllExports(true);
+            }
+        }
+    }
+    includeVariable(variable) {
+        const variableModule = variable.module;
+        if (variable.included) {
+            if (variableModule instanceof Module && variableModule !== this) {
+                getAndExtendSideEffectModules(variable, this);
+            }
+        }
+        else {
+            variable.include();
+            this.graph.needsTreeshakingPass = true;
+            if (variableModule instanceof Module) {
+                if (!variableModule.isExecuted) {
+                    markModuleAndImpureDependenciesAsExecuted(variableModule);
+                }
+                if (variableModule !== this) {
+                    const sideEffectModules = getAndExtendSideEffectModules(variable, this);
+                    for (const module of sideEffectModules) {
+                        if (!module.isExecuted) {
+                            markModuleAndImpureDependenciesAsExecuted(module);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    includeVariableInModule(variable) {
+        this.includeVariable(variable);
+        const variableModule = variable.module;
+        if (variableModule && variableModule !== this) {
+            this.includedImports.add(variable);
+        }
+    }
+    shimMissingExport(name) {
+        this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logShimmedExport(this.id, name));
+        this.exports.set(name, MISSING_EXPORT_SHIM_DESCRIPTION);
+    }
+    tryParse() {
+        try {
+            return parseAst_js.parseAst(this.info.code);
+        }
+        catch (error_) {
+            return this.error(parseAst_js.logModuleParseError(error_, this.id), error_.pos);
+        }
+    }
+    async tryParseAsync() {
+        try {
+            return await parseAst_js.parseAstAsync(this.info.code);
+        }
+        catch (error_) {
+            return this.error(parseAst_js.logModuleParseError(error_, this.id), error_.pos);
+        }
+    }
+}
+// if there is a cyclic import in the reexport chain, we should not
+// import from the original module but from the cyclic module to not
+// mess up execution order.
+function setAlternativeExporterIfCyclic(variable, importer, reexporter) {
+    if (variable.module instanceof Module && variable.module !== reexporter) {
+        const exporterCycles = variable.module.cycles;
+        if (exporterCycles.size > 0) {
+            const importerCycles = reexporter.cycles;
+            for (const cycleSymbol of importerCycles) {
+                if (exporterCycles.has(cycleSymbol)) {
+                    importer.alternativeReexportModules.set(variable, reexporter);
+                    break;
+                }
+            }
+        }
+    }
+}
+const copyNameToModulesMap = (searchedNamesAndModules) => searchedNamesAndModules &&
+    // eslint-disable-next-line unicorn/prefer-spread
+    new Map(Array.from(searchedNamesAndModules, ([name, modules]) => [name, new Set(modules)]));
+
+function removeJsExtension(name) {
+    return name.endsWith('.js') ? name.slice(0, -3) : name;
+}
+
+function getCompleteAmdId(options, chunkId) {
+    if (options.autoId) {
+        return `${options.basePath ? options.basePath + '/' : ''}${removeJsExtension(chunkId)}`;
+    }
+    return options.id ?? '';
+}
+
+function getExportBlock$1(exports, dependencies, namedExportsMode, interop, snippets, t, externalLiveBindings, reexportProtoFromExternal, mechanism = 'return ') {
+    const { _, getDirectReturnFunction, getFunctionIntro, getPropertyAccess, n, s } = snippets;
+    if (!namedExportsMode) {
+        return `${n}${n}${mechanism}${getSingleDefaultExport(exports, dependencies, interop, externalLiveBindings, getPropertyAccess)};`;
+    }
+    let exportBlock = '';
+    for (const { defaultVariableName, importPath, isChunk, name, namedExportsMode: depNamedExportsMode, namespaceVariableName, reexports } of dependencies) {
+        if (reexports && namedExportsMode) {
+            for (const specifier of reexports) {
+                if (specifier.reexported !== '*') {
+                    const importName = getReexportedImportName(name, specifier.imported, depNamedExportsMode, isChunk, defaultVariableName, namespaceVariableName, interop, importPath, externalLiveBindings, getPropertyAccess);
+                    if (exportBlock)
+                        exportBlock += n;
+                    if (specifier.imported !== '*' && specifier.needsLiveBinding) {
+                        const [left, right] = getDirectReturnFunction([], {
+                            functionReturn: true,
+                            lineBreakIndent: null,
+                            name: null
+                        });
+                        exportBlock +=
+                            `Object.defineProperty(exports,${_}${JSON.stringify(specifier.reexported)},${_}{${n}` +
+                                `${t}enumerable:${_}true,${n}` +
+                                `${t}get:${_}${left}${importName}${right}${n}});`;
+                    }
+                    else if (specifier.reexported === '__proto__') {
+                        exportBlock +=
+                            `Object.defineProperty(exports,${_}"__proto__",${_}{${n}` +
+                                `${t}enumerable:${_}true,${n}` +
+                                `${t}value:${_}${importName}${n}});`;
+                    }
+                    else {
+                        exportBlock += `exports${getPropertyAccess(specifier.reexported)}${_}=${_}${importName};`;
+                    }
+                }
+            }
+        }
+    }
+    for (const { exported, local } of exports) {
+        const lhs = `exports${getPropertyAccess(exported)}`;
+        const rhs = local;
+        if (lhs !== rhs) {
+            if (exportBlock)
+                exportBlock += n;
+            exportBlock +=
+                exported === '__proto__'
+                    ? `Object.defineProperty(exports,${_}"__proto__",${_}{${n}` +
+                        `${t}enumerable:${_}true,${n}` +
+                        `${t}value:${_}${rhs}${n}});`
+                    : `${lhs}${_}=${_}${rhs};`;
+        }
+    }
+    for (const { name, reexports } of dependencies) {
+        if (reexports && namedExportsMode) {
+            for (const specifier of reexports) {
+                if (specifier.reexported === '*') {
+                    if (exportBlock)
+                        exportBlock += n;
+                    if (!specifier.needsLiveBinding && reexportProtoFromExternal) {
+                        const protoString = "'__proto__'";
+                        exportBlock +=
+                            `Object.prototype.hasOwnProperty.call(${name},${_}${protoString})${_}&&${n}` +
+                                `${t}!Object.prototype.hasOwnProperty.call(exports,${_}${protoString})${_}&&${n}` +
+                                `${t}Object.defineProperty(exports,${_}${protoString},${_}{${n}` +
+                                `${t}${t}enumerable:${_}true,${n}` +
+                                `${t}${t}value:${_}${name}[${protoString}]${n}` +
+                                `${t}});${n}${n}`;
+                    }
+                    const copyPropertyIfNecessary = `{${n}${t}if${_}(k${_}!==${_}'default'${_}&&${_}!Object.prototype.hasOwnProperty.call(exports,${_}k))${_}${getDefineProperty(name, specifier.needsLiveBinding, t, snippets)}${s}${n}}`;
+                    exportBlock += `Object.keys(${name}).forEach(${getFunctionIntro(['k'], {
+                        isAsync: false,
+                        name: null
+                    })}${copyPropertyIfNecessary});`;
+                }
+            }
+        }
+    }
+    if (exportBlock) {
+        return `${n}${n}${exportBlock}`;
+    }
+    return '';
+}
+function getSingleDefaultExport(exports, dependencies, interop, externalLiveBindings, getPropertyAccess) {
+    if (exports.length > 0) {
+        return exports[0].local;
+    }
+    else {
+        for (const { defaultVariableName, importPath, isChunk, name, namedExportsMode: depNamedExportsMode, namespaceVariableName, reexports } of dependencies) {
+            if (reexports) {
+                return getReexportedImportName(name, reexports[0].imported, depNamedExportsMode, isChunk, defaultVariableName, namespaceVariableName, interop, importPath, externalLiveBindings, getPropertyAccess);
+            }
+        }
+    }
+}
+function getReexportedImportName(moduleVariableName, imported, depNamedExportsMode, isChunk, defaultVariableName, namespaceVariableName, interop, moduleId, externalLiveBindings, getPropertyAccess) {
+    if (imported === 'default') {
+        if (!isChunk) {
+            const moduleInterop = interop(moduleId);
+            const variableName = defaultInteropHelpersByInteropType[moduleInterop]
+                ? defaultVariableName
+                : moduleVariableName;
+            return isDefaultAProperty(moduleInterop, externalLiveBindings)
+                ? `${variableName}${getPropertyAccess('default')}`
+                : variableName;
+        }
+        return depNamedExportsMode
+            ? `${moduleVariableName}${getPropertyAccess('default')}`
+            : moduleVariableName;
+    }
+    if (imported === '*') {
+        return (isChunk ? !depNamedExportsMode : namespaceInteropHelpersByInteropType[interop(moduleId)])
+            ? namespaceVariableName
+            : moduleVariableName;
+    }
+    return `${moduleVariableName}${getPropertyAccess(imported)}`;
+}
+function getEsModuleValue(getObject) {
+    return getObject([['value', 'true']], {
+        lineBreakIndent: null
+    });
+}
+function getNamespaceMarkers(hasNamedExports, addEsModule, addNamespaceToStringTag, { _, getObject }) {
+    if (hasNamedExports) {
+        if (addEsModule) {
+            if (addNamespaceToStringTag) {
+                return `Object.defineProperties(exports,${_}${getObject([
+                    ['__esModule', getEsModuleValue(getObject)],
+                    [null, `[Symbol.toStringTag]:${_}${getToStringTagValue(getObject)}`]
+                ], {
+                    lineBreakIndent: null
+                })});`;
+            }
+            return `Object.defineProperty(exports,${_}'__esModule',${_}${getEsModuleValue(getObject)});`;
+        }
+        if (addNamespaceToStringTag) {
+            return `Object.defineProperty(exports,${_}Symbol.toStringTag,${_}${getToStringTagValue(getObject)});`;
+        }
+    }
+    return '';
+}
+const getDefineProperty = (name, needsLiveBinding, t, { _, getDirectReturnFunction, n }) => {
+    if (needsLiveBinding) {
+        const [left, right] = getDirectReturnFunction([], {
+            functionReturn: true,
+            lineBreakIndent: null,
+            name: null
+        });
+        return (`Object.defineProperty(exports,${_}k,${_}{${n}` +
+            `${t}${t}enumerable:${_}true,${n}` +
+            `${t}${t}get:${_}${left}${name}[k]${right}${n}${t}})`);
+    }
+    return `exports[k]${_}=${_}${name}[k]`;
+};
+
+function getInteropBlock(dependencies, interop, externalLiveBindings, freeze, symbols, accessedGlobals, indent, snippets) {
+    const { _, cnst, n } = snippets;
+    const neededInteropHelpers = new Set();
+    const interopStatements = [];
+    const addInteropStatement = (helperVariableName, helper, dependencyVariableName) => {
+        neededInteropHelpers.add(helper);
+        interopStatements.push(`${cnst} ${helperVariableName}${_}=${_}/*#__PURE__*/${helper}(${dependencyVariableName});`);
+    };
+    for (const { defaultVariableName, imports, importPath, isChunk, name, namedExportsMode, namespaceVariableName, reexports } of dependencies) {
+        if (isChunk) {
+            for (const { imported, reexported } of [
+                ...(imports || []),
+                ...(reexports || [])
+            ]) {
+                if (imported === '*' && reexported !== '*') {
+                    if (!namedExportsMode) {
+                        addInteropStatement(namespaceVariableName, INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE, name);
+                    }
+                    break;
+                }
+            }
+        }
+        else {
+            const moduleInterop = interop(importPath);
+            let hasDefault = false;
+            let hasNamespace = false;
+            for (const { imported, reexported } of [
+                ...(imports || []),
+                ...(reexports || [])
+            ]) {
+                let helper;
+                let variableName;
+                if (imported === 'default') {
+                    if (!hasDefault) {
+                        hasDefault = true;
+                        if (defaultVariableName !== namespaceVariableName) {
+                            variableName = defaultVariableName;
+                            helper = defaultInteropHelpersByInteropType[moduleInterop];
+                        }
+                    }
+                }
+                else if (imported === '*' && reexported !== '*' && !hasNamespace) {
+                    hasNamespace = true;
+                    helper = namespaceInteropHelpersByInteropType[moduleInterop];
+                    variableName = namespaceVariableName;
+                }
+                if (helper) {
+                    addInteropStatement(variableName, helper, name);
+                }
+            }
+        }
+    }
+    return `${getHelpersBlock(neededInteropHelpers, accessedGlobals, indent, snippets, externalLiveBindings, freeze, symbols)}${interopStatements.length > 0 ? `${interopStatements.join(n)}${n}${n}` : ''}`;
+}
+
+function addJsExtension(name) {
+    return name.endsWith('.js') ? name : name + '.js';
+}
+
+// AMD resolution will only respect the AMD baseUrl if the .js extension is omitted.
+// The assumption is that this makes sense for all relative ids:
+// https://requirejs.org/docs/api.html#jsfiles
+function updateExtensionForRelativeAmdId(id, forceJsExtensionForImports) {
+    if (id[0] !== '.') {
+        return id;
+    }
+    return forceJsExtensionForImports ? addJsExtension(id) : removeJsExtension(id);
+}
+
+const require$$0 = [
+	"assert",
+	"async_hooks",
+	"buffer",
+	"child_process",
+	"cluster",
+	"console",
+	"constants",
+	"crypto",
+	"dgram",
+	"diagnostics_channel",
+	"dns",
+	"domain",
+	"events",
+	"fs",
+	"http",
+	"http2",
+	"https",
+	"inspector",
+	"module",
+	"net",
+	"os",
+	"path",
+	"perf_hooks",
+	"process",
+	"punycode",
+	"querystring",
+	"readline",
+	"repl",
+	"stream",
+	"string_decoder",
+	"timers",
+	"tls",
+	"trace_events",
+	"tty",
+	"url",
+	"util",
+	"v8",
+	"vm",
+	"wasi",
+	"worker_threads",
+	"zlib"
+];
+
+var _static = require$$0;
+
+const builtinModules = /*@__PURE__*/getDefaultExportFromCjs(_static);
+
+const nodeBuiltins = new Set([
+    ...builtinModules,
+    // TODO
+    // remove once builtin-modules includes PR: https://github.com/sindresorhus/builtin-modules/pull/17
+    'assert/strict',
+    'dns/promises',
+    'fs/promises',
+    'path/posix',
+    'path/win32',
+    'readline/promises',
+    'stream/consumers',
+    'stream/promises',
+    'stream/web',
+    'timers/promises',
+    'util/types'
+]);
+function warnOnBuiltins(log, dependencies) {
+    const externalBuiltins = dependencies
+        .map(({ importPath }) => importPath)
+        .filter(importPath => nodeBuiltins.has(importPath) || importPath.startsWith('node:'));
+    if (externalBuiltins.length === 0)
+        return;
+    log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logMissingNodeBuiltins(externalBuiltins));
+}
+
+function amd(magicString, { accessedGlobals, dependencies, exports, hasDefaultExport, hasExports, id, indent: t, intro, isEntryFacade, isModuleFacade, namedExportsMode, log, outro, snippets }, { amd, esModule, externalLiveBindings, freeze, generatedCode: { symbols }, interop, reexportProtoFromExternal, strict }) {
+    warnOnBuiltins(log, dependencies);
+    const deps = dependencies.map(m => `'${updateExtensionForRelativeAmdId(m.importPath, amd.forceJsExtensionForImports)}'`);
+    const parameters = dependencies.map(m => m.name);
+    const { n, getNonArrowFunctionIntro, _ } = snippets;
+    if (namedExportsMode && hasExports) {
+        parameters.unshift(`exports`);
+        deps.unshift(`'exports'`);
+    }
+    if (accessedGlobals.has('require')) {
+        parameters.unshift('require');
+        deps.unshift(`'require'`);
+    }
+    if (accessedGlobals.has('module')) {
+        parameters.unshift('module');
+        deps.unshift(`'module'`);
+    }
+    const completeAmdId = getCompleteAmdId(amd, id);
+    const defineParameters = (completeAmdId ? `'${completeAmdId}',${_}` : ``) +
+        (deps.length > 0 ? `[${deps.join(`,${_}`)}],${_}` : ``);
+    const useStrict = strict ? `${_}'use strict';` : '';
+    magicString.prepend(`${intro}${getInteropBlock(dependencies, interop, externalLiveBindings, freeze, symbols, accessedGlobals, t, snippets)}`);
+    const exportBlock = getExportBlock$1(exports, dependencies, namedExportsMode, interop, snippets, t, externalLiveBindings, reexportProtoFromExternal);
+    let namespaceMarkers = getNamespaceMarkers(namedExportsMode && hasExports, isEntryFacade && (esModule === true || (esModule === 'if-default-prop' && hasDefaultExport)), isModuleFacade && symbols, snippets);
+    if (namespaceMarkers) {
+        namespaceMarkers = n + n + namespaceMarkers;
+    }
+    magicString
+        .append(`${exportBlock}${namespaceMarkers}${outro}`)
+        .indent(t)
+        // factory function should be wrapped by parentheses to avoid lazy parsing,
+        // cf. https://v8.dev/blog/preparser#pife
+        .prepend(`${amd.define}(${defineParameters}(${getNonArrowFunctionIntro(parameters, {
+        isAsync: false,
+        name: null
+    })}{${useStrict}${n}${n}`)
+        .append(`${n}${n}}));`);
+}
+
+function cjs(magicString, { accessedGlobals, dependencies, exports, hasDefaultExport, hasExports, indent: t, intro, isEntryFacade, isModuleFacade, namedExportsMode, outro, snippets }, { compact, esModule, externalLiveBindings, freeze, interop, generatedCode: { symbols }, reexportProtoFromExternal, strict }) {
+    const { _, n } = snippets;
+    const useStrict = strict ? `'use strict';${n}${n}` : '';
+    let namespaceMarkers = getNamespaceMarkers(namedExportsMode && hasExports, isEntryFacade && (esModule === true || (esModule === 'if-default-prop' && hasDefaultExport)), isModuleFacade && symbols, snippets);
+    if (namespaceMarkers) {
+        namespaceMarkers += n + n;
+    }
+    const importBlock = getImportBlock$1(dependencies, snippets, compact);
+    const interopBlock = getInteropBlock(dependencies, interop, externalLiveBindings, freeze, symbols, accessedGlobals, t, snippets);
+    magicString.prepend(`${useStrict}${intro}${namespaceMarkers}${importBlock}${interopBlock}`);
+    const exportBlock = getExportBlock$1(exports, dependencies, namedExportsMode, interop, snippets, t, externalLiveBindings, reexportProtoFromExternal, `module.exports${_}=${_}`);
+    magicString.append(`${exportBlock}${outro}`);
+}
+function getImportBlock$1(dependencies, { _, cnst, n }, compact) {
+    let importBlock = '';
+    let definingVariable = false;
+    for (const { importPath, name, reexports, imports } of dependencies) {
+        if (!reexports && !imports) {
+            if (importBlock) {
+                importBlock += compact && !definingVariable ? ',' : `;${n}`;
+            }
+            definingVariable = false;
+            importBlock += `require('${importPath}')`;
+        }
+        else {
+            importBlock += compact && definingVariable ? ',' : `${importBlock ? `;${n}` : ''}${cnst} `;
+            definingVariable = true;
+            importBlock += `${name}${_}=${_}require('${importPath}')`;
+        }
+    }
+    if (importBlock) {
+        return `${importBlock};${n}${n}`;
+    }
+    return '';
+}
+
+function es(magicString, { accessedGlobals, indent: t, intro, outro, dependencies, exports, snippets }, { externalLiveBindings, freeze, generatedCode: { symbols } }) {
+    const { n } = snippets;
+    const importBlock = getImportBlock(dependencies, snippets);
+    if (importBlock.length > 0)
+        intro += importBlock.join(n) + n + n;
+    intro += getHelpersBlock(null, accessedGlobals, t, snippets, externalLiveBindings, freeze, symbols);
+    if (intro)
+        magicString.prepend(intro);
+    const exportBlock = getExportBlock(exports, snippets);
+    if (exportBlock.length > 0)
+        magicString.append(n + n + exportBlock.join(n).trim());
+    if (outro)
+        magicString.append(outro);
+    magicString.trim();
+}
+function getImportBlock(dependencies, { _ }) {
+    const importBlock = [];
+    for (const { importPath, reexports, imports, name, attributes } of dependencies) {
+        const assertion = attributes ? `${_}assert${_}${attributes}` : '';
+        const pathWithAssertion = `'${importPath}'${assertion};`;
+        if (!reexports && !imports) {
+            importBlock.push(`import${_}${pathWithAssertion}`);
+            continue;
+        }
+        if (imports) {
+            let defaultImport = null;
+            let starImport = null;
+            const importedNames = [];
+            for (const specifier of imports) {
+                if (specifier.imported === 'default') {
+                    defaultImport = specifier;
+                }
+                else if (specifier.imported === '*') {
+                    starImport = specifier;
+                }
+                else {
+                    importedNames.push(specifier);
+                }
+            }
+            if (starImport) {
+                importBlock.push(`import${_}*${_}as ${starImport.local} from${_}${pathWithAssertion}`);
+            }
+            if (defaultImport && importedNames.length === 0) {
+                importBlock.push(`import ${defaultImport.local} from${_}${pathWithAssertion}`);
+            }
+            else if (importedNames.length > 0) {
+                importBlock.push(`import ${defaultImport ? `${defaultImport.local},${_}` : ''}{${_}${importedNames
+                    .map(specifier => specifier.imported === specifier.local
+                    ? specifier.imported
+                    : `${stringifyIdentifierIfNeeded(specifier.imported)} as ${specifier.local}`)
+                    .join(`,${_}`)}${_}}${_}from${_}${pathWithAssertion}`);
+            }
+        }
+        if (reexports) {
+            let starExport = null;
+            const namespaceReexports = [];
+            const namedReexports = [];
+            for (const specifier of reexports) {
+                if (specifier.reexported === '*') {
+                    starExport = specifier;
+                }
+                else if (specifier.imported === '*') {
+                    namespaceReexports.push(specifier);
+                }
+                else {
+                    namedReexports.push(specifier);
+                }
+            }
+            if (starExport) {
+                importBlock.push(`export${_}*${_}from${_}${pathWithAssertion}`);
+            }
+            if (namespaceReexports.length > 0) {
+                if (!imports ||
+                    !imports.some(specifier => specifier.imported === '*' && specifier.local === name)) {
+                    importBlock.push(`import${_}*${_}as ${name} from${_}${pathWithAssertion}`);
+                }
+                for (const specifier of namespaceReexports) {
+                    importBlock.push(`export${_}{${_}${name === specifier.reexported
+                        ? name
+                        : `${name} as ${stringifyIdentifierIfNeeded(specifier.reexported)}`} };`);
+                }
+            }
+            if (namedReexports.length > 0) {
+                importBlock.push(`export${_}{${_}${namedReexports
+                    .map(specifier => specifier.imported === specifier.reexported
+                    ? stringifyIdentifierIfNeeded(specifier.imported)
+                    : `${stringifyIdentifierIfNeeded(specifier.imported)} as ${stringifyIdentifierIfNeeded(specifier.reexported)}`)
+                    .join(`,${_}`)}${_}}${_}from${_}${pathWithAssertion}`);
+            }
+        }
+    }
+    return importBlock;
+}
+function getExportBlock(exports, { _, cnst }) {
+    const exportBlock = [];
+    const exportDeclaration = [];
+    for (const specifier of exports) {
+        if (specifier.expression) {
+            exportBlock.push(`${cnst} ${specifier.local}${_}=${_}${specifier.expression};`);
+        }
+        exportDeclaration.push(specifier.exported === specifier.local
+            ? specifier.local
+            : `${specifier.local} as ${stringifyIdentifierIfNeeded(specifier.exported)}`);
+    }
+    if (exportDeclaration.length > 0) {
+        exportBlock.push(`export${_}{${_}${exportDeclaration.join(`,${_}`)}${_}};`);
+    }
+    return exportBlock;
+}
+
+const keypath = (keypath, getPropertyAccess) => keypath.split('.').map(getPropertyAccess).join('');
+
+function setupNamespace(name, root, globals, { _, getPropertyAccess, s }, compact) {
+    const parts = name.split('.');
+    parts[0] = (typeof globals === 'function' ? globals(parts[0]) : globals[parts[0]]) || parts[0];
+    parts.pop();
+    let propertyPath = root;
+    return (parts
+        .map(part => {
+        propertyPath += getPropertyAccess(part);
+        return `${propertyPath}${_}=${_}${propertyPath}${_}||${_}{}${s}`;
+    })
+        .join(compact ? ',' : '\n') + (compact && parts.length > 0 ? ';' : '\n'));
+}
+function assignToDeepVariable(deepName, root, globals, assignment, { _, getPropertyAccess }) {
+    const parts = deepName.split('.');
+    parts[0] = (typeof globals === 'function' ? globals(parts[0]) : globals[parts[0]]) || parts[0];
+    const last = parts.pop();
+    let propertyPath = root;
+    let deepAssignment = [
+        ...parts.map(part => {
+            propertyPath += getPropertyAccess(part);
+            return `${propertyPath}${_}=${_}${propertyPath}${_}||${_}{}`;
+        }),
+        `${propertyPath}${getPropertyAccess(last)}`
+    ].join(`,${_}`) + `${_}=${_}${assignment}`;
+    if (parts.length > 0) {
+        deepAssignment = `(${deepAssignment})`;
+    }
+    return deepAssignment;
+}
+
+function trimEmptyImports(dependencies) {
+    let index = dependencies.length;
+    while (index--) {
+        const { imports, reexports } = dependencies[index];
+        if (imports || reexports) {
+            return dependencies.slice(0, index + 1);
+        }
+    }
+    return [];
+}
+
+function iife(magicString, { accessedGlobals, dependencies, exports, hasDefaultExport, hasExports, indent: t, intro, namedExportsMode, log, outro, snippets }, { compact, esModule, extend, freeze, externalLiveBindings, reexportProtoFromExternal, globals, interop, name, generatedCode: { symbols }, strict }) {
+    const { _, getNonArrowFunctionIntro, getPropertyAccess, n } = snippets;
+    const isNamespaced = name && name.includes('.');
+    const useVariableAssignment = !extend && !isNamespaced;
+    if (name && useVariableAssignment && !isLegal(name)) {
+        return parseAst_js.error(parseAst_js.logIllegalIdentifierAsName(name));
+    }
+    warnOnBuiltins(log, dependencies);
+    const external = trimEmptyImports(dependencies);
+    const deps = external.map(dep => dep.globalName || 'null');
+    const parameters = external.map(m => m.name);
+    if (hasExports && !name) {
+        log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logMissingNameOptionForIifeExport());
+    }
+    if (namedExportsMode && hasExports) {
+        if (extend) {
+            deps.unshift(`this${keypath(name, getPropertyAccess)}${_}=${_}this${keypath(name, getPropertyAccess)}${_}||${_}{}`);
+            parameters.unshift('exports');
+        }
+        else {
+            deps.unshift('{}');
+            parameters.unshift('exports');
+        }
+    }
+    const useStrict = strict ? `${t}'use strict';${n}` : '';
+    const interopBlock = getInteropBlock(dependencies, interop, externalLiveBindings, freeze, symbols, accessedGlobals, t, snippets);
+    magicString.prepend(`${intro}${interopBlock}`);
+    let wrapperIntro = `(${getNonArrowFunctionIntro(parameters, {
+        isAsync: false,
+        name: null
+    })}{${n}${useStrict}${n}`;
+    if (hasExports) {
+        if (name && !(extend && namedExportsMode)) {
+            wrapperIntro =
+                (useVariableAssignment ? `var ${name}` : `this${keypath(name, getPropertyAccess)}`) +
+                    `${_}=${_}${wrapperIntro}`;
+        }
+        if (isNamespaced) {
+            wrapperIntro = setupNamespace(name, 'this', globals, snippets, compact) + wrapperIntro;
+        }
+    }
+    let wrapperOutro = `${n}${n}})(${deps.join(`,${_}`)});`;
+    if (hasExports && !extend && namedExportsMode) {
+        wrapperOutro = `${n}${n}${t}return exports;${wrapperOutro}`;
+    }
+    const exportBlock = getExportBlock$1(exports, dependencies, namedExportsMode, interop, snippets, t, externalLiveBindings, reexportProtoFromExternal);
+    let namespaceMarkers = getNamespaceMarkers(namedExportsMode && hasExports, esModule === true || (esModule === 'if-default-prop' && hasDefaultExport), symbols, snippets);
+    if (namespaceMarkers) {
+        namespaceMarkers = n + n + namespaceMarkers;
+    }
+    magicString
+        .append(`${exportBlock}${namespaceMarkers}${outro}`)
+        .indent(t)
+        .prepend(wrapperIntro)
+        .append(wrapperOutro);
+}
+
+function system(magicString, { accessedGlobals, dependencies, exports, hasExports, indent: t, intro, snippets, outro, usesTopLevelAwait }, { externalLiveBindings, freeze, name, generatedCode: { symbols }, strict, systemNullSetters }) {
+    const { _, getFunctionIntro, getNonArrowFunctionIntro, n, s } = snippets;
+    const { importBindings, setters, starExcludes } = analyzeDependencies(dependencies, exports, t, snippets);
+    const registeredName = name ? `'${name}',${_}` : '';
+    const wrapperParameters = accessedGlobals.has('module')
+        ? ['exports', 'module']
+        : hasExports
+            ? ['exports']
+            : [];
+    // factory function should be wrapped by parentheses to avoid lazy parsing,
+    // cf. https://v8.dev/blog/preparser#pife
+    let wrapperStart = `System.register(${registeredName}[` +
+        dependencies.map(({ importPath }) => `'${importPath}'`).join(`,${_}`) +
+        `],${_}(${getNonArrowFunctionIntro(wrapperParameters, {
+            isAsync: false,
+            name: null
+        })}{${n}${t}${strict ? "'use strict';" : ''}` +
+        getStarExcludesBlock(starExcludes, t, snippets) +
+        getImportBindingsBlock(importBindings, t, snippets) +
+        `${n}${t}return${_}{${setters.length > 0
+            ? `${n}${t}${t}setters:${_}[${setters
+                .map(setter => setter
+                ? `${getFunctionIntro(['module'], {
+                    isAsync: false,
+                    name: null
+                })}{${n}${t}${t}${t}${setter}${n}${t}${t}}`
+                : systemNullSetters
+                    ? `null`
+                    : `${getFunctionIntro([], { isAsync: false, name: null })}{}`)
+                .join(`,${_}`)}],`
+            : ''}${n}`;
+    wrapperStart += `${t}${t}execute:${_}(${getNonArrowFunctionIntro([], {
+        isAsync: usesTopLevelAwait,
+        name: null
+    })}{${n}${n}`;
+    const wrapperEnd = `${t}${t}})${n}${t}}${s}${n}}));`;
+    magicString
+        .prepend(intro +
+        getHelpersBlock(null, accessedGlobals, t, snippets, externalLiveBindings, freeze, symbols) +
+        getHoistedExportsBlock(exports, t, snippets))
+        .append(`${outro}${n}${n}` +
+        getSyntheticExportsBlock(exports, t, snippets) +
+        getMissingExportsBlock(exports, t, snippets))
+        .indent(`${t}${t}${t}`)
+        .append(wrapperEnd)
+        .prepend(wrapperStart);
+}
+function analyzeDependencies(dependencies, exports, t, { _, cnst, getObject, getPropertyAccess, n }) {
+    const importBindings = [];
+    const setters = [];
+    let starExcludes = null;
+    for (const { imports, reexports } of dependencies) {
+        const setter = [];
+        if (imports) {
+            for (const specifier of imports) {
+                importBindings.push(specifier.local);
+                if (specifier.imported === '*') {
+                    setter.push(`${specifier.local}${_}=${_}module;`);
+                }
+                else {
+                    setter.push(`${specifier.local}${_}=${_}module${getPropertyAccess(specifier.imported)};`);
+                }
+            }
+        }
+        if (reexports) {
+            const reexportedNames = [];
+            let hasStarReexport = false;
+            for (const { imported, reexported } of reexports) {
+                if (reexported === '*') {
+                    hasStarReexport = true;
+                }
+                else {
+                    reexportedNames.push([
+                        reexported,
+                        imported === '*' ? 'module' : `module${getPropertyAccess(imported)}`
+                    ]);
+                }
+            }
+            if (reexportedNames.length > 1 || hasStarReexport) {
+                if (hasStarReexport) {
+                    if (!starExcludes) {
+                        starExcludes = getStarExcludes({ dependencies, exports });
+                    }
+                    reexportedNames.unshift([null, `__proto__:${_}null`]);
+                    const exportMapping = getObject(reexportedNames, { lineBreakIndent: null });
+                    setter.push(`${cnst} setter${_}=${_}${exportMapping};`, `for${_}(${cnst} name in module)${_}{`, `${t}if${_}(!_starExcludes[name])${_}setter[name]${_}=${_}module[name];`, '}', 'exports(setter);');
+                }
+                else {
+                    const exportMapping = getObject(reexportedNames, { lineBreakIndent: null });
+                    setter.push(`exports(${exportMapping});`);
+                }
+            }
+            else {
+                const [key, value] = reexportedNames[0];
+                setter.push(`exports(${JSON.stringify(key)},${_}${value});`);
+            }
+        }
+        setters.push(setter.join(`${n}${t}${t}${t}`));
+    }
+    return { importBindings, setters, starExcludes };
+}
+const getStarExcludes = ({ dependencies, exports }) => {
+    const starExcludes = new Set(exports.map(expt => expt.exported));
+    starExcludes.add('default');
+    for (const { reexports } of dependencies) {
+        if (reexports) {
+            for (const reexport of reexports) {
+                if (reexport.reexported !== '*')
+                    starExcludes.add(reexport.reexported);
+            }
+        }
+    }
+    return starExcludes;
+};
+const getStarExcludesBlock = (starExcludes, t, { _, cnst, getObject, n }) => {
+    if (starExcludes) {
+        const fields = [...starExcludes].map(property => [
+            property,
+            '1'
+        ]);
+        fields.unshift([null, `__proto__:${_}null`]);
+        return `${n}${t}${cnst} _starExcludes${_}=${_}${getObject(fields, {
+            lineBreakIndent: { base: t, t }
+        })};`;
+    }
+    return '';
+};
+const getImportBindingsBlock = (importBindings, t, { _, n }) => (importBindings.length > 0 ? `${n}${t}var ${importBindings.join(`,${_}`)};` : '');
+const getHoistedExportsBlock = (exports, t, snippets) => getExportsBlock(exports.filter(expt => expt.hoisted).map(expt => ({ name: expt.exported, value: expt.local })), t, snippets);
+function getExportsBlock(exports, t, { _, n }) {
+    if (exports.length === 0) {
+        return '';
+    }
+    if (exports.length === 1) {
+        return `exports(${JSON.stringify(exports[0].name)},${_}${exports[0].value});${n}${n}`;
+    }
+    return (`exports({${n}` +
+        exports
+            .map(({ name, value }) => `${t}${stringifyObjectKeyIfNeeded(name)}:${_}${value}`)
+            .join(`,${n}`) +
+        `${n}});${n}${n}`);
+}
+const getSyntheticExportsBlock = (exports, t, snippets) => getExportsBlock(exports
+    .filter(expt => expt.expression)
+    .map(expt => ({ name: expt.exported, value: expt.local })), t, snippets);
+const getMissingExportsBlock = (exports, t, snippets) => getExportsBlock(exports
+    .filter(expt => expt.local === MISSING_EXPORT_SHIM_VARIABLE)
+    .map(expt => ({ name: expt.exported, value: MISSING_EXPORT_SHIM_VARIABLE })), t, snippets);
+
+function globalProperty(name, globalVariable, getPropertyAccess) {
+    if (!name)
+        return 'null';
+    return `${globalVariable}${keypath(name, getPropertyAccess)}`;
+}
+function safeAccess(name, globalVariable, { _, getPropertyAccess }) {
+    let propertyPath = globalVariable;
+    return name
+        .split('.')
+        .map(part => (propertyPath += getPropertyAccess(part)))
+        .join(`${_}&&${_}`);
+}
+function umd(magicString, { accessedGlobals, dependencies, exports, hasDefaultExport, hasExports, id, indent: t, intro, namedExportsMode, log, outro, snippets }, { amd, compact, esModule, extend, externalLiveBindings, freeze, interop, name, generatedCode: { symbols }, globals, noConflict, reexportProtoFromExternal, strict }) {
+    const { _, cnst, getFunctionIntro, getNonArrowFunctionIntro, getPropertyAccess, n, s } = snippets;
+    const factoryVariable = compact ? 'f' : 'factory';
+    const globalVariable = compact ? 'g' : 'global';
+    if (hasExports && !name) {
+        return parseAst_js.error(parseAst_js.logMissingNameOptionForUmdExport());
+    }
+    warnOnBuiltins(log, dependencies);
+    const amdDeps = dependencies.map(m => `'${updateExtensionForRelativeAmdId(m.importPath, amd.forceJsExtensionForImports)}'`);
+    const cjsDeps = dependencies.map(m => `require('${m.importPath}')`);
+    const trimmedImports = trimEmptyImports(dependencies);
+    const globalDeps = trimmedImports.map(module => globalProperty(module.globalName, globalVariable, getPropertyAccess));
+    const factoryParameters = trimmedImports.map(m => m.name);
+    if (namedExportsMode && (hasExports || noConflict)) {
+        amdDeps.unshift(`'exports'`);
+        cjsDeps.unshift(`exports`);
+        globalDeps.unshift(assignToDeepVariable(name, globalVariable, globals, `${extend ? `${globalProperty(name, globalVariable, getPropertyAccess)}${_}||${_}` : ''}{}`, snippets));
+        factoryParameters.unshift('exports');
+    }
+    const completeAmdId = getCompleteAmdId(amd, id);
+    const amdParameters = (completeAmdId ? `'${completeAmdId}',${_}` : ``) +
+        (amdDeps.length > 0 ? `[${amdDeps.join(`,${_}`)}],${_}` : ``);
+    const define = amd.define;
+    const cjsExport = !namedExportsMode && hasExports ? `module.exports${_}=${_}` : ``;
+    const useStrict = strict ? `${_}'use strict';${n}` : ``;
+    let iifeExport;
+    if (noConflict) {
+        const noConflictExportsVariable = compact ? 'e' : 'exports';
+        let factory;
+        if (!namedExportsMode && hasExports) {
+            factory = `${cnst} ${noConflictExportsVariable}${_}=${_}${assignToDeepVariable(name, globalVariable, globals, `${factoryVariable}(${globalDeps.join(`,${_}`)})`, snippets)};`;
+        }
+        else {
+            const module = globalDeps.shift();
+            factory =
+                `${cnst} ${noConflictExportsVariable}${_}=${_}${module};${n}` +
+                    `${t}${t}${factoryVariable}(${[noConflictExportsVariable, ...globalDeps].join(`,${_}`)});`;
+        }
+        iifeExport =
+            `(${getFunctionIntro([], { isAsync: false, name: null })}{${n}` +
+                `${t}${t}${cnst} current${_}=${_}${safeAccess(name, globalVariable, snippets)};${n}` +
+                `${t}${t}${factory}${n}` +
+                `${t}${t}${noConflictExportsVariable}.noConflict${_}=${_}${getFunctionIntro([], {
+                    isAsync: false,
+                    name: null
+                })}{${_}` +
+                `${globalProperty(name, globalVariable, getPropertyAccess)}${_}=${_}current;${_}return ${noConflictExportsVariable}${s}${_}};${n}` +
+                `${t}})()`;
+    }
+    else {
+        iifeExport = `${factoryVariable}(${globalDeps.join(`,${_}`)})`;
+        if (!namedExportsMode && hasExports) {
+            iifeExport = assignToDeepVariable(name, globalVariable, globals, iifeExport, snippets);
+        }
+    }
+    const iifeNeedsGlobal = hasExports || (noConflict && namedExportsMode) || globalDeps.length > 0;
+    const wrapperParameters = [factoryVariable];
+    if (iifeNeedsGlobal) {
+        wrapperParameters.unshift(globalVariable);
+    }
+    const globalArgument = iifeNeedsGlobal ? `this,${_}` : '';
+    const iifeStart = iifeNeedsGlobal
+        ? `(${globalVariable}${_}=${_}typeof globalThis${_}!==${_}'undefined'${_}?${_}globalThis${_}:${_}${globalVariable}${_}||${_}self,${_}`
+        : '';
+    const iifeEnd = iifeNeedsGlobal ? ')' : '';
+    const cjsIntro = iifeNeedsGlobal
+        ? `${t}typeof exports${_}===${_}'object'${_}&&${_}typeof module${_}!==${_}'undefined'${_}?` +
+            `${_}${cjsExport}${factoryVariable}(${cjsDeps.join(`,${_}`)})${_}:${n}`
+        : '';
+    const wrapperIntro = `(${getNonArrowFunctionIntro(wrapperParameters, { isAsync: false, name: null })}{${n}` +
+        cjsIntro +
+        `${t}typeof ${define}${_}===${_}'function'${_}&&${_}${define}.amd${_}?${_}${define}(${amdParameters}${factoryVariable})${_}:${n}` +
+        `${t}${iifeStart}${iifeExport}${iifeEnd};${n}` +
+        // factory function should be wrapped by parentheses to avoid lazy parsing,
+        // cf. https://v8.dev/blog/preparser#pife
+        `})(${globalArgument}(${getNonArrowFunctionIntro(factoryParameters, {
+            isAsync: false,
+            name: null
+        })}{${useStrict}${n}`;
+    const wrapperOutro = n + n + '}));';
+    magicString.prepend(`${intro}${getInteropBlock(dependencies, interop, externalLiveBindings, freeze, symbols, accessedGlobals, t, snippets)}`);
+    const exportBlock = getExportBlock$1(exports, dependencies, namedExportsMode, interop, snippets, t, externalLiveBindings, reexportProtoFromExternal);
+    let namespaceMarkers = getNamespaceMarkers(namedExportsMode && hasExports, esModule === true || (esModule === 'if-default-prop' && hasDefaultExport), symbols, snippets);
+    if (namespaceMarkers) {
+        namespaceMarkers = n + n + namespaceMarkers;
+    }
+    magicString
+        .append(`${exportBlock}${namespaceMarkers}${outro}`)
+        .trim()
+        .indent(t)
+        .append(wrapperOutro)
+        .prepend(wrapperIntro);
+}
+
+const finalisers = { amd, cjs, es, iife, system, umd };
+
+const concatSeparator = (out, next) => (next ? `${out}\n${next}` : out);
+const concatDblSeparator = (out, next) => (next ? `${out}\n\n${next}` : out);
+async function createAddons(options, outputPluginDriver, chunk) {
+    try {
+        let [banner, footer, intro, outro] = await Promise.all([
+            outputPluginDriver.hookReduceValue('banner', options.banner(chunk), [chunk], concatSeparator),
+            outputPluginDriver.hookReduceValue('footer', options.footer(chunk), [chunk], concatSeparator),
+            outputPluginDriver.hookReduceValue('intro', options.intro(chunk), [chunk], concatDblSeparator),
+            outputPluginDriver.hookReduceValue('outro', options.outro(chunk), [chunk], concatDblSeparator)
+        ]);
+        if (intro)
+            intro += '\n\n';
+        if (outro)
+            outro = `\n\n${outro}`;
+        if (banner)
+            banner += '\n';
+        if (footer)
+            footer = '\n' + footer;
+        return { banner, footer, intro, outro };
+    }
+    catch (error_) {
+        return parseAst_js.error(parseAst_js.logAddonNotGenerated(error_.message, error_.hook, error_.plugin));
+    }
+}
+
+const DECONFLICT_IMPORTED_VARIABLES_BY_FORMAT = {
+    amd: deconflictImportsOther,
+    cjs: deconflictImportsOther,
+    es: deconflictImportsEsmOrSystem,
+    iife: deconflictImportsOther,
+    system: deconflictImportsEsmOrSystem,
+    umd: deconflictImportsOther
+};
+function deconflictChunk(modules, dependenciesToBeDeconflicted, imports, usedNames, format, interop, preserveModules, externalLiveBindings, chunkByModule, externalChunkByModule, syntheticExports, exportNamesByVariable, accessedGlobalsByScope, includedNamespaces) {
+    const reversedModules = [...modules].reverse();
+    for (const module of reversedModules) {
+        module.scope.addUsedOutsideNames(usedNames, format, exportNamesByVariable, accessedGlobalsByScope);
+    }
+    deconflictTopLevelVariables(usedNames, reversedModules, includedNamespaces);
+    DECONFLICT_IMPORTED_VARIABLES_BY_FORMAT[format](usedNames, imports, dependenciesToBeDeconflicted, interop, preserveModules, externalLiveBindings, chunkByModule, externalChunkByModule, syntheticExports);
+    for (const module of reversedModules) {
+        module.scope.deconflict(format, exportNamesByVariable, accessedGlobalsByScope);
+    }
+}
+function deconflictImportsEsmOrSystem(usedNames, imports, dependenciesToBeDeconflicted, _interop, preserveModules, _externalLiveBindings, chunkByModule, externalChunkByModule, syntheticExports) {
+    // This is needed for namespace reexports
+    for (const dependency of dependenciesToBeDeconflicted.dependencies) {
+        if (preserveModules || dependency instanceof ExternalChunk) {
+            dependency.variableName = getSafeName(dependency.suggestedVariableName, usedNames, null);
+        }
+    }
+    for (const variable of imports) {
+        const module = variable.module;
+        const name = variable.name;
+        if (variable.isNamespace && (preserveModules || module instanceof ExternalModule)) {
+            variable.setRenderNames(null, (module instanceof ExternalModule
+                ? externalChunkByModule.get(module)
+                : chunkByModule.get(module)).variableName);
+        }
+        else if (module instanceof ExternalModule && name === 'default') {
+            variable.setRenderNames(null, getSafeName([...module.exportedVariables].some(([exportedVariable, exportedName]) => exportedName === '*' && exportedVariable.included)
+                ? module.suggestedVariableName + '__default'
+                : module.suggestedVariableName, usedNames, variable.forbiddenNames));
+        }
+        else {
+            variable.setRenderNames(null, getSafeName(makeLegal(name), usedNames, variable.forbiddenNames));
+        }
+    }
+    for (const variable of syntheticExports) {
+        variable.setRenderNames(null, getSafeName(variable.name, usedNames, variable.forbiddenNames));
+    }
+}
+function deconflictImportsOther(usedNames, imports, { deconflictedDefault, deconflictedNamespace, dependencies }, interop, preserveModules, externalLiveBindings, chunkByModule, externalChunkByModule) {
+    for (const chunk of dependencies) {
+        chunk.variableName = getSafeName(chunk.suggestedVariableName, usedNames, null);
+    }
+    for (const chunk of deconflictedNamespace) {
+        chunk.namespaceVariableName = getSafeName(`${chunk.suggestedVariableName}__namespace`, usedNames, null);
+    }
+    for (const externalModule of deconflictedDefault) {
+        externalModule.defaultVariableName =
+            deconflictedNamespace.has(externalModule) &&
+                canDefaultBeTakenFromNamespace(interop(externalModule.id), externalLiveBindings)
+                ? externalModule.namespaceVariableName
+                : getSafeName(`${externalModule.suggestedVariableName}__default`, usedNames, null);
+    }
+    for (const variable of imports) {
+        const module = variable.module;
+        if (module instanceof ExternalModule) {
+            const chunk = externalChunkByModule.get(module);
+            const name = variable.name;
+            if (name === 'default') {
+                const moduleInterop = interop(module.id);
+                const variableName = defaultInteropHelpersByInteropType[moduleInterop]
+                    ? chunk.defaultVariableName
+                    : chunk.variableName;
+                if (isDefaultAProperty(moduleInterop, externalLiveBindings)) {
+                    variable.setRenderNames(variableName, 'default');
+                }
+                else {
+                    variable.setRenderNames(null, variableName);
+                }
+            }
+            else if (name === '*') {
+                variable.setRenderNames(null, namespaceInteropHelpersByInteropType[interop(module.id)]
+                    ? chunk.namespaceVariableName
+                    : chunk.variableName);
+            }
+            else {
+                // if the second parameter is `null`, it uses its "name" for the property name
+                variable.setRenderNames(chunk.variableName, null);
+            }
+        }
+        else {
+            const chunk = chunkByModule.get(module);
+            if (preserveModules && variable.isNamespace) {
+                variable.setRenderNames(null, chunk.exportMode === 'default' ? chunk.namespaceVariableName : chunk.variableName);
+            }
+            else if (chunk.exportMode === 'default') {
+                variable.setRenderNames(null, chunk.variableName);
+            }
+            else {
+                variable.setRenderNames(chunk.variableName, chunk.getVariableExportName(variable));
+            }
+        }
+    }
+}
+function deconflictTopLevelVariables(usedNames, modules, includedNamespaces) {
+    for (const module of modules) {
+        for (const variable of module.scope.variables.values()) {
+            if (variable.included &&
+                // this will only happen for exports in some formats
+                !(variable.renderBaseName ||
+                    (variable instanceof ExportDefaultVariable && variable.getOriginalVariable() !== variable))) {
+                variable.setRenderNames(null, getSafeName(variable.name, usedNames, variable.forbiddenNames));
+            }
+        }
+        if (includedNamespaces.has(module)) {
+            const namespace = module.namespace;
+            namespace.setRenderNames(null, getSafeName(namespace.name, usedNames, namespace.forbiddenNames));
+        }
+    }
+}
+
+function assignExportsToMangledNames(exports, exportsByName, exportNamesByVariable) {
+    let nameIndex = 0;
+    for (const variable of exports) {
+        let [exportName] = variable.name;
+        if (exportsByName.has(exportName)) {
+            do {
+                exportName = toBase64(++nameIndex);
+                // skip past leading number identifiers
+                if (exportName.charCodeAt(0) === 49 /* '1' */) {
+                    nameIndex += 9 * 64 ** (exportName.length - 1);
+                    exportName = toBase64(nameIndex);
+                }
+            } while (RESERVED_NAMES.has(exportName) || exportsByName.has(exportName));
+        }
+        exportsByName.set(exportName, variable);
+        exportNamesByVariable.set(variable, [exportName]);
+    }
+}
+function assignExportsToNames(exports, exportsByName, exportNamesByVariable) {
+    for (const variable of exports) {
+        let nameIndex = 0;
+        let exportName = variable.name;
+        while (exportsByName.has(exportName)) {
+            exportName = variable.name + '$' + ++nameIndex;
+        }
+        exportsByName.set(exportName, variable);
+        exportNamesByVariable.set(variable, [exportName]);
+    }
+}
+
+function getExportMode(chunk, { exports: exportMode, name, format }, facadeModuleId, log) {
+    const exportKeys = chunk.getExportNames();
+    if (exportMode === 'default') {
+        if (exportKeys.length !== 1 || exportKeys[0] !== 'default') {
+            return parseAst_js.error(parseAst_js.logIncompatibleExportOptionValue('default', exportKeys, facadeModuleId));
+        }
+    }
+    else if (exportMode === 'none' && exportKeys.length > 0) {
+        return parseAst_js.error(parseAst_js.logIncompatibleExportOptionValue('none', exportKeys, facadeModuleId));
+    }
+    if (exportMode === 'auto') {
+        if (exportKeys.length === 0) {
+            exportMode = 'none';
+        }
+        else if (exportKeys.length === 1 && exportKeys[0] === 'default') {
+            exportMode = 'default';
+        }
+        else {
+            if (format !== 'es' && format !== 'system' && exportKeys.includes('default')) {
+                log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logMixedExport(facadeModuleId, name));
+            }
+            exportMode = 'named';
+        }
+    }
+    return exportMode;
+}
+
+function guessIndentString(code) {
+    const lines = code.split('\n');
+    const tabbed = lines.filter(line => /^\t+/.test(line));
+    const spaced = lines.filter(line => /^ {2,}/.test(line));
+    if (tabbed.length === 0 && spaced.length === 0) {
+        return null;
+    }
+    // More lines tabbed than spaced? Assume tabs, and
+    // default to tabs in the case of a tie (or nothing
+    // to go on)
+    if (tabbed.length >= spaced.length) {
+        return '\t';
+    }
+    // Otherwise, we need to guess the multiple
+    const min = spaced.reduce((previous, current) => {
+        const numberSpaces = /^ +/.exec(current)[0].length;
+        return Math.min(numberSpaces, previous);
+    }, Infinity);
+    return ' '.repeat(min);
+}
+function getIndentString(modules, options) {
+    if (options.indent !== true)
+        return options.indent;
+    for (const module of modules) {
+        const indent = guessIndentString(module.originalCode);
+        if (indent !== null)
+            return indent;
+    }
+    return '\t';
+}
+
+function getStaticDependencies(chunk, orderedModules, chunkByModule, externalChunkByModule) {
+    const staticDependencyBlocks = [];
+    const handledDependencies = new Set();
+    for (let modulePos = orderedModules.length - 1; modulePos >= 0; modulePos--) {
+        const module = orderedModules[modulePos];
+        if (!handledDependencies.has(module)) {
+            const staticDependencies = [];
+            addStaticDependencies(module, staticDependencies, handledDependencies, chunk, chunkByModule, externalChunkByModule);
+            staticDependencyBlocks.unshift(staticDependencies);
+        }
+    }
+    const dependencies = new Set();
+    for (const block of staticDependencyBlocks) {
+        for (const dependency of block) {
+            dependencies.add(dependency);
+        }
+    }
+    return dependencies;
+}
+function addStaticDependencies(module, staticDependencies, handledModules, chunk, chunkByModule, externalChunkByModule) {
+    const dependencies = module.getDependenciesToBeIncluded();
+    for (const dependency of dependencies) {
+        if (dependency instanceof ExternalModule) {
+            staticDependencies.push(externalChunkByModule.get(dependency));
+            continue;
+        }
+        const dependencyChunk = chunkByModule.get(dependency);
+        if (dependencyChunk !== chunk) {
+            staticDependencies.push(dependencyChunk);
+            continue;
+        }
+        if (!handledModules.has(dependency)) {
+            handledModules.add(dependency);
+            addStaticDependencies(dependency, staticDependencies, handledModules, chunk, chunkByModule, externalChunkByModule);
+        }
+    }
+}
+
+const NON_ASSET_EXTENSIONS = new Set([
+    '.js',
+    '.jsx',
+    '.ts',
+    '.tsx',
+    '.mjs',
+    '.mts',
+    '.cjs',
+    '.cts'
+]);
+function getGlobalName(chunk, globals, hasExports, log) {
+    const globalName = typeof globals === 'function' ? globals(chunk.id) : globals[chunk.id];
+    if (globalName) {
+        return globalName;
+    }
+    if (hasExports) {
+        log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logMissingGlobalName(chunk.id, chunk.variableName));
+        return chunk.variableName;
+    }
+}
+class Chunk {
+    constructor(orderedModules, inputOptions, outputOptions, unsetOptions, pluginDriver, modulesById, chunkByModule, externalChunkByModule, facadeChunkByModule, includedNamespaces, manualChunkAlias, getPlaceholder, bundle, inputBase, snippets) {
+        this.orderedModules = orderedModules;
+        this.inputOptions = inputOptions;
+        this.outputOptions = outputOptions;
+        this.unsetOptions = unsetOptions;
+        this.pluginDriver = pluginDriver;
+        this.modulesById = modulesById;
+        this.chunkByModule = chunkByModule;
+        this.externalChunkByModule = externalChunkByModule;
+        this.facadeChunkByModule = facadeChunkByModule;
+        this.includedNamespaces = includedNamespaces;
+        this.manualChunkAlias = manualChunkAlias;
+        this.getPlaceholder = getPlaceholder;
+        this.bundle = bundle;
+        this.inputBase = inputBase;
+        this.snippets = snippets;
+        this.entryModules = [];
+        this.exportMode = 'named';
+        this.facadeModule = null;
+        this.namespaceVariableName = '';
+        this.variableName = '';
+        this.accessedGlobalsByScope = new Map();
+        this.dependencies = new Set();
+        this.dynamicEntryModules = [];
+        this.dynamicName = null;
+        this.exportNamesByVariable = new Map();
+        this.exports = new Set();
+        this.exportsByName = new Map();
+        this.fileName = null;
+        this.implicitEntryModules = [];
+        this.implicitlyLoadedBefore = new Set();
+        this.imports = new Set();
+        this.includedDynamicImports = null;
+        this.includedReexportsByModule = new Map();
+        // This may be updated in the constructor
+        this.isEmpty = true;
+        this.name = null;
+        this.needsExportsShim = false;
+        this.preRenderedChunkInfo = null;
+        this.preliminaryFileName = null;
+        this.preliminarySourcemapFileName = null;
+        this.renderedChunkInfo = null;
+        this.renderedDependencies = null;
+        this.renderedModules = Object.create(null);
+        this.sortedExportNames = null;
+        this.strictFacade = false;
+        this.execIndex = orderedModules.length > 0 ? orderedModules[0].execIndex : Infinity;
+        const chunkModules = new Set(orderedModules);
+        for (const module of orderedModules) {
+            chunkByModule.set(module, this);
+            if (module.namespace.included && !outputOptions.preserveModules) {
+                includedNamespaces.add(module);
+            }
+            if (this.isEmpty && module.isIncluded()) {
+                this.isEmpty = false;
+            }
+            if (module.info.isEntry || outputOptions.preserveModules) {
+                this.entryModules.push(module);
+            }
+            for (const importer of module.includedDynamicImporters) {
+                if (!chunkModules.has(importer)) {
+                    this.dynamicEntryModules.push(module);
+                    // Modules with synthetic exports need an artificial namespace for dynamic imports
+                    if (module.info.syntheticNamedExports) {
+                        includedNamespaces.add(module);
+                        this.exports.add(module.namespace);
+                    }
+                }
+            }
+            if (module.implicitlyLoadedAfter.size > 0) {
+                this.implicitEntryModules.push(module);
+            }
+        }
+        this.suggestedVariableName = makeLegal(this.generateVariableName());
+    }
+    static generateFacade(inputOptions, outputOptions, unsetOptions, pluginDriver, modulesById, chunkByModule, externalChunkByModule, facadeChunkByModule, includedNamespaces, facadedModule, facadeName, getPlaceholder, bundle, inputBase, snippets) {
+        const chunk = new Chunk([], inputOptions, outputOptions, unsetOptions, pluginDriver, modulesById, chunkByModule, externalChunkByModule, facadeChunkByModule, includedNamespaces, null, getPlaceholder, bundle, inputBase, snippets);
+        chunk.assignFacadeName(facadeName, facadedModule);
+        if (!facadeChunkByModule.has(facadedModule)) {
+            facadeChunkByModule.set(facadedModule, chunk);
+        }
+        for (const dependency of facadedModule.getDependenciesToBeIncluded()) {
+            chunk.dependencies.add(dependency instanceof Module
+                ? chunkByModule.get(dependency)
+                : externalChunkByModule.get(dependency));
+        }
+        if (!chunk.dependencies.has(chunkByModule.get(facadedModule)) &&
+            facadedModule.info.moduleSideEffects &&
+            facadedModule.hasEffects()) {
+            chunk.dependencies.add(chunkByModule.get(facadedModule));
+        }
+        chunk.ensureReexportsAreAvailableForModule(facadedModule);
+        chunk.facadeModule = facadedModule;
+        chunk.strictFacade = true;
+        return chunk;
+    }
+    canModuleBeFacade(module, exposedVariables) {
+        const moduleExportNamesByVariable = module.getExportNamesByVariable();
+        // All exports of this chunk need to be exposed by the candidate module
+        for (const exposedVariable of this.exports) {
+            if (!moduleExportNamesByVariable.has(exposedVariable)) {
+                return false;
+            }
+        }
+        // Additionally, we need to expose namespaces of dynamic entries that are not the facade module and exports from other entry modules
+        for (const exposedVariable of exposedVariables) {
+            if (!(exposedVariable.module === module ||
+                moduleExportNamesByVariable.has(exposedVariable) ||
+                (exposedVariable instanceof SyntheticNamedExportVariable &&
+                    moduleExportNamesByVariable.has(exposedVariable.getBaseVariable())))) {
+                return false;
+            }
+        }
+        return true;
+    }
+    finalizeChunk(code, map, sourcemapFileName, hashesByPlaceholder) {
+        const renderedChunkInfo = this.getRenderedChunkInfo();
+        const finalize = (code) => replacePlaceholders(code, hashesByPlaceholder);
+        const preliminaryFileName = renderedChunkInfo.fileName;
+        const fileName = (this.fileName = finalize(preliminaryFileName));
+        return {
+            ...renderedChunkInfo,
+            code,
+            dynamicImports: renderedChunkInfo.dynamicImports.map(finalize),
+            fileName,
+            implicitlyLoadedBefore: renderedChunkInfo.implicitlyLoadedBefore.map(finalize),
+            importedBindings: Object.fromEntries(Object.entries(renderedChunkInfo.importedBindings).map(([fileName, bindings]) => [
+                finalize(fileName),
+                bindings
+            ])),
+            imports: renderedChunkInfo.imports.map(finalize),
+            map,
+            preliminaryFileName,
+            referencedFiles: renderedChunkInfo.referencedFiles.map(finalize),
+            sourcemapFileName
+        };
+    }
+    generateExports() {
+        this.sortedExportNames = null;
+        const remainingExports = new Set(this.exports);
+        if (this.facadeModule !== null &&
+            (this.facadeModule.preserveSignature !== false || this.strictFacade)) {
+            const exportNamesByVariable = this.facadeModule.getExportNamesByVariable();
+            for (const [variable, exportNames] of exportNamesByVariable) {
+                this.exportNamesByVariable.set(variable, [...exportNames]);
+                for (const exportName of exportNames) {
+                    this.exportsByName.set(exportName, variable);
+                }
+                remainingExports.delete(variable);
+            }
+        }
+        if (this.outputOptions.minifyInternalExports) {
+            assignExportsToMangledNames(remainingExports, this.exportsByName, this.exportNamesByVariable);
+        }
+        else {
+            assignExportsToNames(remainingExports, this.exportsByName, this.exportNamesByVariable);
+        }
+        if (this.outputOptions.preserveModules || (this.facadeModule && this.facadeModule.info.isEntry))
+            this.exportMode = getExportMode(this, this.outputOptions, this.facadeModule.id, this.inputOptions.onLog);
+    }
+    generateFacades() {
+        const facades = [];
+        const entryModules = new Set([...this.entryModules, ...this.implicitEntryModules]);
+        const exposedVariables = new Set(this.dynamicEntryModules.map(({ namespace }) => namespace));
+        for (const module of entryModules) {
+            if (module.preserveSignature) {
+                for (const exportedVariable of module.getExportNamesByVariable().keys()) {
+                    // We need to expose all entry exports from this chunk
+                    if (this.chunkByModule.get(exportedVariable.module) === this) {
+                        exposedVariables.add(exportedVariable);
+                    }
+                }
+            }
+        }
+        for (const module of entryModules) {
+            // eslint-disable-next-line unicorn/prefer-spread
+            const requiredFacades = Array.from(new Set(module.chunkNames.filter(({ isUserDefined }) => isUserDefined).map(({ name }) => name)), 
+            // mapping must run after Set 'name' dedupe
+            name => ({
+                name
+            }));
+            if (requiredFacades.length === 0 && module.isUserDefinedEntryPoint) {
+                requiredFacades.push({});
+            }
+            // eslint-disable-next-line unicorn/prefer-spread
+            requiredFacades.push(...Array.from(module.chunkFileNames, fileName => ({ fileName })));
+            if (requiredFacades.length === 0) {
+                requiredFacades.push({});
+            }
+            if (!this.facadeModule) {
+                const needsStrictFacade = !this.outputOptions.preserveModules &&
+                    (module.preserveSignature === 'strict' ||
+                        (module.preserveSignature === 'exports-only' &&
+                            module.getExportNamesByVariable().size > 0));
+                if (!needsStrictFacade || this.canModuleBeFacade(module, exposedVariables)) {
+                    this.facadeModule = module;
+                    this.facadeChunkByModule.set(module, this);
+                    if (module.preserveSignature) {
+                        this.strictFacade = needsStrictFacade;
+                    }
+                    this.assignFacadeName(requiredFacades.shift(), module, this.outputOptions.preserveModules);
+                }
+            }
+            for (const facadeName of requiredFacades) {
+                facades.push(Chunk.generateFacade(this.inputOptions, this.outputOptions, this.unsetOptions, this.pluginDriver, this.modulesById, this.chunkByModule, this.externalChunkByModule, this.facadeChunkByModule, this.includedNamespaces, module, facadeName, this.getPlaceholder, this.bundle, this.inputBase, this.snippets));
+            }
+        }
+        for (const module of this.dynamicEntryModules) {
+            if (module.info.syntheticNamedExports)
+                continue;
+            if (!this.facadeModule && this.canModuleBeFacade(module, exposedVariables)) {
+                this.facadeModule = module;
+                this.facadeChunkByModule.set(module, this);
+                this.strictFacade = true;
+                this.dynamicName = getChunkNameFromModule(module);
+            }
+            else if (this.facadeModule === module &&
+                !this.strictFacade &&
+                this.canModuleBeFacade(module, exposedVariables)) {
+                this.strictFacade = true;
+            }
+            else if (!this.facadeChunkByModule.get(module)?.strictFacade) {
+                this.includedNamespaces.add(module);
+                this.exports.add(module.namespace);
+            }
+        }
+        if (!this.outputOptions.preserveModules) {
+            this.addNecessaryImportsForFacades();
+        }
+        return facades;
+    }
+    getChunkName() {
+        return (this.name ??= this.outputOptions.sanitizeFileName(this.getFallbackChunkName()));
+    }
+    getExportNames() {
+        return (this.sortedExportNames ??= [...this.exportsByName.keys()].sort());
+    }
+    getFileName() {
+        return this.fileName || this.getPreliminaryFileName().fileName;
+    }
+    getImportPath(importer) {
+        return escapeId(parseAst_js.getImportPath(importer, this.getFileName(), this.outputOptions.format === 'amd' && !this.outputOptions.amd.forceJsExtensionForImports, true));
+    }
+    getPreliminaryFileName() {
+        if (this.preliminaryFileName) {
+            return this.preliminaryFileName;
+        }
+        let fileName;
+        let hashPlaceholder = null;
+        const { chunkFileNames, entryFileNames, file, format, preserveModules } = this.outputOptions;
+        if (file) {
+            fileName = node_path.basename(file);
+        }
+        else if (this.fileName === null) {
+            const [pattern, patternName] = preserveModules || this.facadeModule?.isUserDefinedEntryPoint
+                ? [entryFileNames, 'output.entryFileNames']
+                : [chunkFileNames, 'output.chunkFileNames'];
+            fileName = renderNamePattern(typeof pattern === 'function' ? pattern(this.getPreRenderedChunkInfo()) : pattern, patternName, {
+                format: () => format,
+                hash: size => hashPlaceholder ||
+                    (hashPlaceholder = this.getPlaceholder(patternName, size || DEFAULT_HASH_SIZE)),
+                name: () => this.getChunkName()
+            });
+            if (!hashPlaceholder) {
+                fileName = makeUnique(fileName, this.bundle);
+            }
+        }
+        else {
+            fileName = this.fileName;
+        }
+        if (!hashPlaceholder) {
+            this.bundle[fileName] = FILE_PLACEHOLDER;
+        }
+        // Caching is essential to not conflict with the file name reservation above
+        return (this.preliminaryFileName = { fileName, hashPlaceholder });
+    }
+    getPreliminarySourcemapFileName() {
+        if (this.preliminarySourcemapFileName) {
+            return this.preliminarySourcemapFileName;
+        }
+        let sourcemapFileName = null;
+        let hashPlaceholder = null;
+        const { sourcemapFileNames, format } = this.outputOptions;
+        if (sourcemapFileNames) {
+            const [pattern, patternName] = [sourcemapFileNames, 'output.sourcemapFileNames'];
+            sourcemapFileName = renderNamePattern(typeof pattern === 'function' ? pattern(this.getPreRenderedChunkInfo()) : pattern, patternName, {
+                chunkhash: () => this.getPreliminaryFileName().hashPlaceholder || '',
+                format: () => format,
+                hash: size => hashPlaceholder ||
+                    (hashPlaceholder = this.getPlaceholder(patternName, size || DEFAULT_HASH_SIZE)),
+                name: () => this.getChunkName()
+            });
+            if (!hashPlaceholder) {
+                sourcemapFileName = makeUnique(sourcemapFileName, this.bundle);
+            }
+        }
+        else {
+            return null;
+        }
+        return (this.preliminarySourcemapFileName = { fileName: sourcemapFileName, hashPlaceholder });
+    }
+    getRenderedChunkInfo() {
+        if (this.renderedChunkInfo) {
+            return this.renderedChunkInfo;
+        }
+        return (this.renderedChunkInfo = {
+            ...this.getPreRenderedChunkInfo(),
+            dynamicImports: this.getDynamicDependencies().map(resolveFileName),
+            fileName: this.getFileName(),
+            // eslint-disable-next-line unicorn/prefer-spread
+            implicitlyLoadedBefore: Array.from(this.implicitlyLoadedBefore, resolveFileName),
+            importedBindings: getImportedBindingsPerDependency(this.getRenderedDependencies(), resolveFileName),
+            // eslint-disable-next-line unicorn/prefer-spread
+            imports: Array.from(this.dependencies, resolveFileName),
+            modules: this.renderedModules,
+            referencedFiles: this.getReferencedFiles()
+        });
+    }
+    getVariableExportName(variable) {
+        if (this.outputOptions.preserveModules && variable instanceof NamespaceVariable) {
+            return '*';
+        }
+        return this.exportNamesByVariable.get(variable)[0];
+    }
+    link() {
+        this.dependencies = getStaticDependencies(this, this.orderedModules, this.chunkByModule, this.externalChunkByModule);
+        for (const module of this.orderedModules) {
+            this.addImplicitlyLoadedBeforeFromModule(module);
+            this.setUpChunkImportsAndExportsForModule(module);
+        }
+    }
+    async render() {
+        const { dependencies, exportMode, facadeModule, inputOptions: { onLog }, outputOptions, pluginDriver, snippets } = this;
+        const { format, hoistTransitiveImports, preserveModules } = outputOptions;
+        // for static and dynamic entry points, add transitive dependencies to this
+        // chunk's dependencies to avoid loading latency
+        if (hoistTransitiveImports && !preserveModules && facadeModule !== null) {
+            for (const dep of dependencies) {
+                if (dep instanceof Chunk)
+                    this.inlineChunkDependencies(dep);
+            }
+        }
+        const preliminaryFileName = this.getPreliminaryFileName();
+        const preliminarySourcemapFileName = this.getPreliminarySourcemapFileName();
+        const { accessedGlobals, indent, magicString, renderedSource, usedModules, usesTopLevelAwait } = this.renderModules(preliminaryFileName.fileName);
+        const renderedDependencies = [...this.getRenderedDependencies().values()];
+        const renderedExports = exportMode === 'none' ? [] : this.getChunkExportDeclarations(format);
+        let hasExports = renderedExports.length > 0;
+        let hasDefaultExport = false;
+        for (const renderedDependence of renderedDependencies) {
+            const { reexports } = renderedDependence;
+            if (reexports?.length) {
+                hasExports = true;
+                if (!hasDefaultExport && reexports.some(reexport => reexport.reexported === 'default')) {
+                    hasDefaultExport = true;
+                }
+                if (format === 'es') {
+                    renderedDependence.reexports = reexports.filter(
+                    // eslint-disable-next-line unicorn/prefer-array-some
+                    ({ reexported }) => !renderedExports.find(({ exported }) => exported === reexported));
+                }
+            }
+        }
+        if (!hasDefaultExport) {
+            for (const { exported } of renderedExports) {
+                if (exported === 'default') {
+                    hasDefaultExport = true;
+                    break;
+                }
+            }
+        }
+        const { intro, outro, banner, footer } = await createAddons(outputOptions, pluginDriver, this.getRenderedChunkInfo());
+        finalisers[format](renderedSource, {
+            accessedGlobals,
+            dependencies: renderedDependencies,
+            exports: renderedExports,
+            hasDefaultExport,
+            hasExports,
+            id: preliminaryFileName.fileName,
+            indent,
+            intro,
+            isEntryFacade: preserveModules || (facadeModule !== null && facadeModule.info.isEntry),
+            isModuleFacade: facadeModule !== null,
+            log: onLog,
+            namedExportsMode: exportMode !== 'default',
+            outro,
+            snippets,
+            usesTopLevelAwait
+        }, outputOptions);
+        if (banner)
+            magicString.prepend(banner);
+        if (format === 'es' || format === 'cjs') {
+            const shebang = facadeModule !== null && facadeModule.info.isEntry && facadeModule.shebang;
+            shebang && magicString.prepend(`#!${shebang}\n`);
+        }
+        if (footer)
+            magicString.append(footer);
+        return {
+            chunk: this,
+            magicString,
+            preliminaryFileName,
+            preliminarySourcemapFileName,
+            usedModules
+        };
+    }
+    addImplicitlyLoadedBeforeFromModule(baseModule) {
+        const { chunkByModule, implicitlyLoadedBefore } = this;
+        for (const module of baseModule.implicitlyLoadedBefore) {
+            const chunk = chunkByModule.get(module);
+            if (chunk && chunk !== this) {
+                implicitlyLoadedBefore.add(chunk);
+            }
+        }
+    }
+    addNecessaryImportsForFacades() {
+        for (const [module, variables] of this.includedReexportsByModule) {
+            if (this.includedNamespaces.has(module)) {
+                for (const variable of variables) {
+                    this.imports.add(variable);
+                }
+            }
+        }
+    }
+    assignFacadeName({ fileName, name }, facadedModule, preservePath) {
+        if (fileName) {
+            this.fileName = fileName;
+        }
+        else {
+            this.name = this.outputOptions.sanitizeFileName(name ||
+                (preservePath
+                    ? this.getPreserveModulesChunkNameFromModule(facadedModule)
+                    : getChunkNameFromModule(facadedModule)));
+        }
+    }
+    checkCircularDependencyImport(variable, importingModule) {
+        const variableModule = variable.module;
+        if (variableModule instanceof Module) {
+            const exportChunk = this.chunkByModule.get(variableModule);
+            let alternativeReexportModule;
+            do {
+                alternativeReexportModule = importingModule.alternativeReexportModules.get(variable);
+                if (alternativeReexportModule) {
+                    const exportingChunk = this.chunkByModule.get(alternativeReexportModule);
+                    if (exportingChunk !== exportChunk) {
+                        this.inputOptions.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logCyclicCrossChunkReexport(
+                        // Namespaces do not have an export name
+                        variableModule.getExportNamesByVariable().get(variable)?.[0] || '*', variableModule.id, alternativeReexportModule.id, importingModule.id, this.outputOptions.preserveModules));
+                    }
+                    importingModule = alternativeReexportModule;
+                }
+            } while (alternativeReexportModule);
+        }
+    }
+    ensureReexportsAreAvailableForModule(module) {
+        const includedReexports = [];
+        const map = module.getExportNamesByVariable();
+        for (const exportedVariable of map.keys()) {
+            const isSynthetic = exportedVariable instanceof SyntheticNamedExportVariable;
+            const importedVariable = isSynthetic ? exportedVariable.getBaseVariable() : exportedVariable;
+            this.checkCircularDependencyImport(importedVariable, module);
+            // When preserving modules, we do not create namespace objects but directly
+            // use the actual namespaces, which would be broken by this logic.
+            if (!(importedVariable instanceof NamespaceVariable && this.outputOptions.preserveModules)) {
+                const exportingModule = importedVariable.module;
+                if (exportingModule instanceof Module) {
+                    const chunk = this.chunkByModule.get(exportingModule);
+                    if (chunk && chunk !== this) {
+                        chunk.exports.add(importedVariable);
+                        includedReexports.push(importedVariable);
+                        if (isSynthetic) {
+                            this.imports.add(importedVariable);
+                        }
+                    }
+                }
+            }
+        }
+        if (includedReexports.length > 0) {
+            this.includedReexportsByModule.set(module, includedReexports);
+        }
+    }
+    generateVariableName() {
+        if (this.manualChunkAlias) {
+            return this.manualChunkAlias;
+        }
+        const moduleForNaming = this.entryModules[0] ||
+            this.implicitEntryModules[0] ||
+            this.dynamicEntryModules[0] ||
+            this.orderedModules[this.orderedModules.length - 1];
+        if (moduleForNaming) {
+            return getChunkNameFromModule(moduleForNaming);
+        }
+        return 'chunk';
+    }
+    getChunkExportDeclarations(format) {
+        const exports = [];
+        for (const exportName of this.getExportNames()) {
+            if (exportName[0] === '*')
+                continue;
+            const variable = this.exportsByName.get(exportName);
+            if (!(variable instanceof SyntheticNamedExportVariable)) {
+                const module = variable.module;
+                if (module) {
+                    const chunk = this.chunkByModule.get(module);
+                    if (chunk !== this) {
+                        if (!chunk || format !== 'es') {
+                            continue;
+                        }
+                        const chunkDep = this.renderedDependencies.get(chunk);
+                        if (!chunkDep) {
+                            continue;
+                        }
+                        const { imports, reexports } = chunkDep;
+                        const importedByReexported = reexports?.find(({ reexported }) => reexported === exportName);
+                        const isImported = imports?.find(({ imported }) => imported === importedByReexported?.imported);
+                        if (!isImported) {
+                            continue;
+                        }
+                    }
+                }
+            }
+            let expression = null;
+            let hoisted = false;
+            let local = variable.getName(this.snippets.getPropertyAccess);
+            if (variable instanceof LocalVariable) {
+                for (const declaration of variable.declarations) {
+                    if (declaration.parent instanceof FunctionDeclaration ||
+                        (declaration instanceof ExportDefaultDeclaration &&
+                            declaration.declaration instanceof FunctionDeclaration)) {
+                        hoisted = true;
+                        break;
+                    }
+                }
+            }
+            else if (variable instanceof SyntheticNamedExportVariable) {
+                expression = local;
+                if (format === 'es') {
+                    local = variable.renderName;
+                }
+            }
+            exports.push({
+                exported: exportName,
+                expression,
+                hoisted,
+                local
+            });
+        }
+        return exports;
+    }
+    getDependenciesToBeDeconflicted(addNonNamespacesAndInteropHelpers, addDependenciesWithoutBindings, interop) {
+        const dependencies = new Set();
+        const deconflictedDefault = new Set();
+        const deconflictedNamespace = new Set();
+        for (const variable of [...this.exportNamesByVariable.keys(), ...this.imports]) {
+            if (addNonNamespacesAndInteropHelpers || variable.isNamespace) {
+                const module = variable.module;
+                if (module instanceof ExternalModule) {
+                    const chunk = this.externalChunkByModule.get(module);
+                    dependencies.add(chunk);
+                    if (addNonNamespacesAndInteropHelpers) {
+                        if (variable.name === 'default') {
+                            if (defaultInteropHelpersByInteropType[interop(module.id)]) {
+                                deconflictedDefault.add(chunk);
+                            }
+                        }
+                        else if (variable.name === '*' &&
+                            namespaceInteropHelpersByInteropType[interop(module.id)]) {
+                            deconflictedNamespace.add(chunk);
+                        }
+                    }
+                }
+                else {
+                    const chunk = this.chunkByModule.get(module);
+                    if (chunk !== this) {
+                        dependencies.add(chunk);
+                        if (addNonNamespacesAndInteropHelpers &&
+                            chunk.exportMode === 'default' &&
+                            variable.isNamespace) {
+                            deconflictedNamespace.add(chunk);
+                        }
+                    }
+                }
+            }
+        }
+        if (addDependenciesWithoutBindings) {
+            for (const dependency of this.dependencies) {
+                dependencies.add(dependency);
+            }
+        }
+        return { deconflictedDefault, deconflictedNamespace, dependencies };
+    }
+    getDynamicDependencies() {
+        return this.getIncludedDynamicImports()
+            .map(resolvedDynamicImport => resolvedDynamicImport.facadeChunk ||
+            resolvedDynamicImport.chunk ||
+            resolvedDynamicImport.externalChunk ||
+            resolvedDynamicImport.resolution)
+            .filter((resolution) => resolution !== this &&
+            (resolution instanceof Chunk || resolution instanceof ExternalChunk));
+    }
+    getDynamicImportStringAndAttributes(resolution, fileName) {
+        if (resolution instanceof ExternalModule) {
+            const chunk = this.externalChunkByModule.get(resolution);
+            return [`'${chunk.getImportPath(fileName)}'`, chunk.getImportAttributes(this.snippets)];
+        }
+        return [
+            resolution || '',
+            (this.outputOptions.format === 'es' && this.outputOptions.externalImportAttributes) || null
+        ];
+    }
+    getFallbackChunkName() {
+        if (this.manualChunkAlias) {
+            return this.manualChunkAlias;
+        }
+        if (this.dynamicName) {
+            return this.dynamicName;
+        }
+        if (this.fileName) {
+            return parseAst_js.getAliasName(this.fileName);
+        }
+        return parseAst_js.getAliasName(this.orderedModules[this.orderedModules.length - 1].id);
+    }
+    getImportSpecifiers() {
+        const { interop } = this.outputOptions;
+        const importsByDependency = new Map();
+        for (const variable of this.imports) {
+            const module = variable.module;
+            let dependency;
+            let imported;
+            if (module instanceof ExternalModule) {
+                dependency = this.externalChunkByModule.get(module);
+                imported = variable.name;
+                if (imported !== 'default' && imported !== '*' && interop(module.id) === 'defaultOnly') {
+                    return parseAst_js.error(parseAst_js.logUnexpectedNamedImport(module.id, imported, false));
+                }
+            }
+            else {
+                dependency = this.chunkByModule.get(module);
+                imported = dependency.getVariableExportName(variable);
+            }
+            getOrCreate(importsByDependency, dependency, getNewArray).push({
+                imported,
+                local: variable.getName(this.snippets.getPropertyAccess)
+            });
+        }
+        return importsByDependency;
+    }
+    getIncludedDynamicImports() {
+        if (this.includedDynamicImports) {
+            return this.includedDynamicImports;
+        }
+        const includedDynamicImports = [];
+        for (const module of this.orderedModules) {
+            for (const { node, resolution } of module.dynamicImports) {
+                if (!node.included) {
+                    continue;
+                }
+                includedDynamicImports.push(resolution instanceof Module
+                    ? {
+                        chunk: this.chunkByModule.get(resolution),
+                        externalChunk: null,
+                        facadeChunk: this.facadeChunkByModule.get(resolution),
+                        node,
+                        resolution
+                    }
+                    : resolution instanceof ExternalModule
+                        ? {
+                            chunk: null,
+                            externalChunk: this.externalChunkByModule.get(resolution),
+                            facadeChunk: null,
+                            node,
+                            resolution
+                        }
+                        : { chunk: null, externalChunk: null, facadeChunk: null, node, resolution });
+            }
+        }
+        return (this.includedDynamicImports = includedDynamicImports);
+    }
+    getPreRenderedChunkInfo() {
+        if (this.preRenderedChunkInfo) {
+            return this.preRenderedChunkInfo;
+        }
+        const { dynamicEntryModules, facadeModule, implicitEntryModules, orderedModules } = this;
+        return (this.preRenderedChunkInfo = {
+            exports: this.getExportNames(),
+            facadeModuleId: facadeModule && facadeModule.id,
+            isDynamicEntry: dynamicEntryModules.length > 0,
+            isEntry: !!facadeModule?.info.isEntry,
+            isImplicitEntry: implicitEntryModules.length > 0,
+            moduleIds: orderedModules.map(({ id }) => id),
+            name: this.getChunkName(),
+            type: 'chunk'
+        });
+    }
+    getPreserveModulesChunkNameFromModule(module) {
+        const predefinedChunkName = getPredefinedChunkNameFromModule(module);
+        if (predefinedChunkName)
+            return predefinedChunkName;
+        const { preserveModulesRoot, sanitizeFileName } = this.outputOptions;
+        const sanitizedId = sanitizeFileName(parseAst_js.normalize(module.id.split(QUERY_HASH_REGEX, 1)[0]));
+        const extensionName = node_path.extname(sanitizedId);
+        const idWithoutExtension = NON_ASSET_EXTENSIONS.has(extensionName)
+            ? sanitizedId.slice(0, -extensionName.length)
+            : sanitizedId;
+        if (parseAst_js.isAbsolute(idWithoutExtension)) {
+            return preserveModulesRoot && node_path.resolve(idWithoutExtension).startsWith(preserveModulesRoot)
+                ? idWithoutExtension.slice(preserveModulesRoot.length).replace(/^[/\\]/, '')
+                : parseAst_js.relative(this.inputBase, idWithoutExtension);
+        }
+        else {
+            return `_virtual/${node_path.basename(idWithoutExtension)}`;
+        }
+    }
+    getReexportSpecifiers() {
+        const { externalLiveBindings, interop } = this.outputOptions;
+        const reexportSpecifiers = new Map();
+        for (let exportName of this.getExportNames()) {
+            let dependency;
+            let imported;
+            let needsLiveBinding = false;
+            if (exportName[0] === '*') {
+                const id = exportName.slice(1);
+                if (interop(id) === 'defaultOnly') {
+                    this.inputOptions.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logUnexpectedNamespaceReexport(id));
+                }
+                needsLiveBinding = externalLiveBindings;
+                dependency = this.externalChunkByModule.get(this.modulesById.get(id));
+                imported = exportName = '*';
+            }
+            else {
+                const variable = this.exportsByName.get(exportName);
+                if (variable instanceof SyntheticNamedExportVariable)
+                    continue;
+                const module = variable.module;
+                if (module instanceof Module) {
+                    dependency = this.chunkByModule.get(module);
+                    if (dependency === this)
+                        continue;
+                    imported = dependency.getVariableExportName(variable);
+                    needsLiveBinding = variable.isReassigned;
+                }
+                else {
+                    dependency = this.externalChunkByModule.get(module);
+                    imported = variable.name;
+                    if (imported !== 'default' && imported !== '*' && interop(module.id) === 'defaultOnly') {
+                        return parseAst_js.error(parseAst_js.logUnexpectedNamedImport(module.id, imported, true));
+                    }
+                    needsLiveBinding =
+                        externalLiveBindings &&
+                            (imported !== 'default' || isDefaultAProperty(interop(module.id), true));
+                }
+            }
+            getOrCreate(reexportSpecifiers, dependency, getNewArray).push({
+                imported,
+                needsLiveBinding,
+                reexported: exportName
+            });
+        }
+        return reexportSpecifiers;
+    }
+    getReferencedFiles() {
+        const referencedFiles = new Set();
+        for (const module of this.orderedModules) {
+            for (const meta of module.importMetas) {
+                const fileName = meta.getReferencedFileName(this.pluginDriver);
+                if (fileName) {
+                    referencedFiles.add(fileName);
+                }
+            }
+        }
+        return [...referencedFiles];
+    }
+    getRenderedDependencies() {
+        if (this.renderedDependencies) {
+            return this.renderedDependencies;
+        }
+        const importSpecifiers = this.getImportSpecifiers();
+        const reexportSpecifiers = this.getReexportSpecifiers();
+        const renderedDependencies = new Map();
+        const fileName = this.getFileName();
+        for (const dep of this.dependencies) {
+            const imports = importSpecifiers.get(dep) || null;
+            const reexports = reexportSpecifiers.get(dep) || null;
+            const namedExportsMode = dep instanceof ExternalChunk || dep.exportMode !== 'default';
+            const importPath = dep.getImportPath(fileName);
+            renderedDependencies.set(dep, {
+                attributes: dep instanceof ExternalChunk ? dep.getImportAttributes(this.snippets) : null,
+                defaultVariableName: dep.defaultVariableName,
+                globalName: dep instanceof ExternalChunk &&
+                    (this.outputOptions.format === 'umd' || this.outputOptions.format === 'iife') &&
+                    getGlobalName(dep, this.outputOptions.globals, (imports || reexports) !== null, this.inputOptions.onLog),
+                importPath,
+                imports,
+                isChunk: dep instanceof Chunk,
+                name: dep.variableName,
+                namedExportsMode,
+                namespaceVariableName: dep.namespaceVariableName,
+                reexports
+            });
+        }
+        return (this.renderedDependencies = renderedDependencies);
+    }
+    inlineChunkDependencies(chunk) {
+        for (const dep of chunk.dependencies) {
+            if (this.dependencies.has(dep))
+                continue;
+            this.dependencies.add(dep);
+            if (dep instanceof Chunk) {
+                this.inlineChunkDependencies(dep);
+            }
+        }
+    }
+    // This method changes properties on the AST before rendering and must not be async
+    renderModules(fileName) {
+        const { accessedGlobalsByScope, dependencies, exportNamesByVariable, includedNamespaces, inputOptions: { onLog }, isEmpty, orderedModules, outputOptions, pluginDriver, renderedModules, snippets } = this;
+        const { compact, format, freeze, generatedCode: { symbols } } = outputOptions;
+        const { _, cnst, n } = snippets;
+        this.setDynamicImportResolutions(fileName);
+        this.setImportMetaResolutions(fileName);
+        this.setIdentifierRenderResolutions();
+        const magicString = new Bundle$1({ separator: `${n}${n}` });
+        const indent = getIndentString(orderedModules, outputOptions);
+        const usedModules = [];
+        let hoistedSource = '';
+        const accessedGlobals = new Set();
+        const renderedModuleSources = new Map();
+        const renderOptions = {
+            accessedDocumentCurrentScript: false,
+            exportNamesByVariable,
+            format,
+            freeze,
+            indent,
+            pluginDriver,
+            snippets,
+            symbols,
+            useOriginalName: null
+        };
+        let usesTopLevelAwait = false;
+        for (const module of orderedModules) {
+            let renderedLength = 0;
+            let source;
+            if (module.isIncluded() || includedNamespaces.has(module)) {
+                const rendered = module.render(renderOptions);
+                if (!renderOptions.accessedDocumentCurrentScript &&
+                    formatsMaybeAccessDocumentCurrentScript.includes(format)) {
+                    // eslint-disable-next-line unicorn/consistent-destructuring
+                    this.accessedGlobalsByScope.get(module.scope)?.delete(DOCUMENT_CURRENT_SCRIPT);
+                }
+                renderOptions.accessedDocumentCurrentScript = false;
+                ({ source } = rendered);
+                usesTopLevelAwait ||= rendered.usesTopLevelAwait;
+                renderedLength = source.length();
+                if (renderedLength) {
+                    if (compact && source.lastLine().includes('//'))
+                        source.append('\n');
+                    renderedModuleSources.set(module, source);
+                    magicString.addSource(source);
+                    usedModules.push(module);
+                }
+                const namespace = module.namespace;
+                if (includedNamespaces.has(module)) {
+                    const rendered = namespace.renderBlock(renderOptions);
+                    if (namespace.renderFirst())
+                        hoistedSource += n + rendered;
+                    else
+                        magicString.addSource(new MagicString(rendered));
+                }
+                const accessedGlobalVariables = accessedGlobalsByScope.get(module.scope);
+                if (accessedGlobalVariables) {
+                    for (const name of accessedGlobalVariables) {
+                        accessedGlobals.add(name);
+                    }
+                }
+            }
+            const { renderedExports, removedExports } = module.getRenderedExports();
+            renderedModules[module.id] = {
+                get code() {
+                    return source?.toString() ?? null;
+                },
+                originalLength: module.originalCode.length,
+                removedExports,
+                renderedExports,
+                renderedLength
+            };
+        }
+        if (hoistedSource)
+            magicString.prepend(hoistedSource + n + n);
+        // eslint-disable-next-line unicorn/consistent-destructuring
+        if (this.needsExportsShim) {
+            magicString.prepend(`${n}${cnst} ${MISSING_EXPORT_SHIM_VARIABLE}${_}=${_}void 0;${n}${n}`);
+        }
+        const renderedSource = compact ? magicString : magicString.trim();
+        if (isEmpty && this.getExportNames().length === 0 && dependencies.size === 0) {
+            onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logEmptyChunk(this.getChunkName()));
+        }
+        return { accessedGlobals, indent, magicString, renderedSource, usedModules, usesTopLevelAwait };
+    }
+    setDynamicImportResolutions(fileName) {
+        const { accessedGlobalsByScope, outputOptions, pluginDriver, snippets } = this;
+        for (const resolvedDynamicImport of this.getIncludedDynamicImports()) {
+            if (resolvedDynamicImport.chunk) {
+                const { chunk, facadeChunk, node, resolution } = resolvedDynamicImport;
+                if (chunk === this) {
+                    node.setInternalResolution(resolution.namespace);
+                }
+                else {
+                    node.setExternalResolution((facadeChunk || chunk).exportMode, resolution, outputOptions, snippets, pluginDriver, accessedGlobalsByScope, `'${(facadeChunk || chunk).getImportPath(fileName)}'`, !facadeChunk?.strictFacade && chunk.exportNamesByVariable.get(resolution.namespace)[0], null);
+                }
+            }
+            else {
+                const { node, resolution } = resolvedDynamicImport;
+                const [resolutionString, attributes] = this.getDynamicImportStringAndAttributes(resolution, fileName);
+                node.setExternalResolution('external', resolution, outputOptions, snippets, pluginDriver, accessedGlobalsByScope, resolutionString, false, attributes);
+            }
+        }
+    }
+    setIdentifierRenderResolutions() {
+        const { format, generatedCode: { symbols }, interop, preserveModules, externalLiveBindings } = this.outputOptions;
+        const syntheticExports = new Set();
+        for (const exportName of this.getExportNames()) {
+            const exportVariable = this.exportsByName.get(exportName);
+            if (format !== 'es' &&
+                format !== 'system' &&
+                exportVariable.isReassigned &&
+                !exportVariable.isId) {
+                exportVariable.setRenderNames('exports', exportName);
+            }
+            else if (exportVariable instanceof SyntheticNamedExportVariable) {
+                syntheticExports.add(exportVariable);
+            }
+            else {
+                exportVariable.setRenderNames(null, null);
+            }
+        }
+        for (const module of this.orderedModules) {
+            if (module.needsExportShim) {
+                this.needsExportsShim = true;
+                break;
+            }
+        }
+        const usedNames = new Set(['Object', 'Promise']);
+        if (this.needsExportsShim) {
+            usedNames.add(MISSING_EXPORT_SHIM_VARIABLE);
+        }
+        if (symbols) {
+            usedNames.add('Symbol');
+        }
+        switch (format) {
+            case 'system': {
+                usedNames.add('module').add('exports');
+                break;
+            }
+            case 'es': {
+                break;
+            }
+            case 'cjs': {
+                usedNames.add('module').add('require').add('__filename').add('__dirname');
+            }
+            // fallthrough
+            default: {
+                usedNames.add('exports');
+                for (const helper of HELPER_NAMES) {
+                    usedNames.add(helper);
+                }
+            }
+        }
+        deconflictChunk(this.orderedModules, this.getDependenciesToBeDeconflicted(format !== 'es' && format !== 'system', format === 'amd' || format === 'umd' || format === 'iife', interop), this.imports, usedNames, format, interop, preserveModules, externalLiveBindings, this.chunkByModule, this.externalChunkByModule, syntheticExports, this.exportNamesByVariable, this.accessedGlobalsByScope, this.includedNamespaces);
+    }
+    setImportMetaResolutions(fileName) {
+        const { accessedGlobalsByScope, includedNamespaces, orderedModules, outputOptions: { format } } = this;
+        for (const module of orderedModules) {
+            for (const importMeta of module.importMetas) {
+                importMeta.setResolution(format, accessedGlobalsByScope, fileName);
+            }
+            if (includedNamespaces.has(module)) {
+                module.namespace.prepare(accessedGlobalsByScope);
+            }
+        }
+    }
+    setUpChunkImportsAndExportsForModule(module) {
+        const moduleImports = new Set(module.includedImports);
+        // when we are not preserving modules, we need to make all namespace variables available for
+        // rendering the namespace object
+        if (!this.outputOptions.preserveModules && this.includedNamespaces.has(module)) {
+            const memberVariables = module.namespace.getMemberVariables();
+            for (const variable of Object.values(memberVariables)) {
+                if (variable.included) {
+                    moduleImports.add(variable);
+                }
+            }
+        }
+        for (let variable of moduleImports) {
+            if (variable instanceof ExportDefaultVariable) {
+                variable = variable.getOriginalVariable();
+            }
+            if (variable instanceof SyntheticNamedExportVariable) {
+                variable = variable.getBaseVariable();
+            }
+            const chunk = this.chunkByModule.get(variable.module);
+            if (chunk !== this) {
+                this.imports.add(variable);
+                if (variable.module instanceof Module) {
+                    this.checkCircularDependencyImport(variable, module);
+                    // When preserving modules, we do not create namespace objects but directly
+                    // use the actual namespaces, which would be broken by this logic.
+                    if (!(variable instanceof NamespaceVariable && this.outputOptions.preserveModules)) {
+                        chunk.exports.add(variable);
+                    }
+                }
+            }
+        }
+        if (this.includedNamespaces.has(module) ||
+            (module.info.isEntry && module.preserveSignature !== false) ||
+            module.includedDynamicImporters.some(importer => this.chunkByModule.get(importer) !== this)) {
+            this.ensureReexportsAreAvailableForModule(module);
+        }
+        for (const { node, resolution } of module.dynamicImports) {
+            if (node.included &&
+                resolution instanceof Module &&
+                this.chunkByModule.get(resolution) === this &&
+                !this.includedNamespaces.has(resolution)) {
+                this.includedNamespaces.add(resolution);
+                this.ensureReexportsAreAvailableForModule(resolution);
+            }
+        }
+    }
+}
+function getChunkNameFromModule(module) {
+    return getPredefinedChunkNameFromModule(module) ?? parseAst_js.getAliasName(module.id);
+}
+function getPredefinedChunkNameFromModule(module) {
+    return (module.chunkNames.find(({ isUserDefined }) => isUserDefined)?.name ?? module.chunkNames[0]?.name);
+}
+function getImportedBindingsPerDependency(renderedDependencies, resolveFileName) {
+    const importedBindingsPerDependency = {};
+    for (const [dependency, declaration] of renderedDependencies) {
+        const specifiers = new Set();
+        if (declaration.imports) {
+            for (const { imported } of declaration.imports) {
+                specifiers.add(imported);
+            }
+        }
+        if (declaration.reexports) {
+            for (const { imported } of declaration.reexports) {
+                specifiers.add(imported);
+            }
+        }
+        importedBindingsPerDependency[resolveFileName(dependency)] = [...specifiers];
+    }
+    return importedBindingsPerDependency;
+}
+const QUERY_HASH_REGEX = /[#?]/;
+const resolveFileName = (dependency) => dependency.getFileName();
+
+/**
+ * Concatenate a number of iterables to a new iterable without fully evaluating
+ * their iterators. Useful when e.g. working with large sets or lists and when
+ * there is a chance that the iterators will not be fully exhausted.
+ */
+function* concatLazy(iterables) {
+    for (const iterable of iterables) {
+        yield* iterable;
+    }
+}
+
+/**
+ * At its core, the algorithm first starts from each static or dynamic entry
+ * point and then assigns that entry point to all modules than can be reached
+ * via static imports. We call this the *dependent entry points* of that
+ * module.
+ *
+ * Then we group all modules with the same dependent entry points into chunks
+ * as those modules will always be loaded together.
+ *
+ * One non-trivial optimization we can apply is that dynamic entries are
+ * different from static entries in so far as when a dynamic import occurs,
+ * some
+ * modules are already in memory. If some of these modules are also
+ * dependencies
+ * of the dynamic entry, then it does not make sense to create a separate chunk
+ * for them. Instead, the dynamic import target can load them from the
+ * importing
+ * chunk.
+ *
+ * With regard to chunking, if B is implicitly loaded after A, then this can be
+ * handled the same way as if there was a dynamic import A => B.
+ *
+ * Example:
+ * Assume A -> B (A imports B), A => C (A dynamically imports C) and C -> B.
+ * Then the initial algorithm would assign A into the A chunk, C into the C
+ * chunk and B into the AC chunk, i.e. the chunk with the dependent entry
+ * points
+ * A and C.
+ * However we know that C can only be loaded from A, so A and its dependency B
+ * must already be in memory when C is loaded. So it is enough to create only
+ * two chunks A containing [AB] and C containing [C].
+ *
+ * So we do not assign the dynamic entry C as dependent entry point to modules
+ * that are already loaded.
+ *
+ * In a more complex example, let us assume that we have entry points X and Y.
+ * Further, let us assume
+ * X -> A, X -> B, X -> C,
+ * Y -> A, Y -> B,
+ * A => D,
+ * D -> B, D -> C
+ * So without dynamic import optimization, the dependent entry points are
+ * A: XY, B: DXY, C: DX, D: D, X: X, Y: Y,
+ * so we would for now create six chunks.
+ *
+ * Now D is loaded only after A is loaded. But A is loaded if either X is
+ * loaded
+ * or Y is loaded. So the modules that are already in memory when D is loaded
+ * are the intersection of all modules that X depends on with all modules that
+ * Y
+ * depends on, which in this case are the modules A and B.
+ * We could also say they are all modules that have both X and Y as dependent
+ * entry points.
+ *
+ * So we can remove D as dependent entry point from A and B, which means they
+ * both now have only XY as dependent entry points and can be merged into the
+ * same chunk.
+ *
+ * Now let us extend this to the most general case where we have several
+ * dynamic
+ * importers for one dynamic entry point.
+ *
+ * In the most general form, it works like this:
+ * For each dynamic entry point, we have a number of dynamic importers, which
+ * are the modules importing it. Using the previous ideas, we can determine
+ * the modules already in memory for each dynamic importer by looking for all
+ * modules that have all the dependent entry points of the dynamic importer as
+ * dependent entry points.
+ * So the modules that are guaranteed to be in memory when the dynamic entry
+ * point is loaded are the intersection of the modules already in memory for
+ * each dynamic importer.
+ *
+ * Assuming that A => D and B => D and A has dependent entry points XY and B
+ * has
+ * dependent entry points YZ, then the modules guaranteed to be in memory are
+ * all modules that have at least XYZ as dependent entry points.
+ * We call XYZ the *dynamically dependent entry points* of D.
+ *
+ * Now there is one last case to consider: If one of the dynamically dependent
+ * entries is itself a dynamic entry, then any module is in memory that either
+ * is a dependency of that dynamic entry or again has the dynamic dependent
+ * entries of that dynamic entry as dependent entry points.
+ *
+ * A naive algorithm for this proved to be costly as it contained an O(n^3)
+ * complexity with regard to dynamic entries that blew up for very large
+ * projects.
+ *
+ * If we have an efficient way to do Set operations, an alternative approach
+ * would be to instead collect already loaded modules per dynamic entry. And as
+ * all chunks from the initial grouping would behave the same, we can instead
+ * collect already loaded chunks for a performance improvement.
+ *
+ * To do that efficiently, need
+ * - a Map of dynamic imports per dynamic entry, which contains all dynamic
+ *   imports that can be triggered by a dynamic entry
+ * - a Map of static dependencies per entry
+ * - a Map of already loaded chunks per entry that we initially populate with
+ *   empty Sets for static entries and Sets containing all entries for dynamic
+ *   entries
+ *
+ * For efficient operations, we assign each entry a numerical index and
+ * represent Sets of Chunks as BigInt values where each chunk corresponds to a
+ * bit index. Then thw last two maps can be represented as arrays of BigInt
+ * values.
+ *
+ * Then we iterate through each dynamic entry. We set the already loaded modules
+ * to the intersection of the previously already loaded modules with the union
+ * of the already loaded modules of that chunk with its static dependencies.
+ *
+ * If the already loaded modules changed, then we use the Map of dynamic imports
+ * per dynamic entry to marks all dynamic entry dependencies as "dirty" and put
+ * them back into the iteration. As an additional optimization, we note for
+ * each dynamic entry which dynamic dependent entries have changed and only
+ * intersect those entries again on subsequent interations.
+ *
+ * Then we remove the dynamic entries from the list of dependent entries for
+ * those chunks that are already loaded for that dynamic entry and create
+ * another round of chunks.
+ */
+function getChunkAssignments(entries, manualChunkAliasByEntry, minChunkSize, log) {
+    const { chunkDefinitions, modulesInManualChunks } = getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry);
+    const { allEntries, dependentEntriesByModule, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry } = analyzeModuleGraph(entries);
+    // Each chunk is identified by its position in this array
+    const chunkAtoms = getChunksWithSameDependentEntries(getModulesWithDependentEntries(dependentEntriesByModule, modulesInManualChunks));
+    const staticDependencyAtomsByEntry = getStaticDependencyAtomsByEntry(allEntries, chunkAtoms);
+    // Warning: This will consume dynamicallyDependentEntriesByDynamicEntry.
+    // If we no longer want this, we should make a copy here.
+    const alreadyLoadedAtomsByEntry = getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, allEntries);
+    // This mutates the dependentEntries in chunkAtoms
+    removeUnnecessaryDependentEntries(chunkAtoms, alreadyLoadedAtomsByEntry);
+    const { chunks, sideEffectAtoms, sizeByAtom } = getChunksWithSameDependentEntriesAndCorrelatedAtoms(chunkAtoms, staticDependencyAtomsByEntry, alreadyLoadedAtomsByEntry, minChunkSize);
+    chunkDefinitions.push(...getOptimizedChunks(chunks, minChunkSize, sideEffectAtoms, sizeByAtom, log).map(({ modules }) => ({
+        alias: null,
+        modules
+    })));
+    return chunkDefinitions;
+}
+function getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry) {
+    const chunkDefinitions = [];
+    const modulesInManualChunks = new Set(manualChunkAliasByEntry.keys());
+    const manualChunkModulesByAlias = Object.create(null);
+    for (const [entry, alias] of manualChunkAliasByEntry) {
+        addStaticDependenciesToManualChunk(entry, (manualChunkModulesByAlias[alias] ||= []), modulesInManualChunks);
+    }
+    for (const [alias, modules] of Object.entries(manualChunkModulesByAlias)) {
+        chunkDefinitions.push({ alias, modules });
+    }
+    return { chunkDefinitions, modulesInManualChunks };
+}
+function addStaticDependenciesToManualChunk(entry, manualChunkModules, modulesInManualChunks) {
+    const modulesToHandle = new Set([entry]);
+    for (const module of modulesToHandle) {
+        modulesInManualChunks.add(module);
+        manualChunkModules.push(module);
+        for (const dependency of module.dependencies) {
+            if (!(dependency instanceof ExternalModule || modulesInManualChunks.has(dependency))) {
+                modulesToHandle.add(dependency);
+            }
+        }
+    }
+}
+function analyzeModuleGraph(entries) {
+    const dynamicEntryModules = new Set();
+    const dependentEntriesByModule = new Map();
+    const dynamicImportModulesByEntry = [];
+    const allEntriesSet = new Set(entries);
+    let entryIndex = 0;
+    for (const currentEntry of allEntriesSet) {
+        const dynamicImportsForCurrentEntry = new Set();
+        dynamicImportModulesByEntry.push(dynamicImportsForCurrentEntry);
+        const modulesToHandle = new Set([currentEntry]);
+        for (const module of modulesToHandle) {
+            getOrCreate(dependentEntriesByModule, module, (getNewSet)).add(entryIndex);
+            for (const dependency of module.getDependenciesToBeIncluded()) {
+                if (!(dependency instanceof ExternalModule)) {
+                    modulesToHandle.add(dependency);
+                }
+            }
+            for (const { resolution } of module.dynamicImports) {
+                if (resolution instanceof Module &&
+                    resolution.includedDynamicImporters.length > 0 &&
+                    !allEntriesSet.has(resolution)) {
+                    dynamicEntryModules.add(resolution);
+                    allEntriesSet.add(resolution);
+                    dynamicImportsForCurrentEntry.add(resolution);
+                }
+            }
+            for (const dependency of module.implicitlyLoadedBefore) {
+                if (!allEntriesSet.has(dependency)) {
+                    dynamicEntryModules.add(dependency);
+                    allEntriesSet.add(dependency);
+                }
+            }
+        }
+        entryIndex++;
+    }
+    const allEntries = [...allEntriesSet];
+    const { dynamicEntries, dynamicImportsByEntry } = getDynamicEntries(allEntries, dynamicEntryModules, dynamicImportModulesByEntry);
+    return {
+        allEntries,
+        dependentEntriesByModule,
+        dynamicallyDependentEntriesByDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntries),
+        dynamicImportsByEntry
+    };
+}
+function getDynamicEntries(allEntries, dynamicEntryModules, dynamicImportModulesByEntry) {
+    const entryIndexByModule = new Map();
+    const dynamicEntries = new Set();
+    for (const [entryIndex, entry] of allEntries.entries()) {
+        entryIndexByModule.set(entry, entryIndex);
+        if (dynamicEntryModules.has(entry)) {
+            dynamicEntries.add(entryIndex);
+        }
+    }
+    const dynamicImportsByEntry = [];
+    for (const dynamicImportModules of dynamicImportModulesByEntry) {
+        const dynamicImports = new Set();
+        for (const dynamicEntry of dynamicImportModules) {
+            dynamicImports.add(entryIndexByModule.get(dynamicEntry));
+        }
+        dynamicImportsByEntry.push(dynamicImports);
+    }
+    return { dynamicEntries, dynamicImportsByEntry };
+}
+function getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntries) {
+    const dynamicallyDependentEntriesByDynamicEntry = new Map();
+    for (const dynamicEntryIndex of dynamicEntries) {
+        const dynamicallyDependentEntries = getOrCreate(dynamicallyDependentEntriesByDynamicEntry, dynamicEntryIndex, (getNewSet));
+        const dynamicEntry = allEntries[dynamicEntryIndex];
+        for (const importer of concatLazy([
+            dynamicEntry.includedDynamicImporters,
+            dynamicEntry.implicitlyLoadedAfter
+        ])) {
+            for (const entry of dependentEntriesByModule.get(importer)) {
+                dynamicallyDependentEntries.add(entry);
+            }
+        }
+    }
+    return dynamicallyDependentEntriesByDynamicEntry;
+}
+function getChunksWithSameDependentEntries(modulesWithDependentEntries) {
+    const chunkModules = Object.create(null);
+    for (const { dependentEntries, modules } of modulesWithDependentEntries) {
+        let chunkSignature = 0n;
+        for (const entryIndex of dependentEntries) {
+            chunkSignature |= 1n << BigInt(entryIndex);
+        }
+        (chunkModules[String(chunkSignature)] ||= {
+            dependentEntries: new Set(dependentEntries),
+            modules: []
+        }).modules.push(...modules);
+    }
+    return Object.values(chunkModules);
+}
+function* getModulesWithDependentEntries(dependentEntriesByModule, modulesInManualChunks) {
+    for (const [module, dependentEntries] of dependentEntriesByModule) {
+        if (!modulesInManualChunks.has(module)) {
+            yield { dependentEntries, modules: [module] };
+        }
+    }
+}
+function getStaticDependencyAtomsByEntry(allEntries, chunkAtoms) {
+    // The indices correspond to the indices in allEntries. The atoms correspond
+    // to bits in the bigint values where chunk 0 is the lowest bit.
+    const staticDependencyAtomsByEntry = allEntries.map(() => 0n);
+    // This toggles the bits for each atom that is a dependency of an entry
+    let atomMask = 1n;
+    for (const { dependentEntries } of chunkAtoms) {
+        for (const entryIndex of dependentEntries) {
+            staticDependencyAtomsByEntry[entryIndex] |= atomMask;
+        }
+        atomMask <<= 1n;
+    }
+    return staticDependencyAtomsByEntry;
+}
+// Warning: This will consume dynamicallyDependentEntriesByDynamicEntry.
+function getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, allEntries) {
+    // Dynamic entries have all atoms as already loaded initially because we then
+    // intersect with the static dependency atoms of all dynamic importers.
+    // Static entries cannot have already loaded atoms.
+    const alreadyLoadedAtomsByEntry = allEntries.map((_entry, entryIndex) => dynamicallyDependentEntriesByDynamicEntry.has(entryIndex) ? -1n : 0n);
+    for (const [dynamicEntryIndex, dynamicallyDependentEntries] of dynamicallyDependentEntriesByDynamicEntry) {
+        // We delete here so that they can be added again if necessary to be handled
+        // again by the loop
+        dynamicallyDependentEntriesByDynamicEntry.delete(dynamicEntryIndex);
+        const knownLoadedAtoms = alreadyLoadedAtomsByEntry[dynamicEntryIndex];
+        let updatedLoadedAtoms = knownLoadedAtoms;
+        for (const entryIndex of dynamicallyDependentEntries) {
+            updatedLoadedAtoms &=
+                staticDependencyAtomsByEntry[entryIndex] | alreadyLoadedAtomsByEntry[entryIndex];
+        }
+        // If the knownLoadedAtoms changed, all dependent dynamic entries need to be
+        // updated again
+        if (updatedLoadedAtoms !== knownLoadedAtoms) {
+            alreadyLoadedAtomsByEntry[dynamicEntryIndex] = updatedLoadedAtoms;
+            for (const dynamicImport of dynamicImportsByEntry[dynamicEntryIndex]) {
+                // If this adds an entry that was deleted before, it will be handled
+                // again. This is the reason why we delete every entry from this map
+                // that we processed.
+                getOrCreate(dynamicallyDependentEntriesByDynamicEntry, dynamicImport, (getNewSet)).add(dynamicEntryIndex);
+            }
+        }
+    }
+    return alreadyLoadedAtomsByEntry;
+}
+/**
+ * This removes all unnecessary dynamic entries from the dependentEntries in its
+ * first argument if a chunk is already loaded without that entry.
+ */
+function removeUnnecessaryDependentEntries(chunkAtoms, alreadyLoadedAtomsByEntry) {
+    // Remove entries from dependent entries if a chunk is already loaded without
+    // that entry.
+    let chunkMask = 1n;
+    for (const { dependentEntries } of chunkAtoms) {
+        for (const entryIndex of dependentEntries) {
+            if ((alreadyLoadedAtomsByEntry[entryIndex] & chunkMask) === chunkMask) {
+                dependentEntries.delete(entryIndex);
+            }
+        }
+        chunkMask <<= 1n;
+    }
+}
+function getChunksWithSameDependentEntriesAndCorrelatedAtoms(chunkAtoms, staticDependencyAtomsByEntry, alreadyLoadedAtomsByEntry, minChunkSize) {
+    const chunksBySignature = Object.create(null);
+    const chunkByModule = new Map();
+    const sizeByAtom = [];
+    let sideEffectAtoms = 0n;
+    let atomMask = 1n;
+    for (const { dependentEntries, modules } of chunkAtoms) {
+        let chunkSignature = 0n;
+        let correlatedAtoms = -1n;
+        for (const entryIndex of dependentEntries) {
+            chunkSignature |= 1n << BigInt(entryIndex);
+            // Correlated atoms are the atoms that are guaranteed to be loaded as
+            // well when a given atom is loaded. It is the intersection of the already
+            // loaded modules of each chunk merged with its static dependencies.
+            correlatedAtoms &=
+                staticDependencyAtomsByEntry[entryIndex] | alreadyLoadedAtomsByEntry[entryIndex];
+        }
+        const chunk = (chunksBySignature[String(chunkSignature)] ||= {
+            containedAtoms: 0n,
+            correlatedAtoms,
+            dependencies: new Set(),
+            dependentChunks: new Set(),
+            dependentEntries: new Set(dependentEntries),
+            modules: [],
+            pure: true,
+            size: 0
+        });
+        let atomSize = 0;
+        let pure = true;
+        for (const module of modules) {
+            chunkByModule.set(module, chunk);
+            // Unfortunately, we cannot take tree-shaking into account here because
+            // rendering did not happen yet, but we can detect empty modules
+            if (module.isIncluded()) {
+                pure &&= !module.hasEffects();
+                // we use a trivial size for the default minChunkSize to improve
+                // performance
+                atomSize += minChunkSize > 1 ? module.estimateSize() : 1;
+            }
+        }
+        if (!pure) {
+            sideEffectAtoms |= atomMask;
+        }
+        sizeByAtom.push(atomSize);
+        chunk.containedAtoms |= atomMask;
+        chunk.modules.push(...modules);
+        chunk.pure &&= pure;
+        chunk.size += atomSize;
+        atomMask <<= 1n;
+    }
+    const chunks = Object.values(chunksBySignature);
+    sideEffectAtoms |= addChunkDependenciesAndGetExternalSideEffectAtoms(chunks, chunkByModule, atomMask);
+    return { chunks, sideEffectAtoms, sizeByAtom };
+}
+function addChunkDependenciesAndGetExternalSideEffectAtoms(chunks, chunkByModule, nextAvailableAtomMask) {
+    const signatureByExternalModule = new Map();
+    let externalSideEffectAtoms = 0n;
+    for (const chunk of chunks) {
+        const { dependencies, modules } = chunk;
+        for (const module of modules) {
+            for (const dependency of module.getDependenciesToBeIncluded()) {
+                if (dependency instanceof ExternalModule) {
+                    if (dependency.info.moduleSideEffects) {
+                        const signature = getOrCreate(signatureByExternalModule, dependency, () => {
+                            const signature = nextAvailableAtomMask;
+                            nextAvailableAtomMask <<= 1n;
+                            externalSideEffectAtoms |= signature;
+                            return signature;
+                        });
+                        chunk.containedAtoms |= signature;
+                        chunk.correlatedAtoms |= signature;
+                    }
+                }
+                else {
+                    const dependencyChunk = chunkByModule.get(dependency);
+                    if (dependencyChunk && dependencyChunk !== chunk) {
+                        dependencies.add(dependencyChunk);
+                        dependencyChunk.dependentChunks.add(chunk);
+                    }
+                }
+            }
+        }
+    }
+    return externalSideEffectAtoms;
+}
+/**
+ * This function tries to get rid of small chunks by merging them with other
+ * chunks.
+ *
+ * We can only merge chunks safely if after the merge, loading any entry point
+ * in any allowed order will not trigger side effects that should not have been
+ * triggered. While side effects are usually things like global function calls,
+ * global variable mutations or potentially thrown errors, details do not
+ * matter here, and we just discern chunks without side effects (pure chunks)
+ * from other chunks.
+ *
+ * As a first step, we assign each pre-generated chunk with side effects a
+ * label. I.e. we have side effect "A" if the non-pure chunk "A" is loaded.
+ *
+ * Now to determine the side effects of loading a chunk, one also has to take
+ * the side effects of its dependencies into account. So if A depends on B
+ * (A -> B) and both have side effects, loading A triggers effects AB.
+ *
+ * Now from the previous step we know that each chunk is uniquely determine by
+ * the entry points that depend on it and cause it to load, which we will call
+ * its dependent entry points.
+ *
+ * E.g. if X -> A and Y -> A, then the dependent entry points of A are XY.
+ * Starting from that idea, we can determine a set of chunks—and thus a set
+ * of side effects—that must have been triggered if a certain chunk has been
+ * loaded. Basically, it is the intersection of all chunks loaded by the
+ * dependent entry points of a given chunk. We call the corresponding side
+ * effects the correlated side effects of that chunk.
+ *
+ * Example:
+ * X -> ABC, Y -> ADE, A-> F, B -> D
+ * Then taking dependencies into account, X -> ABCDF, Y -> ADEF
+ * The intersection is ADF. So we know that when A is loaded, D and F must also
+ * be in memory even though neither D nor A is a dependency of the other.
+ * If all have side effects, we call ADF the correlated side effects of A. The
+ * correlated side effects need to remain constant when merging chunks.
+ *
+ * In contrast, we have the dependency side effects of A, which represents
+ * the side effects we trigger if we directly load A. In this example, the
+ * dependency side effects are AF.
+ * For entry chunks, dependency and correlated side effects are the same.
+ *
+ * With these concepts, merging chunks is allowed if the correlated side
+ * effects of each entry do not change. Thus, we are allowed to merge two
+ * chunks if
+ *
+ * a) the dependency side effects of each chunk are a subset of the correlated
+ *    side effects of the other chunk, so no additional side effects are
+ *    triggered for any entry, or
+ * b) The dependent entry points of chunk A are a subset of the dependent entry
+ *    points of chunk B while the dependency side effects of A are a subset of
+ *    the correlated side effects of B. Because in that scenario, whenever A is
+ *    loaded, B is loaded as well. But there are cases when B is loaded where A
+ *    is not loaded. So if we merge the chunks, all dependency side effects of
+ *    A will be added to the correlated side effects of B, and as the latter is
+ *    not allowed to change, the former need to be a subset of the latter.
+ *
+ * Another consideration when merging small chunks into other chunks is to
+ * avoid
+ * that too much additional code is loaded. This is achieved when the dependent
+ * entries of the small chunk are a subset of the dependent entries of the
+ * other
+ * chunk. Because then when the small chunk is loaded, the other chunk was
+ * loaded/in memory anyway, so at most when the other chunk is loaded, the
+ * additional size of the small chunk is loaded unnecessarily.
+ *
+ * So the algorithm performs merges in two passes:
+ *
+ * 1. First we try to merge small chunks A only into other chunks B if the
+ *    dependent entries of A are a subset of the dependent entries of B and the
+ *    dependency side effects of A are a subset of the correlated side effects
+ *    of B.
+ * 2. Only then for all remaining small chunks, we look for arbitrary merges
+ *    following the rule (a), starting with the smallest chunks to look for
+ *    possible merge targets.
+ */
+function getOptimizedChunks(chunks, minChunkSize, sideEffectAtoms, sizeByAtom, log) {
+    timeStart('optimize chunks', 3);
+    const chunkPartition = getPartitionedChunks(chunks, minChunkSize);
+    if (!chunkPartition) {
+        timeEnd('optimize chunks', 3);
+        return chunks; // the actual modules
+    }
+    minChunkSize > 1 &&
+        log('info', parseAst_js.logOptimizeChunkStatus(chunks.length, chunkPartition.small.size, 'Initially'));
+    mergeChunks(chunkPartition, minChunkSize, sideEffectAtoms, sizeByAtom);
+    minChunkSize > 1 &&
+        log('info', parseAst_js.logOptimizeChunkStatus(chunkPartition.small.size + chunkPartition.big.size, chunkPartition.small.size, 'After merging chunks'));
+    timeEnd('optimize chunks', 3);
+    return [...chunkPartition.small, ...chunkPartition.big];
+}
+function getPartitionedChunks(chunks, minChunkSize) {
+    const smallChunks = [];
+    const bigChunks = [];
+    for (const chunk of chunks) {
+        (chunk.size < minChunkSize ? smallChunks : bigChunks).push(chunk);
+    }
+    if (smallChunks.length === 0) {
+        return null;
+    }
+    smallChunks.sort(compareChunkSize);
+    bigChunks.sort(compareChunkSize);
+    return {
+        big: new Set(bigChunks),
+        small: new Set(smallChunks)
+    };
+}
+function compareChunkSize({ size: sizeA }, { size: sizeB }) {
+    return sizeA - sizeB;
+}
+function mergeChunks(chunkPartition, minChunkSize, sideEffectAtoms, sizeByAtom) {
+    const { small } = chunkPartition;
+    for (const mergedChunk of small) {
+        const bestTargetChunk = findBestMergeTarget(mergedChunk, chunkPartition, sideEffectAtoms, sizeByAtom, 
+        // In the default case, we do not accept size increases
+        minChunkSize <= 1 ? 1 : Infinity);
+        if (bestTargetChunk) {
+            const { containedAtoms, correlatedAtoms, modules, pure, size } = mergedChunk;
+            small.delete(mergedChunk);
+            getChunksInPartition(bestTargetChunk, minChunkSize, chunkPartition).delete(bestTargetChunk);
+            bestTargetChunk.modules.push(...modules);
+            bestTargetChunk.size += size;
+            bestTargetChunk.pure &&= pure;
+            const { dependencies, dependentChunks, dependentEntries } = bestTargetChunk;
+            bestTargetChunk.correlatedAtoms &= correlatedAtoms;
+            bestTargetChunk.containedAtoms |= containedAtoms;
+            for (const entry of mergedChunk.dependentEntries) {
+                dependentEntries.add(entry);
+            }
+            for (const dependency of mergedChunk.dependencies) {
+                dependencies.add(dependency);
+                dependency.dependentChunks.delete(mergedChunk);
+                dependency.dependentChunks.add(bestTargetChunk);
+            }
+            for (const dependentChunk of mergedChunk.dependentChunks) {
+                dependentChunks.add(dependentChunk);
+                dependentChunk.dependencies.delete(mergedChunk);
+                dependentChunk.dependencies.add(bestTargetChunk);
+            }
+            dependencies.delete(bestTargetChunk);
+            dependentChunks.delete(bestTargetChunk);
+            getChunksInPartition(bestTargetChunk, minChunkSize, chunkPartition).add(bestTargetChunk);
+        }
+    }
+}
+function findBestMergeTarget(mergedChunk, { big, small }, sideEffectAtoms, sizeByAtom, smallestAdditionalSize) {
+    let bestTargetChunk = null;
+    // In the default case, we do not accept size increases
+    for (const targetChunk of concatLazy([small, big])) {
+        if (mergedChunk === targetChunk)
+            continue;
+        const additionalSizeAfterMerge = getAdditionalSizeAfterMerge(mergedChunk, targetChunk, smallestAdditionalSize, sideEffectAtoms, sizeByAtom);
+        if (additionalSizeAfterMerge < smallestAdditionalSize) {
+            bestTargetChunk = targetChunk;
+            if (additionalSizeAfterMerge === 0)
+                break;
+            smallestAdditionalSize = additionalSizeAfterMerge;
+        }
+    }
+    return bestTargetChunk;
+}
+/**
+ * Determine the additional unused code size that would be added by merging the
+ * two chunks. This is not an exact measurement but rather an upper bound. If
+ * the merge produces cycles or adds non-correlated side effects, `Infinity`
+ * is returned.
+ * Merging will not produce cycles if none of the direct non-merged
+ * dependencies of a chunk have the other chunk as a transitive dependency.
+ */
+function getAdditionalSizeAfterMerge(mergedChunk, targetChunk, 
+// The maximum additional unused code size allowed to be added by the merge,
+// taking dependencies into account, needs to be below this number
+currentAdditionalSize, sideEffectAtoms, sizeByAtom) {
+    const firstSize = getAdditionalSizeIfNoTransitiveDependencyOrNonCorrelatedSideEffect(mergedChunk, targetChunk, currentAdditionalSize, sideEffectAtoms, sizeByAtom);
+    return firstSize < currentAdditionalSize
+        ? firstSize +
+            getAdditionalSizeIfNoTransitiveDependencyOrNonCorrelatedSideEffect(targetChunk, mergedChunk, currentAdditionalSize - firstSize, sideEffectAtoms, sizeByAtom)
+        : Infinity;
+}
+function getAdditionalSizeIfNoTransitiveDependencyOrNonCorrelatedSideEffect(dependentChunk, dependencyChunk, currentAdditionalSize, sideEffectAtoms, sizeByAtom) {
+    const { correlatedAtoms } = dependencyChunk;
+    let dependencyAtoms = dependentChunk.containedAtoms;
+    const dependentContainedSideEffects = dependencyAtoms & sideEffectAtoms;
+    if ((correlatedAtoms & dependentContainedSideEffects) !== dependentContainedSideEffects) {
+        return Infinity;
+    }
+    const chunksToCheck = new Set(dependentChunk.dependencies);
+    for (const { dependencies, containedAtoms } of chunksToCheck) {
+        dependencyAtoms |= containedAtoms;
+        const containedSideEffects = containedAtoms & sideEffectAtoms;
+        if ((correlatedAtoms & containedSideEffects) !== containedSideEffects) {
+            return Infinity;
+        }
+        for (const dependency of dependencies) {
+            if (dependency === dependencyChunk) {
+                return Infinity;
+            }
+            chunksToCheck.add(dependency);
+        }
+    }
+    return getAtomsSizeIfBelowLimit(dependencyAtoms & ~correlatedAtoms, currentAdditionalSize, sizeByAtom);
+}
+function getAtomsSizeIfBelowLimit(atoms, currentAdditionalSize, sizeByAtom) {
+    let size = 0;
+    let atomIndex = 0;
+    let atomSignature = 1n;
+    const { length } = sizeByAtom;
+    for (; atomIndex < length; atomIndex++) {
+        if ((atoms & atomSignature) === atomSignature) {
+            size += sizeByAtom[atomIndex];
+        }
+        atomSignature <<= 1n;
+        if (size >= currentAdditionalSize) {
+            return Infinity;
+        }
+    }
+    return size;
+}
+function getChunksInPartition(chunk, minChunkSize, chunkPartition) {
+    return chunk.size < minChunkSize ? chunkPartition.small : chunkPartition.big;
+}
+
+// ported from https://github.com/substack/node-commondir
+function commondir(files) {
+    if (files.length === 0)
+        return '/';
+    if (files.length === 1)
+        return node_path.dirname(files[0]);
+    const commonSegments = files.slice(1).reduce((commonSegments, file) => {
+        const pathSegments = file.split(/\/+|\\+/);
+        let index;
+        for (index = 0; commonSegments[index] === pathSegments[index] &&
+            index < Math.min(commonSegments.length, pathSegments.length); index++)
+            ;
+        return commonSegments.slice(0, index);
+    }, files[0].split(/\/+|\\+/));
+    // Windows correctly handles paths with forward-slashes
+    return commonSegments.length > 1 ? commonSegments.join('/') : '/';
+}
+
+const compareExecIndex = (unitA, unitB) => unitA.execIndex > unitB.execIndex ? 1 : -1;
+function sortByExecutionOrder(units) {
+    units.sort(compareExecIndex);
+}
+function analyseModuleExecution(entryModules) {
+    let nextExecIndex = 0;
+    const cyclePaths = [];
+    const analysedModules = new Set();
+    const dynamicImports = new Set();
+    const parents = new Map();
+    const orderedModules = [];
+    const analyseModule = (module) => {
+        if (module instanceof Module) {
+            for (const dependency of module.dependencies) {
+                if (parents.has(dependency)) {
+                    if (!analysedModules.has(dependency)) {
+                        cyclePaths.push(getCyclePath(dependency, module, parents));
+                    }
+                    continue;
+                }
+                parents.set(dependency, module);
+                analyseModule(dependency);
+            }
+            for (const dependency of module.implicitlyLoadedBefore) {
+                dynamicImports.add(dependency);
+            }
+            for (const { resolution } of module.dynamicImports) {
+                if (resolution instanceof Module) {
+                    dynamicImports.add(resolution);
+                }
+            }
+            orderedModules.push(module);
+        }
+        module.execIndex = nextExecIndex++;
+        analysedModules.add(module);
+    };
+    for (const currentEntry of entryModules) {
+        if (!parents.has(currentEntry)) {
+            parents.set(currentEntry, null);
+            analyseModule(currentEntry);
+        }
+    }
+    for (const currentEntry of dynamicImports) {
+        if (!parents.has(currentEntry)) {
+            parents.set(currentEntry, null);
+            analyseModule(currentEntry);
+        }
+    }
+    return { cyclePaths, orderedModules };
+}
+function getCyclePath(module, parent, parents) {
+    const cycleSymbol = Symbol(module.id);
+    const path = [module.id];
+    let nextModule = parent;
+    module.cycles.add(cycleSymbol);
+    while (nextModule !== module) {
+        nextModule.cycles.add(cycleSymbol);
+        path.push(nextModule.id);
+        nextModule = parents.get(nextModule);
+    }
+    path.push(path[0]);
+    path.reverse();
+    return path;
+}
+
+function getGenerateCodeSnippets({ compact, generatedCode: { arrowFunctions, constBindings, objectShorthand, reservedNamesAsProps } }) {
+    const { _, n, s } = compact ? { _: '', n: '', s: '' } : { _: ' ', n: '\n', s: ';' };
+    const cnst = constBindings ? 'const' : 'var';
+    const getNonArrowFunctionIntro = (parameters, { isAsync, name }) => `${isAsync ? `async ` : ''}function${name ? ` ${name}` : ''}${_}(${parameters.join(`,${_}`)})${_}`;
+    const getFunctionIntro = arrowFunctions
+        ? (parameters, { isAsync, name }) => {
+            const singleParameter = parameters.length === 1;
+            const asyncString = isAsync ? `async${singleParameter ? ' ' : _}` : '';
+            return `${name ? `${cnst} ${name}${_}=${_}` : ''}${asyncString}${singleParameter ? parameters[0] : `(${parameters.join(`,${_}`)})`}${_}=>${_}`;
+        }
+        : getNonArrowFunctionIntro;
+    const getDirectReturnFunction = (parameters, { functionReturn, lineBreakIndent, name }) => [
+        `${getFunctionIntro(parameters, {
+            isAsync: false,
+            name
+        })}${arrowFunctions
+            ? lineBreakIndent
+                ? `${n}${lineBreakIndent.base}${lineBreakIndent.t}`
+                : ''
+            : `{${lineBreakIndent ? `${n}${lineBreakIndent.base}${lineBreakIndent.t}` : _}${functionReturn ? 'return ' : ''}`}`,
+        arrowFunctions
+            ? `${name ? ';' : ''}${lineBreakIndent ? `${n}${lineBreakIndent.base}` : ''}`
+            : `${s}${lineBreakIndent ? `${n}${lineBreakIndent.base}` : _}}`
+    ];
+    const isValidPropertyName = reservedNamesAsProps
+        ? (name) => VALID_IDENTIFIER_REGEXP.test(name)
+        : (name) => !RESERVED_NAMES.has(name) && VALID_IDENTIFIER_REGEXP.test(name);
+    return {
+        _,
+        cnst,
+        getDirectReturnFunction,
+        getDirectReturnIifeLeft: (parameters, returned, { needsArrowReturnParens, needsWrappedFunction }) => {
+            const [left, right] = getDirectReturnFunction(parameters, {
+                functionReturn: true,
+                lineBreakIndent: null,
+                name: null
+            });
+            return `${wrapIfNeeded(`${left}${wrapIfNeeded(returned, arrowFunctions && needsArrowReturnParens)}${right}`, arrowFunctions || needsWrappedFunction)}(`;
+        },
+        getFunctionIntro,
+        getNonArrowFunctionIntro,
+        getObject(fields, { lineBreakIndent }) {
+            const prefix = lineBreakIndent ? `${n}${lineBreakIndent.base}${lineBreakIndent.t}` : _;
+            return `{${fields
+                .map(([key, value]) => {
+                if (key === null)
+                    return `${prefix}${value}`;
+                const keyInObject = stringifyObjectKeyIfNeeded(key);
+                return key === value && objectShorthand && key === keyInObject
+                    ? prefix + key
+                    : `${prefix}${keyInObject}:${_}${value}`;
+            })
+                .join(`,`)}${fields.length === 0 ? '' : lineBreakIndent ? `${n}${lineBreakIndent.base}` : _}}`;
+        },
+        getPropertyAccess: (name) => isValidPropertyName(name) ? `.${name}` : `[${JSON.stringify(name)}]`,
+        n,
+        s
+    };
+}
+const wrapIfNeeded = (code, needsParens) => needsParens ? `(${code})` : code;
+
+class Source {
+    constructor(filename, content) {
+        this.isOriginal = true;
+        this.filename = filename;
+        this.content = content;
+    }
+    traceSegment(line, column, name) {
+        return { column, line, name, source: this };
+    }
+}
+class Link {
+    constructor(map, sources) {
+        this.sources = sources;
+        this.names = map.names;
+        this.mappings = map.mappings;
+    }
+    traceMappings() {
+        const sources = [];
+        const sourceIndexMap = new Map();
+        const sourcesContent = [];
+        const names = [];
+        const nameIndexMap = new Map();
+        const mappings = [];
+        for (const line of this.mappings) {
+            const tracedLine = [];
+            for (const segment of line) {
+                if (segment.length === 1)
+                    continue;
+                const source = this.sources[segment[1]];
+                if (!source)
+                    continue;
+                const traced = source.traceSegment(segment[2], segment[3], segment.length === 5 ? this.names[segment[4]] : '');
+                if (traced) {
+                    const { column, line, name, source: { content, filename } } = traced;
+                    let sourceIndex = sourceIndexMap.get(filename);
+                    if (sourceIndex === undefined) {
+                        sourceIndex = sources.length;
+                        sources.push(filename);
+                        sourceIndexMap.set(filename, sourceIndex);
+                        sourcesContent[sourceIndex] = content;
+                    }
+                    else if (sourcesContent[sourceIndex] == null) {
+                        sourcesContent[sourceIndex] = content;
+                    }
+                    else if (content != null && sourcesContent[sourceIndex] !== content) {
+                        return parseAst_js.error(parseAst_js.logConflictingSourcemapSources(filename));
+                    }
+                    const tracedSegment = [segment[0], sourceIndex, line, column];
+                    if (name) {
+                        let nameIndex = nameIndexMap.get(name);
+                        if (nameIndex === undefined) {
+                            nameIndex = names.length;
+                            names.push(name);
+                            nameIndexMap.set(name, nameIndex);
+                        }
+                        tracedSegment[4] = nameIndex;
+                    }
+                    tracedLine.push(tracedSegment);
+                }
+            }
+            mappings.push(tracedLine);
+        }
+        return { mappings, names, sources, sourcesContent };
+    }
+    traceSegment(line, column, name) {
+        const segments = this.mappings[line];
+        if (!segments)
+            return null;
+        // binary search through segments for the given column
+        let searchStart = 0;
+        let searchEnd = segments.length - 1;
+        while (searchStart <= searchEnd) {
+            const m = (searchStart + searchEnd) >> 1;
+            const segment = segments[m];
+            // If a sourcemap does not have sufficient resolution to contain a
+            // necessary mapping, e.g. because it only contains line information, we
+            // use the best approximation we could find
+            if (segment[0] === column || searchStart === searchEnd) {
+                if (segment.length == 1)
+                    return null;
+                const source = this.sources[segment[1]];
+                if (!source)
+                    return null;
+                return source.traceSegment(segment[2], segment[3], segment.length === 5 ? this.names[segment[4]] : name);
+            }
+            if (segment[0] > column) {
+                searchEnd = m - 1;
+            }
+            else {
+                searchStart = m + 1;
+            }
+        }
+        return null;
+    }
+}
+function getLinkMap(log) {
+    return function linkMap(source, map) {
+        if (!map.missing) {
+            return new Link(map, [source]);
+        }
+        log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logSourcemapBroken(map.plugin));
+        return new Link({
+            mappings: [],
+            names: []
+        }, [source]);
+    };
+}
+function getCollapsedSourcemap(id, originalCode, originalSourcemap, sourcemapChain, linkMap) {
+    let source;
+    if (originalSourcemap) {
+        const sources = originalSourcemap.sources;
+        const sourcesContent = originalSourcemap.sourcesContent || [];
+        const directory = node_path.dirname(id) || '.';
+        const sourceRoot = originalSourcemap.sourceRoot || '.';
+        const baseSources = sources.map((source, index) => new Source(node_path.resolve(directory, sourceRoot, source), sourcesContent[index]));
+        source = new Link(originalSourcemap, baseSources);
+    }
+    else {
+        source = new Source(id, originalCode);
+    }
+    return sourcemapChain.reduce(linkMap, source);
+}
+function collapseSourcemaps(file, map, modules, bundleSourcemapChain, excludeContent, log) {
+    const linkMap = getLinkMap(log);
+    const moduleSources = modules
+        .filter(module => !module.excludeFromSourcemap)
+        .map(module => getCollapsedSourcemap(module.id, module.originalCode, module.originalSourcemap, module.sourcemapChain, linkMap));
+    const link = new Link(map, moduleSources);
+    const source = bundleSourcemapChain.reduce(linkMap, link);
+    let { sources, sourcesContent, names, mappings } = source.traceMappings();
+    if (file) {
+        const directory = node_path.dirname(file);
+        sources = sources.map((source) => node_path.relative(directory, source));
+        file = node_path.basename(file);
+    }
+    sourcesContent = (excludeContent ? null : sourcesContent);
+    for (const module of modules) {
+        resetSourcemapCache(module.originalSourcemap, module.sourcemapChain);
+    }
+    return new SourceMap({ file, mappings, names, sources, sourcesContent });
+}
+function collapseSourcemap(id, originalCode, originalSourcemap, sourcemapChain, log) {
+    if (sourcemapChain.length === 0) {
+        return originalSourcemap;
+    }
+    const source = getCollapsedSourcemap(id, originalCode, originalSourcemap, sourcemapChain, getLinkMap(log));
+    const map = source.traceMappings();
+    return decodedSourcemap({ version: 3, ...map });
+}
+
+// this looks ridiculous, but it prevents sourcemap tooling from mistaking
+// this for an actual sourceMappingURL
+let SOURCEMAPPING_URL = 'sourceMa';
+SOURCEMAPPING_URL += 'ppingURL';
+
+async function renderChunks(chunks, bundle, pluginDriver, outputOptions, log) {
+    timeStart('render chunks', 2);
+    reserveEntryChunksInBundle(chunks);
+    const renderedChunks = await Promise.all(chunks.map(chunk => chunk.render()));
+    timeEnd('render chunks', 2);
+    timeStart('transform chunks', 2);
+    const getHash = hasherByType[outputOptions.hashCharacters];
+    const chunkGraph = getChunkGraph(chunks);
+    const { initialHashesByPlaceholder, nonHashedChunksWithPlaceholders, renderedChunksByPlaceholder, hashDependenciesByPlaceholder } = await transformChunksAndGenerateContentHashes(renderedChunks, chunkGraph, outputOptions, pluginDriver, getHash, log);
+    const hashesByPlaceholder = generateFinalHashes(renderedChunksByPlaceholder, hashDependenciesByPlaceholder, initialHashesByPlaceholder, bundle, getHash);
+    addChunksToBundle(renderedChunksByPlaceholder, hashesByPlaceholder, bundle, nonHashedChunksWithPlaceholders, pluginDriver, outputOptions);
+    timeEnd('transform chunks', 2);
+}
+function reserveEntryChunksInBundle(chunks) {
+    for (const chunk of chunks) {
+        if (chunk.facadeModule && chunk.facadeModule.isUserDefinedEntryPoint) {
+            // reserves name in bundle as side effect if it does not contain a hash
+            chunk.getPreliminaryFileName();
+        }
+    }
+}
+function getChunkGraph(chunks) {
+    return Object.fromEntries(chunks.map(chunk => {
+        const renderedChunkInfo = chunk.getRenderedChunkInfo();
+        return [renderedChunkInfo.fileName, renderedChunkInfo];
+    }));
+}
+async function transformChunk(magicString, fileName, usedModules, chunkGraph, options, outputPluginDriver, log) {
+    let map = null;
+    const sourcemapChain = [];
+    let code = await outputPluginDriver.hookReduceArg0('renderChunk', [magicString.toString(), chunkGraph[fileName], options, { chunks: chunkGraph }], (code, result, plugin) => {
+        if (result == null)
+            return code;
+        if (typeof result === 'string')
+            result = {
+                code: result,
+                map: undefined
+            };
+        // strict null check allows 'null' maps to not be pushed to the chain, while 'undefined' gets the missing map warning
+        if (result.map !== null) {
+            const map = decodedSourcemap(result.map);
+            sourcemapChain.push(map || { missing: true, plugin: plugin.name });
+        }
+        return result.code;
+    });
+    const { compact, dir, file, sourcemap, sourcemapExcludeSources, sourcemapFile, sourcemapPathTransform, sourcemapIgnoreList } = options;
+    if (!compact && code[code.length - 1] !== '\n')
+        code += '\n';
+    if (sourcemap) {
+        timeStart('sourcemaps', 3);
+        let resultingFile;
+        if (file)
+            resultingFile = node_path.resolve(sourcemapFile || file);
+        else if (dir)
+            resultingFile = node_path.resolve(dir, fileName);
+        else
+            resultingFile = node_path.resolve(fileName);
+        const decodedMap = magicString.generateDecodedMap({});
+        map = collapseSourcemaps(resultingFile, decodedMap, usedModules, sourcemapChain, sourcemapExcludeSources, log);
+        for (let sourcesIndex = 0; sourcesIndex < map.sources.length; ++sourcesIndex) {
+            let sourcePath = map.sources[sourcesIndex];
+            const sourcemapPath = `${resultingFile}.map`;
+            const ignoreList = sourcemapIgnoreList(sourcePath, sourcemapPath);
+            if (typeof ignoreList !== 'boolean') {
+                parseAst_js.error(parseAst_js.logFailedValidation('sourcemapIgnoreList function must return a boolean.'));
+            }
+            if (ignoreList) {
+                if (map.x_google_ignoreList === undefined) {
+                    map.x_google_ignoreList = [];
+                }
+                if (!map.x_google_ignoreList.includes(sourcesIndex)) {
+                    map.x_google_ignoreList.push(sourcesIndex);
+                }
+            }
+            if (sourcemapPathTransform) {
+                sourcePath = sourcemapPathTransform(sourcePath, sourcemapPath);
+                if (typeof sourcePath !== 'string') {
+                    parseAst_js.error(parseAst_js.logFailedValidation(`sourcemapPathTransform function must return a string.`));
+                }
+            }
+            map.sources[sourcesIndex] = parseAst_js.normalize(sourcePath);
+        }
+        timeEnd('sourcemaps', 3);
+    }
+    return {
+        code,
+        map
+    };
+}
+async function transformChunksAndGenerateContentHashes(renderedChunks, chunkGraph, outputOptions, pluginDriver, getHash, log) {
+    const nonHashedChunksWithPlaceholders = [];
+    const renderedChunksByPlaceholder = new Map();
+    const hashDependenciesByPlaceholder = new Map();
+    const initialHashesByPlaceholder = new Map();
+    const placeholders = new Set();
+    for (const { preliminaryFileName: { hashPlaceholder } } of renderedChunks) {
+        if (hashPlaceholder)
+            placeholders.add(hashPlaceholder);
+    }
+    await Promise.all(renderedChunks.map(async ({ chunk, preliminaryFileName: { fileName, hashPlaceholder }, preliminarySourcemapFileName, magicString, usedModules }) => {
+        const transformedChunk = {
+            chunk,
+            fileName,
+            sourcemapFileName: preliminarySourcemapFileName?.fileName ?? null,
+            ...(await transformChunk(magicString, fileName, usedModules, chunkGraph, outputOptions, pluginDriver, log))
+        };
+        const { code, map } = transformedChunk;
+        if (hashPlaceholder) {
+            // To create a reproducible content-only hash, all placeholders are
+            // replaced with the same value before hashing
+            const { containedPlaceholders, transformedCode } = replacePlaceholdersWithDefaultAndGetContainedPlaceholders(code, placeholders);
+            let contentToHash = transformedCode;
+            const hashAugmentation = pluginDriver.hookReduceValueSync('augmentChunkHash', '', [chunk.getRenderedChunkInfo()], (augmentation, pluginHash) => {
+                if (pluginHash) {
+                    augmentation += pluginHash;
+                }
+                return augmentation;
+            });
+            if (hashAugmentation) {
+                contentToHash += hashAugmentation;
+            }
+            renderedChunksByPlaceholder.set(hashPlaceholder, transformedChunk);
+            hashDependenciesByPlaceholder.set(hashPlaceholder, {
+                containedPlaceholders,
+                contentHash: getHash(contentToHash)
+            });
+        }
+        else {
+            nonHashedChunksWithPlaceholders.push(transformedChunk);
+        }
+        const sourcemapHashPlaceholder = preliminarySourcemapFileName?.hashPlaceholder;
+        if (map && sourcemapHashPlaceholder) {
+            initialHashesByPlaceholder.set(preliminarySourcemapFileName.hashPlaceholder, getHash(map.toString()).slice(0, preliminarySourcemapFileName.hashPlaceholder.length));
+        }
+    }));
+    return {
+        hashDependenciesByPlaceholder,
+        initialHashesByPlaceholder,
+        nonHashedChunksWithPlaceholders,
+        renderedChunksByPlaceholder
+    };
+}
+function generateFinalHashes(renderedChunksByPlaceholder, hashDependenciesByPlaceholder, initialHashesByPlaceholder, bundle, getHash) {
+    const hashesByPlaceholder = new Map(initialHashesByPlaceholder);
+    for (const [placeholder, { fileName }] of renderedChunksByPlaceholder) {
+        let contentToHash = '';
+        const hashDependencyPlaceholders = new Set([placeholder]);
+        for (const dependencyPlaceholder of hashDependencyPlaceholders) {
+            const { containedPlaceholders, contentHash } = hashDependenciesByPlaceholder.get(dependencyPlaceholder);
+            contentToHash += contentHash;
+            for (const containedPlaceholder of containedPlaceholders) {
+                // When looping over a map, setting an entry only causes a new iteration if the key is new
+                hashDependencyPlaceholders.add(containedPlaceholder);
+            }
+        }
+        let finalFileName;
+        let finalHash;
+        do {
+            // In case of a hash collision, create a hash of the hash
+            if (finalHash) {
+                contentToHash = finalHash;
+            }
+            finalHash = getHash(contentToHash).slice(0, placeholder.length);
+            finalFileName = replaceSinglePlaceholder(fileName, placeholder, finalHash);
+        } while (bundle[lowercaseBundleKeys].has(finalFileName.toLowerCase()));
+        bundle[finalFileName] = FILE_PLACEHOLDER;
+        hashesByPlaceholder.set(placeholder, finalHash);
+    }
+    return hashesByPlaceholder;
+}
+function addChunksToBundle(renderedChunksByPlaceholder, hashesByPlaceholder, bundle, nonHashedChunksWithPlaceholders, pluginDriver, options) {
+    for (const { chunk, code, fileName, sourcemapFileName, map } of renderedChunksByPlaceholder.values()) {
+        let updatedCode = replacePlaceholders(code, hashesByPlaceholder);
+        const finalFileName = replacePlaceholders(fileName, hashesByPlaceholder);
+        let finalSourcemapFileName = null;
+        if (map) {
+            finalSourcemapFileName = sourcemapFileName
+                ? replacePlaceholders(sourcemapFileName, hashesByPlaceholder)
+                : `${finalFileName}.map`;
+            map.file = replacePlaceholders(map.file, hashesByPlaceholder);
+            updatedCode += emitSourceMapAndGetComment(finalSourcemapFileName, map, pluginDriver, options);
+        }
+        bundle[finalFileName] = chunk.finalizeChunk(updatedCode, map, finalSourcemapFileName, hashesByPlaceholder);
+    }
+    for (const { chunk, code, fileName, sourcemapFileName, map } of nonHashedChunksWithPlaceholders) {
+        let updatedCode = hashesByPlaceholder.size > 0 ? replacePlaceholders(code, hashesByPlaceholder) : code;
+        let finalSourcemapFileName = null;
+        if (map) {
+            finalSourcemapFileName = sourcemapFileName
+                ? replacePlaceholders(sourcemapFileName, hashesByPlaceholder)
+                : `${fileName}.map`;
+            updatedCode += emitSourceMapAndGetComment(finalSourcemapFileName, map, pluginDriver, options);
+        }
+        bundle[fileName] = chunk.finalizeChunk(updatedCode, map, finalSourcemapFileName, hashesByPlaceholder);
+    }
+}
+function emitSourceMapAndGetComment(fileName, map, pluginDriver, { sourcemap, sourcemapBaseUrl }) {
+    let url;
+    if (sourcemap === 'inline') {
+        url = map.toUrl();
+    }
+    else {
+        const sourcemapFileName = node_path.basename(fileName);
+        url = sourcemapBaseUrl
+            ? new URL(sourcemapFileName, sourcemapBaseUrl).toString()
+            : sourcemapFileName;
+        pluginDriver.emitFile({ fileName, source: map.toString(), type: 'asset' });
+    }
+    return sourcemap === 'hidden' ? '' : `//# ${SOURCEMAPPING_URL}=${url}\n`;
+}
+
+class Bundle {
+    constructor(outputOptions, unsetOptions, inputOptions, pluginDriver, graph) {
+        this.outputOptions = outputOptions;
+        this.unsetOptions = unsetOptions;
+        this.inputOptions = inputOptions;
+        this.pluginDriver = pluginDriver;
+        this.graph = graph;
+        this.facadeChunkByModule = new Map();
+        this.includedNamespaces = new Set();
+    }
+    async generate(isWrite) {
+        timeStart('GENERATE', 1);
+        const outputBundleBase = Object.create(null);
+        const outputBundle = getOutputBundle(outputBundleBase);
+        this.pluginDriver.setOutputBundle(outputBundle, this.outputOptions);
+        try {
+            timeStart('initialize render', 2);
+            await this.pluginDriver.hookParallel('renderStart', [this.outputOptions, this.inputOptions]);
+            timeEnd('initialize render', 2);
+            timeStart('generate chunks', 2);
+            const getHashPlaceholder = getHashPlaceholderGenerator();
+            const chunks = await this.generateChunks(outputBundle, getHashPlaceholder);
+            if (chunks.length > 1) {
+                validateOptionsForMultiChunkOutput(this.outputOptions, this.inputOptions.onLog);
+            }
+            this.pluginDriver.setChunkInformation(this.facadeChunkByModule);
+            for (const chunk of chunks) {
+                chunk.generateExports();
+            }
+            timeEnd('generate chunks', 2);
+            await renderChunks(chunks, outputBundle, this.pluginDriver, this.outputOptions, this.inputOptions.onLog);
+        }
+        catch (error_) {
+            await this.pluginDriver.hookParallel('renderError', [error_]);
+            throw error_;
+        }
+        removeUnreferencedAssets(outputBundle);
+        timeStart('generate bundle', 2);
+        await this.pluginDriver.hookSeq('generateBundle', [
+            this.outputOptions,
+            outputBundle,
+            isWrite
+        ]);
+        this.finaliseAssets(outputBundle);
+        timeEnd('generate bundle', 2);
+        timeEnd('GENERATE', 1);
+        return outputBundleBase;
+    }
+    async addManualChunks(manualChunks) {
+        const manualChunkAliasByEntry = new Map();
+        const chunkEntries = await Promise.all(Object.entries(manualChunks).map(async ([alias, files]) => ({
+            alias,
+            entries: await this.graph.moduleLoader.addAdditionalModules(files, true)
+        })));
+        for (const { alias, entries } of chunkEntries) {
+            for (const entry of entries) {
+                addModuleToManualChunk(alias, entry, manualChunkAliasByEntry);
+            }
+        }
+        return manualChunkAliasByEntry;
+    }
+    assignManualChunks(getManualChunk) {
+        // eslint-disable-next-line unicorn/prefer-module
+        const manualChunkAliasesWithEntry = [];
+        const manualChunksApi = {
+            getModuleIds: () => this.graph.modulesById.keys(),
+            getModuleInfo: this.graph.getModuleInfo
+        };
+        for (const module of this.graph.modulesById.values()) {
+            if (module instanceof Module) {
+                const manualChunkAlias = getManualChunk(module.id, manualChunksApi);
+                if (typeof manualChunkAlias === 'string') {
+                    manualChunkAliasesWithEntry.push([manualChunkAlias, module]);
+                }
+            }
+        }
+        manualChunkAliasesWithEntry.sort(([aliasA], [aliasB]) => aliasA > aliasB ? 1 : aliasA < aliasB ? -1 : 0);
+        const manualChunkAliasByEntry = new Map();
+        for (const [alias, module] of manualChunkAliasesWithEntry) {
+            addModuleToManualChunk(alias, module, manualChunkAliasByEntry);
+        }
+        return manualChunkAliasByEntry;
+    }
+    finaliseAssets(bundle) {
+        if (this.outputOptions.validate) {
+            for (const file of Object.values(bundle)) {
+                if ('code' in file) {
+                    try {
+                        parseAst_js.parseAst(file.code);
+                    }
+                    catch (error_) {
+                        this.inputOptions.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logChunkInvalid(file, error_));
+                    }
+                }
+            }
+        }
+        this.pluginDriver.finaliseAssets();
+    }
+    async generateChunks(bundle, getHashPlaceholder) {
+        const { experimentalMinChunkSize, inlineDynamicImports, manualChunks, preserveModules } = this.outputOptions;
+        const manualChunkAliasByEntry = typeof manualChunks === 'object'
+            ? await this.addManualChunks(manualChunks)
+            : this.assignManualChunks(manualChunks);
+        const snippets = getGenerateCodeSnippets(this.outputOptions);
+        const includedModules = getIncludedModules(this.graph.modulesById);
+        const inputBase = commondir(getAbsoluteEntryModulePaths(includedModules, preserveModules));
+        const externalChunkByModule = getExternalChunkByModule(this.graph.modulesById, this.outputOptions, inputBase);
+        const chunks = [];
+        const chunkByModule = new Map();
+        for (const { alias, modules } of inlineDynamicImports
+            ? [{ alias: null, modules: includedModules }]
+            : preserveModules
+                ? includedModules.map(module => ({ alias: null, modules: [module] }))
+                : getChunkAssignments(this.graph.entryModules, manualChunkAliasByEntry, experimentalMinChunkSize, this.inputOptions.onLog)) {
+            sortByExecutionOrder(modules);
+            const chunk = new Chunk(modules, this.inputOptions, this.outputOptions, this.unsetOptions, this.pluginDriver, this.graph.modulesById, chunkByModule, externalChunkByModule, this.facadeChunkByModule, this.includedNamespaces, alias, getHashPlaceholder, bundle, inputBase, snippets);
+            chunks.push(chunk);
+        }
+        for (const chunk of chunks) {
+            chunk.link();
+        }
+        const facades = [];
+        for (const chunk of chunks) {
+            facades.push(...chunk.generateFacades());
+        }
+        return [...chunks, ...facades];
+    }
+}
+function validateOptionsForMultiChunkOutput(outputOptions, log) {
+    if (outputOptions.format === 'umd' || outputOptions.format === 'iife')
+        return parseAst_js.error(parseAst_js.logInvalidOption('output.format', parseAst_js.URL_OUTPUT_FORMAT, 'UMD and IIFE output formats are not supported for code-splitting builds', outputOptions.format));
+    if (typeof outputOptions.file === 'string')
+        return parseAst_js.error(parseAst_js.logInvalidOption('output.file', parseAst_js.URL_OUTPUT_DIR, 'when building multiple chunks, the "output.dir" option must be used, not "output.file". To inline dynamic imports, set the "inlineDynamicImports" option'));
+    if (outputOptions.sourcemapFile)
+        return parseAst_js.error(parseAst_js.logInvalidOption('output.sourcemapFile', parseAst_js.URL_OUTPUT_SOURCEMAPFILE, '"output.sourcemapFile" is only supported for single-file builds'));
+    if (!outputOptions.amd.autoId && outputOptions.amd.id)
+        log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logInvalidOption('output.amd.id', parseAst_js.URL_OUTPUT_AMD_ID, 'this option is only properly supported for single-file builds. Use "output.amd.autoId" and "output.amd.basePath" instead'));
+}
+function getIncludedModules(modulesById) {
+    const includedModules = [];
+    for (const module of modulesById.values()) {
+        if (module instanceof Module &&
+            (module.isIncluded() || module.info.isEntry || module.includedDynamicImporters.length > 0)) {
+            includedModules.push(module);
+        }
+    }
+    return includedModules;
+}
+function getAbsoluteEntryModulePaths(includedModules, preserveModules) {
+    const absoluteEntryModulePaths = [];
+    for (const module of includedModules) {
+        if ((module.info.isEntry || preserveModules) && parseAst_js.isAbsolute(module.id)) {
+            absoluteEntryModulePaths.push(module.id);
+        }
+    }
+    return absoluteEntryModulePaths;
+}
+function getExternalChunkByModule(modulesById, outputOptions, inputBase) {
+    const externalChunkByModule = new Map();
+    for (const module of modulesById.values()) {
+        if (module instanceof ExternalModule) {
+            externalChunkByModule.set(module, new ExternalChunk(module, outputOptions, inputBase));
+        }
+    }
+    return externalChunkByModule;
+}
+function addModuleToManualChunk(alias, module, manualChunkAliasByEntry) {
+    const existingAlias = manualChunkAliasByEntry.get(module);
+    if (typeof existingAlias === 'string' && existingAlias !== alias) {
+        return parseAst_js.error(parseAst_js.logCannotAssignModuleToChunk(module.id, alias, existingAlias));
+    }
+    manualChunkAliasByEntry.set(module, alias);
+}
+
+function flru (max) {
+	var num, curr, prev;
+	var limit = max || 1;
+
+	function keep(key, value) {
+		if (++num > limit) {
+			prev = curr;
+			reset(1);
+			++num;
+		}
+		curr[key] = value;
+	}
+
+	function reset(isPartial) {
+		num = 0;
+		curr = Object.create(null);
+		isPartial || (prev=Object.create(null));
+	}
+
+	reset();
+
+	return {
+		clear: reset,
+		has: function (key) {
+			return curr[key] !== void 0 || prev[key] !== void 0;
+		},
+		get: function (key) {
+			var val = curr[key];
+			if (val !== void 0) return val;
+			if ((val=prev[key]) !== void 0) {
+				keep(key, val);
+				return val;
+			}
+		},
+		set: function (key, value) {
+			if (curr[key] !== void 0) {
+				curr[key] = value;
+			} else {
+				keep(key, value);
+			}
+		}
+	};
+}
+
+function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes) {
+    let skipped = null;
+    let replaceContext = null;
+    if (skip) {
+        skipped = new Set();
+        for (const skippedCall of skip) {
+            if (source === skippedCall.source && importer === skippedCall.importer) {
+                skipped.add(skippedCall.plugin);
+            }
+        }
+        replaceContext = (pluginContext, plugin) => ({
+            ...pluginContext,
+            resolve: (source, importer, { attributes, custom, isEntry, skipSelf } = BLANK) => {
+                skipSelf ??= true;
+                return moduleLoaderResolveId(source, importer, custom, isEntry, attributes || EMPTY_OBJECT, skipSelf ? [...skip, { importer, plugin, source }] : skip);
+            }
+        });
+    }
+    return pluginDriver.hookFirstAndGetPlugin('resolveId', [source, importer, { attributes, custom: customOptions, isEntry }], replaceContext, skipped);
+}
+
+async function resolveId(source, importer, preserveSymlinks, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes) {
+    const pluginResult = await resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes);
+    if (pluginResult != null) {
+        const [resolveIdResult, plugin] = pluginResult;
+        if (typeof resolveIdResult === 'object' && !resolveIdResult.resolvedBy) {
+            return {
+                ...resolveIdResult,
+                resolvedBy: plugin.name
+            };
+        }
+        if (typeof resolveIdResult === 'string') {
+            return {
+                id: resolveIdResult,
+                resolvedBy: plugin.name
+            };
+        }
+        return resolveIdResult;
+    }
+    // external modules (non-entry modules that start with neither '.' or '/')
+    // are skipped at this stage.
+    if (importer !== undefined && !parseAst_js.isAbsolute(source) && source[0] !== '.')
+        return null;
+    // `resolve` processes paths from right to left, prepending them until an
+    // absolute path is created. Absolute importees therefore shortcircuit the
+    // resolve call and require no special handing on our part.
+    // See https://nodejs.org/api/path.html#path_path_resolve_paths
+    return addJsExtensionIfNecessary(importer ? node_path.resolve(node_path.dirname(importer), source) : node_path.resolve(source), preserveSymlinks);
+}
+async function addJsExtensionIfNecessary(file, preserveSymlinks) {
+    return ((await findFile(file, preserveSymlinks)) ??
+        (await findFile(file + '.mjs', preserveSymlinks)) ??
+        (await findFile(file + '.js', preserveSymlinks)));
+}
+async function findFile(file, preserveSymlinks) {
+    try {
+        const stats = await promises.lstat(file);
+        if (!preserveSymlinks && stats.isSymbolicLink())
+            return await findFile(await promises.realpath(file), preserveSymlinks);
+        if ((preserveSymlinks && stats.isSymbolicLink()) || stats.isFile()) {
+            // check case
+            const name = node_path.basename(file);
+            const files = await promises.readdir(node_path.dirname(file));
+            if (files.includes(name))
+                return file;
+        }
+    }
+    catch {
+        // suppress
+    }
+}
+
+async function transform(source, module, pluginDriver, log) {
+    const id = module.id;
+    const sourcemapChain = [];
+    let originalSourcemap = source.map === null ? null : decodedSourcemap(source.map);
+    const originalCode = source.code;
+    let ast = source.ast;
+    const transformDependencies = [];
+    const emittedFiles = [];
+    let customTransformCache = false;
+    const useCustomTransformCache = () => (customTransformCache = true);
+    let pluginName = '';
+    let currentSource = source.code;
+    function transformReducer(previousCode, result, plugin) {
+        let code;
+        let map;
+        if (typeof result === 'string') {
+            code = result;
+        }
+        else if (result && typeof result === 'object') {
+            module.updateOptions(result);
+            if (result.code == null) {
+                if (result.map || result.ast) {
+                    log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logNoTransformMapOrAstWithoutCode(plugin.name));
+                }
+                return previousCode;
+            }
+            ({ code, map, ast } = result);
+        }
+        else {
+            return previousCode;
+        }
+        // strict null check allows 'null' maps to not be pushed to the chain,
+        // while 'undefined' gets the missing map warning
+        if (map !== null) {
+            sourcemapChain.push(decodedSourcemap(typeof map === 'string' ? JSON.parse(map) : map) || {
+                missing: true,
+                plugin: plugin.name
+            });
+        }
+        currentSource = code;
+        return code;
+    }
+    const getLogHandler = (handler) => (log, pos) => {
+        log = normalizeLog(log);
+        if (pos)
+            parseAst_js.augmentCodeLocation(log, pos, currentSource, id);
+        log.id = id;
+        log.hook = 'transform';
+        handler(log);
+    };
+    let code;
+    try {
+        code = await pluginDriver.hookReduceArg0('transform', [currentSource, id], transformReducer, (pluginContext, plugin) => {
+            pluginName = plugin.name;
+            return {
+                ...pluginContext,
+                addWatchFile(id) {
+                    transformDependencies.push(id);
+                    pluginContext.addWatchFile(id);
+                },
+                cache: customTransformCache
+                    ? pluginContext.cache
+                    : getTrackedPluginCache(pluginContext.cache, useCustomTransformCache),
+                debug: getLogHandler(pluginContext.debug),
+                emitFile(emittedFile) {
+                    emittedFiles.push(emittedFile);
+                    return pluginDriver.emitFile(emittedFile);
+                },
+                error(error_, pos) {
+                    if (typeof error_ === 'string')
+                        error_ = { message: error_ };
+                    if (pos)
+                        parseAst_js.augmentCodeLocation(error_, pos, currentSource, id);
+                    error_.id = id;
+                    error_.hook = 'transform';
+                    return pluginContext.error(error_);
+                },
+                getCombinedSourcemap() {
+                    const combinedMap = collapseSourcemap(id, originalCode, originalSourcemap, sourcemapChain, log);
+                    if (!combinedMap) {
+                        const magicString = new MagicString(originalCode);
+                        return magicString.generateMap({ hires: true, includeContent: true, source: id });
+                    }
+                    if (originalSourcemap !== combinedMap) {
+                        originalSourcemap = combinedMap;
+                        sourcemapChain.length = 0;
+                    }
+                    return new SourceMap({
+                        ...combinedMap,
+                        file: null,
+                        sourcesContent: combinedMap.sourcesContent
+                    });
+                },
+                info: getLogHandler(pluginContext.info),
+                setAssetSource() {
+                    return this.error(parseAst_js.logInvalidSetAssetSourceCall());
+                },
+                warn: getLogHandler(pluginContext.warn)
+            };
+        });
+    }
+    catch (error_) {
+        return parseAst_js.error(parseAst_js.logPluginError(error_, pluginName, { hook: 'transform', id }));
+    }
+    if (!customTransformCache && // files emitted by a transform hook need to be emitted again if the hook is skipped
+        emittedFiles.length > 0)
+        module.transformFiles = emittedFiles;
+    return {
+        ast,
+        code,
+        customTransformCache,
+        originalCode,
+        originalSourcemap,
+        sourcemapChain,
+        transformDependencies
+    };
+}
+
+const RESOLVE_DEPENDENCIES = 'resolveDependencies';
+class ModuleLoader {
+    constructor(graph, modulesById, options, pluginDriver) {
+        this.graph = graph;
+        this.modulesById = modulesById;
+        this.options = options;
+        this.pluginDriver = pluginDriver;
+        this.implicitEntryModules = new Set();
+        this.indexedEntryModules = [];
+        this.latestLoadModulesPromise = Promise.resolve();
+        this.moduleLoadPromises = new Map();
+        this.modulesWithLoadedDependencies = new Set();
+        this.nextChunkNamePriority = 0;
+        this.nextEntryModuleIndex = 0;
+        this.resolveId = async (source, importer, customOptions, isEntry, attributes, skip = null) => this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(this.options.external(source, importer, false)
+            ? false
+            : await resolveId(source, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, skip, customOptions, typeof isEntry === 'boolean' ? isEntry : !importer, attributes), importer, source), attributes);
+        this.hasModuleSideEffects = options.treeshake
+            ? options.treeshake.moduleSideEffects
+            : () => true;
+    }
+    async addAdditionalModules(unresolvedModules, isAddForManualChunks) {
+        const result = this.extendLoadModulesPromise(Promise.all(unresolvedModules.map(id => this.loadEntryModule(id, false, undefined, null, isAddForManualChunks))));
+        await this.awaitLoadModulesPromise();
+        return result;
+    }
+    async addEntryModules(unresolvedEntryModules, isUserDefined) {
+        const firstEntryModuleIndex = this.nextEntryModuleIndex;
+        this.nextEntryModuleIndex += unresolvedEntryModules.length;
+        const firstChunkNamePriority = this.nextChunkNamePriority;
+        this.nextChunkNamePriority += unresolvedEntryModules.length;
+        const newEntryModules = await this.extendLoadModulesPromise(Promise.all(unresolvedEntryModules.map(({ id, importer }) => this.loadEntryModule(id, true, importer, null))).then(entryModules => {
+            for (const [index, entryModule] of entryModules.entries()) {
+                entryModule.isUserDefinedEntryPoint =
+                    entryModule.isUserDefinedEntryPoint || isUserDefined;
+                addChunkNamesToModule(entryModule, unresolvedEntryModules[index], isUserDefined, firstChunkNamePriority + index);
+                const existingIndexedModule = this.indexedEntryModules.find(indexedModule => indexedModule.module === entryModule);
+                if (existingIndexedModule) {
+                    existingIndexedModule.index = Math.min(existingIndexedModule.index, firstEntryModuleIndex + index);
+                }
+                else {
+                    this.indexedEntryModules.push({
+                        index: firstEntryModuleIndex + index,
+                        module: entryModule
+                    });
+                }
+            }
+            this.indexedEntryModules.sort(({ index: indexA }, { index: indexB }) => indexA > indexB ? 1 : -1);
+            return entryModules;
+        }));
+        await this.awaitLoadModulesPromise();
+        return {
+            entryModules: this.indexedEntryModules.map(({ module }) => module),
+            implicitEntryModules: [...this.implicitEntryModules],
+            newEntryModules
+        };
+    }
+    async emitChunk({ fileName, id, importer, name, implicitlyLoadedAfterOneOf, preserveSignature }) {
+        const unresolvedModule = {
+            fileName: fileName || null,
+            id,
+            importer,
+            name: name || null
+        };
+        const module = implicitlyLoadedAfterOneOf
+            ? await this.addEntryWithImplicitDependants(unresolvedModule, implicitlyLoadedAfterOneOf)
+            : (await this.addEntryModules([unresolvedModule], false)).newEntryModules[0];
+        if (preserveSignature != null) {
+            module.preserveSignature = preserveSignature;
+        }
+        return module;
+    }
+    async preloadModule(resolvedId) {
+        const module = await this.fetchModule(this.getResolvedIdWithDefaults(resolvedId, EMPTY_OBJECT), undefined, false, resolvedId.resolveDependencies ? RESOLVE_DEPENDENCIES : true);
+        return module.info;
+    }
+    addEntryWithImplicitDependants(unresolvedModule, implicitlyLoadedAfter) {
+        const chunkNamePriority = this.nextChunkNamePriority++;
+        return this.extendLoadModulesPromise(this.loadEntryModule(unresolvedModule.id, false, unresolvedModule.importer, null).then(async (entryModule) => {
+            addChunkNamesToModule(entryModule, unresolvedModule, false, chunkNamePriority);
+            if (!entryModule.info.isEntry) {
+                const implicitlyLoadedAfterModules = await Promise.all(implicitlyLoadedAfter.map(id => this.loadEntryModule(id, false, unresolvedModule.importer, entryModule.id)));
+                // We need to check again if this is still an entry module as these
+                // changes need to be performed atomically to avoid race conditions
+                // if the same module is re-emitted as an entry module.
+                // The inverse changes happen in "handleExistingModule"
+                if (!entryModule.info.isEntry) {
+                    this.implicitEntryModules.add(entryModule);
+                    for (const module of implicitlyLoadedAfterModules) {
+                        entryModule.implicitlyLoadedAfter.add(module);
+                    }
+                    for (const dependant of entryModule.implicitlyLoadedAfter) {
+                        dependant.implicitlyLoadedBefore.add(entryModule);
+                    }
+                }
+            }
+            return entryModule;
+        }));
+    }
+    async addModuleSource(id, importer, module) {
+        let source;
+        try {
+            source = await this.graph.fileOperationQueue.run(async () => {
+                const content = await this.pluginDriver.hookFirst('load', [id]);
+                if (content !== null)
+                    return content;
+                this.graph.watchFiles[id] = true;
+                return await promises.readFile(id, 'utf8');
+            });
+        }
+        catch (error_) {
+            let message = `Could not load ${id}`;
+            if (importer)
+                message += ` (imported by ${parseAst_js.relativeId(importer)})`;
+            message += `: ${error_.message}`;
+            error_.message = message;
+            throw error_;
+        }
+        const sourceDescription = typeof source === 'string'
+            ? { code: source }
+            : source != null && typeof source === 'object' && typeof source.code === 'string'
+                ? source
+                : parseAst_js.error(parseAst_js.logBadLoader(id));
+        const code = sourceDescription.code;
+        /* eslint-disable-next-line unicorn/number-literal-case */
+        if (code.charCodeAt(0) === 65279) {
+            sourceDescription.code = code.slice(1);
+        }
+        const cachedModule = this.graph.cachedModules.get(id);
+        if (cachedModule &&
+            !cachedModule.customTransformCache &&
+            cachedModule.originalCode === sourceDescription.code &&
+            !(await this.pluginDriver.hookFirst('shouldTransformCachedModule', [
+                {
+                    ast: cachedModule.ast,
+                    code: cachedModule.code,
+                    id: cachedModule.id,
+                    meta: cachedModule.meta,
+                    moduleSideEffects: cachedModule.moduleSideEffects,
+                    resolvedSources: cachedModule.resolvedIds,
+                    syntheticNamedExports: cachedModule.syntheticNamedExports
+                }
+            ]))) {
+            if (cachedModule.transformFiles) {
+                for (const emittedFile of cachedModule.transformFiles)
+                    this.pluginDriver.emitFile(emittedFile);
+            }
+            await module.setSource(cachedModule);
+        }
+        else {
+            module.updateOptions(sourceDescription);
+            await module.setSource(await transform(sourceDescription, module, this.pluginDriver, this.options.onLog));
+        }
+    }
+    async awaitLoadModulesPromise() {
+        let startingPromise;
+        do {
+            startingPromise = this.latestLoadModulesPromise;
+            await startingPromise;
+        } while (startingPromise !== this.latestLoadModulesPromise);
+    }
+    extendLoadModulesPromise(loadNewModulesPromise) {
+        this.latestLoadModulesPromise = Promise.all([
+            loadNewModulesPromise,
+            this.latestLoadModulesPromise
+        ]);
+        this.latestLoadModulesPromise.catch(() => {
+            /* Avoid unhandled Promise rejections */
+        });
+        return loadNewModulesPromise;
+    }
+    async fetchDynamicDependencies(module, resolveDynamicImportPromises) {
+        const dependencies = await Promise.all(resolveDynamicImportPromises.map(resolveDynamicImportPromise => resolveDynamicImportPromise.then(async ([dynamicImport, resolvedId]) => {
+            if (resolvedId === null)
+                return null;
+            if (typeof resolvedId === 'string') {
+                dynamicImport.resolution = resolvedId;
+                return null;
+            }
+            return (dynamicImport.resolution = await this.fetchResolvedDependency(parseAst_js.relativeId(resolvedId.id), module.id, resolvedId));
+        })));
+        for (const dependency of dependencies) {
+            if (dependency) {
+                module.dynamicDependencies.add(dependency);
+                dependency.dynamicImporters.push(module.id);
+            }
+        }
+    }
+    // If this is a preload, then this method always waits for the dependencies of
+    // the module to be resolved.
+    // Otherwise, if the module does not exist, it waits for the module and all
+    // its dependencies to be loaded.
+    // Otherwise, it returns immediately.
+    async fetchModule({ attributes, id, meta, moduleSideEffects, syntheticNamedExports }, importer, isEntry, isPreload) {
+        const existingModule = this.modulesById.get(id);
+        if (existingModule instanceof Module) {
+            if (importer && doAttributesDiffer(attributes, existingModule.info.attributes)) {
+                this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logInconsistentImportAttributes(existingModule.info.attributes, attributes, id, importer));
+            }
+            await this.handleExistingModule(existingModule, isEntry, isPreload);
+            return existingModule;
+        }
+        if (existingModule instanceof ExternalModule) {
+            return parseAst_js.error(parseAst_js.logExternalModulesCannotBeTransformedToModules(existingModule.id));
+        }
+        const module = new Module(this.graph, id, this.options, isEntry, moduleSideEffects, syntheticNamedExports, meta, attributes);
+        this.modulesById.set(id, module);
+        const loadPromise = this.addModuleSource(id, importer, module).then(() => [
+            this.getResolveStaticDependencyPromises(module),
+            this.getResolveDynamicImportPromises(module),
+            loadAndResolveDependenciesPromise
+        ]);
+        const loadAndResolveDependenciesPromise = waitForDependencyResolution(loadPromise).then(() => this.pluginDriver.hookParallel('moduleParsed', [module.info]));
+        loadAndResolveDependenciesPromise.catch(() => {
+            /* avoid unhandled promise rejections */
+        });
+        this.moduleLoadPromises.set(module, loadPromise);
+        const resolveDependencyPromises = await loadPromise;
+        if (!isPreload) {
+            await this.fetchModuleDependencies(module, ...resolveDependencyPromises);
+        }
+        else if (isPreload === RESOLVE_DEPENDENCIES) {
+            await loadAndResolveDependenciesPromise;
+        }
+        return module;
+    }
+    async fetchModuleDependencies(module, resolveStaticDependencyPromises, resolveDynamicDependencyPromises, loadAndResolveDependenciesPromise) {
+        if (this.modulesWithLoadedDependencies.has(module)) {
+            return;
+        }
+        this.modulesWithLoadedDependencies.add(module);
+        await Promise.all([
+            this.fetchStaticDependencies(module, resolveStaticDependencyPromises),
+            this.fetchDynamicDependencies(module, resolveDynamicDependencyPromises)
+        ]);
+        module.linkImports();
+        // To handle errors when resolving dependencies or in moduleParsed
+        await loadAndResolveDependenciesPromise;
+    }
+    fetchResolvedDependency(source, importer, resolvedId) {
+        if (resolvedId.external) {
+            const { attributes, external, id, moduleSideEffects, meta } = resolvedId;
+            let externalModule = this.modulesById.get(id);
+            if (!externalModule) {
+                externalModule = new ExternalModule(this.options, id, moduleSideEffects, meta, external !== 'absolute' && parseAst_js.isAbsolute(id), attributes);
+                this.modulesById.set(id, externalModule);
+            }
+            else if (!(externalModule instanceof ExternalModule)) {
+                return parseAst_js.error(parseAst_js.logInternalIdCannotBeExternal(source, importer));
+            }
+            else if (doAttributesDiffer(externalModule.info.attributes, attributes)) {
+                this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logInconsistentImportAttributes(externalModule.info.attributes, attributes, source, importer));
+            }
+            return Promise.resolve(externalModule);
+        }
+        return this.fetchModule(resolvedId, importer, false, false);
+    }
+    async fetchStaticDependencies(module, resolveStaticDependencyPromises) {
+        for (const dependency of await Promise.all(resolveStaticDependencyPromises.map(resolveStaticDependencyPromise => resolveStaticDependencyPromise.then(([source, resolvedId]) => this.fetchResolvedDependency(source, module.id, resolvedId))))) {
+            module.dependencies.add(dependency);
+            dependency.importers.push(module.id);
+        }
+        if (!this.options.treeshake || module.info.moduleSideEffects === 'no-treeshake') {
+            for (const dependency of module.dependencies) {
+                if (dependency instanceof Module) {
+                    dependency.importedFromNotTreeshaken = true;
+                }
+            }
+        }
+    }
+    getNormalizedResolvedIdWithoutDefaults(resolveIdResult, importer, source) {
+        const { makeAbsoluteExternalsRelative } = this.options;
+        if (resolveIdResult) {
+            if (typeof resolveIdResult === 'object') {
+                const external = resolveIdResult.external || this.options.external(resolveIdResult.id, importer, true);
+                return {
+                    ...resolveIdResult,
+                    external: external &&
+                        (external === 'relative' ||
+                            !parseAst_js.isAbsolute(resolveIdResult.id) ||
+                            (external === true &&
+                                isNotAbsoluteExternal(resolveIdResult.id, source, makeAbsoluteExternalsRelative)) ||
+                            'absolute')
+                };
+            }
+            const external = this.options.external(resolveIdResult, importer, true);
+            return {
+                external: external &&
+                    (isNotAbsoluteExternal(resolveIdResult, source, makeAbsoluteExternalsRelative) ||
+                        'absolute'),
+                id: external && makeAbsoluteExternalsRelative
+                    ? normalizeRelativeExternalId(resolveIdResult, importer)
+                    : resolveIdResult
+            };
+        }
+        const id = makeAbsoluteExternalsRelative
+            ? normalizeRelativeExternalId(source, importer)
+            : source;
+        if (resolveIdResult !== false && !this.options.external(id, importer, true)) {
+            return null;
+        }
+        return {
+            external: isNotAbsoluteExternal(id, source, makeAbsoluteExternalsRelative) || 'absolute',
+            id
+        };
+    }
+    getResolveDynamicImportPromises(module) {
+        return module.dynamicImports.map(async (dynamicImport) => {
+            const resolvedId = await this.resolveDynamicImport(module, typeof dynamicImport.argument === 'string'
+                ? dynamicImport.argument
+                : dynamicImport.argument.esTreeNode, module.id, getAttributesFromImportExpression(dynamicImport.node));
+            if (resolvedId && typeof resolvedId === 'object') {
+                dynamicImport.id = resolvedId.id;
+            }
+            return [dynamicImport, resolvedId];
+        });
+    }
+    getResolveStaticDependencyPromises(module) {
+        // eslint-disable-next-line unicorn/prefer-spread
+        return Array.from(module.sourcesWithAttributes, async ([source, attributes]) => [
+            source,
+            (module.resolvedIds[source] =
+                module.resolvedIds[source] ||
+                    this.handleInvalidResolvedId(await this.resolveId(source, module.id, EMPTY_OBJECT, false, attributes), source, module.id, attributes))
+        ]);
+    }
+    getResolvedIdWithDefaults(resolvedId, attributes) {
+        if (!resolvedId) {
+            return null;
+        }
+        const external = resolvedId.external || false;
+        return {
+            attributes: resolvedId.attributes || attributes,
+            external,
+            id: resolvedId.id,
+            meta: resolvedId.meta || {},
+            moduleSideEffects: resolvedId.moduleSideEffects ?? this.hasModuleSideEffects(resolvedId.id, !!external),
+            resolvedBy: resolvedId.resolvedBy ?? 'rollup',
+            syntheticNamedExports: resolvedId.syntheticNamedExports ?? false
+        };
+    }
+    async handleExistingModule(module, isEntry, isPreload) {
+        const loadPromise = this.moduleLoadPromises.get(module);
+        if (isPreload) {
+            return isPreload === RESOLVE_DEPENDENCIES
+                ? waitForDependencyResolution(loadPromise)
+                : loadPromise;
+        }
+        if (isEntry) {
+            // This reverts the changes in addEntryWithImplicitDependants and needs to
+            // be performed atomically
+            module.info.isEntry = true;
+            this.implicitEntryModules.delete(module);
+            for (const dependant of module.implicitlyLoadedAfter) {
+                dependant.implicitlyLoadedBefore.delete(module);
+            }
+            module.implicitlyLoadedAfter.clear();
+        }
+        return this.fetchModuleDependencies(module, ...(await loadPromise));
+    }
+    handleInvalidResolvedId(resolvedId, source, importer, attributes) {
+        if (resolvedId === null) {
+            if (parseAst_js.isRelative(source)) {
+                return parseAst_js.error(parseAst_js.logUnresolvedImport(source, importer));
+            }
+            this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logUnresolvedImportTreatedAsExternal(source, importer));
+            return {
+                attributes,
+                external: true,
+                id: source,
+                meta: {},
+                moduleSideEffects: this.hasModuleSideEffects(source, true),
+                resolvedBy: 'rollup',
+                syntheticNamedExports: false
+            };
+        }
+        else if (resolvedId.external && resolvedId.syntheticNamedExports) {
+            this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logExternalSyntheticExports(source, importer));
+        }
+        return resolvedId;
+    }
+    async loadEntryModule(unresolvedId, isEntry, importer, implicitlyLoadedBefore, isLoadForManualChunks = false) {
+        const resolveIdResult = await resolveId(unresolvedId, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, null, EMPTY_OBJECT, true, EMPTY_OBJECT);
+        if (resolveIdResult == null) {
+            return parseAst_js.error(implicitlyLoadedBefore === null
+                ? parseAst_js.logUnresolvedEntry(unresolvedId)
+                : parseAst_js.logUnresolvedImplicitDependant(unresolvedId, implicitlyLoadedBefore));
+        }
+        const isExternalModules = typeof resolveIdResult === 'object' && resolveIdResult.external;
+        if (resolveIdResult === false || isExternalModules) {
+            return parseAst_js.error(implicitlyLoadedBefore === null
+                ? isExternalModules && isLoadForManualChunks
+                    ? parseAst_js.logExternalModulesCannotBeIncludedInManualChunks(unresolvedId)
+                    : parseAst_js.logEntryCannotBeExternal(unresolvedId)
+                : parseAst_js.logImplicitDependantCannotBeExternal(unresolvedId, implicitlyLoadedBefore));
+        }
+        return this.fetchModule(this.getResolvedIdWithDefaults(typeof resolveIdResult === 'object'
+            ? resolveIdResult
+            : { id: resolveIdResult }, EMPTY_OBJECT), undefined, isEntry, false);
+    }
+    async resolveDynamicImport(module, specifier, importer, attributes) {
+        const resolution = await this.pluginDriver.hookFirst('resolveDynamicImport', [
+            specifier,
+            importer,
+            { attributes }
+        ]);
+        if (typeof specifier !== 'string') {
+            if (typeof resolution === 'string') {
+                return resolution;
+            }
+            if (!resolution) {
+                return null;
+            }
+            return this.getResolvedIdWithDefaults(resolution, attributes);
+        }
+        if (resolution == null) {
+            const existingResolution = module.resolvedIds[specifier];
+            if (existingResolution) {
+                if (doAttributesDiffer(existingResolution.attributes, attributes)) {
+                    this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logInconsistentImportAttributes(existingResolution.attributes, attributes, specifier, importer));
+                }
+                return existingResolution;
+            }
+            return (module.resolvedIds[specifier] = this.handleInvalidResolvedId(await this.resolveId(specifier, module.id, EMPTY_OBJECT, false, attributes), specifier, module.id, attributes));
+        }
+        return this.handleInvalidResolvedId(this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(resolution, importer, specifier), attributes), specifier, importer, attributes);
+    }
+}
+function normalizeRelativeExternalId(source, importer) {
+    return parseAst_js.isRelative(source)
+        ? importer
+            ? node_path.resolve(importer, '..', source)
+            : node_path.resolve(source)
+        : source;
+}
+function addChunkNamesToModule(module, { fileName, name }, isUserDefined, priority) {
+    if (fileName !== null) {
+        module.chunkFileNames.add(fileName);
+    }
+    else if (name !== null) {
+        // Always keep chunkNames sorted by priority
+        let namePosition = 0;
+        while (module.chunkNames[namePosition]?.priority < priority)
+            namePosition++;
+        module.chunkNames.splice(namePosition, 0, { isUserDefined, name, priority });
+    }
+}
+function isNotAbsoluteExternal(id, source, makeAbsoluteExternalsRelative) {
+    return (makeAbsoluteExternalsRelative === true ||
+        (makeAbsoluteExternalsRelative === 'ifRelativeSource' && parseAst_js.isRelative(source)) ||
+        !parseAst_js.isAbsolute(id));
+}
+async function waitForDependencyResolution(loadPromise) {
+    const [resolveStaticDependencyPromises, resolveDynamicImportPromises] = await loadPromise;
+    return Promise.all([...resolveStaticDependencyPromises, ...resolveDynamicImportPromises]);
+}
+
+class GlobalScope extends Scope {
+    constructor() {
+        super();
+        this.parent = null;
+        this.variables.set('undefined', new UndefinedVariable());
+    }
+    findVariable(name) {
+        let variable = this.variables.get(name);
+        if (!variable) {
+            variable = new GlobalVariable(name);
+            this.variables.set(name, variable);
+        }
+        return variable;
+    }
+}
+
+class Queue {
+    constructor(maxParallel) {
+        this.maxParallel = maxParallel;
+        this.queue = [];
+        this.workerCount = 0;
+    }
+    run(task) {
+        return new Promise((resolve, reject) => {
+            this.queue.push({ reject, resolve, task });
+            this.work();
+        });
+    }
+    async work() {
+        if (this.workerCount >= this.maxParallel)
+            return;
+        this.workerCount++;
+        let entry;
+        while ((entry = this.queue.shift())) {
+            const { reject, resolve, task } = entry;
+            try {
+                const result = await task();
+                resolve(result);
+            }
+            catch (error) {
+                reject(error);
+            }
+        }
+        this.workerCount--;
+    }
+}
+
+function normalizeEntryModules(entryModules) {
+    if (Array.isArray(entryModules)) {
+        return entryModules.map(id => ({
+            fileName: null,
+            id,
+            implicitlyLoadedAfter: [],
+            importer: undefined,
+            name: null
+        }));
+    }
+    return Object.entries(entryModules).map(([name, id]) => ({
+        fileName: null,
+        id,
+        implicitlyLoadedAfter: [],
+        importer: undefined,
+        name
+    }));
+}
+class Graph {
+    constructor(options, watcher) {
+        this.options = options;
+        this.astLru = flru(5);
+        this.cachedModules = new Map();
+        this.deoptimizationTracker = new PathTracker();
+        this.entryModules = [];
+        this.modulesById = new Map();
+        this.needsTreeshakingPass = false;
+        this.phase = BuildPhase.LOAD_AND_PARSE;
+        this.scope = new GlobalScope();
+        this.watchFiles = Object.create(null);
+        this.watchMode = false;
+        this.externalModules = [];
+        this.implicitEntryModules = [];
+        this.modules = [];
+        this.getModuleInfo = (moduleId) => {
+            const foundModule = this.modulesById.get(moduleId);
+            if (!foundModule)
+                return null;
+            return foundModule.info;
+        };
+        if (options.cache !== false) {
+            if (options.cache?.modules) {
+                for (const module of options.cache.modules)
+                    this.cachedModules.set(module.id, module);
+            }
+            this.pluginCache = options.cache?.plugins || Object.create(null);
+            // increment access counter
+            for (const name in this.pluginCache) {
+                const cache = this.pluginCache[name];
+                for (const value of Object.values(cache))
+                    value[0]++;
+            }
+        }
+        if (watcher) {
+            this.watchMode = true;
+            const handleChange = (...parameters) => this.pluginDriver.hookParallel('watchChange', parameters);
+            const handleClose = () => this.pluginDriver.hookParallel('closeWatcher', []);
+            watcher.onCurrentRun('change', handleChange);
+            watcher.onCurrentRun('close', handleClose);
+        }
+        this.pluginDriver = new PluginDriver(this, options, options.plugins, this.pluginCache);
+        this.moduleLoader = new ModuleLoader(this, this.modulesById, this.options, this.pluginDriver);
+        this.fileOperationQueue = new Queue(options.maxParallelFileOps);
+        this.pureFunctions = getPureFunctions(options);
+    }
+    async build() {
+        timeStart('generate module graph', 2);
+        await this.generateModuleGraph();
+        timeEnd('generate module graph', 2);
+        timeStart('sort and bind modules', 2);
+        this.phase = BuildPhase.ANALYSE;
+        this.sortModules();
+        timeEnd('sort and bind modules', 2);
+        timeStart('mark included statements', 2);
+        this.includeStatements();
+        timeEnd('mark included statements', 2);
+        this.phase = BuildPhase.GENERATE;
+    }
+    getCache() {
+        // handle plugin cache eviction
+        for (const name in this.pluginCache) {
+            const cache = this.pluginCache[name];
+            let allDeleted = true;
+            for (const [key, value] of Object.entries(cache)) {
+                if (value[0] >= this.options.experimentalCacheExpiry)
+                    delete cache[key];
+                else
+                    allDeleted = false;
+            }
+            if (allDeleted)
+                delete this.pluginCache[name];
+        }
+        return {
+            modules: this.modules.map(module => module.toJSON()),
+            plugins: this.pluginCache
+        };
+    }
+    async generateModuleGraph() {
+        ({ entryModules: this.entryModules, implicitEntryModules: this.implicitEntryModules } =
+            await this.moduleLoader.addEntryModules(normalizeEntryModules(this.options.input), true));
+        if (this.entryModules.length === 0) {
+            throw new Error('You must supply options.input to rollup');
+        }
+        for (const module of this.modulesById.values()) {
+            if (module instanceof Module) {
+                this.modules.push(module);
+            }
+            else {
+                this.externalModules.push(module);
+            }
+        }
+    }
+    includeStatements() {
+        const entryModules = [...this.entryModules, ...this.implicitEntryModules];
+        for (const module of entryModules) {
+            markModuleAndImpureDependenciesAsExecuted(module);
+        }
+        if (this.options.treeshake) {
+            let treeshakingPass = 1;
+            do {
+                timeStart(`treeshaking pass ${treeshakingPass}`, 3);
+                this.needsTreeshakingPass = false;
+                for (const module of this.modules) {
+                    if (module.isExecuted) {
+                        if (module.info.moduleSideEffects === 'no-treeshake') {
+                            module.includeAllInBundle();
+                        }
+                        else {
+                            module.include();
+                        }
+                    }
+                }
+                if (treeshakingPass === 1) {
+                    // We only include exports after the first pass to avoid issues with
+                    // the TDZ detection logic
+                    for (const module of entryModules) {
+                        if (module.preserveSignature !== false) {
+                            module.includeAllExports(false);
+                            this.needsTreeshakingPass = true;
+                        }
+                    }
+                }
+                timeEnd(`treeshaking pass ${treeshakingPass++}`, 3);
+            } while (this.needsTreeshakingPass);
+        }
+        else {
+            for (const module of this.modules)
+                module.includeAllInBundle();
+        }
+        for (const externalModule of this.externalModules)
+            externalModule.warnUnusedImports();
+        for (const module of this.implicitEntryModules) {
+            for (const dependant of module.implicitlyLoadedAfter) {
+                if (!(dependant.info.isEntry || dependant.isIncluded())) {
+                    parseAst_js.error(parseAst_js.logImplicitDependantIsNotIncluded(dependant));
+                }
+            }
+        }
+    }
+    sortModules() {
+        const { orderedModules, cyclePaths } = analyseModuleExecution(this.entryModules);
+        for (const cyclePath of cyclePaths) {
+            this.options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logCircularDependency(cyclePath));
+        }
+        this.modules = orderedModules;
+        for (const module of this.modules) {
+            module.bindReferences();
+        }
+        this.warnForMissingExports();
+    }
+    warnForMissingExports() {
+        for (const module of this.modules) {
+            for (const importDescription of module.importDescriptions.values()) {
+                if (importDescription.name !== '*' &&
+                    !importDescription.module.getVariableForExportName(importDescription.name)[0]) {
+                    module.log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logMissingExport(importDescription.name, module.id, importDescription.module.id), importDescription.start);
+                }
+            }
+        }
+    }
+}
+
+function formatAction([pluginName, hookName, parameters]) {
+    const action = `(${pluginName}) ${hookName}`;
+    const s = JSON.stringify;
+    switch (hookName) {
+        case 'resolveId': {
+            return `${action} ${s(parameters[0])} ${s(parameters[1])}`;
+        }
+        case 'load': {
+            return `${action} ${s(parameters[0])}`;
+        }
+        case 'transform': {
+            return `${action} ${s(parameters[1])}`;
+        }
+        case 'shouldTransformCachedModule': {
+            return `${action} ${s(parameters[0].id)}`;
+        }
+        case 'moduleParsed': {
+            return `${action} ${s(parameters[0].id)}`;
+        }
+    }
+    return action;
+}
+let handleBeforeExit = null;
+const rejectByPluginDriver = new Map();
+async function catchUnfinishedHookActions(pluginDriver, callback) {
+    const emptyEventLoopPromise = new Promise((_, reject) => {
+        rejectByPluginDriver.set(pluginDriver, reject);
+        if (!handleBeforeExit) {
+            // We only ever create a single event listener to avoid max listener and
+            // other issues
+            handleBeforeExit = () => {
+                for (const [pluginDriver, reject] of rejectByPluginDriver) {
+                    const unfulfilledActions = pluginDriver.getUnfulfilledHookActions();
+                    reject(new Error(`Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:\n` +
+                        [...unfulfilledActions].map(formatAction).join('\n')));
+                }
+            };
+            process$1.once('beforeExit', handleBeforeExit);
+        }
+    });
+    try {
+        return await Promise.race([callback(), emptyEventLoopPromise]);
+    }
+    finally {
+        rejectByPluginDriver.delete(pluginDriver);
+        if (rejectByPluginDriver.size === 0) {
+            process$1.off('beforeExit', handleBeforeExit);
+            handleBeforeExit = null;
+        }
+    }
+}
+
+async function initWasm() { }
+
+async function normalizeInputOptions(config, watchMode) {
+    // These are options that may trigger special warnings or behaviour later
+    // if the user did not select an explicit value
+    const unsetOptions = new Set();
+    const context = config.context ?? 'undefined';
+    const plugins = await normalizePluginOption(config.plugins);
+    const logLevel = config.logLevel || parseAst_js.LOGLEVEL_INFO;
+    const onLog = getLogger(plugins, getOnLog(config, logLevel), watchMode, logLevel);
+    const strictDeprecations = config.strictDeprecations || false;
+    const maxParallelFileOps = getMaxParallelFileOps(config);
+    const options = {
+        cache: getCache(config),
+        context,
+        experimentalCacheExpiry: config.experimentalCacheExpiry ?? 10,
+        experimentalLogSideEffects: config.experimentalLogSideEffects || false,
+        external: getIdMatcher(config.external),
+        input: getInput(config),
+        logLevel,
+        makeAbsoluteExternalsRelative: config.makeAbsoluteExternalsRelative ?? 'ifRelativeSource',
+        maxParallelFileOps,
+        moduleContext: getModuleContext(config, context),
+        onLog,
+        perf: config.perf || false,
+        plugins,
+        preserveEntrySignatures: config.preserveEntrySignatures ?? 'exports-only',
+        preserveSymlinks: config.preserveSymlinks || false,
+        shimMissingExports: config.shimMissingExports || false,
+        strictDeprecations,
+        treeshake: getTreeshake(config)
+    };
+    warnUnknownOptions(config, [...Object.keys(options), 'onwarn', 'watch'], 'input options', onLog, /^(output)$/);
+    return { options, unsetOptions };
+}
+const getCache = (config) => config.cache === true // `true` is the default
+    ? undefined
+    : config.cache?.cache || config.cache;
+const getIdMatcher = (option) => {
+    if (option === true) {
+        return () => true;
+    }
+    if (typeof option === 'function') {
+        return (id, ...parameters) => (!id.startsWith('\0') && option(id, ...parameters)) || false;
+    }
+    if (option) {
+        const ids = new Set();
+        const matchers = [];
+        for (const value of ensureArray$1(option)) {
+            if (value instanceof RegExp) {
+                matchers.push(value);
+            }
+            else {
+                ids.add(value);
+            }
+        }
+        return (id, ..._arguments) => ids.has(id) || matchers.some(matcher => matcher.test(id));
+    }
+    return () => false;
+};
+const getInput = (config) => {
+    const configInput = config.input;
+    return configInput == null ? [] : typeof configInput === 'string' ? [configInput] : configInput;
+};
+const getMaxParallelFileOps = (config) => {
+    const maxParallelFileOps = config.maxParallelFileOps;
+    if (typeof maxParallelFileOps === 'number') {
+        if (maxParallelFileOps <= 0)
+            return Infinity;
+        return maxParallelFileOps;
+    }
+    return 20;
+};
+const getModuleContext = (config, context) => {
+    const configModuleContext = config.moduleContext;
+    if (typeof configModuleContext === 'function') {
+        return id => configModuleContext(id) ?? context;
+    }
+    if (configModuleContext) {
+        const contextByModuleId = Object.create(null);
+        for (const [key, moduleContext] of Object.entries(configModuleContext)) {
+            contextByModuleId[node_path.resolve(key)] = moduleContext;
+        }
+        return id => contextByModuleId[id] ?? context;
+    }
+    return () => context;
+};
+const getTreeshake = (config) => {
+    const configTreeshake = config.treeshake;
+    if (configTreeshake === false) {
+        return false;
+    }
+    const configWithPreset = getOptionWithPreset(config.treeshake, treeshakePresets, 'treeshake', parseAst_js.URL_TREESHAKE, 'false, true, ');
+    return {
+        annotations: configWithPreset.annotations !== false,
+        correctVarValueBeforeDeclaration: configWithPreset.correctVarValueBeforeDeclaration === true,
+        manualPureFunctions: configWithPreset.manualPureFunctions ?? EMPTY_ARRAY,
+        moduleSideEffects: getHasModuleSideEffects(configWithPreset.moduleSideEffects),
+        propertyReadSideEffects: configWithPreset.propertyReadSideEffects === 'always'
+            ? 'always'
+            : configWithPreset.propertyReadSideEffects !== false,
+        tryCatchDeoptimization: configWithPreset.tryCatchDeoptimization !== false,
+        unknownGlobalSideEffects: configWithPreset.unknownGlobalSideEffects !== false
+    };
+};
+const getHasModuleSideEffects = (moduleSideEffectsOption) => {
+    if (typeof moduleSideEffectsOption === 'boolean') {
+        return () => moduleSideEffectsOption;
+    }
+    if (moduleSideEffectsOption === 'no-external') {
+        return (_id, external) => !external;
+    }
+    if (typeof moduleSideEffectsOption === 'function') {
+        return (id, external) => id.startsWith('\0') ? true : moduleSideEffectsOption(id, external) !== false;
+    }
+    if (Array.isArray(moduleSideEffectsOption)) {
+        const ids = new Set(moduleSideEffectsOption);
+        return id => ids.has(id);
+    }
+    if (moduleSideEffectsOption) {
+        parseAst_js.error(parseAst_js.logInvalidOption('treeshake.moduleSideEffects', parseAst_js.URL_TREESHAKE_MODULESIDEEFFECTS, 'please use one of false, "no-external", a function or an array'));
+    }
+    return () => true;
+};
+
+// https://datatracker.ietf.org/doc/html/rfc2396
+// eslint-disable-next-line no-control-regex
+const INVALID_CHAR_REGEX = /[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g;
+const DRIVE_LETTER_REGEX = /^[a-z]:/i;
+function sanitizeFileName(name) {
+    const match = DRIVE_LETTER_REGEX.exec(name);
+    const driveLetter = match ? match[0] : '';
+    // A `:` is only allowed as part of a windows drive letter (ex: C:\foo)
+    // Otherwise, avoid them because they can refer to NTFS alternate data streams.
+    return driveLetter + name.slice(driveLetter.length).replace(INVALID_CHAR_REGEX, '_');
+}
+
+async function normalizeOutputOptions(config, inputOptions, unsetInputOptions) {
+    // These are options that may trigger special warnings or behaviour later
+    // if the user did not select an explicit value
+    const unsetOptions = new Set(unsetInputOptions);
+    const compact = config.compact || false;
+    const format = getFormat(config);
+    const inlineDynamicImports = getInlineDynamicImports(config, inputOptions);
+    const preserveModules = getPreserveModules(config, inlineDynamicImports, inputOptions);
+    const file = getFile(config, preserveModules, inputOptions);
+    const generatedCode = getGeneratedCode(config);
+    const externalImportAttributes = getExternalImportAttributes(config, inputOptions);
+    const outputOptions = {
+        amd: getAmd(config),
+        assetFileNames: config.assetFileNames ?? 'assets/[name]-[hash][extname]',
+        banner: getAddon(config, 'banner'),
+        chunkFileNames: config.chunkFileNames ?? '[name]-[hash].js',
+        compact,
+        dir: getDir(config, file),
+        dynamicImportInCjs: config.dynamicImportInCjs ?? true,
+        entryFileNames: getEntryFileNames(config, unsetOptions),
+        esModule: config.esModule ?? 'if-default-prop',
+        experimentalMinChunkSize: config.experimentalMinChunkSize ?? 1,
+        exports: getExports(config, unsetOptions),
+        extend: config.extend || false,
+        externalImportAssertions: externalImportAttributes,
+        externalImportAttributes,
+        externalLiveBindings: config.externalLiveBindings ?? true,
+        file,
+        footer: getAddon(config, 'footer'),
+        format,
+        freeze: config.freeze ?? true,
+        generatedCode,
+        globals: config.globals || {},
+        hashCharacters: config.hashCharacters ?? 'base64',
+        hoistTransitiveImports: config.hoistTransitiveImports ?? true,
+        indent: getIndent(config, compact),
+        inlineDynamicImports,
+        interop: getInterop(config),
+        intro: getAddon(config, 'intro'),
+        manualChunks: getManualChunks(config, inlineDynamicImports, preserveModules),
+        minifyInternalExports: getMinifyInternalExports(config, format, compact),
+        name: config.name,
+        noConflict: config.noConflict || false,
+        outro: getAddon(config, 'outro'),
+        paths: config.paths || {},
+        plugins: await normalizePluginOption(config.plugins),
+        preserveModules,
+        preserveModulesRoot: getPreserveModulesRoot(config),
+        reexportProtoFromExternal: config.reexportProtoFromExternal ?? true,
+        sanitizeFileName: typeof config.sanitizeFileName === 'function'
+            ? config.sanitizeFileName
+            : config.sanitizeFileName === false
+                ? id => id
+                : sanitizeFileName,
+        sourcemap: config.sourcemap || false,
+        sourcemapBaseUrl: getSourcemapBaseUrl(config),
+        sourcemapExcludeSources: config.sourcemapExcludeSources || false,
+        sourcemapFile: config.sourcemapFile,
+        sourcemapFileNames: getSourcemapFileNames(config, unsetOptions),
+        sourcemapIgnoreList: typeof config.sourcemapIgnoreList === 'function'
+            ? config.sourcemapIgnoreList
+            : config.sourcemapIgnoreList === false
+                ? () => false
+                : relativeSourcePath => relativeSourcePath.includes('node_modules'),
+        sourcemapPathTransform: config.sourcemapPathTransform,
+        strict: config.strict ?? true,
+        systemNullSetters: config.systemNullSetters ?? true,
+        validate: config.validate || false
+    };
+    warnUnknownOptions(config, Object.keys(outputOptions), 'output options', inputOptions.onLog);
+    return { options: outputOptions, unsetOptions };
+}
+const getFile = (config, preserveModules, inputOptions) => {
+    const { file } = config;
+    if (typeof file === 'string') {
+        if (preserveModules) {
+            return parseAst_js.error(parseAst_js.logInvalidOption('output.file', parseAst_js.URL_OUTPUT_DIR, 'you must set "output.dir" instead of "output.file" when using the "output.preserveModules" option'));
+        }
+        if (!Array.isArray(inputOptions.input))
+            return parseAst_js.error(parseAst_js.logInvalidOption('output.file', parseAst_js.URL_OUTPUT_DIR, 'you must set "output.dir" instead of "output.file" when providing named inputs'));
+    }
+    return file;
+};
+const getFormat = (config) => {
+    const configFormat = config.format;
+    switch (configFormat) {
+        case undefined:
+        case 'es':
+        case 'esm':
+        case 'module': {
+            return 'es';
+        }
+        case 'cjs':
+        case 'commonjs': {
+            return 'cjs';
+        }
+        case 'system':
+        case 'systemjs': {
+            return 'system';
+        }
+        case 'amd':
+        case 'iife':
+        case 'umd': {
+            return configFormat;
+        }
+        default: {
+            return parseAst_js.error(parseAst_js.logInvalidOption('output.format', parseAst_js.URL_OUTPUT_FORMAT, `Valid values are "amd", "cjs", "system", "es", "iife" or "umd"`, configFormat));
+        }
+    }
+};
+const getInlineDynamicImports = (config, inputOptions) => {
+    const inlineDynamicImports = config.inlineDynamicImports || false;
+    const { input } = inputOptions;
+    if (inlineDynamicImports && (Array.isArray(input) ? input : Object.keys(input)).length > 1) {
+        return parseAst_js.error(parseAst_js.logInvalidOption('output.inlineDynamicImports', parseAst_js.URL_OUTPUT_INLINEDYNAMICIMPORTS, 'multiple inputs are not supported when "output.inlineDynamicImports" is true'));
+    }
+    return inlineDynamicImports;
+};
+const getPreserveModules = (config, inlineDynamicImports, inputOptions) => {
+    const preserveModules = config.preserveModules || false;
+    if (preserveModules) {
+        if (inlineDynamicImports) {
+            return parseAst_js.error(parseAst_js.logInvalidOption('output.inlineDynamicImports', parseAst_js.URL_OUTPUT_INLINEDYNAMICIMPORTS, `this option is not supported for "output.preserveModules"`));
+        }
+        if (inputOptions.preserveEntrySignatures === false) {
+            return parseAst_js.error(parseAst_js.logInvalidOption('preserveEntrySignatures', parseAst_js.URL_PRESERVEENTRYSIGNATURES, 'setting this option to false is not supported for "output.preserveModules"'));
+        }
+    }
+    return preserveModules;
+};
+const getPreserveModulesRoot = (config) => {
+    const { preserveModulesRoot } = config;
+    if (preserveModulesRoot === null || preserveModulesRoot === undefined) {
+        return undefined;
+    }
+    return node_path.resolve(preserveModulesRoot);
+};
+const getAmd = (config) => {
+    const mergedOption = {
+        autoId: false,
+        basePath: '',
+        define: 'define',
+        forceJsExtensionForImports: false,
+        ...config.amd
+    };
+    if ((mergedOption.autoId || mergedOption.basePath) && mergedOption.id) {
+        return parseAst_js.error(parseAst_js.logInvalidOption('output.amd.id', parseAst_js.URL_OUTPUT_AMD_ID, 'this option cannot be used together with "output.amd.autoId"/"output.amd.basePath"'));
+    }
+    if (mergedOption.basePath && !mergedOption.autoId) {
+        return parseAst_js.error(parseAst_js.logInvalidOption('output.amd.basePath', parseAst_js.URL_OUTPUT_AMD_BASEPATH, 'this option only works with "output.amd.autoId"'));
+    }
+    return mergedOption.autoId
+        ? {
+            autoId: true,
+            basePath: mergedOption.basePath,
+            define: mergedOption.define,
+            forceJsExtensionForImports: mergedOption.forceJsExtensionForImports
+        }
+        : {
+            autoId: false,
+            define: mergedOption.define,
+            forceJsExtensionForImports: mergedOption.forceJsExtensionForImports,
+            id: mergedOption.id
+        };
+};
+const getAddon = (config, name) => {
+    const configAddon = config[name];
+    if (typeof configAddon === 'function') {
+        return configAddon;
+    }
+    return () => configAddon || '';
+};
+// eslint-disable-next-line unicorn/prevent-abbreviations
+const getDir = (config, file) => {
+    const { dir } = config;
+    if (typeof dir === 'string' && typeof file === 'string') {
+        return parseAst_js.error(parseAst_js.logInvalidOption('output.dir', parseAst_js.URL_OUTPUT_DIR, 'you must set either "output.file" for a single-file build or "output.dir" when generating multiple chunks'));
+    }
+    return dir;
+};
+const getEntryFileNames = (config, unsetOptions) => {
+    const configEntryFileNames = config.entryFileNames;
+    if (configEntryFileNames == null) {
+        unsetOptions.add('entryFileNames');
+    }
+    return configEntryFileNames ?? '[name].js';
+};
+function getExports(config, unsetOptions) {
+    const configExports = config.exports;
+    if (configExports == null) {
+        unsetOptions.add('exports');
+    }
+    else if (!['default', 'named', 'none', 'auto'].includes(configExports)) {
+        return parseAst_js.error(parseAst_js.logInvalidExportOptionValue(configExports));
+    }
+    return configExports || 'auto';
+}
+const getExternalImportAttributes = (config, inputOptions) => {
+    if (config.externalImportAssertions != undefined) {
+        parseAst_js.warnDeprecation(`The "output.externalImportAssertions" option is deprecated. Use the "output.externalImportAttributes" option instead.`, parseAst_js.URL_OUTPUT_EXTERNALIMPORTATTRIBUTES, true, inputOptions);
+    }
+    return config.externalImportAttributes ?? config.externalImportAssertions ?? true;
+};
+const getGeneratedCode = (config) => {
+    const configWithPreset = getOptionWithPreset(config.generatedCode, generatedCodePresets, 'output.generatedCode', parseAst_js.URL_OUTPUT_GENERATEDCODE, '');
+    return {
+        arrowFunctions: configWithPreset.arrowFunctions === true,
+        constBindings: configWithPreset.constBindings === true,
+        objectShorthand: configWithPreset.objectShorthand === true,
+        reservedNamesAsProps: configWithPreset.reservedNamesAsProps !== false,
+        symbols: configWithPreset.symbols === true
+    };
+};
+const getIndent = (config, compact) => {
+    if (compact) {
+        return '';
+    }
+    const configIndent = config.indent;
+    return configIndent === false ? '' : configIndent ?? true;
+};
+const ALLOWED_INTEROP_TYPES = new Set([
+    'compat',
+    'auto',
+    'esModule',
+    'default',
+    'defaultOnly'
+]);
+const getInterop = (config) => {
+    const configInterop = config.interop;
+    if (typeof configInterop === 'function') {
+        const interopPerId = Object.create(null);
+        let defaultInterop = null;
+        return id => id === null
+            ? defaultInterop || validateInterop((defaultInterop = configInterop(id)))
+            : id in interopPerId
+                ? interopPerId[id]
+                : validateInterop((interopPerId[id] = configInterop(id)));
+    }
+    return configInterop === undefined ? () => 'default' : () => validateInterop(configInterop);
+};
+const validateInterop = (interop) => {
+    if (!ALLOWED_INTEROP_TYPES.has(interop)) {
+        return parseAst_js.error(parseAst_js.logInvalidOption('output.interop', parseAst_js.URL_OUTPUT_INTEROP, 
+        // eslint-disable-next-line unicorn/prefer-spread
+        `use one of ${Array.from(ALLOWED_INTEROP_TYPES, value => JSON.stringify(value)).join(', ')}`, interop));
+    }
+    return interop;
+};
+const getManualChunks = (config, inlineDynamicImports, preserveModules) => {
+    const configManualChunks = config.manualChunks;
+    if (configManualChunks) {
+        if (inlineDynamicImports) {
+            return parseAst_js.error(parseAst_js.logInvalidOption('output.manualChunks', parseAst_js.URL_OUTPUT_MANUALCHUNKS, 'this option is not supported for "output.inlineDynamicImports"'));
+        }
+        if (preserveModules) {
+            return parseAst_js.error(parseAst_js.logInvalidOption('output.manualChunks', parseAst_js.URL_OUTPUT_MANUALCHUNKS, 'this option is not supported for "output.preserveModules"'));
+        }
+    }
+    return configManualChunks || {};
+};
+const getMinifyInternalExports = (config, format, compact) => config.minifyInternalExports ?? (compact || format === 'es' || format === 'system');
+const getSourcemapFileNames = (config, unsetOptions) => {
+    const configSourcemapFileNames = config.sourcemapFileNames;
+    if (configSourcemapFileNames == null) {
+        unsetOptions.add('sourcemapFileNames');
+    }
+    return configSourcemapFileNames;
+};
+const getSourcemapBaseUrl = (config) => {
+    const { sourcemapBaseUrl } = config;
+    if (sourcemapBaseUrl) {
+        if (parseAst_js.isValidUrl(sourcemapBaseUrl)) {
+            return parseAst_js.addTrailingSlashIfMissed(sourcemapBaseUrl);
+        }
+        return parseAst_js.error(parseAst_js.logInvalidOption('output.sourcemapBaseUrl', parseAst_js.URL_OUTPUT_SOURCEMAPBASEURL, `must be a valid URL, received ${JSON.stringify(sourcemapBaseUrl)}`));
+    }
+};
+
+function rollup(rawInputOptions) {
+    return rollupInternal(rawInputOptions, null);
+}
+async function rollupInternal(rawInputOptions, watcher) {
+    const { options: inputOptions, unsetOptions: unsetInputOptions } = await getInputOptions(rawInputOptions, watcher !== null);
+    initialiseTimers(inputOptions);
+    await initWasm();
+    const graph = new Graph(inputOptions, watcher);
+    // remove the cache object from the memory after graph creation (cache is not used anymore)
+    const useCache = rawInputOptions.cache !== false;
+    if (rawInputOptions.cache) {
+        inputOptions.cache = undefined;
+        rawInputOptions.cache = undefined;
+    }
+    timeStart('BUILD', 1);
+    await catchUnfinishedHookActions(graph.pluginDriver, async () => {
+        try {
+            timeStart('initialize', 2);
+            await graph.pluginDriver.hookParallel('buildStart', [inputOptions]);
+            timeEnd('initialize', 2);
+            await graph.build();
+        }
+        catch (error_) {
+            const watchFiles = Object.keys(graph.watchFiles);
+            if (watchFiles.length > 0) {
+                error_.watchFiles = watchFiles;
+            }
+            await graph.pluginDriver.hookParallel('buildEnd', [error_]);
+            await graph.pluginDriver.hookParallel('closeBundle', []);
+            throw error_;
+        }
+        await graph.pluginDriver.hookParallel('buildEnd', []);
+    });
+    timeEnd('BUILD', 1);
+    const result = {
+        cache: useCache ? graph.getCache() : undefined,
+        async close() {
+            if (result.closed)
+                return;
+            result.closed = true;
+            await graph.pluginDriver.hookParallel('closeBundle', []);
+        },
+        closed: false,
+        async generate(rawOutputOptions) {
+            if (result.closed)
+                return parseAst_js.error(parseAst_js.logAlreadyClosed());
+            return handleGenerateWrite(false, inputOptions, unsetInputOptions, rawOutputOptions, graph);
+        },
+        get watchFiles() {
+            return Object.keys(graph.watchFiles);
+        },
+        async write(rawOutputOptions) {
+            if (result.closed)
+                return parseAst_js.error(parseAst_js.logAlreadyClosed());
+            return handleGenerateWrite(true, inputOptions, unsetInputOptions, rawOutputOptions, graph);
+        }
+    };
+    if (inputOptions.perf)
+        result.getTimings = getTimings;
+    return result;
+}
+async function getInputOptions(initialInputOptions, watchMode) {
+    if (!initialInputOptions) {
+        throw new Error('You must supply an options object to rollup');
+    }
+    const processedInputOptions = await getProcessedInputOptions(initialInputOptions, watchMode);
+    const { options, unsetOptions } = await normalizeInputOptions(processedInputOptions, watchMode);
+    normalizePlugins(options.plugins, ANONYMOUS_PLUGIN_PREFIX);
+    return { options, unsetOptions };
+}
+async function getProcessedInputOptions(inputOptions, watchMode) {
+    const plugins = getSortedValidatedPlugins('options', await normalizePluginOption(inputOptions.plugins));
+    const logLevel = inputOptions.logLevel || parseAst_js.LOGLEVEL_INFO;
+    const logger = getLogger(plugins, getOnLog(inputOptions, logLevel), watchMode, logLevel);
+    for (const plugin of plugins) {
+        const { name, options } = plugin;
+        const handler = 'handler' in options ? options.handler : options;
+        const processedOptions = await handler.call({
+            debug: getLogHandler(parseAst_js.LOGLEVEL_DEBUG, 'PLUGIN_LOG', logger, name, logLevel),
+            error: (error_) => parseAst_js.error(parseAst_js.logPluginError(normalizeLog(error_), name, { hook: 'onLog' })),
+            info: getLogHandler(parseAst_js.LOGLEVEL_INFO, 'PLUGIN_LOG', logger, name, logLevel),
+            meta: { rollupVersion: version, watchMode },
+            warn: getLogHandler(parseAst_js.LOGLEVEL_WARN, 'PLUGIN_WARNING', logger, name, logLevel)
+        }, inputOptions);
+        if (processedOptions) {
+            inputOptions = processedOptions;
+        }
+    }
+    return inputOptions;
+}
+function normalizePlugins(plugins, anonymousPrefix) {
+    for (const [index, plugin] of plugins.entries()) {
+        if (!plugin.name) {
+            plugin.name = `${anonymousPrefix}${index + 1}`;
+        }
+    }
+}
+async function handleGenerateWrite(isWrite, inputOptions, unsetInputOptions, rawOutputOptions, graph) {
+    const { options: outputOptions, outputPluginDriver, unsetOptions } = await getOutputOptionsAndPluginDriver(rawOutputOptions, graph.pluginDriver, inputOptions, unsetInputOptions);
+    return catchUnfinishedHookActions(outputPluginDriver, async () => {
+        const bundle = new Bundle(outputOptions, unsetOptions, inputOptions, outputPluginDriver, graph);
+        const generated = await bundle.generate(isWrite);
+        if (isWrite) {
+            timeStart('WRITE', 1);
+            if (!outputOptions.dir && !outputOptions.file) {
+                return parseAst_js.error(parseAst_js.logMissingFileOrDirOption());
+            }
+            await Promise.all(Object.values(generated).map(chunk => graph.fileOperationQueue.run(() => writeOutputFile(chunk, outputOptions))));
+            await outputPluginDriver.hookParallel('writeBundle', [outputOptions, generated]);
+            timeEnd('WRITE', 1);
+        }
+        return createOutput(generated);
+    });
+}
+async function getOutputOptionsAndPluginDriver(rawOutputOptions, inputPluginDriver, inputOptions, unsetInputOptions) {
+    if (!rawOutputOptions) {
+        throw new Error('You must supply an options object');
+    }
+    const rawPlugins = await normalizePluginOption(rawOutputOptions.plugins);
+    normalizePlugins(rawPlugins, ANONYMOUS_OUTPUT_PLUGIN_PREFIX);
+    const outputPluginDriver = inputPluginDriver.createOutputPluginDriver(rawPlugins);
+    return {
+        ...(await getOutputOptions(inputOptions, unsetInputOptions, rawOutputOptions, outputPluginDriver)),
+        outputPluginDriver
+    };
+}
+function getOutputOptions(inputOptions, unsetInputOptions, rawOutputOptions, outputPluginDriver) {
+    return normalizeOutputOptions(outputPluginDriver.hookReduceArg0Sync('outputOptions', [rawOutputOptions], (outputOptions, result) => result || outputOptions, pluginContext => {
+        const emitError = () => pluginContext.error(parseAst_js.logCannotEmitFromOptionsHook());
+        return {
+            ...pluginContext,
+            emitFile: emitError,
+            setAssetSource: emitError
+        };
+    }), inputOptions, unsetInputOptions);
+}
+function createOutput(outputBundle) {
+    return {
+        output: Object.values(outputBundle).filter(outputFile => Object.keys(outputFile).length > 0).sort((outputFileA, outputFileB) => getSortingFileType(outputFileA) - getSortingFileType(outputFileB))
+    };
+}
+var SortingFileType;
+(function (SortingFileType) {
+    SortingFileType[SortingFileType["ENTRY_CHUNK"] = 0] = "ENTRY_CHUNK";
+    SortingFileType[SortingFileType["SECONDARY_CHUNK"] = 1] = "SECONDARY_CHUNK";
+    SortingFileType[SortingFileType["ASSET"] = 2] = "ASSET";
+})(SortingFileType || (SortingFileType = {}));
+function getSortingFileType(file) {
+    if (file.type === 'asset') {
+        return SortingFileType.ASSET;
+    }
+    if (file.isEntry) {
+        return SortingFileType.ENTRY_CHUNK;
+    }
+    return SortingFileType.SECONDARY_CHUNK;
+}
+async function writeOutputFile(outputFile, outputOptions) {
+    const fileName = node_path.resolve(outputOptions.dir || node_path.dirname(outputOptions.file), outputFile.fileName);
+    // 'recursive: true' does not throw if the folder structure, or parts of it, already exist
+    await promises.mkdir(node_path.dirname(fileName), { recursive: true });
+    return promises.writeFile(fileName, outputFile.type === 'asset' ? outputFile.source : outputFile.code);
+}
+/**
+ * Auxiliary function for defining rollup configuration
+ * Mainly to facilitate IDE code prompts, after all, export default does not
+ * prompt, even if you add @type annotations, it is not accurate
+ * @param options
+ */
+function defineConfig(options) {
+    return options;
+}
+
+exports.blue = blue;
+exports.bold = bold;
+exports.commandAliases = commandAliases;
+exports.createFilter = createFilter;
+exports.cyan = cyan$1;
+exports.cyan$1 = cyan;
+exports.defineConfig = defineConfig;
+exports.ensureArray = ensureArray$1;
+exports.getAugmentedNamespace = getAugmentedNamespace;
+exports.getNewArray = getNewArray;
+exports.getOrCreate = getOrCreate;
+exports.gray = gray;
+exports.green = green;
+exports.handleError = handleError;
+exports.isWatchEnabled = isWatchEnabled;
+exports.mergeOptions = mergeOptions;
+exports.normalizePluginOption = normalizePluginOption;
+exports.picomatch = picomatch;
+exports.rollup = rollup;
+exports.rollupInternal = rollupInternal;
+exports.stderr = stderr;
+exports.underline = underline;
+exports.version = version;
+exports.yellow = yellow;
+//# sourceMappingURL=rollup.js.map
diff --git a/.pnpm-store/v3/files/1b/90d2c2699104ecb76064743058d1bf8d77df7494e0e9b2f9b45f2862f98c464c1b8410f8025a4a1b6108c7aedc529a5a7fc70add5b5635bcb9daf02dad6268 b/.pnpm-store/v3/files/1b/90d2c2699104ecb76064743058d1bf8d77df7494e0e9b2f9b45f2862f98c464c1b8410f8025a4a1b6108c7aedc529a5a7fc70add5b5635bcb9daf02dad6268
new file mode 100644
index 00000000..64156636
--- /dev/null
+++ b/.pnpm-store/v3/files/1b/90d2c2699104ecb76064743058d1bf8d77df7494e0e9b2f9b45f2862f98c464c1b8410f8025a4a1b6108c7aedc529a5a7fc70add5b5635bcb9daf02dad6268
@@ -0,0 +1 @@
+module.exports={A:{D:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G","33":"M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},L:{"1":"H"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F VC WC","33":"A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB"},M:{"1":"1B"},A:{"2":"J D E F A B SC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB"},K:{"1":"u","2":"A B C 2B QC 3B"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC","2":"9 I XC DC YC hC","33":"J D E F A ZC aC bC EC"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC","33":"E pC qC rC sC tC uC vC"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"}},B:6,C:"isolate from unicode-bidi",D:undefined};
diff --git a/.pnpm-store/v3/files/1b/997ed1f820b2f63646647c2bd45a0da287d1d942a8523710aef25b4266973d07eef0a1450f4a3a303df537b72659dad889eae6b467e5b03e666a0b62bf5597 b/.pnpm-store/v3/files/1b/997ed1f820b2f63646647c2bd45a0da287d1d942a8523710aef25b4266973d07eef0a1450f4a3a303df537b72659dad889eae6b467e5b03e666a0b62bf5597
new file mode 100644
index 00000000..7990223f
--- /dev/null
+++ b/.pnpm-store/v3/files/1b/997ed1f820b2f63646647c2bd45a0da287d1d942a8523710aef25b4266973d07eef0a1450f4a3a303df537b72659dad889eae6b467e5b03e666a0b62bf5597
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F SC","8":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","578":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 O AB q r s t BB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","4":"9 I J D E F A B C K L G M N","194":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB"},D:{"1":"0 1 2 3 4 5 6 7 8 s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"8":"A","260":"B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:2,C:"Touch events",D:true};
diff --git a/.pnpm-store/v3/files/1b/9989da866e46842ed22f8a9218e9a98d8694cd0b499c069733d50809b5e1bb492ee967222162c8581b7446a3e6700e9cad62a29c091fa5818bfc6eb9bcce18 b/.pnpm-store/v3/files/1b/9989da866e46842ed22f8a9218e9a98d8694cd0b499c069733d50809b5e1bb492ee967222162c8581b7446a3e6700e9cad62a29c091fa5818bfc6eb9bcce18
new file mode 100644
index 00000000..3caf07a6
--- /dev/null
+++ b/.pnpm-store/v3/files/1b/9989da866e46842ed22f8a9218e9a98d8694cd0b499c069733d50809b5e1bb492ee967222162c8581b7446a3e6700e9cad62a29c091fa5818bfc6eb9bcce18
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F SC","6308":"A","6436":"B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","6436":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB VC WC","2052":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB"},D:{"1":"0 1 2 3 4 5 6 7 8 sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB","8258":"pB qB rB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC","3108":"F A bC EC"},F:{"1":"nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB iC jC kC lC 2B QC mC 3B","8258":"fB gB hB iB jB kB lB mB"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC","3108":"sC tC uC vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD KD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2052":"TD"}},B:4,C:"CSS Scroll Snap",D:true};
diff --git a/.pnpm-store/v3/files/1b/998f4aadd0bc243767b4451b407e16aaa5deab3d5d147f47a7c3423190537c6ba32489c7be771571cb383eb9f0ee0c3c92ac558953da751cf97486787bc20e b/.pnpm-store/v3/files/1b/998f4aadd0bc243767b4451b407e16aaa5deab3d5d147f47a7c3423190537c6ba32489c7be771571cb383eb9f0ee0c3c92ac558953da751cf97486787bc20e
new file mode 100644
index 00000000..7179f3d7
--- /dev/null
+++ b/.pnpm-store/v3/files/1b/998f4aadd0bc243767b4451b407e16aaa5deab3d5d147f47a7c3423190537c6ba32489c7be771571cb383eb9f0ee0c3c92ac558953da751cf97486787bc20e
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"J D E F A SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"E F A B C bC EC 2B","2":"9 I J D XC DC YC ZC aC","129":"K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB TB VB 3B","2":"F B C RB SB UB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC"},G:{"1":"E rC sC tC uC vC wC xC yC","2":"DC nC RC oC pC qC","257":"zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I DD RC ED FD","2":"H AD BD CD"},J:{"2":"D A"},K:{"1":"3B","2":"A B C u 2B QC"},L:{"2":"H"},M:{"2":"1B"},N:{"1":"B","2":"A"},O:{"2":"4B"},P:{"1":"I","2":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"1":"TD","2":"UD"}},B:7,C:"SPDY protocol",D:true};
diff --git a/.pnpm-store/v3/files/1b/f87beb9fb75923940418b60fdfdb40f8c74b2925bc787c53e5f31c659589029efbdf1c157721ac97d2d0de95d49a8bd3ed1d9116e6dcb8b0d74ac48f072312 b/.pnpm-store/v3/files/1b/f87beb9fb75923940418b60fdfdb40f8c74b2925bc787c53e5f31c659589029efbdf1c157721ac97d2d0de95d49a8bd3ed1d9116e6dcb8b0d74ac48f072312
new file mode 100644
index 00000000..87a91709
--- /dev/null
+++ b/.pnpm-store/v3/files/1b/f87beb9fb75923940418b60fdfdb40f8c74b2925bc787c53e5f31c659589029efbdf1c157721ac97d2d0de95d49a8bd3ed1d9116e6dcb8b0d74ac48f072312
@@ -0,0 +1,102 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.generateKeyPair = exports.generateSecret = void 0;
+const node_crypto_1 = require("node:crypto");
+const node_util_1 = require("node:util");
+const random_js_1 = require("./random.js");
+const errors_js_1 = require("../util/errors.js");
+const generate = (0, node_util_1.promisify)(node_crypto_1.generateKeyPair);
+async function generateSecret(alg, options) {
+    let length;
+    switch (alg) {
+        case 'HS256':
+        case 'HS384':
+        case 'HS512':
+        case 'A128CBC-HS256':
+        case 'A192CBC-HS384':
+        case 'A256CBC-HS512':
+            length = parseInt(alg.slice(-3), 10);
+            break;
+        case 'A128KW':
+        case 'A192KW':
+        case 'A256KW':
+        case 'A128GCMKW':
+        case 'A192GCMKW':
+        case 'A256GCMKW':
+        case 'A128GCM':
+        case 'A192GCM':
+        case 'A256GCM':
+            length = parseInt(alg.slice(1, 4), 10);
+            break;
+        default:
+            throw new errors_js_1.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
+    }
+    return (0, node_crypto_1.createSecretKey)((0, random_js_1.default)(new Uint8Array(length >> 3)));
+}
+exports.generateSecret = generateSecret;
+async function generateKeyPair(alg, options) {
+    switch (alg) {
+        case 'RS256':
+        case 'RS384':
+        case 'RS512':
+        case 'PS256':
+        case 'PS384':
+        case 'PS512':
+        case 'RSA-OAEP':
+        case 'RSA-OAEP-256':
+        case 'RSA-OAEP-384':
+        case 'RSA-OAEP-512':
+        case 'RSA1_5': {
+            const modulusLength = options?.modulusLength ?? 2048;
+            if (typeof modulusLength !== 'number' || modulusLength < 2048) {
+                throw new errors_js_1.JOSENotSupported('Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used');
+            }
+            const keypair = await generate('rsa', {
+                modulusLength,
+                publicExponent: 0x10001,
+            });
+            return keypair;
+        }
+        case 'ES256':
+            return generate('ec', { namedCurve: 'P-256' });
+        case 'ES256K':
+            return generate('ec', { namedCurve: 'secp256k1' });
+        case 'ES384':
+            return generate('ec', { namedCurve: 'P-384' });
+        case 'ES512':
+            return generate('ec', { namedCurve: 'P-521' });
+        case 'EdDSA': {
+            switch (options?.crv) {
+                case undefined:
+                case 'Ed25519':
+                    return generate('ed25519');
+                case 'Ed448':
+                    return generate('ed448');
+                default:
+                    throw new errors_js_1.JOSENotSupported('Invalid or unsupported crv option provided, supported values are Ed25519 and Ed448');
+            }
+        }
+        case 'ECDH-ES':
+        case 'ECDH-ES+A128KW':
+        case 'ECDH-ES+A192KW':
+        case 'ECDH-ES+A256KW': {
+            const crv = options?.crv ?? 'P-256';
+            switch (crv) {
+                case undefined:
+                case 'P-256':
+                case 'P-384':
+                case 'P-521':
+                    return generate('ec', { namedCurve: crv });
+                case 'X25519':
+                    return generate('x25519');
+                case 'X448':
+                    return generate('x448');
+                default:
+                    throw new errors_js_1.JOSENotSupported('Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448');
+            }
+        }
+        default:
+            throw new errors_js_1.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
+    }
+}
+exports.generateKeyPair = generateKeyPair;
diff --git a/.pnpm-store/v3/files/1c/39222aae1079f3cb64cac3122019876dcc256023968f7a23c9a8eda16c9137222fcf84b1b4c440efbfd1e1c666955dbbc384f4fab395e73d21c063e107606c b/.pnpm-store/v3/files/1c/39222aae1079f3cb64cac3122019876dcc256023968f7a23c9a8eda16c9137222fcf84b1b4c440efbfd1e1c666955dbbc384f4fab395e73d21c063e107606c
new file mode 100644
index 00000000..ee60242b
--- /dev/null
+++ b/.pnpm-store/v3/files/1c/39222aae1079f3cb64cac3122019876dcc256023968f7a23c9a8eda16c9137222fcf84b1b4c440efbfd1e1c666955dbbc384f4fab395e73d21c063e107606c
@@ -0,0 +1,22 @@
+/*
+  @license
+	Rollup.js v4.11.0
+	Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99
+
+	https://github.com/rollup/rollup
+
+	Released under the MIT License.
+*/
+'use strict';
+
+Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+
+require('./native.js');
+const parseAst_js = require('./shared/parseAst.js');
+require('node:path');
+
+
+
+exports.parseAst = parseAst_js.parseAst;
+exports.parseAstAsync = parseAst_js.parseAstAsync;
+//# sourceMappingURL=parseAst.js.map
diff --git a/.pnpm-store/v3/files/1c/4c5832d845492f2f062816ea4642204d5be262031ce2f9c6c0bf44a8b536b677d5dc9c09eed73ff4957ec62eba7fdffcc5b7d4fe8ed346056ee4e20af248fb b/.pnpm-store/v3/files/1c/4c5832d845492f2f062816ea4642204d5be262031ce2f9c6c0bf44a8b536b677d5dc9c09eed73ff4957ec62eba7fdffcc5b7d4fe8ed346056ee4e20af248fb
new file mode 100644
index 00000000..1b1ecd53
--- /dev/null
+++ b/.pnpm-store/v3/files/1c/4c5832d845492f2f062816ea4642204d5be262031ce2f9c6c0bf44a8b536b677d5dc9c09eed73ff4957ec62eba7fdffcc5b7d4fe8ed346056ee4e20af248fb
@@ -0,0 +1 @@
+module.exports={C:{"52":0.05209,"56":0.00434,"65":0.00434,"67":0.00434,"68":0.00434,"72":0.00434,"73":0.01736,"75":0.00868,"77":0.00434,"78":0.01302,"80":0.00434,"81":0.00434,"82":0.00434,"88":0.01302,"89":0.00434,"92":0.00434,"94":0.00434,"96":0.00434,"97":0.00434,"99":0.00434,"100":0.00434,"101":0.00434,"102":0.00434,"103":0.00434,"104":0.00434,"105":0.00434,"106":0.00434,"107":0.00868,"108":0.00868,"109":0.00434,"110":0.00434,"111":0.00434,"112":0.06512,"113":0.02605,"114":0.00868,"115":5.67803,"116":0.00868,"117":0.00434,"118":0.00868,"119":0.06946,"120":0.03473,"121":1.91438,"122":0.46449,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 66 69 70 71 74 76 79 83 84 85 86 87 90 91 93 95 98 123 124 125 3.5 3.6"},D:{"11":0.00434,"34":0.00434,"38":0.00868,"47":0.00868,"49":0.04341,"53":0.00868,"55":0.00434,"56":0.00434,"63":0.00434,"65":0.00434,"67":0.00434,"68":0.00434,"70":0.00434,"71":0.00434,"72":0.00434,"74":0.00434,"75":0.00868,"76":0.00434,"78":0.00868,"79":0.20403,"80":0.00868,"81":0.01736,"83":0.01736,"84":0.01302,"85":0.04341,"86":0.01302,"87":0.12155,"88":0.01302,"89":0.01302,"90":0.01302,"91":0.00434,"92":0.01302,"93":0.00434,"94":0.00868,"95":0.01302,"96":0.00868,"97":0.01736,"98":0.00868,"99":0.01736,"100":0.01302,"101":0.00868,"102":0.04341,"103":0.05643,"104":0.01302,"105":0.03039,"106":0.03473,"107":0.04341,"108":0.04775,"109":4.02411,"110":0.03473,"111":0.02171,"112":0.03473,"113":0.00868,"114":0.03039,"115":0.02171,"116":0.07814,"117":0.03907,"118":0.12589,"119":0.27348,"120":17.0254,"121":1.25455,"122":0.00868,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 54 57 58 59 60 61 62 64 66 69 73 77 123 124"},F:{"28":0.00434,"36":0.00434,"46":0.00868,"48":0.00868,"79":0.00434,"85":0.02171,"89":0.00434,"95":0.17798,"101":0.00434,"102":0.00434,"104":0.00434,"105":0.82045,"106":1.09393,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 90 91 92 93 94 96 97 98 99 100 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00434,"18":0.00868,"85":0.00434,"92":0.00434,"109":0.03039,"111":0.00434,"114":0.00434,"115":0.00434,"116":0.00434,"117":0.00434,"118":0.00868,"119":0.03039,"120":1.56276,"121":0.23007,_:"12 13 14 15 16 79 80 81 83 84 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 113"},E:{"9":0.00434,"10":0.00434,"14":0.00434,"15":0.00434,_:"0 4 5 6 7 8 11 12 13 3.1 3.2 5.1 6.1 7.1 10.1 11.1 12.1 17.4","9.1":0.00434,"13.1":0.03473,"14.1":0.03039,"15.1":0.00434,"15.2-15.3":0.00434,"15.4":0.00434,"15.5":0.00868,"15.6":0.08248,"16.0":0.00434,"16.1":0.00868,"16.2":0.00868,"16.3":0.02171,"16.4":0.00868,"16.5":0.01736,"16.6":0.10853,"17.0":0.02171,"17.1":0.16062,"17.2":0.15194,"17.3":0.01302},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00171,"5.0-5.1":0.00256,"6.0-6.1":0.00427,"7.0-7.1":0.00598,"8.1-8.4":0.00085,"9.0-9.2":0.00513,"9.3":0.01966,"10.0-10.2":0.00171,"10.3":0.03077,"11.0-11.2":0.01197,"11.3-11.4":0.01282,"12.0-12.1":0.00769,"12.2-12.5":0.15213,"13.0-13.1":0.00256,"13.2":0.0282,"13.3":0.00769,"13.4-13.7":0.03419,"14.0-14.4":0.05983,"14.5-14.8":0.09145,"15.0-15.1":0.03931,"15.2-15.3":0.0453,"15.4":0.05299,"15.5":0.07008,"15.6-15.8":0.54613,"16.0":0.16409,"16.1":0.34956,"16.2":0.15897,"16.3":0.29571,"16.4":0.06581,"16.5":0.14016,"16.6-16.7":1.14695,"17.0":0.19059,"17.1":1.96486,"17.2":2.6597,"17.3":0.17093},P:{"4":0.1039,"20":0.03117,"21":0.05195,"22":0.07273,"23":2.41058,"5.0-5.4":0.02078,_:"6.2-6.4 8.2 9.2 10.1 12.0","7.2-7.4":0.01039,"11.1-11.2":0.03117,"13.0":0.01039,"14.0":0.02078,"15.0":0.01039,"16.0":0.01039,"17.0":0.01039,"18.0":0.02078,"19.0":0.03117},I:{"0":0.03945,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"8":0.00882,"10":0.00441,"11":0.27328,_:"6 7 9 5.5"},K:{"0":0.40846,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.0283},H:{"0":0.05},L:{"0":49.90011},R:{_:"0"},M:{"0":0.16414}};
diff --git a/.pnpm-store/v3/files/1c/9e9892028aaf1b860e6a51bd3e49657d3e1a8b15091de5c7c1c3479ce0e4a544d18f0691cd1c8ede78d3d6b43a30b37595ddf1586a86767519e6217d393495 b/.pnpm-store/v3/files/1c/9e9892028aaf1b860e6a51bd3e49657d3e1a8b15091de5c7c1c3479ce0e4a544d18f0691cd1c8ede78d3d6b43a30b37595ddf1586a86767519e6217d393495
new file mode 100644
index 00000000..dcffb947
--- /dev/null
+++ b/.pnpm-store/v3/files/1c/9e9892028aaf1b860e6a51bd3e49657d3e1a8b15091de5c7c1c3479ce0e4a544d18f0691cd1c8ede78d3d6b43a30b37595ddf1586a86767519e6217d393495
@@ -0,0 +1,89 @@
+{
+  "name": "diff",
+  "version": "5.2.0",
+  "description": "A JavaScript text diff implementation.",
+  "keywords": [
+    "diff",
+    "jsdiff",
+    "compare",
+    "patch",
+    "text",
+    "json",
+    "css",
+    "javascript"
+  ],
+  "maintainers": [
+    "Kevin Decker  (http://incaseofstairs.com)",
+    "Mark Amery "
+  ],
+  "bugs": {
+    "email": "kpdecker@gmail.com",
+    "url": "http://github.com/kpdecker/jsdiff/issues"
+  },
+  "license": "BSD-3-Clause",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/kpdecker/jsdiff.git"
+  },
+  "engines": {
+    "node": ">=0.3.1"
+  },
+  "main": "./lib/index.js",
+  "module": "./lib/index.es6.js",
+  "browser": "./dist/diff.js",
+  "unpkg": "./dist/diff.js",
+  "exports": {
+    ".": {
+      "import": "./lib/index.mjs",
+      "require": "./lib/index.js"
+    },
+    "./package.json": "./package.json",
+    "./": "./",
+    "./*": "./*"
+  },
+  "scripts": {
+    "clean": "rm -rf lib/ dist/",
+    "build:node": "yarn babel --out-dir lib  --source-maps=inline src",
+    "test": "grunt"
+  },
+  "devDependencies": {
+    "@babel/cli": "^7.2.3",
+    "@babel/core": "^7.2.2",
+    "@babel/plugin-transform-modules-commonjs": "^7.2.0",
+    "@babel/preset-env": "^7.2.3",
+    "@babel/register": "^7.0.0",
+    "@colors/colors": "^1.3.3",
+    "babel-eslint": "^10.0.1",
+    "babel-loader": "^8.0.5",
+    "chai": "^4.2.0",
+    "eslint": "^5.12.0",
+    "grunt": "^1.0.3",
+    "grunt-babel": "^8.0.0",
+    "grunt-cli": "^1.3.2",
+    "grunt-contrib-clean": "^2.0.0",
+    "grunt-contrib-copy": "^1.0.0",
+    "grunt-contrib-uglify": "^5.0.0",
+    "grunt-contrib-watch": "^1.1.0",
+    "grunt-eslint": "^23.0.0",
+    "grunt-exec": "^3.0.0",
+    "grunt-karma": "^4.0.0",
+    "grunt-mocha-istanbul": "^5.0.2",
+    "grunt-mocha-test": "^0.13.3",
+    "grunt-webpack": "^3.1.3",
+    "istanbul": "github:kpdecker/istanbul",
+    "karma": "^6.3.16",
+    "karma-chrome-launcher": "^3.1.0",
+    "karma-mocha": "^2.0.1",
+    "karma-mocha-reporter": "^2.0.0",
+    "karma-sauce-launcher": "^4.1.5",
+    "karma-sourcemap-loader": "^0.3.6",
+    "karma-webpack": "^4.0.2",
+    "mocha": "^6.0.0",
+    "rollup": "^1.0.2",
+    "rollup-plugin-babel": "^4.2.0",
+    "semver": "^7.3.2",
+    "webpack": "^4.28.3",
+    "webpack-dev-server": "^3.1.14"
+  },
+  "optionalDependencies": {}
+}
diff --git a/.pnpm-store/v3/files/1c/c14da2d5262d79fbd4143183c7228efab19c80287dfa2b64ec06b31c97274aae81376ca54178b0f489daf860a6b1c207df7ab480f312ad6e6ee98f0d5f142c-index.json b/.pnpm-store/v3/files/1c/c14da2d5262d79fbd4143183c7228efab19c80287dfa2b64ec06b31c97274aae81376ca54178b0f489daf860a6b1c207df7ab480f312ad6e6ee98f0d5f142c-index.json
new file mode 100644
index 00000000..9ee8bd4a
--- /dev/null
+++ b/.pnpm-store/v3/files/1c/c14da2d5262d79fbd4143183c7228efab19c80287dfa2b64ec06b31c97274aae81376ca54178b0f489daf860a6b1c207df7ab480f312ad6e6ee98f0d5f142c-index.json
@@ -0,0 +1 @@
+{"files":{"LICENSE":{"checkedAt":1708001724960,"integrity":"sha512-rSHDFHuqpL4YYjuonwMhmTZHaApuMwWkwFy4+F8iJnLc+eHXAi1DH7LviVIDlRzgjGUBzKDD96YRk6a3HlyEKA==","mode":420,"size":18651},"data/features/aac.js":{"checkedAt":1708001724960,"integrity":"sha512-n6ooIPFBqHsH+saznKaE9bOcT0hMZyTmuN4je+yJqsj5ztMBs7eHz3+DZRGgi3pNyNhZiv4UnWl9neMiRTVEnA==","mode":420,"size":1669},"data/features/abortcontroller.js":{"checkedAt":1708001724960,"integrity":"sha512-l5h0Jo0PyJZARnNT8LRgYc4z5vWfvV/CO7Bgw6fGAuZIH7DBbjui/gxHpgLnaFEY9vNWAKuNeeG5epeDa9rc+Q==","mode":420,"size":1671},"data/features/ac3-ec3.js":{"checkedAt":1708001724960,"integrity":"sha512-C+ucHb7B3YbJK8SeuksOfIJn5rivGKP1YJXIQx0yasog1gCfqQv1irTmJZbGNXJpNykD6nJLqJIpk4y/jJcGQg==","mode":420,"size":1662},"data/features/accelerometer.js":{"checkedAt":1708001724960,"integrity":"sha512-t9gRBmwiCWQGDJC5IzEGj7CiWAK9jAn+Bk5k+1oymaty/+gsm5FR5i4f5YIKWVxw1nUhTfyk2prxNMjEguQegA==","mode":420,"size":1625},"data/regions/AD.js":{"checkedAt":1708001724960,"integrity":"sha512-fLEy6Tf4C43gWf5nCAb4mIacxH06CMJNOQJaAY73G5COMm2Doq/PKigIguKOX63z1w1i4mUHW1JlVpbiZV6OHA==","mode":420,"size":3935},"data/features/addeventlistener.js":{"checkedAt":1708001724961,"integrity":"sha512-v0XC/uIs1NlQjrTqCtn+4SEAVqr0+lskZHygSuDtZNNWMPhr3Vt9kT40K52V6ygc8Xbvxw9/hOFzoHbZBSoOoQ==","mode":420,"size":1620},"data/regions/AE.js":{"checkedAt":1708001724961,"integrity":"sha512-PgmcJB20jad7M4xQE0Nj/0TchyTdCkMOxH5cxlwqBpGWhUWuoVQwqtazX3LSwjmyf6msEzpJTO2unPBwQTav3Q==","mode":420,"size":4252},"data/regions/AF.js":{"checkedAt":1708001724961,"integrity":"sha512-h+SJP7V6p49gIrnsbN+QjO74B4AK1N/m/RhQEEueXjTubn0LH+AC0k/buA0JdIV0KZ9RFKnxhH9cUG3Xgbk9Bw==","mode":420,"size":4517},"data/regions/AG.js":{"checkedAt":1708001724961,"integrity":"sha512-faHsR9kAnCpwtgNO349AaevVVqUssqgshH/rTwC1K8++Lohn4R/6XklTjEYQObMdYBBREccyG9fFB+MpRpyQLQ==","mode":420,"size":3596},"data/agents.js":{"checkedAt":1708001724962,"integrity":"sha512-fGRn1BaAihR0lMKubTYRjq4R/b+ZW0Vej87E7bC9cOcmYDldmH9+KKW6t+l5iODi8/AFBTwhGg6FjgFC0GM2Gw==","mode":420,"size":20431},"dist/unpacker/agents.js":{"checkedAt":1708001724962,"integrity":"sha512-Tju85VqbW51kpbprHbzS+q9ePmN6qerY1pBN/CMqjGxEGdSJcRU9hLgGK8JzzWONUsctBvFazoS//mSmCEE5CA==","mode":420,"size":1439},"data/regions/AI.js":{"checkedAt":1708001724962,"integrity":"sha512-AqNJSBb1hS6EdoKFp6/ZVwHvTAkG8hZyp7V7Q9EKERY8ZSPvvouue70LFdeyb1NWhq1LvZO+x3YHohABxpgBFA==","mode":420,"size":3219},"data/regions/AL.js":{"checkedAt":1708001724963,"integrity":"sha512-QYnvHq0fx8hlsEBsHPHRFi8r4lC8NEPTv/yH3BfcK6HIvR1OR0yhTRcXUMtRRbJwgHbRGF3I2d1TSDN/p71xJg==","mode":420,"size":3962},"data/regions/alt-af.js":{"checkedAt":1708001724963,"integrity":"sha512-PcF3F0X6CtGfY7+sk6O2xFbo9cCo5bavT/l/8JyIn33+NrKdf15NpmCRPiUlMvOoSo03kKq/1U9jkHopGCNd+w==","mode":420,"size":4179},"data/regions/alt-an.js":{"checkedAt":1708001724963,"integrity":"sha512-hJTcpZQE3COiysIjBQGa1xDfhb7jL+f1bLE0dzqTCHlStloLCeB97HLWp8hp3nWnbicWAPlBC4XZNGJFhoTQpg==","mode":420,"size":2651},"data/regions/alt-as.js":{"checkedAt":1708001724963,"integrity":"sha512-ZuttNzSw2QKMtGwR0BsuGNF5P5jR7VM1KQnXbGBrtG3gYPGuQ+a5LeTvmV5Eiq5dz03WYrYR/y7ykvOS1px6CQ==","mode":420,"size":4183},"data/regions/alt-eu.js":{"checkedAt":1708001724963,"integrity":"sha512-OMUHEmCmxhAaqdItvDH4Qn37dm9BrYpuCxl6Z4vp6w4oW/UenBVeYkWvkRBM/UWhUag9mg5nuQ88I07YmMsxUA==","mode":420,"size":4112},"data/regions/alt-na.js":{"checkedAt":1708001724964,"integrity":"sha512-drU/vsTn/wdy618Npy2TPh+nUbbrMCRsGwSLCg6UZ+dA9XMBQM8j4qspvc2svEhVDa+3k3OFlLuhS8puPUOZJg==","mode":420,"size":4143},"data/regions/alt-oc.js":{"checkedAt":1708001724964,"integrity":"sha512-b+GSrhhBqNkkeNzlCZOzUS8YhtzbFYaCOjxHRXccr1cilMY6TlEQVhcSfwi/mqHHBHcgaZ6+NZcAa/cOfSozpA==","mode":420,"size":3873},"data/regions/alt-sa.js":{"checkedAt":1708001724964,"integrity":"sha512-oM7yxLtw8K+/0k81TscBpN79DngUBHTuOCNmZOlbWnvFV7RnplYd0k++l5L4awZtI1fPT4JcCNTJmr0Mzwx9Wg==","mode":420,"size":3847},"data/regions/alt-ww.js":{"checkedAt":1708001724964,"integrity":"sha512-B362EaC1qYaoQtcyx8bmq9XP+dRwfnPcrlyUZaYMVpGW9HuyYnp+O4CbO3gOWslMWuiHNRQkf+74jEacA5NAmw==","mode":420,"size":4374},"data/features/alternate-stylesheet.js":{"checkedAt":1708001724964,"integrity":"sha512-1hn1Zsk8lIECer2+qMtB2y8WDZZsGlYdR4TtUQYr/ZlP7JYdHmUaP0TIkmC/BGpxH5M4uVgJcqRlS1jWR39S9A==","mode":420,"size":1623},"data/regions/AM.js":{"checkedAt":1708001724965,"integrity":"sha512-oiWCIur8NaOLnprXAVidQheWeNozQLzyyoO2oZDmeHFJO1m2aVBWCkwDL7I+hBTZJsr0jLB1gqNgdUWtNE25hA==","mode":420,"size":3488},"data/features/ambient-light.js":{"checkedAt":1708001724965,"integrity":"sha512-rexcwsGOBnufSReSEpjiWwgG1acOeO51I77VE1uFvv2nuwMG3wJUhuYXZxl0eFq8m42CnFZgjR9crDxlsaqp9w==","mode":420,"size":1644},"data/regions/AO.js":{"checkedAt":1708001724965,"integrity":"sha512-d5IlIsGQe1C6gZZpX9bGx/hlLyhwdL602xl8wfwKH45O3xAxOGImLH11Q9IRm90j/tDd63EjV1p7Bgr1AGJ8OA==","mode":420,"size":4053},"data/features/apng.js":{"checkedAt":1708001724965,"integrity":"sha512-+o+k6KD/75IGYgE4oRZoq4yqzWgF05pB/vhGO3wAs6qnV6qhdipmRAh6tdZCjkFoQiCHVx1a/7B9xb4lTAS0uQ==","mode":420,"size":1641},"data/regions/AR.js":{"checkedAt":1708001724965,"integrity":"sha512-2zeEc256hWsmu3VA3/wU+f13s/6d0URy/svH3feYt/Ey4awQHDHwwksYz8I9qKW/L3oHfL2kEIwdZW/qh2zbuw==","mode":420,"size":3985},"data/features/array-find-index.js":{"checkedAt":1708001724966,"integrity":"sha512-nMAz7COZb+lGR3J4YBIVHJA5LuiDXYdtEs4T3fh+POGLdtGNSFMFnBNAjPFQi9RmhiJ6ld9XJm9O+lK3xp+38g==","mode":420,"size":1654},"data/features/array-find.js":{"checkedAt":1708001724966,"integrity":"sha512-XjvDHpuTS/TyNXUOSZmFFPNq+mgEyDmUmCYVev1jNy72YkDt6uCP9oMsXeeoays4un1Z3SoKDZPDwoRhVn7AWA==","mode":420,"size":1656},"data/features/array-flat.js":{"checkedAt":1708001724966,"integrity":"sha512-UBzkKmKGnep2Z+ngSSQQm5msa0D9M0rbnPwEuTcmzF8Lwua88gewGQiVQCrfKgT/UJmSGWgwkAYiBFzqaeYqTg==","mode":420,"size":1662},"data/features/array-includes.js":{"checkedAt":1708001724966,"integrity":"sha512-IpSWjyFYtqeRMKb3vMqxPpwB/aR9E+wvz8/8OWZFdUMwfrivDpgguiZsqncRVrNyDPa0U4zRO9gOd4X8LjqWKg==","mode":420,"size":1652},"data/features/arrow-functions.js":{"checkedAt":1708001724966,"integrity":"sha512-skiqjr3u6aiU3+fgHHr9ZuacX22GKT92Cqxz65h4e1g0YUEUazxarMxMxNiNizsGttL6kpYlFwqmVUhPiFR25A==","mode":420,"size":1637},"data/regions/AS.js":{"checkedAt":1708001724967,"integrity":"sha512-tfVVMUu0TsReXzdM2Jq4sKuisoxTjfP6f7TBLliz6b27z34+ODFuYgslIj3krFfs2uAMM7l0ACYMTn+UfLXdWw==","mode":420,"size":2950},"data/features/asmjs.js":{"checkedAt":1708001724967,"integrity":"sha512-hWQP8683F5aqDrIUEwZ2YoXzx0VTaehoCjSLWmqc1w746CJ7eI0d1Fsyi/cJYXRZjSwEV7++RomNgd4SzqDWxQ==","mode":420,"size":1650},"data/features/async-clipboard.js":{"checkedAt":1708001724967,"integrity":"sha512-Idy+lGGAleQzn37r72edeSJ5QRE5WCt6fPD8eqsF7IQGvh2+J2Uf228P0NrTNd9qALvr7yoU7788QI4CWOQA3A==","mode":420,"size":1679},"data/features/async-functions.js":{"checkedAt":1708001724967,"integrity":"sha512-rgB5IrC8SRJ3E5NAb0ZkBEuylfNCPCxVepvNJPlGgbjmmBqJE1P96GftOW5+hUpvwAqa1w+AWNHZStqvjWPTqA==","mode":420,"size":1673},"data/regions/AT.js":{"checkedAt":1708001724967,"integrity":"sha512-3AmlrRATcacwCVof0HWxYt+09J4WQdVlrlnfvtBc6i1jV+eFcJu6weqwJvG9UIm6UaF8+zWZyCM8zQ7VXdUS0g==","mode":420,"size":4199},"data/features/atob-btoa.js":{"checkedAt":1708001724968,"integrity":"sha512-s11FhWfWRcD8mxVvGosQIe4LRZfRxRuygqOra24Ls19OxcjfNj6KhDx1FORUcsZrGOD7GapeUGzdMg11T1f7VQ==","mode":420,"size":1628},"data/regions/AU.js":{"checkedAt":1708001724968,"integrity":"sha512-pOnNQz9rsNo2wgcGyKg2/+NAn+3jjaJcGWdKLHn39i+Tq67cWFjoFEH82OJaQCzGYrcnh5ulR+6ltIlta5Wjpw==","mode":420,"size":4185},"data/features/audio-api.js":{"checkedAt":1708001724968,"integrity":"sha512-QYEja4UfWPfDiJKeRGUwhmHORx5BvCDo3s1SWSLxJ9bcmtkwaRffsJXdrS5kRDmRI55eysd/hdIDJiraZE0SmA==","mode":420,"size":1657},"data/features/audio.js":{"checkedAt":1708001724968,"integrity":"sha512-3eAvlq/1WJ1JSCYXYGsN9IlziIyCk5nwLrjxeG/r1iGKQkELQAbm+gi7rE32Woo8kHK1WzKm49+REqGufDHwRA==","mode":420,"size":1643},"data/features/audiotracks.js":{"checkedAt":1708001724968,"integrity":"sha512-NpsG4MOQ+SfvyS/gFrETT01bfgAxyjqKcW5ViA5AUAwPzWO6RKW0lNKJQDs2wmF8r7UQvLRrFwiQxk+nlnvYgw==","mode":420,"size":1654},"data/features/autofocus.js":{"checkedAt":1708001724968,"integrity":"sha512-xJjtG/mvPbSLnlZvDbZQr6h9Tirvik3vMyBtXSFhV0BYNS1R0yMYpSMsYAI9jkgl8Rj1OH8zNA/2I5rKNPc3MA==","mode":420,"size":1641},"data/features/auxclick.js":{"checkedAt":1708001724969,"integrity":"sha512-tibIlYOb8AZ0yZLHY8mJnITcfp1T9R08xnOooestOX1YODhzXGeEy+rRn2KSICP0XRcDHgBPNJniBW3+fS61ug==","mode":420,"size":1626},"data/features/av1.js":{"checkedAt":1708001724969,"integrity":"sha512-W359goQrFUyXbg+lO2wgb7hDn2bktIaDD7BzafNWfIl5eOCURltl0gfAY3khaOE97zCnaKQdrFVcQPc6CGqXcA==","mode":420,"size":1688},"data/features/avif.js":{"checkedAt":1708001724969,"integrity":"sha512-itPH1Fxn1ptqPcGXfelYtaX32h3qs2ikDntf3nknHvP/blKTBc855SucyNmw7mU7oYBjfHxOPjnIiETV0vhDQw==","mode":420,"size":1699},"data/regions/AW.js":{"checkedAt":1708001724969,"integrity":"sha512-sy2ptXJkgVGgr5vnh3+lGP83UhU7KQYBfETGew9lmi1V51m4Nb+wALxU93ATGmJLtF9ZdMiH9rehsY+aX/zE8w==","mode":420,"size":3583},"data/regions/AX.js":{"checkedAt":1708001724969,"integrity":"sha512-b5ORuChpBQM3XtD6UN9AGx8leisgSQJVd8toya9Dqll7uD2p2CCo/yndyvOnSLX+jJAsauesTJh1q8VCb36Nww==","mode":420,"size":3326},"data/regions/AZ.js":{"checkedAt":1708001724969,"integrity":"sha512-VSn/DsSxTQjgmHzKwhE2NLUd6C6wOXcstG91MLU8BHhc9uiLdhdomhMJH1NMCTEU1FfKYfgyc52f9nvuS3HJNg==","mode":420,"size":4274},"data/regions/BA.js":{"checkedAt":1708001724970,"integrity":"sha512-F3BIOTxdLfVK49cp7RoZLi6SAjWNCECMyY23hVdBfy1/gp8h5iJcYiexDVQo2sfEbgyDwCnVSewKfPf4EmmyfQ==","mode":420,"size":4150},"data/features/background-attachment.js":{"checkedAt":1708001724970,"integrity":"sha512-QKSiUTVQxZwHE2eDBopdiZR0VG14twPsSwJvTyGjaC3NEK+YhzfvKD5FDjo/ttct5fjn+DMu3xKTk/hfR58DBQ==","mode":420,"size":1684},"data/features/background-clip-text.js":{"checkedAt":1708001724970,"integrity":"sha512-gCwA8HznuIXiwgoAJFQ8hypp/KGPiDjVdaEUfXDUw+/h38wglPaC6u4MTccpH/SDuMtUiaYlQcLpyeXefFvLJg==","mode":420,"size":1738},"data/features/background-img-opts.js":{"checkedAt":1708001724970,"integrity":"sha512-6Y8Fo8bWQQwiMzfBFoz8jSSwBsw7/B7t4sszUMYjHNqjW8FyElatGPA3eD2moblotu2mS/Q9gjMnS8hMrRis3g==","mode":420,"size":1690},"data/features/background-position-x-y.js":{"checkedAt":1708001724970,"integrity":"sha512-rKcrdf+GbNoa5jlahihUfHntbvHHy5DAIn4Uxp89pH6w6OpZMpaGvIue46tq6Lf7uM/GImnetOPe4nxhhEzQMA==","mode":420,"size":1643},"data/features/background-repeat-round-space.js":{"checkedAt":1708001724970,"integrity":"sha512-j8XoSYTUsz7jAegNLGhXwOBnuW2j7ua/ZknjuvMQaADWSKQ5s9q+85lV1nbgR9tgGJvi5V54ktvtGkrqHM+3EA==","mode":420,"size":1679},"data/features/background-sync.js":{"checkedAt":1708001724971,"integrity":"sha512-SYy9Gc9wCxepGrAJ/qmSw5mTdgcIH9wZJxH4AMgb5mVpXc+Tsma7t2j4No5cd1n4L5sfOmJ9w5avZ78xzzXDGA==","mode":420,"size":1636},"data/features/battery-status.js":{"checkedAt":1708001724971,"integrity":"sha512-ZM1Zj+1+38a4AQsDp8Ug8IKn3MKx+Ce10eA7JFmP8WF8kcTvjhkHJR9ZeOUofq2Dyn1DVIORqIWVLzji8e+8mA==","mode":420,"size":1657},"data/regions/BB.js":{"checkedAt":1708001724971,"integrity":"sha512-bBv5I9zuUF8BNzjkVSCx9i+QQXqTpy/wuFiRGgT8LEuvXijCvN+SIf04LO4e1NWjgZuWmg2etKLl0rX/Qcxxyg==","mode":420,"size":3639},"data/regions/BD.js":{"checkedAt":1708001724971,"integrity":"sha512-gGGQME1aZYJTGym96RfK1BxyK6quROSz+WYeHW37Imj7MWnolDUWP2IyVHLGPcvhq0rO7tMDzE0wCmy+/Onauw==","mode":420,"size":4529},"data/regions/BE.js":{"checkedAt":1708001724971,"integrity":"sha512-Av/ql3H1xigNgRFH3C8lzN/tN5M6UwBA9mpJZOZWqz1TNG1fzEMTe4PHtPeBkq4TqX5CiqyHo20WUj3AOlvp7w==","mode":420,"size":3865},"data/features/beacon.js":{"checkedAt":1708001724971,"integrity":"sha512-YIarYaVAun2sYoNzBzsqJ5Zh3kKcu3/hqUkTkumLk2s8Mrtf0lJiAIgRLzCKNdifJYHx45d56BqNkJVQ0fjl7w==","mode":420,"size":1632},"data/features/beforeafterprint.js":{"checkedAt":1708001724972,"integrity":"sha512-RVGwTUlt6MJkaZ6MPtzq/deZquSxkF7f8ucCw8kf07Oqho94JXUkQux/aqO5Aomzg3X4TFjp32M8U9OT6AvUMw==","mode":420,"size":1641},"data/regions/BF.js":{"checkedAt":1708001724972,"integrity":"sha512-Ix9B9Fti5kXdkmBCMLdmaLmYlRnhs+BLZElBbBRdE6lyAuiDoAFVp/GsK7tmGsATJQ+x75WdODEGJqem8pIVPg==","mode":420,"size":4012},"data/regions/BG.js":{"checkedAt":1708001724972,"integrity":"sha512-x04qcdnCvl1OQilZNQ6ynsi+M7LZwsNVAgkyAnaYQpWkQ9nDXdPLO9LMUOnRY/aRLtwaKLWRzsic4t/tpK+V1g==","mode":420,"size":4423},"data/regions/BH.js":{"checkedAt":1708001724972,"integrity":"sha512-nWfg50mvSFtgJAy1k1B5olJFT7sNxzvlrhynvOrKh2Aprt6mbxG3L3JcRkTAUWZNuPNY9UPB4mx1UmijAzDBpQ==","mode":420,"size":3962},"data/regions/BI.js":{"checkedAt":1708001724972,"integrity":"sha512-CeJOH3hALxOiB+fFF2opV2t6q3hwNQ+LP4gQ9DTfj6XX/7nHu8vPabAjyC1ytW0sZLv+wMtByC7eF0SHjFNR4g==","mode":420,"size":3942},"data/features/bigint.js":{"checkedAt":1708001724972,"integrity":"sha512-6253qruOK3/NuqFvJ1QAne+iJvHRIpVgHkeWbEZeuUJ2Kmsj4jW9bJA1d+l8v2oF9Gn/VUX7fkTuklh/5Mh0lg==","mode":420,"size":1648},"data/regions/BJ.js":{"checkedAt":1708001724973,"integrity":"sha512-lfUYJ8YsMs+UFsOjzo3UsUyzNPqEmLQ1LjMvZI4qXl7YZ0GR23EGKhOJRTPe5n5GoHKvVVjVu6nzuIgjkgcXhg==","mode":420,"size":4204},"data/features/blobbuilder.js":{"checkedAt":1708001724987,"integrity":"sha512-24etxwribMu+uar74U3I9EkagJclHJ7mPjPkXtvCD4CZEXdunVidDayC7+WWPvYsxDsMRgBjJ28rVqjXnxHGIA==","mode":420,"size":1666},"data/features/bloburls.js":{"checkedAt":1708001724987,"integrity":"sha512-lk0b2XUk27UaEvxc6fvd16Vy4rXRWeIcSezNTYOnf7emyiYWbxOiarQFvo5+ToY5qcB6QdZ9wsrKbib1PJp2yw==","mode":420,"size":1681},"data/regions/BM.js":{"checkedAt":1708001724987,"integrity":"sha512-fgcV/iHHB1MSAbLb7vD51WP5hNZ2BqPjujQitFoo+gO6nZt6hz/+BploN1kuvksCSs/QYu1kHglo5wc5MVAFtw==","mode":420,"size":2916},"data/regions/BN.js":{"checkedAt":1708001724987,"integrity":"sha512-zRtm8ok4gf07j/N/puKi+T8nS/hzPgd9kU8c4YNA1l/ujBK36jJW8lRMmND+TpujxFspwNh7Kst7na+kNDo9JQ==","mode":420,"size":4149},"data/regions/BO.js":{"checkedAt":1708001724987,"integrity":"sha512-cpAiPnfbvvX/FQNuzEmSRqQ6AyT+wFNQkpawnUfYdpEccZgRHdg+EQ0SczyjMYH09DYS6k4Y+GOHQqy7y390UA==","mode":420,"size":4197},"data/features/border-image.js":{"checkedAt":1708001724988,"integrity":"sha512-7jlaaKEeWnu9oqnyxAOyWmc/acXCgyq1Eg8CaXPaiOD3IWSyiz/V/juTzx4YvJeAAIwyc0Ebl8PXDm/vP7zLww==","mode":420,"size":1831},"data/features/border-radius.js":{"checkedAt":1708001724989,"integrity":"sha512-YmWk2G0KjRps7y2sembhYETkcV+0klGH8k4Qyr1hDZR57hHdeOoPLCnjohjTmHPvipez7PSC7Y9oEwguEQtUVA==","mode":420,"size":1696},"data/regions/BR.js":{"checkedAt":1708001724996,"integrity":"sha512-c535UaFpIV7mSPEqCqn1zeF0IkNXqSSJD4yJqTnTHukcqybzvLTvfjUruBe1/xQVvoCaqr3TXelWBXmQpvG60A==","mode":420,"size":4196},"data/features/broadcastchannel.js":{"checkedAt":1708001724997,"integrity":"sha512-SAKPVPHhsVTl72K9W3cGt+HDykUVJrctD/1R0uCEomGj5K+j1vwUhaNqaTEJXbbScqrGv7X/SBE/Xh2ShNJ4KQ==","mode":420,"size":1644},"data/features/brotli.js":{"checkedAt":1708001724998,"integrity":"sha512-hIZqL0ywI2qyid4i5oDvhTrAx4SyKiMHZJ2tnH1JW5DJiTS+Xs5kggV2x4XvD+rtEAESAEzBe7tX+LboNBV3Mg==","mode":420,"size":1699},"data/browsers.js":{"checkedAt":1708001724998,"integrity":"sha512-88tr4oNP7ESgDvhBG7+2WyKnFqAcD8kvrBRPjAyagt1uFjZxnG15FBsE79hfi7WFBidD4cqOh5DzwH9CoHv7Yw==","mode":420,"size":220},"dist/unpacker/browsers.js":{"checkedAt":1708001724998,"integrity":"sha512-LkSn8RfaRt/Cfn4DzIjsBsEzJb1Z4s4eZ6WN7Cx2f8EGpuAHSX+O9w69FKNwJLxgP8/52rJYMdahbgvo5qV3Pg==","mode":420,"size":57},"data/browserVersions.js":{"checkedAt":1708001724998,"integrity":"sha512-gFd0FFATs51inGtuhxWzhcrnGlgmAQgl+wtfMNfkHy965BSmTleYYnaS/YkkSVhHu9iAjyF+nsmGr+gSe00Cxw==","mode":420,"size":1954},"dist/unpacker/browserVersions.js":{"checkedAt":1708001724998,"integrity":"sha512-DaK1cC5hr/RtxKWEQEUmasJPf26NU+ge2SJNudCJHQCgwdh36yVID3Q554a41VvUYkcpxx/emIPJhlTEoJFdZA==","mode":420,"size":71},"data/regions/BS.js":{"checkedAt":1708001724998,"integrity":"sha512-ma0eCIX6v0yRMIC42a5cJhot/CKf8psFPgaJOVuV7/sGdIVJhik0ecLKWse4nxmCTUPaYlMoTyZsu6r5QYik1w==","mode":420,"size":3714},"data/regions/BT.js":{"checkedAt":1708001724998,"integrity":"sha512-d1Hgitj8lSy+xQd6AGwBinODUZiNQFAUc8GKKiJ5IrFvpf/q3m5xrrauO2B24/MgTT7ebpWG+gY5yCo0VwDAqg==","mode":420,"size":4490},"data/regions/BW.js":{"checkedAt":1708001724999,"integrity":"sha512-UjagziIznDyjMMiLOmmBu745WKtTMaKtQm21tjhmg+xGaxLYKTjuUIhqF4NdY5MfqbU0X7MoL7Ta3i36qW049Q==","mode":420,"size":4115},"data/regions/BY.js":{"checkedAt":1708001724999,"integrity":"sha512-csL8zHQ1ztl9LvN1MWQ3zgfUWQfxUnisuGSE1EY20eeRG/UIr7+8v9u3ey4lgVxhLo8IBQqNuSIy8zVA5s+X5w==","mode":420,"size":4215},"data/regions/BZ.js":{"checkedAt":1708001724999,"integrity":"sha512-F35hg8mX6GNFAtics6E/LhzHctFzYOlJO7TByaseoelIjT/e3sQL/e/uFsadilcYPYExPyzwmLmN8eUnve5B1A==","mode":420,"size":4273},"data/regions/CA.js":{"checkedAt":1708001724999,"integrity":"sha512-rjoYR9cp5NXetZw0H862e14vKFOJFocGzUOYz0ergx8Bqyiw+ZrbuQNautk9U9o89LP0U70YfhcWQdfDntM4og==","mode":420,"size":4235},"data/features/calc.js":{"checkedAt":1708001724999,"integrity":"sha512-BJBUN/Azbz3FZqD6VVjEbKmxpdzlUCOFBtqfPei1DDEdrzR4ZeF6EaVAW3e1WYozaRdlGEa810x1S8f5l2qssg==","mode":420,"size":1698},"data/features/canvas-blending.js":{"checkedAt":1708001724999,"integrity":"sha512-YnI5RiEurf0aIVM5xXHC/9hqtivu2OXGgP5eucYcafg+4uBGGAvnyT9oe1qCuhOELcBnBIodTXacEBAPZMlDmw==","mode":420,"size":1640},"data/features/canvas-text.js":{"checkedAt":1708001725000,"integrity":"sha512-nAf+5dSBVxYRZfPN+1yV137vbjYJDyDFYihbPjBrQsZsOST2PYxutpF8tGZEooiBnUIizhyT0fHzy2DT/J57jQ==","mode":420,"size":1629},"data/features/canvas.js":{"checkedAt":1708001725000,"integrity":"sha512-kXrsgUCdeP69aKGguJXEYX6YzxfQtsxmFgZZhwrhM1gjO1rPH11hC4x0Q5t8ZDChrzbQy5oOEbyVV8aCzc2lTw==","mode":420,"size":1634},"data/regions/CD.js":{"checkedAt":1708001725000,"integrity":"sha512-KFP8Cwd2FEbUfoMFWprEJAafJHJu7whsJXQeG3V5Fk1gzH9LkV5f7vECN27PMP8rD7KnastyJqj1jQvfjiIkJQ==","mode":420,"size":3948},"data/regions/CF.js":{"checkedAt":1708001725000,"integrity":"sha512-fnQ3Y0tKiRf/m2xTgFcRd+fpPbPY0EJ8pIm8YTe2Wk4yDd4j/swt5pNKZYFX+SFfO48x1p+O4k766otSSBHy3w==","mode":420,"size":3480},"data/regions/CG.js":{"checkedAt":1708001725000,"integrity":"sha512-XI3SNAmPxX1Fwu82G0jiH1Zz4tk15TROKdkR1gdhDLfdyGLAyKWdz0xIHqa6xDhe8OHo+2OYkxoGHS6AR7Upyw==","mode":420,"size":3366},"data/features/ch-unit.js":{"checkedAt":1708001725000,"integrity":"sha512-tNkC5+svoyX0PZIgf1sciwudEmWAICHKtm/zxJFs0P0G3hnmaPxBsxU7KqM95wRGNlqwCUTtvO4LwBqPOH+mFw==","mode":420,"size":1643},"data/regions/CH.js":{"checkedAt":1708001725001,"integrity":"sha512-eu7P1jjxUNEBI44/41JGasjo/Gs/SDZ9mYiCFrIeAbY3lb0kDIPdxXsFKIQL5xQXvS/nhqxfMSQ4hZi7F7TN7A==","mode":420,"size":3858},"data/features/chacha20-poly1305.js":{"checkedAt":1708001725001,"integrity":"sha512-jHllKvsGd5PRNJTKD8HAwLB7zoD5RE5Aqe4t8nAWHhsrl9pv6mM0PoEk48xPNwbE721d1NTB5R029uoJ5qWYZQ==","mode":420,"size":1676},"data/features/channel-messaging.js":{"checkedAt":1708001725001,"integrity":"sha512-GROiVf83QcJO6I5/oicAC7at1euYnbPOnO8kXpVuD272JxugGpFPY1nrtnQ/vjnpm6vfdlCQYfYtZjSWfvvJXQ==","mode":420,"size":1648},"data/features/childnode-remove.js":{"checkedAt":1708001725001,"integrity":"sha512-cZU7J8wpBWxY7njkHoEBkU+owhNE7k3wyM+jad17Bc7tn3zd2obDXnQfog+VHu7KiTMKEtpx3FrN8jYl/OBORg==","mode":420,"size":1654},"data/regions/CI.js":{"checkedAt":1708001725001,"integrity":"sha512-ow+C2fgTXOegUe3S++NDbC/wGdKYovuVXN4b0R6libs2ga4aLG1PO5rzoDXdTbaQmukV39Wov6kQkhJwHV2ArQ==","mode":420,"size":4147},"data/regions/CK.js":{"checkedAt":1708001725001,"integrity":"sha512-+S1zOlS9+/8IsD265s0oiBORZK2EdllXuABFM1sD86JgW/6CMFNpNecGKJd+wql5zdK2Ft3acBR+dlYhDWZ7mQ==","mode":420,"size":3217},"data/regions/CL.js":{"checkedAt":1708001725001,"integrity":"sha512-sQfXO+ohJB0BgSqCk3MaTCg9vnfIJP6NhP9GETHi2Lx6eFpTLJ+ThI+YSQ83pBLDMJeIBOIjFLACxBuY9z3OmQ==","mode":420,"size":3725},"data/features/classlist.js":{"checkedAt":1708001725002,"integrity":"sha512-bVjC1Xk6JnkngjAt82g2foRVwMk/LuDURGg+20odUEpsIQvbl/TNxkAUM0Hsax2hJ9I4UShYjbyyH5SnXi6A/w==","mode":420,"size":1741},"data/features/client-hints-dpr-width-viewport.js":{"checkedAt":1708001725002,"integrity":"sha512-TKvQiNC/c03t13YTM9S/5uW/5XxgKIeLcj5louPNLAOwYrPRifTT+l1RIb02sF4C4jzCcvbdNNObUQYxPeo3kQ==","mode":420,"size":1650},"data/features/clipboard.js":{"checkedAt":1708001725002,"integrity":"sha512-HiLVq7gf3MlO5c8bS4QzXeYqqNhkC5cICSuPCDkBG5s2il2DcZFW42phuSLZfsLNj7pz5LjBZ6uxhkxRMVxYTA==","mode":420,"size":1831},"data/regions/CM.js":{"checkedAt":1708001725002,"integrity":"sha512-SznMosVVTAp2ajZLRczOWQoQd7MZPbco4b9RZLGikZQVizfUc7VIphIJpEiZQ1M26wCMTh2rReSW08GzQbAIyw==","mode":420,"size":4510},"data/regions/CN.js":{"checkedAt":1708001725002,"integrity":"sha512-twDZiDTjMwJFaPXbplUQ8iW61pZlzfkezfiAMW92SeTuAChCqqCPzF4MZ1tycsP4CnAF3S9bvWNB1spYzJoHww==","mode":420,"size":4358},"data/regions/CO.js":{"checkedAt":1708001725002,"integrity":"sha512-KTk3pO1+bUEsodshtyze/Snfd6XznePOPzNw/sOBX32NI5CnCA/S7DStscqoK9FUUryFpDAxzWVdK5Q/tJvqlQ==","mode":420,"size":4050},"data/features/colr-v1.js":{"checkedAt":1708001725002,"integrity":"sha512-27dSVbAkPJu/D07M2T9NxCLM6bnNO4vKLhE2HOsfTzEtLkgDVYpT4NXWwRqP8kYC/BpWagDGAuRuRZMaEPZV7w==","mode":420,"size":1668},"data/features/colr.js":{"checkedAt":1708001725003,"integrity":"sha512-bFiHnfvWjprzD9hUaqhMLu6yfa/fCcnV2nirLcE5SfLh8E38eYN0/HOUXUdV7r8h+OE/rrOKGg+ngmaOemOJTA==","mode":420,"size":1702},"data/features/comparedocumentposition.js":{"checkedAt":1708001725003,"integrity":"sha512-JfpA4NENSK/pCHy4EaUwzwM56oeozjC4CE54ClT2mcAU91wbwGD9Q0rjNpR5YHBluW3iBYl5KJJVmfrb3FK6zQ==","mode":420,"size":1709},"data/features/console-basic.js":{"checkedAt":1708001725003,"integrity":"sha512-FaixXKhM75ITtmxFpKrA+aCwbYHBfaJ2+Zrviow5xt4+vhGrlw0kdHVz4Xnpsx7EEv5jlYLW/0YUni7ncZc7pQ==","mode":420,"size":1680},"data/features/console-time.js":{"checkedAt":1708001725003,"integrity":"sha512-rSosZWBelnYv0xmk6Ls4OPAjXoAKl1j4EJAu9VkvBXj7Au42niO8B9cJ/uBvefpqccyk0RYLM5xsRmW3XQjOrg==","mode":420,"size":1650},"data/features/const.js":{"checkedAt":1708001725003,"integrity":"sha512-YTtXEyCUp9hVJF3poNly+TxNUOZU5wKbaqpG0RXwQw3rZN3jlt+YXD9ODRMl/vLYf1Hx2+qHfX4ZYmvajp1jSA==","mode":420,"size":1758},"data/features/constraint-validation.js":{"checkedAt":1708001725003,"integrity":"sha512-OjsGcoormzqRWsB2Y0PO7nZfGoJv9MVMS2DztjqMA2nLnVqQXSmkA0PDPAPE1hIzC/aNYrQqibOJTsr+3h+tDA==","mode":420,"size":1802},"data/features/contenteditable.js":{"checkedAt":1708001725003,"integrity":"sha512-PFBd/uDtTGG5DdwvgdAh4vZdmF+bYdddQ92kW/8GmLjFnvGuGk5BPE4TYyTyP8tX5VyKPdB70h5zpQCj5mEEPg==","mode":420,"size":1645},"data/features/contentsecuritypolicy.js":{"checkedAt":1708001725004,"integrity":"sha512-GsYbSA6iKYFBNW0Om6ENkOHasi0WPYkObNXhNktcvGGdD/n59YI7SscYFYf9C1zrI+Rju/KsT9k/qMaEJYv2Fw==","mode":420,"size":1709},"data/features/contentsecuritypolicy2.js":{"checkedAt":1708001725004,"integrity":"sha512-TKvFJYlq/kjLAFq+xDWCwAtm4R/FLJ6EiZBXGTneFckmlhoEaGVon4lYbe0ml35W9hsBTHnw0Eu526156QJ1EQ==","mode":420,"size":1722},"data/features/cookie-store-api.js":{"checkedAt":1708001725004,"integrity":"sha512-27UQstx4C70QR2L9mMtWAlKuZEdpGDYrxJMSiLkBDpDoYeNmpiZvtAE1JQ/w/P5HhSAq02RDTM6NurNLckT2Nw==","mode":420,"size":1650},"data/features/cors.js":{"checkedAt":1708001725004,"integrity":"sha512-FTwKgmyK5Md5TTS6fXdaEDG0CzpTpRqqOJ52ttVKYPWlWB/bopQiJtF9frg1zma/UlfGYiqepIpI4cH7hzQZqA==","mode":420,"size":1710},"data/regions/CR.js":{"checkedAt":1708001725004,"integrity":"sha512-DUTYJv5rG0sIFv/LTGlbM3tJ84vzpq7MIh4TgPbEC5SDosxdXNikrl5vbKl96Gxs+vQPtmRXF6HKb5uNfNY3QQ==","mode":420,"size":3769},"data/features/createimagebitmap.js":{"checkedAt":1708001725004,"integrity":"sha512-c3FrrTMx5S4agt5SoDRiv3Gssrm5O3Wk4bfxsg0D0Maxf3esiH/EeVkrpu85utUN20Qoxh+dsi5Jy6rbXsb4DA==","mode":420,"size":1727},"data/features/credential-management.js":{"checkedAt":1708001725004,"integrity":"sha512-59mh2EllXSezUzIriHXB81+VhI3S67235vdotOy8NkVLdj0JnTMgzjYbuxQttM07N8qBiUtO4AMMjPujwTM5Gg==","mode":420,"size":1656},"data/features/cryptography.js":{"checkedAt":1708001725005,"integrity":"sha512-olrKpqD9wlkyo61Y4+FE7Apq3vI3ReRJoBFV/0RlwIIMln5Ke0CzTHZ1f0qPjPdirOX3kKyHuJ/qKmt1J7ZO7A==","mode":420,"size":1685},"data/features/css-all.js":{"checkedAt":1708001725005,"integrity":"sha512-pZxrpPAtSKGx3Fhs7kaialER4MQxrnsh7IpxFuCFpT5TLHGRDCCggj5+CrinfoN7LE/LQgJpG1XqqKM6iL5D6Q==","mode":420,"size":1638},"data/features/css-anchor-positioning.js":{"checkedAt":1708001725005,"integrity":"sha512-xs91ZHnjAJ0u8ZuIPjLX7qDmfVMklnSNRgDyKV7mhfeBzZOae5Yo9oVBBYLn5Gtdp0qhBpI3bqztkuFmAV3Xug==","mode":420,"size":1605},"data/features/css-animation.js":{"checkedAt":1708001725005,"integrity":"sha512-eXEsutrlFRXsYzywixMaGVqGDgOaNuwK50VJN2Q6p1Bne2GszZQ8I3zLpGihq7dE12mNgL/ReonJo+uzanwyfQ==","mode":420,"size":1684},"data/features/css-any-link.js":{"checkedAt":1708001725005,"integrity":"sha512-YgnB+dqW9SHchHIm/9EqHmVPbz53D9JuTd5QpQzsoyn/tmhlLUhnvXbK1FaKLMy3zONI+3mupTDL77T/hxrkhA==","mode":420,"size":1713},"data/features/css-appearance.js":{"checkedAt":1708001725005,"integrity":"sha512-PUk6gWN1rrOv7MGAV++Q8HA7s3cOsTr1/4l37jix+mAMIM5xrIELG59dMfUIEv/buDSgkC5AW5a7cC/QMgr/8Q==","mode":420,"size":1715},"data/features/css-at-counter-style.js":{"checkedAt":1708001725005,"integrity":"sha512-H2M/NbXf89/Q0Ggg1eq730nkozaVUqHcfobf9PfeU49GDCJP91Pr4+meHr+gaziDSWfdiCMHAXldNscyFd0Jnw==","mode":420,"size":1668},"data/features/css-autofill.js":{"checkedAt":1708001725005,"integrity":"sha512-ON1wcHJoW+7lkvbWwJ7XoC/IXAeZ58PcyOA/ycDAUHY3B1R/uxEA4tSacxGpMG+1yAOazF4qV2ilaO1zzZzyPQ==","mode":420,"size":1595},"data/features/css-backdrop-filter.js":{"checkedAt":1708001725006,"integrity":"sha512-c+Q/MKgbCqUj6dpKc/GspDLslUioIjmL/Gqxw8D3fwHetG7oL6Jb8xuIlXfKrYGsLOuPABQoCe0KWKDyPH2o2g==","mode":420,"size":1689},"data/features/css-background-offsets.js":{"checkedAt":1708001725006,"integrity":"sha512-YPT4ec6WKqq/ZQRQFez9gs4+F2nREgQfUj4QyfVAmLdK1nfLdwYGCmG9luZ0rxlUhRr211Uce9D94c/du3zqow==","mode":420,"size":1664},"data/features/css-backgroundblendmode.js":{"checkedAt":1708001725006,"integrity":"sha512-T9m1+lpLVCmlweN1SgmYbKY4w8sVQ5Kgis23rENhynDFI3qBPG9Zrm2+x+25Yjl1f7F5yE6IvGcxz/FW+iskwg==","mode":420,"size":1679},"data/features/css-boxdecorationbreak.js":{"checkedAt":1708001725006,"integrity":"sha512-VabNrhBrEieKGFYww9AVg5CF5buu+sDs97ZbKn+dCvRK8BIqIOhQTL+xABOjBUORtzWEsm0mLlwIOywHbaaqoQ==","mode":420,"size":1696},"data/features/css-boxshadow.js":{"checkedAt":1708001725006,"integrity":"sha512-LhzByH8FusqVwnOyysYzqDovCRWTRNK75yk+R0MLzTh3S7v0V2QeaS4P4DemyD7D+zwbvErUIF8BhZVX9BdQdQ==","mode":420,"size":1672},"data/features/css-canvas.js":{"checkedAt":1708001725006,"integrity":"sha512-nY3NDeNNp/uyrbNkZLhdfc5gU3LlaKYKgTZhvdFAT6jgxZqtkSbLcKH1SXSHti8xsbItxAJ00tOM1eFvxphz5A==","mode":420,"size":1630},"data/features/css-caret-color.js":{"checkedAt":1708001725006,"integrity":"sha512-98BNkro7pwo9KBwXjhfpKNxvl9UfvsT2egab3Ndhu+Acl+cAhR0z5Y0No4/U6nIHhsr8YEBUpLxgb5htacve6A==","mode":420,"size":1649},"data/features/css-cascade-layers.js":{"checkedAt":1708001725007,"integrity":"sha512-0ze+p1l1SwBpM08TLT2vwjQMfIXRqicshjLWPJhr/3O/D7geh4/9Uj37NBayIQHDLGe0EUHKTBj2WliGg6cgkA==","mode":420,"size":1670},"data/features/css-cascade-scope.js":{"checkedAt":1708001725007,"integrity":"sha512-tCAlFpJThYknsgm0mSpUie4m4i0HaIL8RDTXedG/QNHfLhPrFIYy3TQtbAYccvXJLDOzQOTq9xPsEVP2HlKeYA==","mode":420,"size":1658},"data/features/css-case-insensitive.js":{"checkedAt":1708001725007,"integrity":"sha512-bv0IdYk2r6duRdJhWwYxGdwb+j/kdTXBO2tayCs8S+15uYF+oBrlXdPC6HwoMfSuaA4lf+vgcuJKZhoA7DOJoQ==","mode":420,"size":1668},"data/features/css-clip-path.js":{"checkedAt":1708001725007,"integrity":"sha512-XHadcor2b7uaqEdurQu1mXsuV8JcEnf8G6rBNafMOmmsVuuGDcYQ8jlT9URcRylIH4PTVVzqDV4atdA4U3mKwA==","mode":420,"size":1752},"data/features/css-color-adjust.js":{"checkedAt":1708001725007,"integrity":"sha512-aYE6C+7d7HCCFPsny9MPU4N84BerCoEqnHky6ylU77UYidAnR31sCWvCjnYulfYw4B7wsCQj4iPftgHp0+GVkw==","mode":420,"size":1666},"data/features/css-color-function.js":{"checkedAt":1708001725007,"integrity":"sha512-zkuZnfuJpnkv2f+4QvPTwUC31saVrHVIF5mIdXHQVsmKEuGC7llZEm0PxnghRE4YOTGLcKsWOgI24yzp91Velg==","mode":420,"size":1690},"data/features/css-conic-gradients.js":{"checkedAt":1708001725007,"integrity":"sha512-Lt964qinUKe/TVHHRwOjR8HctXylOAhn7yFe8bKzJrMU3+zfLTbYRHBnnr393W8zp+ELdEQTvKh8iiVOHiZxfg==","mode":420,"size":1695},"data/features/css-container-queries-style.js":{"checkedAt":1708001725008,"integrity":"sha512-JWUIhfLvfdz3ZcalqTUorsjG5FhgE1yONhN5MOI0INq44sqVtc9SQfDb/lV9VP3ZU6kGiKz6LVCgFEyRZHXRbQ==","mode":420,"size":1675},"data/features/css-container-queries.js":{"checkedAt":1708001725008,"integrity":"sha512-j6w2cj0wHcKGXIt1V/8btHjLR5hT4nZio7xUlvINZNdDu0dLqi3iY1PFRmSqxC6WAVu7ekgpS+HveMO1A9pepA==","mode":420,"size":1704},"data/features/css-container-query-units.js":{"checkedAt":1708001725008,"integrity":"sha512-m6crDQ1Cvyx+XbN53FwbdZXv9yc8CooGKO0wsndydaoL9blKcdmlxN5C64E4bUugZCtEncpe+BtWBbq+6VzNXA==","mode":420,"size":1677},"data/features/css-containment.js":{"checkedAt":1708001725008,"integrity":"sha512-D78BRtrQdXbJTzUxS3pUlzl1OMkGlXFCLzXwIAMZY+PRmg1+35wjG8kPstTz1C/rrPriBuIjuw9o1DlA/wcgUw==","mode":420,"size":1673},"data/features/css-content-visibility.js":{"checkedAt":1708001725008,"integrity":"sha512-DhM9sSQ/ugZdtjpdwo7HPHHkbuG5dFcvoKS2bL3+FZOTrWkwVozY62lE6PY+xb5yop0BldjNtqakeUP/dn2Hbg==","mode":420,"size":1652},"data/features/css-counters.js":{"checkedAt":1708001725008,"integrity":"sha512-NSoPMDIAh1gLqA+xRjp6SCfBbfJrGAlJLSXE95lPNmo62LwxBb4jNmjw3ZBGrA8ikAWpK3c9th2I3QaETcUhbg==","mode":420,"size":1592},"data/features/css-crisp-edges.js":{"checkedAt":1708001725008,"integrity":"sha512-Yp2IzI/0ChXhQRLJoDdchsI8nDPPfkV+redFl5UO0MAspXQBQ2HCO7mfPKbIxK4oooD0RQkzNWRAgiChV/v1dw==","mode":420,"size":1777},"data/features/css-cross-fade.js":{"checkedAt":1708001725009,"integrity":"sha512-vmnRr3eclby0Wl4y6DamjKE2Wk516GQ8deCeU622b+xHqi0rv7xwHMn8nbZDuO4tQe5Sx+nZKJqBZ2RfsUPSqA==","mode":420,"size":1663},"data/features/css-default-pseudo.js":{"checkedAt":1708001725009,"integrity":"sha512-hRAK2fCTGXdIbjtAEug1sFbe/prH7HZza2NtFqKb7rAnq8XGsEKI+bknQdUXq9HN7TZSp0uCbpoGpKJGfzXX2w==","mode":420,"size":1729},"data/features/css-descendant-gtgt.js":{"checkedAt":1708001725009,"integrity":"sha512-PGcujU1uaxORyOymvwTBtDBlrXG+Ontr2KuC1TMy0FJKEN2bszXIihy8vvJAFhNNelObizSTg0RJaWYYYq0Tfg==","mode":420,"size":1620},"data/features/css-deviceadaptation.js":{"checkedAt":1708001725009,"integrity":"sha512-J/BSbvoNnB5slCXmIAGoKFxEkK08PmovfL/Col/HDywzYJkT+vhmYdnTfIJ8hYRGzd8j9RmhHBQqEcSZyMgPbw==","mode":420,"size":1639},"data/features/css-dir-pseudo.js":{"checkedAt":1708001725009,"integrity":"sha512-xQE/GzAInW/09tqyBkSS1nrxaptIXPevjpSL4OWXpeQu/yoXKlIOnGb2C/zlF44fm2TxLPvJDT4ptVLx6C8rmw==","mode":420,"size":1677},"data/features/css-display-contents.js":{"checkedAt":1708001725009,"integrity":"sha512-Hdt3jJnFc3phIuclHBQh2wQfCsSNUcb1KonxbUAutAXBVALq+Jq+KqSpM89EYDZLZ4ueB207gGf1rYBAUIDWJg==","mode":420,"size":1781},"data/features/css-element-function.js":{"checkedAt":1708001725009,"integrity":"sha512-4/iCXiU7M1Rn2QfWGq+0Ya4sTHOtlJ5LvN/zWQfxyVwPbnz29t/P4SayGuoFrVPteSZBrYHsD9rGcI65izeMrQ==","mode":420,"size":1607},"data/features/css-env-function.js":{"checkedAt":1708001725009,"integrity":"sha512-27WIWNoXL+3+LTOQXxikBFPcgvRC8SsFRSKYZprstzN8fJwiqUZSdrNsQB26CmzaeajObOAxoNZvAGp01IKu0g==","mode":420,"size":1681},"data/features/css-exclusions.js":{"checkedAt":1708001725009,"integrity":"sha512-v7E7/FikvvYdNZ0GaFB+F0a6c8toag9UhL5eAmMH58SyrgxKAj5WonSwZd7W/hyHrAuDOJcAlq5rUks0iup4HA==","mode":420,"size":1611},"data/features/css-featurequeries.js":{"checkedAt":1708001725010,"integrity":"sha512-Uy0dqTcpG6U/NJ7V12tRMu7Whk8n4t4/Sw89Urcge48+Hbusq15gmb4Ou1+uF7NUMOnywR7jNMAY3+QEy4bzBw==","mode":420,"size":1635},"data/features/css-file-selector-button.js":{"checkedAt":1708001725010,"integrity":"sha512-AEbE6YkZL4o0wMPqZEbgzj7lZuxErA3arOuowExj/QNhEgQm/ud4HXOBdzHRQSXq7rDYGOPRDIojIDePetNQ6A==","mode":420,"size":1610},"data/features/css-filter-function.js":{"checkedAt":1708001725010,"integrity":"sha512-0byXmU+PDFXD1KJp5NrPYoWqnDZ1ICGQXULxwXWJkgVz1o+zX0RsTlHDnG/P8KL5wYtLoQ1TKwijwZbAG3sO2g==","mode":420,"size":1621},"data/features/css-filters.js":{"checkedAt":1708001725010,"integrity":"sha512-AvG3BIhHivlLwwNc4Ysr6O0JqCvKfw7/qvbhknJe8zLyAoPoGPvOh2MqppaUCoVhYiIiepq+p0LNQecf1LHQyg==","mode":420,"size":1717},"data/features/css-first-letter.js":{"checkedAt":1708001725010,"integrity":"sha512-ONCPZnbMSYC2JC6jO+bjCO0b68b9CaXfe7Xrs2j7ntnFfjx3koPpNRjN+sgblygw0tDOcSbn49k+ntpz79ChSA==","mode":420,"size":1731},"data/features/css-first-line.js":{"checkedAt":1708001725011,"integrity":"sha512-7XFdU9tb8CCuu8d2j35NCHMQrH9FyXaZzh8JSor5It81h8yqNH0G2uBPSRmm08opYzeI+DZTOj6aigh409hacw==","mode":420,"size":1611},"data/features/css-fixed.js":{"checkedAt":1708001725011,"integrity":"sha512-0s4WGWFjXF7D1j/D8uWawplnIzl9+O5qm8OjVmwRx9ltKt2j8gO8+DhK7jBJUU/M2ryBhBINWVVXnjywzeeoHA==","mode":420,"size":1643},"data/features/css-focus-visible.js":{"checkedAt":1708001725011,"integrity":"sha512-Pm7YncmHLHNXAYu0OBWUW/9N/wvQJREqw7VGSRJkQcUnozfREoemiD7vtFKNOuqnu9Y9czNJpCAMmFv6Zn1Enw==","mode":420,"size":1709},"data/features/css-focus-within.js":{"checkedAt":1708001725011,"integrity":"sha512-oOYdf5HW0MlA7AHYC6fd7wTfGSNMVd7qZQ5BP4E1GIyBS7d3qPqjtgNRoyhNRlXccFQyZW1VoLQ2Hp9CSgq7cw==","mode":420,"size":1680},"data/features/css-font-palette.js":{"checkedAt":1708001725011,"integrity":"sha512-2KK4LrDmunv6alqOYEiBzq52h1CkxrhtVVO9+/+/JiBeiYegnwjfUPZB0q+2zhBlUYTriU5Hwr4/kFIEv3Lltw==","mode":420,"size":1644},"data/features/css-font-rendering-controls.js":{"checkedAt":1708001725011,"integrity":"sha512-FYXhGHYavjJooZjJJlgvm+wP4t6ANykSm1glUsTAdZlz33wKylOY6NcaqQBFVhwBdRirDtJNNSdWliRKTRouHQ==","mode":420,"size":1681},"data/features/css-font-stretch.js":{"checkedAt":1708001725011,"integrity":"sha512-Dw/Z2yQwym4R8U94Bwy9J4UL7hFTI6Ov3hXBIkKVfOQV29IoJbFf+uH8ll1O4iOpg0gxjTqoVgI51YoqK7JVQw==","mode":420,"size":1644},"data/features/css-gencontent.js":{"checkedAt":1708001725012,"integrity":"sha512-32dlnh3mLgiyiAKnvXXpz7hvXHfgJwDtqoiInznqhsQbxYsOFGG0dn+fZ1pqR1Uwomc/CQMldJX9QzccA6DL5w==","mode":420,"size":1629},"data/features/css-gradients.js":{"checkedAt":1708001725012,"integrity":"sha512-kCX/eFgNx92nIdxzVeqj5nrM2K3I0C73ynzMfJKQb5BJEd4mIP7OOX7jL9ddteBHvWPwcR8NH0xjFrPU16bGjA==","mode":420,"size":1749},"data/features/css-grid-animation.js":{"checkedAt":1708001725012,"integrity":"sha512-C5gHIEKdV93g96aLAzw7NkQsZ9YjTk9WZm/mKOnb1S9FwhKBfvuJUaKNwvLisfYF6hoygaEVa49MqSjtCU4foA==","mode":420,"size":1617},"data/features/css-grid.js":{"checkedAt":1708001725012,"integrity":"sha512-ZFiYwJXdmu08AQV8SGz3xHgBWOcTPAaCtvv1tMk4jtEXCUF6GyqXnfJAzXa6CopKVa1cyQ0INqPZmQLn9G5KWw==","mode":420,"size":1749},"data/features/css-hanging-punctuation.js":{"checkedAt":1708001725012,"integrity":"sha512-aMx0Ln0hHHU8+BR3ekSGPn2a89AR6Krld2tEhh0oS1wpW1lkpoZEzuxtZ5IRr4o1G9/aK/i6gSt2alGD/7usDQ==","mode":420,"size":1609},"data/features/css-has.js":{"checkedAt":1708001725012,"integrity":"sha512-dEAHL3eRN9FCu6iSnUAPjwZt8U/atrrKmmgrZCesW6vMZj7Cx9a/c/kME96XSuUfAh3ReDC3sZ8/u42WUh428Q==","mode":420,"size":1678},"data/features/css-hyphens.js":{"checkedAt":1708001725012,"integrity":"sha512-We+jTkhh16RoTX6h7Bwf3Sqo7hZM64wyU6VrN0yl+Z0ylHSwdEfA0JXqT//GYAJfE4lOIu4fkJqkDga97PoUFA==","mode":420,"size":1712},"data/features/css-image-orientation.js":{"checkedAt":1708001725013,"integrity":"sha512-f0MMVdq6hDirBXyDmeuXHUi6T6jq/SylGlnYqBM2zV/W/c38G06WV036YqlGykrFG1+oHSxNswff2VwYqu4UhQ==","mode":420,"size":1684},"data/features/css-image-set.js":{"checkedAt":1708001725013,"integrity":"sha512-0HO+HvDZvkNIbmSkjKN+hSS9kCqC8xoTeUQd/cdV8NWRVIcWf3x9Mgaw2bRiUrUtemCDgaFETD8eD7AUYGkd5g==","mode":420,"size":1787},"data/features/css-in-out-of-range.js":{"checkedAt":1708001725013,"integrity":"sha512-JStiISszjnsttfo8LZ+y7RNFdiDqPTfsvkLu+RPFsGQU9kVnvxFTC2fWh6TrYOmXHr7qkOEHIYnCKv2JGXOfjQ==","mode":420,"size":1783},"data/features/css-indeterminate-pseudo.js":{"checkedAt":1708001725013,"integrity":"sha512-0j1m4z1V78WZpDB1xr5ploHCqZkhYfafHyBqF8oZplI8jAADzkduj9uXjLfjMs47hUS6i3Y6E3EhNsrLIgklBA==","mode":420,"size":1787},"data/features/css-initial-letter.js":{"checkedAt":1708001725013,"integrity":"sha512-wVwPYIDUGznk3+ctsim2fw7HrMiZgeC7GktUXgKuuA+49FgwvqQPREj5oixw5jmDDHTIp8hqGLQwVXEw/8WmEg==","mode":420,"size":1646},"data/features/css-initial-value.js":{"checkedAt":1708001725013,"integrity":"sha512-ix0SvhaazkWeUS/0Cr/+pgsalwzMlkaH7uOdGAGuEwuq0twScXq/WN5vnqxj5rAKrcVDVV/nXLz/caBZJQT3vA==","mode":420,"size":1639},"data/features/css-lch-lab.js":{"checkedAt":1708001725013,"integrity":"sha512-z6TIjY3zoV+bvqCZ7PGXCUxJnr+PO0Rt4faiCJR9Pc1a238nS0aZCpE2Mkgtuk8K462XbkWn+tFGKja1psxyyA==","mode":420,"size":1670},"data/features/css-letter-spacing.js":{"checkedAt":1708001725014,"integrity":"sha512-aSI3h4vOatgmMZK3++oJWCdKS5GyCs3+FE3l7xpTEY2WsVar+ObcyeIrPZ79wOfQN8I+lhXrcPZwkd8HnbDRfA==","mode":420,"size":1686},"data/features/css-line-clamp.js":{"checkedAt":1708001725014,"integrity":"sha512-7yho3nRARc98Z0M8kd7VEYPT58d63yezrnCUTAvfFt22bpMpbbuAVOEfAhzyqfYuv0Iaha966Xo9R7TULI1DUQ==","mode":420,"size":1668},"data/features/css-logical-props.js":{"checkedAt":1708001725014,"integrity":"sha512-mjZ6BDFxGr1Wgzxz5n7WkvY4Z/L5XzB3hihI1fXAVnrOzNBGyTmkXCrxNZyMe0SlJz6XeLKoZIIuD/W3CeOHrw==","mode":420,"size":1798},"data/features/css-marker-pseudo.js":{"checkedAt":1708001725014,"integrity":"sha512-Vn3FZMcYl6iIXnyaRePhgtHqk8U8q5NYEN6G+p7S9AoA7UeyXKQ/Hr4PlfwWF3bzcYROw6/a1CkBdHn5+MmIVw==","mode":420,"size":1669},"data/features/css-masks.js":{"checkedAt":1708001725014,"integrity":"sha512-43J6dLd2+vvKkmfwYbDqz0GKIMIPq6ijoUL1noFbe4uslJILt6CiOg01cI5xSdpHPfi7mZmJ575xWb70y/jkLA==","mode":420,"size":1716},"data/features/css-matches-pseudo.js":{"checkedAt":1708001725015,"integrity":"sha512-4SD+GEOO4r8T1+lHIcAH/8Jp5dgqDaK9zMGiNz6dl2XHf11jBPDHoZsI6iyr7l4iZ50vdvGlJq3qbSg3aNiZow==","mode":420,"size":1790},"data/features/css-math-functions.js":{"checkedAt":1708001725015,"integrity":"sha512-67R9Bb4R6BOy12G97sOckoKApDrP+FoFLdkEij7ubrtPKe8c2h4hNPSqEnwnMDTaumF7vGHAShQ+J2XbQrA5sA==","mode":420,"size":1693},"data/features/css-media-interaction.js":{"checkedAt":1708001725015,"integrity":"sha512-/VATHWgcRCasEplikdo1mOAh+JpXcETj+HTGAnwnGBHCFRaLFUnpNqHchW0XxFHvmGnd4dOIubgAvLbLwtTiLg==","mode":420,"size":1669},"data/features/css-media-range-syntax.js":{"checkedAt":1708001725015,"integrity":"sha512-hCFF49dPVET1SNi1FB4n4sWowM3FEJCS0pcU5qIeDfVGZSWCxtyPKdJ01ehuC7o7WE+h3THMLuKQ2l+Mz25eLA==","mode":420,"size":1661},"data/features/css-media-resolution.js":{"checkedAt":1708001725015,"integrity":"sha512-0pdoQ7JvFyNJ3X76FNxAiQAKmf5iRfKV/P65wYsKDxV+4q9IUh7A++2AG4w5Va/celemr7dvDDHHTZh9pgHTaA==","mode":420,"size":1763},"data/features/css-media-scripting.js":{"checkedAt":1708001725015,"integrity":"sha512-Au+IO6k7Ii14oQNEmpWisqJSxLzEeZIJNjmS1tEVu3WC5j+t1iSd3WbIupqlijPFPQ6EJiiTLsVfBh4gzO2XLQ==","mode":420,"size":1613},"data/features/css-mediaqueries.js":{"checkedAt":1708001725016,"integrity":"sha512-JIYAh3LRaEAHX0c8IYUz4ebeYf4Xg7e3XJMukr2Lc/Bh7nCYTgm44EMgkW8MopwYgFJLN1wnZ6lIj0xgG4dKzg==","mode":420,"size":1654},"data/features/css-mixblendmode.js":{"checkedAt":1708001725016,"integrity":"sha512-+OlNI8yU5HTLkPMqFT//l0dYw0kMwX1v/RfZcGYmq7Y6CCnSMnjC7Ah7KgAzX9KEZPuySFGvdMwUCB3DglspIQ==","mode":420,"size":1669},"data/features/css-motion-paths.js":{"checkedAt":1708001725016,"integrity":"sha512-qT5VwG3Qn8Fr5XacYAJQZd6w5ZL7W8FZo8yvYrClfm01xCnWcBL8t4HHOicPttVbo379qqmERPFomYF8pS2oTQ==","mode":420,"size":1665},"data/features/css-namespaces.js":{"checkedAt":1708001725016,"integrity":"sha512-tD2rKtoHuctzn2OHE9wMh84bVCxcwOQ5wkXSKiyZPDWSOKEFkJkWHW2yRE2YgHG+LUv4+bZiXVQDAkwFOxfAKA==","mode":420,"size":1608},"data/features/css-nesting.js":{"checkedAt":1708001725016,"integrity":"sha512-y7yVtA8dFYlZZk+hk/1Vq6t3gAtK7oz85vgiTSDceZNyaN1q183ph4EGRqNcSf9h9pWseczF8NsnLjwv/B8r8w==","mode":420,"size":1699},"data/features/css-not-sel-list.js":{"checkedAt":1708001725017,"integrity":"sha512-1FLrxtVuwO2CjtdgtCDzrOUkOi6ptorh0U0yeL2e5HFrgyeBj1YZBzmNTChJhdEOcvGUnMXFAwG7nh2Y7Iihlw==","mode":420,"size":1673},"data/features/css-nth-child-of.js":{"checkedAt":1708001725017,"integrity":"sha512-ykG82L08gRG8+TpPQubr+E46BmoENTyR8JMQ47qM7K/nha+a6TcJCOlszwdZ52xjtGyfkMRW1nLuj4/D4m//JQ==","mode":420,"size":1697},"data/features/css-opacity.js":{"checkedAt":1708001725017,"integrity":"sha512-b9GuZcdioxJKX1Fr8HvgjZ8Qt/4XetqXtJghgRSh1DYI1SaqwBRAdBIYhO5deh4znFS3OpSocH+aBxsiwLdtzA==","mode":420,"size":1592},"data/features/css-optional-pseudo.js":{"checkedAt":1708001725017,"integrity":"sha512-OOmUSg4CF+Pl6g4pTHWhTMPQcP/cOnxKsrrBo5sQh0DoGeFXQXMmxCzcrv7YpROvqwNBVXEZPBlDCNZ8Axe9og==","mode":420,"size":1663},"data/features/css-overflow-anchor.js":{"checkedAt":1708001725017,"integrity":"sha512-A8BvIbecw8I7oJIM6UzgLIhsvmsbJe758bBxrC5zRY468PGQngKuUZ1xHoNHN7kem8sZ3gz/CTAc5ws+/wRRTQ==","mode":420,"size":1666},"data/features/css-overflow-overlay.js":{"checkedAt":1708001725017,"integrity":"sha512-nDzXurvsfuYi/oEqs15dJVHP83cjoE/6YCLR+JHGBpGF0HVYIEQq4LzbcOHfzuY6r7m9wh4LgvIzExYZWke9Zg==","mode":420,"size":1685},"data/features/css-overflow.js":{"checkedAt":1708001725017,"integrity":"sha512-nZevp04EtdIopqXZM5+62syJ/xxtynz9INJwcGxGaN9ZXv/yDsS1ehEHUZTy22+1x3VYph0sX4575k5u68jrgw==","mode":420,"size":1735},"data/features/css-overscroll-behavior.js":{"checkedAt":1708001725018,"integrity":"sha512-Le3vWnhxgzWXzFlwmyNUxEXkadEXK67R0Dp2Yt3aA0YmYC0cIQ8p/g04VWn57OQsk35TTkXz8TzXyZJuwBtdWA==","mode":420,"size":1711},"data/features/css-page-break.js":{"checkedAt":1708001725018,"integrity":"sha512-qMg76u64WsE6dy0btdJqDzXVgdYD97PQl/BX/Ux3khpBNtTwCz3KEi9ivmNQgjlwfSqOZlTV3x4o9275IwLNRg==","mode":420,"size":1700},"data/features/css-paged-media.js":{"checkedAt":1708001725018,"integrity":"sha512-RsYzfoRumixXeFkJ9E50SzDhcKXI1VER5hZ8V65+XNmepnXoGx277tBTP2Bu6QgtJYlTBzWZnEBIDHias2sC9w==","mode":420,"size":1652},"data/features/css-paint-api.js":{"checkedAt":1708001725018,"integrity":"sha512-CXdetSXT97y5kaYKZnqy82KdbHqns5XV4VVj0zmoMrRMx3aawl5IEnB2TgwFawUgJz6Kvv5wuKengwN9KkLW6A==","mode":420,"size":1628},"data/features/css-placeholder-shown.js":{"checkedAt":1708001725018,"integrity":"sha512-gjdw19dXFBzlJh/w2lXx3DOvCN1Kb2KPvH3CJh0wvh6lgwSc40+v2YojPPQlc4DvKbN5d9q9NCL7NHGFuaLo8w==","mode":420,"size":1687},"data/features/css-placeholder.js":{"checkedAt":1708001725018,"integrity":"sha512-qPEU0cGgrBwB9gS7+WoGt3TOGTWkzmHY4N7O8zJh1iBYkIk47T3uXkp25wUjSJXsasvQvqynU/c6dm2bBBtF7Q==","mode":420,"size":1703},"data/features/css-print-color-adjust.js":{"checkedAt":1708001725018,"integrity":"sha512-rdG2Peevd+S+o6PpoTkLGQznSz7TERZqaGKVpIadwJjoS62m/PAoDBhVIsG6phXiw8pmCfsd51gZMwEJpfqm1Q==","mode":420,"size":1586},"data/features/css-read-only-write.js":{"checkedAt":1708001725019,"integrity":"sha512-mufZMqg/jsqA4F/wgc2amTJLslmOjl7GtLl0L+dwop2ILFw5dRxr0RZGrgfspuV7c83RawjyB9h4S1BcYw/ryw==","mode":420,"size":1738},"data/features/css-rebeccapurple.js":{"checkedAt":1708001725019,"integrity":"sha512-/dS0RyNBzOIW+aO53eNHlS+nQ/nVR0g2MFzlXtx+XOU1CxMQk8rBiIxdLUduPEJGwPMb/x2ugL5ONns6pjfhPw==","mode":420,"size":1650},"data/features/css-reflections.js":{"checkedAt":1708001725019,"integrity":"sha512-2TXS9qLDafm2DZE280fhB9uq5tS1rthDM3yw6V3lBuRDtKWw3mA0BLB5eYViK7s8xkbSGWFaqnBbfgpT1dQ06w==","mode":420,"size":1626},"data/features/css-regions.js":{"checkedAt":1708001725019,"integrity":"sha512-Yp+1A3DZxB6e000t6Og6PtlGxMB1trn2bNfbzTwhEk8nJd+6P1c7xLV4V3VG6YWXmlIUG1purk4DZ+Y4dvnv+g==","mode":420,"size":1631},"data/features/css-relative-colors.js":{"checkedAt":1708001725019,"integrity":"sha512-7Tk2/iAvfQNNB6KdMvg/GdqMFY6UfPRseYIC444Yia43a6TnurUssMi5N9Pv2fzwJme3cNZWbfhcfpdJqF2bJA==","mode":420,"size":1653},"data/features/css-repeating-gradients.js":{"checkedAt":1708001725019,"integrity":"sha512-PZ4Ehr+6rZV33ivAo8JkjZbxJHGcmrIcXxtGI4W8O5vtfJphGnXPgPQqbH5/THImwm0zKGdD11495bC4WOrmTg==","mode":420,"size":1714},"data/features/css-resize.js":{"checkedAt":1708001725020,"integrity":"sha512-SsIyEJgQhl6KURojS1O9IbcxWnak9PYID3pDhyjcVkd5SeNNARenNRHgtZAoaROG8Gcr+5MMgIk+SveAFuSKsQ==","mode":420,"size":1656},"data/features/css-revert-value.js":{"checkedAt":1708001725020,"integrity":"sha512-BGDJZJa1B+m+yLMA2DJEXSjDfDx9m2yUtBsMoBUqU9VyG6hi2ubNEdSGOUhQJ39aboxaa2T0HqsOKcsulN74bQ==","mode":420,"size":1650},"data/features/css-rrggbbaa.js":{"checkedAt":1708001725020,"integrity":"sha512-RD5ClkS4i7c9Vssr5o1oO3ul0+um4ZZZDRaOjCQTEo+bZeQlOlFmCbtULsAdl5J/WKPo5a5p+ZaQO+qiBm4Wxg==","mode":420,"size":1686},"data/features/css-scroll-behavior.js":{"checkedAt":1708001725020,"integrity":"sha512-cLBcJ3iPBtrhW/0GXqTmjChsjlCoJ0H/UTegJa0GHIbiH1kYwZpFdrwsV/KpRgEEYr9LOvshpfAeJF1zKIP+Pw==","mode":420,"size":1695},"data/features/css-scroll-timeline.js":{"checkedAt":1708001725020,"integrity":"sha512-eXVclQpiatztOyKkVPw6a8mqOkp2cHHomkN62/Rf9HC08QrU6zc04xOrQPvd/2O75OI+mClk6Gk/bQ1ODIcmpg==","mode":420,"size":1634},"data/features/css-scrollbar.js":{"checkedAt":1708001725020,"integrity":"sha512-WDcVZhxyLsXgJ3d6EXsjYeorR0xtfxIWROBMPrqTI3vS+2KLNoWoZW8hFunQjMDGjONwPwGlnWAspduLtfRUzw==","mode":420,"size":1703},"data/features/css-sel2.js":{"checkedAt":1708001725020,"integrity":"sha512-+F/l1DWBLnpgfjcAW+Wh+0Dzpv9nxgBVTrttfHw4jB2mIBobXYU1gfaslhml3lfHJl7ZrakCjejGPy/56pCmug==","mode":420,"size":1603},"data/features/css-sel3.js":{"checkedAt":1708001725020,"integrity":"sha512-g4znn83hgB3jjaywzRdct8MUm1S9klvkAZCU7mYrbBDmoHPI9GSY0K61li2BxMjfb4jW5MVEZLrW5ZvXdLVjvA==","mode":420,"size":1626},"data/features/css-selection.js":{"checkedAt":1708001725020,"integrity":"sha512-j6Pt7mdc1uuLgsSO0EfklBenmneBQMzRqlQOP4k0Mj44zb19ThquhOJTgI9Cwr7DykSuMud5GEOFx2pLxkqWmA==","mode":420,"size":1649},"data/features/css-shapes.js":{"checkedAt":1708001725021,"integrity":"sha512-WzcYHlORhQ2FWzElqlt8UhApCjTJC9VpFB8OHb9XY+qfu/mWtnFqCd9xPog5sntiaTKcAVFTZavyW6+2ftltjw==","mode":420,"size":1676},"data/features/css-snappoints.js":{"checkedAt":1708001725021,"integrity":"sha512-G5mJ2oZuRoQu0i+KkhjpqY2GlM0LSZwGlzPVCAm14btJLulnIiFiyFgbdEaj5nAOnK1iopwJH6WBi/xuubzOGA==","mode":420,"size":1718},"data/features/css-sticky.js":{"checkedAt":1708001725021,"integrity":"sha512-pR9CfWsHXTekoLEmwydnkhyWkU2BYl5W7fCt8t71avweEV1zbTDy3dLOqALAMp9fi/UmZdvDEOojJGGEh7FnJg==","mode":420,"size":1758},"data/features/css-subgrid.js":{"checkedAt":1708001725021,"integrity":"sha512-U2WAqDp+FBD0gchzBF+ZtXbaRnL8/JMc9yrWnbpSAaxlzCk8eO9HDhO3djylTVncIn4uh76NzT0vG1oMb/+TBg==","mode":420,"size":1657},"data/features/css-supports-api.js":{"checkedAt":1708001725021,"integrity":"sha512-9Q/9kztPExX0Gz0osmLvJUVQ5jZvD+YpI/tytBy4Kuc3DVs5UBLIVvZ6+xbRe1IUYgkAEdMZGOj2zTnv9KP12g==","mode":420,"size":1683},"data/features/css-table.js":{"checkedAt":1708001725021,"integrity":"sha512-22MYdRhcw7M45UrUTpSGeayXLJI2dtAAqb6froO+qkfS+gj73Tg9Y5sCkoDvf2nPseuaXrB9MkR1z9cJeCSh/g==","mode":420,"size":1605},"data/features/css-text-align-last.js":{"checkedAt":1708001725022,"integrity":"sha512-B/nuBA3pbNIDHWzylShhNl9hntqpqzpLDupLWdYE+wULd5nDqlrVWCtGtzgz49ojfBoWutlWkfyHNYxUzvtJVw==","mode":420,"size":1682},"data/features/css-text-box-trim.js":{"checkedAt":1708001725022,"integrity":"sha512-sT207UMrSxra5L+r/SFVCyLQrBdDyES2gUA9Fl/qJuGNErJ+HHnBTRUTdiE/lnooRHqRudkP9ttScLoKgJ367Q==","mode":420,"size":1629},"data/features/css-text-indent.js":{"checkedAt":1708001725022,"integrity":"sha512-urW8namYt/WNOu8px2f2HMrcg8DWimRu85RXl9TdQvum5lLLFZh+y4a8GI0Oosb7YMb8JO9OqYLzkI7m7J0adQ==","mode":420,"size":1693},"data/features/css-text-justify.js":{"checkedAt":1708001725022,"integrity":"sha512-QkS3/k1ufC1oDMuQuXEk9E5mwT8EOYPZCfUiolNTHhnBXN0ouZgkRNt4dS6v14ecQuNotL1RWOO7Yj96Be53RQ==","mode":420,"size":1689},"data/features/css-text-orientation.js":{"checkedAt":1708001725022,"integrity":"sha512-Yxzy0aqJfDTGXuKGWDxePU+L2egYAv0cd6JoRUKQaNVfZYrj1LsE1ojTMCYqDsAbQLhyEgDDx0/xKb7H4PPm4A==","mode":420,"size":1670},"data/features/css-text-spacing.js":{"checkedAt":1708001725023,"integrity":"sha512-3dfNQgunUB3Oa5MElXN3IxmOjCz2Ns+0wcrWT5IMjt8VO/XFG+Cwa7A4kO19aM/BrzOcomSkqDPMZ6pG/5fjNw==","mode":420,"size":1615},"data/features/css-text-wrap-balance.js":{"checkedAt":1708001725023,"integrity":"sha512-h1PXovBuOD8uWTmV2MYkebie1WZdeS9oM+vk9SWWmBP2kzr5rSwmcBtbhScirRRlqN48jsLGime34yWrryxrrg==","mode":420,"size":1632},"data/features/css-textshadow.js":{"checkedAt":1708001725023,"integrity":"sha512-QohV0z06UIzN0NyQrq6V/ZP5og04YupAr7qewLt2VUzm9GRUNeTMAACDsqb6Q5bjrb1vibQkAxEGxiHKLe/egA==","mode":420,"size":1634},"data/features/css-touch-action.js":{"checkedAt":1708001725023,"integrity":"sha512-Mt+CFoI2zIMYz3OunWq0cd8P3UVWYy2rJaTfPLAfC2OoyYNTs29C3cI/cx0oBMosVBUGzXX+ZKYzy1X2/RV0jQ==","mode":420,"size":1690},"data/features/css-transitions.js":{"checkedAt":1708001725023,"integrity":"sha512-yx6n9Wz2ew50aJ9tXSq3/86HceNPdH4a/O20iP36bgnHwrGc6K1cwN3SlKsFwFJeUl1/018BKzwaNZOABKbF/g==","mode":420,"size":1704},"data/features/css-unicode-bidi.js":{"checkedAt":1708001725023,"integrity":"sha512-wyTb+84xzCOA0PVDm7gqobvd4pUP0rb8Sxg9D7sJ4jjM4OKodeit0HxBPRt2MDi5NPpNS8CkjOsQzZw/lPzv0w==","mode":420,"size":1703},"data/features/css-unset-value.js":{"checkedAt":1708001725023,"integrity":"sha512-NEand7oL4s7I2IQfwCrEoQaHe0Gmu1nLF32aj1MVHgqeVVrKrvwHTEtEgfRC+s3roH1gbsc5uSoy1ZFysySRkg==","mode":420,"size":1637},"data/features/css-variables.js":{"checkedAt":1708001725024,"integrity":"sha512-nRT35dt1sUGLNus+/GjRfuHuuQ9uySmqtcqZ7xpfJ2yAV5lB1GUDUzQxBPClVewVlotN4yusJdrNEWRldCzPUA==","mode":420,"size":1701},"data/features/css-when-else.js":{"checkedAt":1708001725024,"integrity":"sha512-TUxoVGSYcmFZ5VDbcT5nvVXYMJPf7Lr7EwAw9kqG5DijjKTpGE9X2livu+GDklERFMganzxmFcS7l/Papw9hww==","mode":420,"size":1609},"data/features/css-widows-orphans.js":{"checkedAt":1708001725024,"integrity":"sha512-n5QCWL5Q0vFGx/PuEFNcH8uXZEkzodPllRz8/8uL517Kc1WfvGEWKDGN7baUldTtxQ8t60yVHxATpv43ubSk1A==","mode":420,"size":1646},"data/features/css-width-stretch.js":{"checkedAt":1708001725024,"integrity":"sha512-t8lxIQ61vUPRd5J6zuryFEke113R+1A04BzLALg4wFAeL2zHmLTVjd+qSkrrCCusMbB8iOiCCTNUHlM9KLOyOA==","mode":420,"size":1571},"data/features/css-writing-mode.js":{"checkedAt":1708001725024,"integrity":"sha512-Vn2uOH42oi2BBI7CRqxb5vorU2vPG1mEqZ7a1+QTG79N/C05hSr9k84QLN4Go1sepAQfGKkB/ZaGbBxHrT+8NQ==","mode":420,"size":1710},"data/features/css-zoom.js":{"checkedAt":1708001725024,"integrity":"sha512-cTNlH7c5TLhq9ni2JKNWnGdjbKlY9efMSyIVRddsjDbe/NeJlbTX1ojblDZh8+B0HlcOMMVK6LH18tJnglvsNA==","mode":420,"size":1616},"data/features/css3-attr.js":{"checkedAt":1708001725024,"integrity":"sha512-gh/1W17FjicGfu6sO0FINRd2iq4XQ7Cidlyr8oGLkruY0NrCbXcxCUjZDVWlWGDRxUxUQxOAy4zk9bintbeGyw==","mode":420,"size":1613},"data/features/css3-boxsizing.js":{"checkedAt":1708001725025,"integrity":"sha512-3F7KWb9Wo3b/xzFJZJNGdUDqjM77/euF9QeUX3eaBFbWY1ldvvDjLwwcRANQYU++wI/zXOuCqqQzO1jQ4uo+4w==","mode":420,"size":1643},"data/features/css3-colors.js":{"checkedAt":1708001725025,"integrity":"sha512-gN4/jz8BT6uHw6LuCpLQKOnXHk0yoh91grNyG3+wpRoNZ92jZ6VVnXkacEcstEPLqlF13YGrv6buIDUFlUwqZw==","mode":420,"size":1609},"data/features/css3-cursors-grab.js":{"checkedAt":1708001725025,"integrity":"sha512-+2Y6TpQ6ydT0XZgGVDmcT7xxclsy9FDIFEzW2nf77xY74DOyaBOaaudgAfB6bGGfv4jeyBdnZahevfs8msrr8A==","mode":420,"size":1654},"data/features/css3-cursors-newer.js":{"checkedAt":1708001725025,"integrity":"sha512-qe74mDiBcz6IroVC3C8omGJYfwFgj1fAFnwwfOFpkUgW/ZcBEllR+DQHYghrpCUY5gIllEW8IbAvnjn89HnY8w==","mode":420,"size":1653},"data/features/css3-cursors.js":{"checkedAt":1708001725025,"integrity":"sha512-4gcY9bzynRS4WtnLXHoqfm5DWvRAoRUhUD321EfZhLmQSeBnGAiMnARDP32QTMFR4nzsudOfQDGA4dqi7cNxKA==","mode":420,"size":1665},"data/features/css3-tabsize.js":{"checkedAt":1708001725025,"integrity":"sha512-Oejc9hBjtpsGnNKFHr334pYq52QrGmIWb3Toq3Fn36vfMrC3t864eukCe/EY027Y44vB4GD+WwPEQXY8L+H3vg==","mode":420,"size":1712},"data/regions/CU.js":{"checkedAt":1708001725026,"integrity":"sha512-0KGuMRKgvHqv9qxdg58yLzph402Z0XsugneFcMNcIrdwlQoFyg7Tz5pRF/P1pDXsYeB58eKw1Q8vNTPCW4zZLg==","mode":420,"size":4998},"data/features/currentcolor.js":{"checkedAt":1708001725026,"integrity":"sha512-aEf3crzLatGt/IKWOvbfEjaD+sfinDUXL4H6Mii5dSy5Vb7C5aHK0XPuRxdzcaz3MXwDSMjAimi7oJnxsyMnaQ==","mode":420,"size":1621},"data/features/custom-elements.js":{"checkedAt":1708001725026,"integrity":"sha512-rKHcxiXZqhEowsd05zByLHaYzof0tGc/TKAVkeXypKxzOSnkH1EK++LTFtnF3arUtqCTdot+QrdqPulOKgkDuA==","mode":420,"size":1699},"data/features/custom-elementsv1.js":{"checkedAt":1708001725026,"integrity":"sha512-lqdfRtBMjIxSx93avUZ73QsVqrkjzY0AAH029G/k431QvubrGgTUt/Ba901vJlywPVY0M7EOp6QQnV3CHV3bOw==","mode":420,"size":1722},"data/features/customevent.js":{"checkedAt":1708001725026,"integrity":"sha512-MCwk19MEte/vwqM8dUV4A1KG9J+vI0szAQeLUA6yLKBXsJFDp0cXQFsZnkXh3kQMErExdzxgcTCJIYocK1a0rw==","mode":420,"size":1722},"data/regions/CV.js":{"checkedAt":1708001725026,"integrity":"sha512-r5sZ+hr3tUhtD3uWIDRhwwHHyz3v34ukRcc6+GZ+kv6OLUf2p5SCBUERMfcYwtPWO9wp+/Eu4bdxzn8UrkVQ5Q==","mode":420,"size":3844},"data/regions/CX.js":{"checkedAt":1708001725026,"integrity":"sha512-cWNvHCmZiLfU0evyERY1aEoq7IXefkQ8OpxDr7243gO9404hPJ/IXTh8u7QSZmp/aZ3mbN4vnTBEchC0680j3Q==","mode":420,"size":2345},"data/regions/CY.js":{"checkedAt":1708001725027,"integrity":"sha512-Cl3J9V1Jp5MA4Xm7Fpc1cFiUEdGGpsB1bcYOSg+yAJh9QPi9PBCmhY6Pv9Zw+qeY8ES7Rg2YpLsDDzpNhH8cyQ==","mode":420,"size":3808},"data/regions/CZ.js":{"checkedAt":1708001725027,"integrity":"sha512-k0dioOOdS6CyQ5sBw1p/azDOFfWH9amerUQXrfwxteOPECWszw8aqpcKt6+hZyImPWSuL6YDG9wgFN+KRsDi2g==","mode":420,"size":4149},"data/features/datalist.js":{"checkedAt":1708001725027,"integrity":"sha512-p2GQbxyQY6RzV2A+6PPFGk0l61k9O0fY9zAeNITSY7BIKtrVexykOK6gceVJauSnNifQd7NrOZqPoLrgpx+wLg==","mode":420,"size":1693},"data/features/dataset.js":{"checkedAt":1708001725027,"integrity":"sha512-bc+9ZIY3LTsSc3M9tInak4wpxrOhylI7cL1+nVKh+yTEWGizM/gNuNhOdvUEoCLo4bhs+r2suHGGpwPuaDodNQ==","mode":420,"size":1723},"data/features/datauri.js":{"checkedAt":1708001725027,"integrity":"sha512-FswyTWNwaVxVMW/uQZJV6YX1/6mWe4/j6fZCqqURCAZYIIUSRDAnB9wfXWrS32tayWG3PTHkqdQ1D0aADxhj9Q==","mode":420,"size":1617},"data/features/date-tolocaledatestring.js":{"checkedAt":1708001725027,"integrity":"sha512-6md8edjyx6WyBVSuul9LUS2VSMJzJG2qggoWQScrKsPpur+KCVlxzIpOFr1VWeEkxjeZZqoVTOY4sSbBCjZzgg==","mode":420,"size":1801},"data/regions/DE.js":{"checkedAt":1708001725027,"integrity":"sha512-hduAE+lgWQGw1KC9eZY4Y59fD+VSGvGy/J5/BnPomHp/fNQxCOg3wXtoVXHCj1f0S9ovYBH2U5JP7gbtMv5v/g==","mode":420,"size":4674},"data/features/declarative-shadow-dom.js":{"checkedAt":1708001725028,"integrity":"sha512-rE3fH+n90PYGpOhR3aY1d0BrU6hBO9FkCU6w8pQrJJ86GdV+7zkYsslr2oZsbUweJ9bwyhIB1Ul3NUw7Ha638w==","mode":420,"size":1657},"data/features/decorators.js":{"checkedAt":1708001725028,"integrity":"sha512-p/eXDHrLRXT8OtCy89n1gggDVnHPU9haDtjtv1vx9jbzBYLkNvPEweS/k0og+75k5uZUB0MQmQXlSXqMlZ9sWA==","mode":420,"size":1584},"data/features/details.js":{"checkedAt":1708001725028,"integrity":"sha512-PX97IBOd6gURaFjRWbggZON94rngofkXQGxlZtyeqSdrJRJ+NHjJcGRb6JWSe2087k96NiOGuZ9TpsuL0WwEWA==","mode":420,"size":1722},"data/features/deviceorientation.js":{"checkedAt":1708001725028,"integrity":"sha512-cxtqOum8T2J77bs7Y5Pp2UY0tXXp8tWlQ4YSaGx+eKxXIssHypNEgP/rrx53C3vXzDwoO6UFZ0dGnx4ZMz6yzw==","mode":420,"size":1687},"data/features/devicepixelratio.js":{"checkedAt":1708001725028,"integrity":"sha512-RRZAKzXtiLqK4FDYNcIVhBSmeEvT5PwsoMIHHnLlKk2ZneLbcOpBLIwoSS8MrCC8XioF8THWvHDIk6odFURJlw==","mode":420,"size":1627},"data/features/dialog.js":{"checkedAt":1708001725028,"integrity":"sha512-RxLs0ox05j51oXTBJIGWnbc4vy+t+3ykkTp7o/eQhLaoqpP+AINo6pfyLjFGa73qvkPjYPLNUDByrvOs6YlWFg==","mode":420,"size":1669},"data/features/dispatchevent.js":{"checkedAt":1708001725029,"integrity":"sha512-aqBI5WjNbQIaaWdcmNJQNKjpjlhQWNA1/OlauSn8/AlRSLPmmS7pKnEN99gaT236+dE0/pDU2fJWyU/9VKEaOA==","mode":420,"size":1658},"data/regions/DJ.js":{"checkedAt":1708001725029,"integrity":"sha512-eZQNTt5yQZU6ihBpwnztjGhWSgMPxcalq23zx5aSKRKtFLs1xqM4TJynaKLyX5pgF+95P99C7J+Ztpz44ZS4UQ==","mode":420,"size":3782},"data/regions/DK.js":{"checkedAt":1708001725029,"integrity":"sha512-ae7PumhjVO+AhkwB4/vuVkoohVfkCJhL4YdlwQPiLMvkRzN3zOrrsp2Awfgho0esOG4XxhfQETcWBUJNqoIUAw==","mode":420,"size":3637},"data/regions/DM.js":{"checkedAt":1708001725029,"integrity":"sha512-4BZzosOqM7piDv63uWrzkHsZDM3jJ+FfsX56aE0OSOCXcguTVf+56twrGj13v6EsY2urjLkPeRxebh3+wMA2iA==","mode":420,"size":3463},"data/features/dnssec.js":{"checkedAt":1708001725029,"integrity":"sha512-lmZ7sXJF5PSeE+QZ4O/nPnPxyHMuGwMQ6Oqc9Y7q7MWxo9l5ZvhHmFYLB5QO8/IgthPSoCi11JkcV7eyaVwnJg==","mode":420,"size":1635},"data/features/do-not-track.js":{"checkedAt":1708001725030,"integrity":"sha512-s6OQvF98WwqyxX0oQTT6dCIBKfp3FiwQqa+EIAx9gfap2eO7QY5Vjt0wo889WYUvphuZweuHdWt1C+Gt8Rw0eA==","mode":420,"size":1703},"data/regions/DO.js":{"checkedAt":1708001725030,"integrity":"sha512-36l/qybjjGVfcIAmluxO2GMVNInyGXcsG0PF3zst3Ca4xLWn7ykX8fLSEqJCkCdClpRX1H7HxUh35xOKgv5YXw==","mode":420,"size":4256},"data/features/document-currentscript.js":{"checkedAt":1708001725030,"integrity":"sha512-20crOPG0EEamVu5Zz1msMPJueraMdnlx+CI+9jM6K9ZoK1BFVcMql2Nelgqph3rfixyaqG4YAYlbjcOtRK44kg==","mode":420,"size":1638},"data/features/document-evaluate-xpath.js":{"checkedAt":1708001725030,"integrity":"sha512-xgkfr11SfOxuoM2jVkIm5HXh3xFTXphgUWnd66d3Slh0ZXlrOg1FaLDYkKZtHf4OhbVjDvNooLsvt3dpiE1MPw==","mode":420,"size":1613},"data/features/document-execcommand.js":{"checkedAt":1708001725030,"integrity":"sha512-6T3beuj1VfzgfI/k7H3xyqAiYdPsJBNzEsW+ldTvLWoiUeCjuNzv4Zhejb9uPYaTPg8Mox9YdmrJT2DaDlmwww==","mode":420,"size":1647},"data/features/document-policy.js":{"checkedAt":1708001725030,"integrity":"sha512-pCyD4vcW6wv2sPuz5xmXOhzMiVW3Jc5N6xa0703U2F0jOodJ7GOZy5emARTQVKQBg9zIEhHtxnYbD2PnqF0lLA==","mode":420,"size":1633},"data/features/document-scrollingelement.js":{"checkedAt":1708001725030,"integrity":"sha512-SaPu2S810S33WSkMRD30POWdoHJIPArNF+0+sji3qONA/A4NZdIAGjmFyDrODgI9SS0gTTbAoUNzMcaZI4/azQ==","mode":420,"size":1648},"data/features/documenthead.js":{"checkedAt":1708001725031,"integrity":"sha512-p1P+nsoCo7wgdZ+HkwxD+PSPLYGOJqSGIZDzXXr+HnV1t5EmF8iYxcLFAjaURhqjRA85vS2usFwplDZfVfkigg==","mode":420,"size":1638},"data/features/dom-manip-convenience.js":{"checkedAt":1708001725031,"integrity":"sha512-P1gAB2wk1k56Lj1ek7jDsbvrX9ljYa2KhN+NwMcANDF0jI2uBk6R4mQ3FOA1shknUj9ngvYJ1v4WWILaOD8jJg==","mode":420,"size":1686},"data/features/dom-range.js":{"checkedAt":1708001725031,"integrity":"sha512-K3LXxwRlcoE+mNP+K8qpKCStUwURZSAhJXxydVPj/j6XUNsHdGkeint7YQb4EkpE1e4HoHaCSYOFdbGU0/sweQ==","mode":420,"size":1613},"data/features/domcontentloaded.js":{"checkedAt":1708001725031,"integrity":"sha512-OH2OTAjjvlLlp1FEX/NbK55zDmFrr1rYL+tfOXrCy1UTpfuTqKsxmE05asRottCI+iybXjDblkBMwV1G140PnQ==","mode":420,"size":1596},"data/features/dommatrix.js":{"checkedAt":1708001725031,"integrity":"sha512-d6X6rlrvXGg8s5BY5cAEcWE3krp0GgkhGLJsX5pL90GcpqJZzExjPcRxzwTRSCHn8r4cF+Het06XMZyloqLMQA==","mode":420,"size":1776},"data/features/download.js":{"checkedAt":1708001725031,"integrity":"sha512-hTtJz/O6y69R/GB1Jy5mIKRgBj6EM3z8ndnyzi5ODAN/OkwqDweBEwAMcJ2d1u6O/9QgYkx8W6r/0kGnyH5Q3g==","mode":420,"size":1646},"data/features/dragndrop.js":{"checkedAt":1708001725032,"integrity":"sha512-oGnomGx9zCE9kzQM8k1N3iadS9aqssxQosrrEOURv30WXQv4ExnrvheJW0q+52hm4yRyfouKL8ONtjHZBRW2BA==","mode":420,"size":1653},"data/regions/DZ.js":{"checkedAt":1708001725032,"integrity":"sha512-HrQYgjEMl2xrFT7Nfg8FwFO/K9lQLO07OSVPCdGUl6MU2yIYaFoBUFw2xkLmP03YRtBlKXGm3AYV8h4BhAhfEA==","mode":420,"size":4970},"data/regions/EC.js":{"checkedAt":1708001725032,"integrity":"sha512-7r7BIqSii9Fye5eTEnVcNQCkFSmlgaTLgUdh/R3SNXc9Tcbgggh86h1rRXjRSJ1EV19MRBQMFFlo//QlsqpaRQ==","mode":420,"size":4071},"data/regions/EE.js":{"checkedAt":1708001725033,"integrity":"sha512-IqV0jh8ZOyyXC/3SwIOV3v1tYQhtaokixSffe0ngH17VAdrlhlnlBgEr0E10lgU0Gv+JYbrdfKGQVM7hhDH31g==","mode":420,"size":3809},"data/regions/EG.js":{"checkedAt":1708001725033,"integrity":"sha512-OLyEr/psHPoTywNe8FpUOeclnCoeBKhZ1CzmGC1Dxmb+bE9zpxG7sXV8wnkhc6H/T0zl9o75JgSWB5dYnoPp6g==","mode":420,"size":4783},"data/features/element-closest.js":{"checkedAt":1708001725033,"integrity":"sha512-jxkZ5h0U4Ne+7VKVsylwFBpc+vJV5DaleZBkMyTB3rPQm26mCnaUS6Hpr5C2MZW0zJhRB8XVEAOoHSCJNnPbTQ==","mode":420,"size":1645},"data/features/element-from-point.js":{"checkedAt":1708001725033,"integrity":"sha512-vMljalztl1p31x6rUAw0IgQUHrFKB/UEZ5tvfqfYxIuIZaB8PqJo3ddyMCrj3IEDN4FHeMN5JNvCuTVhq6/Owg==","mode":420,"size":1657},"data/features/element-scroll-methods.js":{"checkedAt":1708001725034,"integrity":"sha512-Sho6yxyd3Q0p8ri9ESijW8glSGcnnEDMLdS91XWlG5Q/C+kkwzGO4WeYwg3/d911wp/5gsCJU13Khs/xa8zj+g==","mode":420,"size":1699},"data/features/eme.js":{"checkedAt":1708001725034,"integrity":"sha512-NfyTK2dXYrACF+NIZQ+jg+LgxCEIXV7RT9eEEn6eiLw4fSrH/IkwVLbKyak9hI0nxR2N2Y2DTEQaMkj3tc2slQ==","mode":420,"size":1680},"data/features/eot.js":{"checkedAt":1708001725034,"integrity":"sha512-up36i4qplyrOh7D+oFE9ZVHp5jKmCW1P95Atj4r5e7XZyeSxKpT1h8PBLGWXsyzsfc/4Np28s7Gr0mk1g2wQmw==","mode":420,"size":1609},"data/regions/ER.js":{"checkedAt":1708001725035,"integrity":"sha512-qzJgURqJ51dSMGwH30V8OMrQkD8564nynmhzwO3J5y7Tfhsi45pfGL0oxPBuYChnZ6gQTsxEdgrrCkZrAPz6PA==","mode":420,"size":3956},"data/regions/ES.js":{"checkedAt":1708001725035,"integrity":"sha512-s59mOBjSaRfc3MwvpDkerWYjK2FNKSN5h4VFRH1gkRRIxZsiu8WbgqyKBIy5gG+UP7/EDYUvB/NwnLTDvG4o+w==","mode":420,"size":4195},"data/features/es5.js":{"checkedAt":1708001725035,"integrity":"sha512-0nH5Xu8bqWRYpoIySxRONv2xmIMjdv7AeZ7NwPrykNHLiHgBwdwwnElvAc3yh6MTLAw25lkljyLoMgiDh9bbcQ==","mode":420,"size":1707},"data/features/es6-class.js":{"checkedAt":1708001725035,"integrity":"sha512-IuR4+HddFKKSrPCK+/cWjREQCOzejal7oETpAOyb3qGUaJ21o1O2v/T0TRJ3x1hMZ/92onq8ykZxZEeGW1jfYA==","mode":420,"size":1655},"data/features/es6-generators.js":{"checkedAt":1708001725035,"integrity":"sha512-g1qyF5ZhHJzkP1+jsR6mOcFWRZOjifQyCE0jiYskyO3622Qtuq0hRkpQ0nrayKFM1d+WHuKpaPZBm2hqX8BygA==","mode":420,"size":1636},"data/features/es6-module-dynamic-import.js":{"checkedAt":1708001725035,"integrity":"sha512-U3p9pUkSIGFsG/0zu9UpcwYg4rqMxJclE/LChgqQx57ZyLuAJk5sebNlQFlvjgGyiYxnMJwxC1BXuGfhYcKj+Q==","mode":420,"size":1678},"data/features/es6-module.js":{"checkedAt":1708001725035,"integrity":"sha512-YSDUEpYu1+SWSmHez18laPXL0wmpAbm2D4st/UtP34pYSLvdfqB7Xz8KvOOCV/PfLmVUsLSy/Lj40Jl0jvF3JQ==","mode":420,"size":1727},"data/features/es6-number.js":{"checkedAt":1708001725036,"integrity":"sha512-by4MDX+6oRwbZaNiRyjYEW2hyEB1hbYwKHCsyw5Qyoc56CMl7TsRZwOeEKSVExDaVc5PioRQU8Feb9pgNdamow==","mode":420,"size":1677},"data/features/es6-string-includes.js":{"checkedAt":1708001725036,"integrity":"sha512-Av/n2HSKHpO6vjnpPhSSpxBbvUC4j8pabrrm0L+wmBa2OSoWsNYWpyxTYyAnqASd6ck2TeGX+bDQdKfz5J3t9w==","mode":420,"size":1641},"data/features/es6.js":{"checkedAt":1708001725036,"integrity":"sha512-cSOYuQNatxUyde8Ba+FDa5rObqcGMYbh/adJQNzlyI8rNGn5MqyPBJO2HtvqaB3QhUK66BgTtqhoEMX45e8fAw==","mode":420,"size":1749},"data/regions/ET.js":{"checkedAt":1708001725036,"integrity":"sha512-fbupNt/9+WsfyPnFFz4eOz4f4rDLGu9YacAOUcpMzhztyWbX9L9UYHS4LqSuSit+bzoqe6tC9LhtBeZz/m9qPQ==","mode":420,"size":4388},"data/features/eventsource.js":{"checkedAt":1708001725036,"integrity":"sha512-R54gUYJHS21XN12SQPBCXh3IuQMYWtsl33aqY8nu2yGRlv92SCbMQVnNCd+N/SlbQFFkCe5xkF5V3k0JQwaUsw==","mode":420,"size":1640},"data/features/extended-system-fonts.js":{"checkedAt":1708001725036,"integrity":"sha512-4OxrtXUiygDr8d6O3EuGTmCrFGMR7ednhmM2rH9icZFcOlY24W8ATNvOJ7FpJxMMxkTpNYojDa8XR1syAkWWrw==","mode":420,"size":1661},"data/features/feature-policy.js":{"checkedAt":1708001725036,"integrity":"sha512-AUPhpLiILBhUAAT10jUHQ9xoXPG14ffdU8bkl2dNy70TmgMY4yEvSg87BL2BH/3b+rbA4yXJpIx2BfQPFp1/dw==","mode":420,"size":1720},"dist/unpacker/feature.js":{"checkedAt":1708001725036,"integrity":"sha512-D5Yq5BJucLzJQp7CQxPWmT0PfnuroEmEV1zR6HfCVIwJAo7cBsiSUX0+b/Ib1V+No6mvG0eg3wtADeW5wc7AbA==","mode":420,"size":1365},"data/features.js":{"checkedAt":1708001725037,"integrity":"sha512-49kKZBiWbdJY9WGh/x7rjZAr4HFA7nqZ87aMpgYL5HvnW+PxczIr1hfajBHqJ0cKoD07IawACoMnAmSI3eHDdg==","mode":420,"size":30032},"dist/unpacker/features.js":{"checkedAt":1708001725037,"integrity":"sha512-Ltjs/9hDkRhDzy3wgb8n0TZ0q6g894Kqpbe49fybvctmHmCIpVQ+HY9WijSs/dDcQ3wPqPOKalQGQg9cYu1nBw==","mode":420,"size":141},"data/features/fetch.js":{"checkedAt":1708001725037,"integrity":"sha512-UKqzaG2f8vBNjurt2gn5JZ2ZbqdEwfaSmoDYLM3PSkxFxtt3I+3qVbTjZmWIUc0MDD9FNf/Eew3hwXaMdIAMaQ==","mode":420,"size":1677},"data/regions/FI.js":{"checkedAt":1708001725037,"integrity":"sha512-TsDJc77OB2qP2A5Pv8VebE8r0QlG+nM2dMLPpwhJDpBfZStcRWFj3c+1iaqH+DJXVxn458zJWF2LHhQlVGM+mw==","mode":420,"size":4187},"data/features/fieldset-disabled.js":{"checkedAt":1708001725037,"integrity":"sha512-+Y20PE2i5NkvWUvPUFcCYDOhkA3rxGZauehlw6rbYkStgEEPqKYhD6tL4vgcKPk+yLkOse2wN9kQfFf1YFoLyQ==","mode":420,"size":1693},"data/features/fileapi.js":{"checkedAt":1708001725037,"integrity":"sha512-FU3cHazuSsCa3yzWaDI01fHBkiGxF86LV+jDbPOdXH5ENthTsJrNlLNTLv4TZMnEYPyD2s0FnVRhF5SLvrGemA==","mode":420,"size":1738},"data/features/filereader.js":{"checkedAt":1708001725037,"integrity":"sha512-lj8WvEhUv8wctXwIvjoEhfF6h310OsEfPpaqTTj4fefPjvRacOVdMGGubvosxotSVt9y9wNCMmQ75CrESfjUvQ==","mode":420,"size":1644},"data/features/filereadersync.js":{"checkedAt":1708001725037,"integrity":"sha512-XoFRqYzEa2rlyBVXxuKDOIkO/nsbqVZwvHADjK9QzE4+wl8JYRMDngBxqhnoAEFE0yHYJXyIdJmfC0Nb6fM+tA==","mode":420,"size":1657},"data/features/filesystem.js":{"checkedAt":1708001725038,"integrity":"sha512-j1GtAPgc7pIa+g1Vtk7TRxpeWUQE7SGbBBylIMSAEjxWt/dPNeKQOT90wAMvF4+5c7mkj7YdLYV60d3CPZ0Q+Q==","mode":420,"size":1653},"data/regions/FJ.js":{"checkedAt":1708001725038,"integrity":"sha512-BibH239KLGLkxHdJ11gSwZxzVIprxmbjhdb8AWJR/DaomLu4oOfphCGJkKL7WIF7S1wlJlh8CddGKFESH13l/g==","mode":420,"size":3912},"data/regions/FK.js":{"checkedAt":1708001725038,"integrity":"sha512-X3fpy9SFLjDv7FyLAyxQl4PzchZ471Pfy4By4OImX+/et8/8nYXq8tyiD9xaaluI/W2zv6p1aTAKsuBBRjdlfg==","mode":420,"size":3148},"data/features/flac.js":{"checkedAt":1708001725038,"integrity":"sha512-ZD2SE4q22FULDXG/FrONvjlkF6cgHvAanVf6lG12xHNC2QTeUao3vzH1QzTE28olJTKyn8EqmunEfU7Wo9uUMA==","mode":420,"size":1690},"data/features/flexbox-gap.js":{"checkedAt":1708001725038,"integrity":"sha512-iJHXxj82nJviZxVan6JGtOXrckbY+qXjVCYm86elzOkGaz6JUlmJBylJqnxPtbXbbtDWOewdtTct1nrmC7JFzA==","mode":420,"size":1658},"data/features/flexbox.js":{"checkedAt":1708001725038,"integrity":"sha512-pPyP3bwEezkvF05vv5C8yAwsE80yINkqSCJigc4szh0+9P+7Lcnx7Yj4ijRKBcmhjKNkeVD/26ZzAcb4YxMgYw==","mode":420,"size":1726},"data/features/flow-root.js":{"checkedAt":1708001725038,"integrity":"sha512-BHrL/sskM/LtDOJ/2gYGvzx34tMGdzWv+fbRDLTPexmiIJof3gEIYbCZqtLrm1nRVgzMcrMa5jp/SZBPdlsGag==","mode":420,"size":1652},"data/regions/FM.js":{"checkedAt":1708001725038,"integrity":"sha512-f+r0Z8Y/2aMYJ+Pm3YnTzslSsmvCU6z8vOH9c5HW59whJXuIxEdmUYmHAjyLQZZgR9Q5tvu/O/M9bBNV53Vj3g==","mode":420,"size":3221},"data/regions/FO.js":{"checkedAt":1708001725039,"integrity":"sha512-XSKOVsdEUM2v9TI4fu5rdeXQ+0rL3nlcrjf/t1XW99KPQwLwlO2H75CqPzQ3wdebBdy61jZIRmZ65SWLRVeiqA==","mode":420,"size":3283},"data/features/focusin-focusout-events.js":{"checkedAt":1708001725039,"integrity":"sha512-mqWTQoDo1Z/sSeW/tpSc1lx5IgLgoLmW48p2JvM77Ct3r2XFs7tB9+8PC4W1bXMCHTMdTL3Xw8tDUXkglw5+3Q==","mode":420,"size":1676},"data/features/font-family-system-ui.js":{"checkedAt":1708001725039,"integrity":"sha512-ClaKRbORzSlLqwcCWvqEmT/9RaCv0IcYISNnxU/JjMxRX00fYAJK75g3F4/++JJQsVxgi5kZElYHUpzuzWZrHw==","mode":420,"size":1700},"data/features/font-feature.js":{"checkedAt":1708001725039,"integrity":"sha512-B0W1fU5QQltjKhz5Du8QmV8O33crXBTWu9n7Akuvj8CVVeY+Vxd+uS3OnzBDT+Wd+PVD0ztSkxhIHHSkGPrk2A==","mode":420,"size":1717},"data/features/font-kerning.js":{"checkedAt":1708001725039,"integrity":"sha512-9bunUiiQf6lBSBgtVCZfBpI8josVchsn6mL5bJVox9TYc4Tm+yM/KPFrTWkd3CSp4a7goKs8Q/XWdXfr4YqBWw==","mode":420,"size":1689},"data/features/font-loading.js":{"checkedAt":1708001725039,"integrity":"sha512-bZjQOwUMVIy0rBxX63LdHEZ0GrhtMVTe4rNcaeeCSPBO6YJcqDiAM9Jt6X3PdR819gP4MXtpvb0uS7SvWsJsEw==","mode":420,"size":1646},"data/features/font-size-adjust.js":{"checkedAt":1708001725039,"integrity":"sha512-mK6J+Pubg5C9RfK5vcZI8NC5dwWBw1pzDbdFbhtfUXHn01SO7ylAyY9Zho3KSCndcTBeFjMB2wnSMVRlQDLacg==","mode":420,"size":1702},"data/features/font-smooth.js":{"checkedAt":1708001725039,"integrity":"sha512-POlYUhC6JV0W/ZMlPFc4YRZrNxintUQmR/iGYR0mS1jrx7su2vwelEXUY9+2C3Q3vEW0Ow1duhjI5mXMawm8ug==","mode":420,"size":1631},"data/features/font-unicode-range.js":{"checkedAt":1708001725040,"integrity":"sha512-cuUEkUrE2YK41TaNqmIrMV+9c1RMctijuT8Zz7OxFzk9Y0lmv6G79dRbirkaxUp8BPeqwGr/1G/tDMWSk8C37g==","mode":420,"size":1683},"data/features/font-variant-alternates.js":{"checkedAt":1708001725040,"integrity":"sha512-XAobVGORjT6z+2tK6cBknhSgDy/pNpVgrgnQx+i+b9cUzk9rnU5+FdMVFjv0n7alwiaQdxf83yYTEPlr2racPg==","mode":420,"size":1739},"data/features/font-variant-numeric.js":{"checkedAt":1708001725040,"integrity":"sha512-NkW6EmwgZcEakJjAilXuIbvPGcir57WCRRBY9l0MHEduLamC3cTq3HnxQCxGUtHVCc17kWyUir4xEJuomCduKg==","mode":420,"size":1659},"data/features/fontface.js":{"checkedAt":1708001725040,"integrity":"sha512-Fyf0KraxhNHIwBuVOyDJG8PBBtgJD0rTvWmqQSyV1TL/5NDe7qYsKIIjpsItRtTASRZZ4dcBb5qncICZy/MYbw==","mode":420,"size":1646},"data/features/form-attribute.js":{"checkedAt":1708001725040,"integrity":"sha512-jXNo2W4opEZq8QoHM3jmzXTg5A692nwm9lhCw4r5j9iP5m/quQV6Wctu9FgGarwiTSbTcyxrRSuDqdMg5qX/8g==","mode":420,"size":1637},"data/features/form-submit-attributes.js":{"checkedAt":1708001725040,"integrity":"sha512-B+B3AYDVBmlid/5Lip/Xi4mAnuMCF40vYXKOcQsKN3w6YtAYjQlv27OkxcyOuqFwycxAgMT01flSsAAe+QuE5A==","mode":420,"size":1674},"data/features/form-validation.js":{"checkedAt":1708001725040,"integrity":"sha512-a0xIh9ch5yIKYaZ4O15pkcE1PUtVtakNxvHxy36U2fKbbCEWiWeT+EHOMjmqwyx8G/m7TMP1cmbMAtMaA1Iukw==","mode":420,"size":1675},"data/features/forms.js":{"checkedAt":1708001725041,"integrity":"sha512-GLaccsLf9IssDrV6182naPuWCtg9NKaG8RY9QlnJ7nze2kPXb0jHzkMNPRDkkJdV89zjEXGf/YR14zVhOHAlVg==","mode":420,"size":1666},"data/regions/FR.js":{"checkedAt":1708001725041,"integrity":"sha512-7/WOe2uS0J56ZRHx1wxdR7HTgeA0Et2HTqOOG5wZGk1joFfFW3t2KvmDwkGRQRec5bjxgxb10cI/hIMH9nj14A==","mode":420,"size":4319},"data/features/fullscreen.js":{"checkedAt":1708001725041,"integrity":"sha512-b6609VTp/ysv4HxHGc6ta2qqTdpTORFUf9a2Vbts8RuDHsIm8GJF+wErIRsjNRcrpQXuPBo6HKlZb0KPHpMmXQ==","mode":420,"size":1732},"data/regions/GA.js":{"checkedAt":1708001725041,"integrity":"sha512-auE+1qdm7M69GQ8vI+HKt+hTBC75C71+3ruxhQKSfXFjM1WpF6FxzhByvs21giakjgjH2TyfVrrDpaBUEjnMug==","mode":420,"size":3740},"data/features/gamepad.js":{"checkedAt":1708001725041,"integrity":"sha512-lLW4OVXWfBvcfQ3nzNrecoSV86pX5Jmw/dechApfYXGswaNMSWl8rvqGebYLnDgVrBWA9Q+z0IVkvPH+0xb95w==","mode":420,"size":1634},"data/regions/GB.js":{"checkedAt":1708001725042,"integrity":"sha512-z/WtDquoBMGtvIloBtLkLsGesRMb6nmDHz1E25wcqZrTHKK5rNHusU9RLaxW6KhLWEfF4zs1An0YBqaaeysQLg==","mode":420,"size":4054},"data/regions/GD.js":{"checkedAt":1708001725042,"integrity":"sha512-ko/GqeSMbI7ABTg7dMyZw1GAxdNObUir7ZxCp1o41mc+CStv/upDZbq7C2fr+tJrRPRpWyWJQqVrc30LhsbtFA==","mode":420,"size":3590},"data/regions/GE.js":{"checkedAt":1708001725042,"integrity":"sha512-TfpKYPcpmrM3m2VUKWmavwR8l/Nd0M+NiuX9cPuhJXoqd0oSDaa82dzpTZBhXroUa637j4KHEOVII6JIUe+1rQ==","mode":420,"size":4242},"data/features/geolocation.js":{"checkedAt":1708001725042,"integrity":"sha512-oDfTO8hnBlbLzXsA8/yhH3k39SGxkoLGWfKal9FKiOOy3VyPxjI1OwAeXU6MQxoL8dbvqkge/lL+ssieWZ5YJQ==","mode":420,"size":1723},"data/features/getboundingclientrect.js":{"checkedAt":1708001725042,"integrity":"sha512-jHlmkSFHH1nyEejZKcn8qjL7ud/A1AJI7CuNystdbyU6kSJw3T3N4bb4X2H9GN/D7tz55Pv5hXFEAC/W6Ou2aQ==","mode":420,"size":1722},"data/features/getcomputedstyle.js":{"checkedAt":1708001725042,"integrity":"sha512-3RZGCS2AKkfiY2geFsBAw6XlWpG67qVk8WimDXkZj9VWuCNd3vGvM7HOhnlUA6OVSDG0jbwCRows3sqXDK6K9g==","mode":420,"size":1668},"data/features/getelementsbyclassname.js":{"checkedAt":1708001725043,"integrity":"sha512-tXloFHeNlZOWkQbt+uwMp1F4iuDIOoV1pBhRNf+elyV7BVJzQex5gqB41Vbm8raEnYfPnUnwRe4btOf9kghzIQ==","mode":420,"size":1620},"data/features/getrandomvalues.js":{"checkedAt":1708001725043,"integrity":"sha512-Rl16bAbNfuzO4ypOvM0GATKyPEDYgdeMXPKgQWVJ88yUgaZ7TmHn+O9zSsQM8nXwVqkLFmv8323DrjanR3pZBg==","mode":420,"size":1660},"data/regions/GF.js":{"checkedAt":1708001725043,"integrity":"sha512-ZP971G+Dn9Vkk6FuSVEN0QRctmkfHrtP14ES319KIrvHdWF8xJE2yJhp9vjPaTW+cdCEByzDbASrP2y2BV+R+A==","mode":420,"size":3728},"data/regions/GG.js":{"checkedAt":1708001725043,"integrity":"sha512-SPGp45ssLt6BAJt7sjs/DvAkunPnKRYuHzff2ikuAaCPFsd3fTExZUKjGskcu8uy0zxEBEpI/DWDUwdIa9lXKQ==","mode":420,"size":3279},"data/regions/GH.js":{"checkedAt":1708001725043,"integrity":"sha512-D6D6rwIovw3uTYI+6SF1G4V2GsZCI7k6PrOY0QmTZTAqCdyyYJC53zisBmYbq3DRSTO7ksV8j5Ll+tYD+pQRWQ==","mode":420,"size":4821},"data/regions/GI.js":{"checkedAt":1708001725043,"integrity":"sha512-pgle+JPFlJlMXAOHjPfn6PV6CX0r//yR8Kg14zbucSCwNOf9xFaY8h2O6ul4lAq7PsbAHHisl4Heo2VPOiXvpA==","mode":420,"size":3524},"data/regions/GL.js":{"checkedAt":1708001725044,"integrity":"sha512-5t6UEY+oxB3+r4qihzBNU0qnlXLRToWwyVL/4TiAY/qaP65X49oBK7KCkDSNsphAkIGgfEhk18U+dkvOQvAV/Q==","mode":420,"size":4580},"data/regions/GM.js":{"checkedAt":1708001725044,"integrity":"sha512-ZB14MGDshjfpA4fK/u1UlvxC1M3WMwteueKj7iee1tKBy+5L/QTkA7jOEF1iBFjhQuf4pjdavanwB8ECL2EO5Q==","mode":420,"size":3964},"data/regions/GN.js":{"checkedAt":1708001725044,"integrity":"sha512-rI4qpGfqm/LK4CWPodPx1Z8Hy10QM2YmEWBY47PGQhxk0nTRsHgaYkmBylbNMR6DakVg4EHHy7SFKm1spvXTgw==","mode":420,"size":3672},"data/regions/GP.js":{"checkedAt":1708001725044,"integrity":"sha512-qQuZ1kP4ro2X6s7EXQl9CVn6dUMAi/YcAC9fBJGW2ZVSA0tGh74VPtb5JnH4Ie56KQPDC9AtVV1zg+P0Udec+A==","mode":420,"size":3781},"data/regions/GQ.js":{"checkedAt":1708001725044,"integrity":"sha512-ozWU6cuGhv1SRfFl1YTxezXd8mDllaQnBsrUsOfQXnrrtNBcrB8AotagGJb7rtNDTHCThO7+egU0ggAkZyNV+Q==","mode":420,"size":3706},"data/regions/GR.js":{"checkedAt":1708001725044,"integrity":"sha512-uZu362jNmb/r8yoo2Smr2Wb+uPK3jOXHH7OatWm0zc7doBfFA24le8Sj4Cq0zULWcK7njchithrNqny41ThRVA==","mode":420,"size":4045},"data/regions/GT.js":{"checkedAt":1708001725044,"integrity":"sha512-t5THUK78X08njBqVPUvAeoLIgnHoHjcN7HPDd3bC9+C/E6DKOE9FVLHfGKtFZpmSsI6+ndos1qYWgyGI2ro2xQ==","mode":420,"size":3832},"data/regions/GU.js":{"checkedAt":1708001725045,"integrity":"sha512-3JsR6MwKAX2FxYbIDOEhyExmlxgLQCC5dudNNE0Ygjlxnv/wpxbrL2N9NXNKluOzMmYa7jT5QwGjb4Q0BMzEFg==","mode":420,"size":3453},"data/regions/GW.js":{"checkedAt":1708001725045,"integrity":"sha512-xCgfizH7mXm+80Y2c7OW/25XK/8zklAHczdpznkYQ3gQ0Mq5k5ZM22qRsBS8NJstLprBdY9MAV0u8GpmcHYtOg==","mode":420,"size":3185},"data/regions/GY.js":{"checkedAt":1708001725045,"integrity":"sha512-XFqKeowEZuAq1U5NanDUL36CkfgXU83cZmBzEC3QhU4VPK2ils8hxrzpmV9WJoyVtpJu30P6Oyv//BxYiDrSCw==","mode":420,"size":3763},"data/features/gyroscope.js":{"checkedAt":1708001725045,"integrity":"sha512-qlMfBy9Lm3Y7us3gu+7iDK9rn3r4NjltHZvCWMvQm52hnpUWZxOsJmOu0OQfJXLar3U23raazodOkATTaFGfrA==","mode":420,"size":1621},"data/features/hardwareconcurrency.js":{"checkedAt":1708001725045,"integrity":"sha512-KHOtlLoasYk1ITwSzLRzv1YQwFfhrpuVj8NgBfG/urKjApcHv2yInxj6iqsObjRksL/00g0m9A65lG+YRPPoLA==","mode":420,"size":1671},"data/features/hashchange.js":{"checkedAt":1708001725045,"integrity":"sha512-Qr6GXCxR/3I3fscDOB4UIiKfPmH6ecMgc65SILql22cusKKbDTslQMgWWxVkGJ2/g+XAOql4WfnVKJipvm/wZg==","mode":420,"size":1638},"data/features/heif.js":{"checkedAt":1708001725046,"integrity":"sha512-sOP1gucqTcC1udTxyoBs0a3DkbJRsOtJjNulBizifOsZpbbiVNjmLr0pvQK7grWYVoMFmmoZY1XpmcSJBDAgAg==","mode":420,"size":1624},"data/features/hevc.js":{"checkedAt":1708001725046,"integrity":"sha512-niWaBenpAYkyoaDEuYTAnj12/2AW+n/MRIP4TxNagDRejmUbqrgkTpWLYXVVhuiB3Al3PaO3oRlZ7DfgPZ2bdQ==","mode":420,"size":1706},"data/features/hidden.js":{"checkedAt":1708001725046,"integrity":"sha512-TTkFFY6L5Nt+DqMVf1CPVLWHZYeVDZ6WtDtMTkNLGstb7DT2b7BIHKdmaOrXzSVyZbv+h+AOLc33E2WY7HGAFw==","mode":420,"size":1650},"data/features/high-resolution-time.js":{"checkedAt":1708001725046,"integrity":"sha512-P2nPUrBPVPhq0pmPhpfe6TuQ3Dgh81JAbwWZnpESUN4ooDZri83gkW7E52xrq0IiKDy9zH6NRjHMtJN4M5K7kg==","mode":420,"size":1684},"data/features/history.js":{"checkedAt":1708001725046,"integrity":"sha512-UbM3sHZsvvCO2cL6/B48TsVaxyurpfE/0Y3Z50ilAap0CdS2xY9li7Aj/caoSN9s4Qb7607g+fD5/3rq8hgs2A==","mode":420,"size":1660},"data/regions/HK.js":{"checkedAt":1708001725046,"integrity":"sha512-xlBLU68NZuFsHxpmcX7Dm48HefUhc3JmwsZWsU+8Z+LbjqtQpJqxxsEaopXiTIfT1fX0nc/Vf9eCgRZY7FVSpw==","mode":420,"size":4164},"data/regions/HN.js":{"checkedAt":1708001725047,"integrity":"sha512-wLSfu+SZR2ZSUZtU1ef2EB0k3e1iIsFn0z0ER/YXjf1z7gntEgf1GvjgV6UDgiKN4eoLDydt3PyPwixjprn96w==","mode":420,"size":4035},"data/regions/HR.js":{"checkedAt":1708001725047,"integrity":"sha512-DXDaLTUgJTMklzv+UR3T8d3gfFhn0V1PgjQ/Rzx+ZfTt3lcKhPsypDPIPQdtWvJhbKvnVAsLyaV7rlM4IGWYEQ==","mode":420,"size":3984},"data/regions/HT.js":{"checkedAt":1708001725047,"integrity":"sha512-JeB2paMdzRMAXFbqW0FYfm+ifmr+CJZFc30bOtLvJvU4AFFTfp5n1QlPHZJ3frR9//v+XvUAoJt0hcPHZPIN0A==","mode":420,"size":4110},"data/features/html-media-capture.js":{"checkedAt":1708001725047,"integrity":"sha512-W90/MaXSn4LDoOQMj8bE2uq61gKKeYMVuEYJOAfElBrS9HBVS0O7BtJkwzoyBN1LNX/i5yXIv19YsLofvMuRiA==","mode":420,"size":1630},"data/features/html5semantic.js":{"checkedAt":1708001725047,"integrity":"sha512-eIbo17wwJLfgwb/d8IBZYfNRRvG/oc2PWnjsP5YxKnm1G1LAH37uwIdGGRG25BWQw9vlk6zFk7MyBT9id0QNag==","mode":420,"size":1735},"data/features/http-live-streaming.js":{"checkedAt":1708001725047,"integrity":"sha512-y6umAckcmL0n7jLtnriD8QrjKtkY1sv0JwgNL4JoMDfvDLXU4DXpZRCMDOSF7ecznz5dmiyO5qIP4lTLJWD52A==","mode":420,"size":1629},"data/features/http2.js":{"checkedAt":1708001725047,"integrity":"sha512-kaK7feWQLwRRgLH7GL8PzlSjiY1IqLhWa0zJ1YUNHZVO94sYn6MPGbX5LRWaR8acAC7+lmoy6tOEK2TB47JagA==","mode":420,"size":1709},"data/features/http3.js":{"checkedAt":1708001725047,"integrity":"sha512-Uwc7OGnBfupF+ej9oRuTNr04TK2bPHPC9j/fB4BdCc5Hl45ES1l437llsJrrMORQ4krhR1D/sfvLKy3/wBorqA==","mode":420,"size":1724},"data/regions/HU.js":{"checkedAt":1708001725048,"integrity":"sha512-JCdMl/j92xMX+i5VrKjQeT5MbyXnJogsbVzbQ10EHGkWLMtUIidFrKUv3/sxma0Ihn8k48lArWe7muXcgnTNvA==","mode":420,"size":4063},"data/regions/ID.js":{"checkedAt":1708001725048,"integrity":"sha512-RxDieUDr1fdaS6/gse1QiU2yt+k/NUTUFxqdQgYjn7aGbHTeW/FAMvURnPA5ngu61Y1KRR7xMhw7dHgA/U1cjA==","mode":420,"size":4035},"data/regions/IE.js":{"checkedAt":1708001725048,"integrity":"sha512-b5YPa0NtvgLfosXAJZ3Yv15PlCGI0h6VQYxVPszf8Y7mpQc6GMdprIStUnncY/czZ7orknQpvLc0Kmsvuy/5LA==","mode":420,"size":3949},"data/features/iframe-sandbox.js":{"checkedAt":1708001725048,"integrity":"sha512-oy4sLAWjRU1hjA+90CqILPOtKQrYSSg+Yux56jgvRCmM3p/q5/1et1C+oXaTCj9njWlUJU/WqHfg0x4/HYdz/w==","mode":420,"size":1651},"data/features/iframe-seamless.js":{"checkedAt":1708001725048,"integrity":"sha512-qAckg9GNH2tqvyFuc9qeOThLTsgLyU9kE3eoka1S9s1EvcqbbIcH6uA04l6J97UIowVGfBg7stFMCbuZlHiUNg==","mode":420,"size":1627},"data/features/iframe-srcdoc.js":{"checkedAt":1708001725048,"integrity":"sha512-WLV7WtM1rptmchcxZp4s+VI3GaoJ0pe+pmsqFf38zvfVPUs1zOlMvM424kHct+vNWi+10BkAYPPuVXoR/LB1cQ==","mode":420,"size":1698},"data/regions/IL.js":{"checkedAt":1708001725048,"integrity":"sha512-CtqQSn3+blgC1WQyH2S5iMXBdvmktgNnPvzbiae3H4xwoHcGJ8gHxZmSk27s9iO3VxLMAEt71Ck2MlBJ87oWCw==","mode":420,"size":4476},"data/regions/IM.js":{"checkedAt":1708001725048,"integrity":"sha512-arJOSugsj3iFAjEkcbuRL9P/U080WaNJ+b6NMcrEU088dJGISBMoBE1bgfNpjk8TY9jj7XwKuuzCWBYTrIWZcw==","mode":420,"size":4087},"data/features/imagecapture.js":{"checkedAt":1708001725048,"integrity":"sha512-OyyqVQiPLyzzLJybAhauIi6DGXQNEpmZDTp4YL6wrXvBeJ6hr1x7yqZzxmThKS3uKvCxIsyd2YWnkpjS15o6qw==","mode":420,"size":1652},"data/features/ime.js":{"checkedAt":1708001725049,"integrity":"sha512-nONBGf2tfXExanaLRQ8lDDmYeOoOS9KGy5d1kK/GVgG5AyFkc0JYcnSQST0ooS2VOGSWFe4O8IjlV1x4VZME5w==","mode":420,"size":1621},"data/features/img-naturalwidth-naturalheight.js":{"checkedAt":1708001725049,"integrity":"sha512-lZnEvPYtT63tv8GeKU7Zj2qMVvXhxBmcisOhE8RALTPz06qaLOk5GetsreiI11le4SJP7naTg162obVg+h6gWA==","mode":420,"size":1625},"data/features/import-maps.js":{"checkedAt":1708001725049,"integrity":"sha512-BIkqLT6K2EgwCIsE3UpYB6wjfbjWa3pG2eW0X/rqBwB+O6fGDz7fGyrPb4sJ8gCenqk9AVqblCo7ZWzfxAfXsA==","mode":420,"size":1671},"data/features/imports.js":{"checkedAt":1708001725049,"integrity":"sha512-/QC7GlWa1mBvSDNCiIbx4CPIceYlUbHB+Q+c4XYxsE0xXZCJlSY86vpK3PEP3U1L//yyyHAt1JZdfA1Aaq3oZg==","mode":420,"size":1681},"data/regions/IN.js":{"checkedAt":1708001725049,"integrity":"sha512-OgyL4qR84ksLXW7uaQs8azLnuXkHIhR6lnLuOQqGUfFFrkq9FnCSClKpI9lZKe1KfJsxh80dhdDgqPGY1WjE7Q==","mode":420,"size":4154},"data/features/indeterminate-checkbox.js":{"checkedAt":1708001725049,"integrity":"sha512-D7qxJyYyHVGSyy43ak6OJJiUbN0cO5y3fcyv2hPz/t0yBABwgQpJbYjMfnm+6ig9nhuFpQNuHuGEAGDrV/Tg6A==","mode":420,"size":1652},"dist/unpacker/index.js":{"checkedAt":1708001725049,"integrity":"sha512-repar8LQR7q8JNwGOcGqfl0ehCB5g4XsUhjuMUvjx/6ytMRbpSJXONBoWyX8K6Lpux099a41xlPaSf9R+WmR1g==","mode":420,"size":198},"data/features/indexeddb.js":{"checkedAt":1708001725049,"integrity":"sha512-VwgLBoKqrYIJk+aL1PxLq4VEZFUiqhxTZFdtz27gM3Yc827MWOADYzsDF5CGcKKKxlDYM/jbMJ8/jCqRjpDS+g==","mode":420,"size":1727},"data/features/indexeddb2.js":{"checkedAt":1708001725049,"integrity":"sha512-2pq5qOm6vdTt7GHE54psrCKjonhOspSivK+9WmA9oz9iAh15mBbO1Pr13CTfttT7Oa38q/Yhca135NljiViVNw==","mode":420,"size":1712},"data/features/inline-block.js":{"checkedAt":1708001725050,"integrity":"sha512-DEUcjZRZWzVYXYfYd3m3k/h19+MRAKe+lQHkw1+rBKY/SJQYYZ19DywZScsc2DmrGSMuo0qbfFIUr9s0cnBmsg==","mode":420,"size":1611},"data/features/innertext.js":{"checkedAt":1708001725050,"integrity":"sha512-+MdGpNEf7qr6286Q40q5mfbVKDDFJ+iYzpG41jpjfkUrvnZVyTJXPc1ZQeNwkPJ3DeDdKKDykauod86Th+ji5A==","mode":420,"size":1636},"data/features/input-autocomplete-onoff.js":{"checkedAt":1708001725050,"integrity":"sha512-T0WkktKVo5en0O/BkTO1n69SXLGdK548COOxHTqbCvoXyHEyO9i20vy+KahjbjLk4L76n0uR07lr53gDYV//JQ==","mode":420,"size":1698},"data/features/input-color.js":{"checkedAt":1708001725050,"integrity":"sha512-UshWA+sJPfS1Spebwl0FkGwK8l1DZ5hR4KjlvrvzlnG8/J1qqKvCLQ5+EnLvrW2vxi+GUjT1SagSqUrkpSPYjw==","mode":420,"size":1640},"data/features/input-datetime.js":{"checkedAt":1708001725050,"integrity":"sha512-Vsi9HoPWUKEujuVqo2ce/k5ZJdILBGbDdj4qB2njZtN+epV8Bk/VzKnixrtgn9fruNdAyXmBVPhICk9JO9hVtw==","mode":420,"size":1692},"data/features/input-email-tel-url.js":{"checkedAt":1708001725050,"integrity":"sha512-o32P/9suNjawuwQRUEwEoXQF2JPUF0lV6mOJoZZxRx5EkpUfOYp8JK1WnTNKUxvPStrNxLfhn4DZvq/JwYBZmg==","mode":420,"size":1654},"data/features/input-event.js":{"checkedAt":1708001725050,"integrity":"sha512-rDgbI5o50zacscio7+dMpv/XbhL8x9hF0TQCQ1XFZjcCQb/x4OkumvLCjUvbkJGhyqCe8Ne4ZW11Iwn/Ri/iYw==","mode":420,"size":1809},"data/features/input-file-accept.js":{"checkedAt":1708001725050,"integrity":"sha512-E98akwp2iAnEJP4eagfFh9MgzdNtEWx6ikP+qiT6WLHvU/lWVozkk2hpcO/w6XIe/Vsr2x1uqKZ5Clpywoi0OA==","mode":420,"size":1741},"data/features/input-file-directory.js":{"checkedAt":1708001725051,"integrity":"sha512-88IK+mgpdWhegW3Hd266kSUNJkryiEGgNFLnuPz7XZx6HWkpuA6USWuMnQDUixLxFhd840A30WAdm1L4VSK0qg==","mode":420,"size":1639},"data/features/input-file-multiple.js":{"checkedAt":1708001725051,"integrity":"sha512-oBeaEWzRqj8mt1gjib8LqITyCILa8mhF7NOvkGZiLs/4LN+PeyjCfB2eL4Da50bSgPtIhU1iuK/CpXvrxtfzow==","mode":420,"size":1663},"data/features/input-inputmode.js":{"checkedAt":1708001725051,"integrity":"sha512-Wq9KOxJzrkiqnLS8BPcfHGuXYjacai4y0I8hos2RWq8YykQ3z/ThbMBMRGzRas6mvGyv8Gf6VVYQx8ZMwqUWig==","mode":420,"size":1671},"data/features/input-minlength.js":{"checkedAt":1708001725051,"integrity":"sha512-hRnKuf15EMprwwsz4qCg5Mi8eKUgJJvWUvSwtel7And/K1PPDm7qOEyNenUF9B2z0uf3MyB96bbqX0P/alzchA==","mode":420,"size":1675},"data/features/input-number.js":{"checkedAt":1708001725051,"integrity":"sha512-lVib+vGJHF6dejHjTDMZcg9dX5/j4mwtYzgL5gsZ6kAF4j18AsHEWdyuDVjr5y4XvLW1AgaE5RFXfd8W5Y6mVQ==","mode":420,"size":1678},"data/features/input-pattern.js":{"checkedAt":1708001725051,"integrity":"sha512-m6XTPUPASudOYOSnsrkWRqrvRc5G9RMn8zgWSxhgC1GFMM0YYtAUekJKKmOHiF7UEtKyWEeRYBorDYXZ0ANgcg==","mode":420,"size":1682},"data/features/input-placeholder.js":{"checkedAt":1708001725051,"integrity":"sha512-Wv+0qS/AmMap0SjTFB+aZC4mbm1FUAqQ+PscYNRBxEpzAEfJs2Wa7/iRUt6bGZsSNQvMTREBV9kTaFvW8oAjhQ==","mode":420,"size":1647},"data/features/input-range.js":{"checkedAt":1708001725051,"integrity":"sha512-FgxGDTYr46/4xuaeO/mc9lS8NJIlzAaDYmJhHs2Zzzq4IAWdJHlsrEl6r897Jy2YrGsAnW/Iv8PwN5INrvGGmQ==","mode":420,"size":1614},"data/features/input-search.js":{"checkedAt":1708001725051,"integrity":"sha512-DD19rT7KcJRMdizmV5dX46t383kz0TFNSi3ih7FtdrZpPAsiRzJoKZdAalbAhNvaMEPpnOAfUlmG0NROYYfytg==","mode":420,"size":1709},"data/features/input-selection.js":{"checkedAt":1708001725052,"integrity":"sha512-sDBkA+YQ+Itrhg22E9zG5WgYFCCXSEsiy/VTNrWVdJAMo6xqXonkngMZSnuUCiQn0E6+rXDmhEN521ARVQfB4Q==","mode":420,"size":1640},"data/features/insert-adjacent.js":{"checkedAt":1708001725052,"integrity":"sha512-eAIZo2QiYltAt3tgCxR7uUX3bJUSU37l1feEAxHmqYGlAqCgfUKdtkz69LJrAMwGJfHmdvwO2xJ1nl7Gn7lf2w==","mode":420,"size":1663},"data/features/insertadjacenthtml.js":{"checkedAt":1708001725052,"integrity":"sha512-/xueFuLufNHt8wVBL3DRFv6sGSQZhTHUo7r5IA+RqPME3YoUVdks6PiCsDfsQE/efuWzEPElO/lH8HoOu6Bnbw==","mode":420,"size":1650},"data/features/internationalization.js":{"checkedAt":1708001725052,"integrity":"sha512-9a/5XKRtabp/v6cg/bcwIaou+1e0XlGtKLiog6qjdIozMk5nV3lBlpy5UfRdlX+81T1ryOJAVh2mDglxX/acnA==","mode":420,"size":1658},"data/features/intersectionobserver-v2.js":{"checkedAt":1708001725052,"integrity":"sha512-bfudkR2U6MuUIQdziELvGfkeva8cBLs//4bm/7GVyKIFqU+6mIzM/Oqm/88kobbhcrjJKZyGXAYJ22NFgsK8Kg==","mode":420,"size":1633},"data/features/intersectionobserver.js":{"checkedAt":1708001725052,"integrity":"sha512-3ruxQjycB6c9GBP/34hXaNWsyqZYjph8tJCEZJCKA/OXbz9YMfa9Y2TPkxxnGF+WbOSffR6eZKW5DAmdxo8HPg==","mode":420,"size":1724},"data/features/intl-pluralrules.js":{"checkedAt":1708001725052,"integrity":"sha512-3YyGq/AogP9GyW8Kf4UtFTqCj6RSuh64Iji7XAOQIMJtHS011xRoPR06162yBU3KBlgC+2bUphXSlbLcKzWloQ==","mode":420,"size":1662},"data/features/intrinsic-width.js":{"checkedAt":1708001725052,"integrity":"sha512-D7c7WQBaICGARm/028ux95L3Jv8ZJ0CpVrRWF7dysO0Y1f5vIG3Wtb/0AS/E8ts3GV+h3SrJqdgrRXiiS897nw==","mode":420,"size":1837},"data/regions/IQ.js":{"checkedAt":1708001725053,"integrity":"sha512-TXaebqAqrbb/IbKO5EiOlu4v0VlimPuDToI31/fx47RVzR1UxZrmel7y2bua/roVYvXGqas1pdkViYmDNC7n0w==","mode":420,"size":4411},"data/regions/IR.js":{"checkedAt":1708001725053,"integrity":"sha512-OUvmHBm9HUfVvEJOyPLY3v+0UrCCD3lpCuBR6wi5jT9XNIz1hddZiCWOxseoRV44RBkfPzzfEMSk8qm0PHBn9g==","mode":420,"size":4685},"data/regions/IS.js":{"checkedAt":1708001725053,"integrity":"sha512-dFh7rpYXzVynO7MPuHo4ygcaFftu1cwlVA5qmcGdji1zhI4PkqUqg1Jy9UKN/L7JOGfswrl81ko5VIZpRlnyWg==","mode":420,"size":3666},"data/regions/IT.js":{"checkedAt":1708001725053,"integrity":"sha512-RaiNSvDRbHkCUqyB1pQyMiVmmrZq2cNXfQlOJP8wJUoNui33jF2hU6qVXhrRpe6sat+fbOqXVADjQdFWlLaIfA==","mode":420,"size":4193},"data/regions/JE.js":{"checkedAt":1708001725053,"integrity":"sha512-qCK/qaQvXG7dhPBrBTIZYf5ejmKIEq4Xe6ECM7b5e0Lvb/f843Mljm2xvi9xbFZLm7pLGCxFaT4TItbDWjLtfg==","mode":420,"size":3281},"data/regions/JM.js":{"checkedAt":1708001725053,"integrity":"sha512-j6VsdKTtACxNaF1Mbk7AW62y9RCRoXMOWZpRy2oplMfTo1D0EUDmdiLINHTM4w6n3PP3Rhx5RCQqwSoqGbK08Q==","mode":420,"size":3938},"data/regions/JO.js":{"checkedAt":1708001725053,"integrity":"sha512-8j9lXphAb1lt/nmv7eD27ef79BWYvNb04BapxRmxVRMn2hRN7AgB5qdTa8xud99Bj0vc8/mlSMVgk/ZTQKDxHA==","mode":420,"size":4084},"data/regions/JP.js":{"checkedAt":1708001725054,"integrity":"sha512-oGbqgOzYjLhlsZmdstpDQX/0v1GSe8fPcYertnVZ3iOGNf9udnFzSFRWYyIFCt+lmbWvgduLHSThBnIRKefthA==","mode":420,"size":4242},"data/features/jpeg2000.js":{"checkedAt":1708001725054,"integrity":"sha512-GQ1FsyHHF7vCxFQ1DWfvwkArOG+VfLwOHyTzAK3fE92vBYUAQjOmrWQmVZVChukae5bUTgn0IJm2GTez94KkmQ==","mode":420,"size":1616},"data/features/jpegxl.js":{"checkedAt":1708001725054,"integrity":"sha512-qsuWbquCXDwikzn3sPc9/Nc2JyfqFbItTiri5ZCtfXafbKeTV/uUFKqBShTLtoIXA2ewffXbtm/lgLZ3psPd5Q==","mode":420,"size":1638},"data/features/jpegxr.js":{"checkedAt":1708001725054,"integrity":"sha512-a2yNAklu9TC8orsexDd3rYEVwU1d0lhCFmP6CC2lS8qe0Mjx9uFLgeCtcG16OCeLlCU26sgSM8uM4OcMbTBcJA==","mode":420,"size":1606},"data/features/js-regexp-lookbehind.js":{"checkedAt":1708001725054,"integrity":"sha512-Mo6ODW9OMZQQCGUF24St3y92s1mfBFGgOaQeuwROo3pcMSTZIlx587uBDZNH18dg6F+CPmtG9MLpwhn9/5OMYg==","mode":420,"size":1670},"data/features/json.js":{"checkedAt":1708001725054,"integrity":"sha512-Ug03wC7o82AEXTQx5RBVoUdKg49mQZjgFTePW3pq1PPB6EusIn9D64Br9FyczJhsY0S3HyjxHOboZvw7572qGA==","mode":420,"size":1624},"data/features/justify-content-space-evenly.js":{"checkedAt":1708001725054,"integrity":"sha512-wYhAVyBZ4SuExcA9+mkKml3SJrRW8dofIwHjYZ24jVI+L6XEWlvZa3GE9FXZ56ZUInIyYfdVB7W3IDbUAty64g==","mode":420,"size":1717},"data/regions/KE.js":{"checkedAt":1708001725054,"integrity":"sha512-UaPA1Fjw/H5W0TDwUnrs7sD5NAj3+iaPvjxYw3k6uf0MkyDt89a2o2agnedwSHC0ciGvPxgJ5D915BW7khAh1Q==","mode":420,"size":4263},"data/features/kerning-pairs-ligatures.js":{"checkedAt":1708001725055,"integrity":"sha512-0xqTO+ydSCkFjzymfL6JaryoHbgEf2b56D4oLOkwh78goKl9vipZXmh4/GAY6tnWKjXt+MAA1LdXnQ7duxOsLQ==","mode":420,"size":1669},"data/features/keyboardevent-charcode.js":{"checkedAt":1708001725055,"integrity":"sha512-V0DcC73GPpDa0B2+74eRcoyMOuEOdh6cm6/tfm2gBvDXfJ9lq4XNbappwfTU5GFMxxxvZGFk2I9EvYCP+s5SKg==","mode":420,"size":1660},"data/features/keyboardevent-code.js":{"checkedAt":1708001725055,"integrity":"sha512-XBjf3NqHg2NBaVEWGZ4ogb90wyeiZzrJTtb6wBDu2JkK2MVWesDc8xNbSIpB6JB0Fg3XXiYn6OEACzJHo9NUBg==","mode":420,"size":1656},"data/features/keyboardevent-getmodifierstate.js":{"checkedAt":1708001725055,"integrity":"sha512-Ck6Za3AIA4JcpWwpKc/QsvCPNXXNDcP/J2Lo4FHIMSYO6wjEN9RvYeYfjwEaT404VyqPmU2PGpy2M4m26Fsq3A==","mode":420,"size":1668},"data/features/keyboardevent-key.js":{"checkedAt":1708001725055,"integrity":"sha512-/su3X2+PLKPNgZiXNHDP9JGrgwrHws26gBa6J70YDgmxp4KwAN7VkaMuXAwBzokF41GBJeWKhsab5Spqr4hsrA==","mode":420,"size":1679},"data/features/keyboardevent-location.js":{"checkedAt":1708001725055,"integrity":"sha512-Qv1cs3J3Ewpm58nGKfAojPRpqNwuUmOiKWj41fVclZrFTsYDz4R6WSrUd5crkUCfk3DDLgxsWO9/8Alz3Aingg==","mode":420,"size":1697},"data/features/keyboardevent-which.js":{"checkedAt":1708001725055,"integrity":"sha512-KEuDcH7NwpKzBnyE2zNFWUnGsiE4Tm2zs0+Hr/wIlFlQUQokqwhkBklKWtP0o9Q1uTjq6oWw/4dBKZqvzW+NpQ==","mode":420,"size":1655},"data/regions/KG.js":{"checkedAt":1708001725055,"integrity":"sha512-UEJH8JJf+iG/32K8S56TbzgajU19PLIYNpp6nYIGHzj+jt5hnWSz37R7L/3UGPW6BQ0HEgMyLOg4dIxunDjcmA==","mode":420,"size":3941},"data/regions/KH.js":{"checkedAt":1708001725055,"integrity":"sha512-ZDWpdEZXL/YdaxfodXzAg320be6+4aKHnL60S7ruoxwElSFghQztGR3tCTDikMphNwGTNU9ZEt4QHH5XvZQuGA==","mode":420,"size":4385},"data/regions/KI.js":{"checkedAt":1708001725056,"integrity":"sha512-wEjKuCowYtJ2D8aeHoHP2fT+f8K2aiGk+nrFH4jC1rgBTOk6iZy8FTQzwgj4dNydmRpP176+j1pnoMYFI2bJ9g==","mode":420,"size":2985},"data/regions/KM.js":{"checkedAt":1708001725056,"integrity":"sha512-XhzoF9ESsDYA7SuhPoXrlJzg71v6P8KGdL4M+KY1pibTHv/P1stqKymQTfII11UIUljuzGQOeeA1CiQeoLDSIg==","mode":420,"size":3541},"data/regions/KN.js":{"checkedAt":1708001725056,"integrity":"sha512-jN0/cfb066KHC8XdYWTj/fyYeUk0+5QYDzXSD1Qxvli3pShkvwZagtFNUPdP3fw3dshu+efpW9Ftw4GeQo2I/g==","mode":420,"size":3574},"data/regions/KP.js":{"checkedAt":1708001725056,"integrity":"sha512-7jD3V9VwvtEUVNnC6Cf9eFlCIyBFMdd1sjZeGMjUJBhcogEza4HYJnJ0afg3PNXo4nUWYK2RGm8VdhOHpLzpPg==","mode":420,"size":2778},"data/regions/KR.js":{"checkedAt":1708001725056,"integrity":"sha512-5qpp+BnnvrlpcU/s8uc8pEzCUIo6Ftbh7rAWUi+TUCYDFG2SUGrf/AT7gWnH6NqNAwJenSN/pM9chALCIa2osA==","mode":420,"size":3847},"data/regions/KW.js":{"checkedAt":1708001725056,"integrity":"sha512-B9vyM53IeUPReZHBw/TkwhUPVa6afCBa514GydEK9Jm0RvJfvm4ZNzKgXYSnMbGmhwUUFaFpG1cZs3OryibCQA==","mode":420,"size":4013},"data/regions/KY.js":{"checkedAt":1708001725056,"integrity":"sha512-DYBdcT14uXHGwHLzOWhBZbo2XLrgmbefvtGaVq9ioOKL+sN5NQ57L4NH6yioBt0OREpL6mFDxDZqP8nlNr0wQg==","mode":420,"size":3486},"data/regions/KZ.js":{"checkedAt":1708001725057,"integrity":"sha512-hiKGMj4sIyspdNj0Po/71pmy7COVdR1x2dwgpLlERktKsvRFD4vyRLSlGw92jmrbnMcy8wpIaun8bTt1lHVE0w==","mode":420,"size":4282},"data/regions/LA.js":{"checkedAt":1708001725057,"integrity":"sha512-unV4uXXnRLOue3zNt3pf/wufh3oiZGDEnmb7PknY/ASxgZ8MObtpOokqyvZmFeiUrYYbzEFFvY/gkEVvo8ld2Q==","mode":420,"size":4496},"data/features/lazyload.js":{"checkedAt":1708001725057,"integrity":"sha512-w+cLSsXl0SYrxB4UxVmBWLbf+FNF8XHQsV/LacvgHXGruGLOFbgy6bqDNfBmSGpEiG4mFBeUcz8VNz7+pk/y7Q==","mode":420,"size":1616},"data/regions/LB.js":{"checkedAt":1708001725057,"integrity":"sha512-iygFfwAa/TeMB8AYhHkPB/0BK9Ao9YheVc6xINwWoLMa2c3CSN8r/SzvhqFH9nz+bD7vB6LNumK/Uqg86kinaA==","mode":420,"size":4107},"data/regions/LC.js":{"checkedAt":1708001725057,"integrity":"sha512-1Ky181/zoHQqTSxNC3MLnErygFugrtvaLZghrA17CX3cqfoMv44ws5NzcsbncodQdU3AD+D7uUZcA/4Cgpi4yw==","mode":420,"size":3657},"data/features/let.js":{"checkedAt":1708001725057,"integrity":"sha512-9z0t8VXcFqARPBWrFtzUjKxXCMgiM5c/gQEYsYHVk/u7L4y5Ex1hnNOZsT9hDvk722+kIkOqGP9tZTgqPZrsUg==","mode":420,"size":1694},"data/regions/LI.js":{"checkedAt":1708001725057,"integrity":"sha512-vEDd8WylHaHaF+abm/fjimmamLzkoUbjPzCIEuD75wvnlQRxvgpU1CO7m2ixvAPsXwegbc9vAoFA9JecOCxHCQ==","mode":420,"size":4226},"data/features/link-icon-png.js":{"checkedAt":1708001725058,"integrity":"sha512-MnH1Ub9JTl/Gjp4rGaKhKx9O4d2h19Gq7WjIA8s/PlviTOVJ4fkwNt5FkBiZCEc9VlzHWmMK5CPd0Si3gKhiPw==","mode":420,"size":1620},"data/features/link-icon-svg.js":{"checkedAt":1708001725058,"integrity":"sha512-R1y1KH5ZLBjYMEctbzP3Kqep5ryC94y6iKoN1cpXFcvAz403rbycuwyubd4rkC9VkCrhOmiUE6LcytiFkAWMmg==","mode":420,"size":1683},"data/features/link-rel-dns-prefetch.js":{"checkedAt":1708001725058,"integrity":"sha512-1Yki73VEi+CCjorTmgx5bRc1WykaujiuwRCenRSuOYo1FUwCXdSeJ+IL64ZiSTPyzyJAKJe1m4um2wDg2dMZEQ==","mode":420,"size":1659},"data/features/link-rel-modulepreload.js":{"checkedAt":1708001725058,"integrity":"sha512-85g1IP5wAOLUgIt1nz2oc2Z/4OSbF/kbn793iHnaGuvQTcuJJQtpTnoYZxAq5XfcD5BamtDNRB6DoUIZIvL75A==","mode":420,"size":1657},"data/features/link-rel-preconnect.js":{"checkedAt":1708001725058,"integrity":"sha512-eNGzRcS/HVPhA1EGVO2jUQTYLOh2CdhF1TFX+gyVNTr7oscODZoe9XIl4CZ/Hz0yaln3lkt8IOhLlg5KTEN9AA==","mode":420,"size":1678},"data/features/link-rel-prefetch.js":{"checkedAt":1708001725058,"integrity":"sha512-72VsKRPG4Bx2yB/RQNjHf9fnR+iuBrlzISvblyK0RFLacJs+2lEu6MBHXgHRtpVjFKTSAsq1c2rk0FYxbPgrDg==","mode":420,"size":1650},"data/features/link-rel-preload.js":{"checkedAt":1708001725058,"integrity":"sha512-SJdheGoyiLMIv56olAUbK1HvFJ0WTuev3AL9VJmqn2Q0qYtCm9SFmzVM1RzPpEv7vBQQ5ebJTszyphxCKad/wQ==","mode":420,"size":1692},"data/features/link-rel-prerender.js":{"checkedAt":1708001725058,"integrity":"sha512-Fg2mmXMDTjppnLBXXnZw1vDqhHxndi8V8zlOmU8RNn5/ZcSPJ/PbCHCi6dnkYflKd/g4s6CtocmbMnCfQIwCEA==","mode":420,"size":1635},"data/regions/LK.js":{"checkedAt":1708001725059,"integrity":"sha512-Wz6vZ+KhXRVixNV3gjB82BGB8DwOSciFb8+er3a2veO3B4d2YvNcM+024Jb9q1aQRW2aZutNRrx9Y5hJ5gqEqw==","mode":420,"size":3831},"data/features/loading-lazy-attr.js":{"checkedAt":1708001725059,"integrity":"sha512-45qgPB8/R89Z0kMuCql8x70usNkr9Lb08AgmZTkHv3FJDNSWIKaaK3p2leicSz91erBef6hcvc/gTPq0bxY1yA==","mode":420,"size":1739},"data/features/localecompare.js":{"checkedAt":1708001725059,"integrity":"sha512-168Tv9Z7NluATxMCLNZHgZDfAeCXJ2c68Rw12Td3YbLUNsr6ltRNOj6CUiDYPypjvMCqZPupOhnCW2mXiIoF3A==","mode":420,"size":1700},"data/regions/LR.js":{"checkedAt":1708001725059,"integrity":"sha512-sHEMHOi2J1ldJ58+pXzrdJkS8Y+/JktvgALusA6EkWDbWLVUXDb96yZYa17ss9uLlov1un6ZtJd54k5K+BlPNQ==","mode":420,"size":4108},"data/regions/LS.js":{"checkedAt":1708001725059,"integrity":"sha512-39JTwFJ1Frdn3nI1H3MWT8Iqrx00ISaYCnjh6/bd0tnLCbU8KWxor5Sh69IpAzzCV73IIZbZMudmdWZZDji/7Q==","mode":420,"size":3847},"data/regions/LT.js":{"checkedAt":1708001725059,"integrity":"sha512-Nx7Ye6l0CXpqKbNmvseFQjUH2UJ0wLVTBMzh6iZE8WhrA3IpIIdMUxsXur9UjaI2AaT57ZoCOtt7nX+Epqn/tQ==","mode":420,"size":3989},"data/regions/LU.js":{"checkedAt":1708001725059,"integrity":"sha512-zTdyiG2Tcqafutz3RMAODtLJx9w1B6kvGJDfOi4WVYoLNLgjaSD7fMLMjVQkZrkAkoVDfLV0GyZQu+SY3wQ/Og==","mode":420,"size":4185},"data/regions/LV.js":{"checkedAt":1708001725060,"integrity":"sha512-ES+zcXlc5hlNPgWwTFtO6rRV61qKTNzqmkXt2yB/WqataMJlzd1Qf1LDp4woV99+6naEIEA+IYzqiY49Lo0gHw==","mode":420,"size":3703},"data/regions/LY.js":{"checkedAt":1708001725060,"integrity":"sha512-WCWU0NhNcr0CKb3GwGpkxcQvUhXq2RBhbwdNbncR97TVhsMy0Gsng1KeKU2HMguS1ydH6TKzTjPdtk2vLcT9Mg==","mode":420,"size":4468},"data/regions/MA.js":{"checkedAt":1708001725060,"integrity":"sha512-RJnL6NNMSNAHth5ojXae3xTozdSt2eVuGWUBiO4YYiRPTtE7eS7Yceqx+S1M7N4IDIz8Hpi3NxTxQK+kvBvU6w==","mode":420,"size":3973},"data/features/magnetometer.js":{"checkedAt":1708001725060,"integrity":"sha512-SNCXtUoQHl5Ez3KhjPF7EWearNqLiaT/19YHXBcuIrNLV3nzUvTd1TMfsg+pOHlhoszYSUgGnaK8P2QOrqy1Fg==","mode":420,"size":1614},"data/features/matchesselector.js":{"checkedAt":1708001725060,"integrity":"sha512-osKI5EZMDB6T9RoclZSdgyDGEQ1jUr42P41AJ+/WGOInrHk6uNS47rCeIP/qhBDS+1GLIUjNEN8rs7w5Lfc+eg==","mode":420,"size":1702},"data/features/matchmedia.js":{"checkedAt":1708001725060,"integrity":"sha512-YYOqRW5y9dqHLX/PtrMmD/KjJsHa1ucI8J/8Li+STVk6qds4wqk1d+HNgrsbuAugLYMzKMDzW8COrZv1AQX4JA==","mode":420,"size":1638},"data/features/mathml.js":{"checkedAt":1708001725060,"integrity":"sha512-GJrHVcODtQKGldPqixsyn97wCj6TP9mGlqTshid8bvG/6sEvDb0d3NP49Llm1PnsYkRv+KEZgIcvMRGdFWQCNg==","mode":420,"size":1710},"data/features/maxlength.js":{"checkedAt":1708001725060,"integrity":"sha512-ffKv/M4VF3G4+zMq+EA0jXrBsa5SQvW15SZmlXJ2vygYGo2LYWgkaY5xIdqLsGAs0B3i/ZQwFYAciKG+kM50pA==","mode":420,"size":1753},"data/regions/MC.js":{"checkedAt":1708001725060,"integrity":"sha512-VvbhKvrYRx61h8NxKXBotolCOWc0YX2Zi2e4oFPWrdbrgNaNh9xZU1dX9suTzeAiJMKzrKcdrXXl9VGYvYezjg==","mode":420,"size":4677},"data/regions/MD.js":{"checkedAt":1708001725061,"integrity":"sha512-TIZ3ruKEVFUfMTi3UIKADl7glpUDaPravbN80/IaBbgYVv67dZ+mBhdBeIry14DFSrbWdAJbBS68cgiHZfOppg==","mode":420,"size":4243},"data/features/mdn-css-backdrop-pseudo-element.js":{"checkedAt":1708001725061,"integrity":"sha512-a28I4R0vZ7utafcTr8suM2jYTasyhv2Oto6YoIfqEBFG3AWr2sS1LmaaUwByMWiqsNvf5Imzma+QTvCBmmQr6A==","mode":420,"size":1589},"data/features/mdn-css-unicode-bidi-isolate-override.js":{"checkedAt":1708001725061,"integrity":"sha512-y9jZ7pQIbhQuA5x82ERz6FWweYhh9ejCaF8+p0jcfC5Kk5keZsPo2mi+G5OTJUSi/fyIWzF2pqOBmuFpMLGj2w==","mode":420,"size":1592},"data/features/mdn-css-unicode-bidi-isolate.js":{"checkedAt":1708001725061,"integrity":"sha512-G5DSwmmRBOy3YGR0MFjRv41333SU4Omy+bRfKGL5jEZMG4QQ+AJaShthCMeu3FKaWn/HCt1bVjW8udrwLa1iaA==","mode":420,"size":1597},"data/features/mdn-css-unicode-bidi-plaintext.js":{"checkedAt":1708001725061,"integrity":"sha512-uPiU7IOqkqjfs7kOmrDklZC4/Zn19+XTET4ka2YyoFn6l2jUhNbJmKSW9JZZvSXqUHfQsOE8kFf18YZPjitgEA==","mode":420,"size":1585},"data/features/mdn-text-decoration-color.js":{"checkedAt":1708001725062,"integrity":"sha512-TK5dGDowvI0uHpigwteO3n8KQNxieAtbAQMqZXEKZ0jw1MYI2norfOwTboweG1NaeeenoQD8P8IYugZw+k+tWg==","mode":420,"size":1588},"data/features/mdn-text-decoration-line.js":{"checkedAt":1708001725062,"integrity":"sha512-QfmtvsBy+j4B3YB6C/1CQKCfgXvcHmR3WKFeSJnY0rLXI5pr+9VPanuCy0B4MlNGQwQ5JXYoqVsm52BrRuuhGQ==","mode":420,"size":1587},"data/features/mdn-text-decoration-shorthand.js":{"checkedAt":1708001725062,"integrity":"sha512-vyYUA/jj6jcbkHv+9muy9GcsPEfk1x2h4HQ6ntiJsFvxNiv5JXEeYB/P9yisFCLA3DhhmZvBvFSsomobRBvfpQ==","mode":420,"size":1573},"data/features/mdn-text-decoration-style.js":{"checkedAt":1708001725062,"integrity":"sha512-YRcOhgVLwptztZaP3rQ6cvAmpHqZK4uFPaHA7J4CNMhL0hzf/5v4friBRSv+5XOnXsneuvO+aj4xHs44TGGK1g==","mode":420,"size":1588},"data/regions/ME.js":{"checkedAt":1708001725062,"integrity":"sha512-5F9I8azM9fwU22v7Kf/+tpUAl19uhjiWxmvRYiFu+wZ/QbyVo0xeAwsfvo9m7tEdMWMIZMlgZFDjLakPqp5hCA==","mode":420,"size":4366},"data/features/media-fragments.js":{"checkedAt":1708001725062,"integrity":"sha512-CItJAm2qQuZva1qfYdduBTSS4hzbVh5SthlwJOefZjvHZwaRYe5+LVqjNjla3cKBqbb6FgeJfsk95caiCfVPsA==","mode":420,"size":1675},"data/features/mediacapture-fromelement.js":{"checkedAt":1708001725062,"integrity":"sha512-XhkpTALRZKkMcNXYFrWCcrbIj4KcKardQGdpxT6EPMvkbgBT9aESxBDlehQRSeyh1YAj2gyqM4XviemoRgmbsg==","mode":420,"size":1689},"data/features/mediarecorder.js":{"checkedAt":1708001725062,"integrity":"sha512-IWvX4K+8sMStBzmyXqzc04OxGraxHSAk+LqupUMN4dgX9Q9oIoWyVUZS/9ya2w67v6ri7A9Pd4t1r2WiJak11g==","mode":420,"size":1671},"data/features/mediasource.js":{"checkedAt":1708001725063,"integrity":"sha512-dVuKcxq9h7pwHUsWjYsUqcaXN6/12WLGpHJ+waaNZAFX2hKqnATivZA85WH+tjOtyY9GnEEk27OkbSDFxwrPtA==","mode":420,"size":1682},"data/features/menu.js":{"checkedAt":1708001725063,"integrity":"sha512-ZALAHxcH3SEBWQ2ZwhoVOypdeWFB7R0hXsAK5llYccKvb8a/fsDU3iY9lu+tSN2sGjdD3ni3Zs/OLyv9X0o+9w==","mode":420,"size":1642},"data/features/meta-theme-color.js":{"checkedAt":1708001725063,"integrity":"sha512-9MACFLzHleo4vhgwuWopm10IO46EXtIgKCNyfaZCVHbCIB0hCFuBUrjRsx/5BFT5CE70C724lX+BW6KP0NwH/g==","mode":420,"size":1637},"data/features/meter.js":{"checkedAt":1708001725063,"integrity":"sha512-vGjkm3XmJLV2B+F1MXRZuGb0PxSwAjPrT9rVDmytW7nZLPPpruFIrJdMMFlJKPSdJZqfauwRnjLc9UBDxrmk3w==","mode":420,"size":1635},"data/regions/MG.js":{"checkedAt":1708001725063,"integrity":"sha512-nJf49I+DN2/NpICnA6iqjU5JwnAS7GfCqukXuB/Tl564VdKPuPZ4o0OdCqmdUvnWVIZ7takpZcs97HzvHOvwBg==","mode":420,"size":3881},"data/regions/MH.js":{"checkedAt":1708001725063,"integrity":"sha512-229gGbwsUpneQKDHl6vxoXzLdiEgHef9wcnRVzoaAnlqLGIvW9uYr9iOzEN4O1ojzUOsu4MlqVdB1tIdU3tB3w==","mode":420,"size":3116},"data/features/midi.js":{"checkedAt":1708001725063,"integrity":"sha512-prZZg4pMFyrLiQdy74FjS6EKB+i5JBEdu9p8016So4Ydrn7xrpL6Ksf8iRrgphWxp1ZWAWsKSI5q+rtGnBaDyg==","mode":420,"size":1622},"data/features/minmaxwh.js":{"checkedAt":1708001725063,"integrity":"sha512-+ehyQSOWs+wIL8YfbqjCLYgCGlj+RCaqansvtX7/pFV1GlTwMNlQv2+QBhJcqoPr5dhng0zbAxWoWTRyeo+nHg==","mode":420,"size":1620},"data/regions/MK.js":{"checkedAt":1708001725064,"integrity":"sha512-xVBiljE4h7+BjraNdUIiXMqDNNgHtsJ2/2ZBRL5kUO8g2MLwiP4RGW66YkU0kRZCKNe0Xo7P6fqKkhnRvILjWw==","mode":420,"size":3799},"data/regions/ML.js":{"checkedAt":1708001725064,"integrity":"sha512-LnY5VIkCKMFWWLFGlUl28zf5/6uvvepby3VHfvLEYk4xb7M7R8ZhrTX5ujqYJkrvNXqEp3gHZk68ZWt8eohiMw==","mode":420,"size":3755},"data/regions/MM.js":{"checkedAt":1708001725064,"integrity":"sha512-dV3wwbi5buziq4sWvac2RFjRbIFfSwu5nFf2+aHmQEW+LGYGQCqm98YAIw7bVT8sx2ZzhXt+wP9WO3+YtOZ3Jw==","mode":420,"size":4440},"data/regions/MN.js":{"checkedAt":1708001725064,"integrity":"sha512-61euGuGazAnMJNprdMUzPO7NJHXNHup3NUZT3uur0QSJwLb0YaNmvxL3yvWAOvvp/L5337lcIQEINdT+uf3M2A==","mode":420,"size":4286},"data/regions/MO.js":{"checkedAt":1708001725064,"integrity":"sha512-4A5hncncdNzKsboO4RXMeYh4Iul37MsOgUPXPLeDDvxwR+7mFUsahvxuS4rnflGJtGC+X3si5OeNt0ln6YNZFA==","mode":420,"size":4066},"data/regions/MP.js":{"checkedAt":1708001725064,"integrity":"sha512-bpgZm3IiV/8AvQqm67WZOOEmZgG28jPY8v/ppmCnFgGNXZRqWn+huXbOrYtiEpARLAzyuled0FI5iIW84CQMiA==","mode":420,"size":3257},"data/features/mp3.js":{"checkedAt":1708001725065,"integrity":"sha512-rZ/kS3K+A1cQ5STQjHQ3grPt5RXkqE4hbTXx+ntKJ3YfpQKWRgoEKYYEzZ8d1eKtJLNipdZ/JxvO2HaEiHnhCg==","mode":420,"size":1640},"data/features/mpeg-dash.js":{"checkedAt":1708001725065,"integrity":"sha512-DNJk+vwmWSchcyfQdZAus9Mo0zEdNoyyYeumNrlJqwOp6kmbRPDUUmMti1LZccCXn+i7LvcvblPy/vdM2uCqzA==","mode":420,"size":1636},"data/features/mpeg4.js":{"checkedAt":1708001725065,"integrity":"sha512-NzCnuUJiwwqqK7JDKoI2KloxuYd89TAOAoJbCV0U2jB5JkeTnOKgg+d3Zb14bWab9CnZG9GIO0ouS/1GBX/KuQ==","mode":420,"size":1651},"data/regions/MQ.js":{"checkedAt":1708001725065,"integrity":"sha512-leMDSlwb0Jf2eR2qFDrZ81hCBBttrRDK6rvQX2yNd1bpGbAwyEm0QUs/y1nlhfIFRkKE9qUwiKwDRmudnE0WlQ==","mode":420,"size":3619},"data/regions/MR.js":{"checkedAt":1708001725065,"integrity":"sha512-5Z9Gsp54cYIF70QxL8dNiRNtg/xKQ9ZpJtj4VPfuvOWXPrdsev4CJ8chDBTS2kPVyz9ygxD/EuItMeM0LzimPQ==","mode":420,"size":4227},"data/regions/MS.js":{"checkedAt":1708001725065,"integrity":"sha512-cbnbraP88M8oEd8uOB5yny+I2hXCBGgKUGSqc1iktaWBSbQ2o70dPBl7X973cBdqMJSkwLIzryAkbU7Snrij4A==","mode":420,"size":2958},"data/regions/MT.js":{"checkedAt":1708001725065,"integrity":"sha512-saqBifsjNREPRvUPnP7T9C46DqcJp1whctf9xMoEAlmAnIvC9mmjtDvVjiZoEnkZR/ql8YdFaD9UptwAR0R9yQ==","mode":420,"size":3830},"data/regions/MU.js":{"checkedAt":1708001725065,"integrity":"sha512-PrlRgEuXuByZjVXhJgeql6hSC003/x+APWmTn4HWZvc5hgV2BIpefd1R5yDd1AsLe3UpXB1Qsu2rOs5ReXTv+g==","mode":420,"size":3980},"data/features/multibackgrounds.js":{"checkedAt":1708001725066,"integrity":"sha512-2J5JJkRlzl78/EVgGWgI1Sm+TlaWbeRnLLkqht8HIigB94GhUgMrYAep4lgbBzoyGgfWt3iAvDaUzK8IBjAjaw==","mode":420,"size":1617},"data/features/multicolumn.js":{"checkedAt":1708001725066,"integrity":"sha512-XwaphrR3DjXJumJ9fgDhEzOq9aOxaAShXk+ikbWjsi1o8FzLkakDlLHNYMiqBmZ/REMIobDD9mgInZ3FSfa1AA==","mode":420,"size":1769},"data/features/mutation-events.js":{"checkedAt":1708001725066,"integrity":"sha512-KKk4locQsDHwmjAiz+MoCRHUDGy5zk1HKQ2ajmhTZXz8FaLj+FZ7U1GIOaNpR6Zapz0vJCKbA6M8el6X6Zpqcg==","mode":420,"size":1711},"data/features/mutationobserver.js":{"checkedAt":1708001725066,"integrity":"sha512-JuaCVA15kHbsj9KMS8hWySa2KH0uGpMP4mN2Z/tY5L+6ibRIQVoHpjqh6SD5FlAmuZDvA+kLnYTZfuI7/S+srw==","mode":420,"size":1684},"data/regions/MV.js":{"checkedAt":1708001725066,"integrity":"sha512-Mx87YOnywLeqMzSFJkwaKvX7zZQywJf6uQjBGB/76yJZSnTbic9DbGPviNACqfY8R4iOVpdnd8sbLvvqn8yUNA==","mode":420,"size":3660},"data/regions/MW.js":{"checkedAt":1708001725066,"integrity":"sha512-0TxeXVzsu/dlSZKWYsu0+KghGlM79IjDWbTb/xobAIAWGoARH1YmlXoLcSwMdibJPUTqWHh9yTIHaWx+01YKrw==","mode":420,"size":4079},"data/regions/MX.js":{"checkedAt":1708001725066,"integrity":"sha512-3bClagpDjyE4bn4iYouILs7gTseDUapZsSLRu0ecRD/c4+Jx/4pmXgiVs+7vneFvzHFgqopgSbxjpJVO7Xl9pw==","mode":420,"size":4191},"data/regions/MY.js":{"checkedAt":1708001725067,"integrity":"sha512-f/n/GcaAwG71iyCrnPZZSO7lUxDGsazTZbzApwKMQ1bjWHd/5vU/whim34QaQ/vPh3/nIdvQC6EMx+IZv4QUaQ==","mode":420,"size":4019},"data/regions/MZ.js":{"checkedAt":1708001725067,"integrity":"sha512-9tOQwz3Ct21uyK8z8n3IqHTefDahoK5143PD0gfsiMjpYum6oJRLcn+DzJmuFfQHn9zOvxHa0bqCIw4rKISHog==","mode":420,"size":3989},"data/regions/NA.js":{"checkedAt":1708001725067,"integrity":"sha512-D0Xw41h7XpLGY+wNX1FvnMt8Jhxyh3Nb7QBoEXX0k0Sbw1Mblrt3z9qEA7WE4E4dVJQn5YK2+WuvmopNf1nXtw==","mode":420,"size":4095},"data/features/namevalue-storage.js":{"checkedAt":1708001725067,"integrity":"sha512-ZLkTFrGbZvn9ku4Sq6n3XAERI6XbUI/SZKEJrAmum/QjKCMQ6eRgKTX5PWIixndBvvRAQlJpauvnn/7n777Flw==","mode":420,"size":1640},"data/features/native-filesystem-api.js":{"checkedAt":1708001725067,"integrity":"sha512-j/2a1OYwHqX0z5kbO3sNl+iEI7piWLbwHegzjJvCb/IlGRQR8ZLQzpcR3k2uYzajaQZ0l8P8ZgfsFg4bBiaoHA==","mode":420,"size":1678},"data/features/nav-timing.js":{"checkedAt":1708001725067,"integrity":"sha512-HPpAMRyslxPg6fMQ2BHtkSrWQ9ppyLIKK7RYv/0UGfh0IJEWf9tvdJlVXhz3hAqZFHUobQzAE1Sjo8vg3aYcLg==","mode":420,"size":1656},"data/regions/NC.js":{"checkedAt":1708001725067,"integrity":"sha512-tqhrHlCmwURCem3zAjtoTvlfnhX1AUV2NMcXeU4CuVN5CTo9uXJ5FLv7TkIb01sWhLKmhtVkZVpiG4t8y9C6zA==","mode":420,"size":3632},"data/regions/NE.js":{"checkedAt":1708001725068,"integrity":"sha512-OoCrGskqreBTHjvP8RsKiCSgRIQasA+bHSZTyVVT7gbal07JJF3wiywxpkoF5YSj3R0VEdR8KceCzhOfYcRfaw==","mode":420,"size":4126},"data/features/netinfo.js":{"checkedAt":1708001725068,"integrity":"sha512-cn704P1SPowRNNYzdpAy/lp53UDkiL7aa/5iAKmDhqIQYbMgIknr4dI/k9kcNfaexFH7nhULxlLPc8dM30rXkQ==","mode":420,"size":1668},"data/regions/NF.js":{"checkedAt":1708001725068,"integrity":"sha512-ERI1TmjUuVA1hFvI/FimrM4Mh2Vure84pc9KJpfjhcIkuIgLcYq8JjtNoAhARt1Esq86xm08lNNG7CmcYmSgtg==","mode":420,"size":2647},"data/regions/NG.js":{"checkedAt":1708001725068,"integrity":"sha512-d+u3pR48jyn2T83dmGv0tQQj1WKAwoyPiOH3tcBpPQoHqMMfVTVB9P+LYWExGO9l7TSKeYJPxRK3B9/OzIMQDw==","mode":420,"size":4637},"data/regions/NI.js":{"checkedAt":1708001725068,"integrity":"sha512-7REH8UL77qaoH7cFh+yU2IEpTx3CoAHrRxmvdvAvb/wF0S5Pms65NOKAw5yuqy9ekisBJAAZKe40Vgllshw/PQ==","mode":420,"size":3525},"data/regions/NL.js":{"checkedAt":1708001725068,"integrity":"sha512-+cInY9guCZqXowld0n5fO+oHBJDk4sZ79w71T7sxDa5Y3HwvK/i8w/y3XTeIcimJsF9jEYmIXjchWORJSCdBrg==","mode":420,"size":4110},"data/regions/NO.js":{"checkedAt":1708001725068,"integrity":"sha512-awbQY/3SztepEP41CMZMAysVmokUQERM8JSb+cRP7+suwCHHQfPmDyDIhF3gLDvWPBE9mAwWoOu8OdbW671Xqg==","mode":420,"size":3806},"data/features/notifications.js":{"checkedAt":1708001725068,"integrity":"sha512-NuKzVLaL1YB2PFEgW3iLRjQ0aJFhMleDQF7horCNPvEL8A9KAt9H7h09o5IZLyrlx2hPxKwvxOK87/2vCNo7rA==","mode":420,"size":1669},"data/regions/NP.js":{"checkedAt":1708001725069,"integrity":"sha512-s8mgcpp/R+ZMZ3KiER+1XF0/4anIgYWOcCz9OgsWWEAeiQXWn9Aqy/UWla8mXC14hY4QQ1PfIpTOE87Bh0zhNA==","mode":420,"size":3757},"data/regions/NR.js":{"checkedAt":1708001725069,"integrity":"sha512-NPTdZSZwiFbtGJycBn2wUH0mmVylMg0QpVejE/FhBarWGsh/p0RvkrrjxI2we/Be0igcLTIhdXw53RZjdZe8Pw==","mode":420,"size":2726},"data/regions/NU.js":{"checkedAt":1708001725069,"integrity":"sha512-Cyq8BuYX+K6jiu3jZoOaOxU1M7PfYwXGCHkgcEhv7tmLT6j6iY3v2xnias91VkCt+JbqkbC9pMUoiiwOdEgHUw==","mode":420,"size":2679},"data/regions/NZ.js":{"checkedAt":1708001725069,"integrity":"sha512-rEJTmggrozjlSXtBIE+eF5KPl+TRSRwU01lQknhU9yJ5LzLYfX/ZuoRWbCaZhoTlwXe/CPFlvQjfDk8UMHJ5EQ==","mode":420,"size":4128},"data/features/object-entries.js":{"checkedAt":1708001725069,"integrity":"sha512-X+jWBTOuAn90xQrSc2KevplZrjLy5nyqjgKFYZtj1iv3B/cfcvI7jmb2H7obh7dcOzT6vlhrvvGgvj0b5fsjSg==","mode":420,"size":1649},"data/features/object-fit.js":{"checkedAt":1708001725069,"integrity":"sha512-wO/+G/Fwq7N1truHTETS1/s/tTJUtpfOFQfYr2bbOjhpEJgIXevr0HmknHD8xseFbitpspSQ2gLl99vgV/6/Pw==","mode":420,"size":1692},"data/features/object-observe.js":{"checkedAt":1708001725069,"integrity":"sha512-OtuGAqASQXDtmfpOpShec6kCPoTr7mxFPXnLRtvUBpIWYQhWSLjloSeN5Hp6A32gUvvNQwhmjrFwhu0JqJOF/A==","mode":420,"size":1619},"data/features/object-values.js":{"checkedAt":1708001725069,"integrity":"sha512-MYND3m4+p6B6Ie9mDrgDk9RMUB+LYtgenrqFKkJPNBHUAhvzeCpuwLWnhcxAu4TMGCnMq3s3pY1eTeXiJd3IDQ==","mode":420,"size":1648},"data/features/objectrtc.js":{"checkedAt":1708001725070,"integrity":"sha512-iu/c6s8vFr9i3b7FkhNinFJ+zo0UxezquhYvZm7uYFLA+eDCV5hRtGrdLJ2fnyw7bcC2jSeza9oBFHby5B47Vg==","mode":420,"size":1612},"data/features/offline-apps.js":{"checkedAt":1708001725070,"integrity":"sha512-KoJp5mN1njMVT8g2uB67ZQXcy8Os6hLZg6RUX6NPFVjCItTnEXysrLtqFKFOn5yuzjIQHNZygOfrChBjSfw4vg==","mode":420,"size":1676},"data/features/offscreencanvas.js":{"checkedAt":1708001725070,"integrity":"sha512-tUS1LGRgHwz8nR0D38mWIy/Z5APj2FayeEcFOOppGbWMOfCGvK7dC1K6+bn4KRaKzhTuXRG9v0mCNIiRLcgK5w==","mode":420,"size":1685},"data/features/ogg-vorbis.js":{"checkedAt":1708001725070,"integrity":"sha512-5HCdiLUYnHGaWO8+y2ky09mMAIfX3cpK1e1C+cHUYaO4Wpo5NH9dWsshECJlYXhM0CxRjjuCZ/kDr1hx7HUEkw==","mode":420,"size":1642},"data/features/ogv.js":{"checkedAt":1708001725070,"integrity":"sha512-2OHPMeVsgRDsB3R/mt8z0yEojvw/dwMWkDFP4R3Eo5f0EhQ1CdA67lI5lSrY/xqahkKic666pooGsLQX9Xjs0Q==","mode":420,"size":1629},"data/features/ol-reversed.js":{"checkedAt":1708001725070,"integrity":"sha512-dvYd5ZcQQAzEgby3Jnm2l/YItKWAyYJhSXkIDFGPjv1svRFWT/yrh0VUbjSuPGI4z6Qrvl2enA0sZ2PfcO92gQ==","mode":420,"size":1684},"data/regions/OM.js":{"checkedAt":1708001725070,"integrity":"sha512-V/V1lY69LkFgZHVREHR0KWav7+UJ0suLrj/Hs6Uz+iyHkqG7K9cKCceTKgJqXOPJDx+hSNkYhXB1NgvlpycM8A==","mode":420,"size":3976},"data/features/once-event-listener.js":{"checkedAt":1708001725071,"integrity":"sha512-zZ7sOz0DOvMXvSEIlQ3KClJHkZ54dVWbtacANQnRdGvpKpIp5n3Ht6aAkD8joo/cCWXKIBJGVFJDin0DyP0dYw==","mode":420,"size":1664},"data/features/online-status.js":{"checkedAt":1708001725071,"integrity":"sha512-QriEDEHR0Hrk9w+W2OVVDCpPEE6CoQEuQtuerXouw0Oeunl7k3CGFCeYSBu/Drd9EO5Klq5Px1HuSzmzJmG31g==","mode":420,"size":1693},"data/features/opus.js":{"checkedAt":1708001725071,"integrity":"sha512-sSJ/wTTaK9ocfKtgOH3yhOAQ36MyTAw2y7PYTanmbsIHMMdiwjtf6S4pRA17SSnqx54Ij5wBACDMDp2UuPraSQ==","mode":420,"size":1649},"data/features/orientation-sensor.js":{"checkedAt":1708001725071,"integrity":"sha512-zgEoKxQ+mEVoN16izobX7n2TaL61eII5nPOdMmAyQNutylBgDk8CH2amSlvFQt6ReMuzahmSzhu3Q5F9ZGZTmw==","mode":420,"size":1630},"data/features/outline.js":{"checkedAt":1708001725071,"integrity":"sha512-HcdhxLYlfJpFFdQDs4aosxLcrLDnwyP+aTHY0m/n/7i/vAzPj9A6cezv/pNIBmdyfwrDItg7Das4bD3DiQKp5Q==","mode":420,"size":1646},"data/regions/PA.js":{"checkedAt":1708001725071,"integrity":"sha512-LMq9ARdbmDsRAZpH/4toPg8E6EdERIAKY8XE9kloMj3tU+bmCsmWrPt/fQ30KTWcSA2/Z1I3qVXmn7FTzxHzOQ==","mode":420,"size":4204},"data/features/pad-start-end.js":{"checkedAt":1708001725071,"integrity":"sha512-0rCd1fyqEGZYiNZPnNKxbyeSQrptcpJ05MLmQQWjKGUtitFogTfL613JQ7FvLc7Z04JcMcV/ZkXAjGZa819ovQ==","mode":420,"size":1682},"data/features/page-transition-events.js":{"checkedAt":1708001725071,"integrity":"sha512-X0G8dxISJgVzrGna9R31f58rsKGyJxmTrLnY5bTBEscRHGuz4Mp0z5yuKjM0ECvaVsNIwNiu6k5GT0SdS6N/8A==","mode":420,"size":1637},"data/features/pagevisibility.js":{"checkedAt":1708001725072,"integrity":"sha512-UXXs6vnRWdKJ8R7V1zmKHxmTGGXW/0ADndymy+KorggPHC2x7Jc8cWw3VmPLU4kPyk7tNYYyDxVGI4vHRx5FJA==","mode":420,"size":1678},"data/features/passive-event-listener.js":{"checkedAt":1708001725072,"integrity":"sha512-IqTOI1QDPO2ukXQfaAgL+SKUbleT9qY9SlZWc2V0H0du5ghTtiaXRdRCwt3TCHMgsfMrBo8Xd31zg3ZxNFfGSQ==","mode":420,"size":1657},"data/features/passkeys.js":{"checkedAt":1708001725072,"integrity":"sha512-J/59bXJKf6AR8NbRLJC5LpdRTMwEIIOqCEYBGOI+ED5IoEdDdamM0ZWupGnUcOw/6Kkq7Ho9f3OBIHFSha8Lew==","mode":420,"size":1631},"data/features/passwordrules.js":{"checkedAt":1708001725072,"integrity":"sha512-VmBcrT5t/wJYZ2smuzVJZ2uDMnRIm73LYJQUBWM5+OpnXN6ZzgPO2TgBYL1IG91Hg3pLHYVv9sNcUReZzIDuqg==","mode":420,"size":1671},"data/features/path2d.js":{"checkedAt":1708001725072,"integrity":"sha512-1lE/9Nxs2YQrR/b1eycc1WlhnF9kx/I6egcLL3i48/Gtnr0WQx5PEMNctt8cZBEJBiDyse4HMcDrRuDE4MxMlg==","mode":420,"size":1697},"data/features/payment-request.js":{"checkedAt":1708001725072,"integrity":"sha512-dmWXchfiJ3trytxLAOuu3X5LpFKY251BihS8YqbLthsyuBgHEQ4kSnEBsigt9t3NuZfRGdw5Sj54L0XN8lK5aA==","mode":420,"size":1763},"data/features/pdf-viewer.js":{"checkedAt":1708001725072,"integrity":"sha512-TgRIxqZKdX5N/BUdcCMW8ip95t0BbHxgekq6hQFTx7S9eSjjKXDwrv79GRgJrA0PUnyWgFps9pbsCb5j1LTXVw==","mode":420,"size":1636},"data/regions/PE.js":{"checkedAt":1708001725072,"integrity":"sha512-R3U+YvkKD9zL4uexNLrn7dJnExR2X0S/E8aYKBwgGJTHu7WIbzuWIaWXILS0v7DAO3378sIsHJjnINWOFuC5xA==","mode":420,"size":3885},"data/features/permissions-api.js":{"checkedAt":1708001725073,"integrity":"sha512-dDcJwko2BZkieA8AJyNBRxGr+KIoX6kod0OdqE7NtzfVx34e03qLo4AAN2tBndTHFpEys6GODG0qEX30hwUUqA==","mode":420,"size":1631},"data/features/permissions-policy.js":{"checkedAt":1708001725073,"integrity":"sha512-6Nc1yZVvhXpxh6/pr+cPnkdCruLpdbkuzFEnCCzUWg/wZAkle/iQ+WJfbt2bGbKDDni8kk+q2qeycAokv6ci5w==","mode":420,"size":1728},"data/regions/PF.js":{"checkedAt":1708001725073,"integrity":"sha512-dnysNXHx/ij/vgUTK5SFiYo0bAndQK7JZYI9F/xMViKC3hxuBHTMer0LQJhlTtA9uAY9crkJJoyjuMZqA9K/+Q==","mode":420,"size":3898},"data/regions/PG.js":{"checkedAt":1708001725073,"integrity":"sha512-CjZQAPmdYiOrsn57Vmp/PpDAMTCJIz7OftqJOQWJghNvVNtwHajav1sHnPzggEmKUd/UWoeFDPn0QnfveMicOw==","mode":420,"size":4099},"data/regions/PH.js":{"checkedAt":1708001725073,"integrity":"sha512-Md8sC4tgN516FljXvZse+yQlljROOCahTqhi8TsFMMZol83whOCq5avmS3dwcJxpPe9HCi0FPoLWgnphzV9czw==","mode":420,"size":3746},"data/features/picture-in-picture.js":{"checkedAt":1708001725073,"integrity":"sha512-rhucH7E2Lte/xgWBk7MtCU8sUyrTVCRPqhfHV16CaVdgKoW4yisQt5EZcHmmPi2Ywln8XlNTz5x7m4Rc+3AW7Q==","mode":420,"size":1701},"data/features/picture.js":{"checkedAt":1708001725073,"integrity":"sha512-CLo0sB7PH2ue3djDoyEjkHUq+PmHs8oa2D2fdSq02HndylPimtlZqODk32PCHn6j5kBeQiZqkgvtQNfkK0rM/g==","mode":420,"size":1661},"data/features/ping.js":{"checkedAt":1708001725073,"integrity":"sha512-Scvx05Ll/vOcIWNmXB8qmfaue9iAtkjAO2UWeu44TtFGYTF2vs5VQf+/D9uxHbdKCoqoeQL9O4/gfrdoTfJtfg==","mode":420,"size":1643},"data/regions/PK.js":{"checkedAt":1708001725074,"integrity":"sha512-eMlPByDWNYPV5brDvOaoeBLBKcEbgXwAnV1emvKw9Jx6obcHVeXu7wguPkqqUw8EC4ux8iaJAL0+aoAHKdeXzw==","mode":420,"size":4463},"data/regions/PL.js":{"checkedAt":1708001725074,"integrity":"sha512-5Tto/uIn/9feUw82ZOPC07sQdmZEB8TL1xqchmLEXogu5dtJQpbBO+HmTdR1ts6tDoC/GTIbC0xqsMO1LmTL3g==","mode":420,"size":3816},"data/regions/PM.js":{"checkedAt":1708001725074,"integrity":"sha512-0StqTLWCMXsk29pI05NlN8j/ZJzP7HfeZ0kpnFE3Hg2SbRllJhSQ9pM5V8ccM7AVL/JD8LDAshxPx075RZKsHA==","mode":420,"size":3038},"data/regions/PN.js":{"checkedAt":1708001725074,"integrity":"sha512-TGWMQtVh/gPJ7QTODk8Dv2ohBWK7I2/GjP6YA40xOkm8wr9w6TBcyQ5AMukM6GNFhHWpJZ6Wxr15PtxwSS+WPQ==","mode":420,"size":2561},"data/features/png-alpha.js":{"checkedAt":1708001725074,"integrity":"sha512-767gauTOol8bYTO8m+2E1f7KtkhEOC6oWNcYL2GMGXbjwQTrHarmCz6JPU2na7T9qHFKbbNH/JpzoFJn5gd7xg==","mode":420,"size":1608},"data/features/pointer-events.js":{"checkedAt":1708001725074,"integrity":"sha512-ccGm06TaxTeKf6YpPY5nKxIXmT0+tk9+aF+zqdxUa2Q/RcIQHlXVk6wuKlCjTpbAhxR86BZolS9kpF0zxjFOig==","mode":420,"size":1639},"data/features/pointer.js":{"checkedAt":1708001725074,"integrity":"sha512-cFkaOYqnsKt7V/lVSfTzNf1F5I8orFkAlMZJOJft1L/GveaAlbuBcwLxWljW63ykC0oSXFMyA0aJJfrFZwKdQQ==","mode":420,"size":1743},"data/features/pointerlock.js":{"checkedAt":1708001725074,"integrity":"sha512-DmnFO6rYL6QQIlFSg0/sFu76IVzidrbkCZccdIwpvsAXIAs75OkVjSILtHa5AsjaC/2Y+ePoLjTJIIamEKp4bg==","mode":420,"size":1660},"data/features/portals.js":{"checkedAt":1708001725075,"integrity":"sha512-SUI5VG2xuVHQtxliaiQ5kra4LR3JvDH6wmUMNAYMHbsqxqlImXanIEQzQkAbAmV0PkOzC7z9X2vDRYjjEuMrgg==","mode":420,"size":1639},"data/regions/PR.js":{"checkedAt":1708001725075,"integrity":"sha512-eN3pP/x4e8xyAFr9rSYhYWFIpXvzXbGBXxclhgrJxCIAo3XD+QcmDQOmPWTR28D5KnTCXnPZjOARdYRjPEMoJA==","mode":420,"size":3894},"data/features/prefers-color-scheme.js":{"checkedAt":1708001725075,"integrity":"sha512-ojKNsodUDekl9L3UOWPWVFNZmqPGBq+642mkkdq2xZ23jhLyVEwQTbnEtDs2x/V3V/F0xe1Tem2eSWQtMMgOHA==","mode":420,"size":1666},"data/features/prefers-reduced-motion.js":{"checkedAt":1708001725075,"integrity":"sha512-4bR4vPExBppWWdcTlivViy1Ga/RM0boMdlqbiQIfkFgJRvTrDn7Mrx0AOkrvwzjqDN3Dq3tlWzHCRmGXniVpEw==","mode":420,"size":1668},"data/features/progress.js":{"checkedAt":1708001725075,"integrity":"sha512-Ada6MK0dGrhC6zuB7tQ3N64V2m92NErtmHNhSM20rgrPu3KoxPK5B/bftgaBF/RWa6daDu9CQBOe3XVwLeKjFA==","mode":420,"size":1646},"data/features/promise-finally.js":{"checkedAt":1708001725075,"integrity":"sha512-kXmtI5K6g34k/PZu5GM5cmGBwZP0z39XYjvn6l+PcnZjzZRswaBdLPd5fg2vT7vmAu3TH8YU30l25oWYOcjQlQ==","mode":420,"size":1659},"data/features/promises.js":{"checkedAt":1708001725082,"integrity":"sha512-Sags2PULyn/3wA2ApIM/heuCsfSt3L7YUghjUNl3mNkD0CbCzN8RqhrrVxc/ZV+UK0UXOH1n/bJIyMguGvuLQA==","mode":420,"size":1642},"data/features/proximity.js":{"checkedAt":1708001725082,"integrity":"sha512-EisgJohB3HRNahAy2DaypOqbNPZ7OCEi7MIOgM6qrzLHVh41akhtoJtqXFJaDou2bEY8NIOG+6PKDldVL0s4nw==","mode":420,"size":1593},"data/features/proxy.js":{"checkedAt":1708001725082,"integrity":"sha512-d4u/F5Qqtpn7+0xbA/tnikEaDpYTxq3YTtmXpy+HKoibulN/xXyH54KiJvRDn8qtKowwlkqPh8D6+l+cgghwtA==","mode":420,"size":1648},"data/regions/PS.js":{"checkedAt":1708001725082,"integrity":"sha512-QvyD0nrEItaltRU0ZqlFcPkPKFLBE+OjnsvxaC+U8LzE5Ob1dLk2LlIMaz9JrYHni+YS1GdaSu0jyk18IliuOw==","mode":420,"size":3839},"data/regions/PT.js":{"checkedAt":1708001725082,"integrity":"sha512-1ugHDlyetJktplYp/g1MjfI7MiJ5tNtBM0KR4Oe2+PfriUExtVoypLAdYmsRgU9TpzyRQ2Pfu/R3suYIQRaLFw==","mode":420,"size":3997},"data/features/publickeypinning.js":{"checkedAt":1708001725082,"integrity":"sha512-NXTlg8nmEyOO0TH9T7YP36URHgm+LTs4HGB7+vdhItu2ZiyFlhOWva15p1UDu5vbmhr9ITgjWLuxRu5FSCJ6Yw==","mode":420,"size":1640},"data/features/push-api.js":{"checkedAt":1708001725083,"integrity":"sha512-b+V+nfW+22ILuO59Ot3srhDvCipxL8NEmcCiVsppSrNIJT0RJigi7h6y8Wf/SwyMhRX8W1HyDMPKM4Qiaf8W5w==","mode":420,"size":1678},"data/regions/PW.js":{"checkedAt":1708001725083,"integrity":"sha512-4zsmcZD2JeDlsDc7nLNJjT2Juy6hUqC6zNTax7HOerasF/axTe5yr7iMq/hhbvFIDxi3fmWM9S5x3tts7fU9yQ==","mode":420,"size":3340},"data/regions/PY.js":{"checkedAt":1708001725083,"integrity":"sha512-CmIjCEvPsvsPzx3Wt4TqhCcWVIHc4jJxD1Le9Dy+rEq+/2MIBUjSpvHuda4znNg7j07DcHhQ71TuaeBSuUf6BA==","mode":420,"size":4032},"data/regions/QA.js":{"checkedAt":1708001725083,"integrity":"sha512-9srAwi5t0Teu4j4pYCde7xX+6J/RLUcSAuOzO+qiLwecIjnNRGBccD+KKX/3PQF6LfsPeqd/fy/aFN1XjZdBVw==","mode":420,"size":3925},"data/features/queryselector.js":{"checkedAt":1708001725083,"integrity":"sha512-P7xwes+aebSIfILBYe5qx0wN2b9D5T3iSHL/jWAvVmOqKJPqIv38McYsFfEnF/pS19sBLVE5PFVit0hzvSaACw==","mode":420,"size":1636},"data/regions/RE.js":{"checkedAt":1708001725083,"integrity":"sha512-qeyiYWNyJdWaUPwzH6uHJdG1V/cfJ1FHt4vdZd9qAdLe2A5HytUKtjWubzrZt1gMqX3Tzs1566K1/T0Uk7w/yA==","mode":420,"size":3843},"data/features/readonly-attr.js":{"checkedAt":1708001725083,"integrity":"sha512-gh2vpZgEEVoOOloTxwlis497yraW/e5yuTxTJsl4pPvMAhxnGSTCvB29siypxBlykY5p2mp2z+iaIuslAa+5Eg==","mode":420,"size":1690},"data/features/referrer-policy.js":{"checkedAt":1708001725084,"integrity":"sha512-13HDBfiRB2QQ+TLrGGZFq4c1qYfukYf94UEzSllT7SBsfzlrlFqnmH0tCKwG3vX8cmWr9BLKRNAxBqixmEohUA==","mode":420,"size":1771},"dist/unpacker/region.js":{"checkedAt":1708001725084,"integrity":"sha512-TOoJmblFV7b+VOQg6kbZ5760ZxzkH36SZPlKgFC/G5RgPJlp0tX6c26fxy2x9aqVdfkl5VkA8HTDKCse4a3FJA==","mode":420,"size":550},"data/features/registerprotocolhandler.js":{"checkedAt":1708001725084,"integrity":"sha512-f8aqju3IR03seggdC03E8HjRL2qzthYFA9XVxB29IqhxGNYLbnfBu6S1ACJqvf2NB/LGEXwvLAdSeL4j1iBYbA==","mode":420,"size":1636},"data/features/rel-noopener.js":{"checkedAt":1708001725084,"integrity":"sha512-aEl8GrOygeOnAu/UeLbJ760KzoXenioOlyJ7f4iT6PVmSWlBcBgMC/XNOVeAKHxy1VjxfzLWwTfo3kPR88lThg==","mode":420,"size":1646},"data/features/rel-noreferrer.js":{"checkedAt":1708001725084,"integrity":"sha512-ZuXowZhx0LezggG7Uwx0glXuYOScZ7GuXbOshGHoF3G2b4NeJ/chU4k0Fars7giOIad/DbryOAFotH/Y2CObhg==","mode":420,"size":1657},"data/features/rellist.js":{"checkedAt":1708001725084,"integrity":"sha512-tfHoTbJ/ct+yNKn6G8jKn14Y/lGukcyorYlvMTU71JlSRDpKcbbfRMf8+JNqY2ElMoU/fevSW8+eBU7SbIKZzg==","mode":420,"size":1682},"data/features/rem.js":{"checkedAt":1708001725084,"integrity":"sha512-wDaaP1Lr7kU/sLRtfOoAeBA5PDtattxQf1nJ5xDW/Fgi5UCR9gMgwRl0gUwxiHQIuoJkmbnOyrixgvxGtUdknQ==","mode":420,"size":1645},"data/features/requestanimationframe.js":{"checkedAt":1708001725084,"integrity":"sha512-SwfWSsQ1FhSK95ANn+J1BFnTSPxWutsod5NW34LhmhWmSadJ60b418e7MZepu1lCoco/Mf+w8fIx/qfNn3YsJg==","mode":420,"size":1701},"data/features/requestidlecallback.js":{"checkedAt":1708001725085,"integrity":"sha512-BcTxB7RNoFgm5DA7CnuVstLj3PRs/pqVPosvYdRGw4r/y3+J3FU6l+1kvxlkd9hUrLi7Frmtcisb2lwkpWWqdg==","mode":420,"size":1671},"data/features/resizeobserver.js":{"checkedAt":1708001725085,"integrity":"sha512-CYCnhAbwchswJDFuDgb9xfQ4Jti5vX576cAlQFfiMpfCjc8XRoa+Lp7Jycw94dctwatX0P02AR4yUywbBefurA==","mode":420,"size":1672},"data/features/resource-timing.js":{"checkedAt":1708001725085,"integrity":"sha512-vkS2nQWCXKAKK63mAKgDwtwbnYhcOqbeflKShNyMIloYsPVL3qx7+GH1CYvU/VpyEwQ0l7J8GBLH9Do4+RvuNA==","mode":420,"size":1669},"data/features/rest-parameters.js":{"checkedAt":1708001725085,"integrity":"sha512-CpZj4ohkYc8t8JVa7pZQO9qyOHe9Cv6xorM5o64MX55QgX68SjNHiyxAOx2cnOt/ydDjm5a9ugjbdu1Gq/IL9w==","mode":420,"size":1653},"data/regions/RO.js":{"checkedAt":1708001725085,"integrity":"sha512-mRWmefs38UDZ38HOHNZkbsxsOTiQGA+NQw4Cd0ZljjitCoaoPMO4ElDMELewG3NYSOuFlHAKVGKtmOQuqu09mg==","mode":420,"size":4224},"data/regions/RS.js":{"checkedAt":1708001725085,"integrity":"sha512-HExYMthFSS8vBigW6kZCIE1b4mIDHOL5xsC/RKi1NrZ31dycCe7XP/SVfsYuun/f/MW31P6O00YFbuTiCvJI+w==","mode":420,"size":4300},"data/features/rtcpeerconnection.js":{"checkedAt":1708001725085,"integrity":"sha512-GL8v4YURaMRSifZc+7e9EvcYvX4wfRVD3ObJAf5OFquBZwu+/j/DBUpmf0PDAgk4OdFtAJlblF/+ArcGKYeTaQ==","mode":420,"size":1691},"data/regions/RU.js":{"checkedAt":1708001725086,"integrity":"sha512-xa4uN8JG8dw8RioYPyxVSZQkFbGRsLWj4lwp9ZwGHmXX2K7OTgJVvQkune06bCC9lxGheMAizY+rpo7MX3GMew==","mode":420,"size":4930},"data/features/ruby.js":{"checkedAt":1708001725086,"integrity":"sha512-sWuzH+S9l9RUk7ykh0V2wtig2faMbhvr0vOH65y1tL3VRTcAPJ8dl0Upw/usH9MuysQEZX7//uIPf6Am91lJAA==","mode":420,"size":1647},"data/features/run-in.js":{"checkedAt":1708001725086,"integrity":"sha512-zNT0dBKMGvc1m4+aJiP1CERK3A6t4NzjWce1umGuhgJeQAc0Ge8qbT3PEmqwrLvSbZfPz2xeXPqaOK9dCFWbxw==","mode":420,"size":1654},"data/regions/RW.js":{"checkedAt":1708001725086,"integrity":"sha512-nqYjdN7QcqF6BSJCZbUcNCqJS9iikwp+d0LRx2GXl0sfMrRY/HfHIdNlKnNqGSmri8/UkQQ1Q+EQTiRFqEMeWA==","mode":420,"size":4095},"data/regions/SA.js":{"checkedAt":1708001725086,"integrity":"sha512-PawTqSZhUQsMGNZ0krYX1C1pgITHfWqnWV8Q0Rtw8PhW+5CrvQ+WVVfm8lRQgHWtamCrn1R2umNElQwbwFju4Q==","mode":420,"size":4079},"data/features/same-site-cookie-attribute.js":{"checkedAt":1708001725086,"integrity":"sha512-uApQL5DYHHSTEEsMElZlbkpRs/1YFwpAYOn4/QGKD161gqIYRRNOBUCCjVQnEpUK0xugCwoXLPjbgbHiDpsgKQ==","mode":420,"size":1735},"data/regions/SB.js":{"checkedAt":1708001725086,"integrity":"sha512-3t2K5SuSVwnvHmf2Z/OBPhi7R8s4N+iMeT8BTUXhuf9J3x/mUNqscJ5etaJYGDrkxn914zC0AYC3k79MNpFo/A==","mode":420,"size":3662},"data/regions/SC.js":{"checkedAt":1708001725087,"integrity":"sha512-tEWIDd6g4ORPmBn9nE8EyhTvHD1OF3Zg/GVL9SzfYOrk4CwXx5MH1SumVb6631wr5bg0AGL3Lsb70OK01vFCtg==","mode":420,"size":4254},"data/features/screen-orientation.js":{"checkedAt":1708001725087,"integrity":"sha512-waj4uD6w9GvMY2ICYl712mqNB9YhxdZ9A5c0+Qi/Q/UrNaOrS3u3ChH6fTm+DAnNCmASXF4z5Xia0/WAbVoikg==","mode":420,"size":1664},"data/features/script-async.js":{"checkedAt":1708001725087,"integrity":"sha512-2u+semuUDR28sAJxEZHsS9Ak7aVB+UafUvNuuLKMCQK00X6FgEMRLAL+IjwiRLn3hgBWQ4nJaZTI1thCk6XUCg==","mode":420,"size":1666},"data/features/script-defer.js":{"checkedAt":1708001725087,"integrity":"sha512-sn2Fr2zeXQCb+jTDPvqO8RWqtqTWGfUwQwee0QIxjFVddri/a8CqOsDCrL8Mej90e3++jzjIbbQO3QjVAAkgrw==","mode":420,"size":1668},"data/features/scrollintoview.js":{"checkedAt":1708001725087,"integrity":"sha512-dv+lzfiMM7cxfx0gGhUVPW3LUSLwHcgistqVglCdkjVG60qVO9mdhE7GvPmbtWf0SoSGsGwG8LgkoDLyYbHgyA==","mode":420,"size":1699},"data/features/scrollintoviewifneeded.js":{"checkedAt":1708001725087,"integrity":"sha512-tuuNvjykSUG2nxpop4dYU/uli08hEH21b48ZmEXiDLEorcUNNLOX+clehgPQzZBUh8Q/aEAK0c761jAL6XS2Ug==","mode":420,"size":1652},"data/regions/SD.js":{"checkedAt":1708001725087,"integrity":"sha512-E6nv/roLxWh9IL4uRLMUhKhePWwvfpaspnbQxqWWD8fhuRFH2kqmijDMyMZWe5xlRHtyD4ZPCVEdiX2U+Oxj0w==","mode":420,"size":5283},"data/features/sdch.js":{"checkedAt":1708001725087,"integrity":"sha512-e/e+jKdjk3cuWIT0dXkhnX6Mz/bG1e0VR//5WwgBb+sy1QXaeB4SMSKSj91IMlz+GucOqBXiFrPhw7lqQ8+rAA==","mode":420,"size":1635},"data/regions/SE.js":{"checkedAt":1708001725088,"integrity":"sha512-dO37SYkKWS8KAVTk+tqkLQ2oShj6KYp8CO5oyjBAHKnFNy90K73WN16qKbZ5vQzzkSoamM5qzSziA7/gIHBntA==","mode":420,"size":3886},"data/features/selection-api.js":{"checkedAt":1708001725088,"integrity":"sha512-IfCot59ozE4ReP5O3+jXj9As4nhQ7YdjpRY0+gxsWJwHPpWUhcNepKAIwUESJRS/MaXO3ilgsXcr1x5GQpvrAQ==","mode":420,"size":1712},"data/features/selectlist.js":{"checkedAt":1708001725088,"integrity":"sha512-B4Jo5UMLroeq/QSce6CtWNgtJ4SQclc+kRNyhCfIWOC/TEtK6Ocec4mfZNAgT2C20AJ7uP4bWah1b5gbxDnAGg==","mode":420,"size":1648},"data/features/server-timing.js":{"checkedAt":1708001725088,"integrity":"sha512-Ravi+U+8E3YZCm8bWX+J0jyWFW45eC0m4Gy1b05Wi1R/X8QbsAVcYzR3sjm9DDSMB4vqKeu+MY8PR8wVH9ybXw==","mode":420,"size":1665},"data/features/serviceworkers.js":{"checkedAt":1708001725088,"integrity":"sha512-3KN8F/05ZzSMxQc4sAhdEulHeZztNuzQ0EmMVpXllmjfczVukIeFHXQvVyKfRIdAETR90qlqLecDVXBno/2kXw==","mode":420,"size":1679},"data/features/setimmediate.js":{"checkedAt":1708001725088,"integrity":"sha512-I6i5IC19cBkV6MMM2GsPRtHWhiHBJQY/0U0oeN8/1zabKcxCTOiBkFWuOkDSUHeC1gJg0pLa7ig1Po9u3DlmTA==","mode":420,"size":1627},"data/regions/SG.js":{"checkedAt":1708001725088,"integrity":"sha512-5Pvbd7P232KtgPH4gY0A/A6iLdyNLuOrFlAX/1OgVfS56hgA4e0VoTu7HEdsnN3daGzIrif3TYanp8C7yFjp6Q==","mode":420,"size":4515},"data/regions/SH.js":{"checkedAt":1708001725088,"integrity":"sha512-eW3dgQEOBUt4mmSJF/MWLX9eI5/0P7YcP6VuhfnFQbPLDx1cJZDztUgj1F9Kb9XzXsUPPdl4Yr8Jw7ZckW07xg==","mode":420,"size":2948},"data/features/shadowdom.js":{"checkedAt":1708001725089,"integrity":"sha512-iUga83ZfB0ozgAseCKqsgXZPnH3RD70f9t2cMjy2drF+1ZHv09WStoSde153xGDXylxW1SyrbpZM54h/xaKS2g==","mode":420,"size":1670},"data/features/shadowdomv1.js":{"checkedAt":1708001725089,"integrity":"sha512-cHE32MCwiCTrv59oBx4XViceG9gTsrMDUqmvI8manq8+S6zb5rxv/u5EiZKz8yfLbZyzwstZO3P6KlbXeOEPWQ==","mode":420,"size":1679},"data/features/sharedarraybuffer.js":{"checkedAt":1708001725089,"integrity":"sha512-VgluTwlKgOTQ1XkNrhC9PlONpcI9W+Z/bxCBewGPl/Lk91mvJe8T+JvE/PZIX8+IA5/akCULnHxn0OzdHa+PzQ==","mode":420,"size":1745},"data/features/sharedworkers.js":{"checkedAt":1708001725089,"integrity":"sha512-vV8tZLWMZxQ3Rb2KEziMxfWVJ04+eBnOB3TcEbMQegCIcTTPWi7K20UmjRwHJws/gokZh9ojCkrovUVmvltZGg==","mode":420,"size":1641},"data/regions/SI.js":{"checkedAt":1708001725089,"integrity":"sha512-+br/MPhGodKFK12j9BvSGF7kmcgK39d2NU/TYJiAs6mOXbWbVJukg6PQi/md0Tdmf5IAZ7jIdM3G3hCH1T1yUg==","mode":420,"size":4024},"data/regions/SK.js":{"checkedAt":1708001725089,"integrity":"sha512-rob3+UNIDBTSTigl78UW3HJDjXvA1+wiq8BKtkkh1CyLWbcB4FO4by1tB7A6Kxq/jOEe51qBo0vllTITIxaw5w==","mode":420,"size":4167},"data/regions/SL.js":{"checkedAt":1708001725090,"integrity":"sha512-TO96vN+s3blStVvSq3GBRQDLddk+GgpPaz5i+rJGytfxA+84o+AeZuBqVXaB2YegmJihvdikuVH8BVw0xmG/nA==","mode":420,"size":4115},"data/regions/SM.js":{"checkedAt":1708001725090,"integrity":"sha512-R/vVhdXfIhRrx5KSbitPNJ8M4FXTpPhwcPLnCL8ykGi0u03DRlps17II1Y57FfqFJdjaMYl9FCe1vTxNjpEToA==","mode":420,"size":3045},"data/regions/SN.js":{"checkedAt":1708001725090,"integrity":"sha512-hmb70nzEf2EepwEbAkDQbiov8dRrRK16DPqL2CkPTjS9j6r55j/etTG+A3dOoZhXN8kFuIGCHBPqKf0JA7cATg==","mode":420,"size":4197},"data/features/sni.js":{"checkedAt":1708001725090,"integrity":"sha512-cW1sJqFYzmvpUpsVrFpMHlH41hI8bqTa8DEBOhwozS/dQPxVvB5xs2X47bnKnZP/IHF5MK+jX5g7IQYdi/N/Fw==","mode":420,"size":1634},"data/regions/SO.js":{"checkedAt":1708001725090,"integrity":"sha512-p5sKT0W7QjE/qFd9lfprP0Bos7ikV1yNguuP+yIbdx90HJVgbDEwYTNW6xperCnJ63zA9QeQSpSCvaKPVOupPw==","mode":420,"size":3998},"data/features/spdy.js":{"checkedAt":1708001725090,"integrity":"sha512-G5mPSq3QvCQ3Z7RFG0B+Fqql3qs9XRR/R6fDQjGQU3xroySJx753FXHLOD658O4MPJKsVYlT2nUc+XSGeHvCDg==","mode":420,"size":1669},"data/features/speech-recognition.js":{"checkedAt":1708001725090,"integrity":"sha512-PbfEQbMIT+G5MgtoUuE9K42gsIXik4nQY3Dqf/uICt9YtFWyuEOXv/BHIIhLKK2vBMGje0x0m12/4jQ05KUeog==","mode":420,"size":1666},"data/features/speech-synthesis.js":{"checkedAt":1708001725090,"integrity":"sha512-rRsspPnuCrTsy5eI+suBcO//l2kHLFbrfXnBGYCLz7mU0RpJoHyCWf9BhlVx/i4O6cwsSqnSewoh0qyyw3jAhQ==","mode":420,"size":1668},"data/features/spellcheck-attribute.js":{"checkedAt":1708001725090,"integrity":"sha512-hxHNzadj6F54ILRCwNn87GTkFGXkVKYUDZH06aiRg7ApvwMk2zgNfrSROK3cOI/BiSaAzDBhNrr6ho0ohbZHgA==","mode":420,"size":1624},"data/features/sql-storage.js":{"checkedAt":1708001725091,"integrity":"sha512-IkmERsF6hHB76BDVuKh8ry4DGX16/dssvX4WdubhO5FAihx4WtUfbuq4CWjuWlf10nrN0u4fIG6urdsIuO/NKw==","mode":420,"size":1686},"data/regions/SR.js":{"checkedAt":1708001725091,"integrity":"sha512-ZN7+WNQi4Qj3WoXq23Cj9MpcNpQxkrdDFpbQ/FFAL7AB6K2Osj70Te+a2/lZrHBWNzk5uMt2aNKPAD9kdKOyEQ==","mode":420,"size":3610},"data/features/srcset.js":{"checkedAt":1708001725091,"integrity":"sha512-8rXB3ntiAGZ/PgifI47CGTsCJsjoLhiuy0IDPUORqVbzd5NDHuq/N2qEVbvnpkzbKWMLLozxsBQuGdEtYpJKCw==","mode":420,"size":1714},"data/regions/ST.js":{"checkedAt":1708001725091,"integrity":"sha512-dIMQId8nkWdvKVH2WLq9n4jTwzfJzFanLN5Xka5kIvpPP0cTwuc/i504Yl+6mR5Ow/P9//FZ+a3uzhmr/vqHEw==","mode":420,"size":3353},"dist/lib/statuses.js":{"checkedAt":1708001725091,"integrity":"sha512-Vp+uQHKk3i2FpPaqXdGgvYEGDjh/TalB3YGomedrG9pRISq0W0y1K5bycB83bGzsUhxAkH21zXTKajATvi2CHA==","mode":420,"size":306},"data/features/stream.js":{"checkedAt":1708001725091,"integrity":"sha512-kSE0fxsoUXaxZdMJZp7L5UxmXxcqOU4lHm9XxoWXVCxcIRWLu5q9itVLQ+djlfOdG7xaCAQRsfU84Tx9614cJg==","mode":420,"size":1712},"data/features/streams.js":{"checkedAt":1708001725091,"integrity":"sha512-95BzsDrp2kdCEZMpvH19lhf/bgSfifgQxFKrsM70DB75DkzzX0y6nYeK58upAqe8yrgDTKO53UbjCqQznuAukQ==","mode":420,"size":1765},"data/features/stricttransportsecurity.js":{"checkedAt":1708001725092,"integrity":"sha512-qB1uu7YbhJrmM7IQu50yanYB1Se6GXQ/f4soVg9hDuJd/GwAl0qaKtLOLILL7mfwF7v8beo4zJJiRdz3oibonw==","mode":420,"size":1643},"data/features/style-scoped.js":{"checkedAt":1708001725092,"integrity":"sha512-+fUFLiemhwLh+vCcYdOkdqehYsE4GYLbklDUXsTFgCy/Z/z+72RxAd5p+Q2Tsa7SKxuikmRnF1JJjy6Kkp+g1A==","mode":420,"size":1618},"data/features/subresource-bundling.js":{"checkedAt":1708001725092,"integrity":"sha512-scwwsxSb/HvsiC5M7eUWnS7WfTs+PRNLSHR6bCLSJbqgny0cjNtGCtOSbkr7RFKKL7nFJY92zp90yPJ735FyFg==","mode":420,"size":1641},"data/features/subresource-integrity.js":{"checkedAt":1708001725092,"integrity":"sha512-bImK54bJWxmPWOIoxMaAQtlX81U/DazttoXqbNTZKc6nUPikEfIxHi1cHEn7oOl2fnQMm6vzvp752CCTgFQBWQ==","mode":420,"size":1657},"dist/lib/supported.js":{"checkedAt":1708001725092,"integrity":"sha512-AJLx4EE+T/336fy96cGGW0ZaykTvB/ScV/NWxy76wXV8FyCNL1Enm8KvfpR+82XNoch5XSWDgnPYB/jZ/0htfw==","mode":420,"size":111},"data/regions/SV.js":{"checkedAt":1708001725092,"integrity":"sha512-nh/a3tsVohAvUdqyah2g5EFXuP9hqfIMbYrq0YRvNX2d53GFzp6fPYc1o5stuA9Alv+CaRj4ghmk8uuWJZB7lw==","mode":420,"size":4023},"data/features/svg-css.js":{"checkedAt":1708001725092,"integrity":"sha512-moG1ExaqVAauVPCPoChJ4XEI0uVeyhBKxLqfY9qGHcGeit2RArkpnbkWPN2moRu6masL86+qLTGLX0tE+a0KWw==","mode":420,"size":1674},"data/features/svg-filters.js":{"checkedAt":1708001725092,"integrity":"sha512-ituh3FOlJ9Jwtp/0tv0x4EM155TBfWMHa14Nw5Iv81RsMLsCNSAzrRdAUVi33p5aEkaLRxeTKx6g3g+cIdPNPQ==","mode":420,"size":1633},"data/features/svg-fonts.js":{"checkedAt":1708001725093,"integrity":"sha512-2NBYeAeuLCDmbKgvBTFEeVSNcN7m1lDfqHt9a3DLhT8tUKtCwcDp4lPzvyoBxweXrx4mBt+94Zlektx1ohZu8w==","mode":420,"size":1649},"data/features/svg-fragment.js":{"checkedAt":1708001725093,"integrity":"sha512-43c9axP1vZwFpWGauM6oKAa6IPuRBEvGMKzauE97+2PCYM0votX9SOK+TArI6yyQAr1mQivlhtQ/RxdpmHZfUA==","mode":420,"size":1709},"data/features/svg-html.js":{"checkedAt":1708001725093,"integrity":"sha512-HfKTnzWULq7/ZKE8atcO8fwmGDiV2ksdH/82Q1ISwsBsnwZdOEfGaxQOTFXTBWc1hsKuMGvxFR9l6uCEbNl1Gg==","mode":420,"size":1640},"data/features/svg-html5.js":{"checkedAt":1708001725093,"integrity":"sha512-vGpQgBVrJSDWExkEgd4sDQBui1bttJLGN4DFx7yNub7olZ5vb87uRgCoOg44q1sLOxf1q5xHbpswgrBM7zd2Fw==","mode":420,"size":1697},"data/features/svg-img.js":{"checkedAt":1708001725093,"integrity":"sha512-Nxipcb57TIglcIruZXnLcf9BebhZsUhvJ4474lQIGaRFwDTAsZp+4srcDrJ11veIILUDjQ0NRL/iTieIaYJbTQ==","mode":420,"size":1659},"data/features/svg-smil.js":{"checkedAt":1708001725093,"integrity":"sha512-KQNjtKW457PoJX7sq3jjhr9Rqsr501EKAholOW2GGuFLtpQ6+PdTVrUtaH8K+RlT4jZ2ctQ7NY+CwtVakN2PAA==","mode":420,"size":1644},"data/features/svg.js":{"checkedAt":1708001725093,"integrity":"sha512-5U6hnGc+RtoMTGiJDu3saLBzNHu8BVauCdfwVQr/vLgo3G/eaLkbCrAxLyNrvpmiXS+KrnXyqYqTUKRYlEQ12g==","mode":420,"size":1643},"data/features/sxg.js":{"checkedAt":1708001725093,"integrity":"sha512-gk0AnZPcywlXY6Bg0NHj39R8GyphVgXSRlKjyWyyGEmQjgDrhgfn5EBwPSE30L/WyZHPh/Pni7YA2FGeC0iAUQ==","mode":420,"size":1645},"data/regions/SY.js":{"checkedAt":1708001725094,"integrity":"sha512-a7syqcfpiAeWkaPUE21HL7+vz7kfSv6Gewco9NKfnP3pojDQwyEyaggCMYiZm9nmWBZz2D6RaEPoQZSvkRS5qg==","mode":420,"size":4786},"data/regions/SZ.js":{"checkedAt":1708001725094,"integrity":"sha512-N3Xu7PoI8JqAn0Qk7QBMrqeQdJJVWxlnbcS4QWoSse4SUNcXpjIb/RJ/qYzaK9C327CGRvpaLUjzwZlBgmtcxA==","mode":420,"size":4020},"data/features/tabindex-attr.js":{"checkedAt":1708001725094,"integrity":"sha512-TmzS+fQ1wRZoIOKCMRXG92mbPz+nocS3fkBTHjXXh1PEBSNIffQ0Z2FOTKv29szuFWQf4BtKriNkveOlnsMdmQ==","mode":420,"size":1654},"data/regions/TC.js":{"checkedAt":1708001725094,"integrity":"sha512-So/KsFi6sIvbPUT9WlRVF0lbLeR6v4GCB2gvLbHAKdNv5xXupYApHzHdky+C286WXZkSB5BD4pz4I0t4au1R9A==","mode":420,"size":3322},"data/regions/TD.js":{"checkedAt":1708001725094,"integrity":"sha512-paQr8OQGXV8/zUjTIHtvv+7aTAXhMUoGLVgbQX660C3oX4TvNayKw3vnW1u+mVBusy78ZOFGC92Wr4H0EKoPjw==","mode":420,"size":3855},"data/features/template-literals.js":{"checkedAt":1708001725094,"integrity":"sha512-iiuvi6b+wCK0gIsU0WBF+kE1mdXOH9uyzNcV5slte9MZcx+L3XcODuINIMcidUUVvkp7duyM9psE01Ss45KK9Q==","mode":420,"size":1679},"data/features/template.js":{"checkedAt":1708001725094,"integrity":"sha512-rQjGeXnkT7qxWXp9sh36DC9fbbZrLivsevR7NGEEIKZwcd6ETH3634VllNjRbossSMjlV7ba8lj2qFNhN3i0Lg==","mode":420,"size":1684},"data/features/temporal.js":{"checkedAt":1708001725095,"integrity":"sha512-jqs27d3/BcZYzzaqa2eLkjX3wpvhq37MAnBps7pdNiOE3sW4wB9pQP/OjNd5XH+y0WtELrge3iFUut907Yt4jw==","mode":420,"size":1582},"data/features/testfeat.js":{"checkedAt":1708001725095,"integrity":"sha512-0J1x4fdGwmSlEHndZZjipxFzG4PhzcJc64NFWLDWfQz0QOpq8cwSoptI9nLuNBoD2CuphPrrDCXDIW3irQnF9w==","mode":420,"size":1653},"data/features/text-decoration.js":{"checkedAt":1708001725095,"integrity":"sha512-WUekx2SrJQrcf+WD6IDlYkXySPYB3gRhWA/zs7Zypeu3rRvxOQaq+UEgVpH8HnZ0/1dPqarQ2BBTLnQFTxhObQ==","mode":420,"size":1733},"data/features/text-emphasis.js":{"checkedAt":1708001725095,"integrity":"sha512-GWQ8Ug9o73ecm/H9muxgR24jTIqNOFVIf5nXdBNLrGf2N5Oe1rC5A2ZFtkFE37uXagAPkLQ3xTgvmvVQTvNnPQ==","mode":420,"size":1711},"data/features/text-overflow.js":{"checkedAt":1708001725095,"integrity":"sha512-mGndDoZjnzC0TKOPhlqjYRXJp3IRgzy5m8809sU3o51d6moYj0OvizzB2GNdJVY/drHcLQSAFw/nUGXUs2bTpA==","mode":420,"size":1618},"data/features/text-size-adjust.js":{"checkedAt":1708001725095,"integrity":"sha512-aNXHBhmz+4TwRkTnC5xB0wG1vgDovQgWt+N+DK4tXuinwHixnupHX7rAtSZA73zjtInW3a4pbsNQD+Y5/zffYQ==","mode":420,"size":1657},"data/features/text-stroke.js":{"checkedAt":1708001725095,"integrity":"sha512-S6k6813gQRtQxGI8u4uK7NiEeeyZS0tA2AGax07+lSLGGZAD0Vf3MmsGbYs9kvjvSf+/aAHp5xcQ23X9lNhKWA==","mode":420,"size":1675},"data/features/textcontent.js":{"checkedAt":1708001725095,"integrity":"sha512-xtohLMSkfOE8AaHOIm7+xe3em6JfEF8r8Ans2DaPCr4QxjjblGp9K3tDksxHPayMWplsj9kvxVN1+C0hMARhJw==","mode":420,"size":1624},"data/features/textencoder.js":{"checkedAt":1708001725096,"integrity":"sha512-6dyIt/uGiR4xHieDlbMOMtsQI4JX8waXUriiT+Z5cs3IkjV6ugqWvjY0n/KX6WWFJAAXlb8tm/sGGQHtuZN0Tg==","mode":420,"size":1655},"data/regions/TG.js":{"checkedAt":1708001725096,"integrity":"sha512-msDneWYpB50lY1a+tTj7VIoHTMnBk3OqXKgQ9r1ucEmPYSJDSKhNWs1C7+4FCNW/AaV+KV2QsuGkXBo2LFTDHw==","mode":420,"size":3991},"data/regions/TH.js":{"checkedAt":1708001725096,"integrity":"sha512-EyV2AOflBeWIbBEgZi2XtjUBTNYPcQU8hF3oOqm1hHcelAPavT62+fQ954PTLocBMud8nEyq8nLHqDUR/Vjifw==","mode":420,"size":4206},"data/regions/TJ.js":{"checkedAt":1708001725096,"integrity":"sha512-lqtjh+V+eLK6BDzb/63URudeQTpdzImSAqhQJaA0tIOphh8uix30HBd1MRxdL+aUpcSI0l0wqgLzKqoVRo/dfg==","mode":420,"size":4213},"data/regions/TK.js":{"checkedAt":1708001725096,"integrity":"sha512-2rLWXfYjPRWRwu3rGftxQz7DWRRR6lDQWhoj6HXMm9vt8gKtEEAX3CcB5kFD2ubgrRkKDP0Ab/83Rac0JSkrZQ==","mode":420,"size":2452},"data/regions/TL.js":{"checkedAt":1708001725096,"integrity":"sha512-1jg8MONBfOqFwRrQraJWjQBQSmSQDK8CBbtqUOilw1mbE1pdwOnSt0S4/NiMboXB/JW+m5tEWq1KAiFInWSqhA==","mode":420,"size":4429},"data/features/tls1-1.js":{"checkedAt":1708001725096,"integrity":"sha512-bq+peAoViGk+wtzwVtRyGXt1Tp6kN80N4Xm3aE2eIncvzL5/d3SEYlmHx612OgngD2BKfHaJl5X1F58Hp7fE1g==","mode":420,"size":1700},"data/features/tls1-2.js":{"checkedAt":1708001725096,"integrity":"sha512-gPydmfIlz5MCjQpyGPUk3w8Ylt3yeBk5oFQPhNlgWbm5IyqeXGXEmxlhp3eSiwTyVx40/h/AUGTZ8Av4xM6gcA==","mode":420,"size":1663},"data/features/tls1-3.js":{"checkedAt":1708001725097,"integrity":"sha512-IiQ05vgO1Azwj3Kqa3ShEYlDdgSgzut6qtuJl4+suZ1i3Tj4URxWG4SoL+S8dMQE5IhT/PI5z96pqH8roQ1Oug==","mode":420,"size":1682},"data/regions/TM.js":{"checkedAt":1708001725097,"integrity":"sha512-XyPZUKSh78SF+onB3QXV/OVAA70vxZtmvgSrq5bxJBOsjzyZzDiaD5BCVcwDu+3p38oFl6xgxz+KYygw1bKkzA==","mode":420,"size":4067},"data/regions/TN.js":{"checkedAt":1708001725097,"integrity":"sha512-Bkbi8TCpeEsorMhKWtcLe1pTVwN+IK/e9LOzLbBYmLYJXRcio1935IaQrGSQoY17WGx/iHLp9LRmWDQx8nGycQ==","mode":420,"size":4109},"data/regions/TO.js":{"checkedAt":1708001725097,"integrity":"sha512-Evqc2LuwnZlV6i5NhtH19OV0Hw55sCfePyK36ORhhN3jfid7Tvv9DLwd/oMbw8tOpq3pxwgJzQVUqYMVKkNLGQ==","mode":420,"size":3359},"data/features/touch.js":{"checkedAt":1708001725097,"integrity":"sha512-G5l+0fggsvY2RmR8K9RaDaKH0dlCqFI3EK7yW0Jmlz0H7vChRQ9KOjA99Te3Jlna2Inq5rRn5bA+ZmoLYr9Vlw==","mode":420,"size":1652},"data/regions/TR.js":{"checkedAt":1708001725097,"integrity":"sha512-GFteC9rR91UrXxtEwjBf+epM5fEEOsfcoI3s2FpiTL8LzV9UHCmFWVafNINyxyDirRxzjTWq/MSf8ZWA3G0/Rg==","mode":420,"size":4379},"data/features/transforms2d.js":{"checkedAt":1708001725097,"integrity":"sha512-1BrV3SKovIZ092Y6x35E++d3czoXspTWR6jNSSuTXFUbdCI1RgpTm0grbm/nGElnDcOd/A3r0FvrY4fXasnRsg==","mode":420,"size":1683},"data/features/transforms3d.js":{"checkedAt":1708001725097,"integrity":"sha512-Loo+Ul0lKV2V7QcZNkwgxzlxbRTDpf+l6YQFQNe8tAlGOZA/qbfrHfHpuo6LDutsRFAcv/S1oLewgCef0jionw==","mode":420,"size":1697},"data/features/trusted-types.js":{"checkedAt":1708001725098,"integrity":"sha512-w/aG5bMA7zdvx85c5GFvXCb7ZP6UAyiFDQcrJ96e2rZP2NidrA9BBN+8Q1Qgsyco20N0E1xcSDDvyQaymIYQgQ==","mode":420,"size":1644},"data/regions/TT.js":{"checkedAt":1708001725098,"integrity":"sha512-FxsCmIFtm4B+0QVYTXtO+7STL/tBBdxFw36U0brMW87zThhVucDVvo4CfF7L6hq4AUoXjaGSBxiWjPomuh7PGA==","mode":420,"size":4468},"data/features/ttf.js":{"checkedAt":1708001725098,"integrity":"sha512-3Iyf8jmG4uFHUYpkak0W7r8LyYqQzIHIBYI6ez0PrYacAew1j2FZPftdwAwZ/8OkdoMtIiVWNaCJ04kL/SysiQ==","mode":420,"size":1652},"data/regions/TV.js":{"checkedAt":1708001725098,"integrity":"sha512-Xxb7oXAB+0QH5C/YPEregBmmhHod2d9n5aK6+mYP5vtKsazd01gAn9U9ojtzjcJ+VNY8krhYEZzeppGwFjGurQ==","mode":420,"size":2602},"data/regions/TW.js":{"checkedAt":1708001725098,"integrity":"sha512-64p96eddQnD5Rl2vJoFfWHQvctX9F9kSPLHSKdsdQspIeYR9+z68oUS3HLB4p7jDcNtXisaBz1aoE9zmGqRoBg==","mode":420,"size":4036},"data/features/typedarrays.js":{"checkedAt":1708001725098,"integrity":"sha512-xpueak7nzt0G/y4jbMHO9hfvaVq0PB0hiG1AMFFOA+r3y2Y0mhnugzjgsRxZ/G5fAZ2q91zGRP3OfPa+jUM/ig==","mode":420,"size":1666},"data/regions/TZ.js":{"checkedAt":1708001725098,"integrity":"sha512-/IXNAtMCiEnsXIspQ4i0UP7GMZaGU06fMtlKJeNH2QKRjGtIMo2PlrJj+nMffdQLwZTTwfGocxoul9Nrb3hzbw==","mode":420,"size":4259},"data/features/u2f.js":{"checkedAt":1708001725098,"integrity":"sha512-4zZXk64mm68ICBR0nNW8S6REyS78eSUcJw1OiOjSOnpFM4YAWXIm49LffR2MWcPmsLn3shznhliLVm9mphcJ8A==","mode":420,"size":1660},"data/regions/UA.js":{"checkedAt":1708001725099,"integrity":"sha512-/rovgcFwalPGIKQNevy0b3IKVBHCIVHpB8JNIexL4jG1ZB7LoBWDCZADm/kRt7hPQovZWGADMj15wHC548fMlw==","mode":420,"size":4626},"data/regions/UG.js":{"checkedAt":1708001725099,"integrity":"sha512-lbYZIIjKrkfcVgqS24QMPpBguUk91xySsva70K8KhOBQEymo4dDwroWNN/O7GwqKGWa8xbQuFb+b4gCbjIlbUg==","mode":420,"size":4424},"data/features/unhandledrejection.js":{"checkedAt":1708001725099,"integrity":"sha512-IdsmSyO9GcdvAJP51u0DUCsFlwN7JUS9EOIcdzEg4mdSnfJe5HCAN1rVCe4jaQ/phZgD6tV6Sefcv0NTHjzXHg==","mode":420,"size":1683},"data/features/upgradeinsecurerequests.js":{"checkedAt":1708001725099,"integrity":"sha512-Dbyi/PTXW+HuRbDKLHFnWoniY7QoXhEr1R7ACE0UfGkG3+pWI/Q4ThTDAkCi3c4KvcGprn8qbGSEClV6vAKLFg==","mode":420,"size":1647},"data/features/url-scroll-to-text-fragment.js":{"checkedAt":1708001725099,"integrity":"sha512-AzxEVUAQzYXFON6U55IpxicfY5CgHMS8GKHF6nwFgNM9HLxoQrPsFe7yls3xokm1SxFwCCITXcQX1/tHR3E1cQ==","mode":420,"size":1670},"data/features/url.js":{"checkedAt":1708001725099,"integrity":"sha512-dGVt7geQrYQbRxDEJ8wJTUISr9xDMqFhvVlln7Jx2CZgjJXKAW2YCk4Q8b6kKOzqf4a+UZ9AEGHzqFgaP4Po7Q==","mode":420,"size":1671},"data/features/urlsearchparams.js":{"checkedAt":1708001725099,"integrity":"sha512-v58FTXGvkpjVCTXFU7zIQWQB7eDEqdxbBdIT5d1gaTbu3otsmjmgf5N0ViPcRm/MvO45H0cNpzYKAJC0v+erQQ==","mode":420,"size":1651},"data/regions/US.js":{"checkedAt":1708001725099,"integrity":"sha512-E6gA8us1YBX7tnWF8BtIg3pnwMBImzHn5IQadnwC5oSkVR0qpSpilgFm/Nzvc/lM1eg01d0ob+LDwDoQeQxOCQ==","mode":420,"size":4665},"data/features/use-strict.js":{"checkedAt":1708001725100,"integrity":"sha512-nwGVotit43jZYN00UD1TFMGN6GPABlmwDLK9rWNEE7IEnQqnqNlJfLgPovGDOzKczdlDRjq3htPUd2YbmL0Gtw==","mode":420,"size":1654},"data/features/user-select-none.js":{"checkedAt":1708001725100,"integrity":"sha512-yQbUhSE4NG0SDgy5sNqmNIfMuFvIr7fiSV6CwaM8XTicMouNgnUtJGq3aDyNkLbrf2CTeqgvjTkPEQiGbm8xGw==","mode":420,"size":1673},"data/features/user-timing.js":{"checkedAt":1708001725100,"integrity":"sha512-OWJJooeZuYPhFW7uI9XvGRzhZ8eo5yhFdBIfyCtlNgFryhYix9exTqSjNzL4DjrQtPu51emY95atlKNl2pDAaA==","mode":420,"size":1637},"data/regions/UY.js":{"checkedAt":1708001725100,"integrity":"sha512-s7Hg65/iqzHriEMHBuZfprSay0ZisKbDyPTq6ZrqHlLrjKRAWt7QFbt0uBiFY2+CvW0BXrX50M9XaGFBBFAjzQ==","mode":420,"size":4078},"data/regions/UZ.js":{"checkedAt":1708001725100,"integrity":"sha512-I8gmt1svBDRuek5zV5UC5bTX7afJpX9lip/IiwA/DQ4Clfe7REke4W9caqhRWwXPL3xsQe4wgIYyykpUod0r2w==","mode":420,"size":4474},"data/regions/VA.js":{"checkedAt":1708001725100,"integrity":"sha512-TPPhJfP2hJGuCRWeOutOnebbBe26SRDjZUKaRl2wg1nCklAEoMFzbOu9I5tdabZzAYt+6I7Rj8tan5mdpbaOSg==","mode":420,"size":2991},"data/features/variable-fonts.js":{"checkedAt":1708001725100,"integrity":"sha512-L/CPAIl83oK+RktVMunpWasJXIjSYDjh14JUDcpbwXhsR8aeqzfEryY2dXOSHAT/G0RmsjrGf5BvHjBobx3Iig==","mode":420,"size":1774},"data/regions/VC.js":{"checkedAt":1708001725100,"integrity":"sha512-Y4o+hSMZCre/idmLYKjkeVUL0pAZyibWvzi2YiuxNX/8TL0ULTA9/VfL7G+WtUjD0VLRUaotFdsTTo5TSo5t/g==","mode":420,"size":3539},"data/regions/VE.js":{"checkedAt":1708001725101,"integrity":"sha512-3vApR5QJQZ/ZDix8hOdN35yjto5PE9vjLfWYUrrjkxgyBdC1sQxigvmi16jqRs3/wZ7zXIsIF6bAjutnf1esrg==","mode":420,"size":4842},"data/features/vector-effect.js":{"checkedAt":1708001725101,"integrity":"sha512-HrBOlUkE6f51WL4U1HzDUsqd1/N9u9WkDe0OEXDJSEIFntI7p2KjUeKkDv5xaGL9cy97yf8Y5lqeTku9o68xTw==","mode":420,"size":1663},"data/regions/VG.js":{"checkedAt":1708001725101,"integrity":"sha512-3DqX/UHMphAvi1dZzIPaxwUK0DK267hSPdNQVJ2Mg4WSmqota1BlkHksf/vTGyG1KvwVtFprZKZUo48gp3wXFw==","mode":420,"size":3523},"data/regions/VI.js":{"checkedAt":1708001725101,"integrity":"sha512-d+L6r4io6HgEISJ3dwbi+kZi5l6MNrB/0M9cBP3IYKBV2FkNdFH5Y/ArR4uYT1naRgcFSOEqJ3fmGQg181ga2A==","mode":420,"size":3454},"data/features/vibration.js":{"checkedAt":1708001725101,"integrity":"sha512-MiKZRfDUIe/wNGrJTv75Uk72zlaGu8PnjWFlMaO1hPKao9VoBpHY3Hmdb6SdxkwoB0DBVqsoLsFyG/5CHfjbmQ==","mode":420,"size":1636},"data/features/video.js":{"checkedAt":1708001725101,"integrity":"sha512-cO0m5HSAMy9jW6uhyx68JuAH1lx53DEN2IZU+Tu7WweuhpUEhcknr1rxAf/e0X8cN6CA9UtsKlePz/DYLPZc9Q==","mode":420,"size":1649},"data/features/videotracks.js":{"checkedAt":1708001725101,"integrity":"sha512-rCdtJCO8tySrf16omL6DR901RBUC3b2qi6z7KD8CphDQY+6qm0xA140hi+vNaSCc5iD6jOaMydfx+ag5krodrw==","mode":420,"size":1648},"data/features/view-transitions.js":{"checkedAt":1708001725101,"integrity":"sha512-6fO4WHU1U2R6heAZMGpT13yaz9AGbQJIJypuhzJkwVlRYutJrlwd58ZpKhgHWqU6NW3QQd++4ZUUcGIdlQRgSg==","mode":420,"size":1642},"data/features/viewport-unit-variants.js":{"checkedAt":1708001725101,"integrity":"sha512-TZjniEOmuecLAYhZqZWLO8l9fA1RxiSWNECS/2lx9MaTyQwc9bVKQ2ov9jia98YSDuxrfr6wwIR4pvVhmln9xA==","mode":420,"size":1686},"data/features/viewport-units.js":{"checkedAt":1708001725102,"integrity":"sha512-xyaGWptjl+x0mDuTMuwKb+tW+RGDI0k3HB1a3rEIKKlT2+AjmRIDtZcShFXo8F3PkbYKEg67GMk+/bvj+wCj4w==","mode":420,"size":1714},"data/regions/VN.js":{"checkedAt":1708001725102,"integrity":"sha512-HmLybuT3wpoPhYEulYZvrHZFF5XSNJuEqwvShFJ6Xc4PAR5tz6ZxnU1ERvPoziOlhfXDWBqc4zSwxkkdq+6RuQ==","mode":420,"size":4318},"data/regions/VU.js":{"checkedAt":1708001725102,"integrity":"sha512-DLlT/8Px3sgEEA2S5AIYQBfe6LukQmV+lrxCoSpuYQ/CBjCBlpCE1RzAHc8LNpiuqUmx8diIEUxD8vm9hmL01g==","mode":420,"size":3550},"data/features/wai-aria.js":{"checkedAt":1708001725102,"integrity":"sha512-mjtO8WnNkJtO/Rr6qsyUlIlW4MIyDOZU+WG94EVQMcCszMtAKJ9Eg8g67E0bbUBZz+01l6t7ptqZL7C9wtZ+0w==","mode":420,"size":1629},"data/features/wake-lock.js":{"checkedAt":1708001725102,"integrity":"sha512-QgxDI1Q8u9iySrrdGi+ZOdAT0zhpXxQM0SA4AoK3uTjXG5ZcSQElOHvMQPtDannOTHyzs3RKxJQNXbxWuTBP8w==","mode":420,"size":1672},"data/features/wasm.js":{"checkedAt":1708001725102,"integrity":"sha512-CnY2GTnXsvZJpKSPPYW6bzUOiGk9q1lZKHB1iV5J9pEJ6CDp2s0mqZ+d2RejQKnDl4ibbw737Xkbs0pdDnKRJA==","mode":420,"size":1688},"data/features/wav.js":{"checkedAt":1708001725102,"integrity":"sha512-FdLAsvqDGAs8bdG1xLKb5x7vTWrgJjxAr9aIhgB/iiV55oan/HwEDQfTSJBnybuLqY2XEMlE8G7jB0bwzob7xQ==","mode":420,"size":1628},"data/features/wbr-element.js":{"checkedAt":1708001725102,"integrity":"sha512-jNKQaKVtnqY/MPNwAaKF3Yk+81yLTzojcJe/xs+BxZ7MTMQhGPUOxBbSsR7qhBxEhefPP1rs5zZ8z0il7XN/oQ==","mode":420,"size":1650},"data/features/web-animation.js":{"checkedAt":1708001725103,"integrity":"sha512-MPiQerJQXLR+UkDWWqNJyYdsQlSSR9LwA2ynJURpzWUBZMv2s/lGS/LNYV58EEJDSm5ksy5WOyi70I61PxZWng==","mode":420,"size":1755},"data/features/web-app-manifest.js":{"checkedAt":1708001725103,"integrity":"sha512-PJGqYQ/dRUr2YTlNrCKQAZDfKZNVXo1V8rJ/o/81vMuez+Pizv0t6TArGGU6n5Vl5kaT6XsQOPXWM9DN/nRCTg==","mode":420,"size":1660},"data/features/web-bluetooth.js":{"checkedAt":1708001725103,"integrity":"sha512-9dxjd20x5T2pAZ0LSngFmXlWvQyMFE7qbZw5Z9WuR3IQyzkS6LQqCOaqUtGV242NecKhA7mQ0OjLkp30WZrSYg==","mode":420,"size":1679},"data/features/web-serial.js":{"checkedAt":1708001725103,"integrity":"sha512-lIPw53XmOmKY/nyGXP96DHOyL3BebbKGZVufkEiMnNeQoOM6fmTaBl99WeglQY0w2XPwqWhajDDPJ5p7JKzvkw==","mode":420,"size":1627},"data/features/web-share.js":{"checkedAt":1708001725103,"integrity":"sha512-poMDCldoSmrrYg8Iegl8Mpfl5p3ykLY7LBFRx9Mecop9zsQMBUtWcE3ldNJ3/lTb6B7BNJHK9ynH4tBR1s2mpw==","mode":420,"size":1676},"data/features/webauthn.js":{"checkedAt":1708001725103,"integrity":"sha512-Qm4WwIFFnYP614v6o1cHwycj8Rs7s8Z1uFvbJ7IGOCkiPZ3ykCJ1XZa65yvMUb0HGrYNF7QTJyKg6YsJAJTbIQ==","mode":420,"size":1713},"data/features/webcodecs.js":{"checkedAt":1708001725103,"integrity":"sha512-nOQ8LT31D36SE+pSTgIukd5sfRRKn1iBCyzXD3ha5f3NKw27SwTqpjJEJbCYpotbEdCnC1pzIch6ILVjZjmspg==","mode":420,"size":1639},"data/features/webgl.js":{"checkedAt":1708001725104,"integrity":"sha512-Oyv0o/ELkq6sif/YCoHebDD0foRCJbA4JTj6+tGKEEjwbyyCcUO0cp7ygTjY9r+V2e7vS9bNvTpPL6URk4BA6g==","mode":420,"size":1718},"data/features/webgl2.js":{"checkedAt":1708001725104,"integrity":"sha512-qScRYHudqycm4gt5i3776ebTb33hrndOR2dw5upZKZU5jbtLdLVfH2hHdyktRgsX69JvGDDiCB5d/42KajQmBw==","mode":420,"size":1697},"data/features/webgpu.js":{"checkedAt":1708001725104,"integrity":"sha512-fY7mETq3IeLML7wqsW2RD4t2UWgO56SwUgBrZ1z5TUIzmJCj6kp9A4SiPAFjOqhNsGBDnPDEf8PkX7xL9zB7tA==","mode":420,"size":1681},"data/features/webhid.js":{"checkedAt":1708001725104,"integrity":"sha512-/WN0qMvSkzGjDM5m8dPsgzneSAv/WJa2OnF43tYwmRThD2EiYWPXpxvyKaoR2y1MijjszbuDMsUHxjXriXfZHA==","mode":420,"size":1623},"data/features/webkit-user-drag.js":{"checkedAt":1708001725104,"integrity":"sha512-XQqnRC4ZLjHnQfbzpQu3tcl/117ZZTP6wLUpaWvrU+AUIIDTrC9/kBt+0NXvyOqZEQJ/ozZBpcs4EeOXsf9d/A==","mode":420,"size":1629},"data/features/webm.js":{"checkedAt":1708001725104,"integrity":"sha512-AgOmMO8i26XqDBAkui+bEkqHnlVv66dFDHo+mKjqPbg2whbjMCshL9AMH/fUoAIHHCESrI/NoB7kCG1tBVyJ8g==","mode":420,"size":1748},"data/features/webnfc.js":{"checkedAt":1708001725104,"integrity":"sha512-juD5zrKQ08Z2BixbWDIBTS28Jn3vNI97DQdZBWgRDEY6GECQtRrMSrdCO55Lx7r/nHLaBqYrn/gs6CRPU+eRRw==","mode":420,"size":1607},"data/features/webp.js":{"checkedAt":1708001725104,"integrity":"sha512-9zGLnEQFs/P3JaJqjWzoyziztr2uVfeRc5lw0WPwRMNKhq6hbtAarkTItU6+Zh87G8n8Zyd0CR7C8G9A2BfHHQ==","mode":420,"size":1719},"data/features/websockets.js":{"checkedAt":1708001725105,"integrity":"sha512-hIq8ik0dLsNwVJDKAg6ieeZPRg/VByhYKat1GTS5MrWYGdlDVBO2kThlgGqSaBIPuUlh905n5ncB6xeegC+5tQ==","mode":420,"size":1707},"data/features/webtransport.js":{"checkedAt":1708001725105,"integrity":"sha512-CuBo+Qnq872d74UCX2JzwPbETZKynhdg9qXSIYoURWrX655bWqge/xJvT1/i4mGyihXK++Hyr5IZjm9njIXdCw==","mode":420,"size":1635},"data/features/webusb.js":{"checkedAt":1708001725105,"integrity":"sha512-LmUSxcETsnOChubUuaOGoG9LliitSzZgLe4BXKwmdbXmYx98D1KV1M02z0Rgy0IJMm3QwI7zvNdYxlRtJeH4wQ==","mode":420,"size":1624},"data/features/webvr.js":{"checkedAt":1708001725105,"integrity":"sha512-4X39VZuzWLxzxfRdqtbAvR0TyfLtZRXwFkM0YyMrXsKLIqceZ00hkztfMrZq5GTlBYHkcLREJl48MX5DYoO4DA==","mode":420,"size":1638},"data/features/webvtt.js":{"checkedAt":1708001725105,"integrity":"sha512-6Y3J3FU+7v9LH2SNKy+eIwiuuGcpo/pJ0K1XBaoLPuQwUX3DZYfMJHm+vCJTuB2J69dgPF9vqwHgaNac/hhh+w==","mode":420,"size":1683},"data/features/webworkers.js":{"checkedAt":1708001725105,"integrity":"sha512-ZEKrr+jKm0JDiFIqNEZzj/Axjn9+Vz87ber3v32MHm5sG1irwuSIcyg90jhPpOghSp2cEIUo+nJOlXpWqlFaAA==","mode":420,"size":1639},"data/features/webxr.js":{"checkedAt":1708001725105,"integrity":"sha512-tQUHDllg5eDPJzVomsSTI6gDvWP7oOa1p/mYosdhm83GvJ2u8ZCl4Rt26ME60qc82Oq2LqeQJn7DUwGElW9ukQ==","mode":420,"size":1672},"data/regions/WF.js":{"checkedAt":1708001725106,"integrity":"sha512-MUPmiLpjEmx6z5Ox9MnROb5RTTOk20EjA4Ay4CUW+WsVrK7/wT99AaQ78Id0VqdnVKGfpCzMscVEvtwEkJ8erg==","mode":420,"size":2781},"data/features/will-change.js":{"checkedAt":1708001725106,"integrity":"sha512-UwzsrWalOnCTDmLeSonu7d613uSqk3K7eRaZHtefY3dVCc+D/AR/saCPHLazHQUbi10omRvjbMlZzTNsXJLoMw==","mode":420,"size":1654},"data/features/woff.js":{"checkedAt":1708001725106,"integrity":"sha512-xIFvrsYgq6UN+c5wzeDw6c6FbIL+cOzI6Sie/7EwFOwY//XW6nFcdaDi7znzpqYX87jI0HestgpW7VQOPWmZPw==","mode":420,"size":1657},"data/features/woff2.js":{"checkedAt":1708001725106,"integrity":"sha512-sRbPbG7Qm8ycUUWvKhecPuzFxWET18GYanOEJ//xE8+ho/c6f9PxPlwNG0igwiqkm5VxgVdp4B3ug6MQhCn82w==","mode":420,"size":1661},"data/features/word-break.js":{"checkedAt":1708001725106,"integrity":"sha512-r0zJtDSnrkxA/0uPcnNUbtTf8/uXiF9IPSSXiDYhG0qXhB/6JUl2Em50gBmE0J61ASZdcvvEyjs3DFmECYKdPA==","mode":420,"size":1637},"data/features/wordwrap.js":{"checkedAt":1708001725106,"integrity":"sha512-Z1WKHMSSngnjVpyzDXtHfDD5PvUramDRN0mt+2C+36uk7j8rmqUdCvEVvuTz76QRCNciyJKjk4HaK/2T4PudTw==","mode":420,"size":1664},"data/regions/WS.js":{"checkedAt":1708001725106,"integrity":"sha512-1Gcsc4gYcFJ1c3aa7fkSD2hW55kHEizrjIVj5RNVIz7B1nTPxzohIoPXusoP0jfD700leI4FkdILfHDY7GB3+A==","mode":420,"size":3436},"data/features/x-doc-messaging.js":{"checkedAt":1708001725107,"integrity":"sha512-qTRyTrGTr966iA7FBRWIvCIM1FyiQT1xACzYrq1HkwOlk8goyVFK07sqUCgG8Rd7fKSM2MIXmrV8TXPgE+WpYA==","mode":420,"size":1632},"data/features/x-frame-options.js":{"checkedAt":1708001725107,"integrity":"sha512-fWCGOZixaJUQqr+ngaShrN3k84nQLYQG4dOETOH8y1rwi1+xn3bzTWkigJtRsq0h0zubnuu5sC5bdAxmkcOnYw==","mode":420,"size":1674},"data/features/xhr2.js":{"checkedAt":1708001725107,"integrity":"sha512-bwwHl4YEknKXpGBEbErDsP/7pZo6UvmoMWDaIeCB31H4fb4InmpUw7RF8nnrF7AxSFcAKpdMsPN3FJ0NbhXEOg==","mode":420,"size":1861},"data/features/xhtml.js":{"checkedAt":1708001725107,"integrity":"sha512-NHrWQ3rQMtDANq8DkdL5KEaf1ku2b0Qf5P3HVaQohoqhCzvXxnfTAQp9hFQsvCwkLLl8/+QoLjQBpy8j0pEz/g==","mode":420,"size":1617},"data/features/xhtmlsmil.js":{"checkedAt":1708001725107,"integrity":"sha512-W7mvkujiae1TwjuGFeK+Kir16eZ9LQ5wh+irgktVBzaWNko1SEktvB/fzP9PPaU8ozNpG2Fe2yH72y6eX4G+2w==","mode":420,"size":1606},"data/features/xml-serializer.js":{"checkedAt":1708001725107,"integrity":"sha512-GpxAG1gQxcApVTNTBHwfSU2cxdJ7oHyK0P8+DhVtseLflAAmAUkw/tgibUrzaZMOhOMY08GCUrNUwshvq5wuHA==","mode":420,"size":1701},"data/regions/YE.js":{"checkedAt":1708001725107,"integrity":"sha512-bITJNzVz9ozuUEXmf97f8v//ZqvfxbDYJ72sIwaTnmrcqtFQIWgEAc9/QlKxJpzU68PtymLsFWG3sb0tA2vD9g==","mode":420,"size":3782},"data/regions/YT.js":{"checkedAt":1708001725107,"integrity":"sha512-rZHsneb0bfsew4mDpnpczxwVm0IzrJYuVbPY7crScgIeUG/ptMAudnZ6tzOY70uYH+HpEinWYYaG1pcaJ+BuvA==","mode":420,"size":3480},"data/regions/ZA.js":{"checkedAt":1708001725108,"integrity":"sha512-DtEQEADj3MlSfx6chre3OCo/v4bilNhHkVsim0ZEJSvRsLv3onpi/hHoIBPuo1ccH1EEIhv8PtpMVhldpAvjlg==","mode":420,"size":4109},"data/regions/ZM.js":{"checkedAt":1708001725108,"integrity":"sha512-4PP4EvQRTlUFAljEJhCuJ0EYb5pFP8lOXaiF5XXCBD0Epq2Q46N6NLYZIEoByzE6gMp7NbwgSH+E5WIwxp2+Rg==","mode":420,"size":4304},"data/features/zstd.js":{"checkedAt":1708001725108,"integrity":"sha512-c3YaOlFmuCrC4C018wELy7YAfq7UjTq1swCP7w6iqvhqM0/to08uu9W/BkCYaHq9kbQ4VkvhHMOT8tuZi7xUeg==","mode":420,"size":1629},"data/regions/ZW.js":{"checkedAt":1708001725108,"integrity":"sha512-5Wi1y/WghkPkg9Auqd22kmN8q9MUV8I93cl63ddwBfDGZOcl/xWwJcx+NtqnNyu6CRmo6FNfK9KqSgb5+1IH0g==","mode":420,"size":4401},"package.json":{"checkedAt":1708001725108,"integrity":"sha512-lYidMJJly+z/swXn8f2sfu/EVxDle800GtG/DMJKbcmQktH6dfHctHwwaXeG6CTv1vdtCWeatBFVKwDb7NmjCA==","mode":420,"size":742},"README.md":{"checkedAt":1708001725108,"integrity":"sha512-B05AZWtgv0FePpiAy/PqsvetMiSTF5rufEJr7EgXY1GeCP36UUxvtGzg6+zzIV4bIaVO+leVXiKh8ywU4fVDNw==","mode":420,"size":164}}}
\ No newline at end of file
diff --git a/.pnpm-store/v3/files/1c/cc60595444dddf0c7120ee9ef5cdc562cae291203a435e10ba1b6f7e6651154dc19bc99d37ab6f8fcf2f1f16989517c45ea67aafbeac0d6f0e9d977ccee01b b/.pnpm-store/v3/files/1c/cc60595444dddf0c7120ee9ef5cdc562cae291203a435e10ba1b6f7e6651154dc19bc99d37ab6f8fcf2f1f16989517c45ea67aafbeac0d6f0e9d977ccee01b
new file mode 100644
index 00000000..e9704718
--- /dev/null
+++ b/.pnpm-store/v3/files/1c/cc60595444dddf0c7120ee9ef5cdc562cae291203a435e10ba1b6f7e6651154dc19bc99d37ab6f8fcf2f1f16989517c45ea67aafbeac0d6f0e9d977ccee01b
@@ -0,0 +1,545 @@
+"use strict";
+
+function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
+function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
+function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+// A simple implementation of make-array
+function makeArray(subject) {
+  return Array.isArray(subject) ? subject : [subject];
+}
+var EMPTY = '';
+var SPACE = ' ';
+var ESCAPE = '\\';
+var REGEX_TEST_BLANK_LINE = /^\s+$/;
+var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
+var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
+var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
+var REGEX_SPLITALL_CRLF = /\r?\n/g;
+// /foo,
+// ./foo,
+// ../foo,
+// .
+// ..
+var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/;
+var SLASH = '/';
+
+// Do not use ternary expression here, since "istanbul ignore next" is buggy
+var TMP_KEY_IGNORE = 'node-ignore';
+/* istanbul ignore else */
+if (typeof Symbol !== 'undefined') {
+  TMP_KEY_IGNORE = Symbol["for"]('node-ignore');
+}
+var KEY_IGNORE = TMP_KEY_IGNORE;
+var define = function define(object, key, value) {
+  return Object.defineProperty(object, key, {
+    value: value
+  });
+};
+var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
+var RETURN_FALSE = function RETURN_FALSE() {
+  return false;
+};
+
+// Sanitize the range of a regular expression
+// The cases are complicated, see test cases for details
+var sanitizeRange = function sanitizeRange(range) {
+  return range.replace(REGEX_REGEXP_RANGE, function (match, from, to) {
+    return from.charCodeAt(0) <= to.charCodeAt(0) ? match
+    // Invalid range (out of order) which is ok for gitignore rules but
+    //   fatal for JavaScript regular expression, so eliminate it.
+    : EMPTY;
+  });
+};
+
+// See fixtures #59
+var cleanRangeBackSlash = function cleanRangeBackSlash(slashes) {
+  var length = slashes.length;
+  return slashes.slice(0, length - length % 2);
+};
+
+// > If the pattern ends with a slash,
+// > it is removed for the purpose of the following description,
+// > but it would only find a match with a directory.
+// > In other words, foo/ will match a directory foo and paths underneath it,
+// > but will not match a regular file or a symbolic link foo
+// >  (this is consistent with the way how pathspec works in general in Git).
+// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'
+// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call
+//      you could use option `mark: true` with `glob`
+
+// '`foo/`' should not continue with the '`..`'
+var REPLACERS = [[
+// remove BOM
+// TODO:
+// Other similar zero-width characters?
+/^\uFEFF/, function () {
+  return EMPTY;
+}],
+// > Trailing spaces are ignored unless they are quoted with backslash ("\")
+[
+// (a\ ) -> (a )
+// (a  ) -> (a)
+// (a \ ) -> (a  )
+/\\?\s+$/, function (match) {
+  return match.indexOf('\\') === 0 ? SPACE : EMPTY;
+}],
+// replace (\ ) with ' '
+[/\\\s/g, function () {
+  return SPACE;
+}],
+// Escape metacharacters
+// which is written down by users but means special for regular expressions.
+
+// > There are 12 characters with special meanings:
+// > - the backslash \,
+// > - the caret ^,
+// > - the dollar sign $,
+// > - the period or dot .,
+// > - the vertical bar or pipe symbol |,
+// > - the question mark ?,
+// > - the asterisk or star *,
+// > - the plus sign +,
+// > - the opening parenthesis (,
+// > - the closing parenthesis ),
+// > - and the opening square bracket [,
+// > - the opening curly brace {,
+// > These special characters are often called "metacharacters".
+[/[\\$.|*+(){^]/g, function (match) {
+  return "\\".concat(match);
+}], [
+// > a question mark (?) matches a single character
+/(?!\\)\?/g, function () {
+  return '[^/]';
+}],
+// leading slash
+[
+// > A leading slash matches the beginning of the pathname.
+// > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
+// A leading slash matches the beginning of the pathname
+/^\//, function () {
+  return '^';
+}],
+// replace special metacharacter slash after the leading slash
+[/\//g, function () {
+  return '\\/';
+}], [
+// > A leading "**" followed by a slash means match in all directories.
+// > For example, "**/foo" matches file or directory "foo" anywhere,
+// > the same as pattern "foo".
+// > "**/foo/bar" matches file or directory "bar" anywhere that is directly
+// >   under directory "foo".
+// Notice that the '*'s have been replaced as '\\*'
+/^\^*\\\*\\\*\\\//,
+// '**/foo' <-> 'foo'
+function () {
+  return '^(?:.*\\/)?';
+}],
+// starting
+[
+// there will be no leading '/'
+//   (which has been replaced by section "leading slash")
+// If starts with '**', adding a '^' to the regular expression also works
+/^(?=[^^])/, function startingReplacer() {
+  // If has a slash `/` at the beginning or middle
+  return !/\/(?!$)/.test(this)
+  // > Prior to 2.22.1
+  // > If the pattern does not contain a slash /,
+  // >   Git treats it as a shell glob pattern
+  // Actually, if there is only a trailing slash,
+  //   git also treats it as a shell glob pattern
+
+  // After 2.22.1 (compatible but clearer)
+  // > If there is a separator at the beginning or middle (or both)
+  // > of the pattern, then the pattern is relative to the directory
+  // > level of the particular .gitignore file itself.
+  // > Otherwise the pattern may also match at any level below
+  // > the .gitignore level.
+  ? '(?:^|\\/)'
+
+  // > Otherwise, Git treats the pattern as a shell glob suitable for
+  // >   consumption by fnmatch(3)
+  : '^';
+}],
+// two globstars
+[
+// Use lookahead assertions so that we could match more than one `'/**'`
+/\\\/\\\*\\\*(?=\\\/|$)/g,
+// Zero, one or several directories
+// should not use '*', or it will be replaced by the next replacer
+
+// Check if it is not the last `'/**'`
+function (_, index, str) {
+  return index + 6 < str.length
+
+  // case: /**/
+  // > A slash followed by two consecutive asterisks then a slash matches
+  // >   zero or more directories.
+  // > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on.
+  // '/**/'
+  ? '(?:\\/[^\\/]+)*'
+
+  // case: /**
+  // > A trailing `"/**"` matches everything inside.
+
+  // #21: everything inside but it should not include the current folder
+  : '\\/.+';
+}],
+// normal intermediate wildcards
+[
+// Never replace escaped '*'
+// ignore rule '\*' will match the path '*'
+
+// 'abc.*/' -> go
+// 'abc.*'  -> skip this rule,
+//    coz trailing single wildcard will be handed by [trailing wildcard]
+/(^|[^\\]+)(\\\*)+(?=.+)/g,
+// '*.js' matches '.js'
+// '*.js' doesn't match 'abc'
+function (_, p1, p2) {
+  // 1.
+  // > An asterisk "*" matches anything except a slash.
+  // 2.
+  // > Other consecutive asterisks are considered regular asterisks
+  // > and will match according to the previous rules.
+  var unescaped = p2.replace(/\\\*/g, '[^\\/]*');
+  return p1 + unescaped;
+}], [
+// unescape, revert step 3 except for back slash
+// For example, if a user escape a '\\*',
+// after step 3, the result will be '\\\\\\*'
+/\\\\\\(?=[$.|*+(){^])/g, function () {
+  return ESCAPE;
+}], [
+// '\\\\' -> '\\'
+/\\\\/g, function () {
+  return ESCAPE;
+}], [
+// > The range notation, e.g. [a-zA-Z],
+// > can be used to match one of the characters in a range.
+
+// `\` is escaped by step 3
+/(\\)?\[([^\]/]*?)(\\*)($|\])/g, function (match, leadEscape, range, endEscape, close) {
+  return leadEscape === ESCAPE
+  // '\\[bar]' -> '\\\\[bar\\]'
+  ? "\\[".concat(range).concat(cleanRangeBackSlash(endEscape)).concat(close) : close === ']' ? endEscape.length % 2 === 0
+  // A normal case, and it is a range notation
+  // '[bar]'
+  // '[bar\\\\]'
+  ? "[".concat(sanitizeRange(range)).concat(endEscape, "]") // Invalid range notaton
+  // '[bar\\]' -> '[bar\\\\]'
+  : '[]' : '[]';
+}],
+// ending
+[
+// 'js' will not match 'js.'
+// 'ab' will not match 'abc'
+/(?:[^*])$/,
+// WTF!
+// https://git-scm.com/docs/gitignore
+// changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
+// which re-fixes #24, #38
+
+// > If there is a separator at the end of the pattern then the pattern
+// > will only match directories, otherwise the pattern can match both
+// > files and directories.
+
+// 'js*' will not match 'a.js'
+// 'js/' will not match 'a.js'
+// 'js' will match 'a.js' and 'a.js/'
+function (match) {
+  return /\/$/.test(match)
+  // foo/ will not match 'foo'
+  ? "".concat(match, "$") // foo matches 'foo' and 'foo/'
+  : "".concat(match, "(?=$|\\/$)");
+}],
+// trailing wildcard
+[/(\^|\\\/)?\\\*$/, function (_, p1) {
+  var prefix = p1
+  // '\^':
+  // '/*' does not match EMPTY
+  // '/*' does not match everything
+
+  // '\\\/':
+  // 'abc/*' does not match 'abc/'
+  ? "".concat(p1, "[^/]+") // 'a*' matches 'a'
+  // 'a*' matches 'aa'
+  : '[^/]*';
+  return "".concat(prefix, "(?=$|\\/$)");
+}]];
+
+// A simple cache, because an ignore rule only has only one certain meaning
+var regexCache = Object.create(null);
+
+// @param {pattern}
+var makeRegex = function makeRegex(pattern, ignoreCase) {
+  var source = regexCache[pattern];
+  if (!source) {
+    source = REPLACERS.reduce(function (prev, current) {
+      return prev.replace(current[0], current[1].bind(pattern));
+    }, pattern);
+    regexCache[pattern] = source;
+  }
+  return ignoreCase ? new RegExp(source, 'i') : new RegExp(source);
+};
+var isString = function isString(subject) {
+  return typeof subject === 'string';
+};
+
+// > A blank line matches no files, so it can serve as a separator for readability.
+var checkPattern = function checkPattern(pattern) {
+  return pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern)
+
+  // > A line starting with # serves as a comment.
+  && pattern.indexOf('#') !== 0;
+};
+var splitPattern = function splitPattern(pattern) {
+  return pattern.split(REGEX_SPLITALL_CRLF);
+};
+var IgnoreRule = /*#__PURE__*/_createClass(function IgnoreRule(origin, pattern, negative, regex) {
+  _classCallCheck(this, IgnoreRule);
+  this.origin = origin;
+  this.pattern = pattern;
+  this.negative = negative;
+  this.regex = regex;
+});
+var createRule = function createRule(pattern, ignoreCase) {
+  var origin = pattern;
+  var negative = false;
+
+  // > An optional prefix "!" which negates the pattern;
+  if (pattern.indexOf('!') === 0) {
+    negative = true;
+    pattern = pattern.substr(1);
+  }
+  pattern = pattern
+  // > Put a backslash ("\") in front of the first "!" for patterns that
+  // >   begin with a literal "!", for example, `"\!important!.txt"`.
+  .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!')
+  // > Put a backslash ("\") in front of the first hash for patterns that
+  // >   begin with a hash.
+  .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#');
+  var regex = makeRegex(pattern, ignoreCase);
+  return new IgnoreRule(origin, pattern, negative, regex);
+};
+var throwError = function throwError(message, Ctor) {
+  throw new Ctor(message);
+};
+var checkPath = function checkPath(path, originalPath, doThrow) {
+  if (!isString(path)) {
+    return doThrow("path must be a string, but got `".concat(originalPath, "`"), TypeError);
+  }
+
+  // We don't know if we should ignore EMPTY, so throw
+  if (!path) {
+    return doThrow("path must not be empty", TypeError);
+  }
+
+  // Check if it is a relative path
+  if (checkPath.isNotRelative(path)) {
+    var r = '`path.relative()`d';
+    return doThrow("path should be a ".concat(r, " string, but got \"").concat(originalPath, "\""), RangeError);
+  }
+  return true;
+};
+var isNotRelative = function isNotRelative(path) {
+  return REGEX_TEST_INVALID_PATH.test(path);
+};
+checkPath.isNotRelative = isNotRelative;
+checkPath.convert = function (p) {
+  return p;
+};
+var Ignore = /*#__PURE__*/function () {
+  function Ignore() {
+    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
+      _ref$ignorecase = _ref.ignorecase,
+      ignorecase = _ref$ignorecase === void 0 ? true : _ref$ignorecase,
+      _ref$ignoreCase = _ref.ignoreCase,
+      ignoreCase = _ref$ignoreCase === void 0 ? ignorecase : _ref$ignoreCase,
+      _ref$allowRelativePat = _ref.allowRelativePaths,
+      allowRelativePaths = _ref$allowRelativePat === void 0 ? false : _ref$allowRelativePat;
+    _classCallCheck(this, Ignore);
+    define(this, KEY_IGNORE, true);
+    this._rules = [];
+    this._ignoreCase = ignoreCase;
+    this._allowRelativePaths = allowRelativePaths;
+    this._initCache();
+  }
+  _createClass(Ignore, [{
+    key: "_initCache",
+    value: function _initCache() {
+      this._ignoreCache = Object.create(null);
+      this._testCache = Object.create(null);
+    }
+  }, {
+    key: "_addPattern",
+    value: function _addPattern(pattern) {
+      // #32
+      if (pattern && pattern[KEY_IGNORE]) {
+        this._rules = this._rules.concat(pattern._rules);
+        this._added = true;
+        return;
+      }
+      if (checkPattern(pattern)) {
+        var rule = createRule(pattern, this._ignoreCase);
+        this._added = true;
+        this._rules.push(rule);
+      }
+    }
+
+    // @param {Array | string | Ignore} pattern
+  }, {
+    key: "add",
+    value: function add(pattern) {
+      this._added = false;
+      makeArray(isString(pattern) ? splitPattern(pattern) : pattern).forEach(this._addPattern, this);
+
+      // Some rules have just added to the ignore,
+      // making the behavior changed.
+      if (this._added) {
+        this._initCache();
+      }
+      return this;
+    }
+
+    // legacy
+  }, {
+    key: "addPattern",
+    value: function addPattern(pattern) {
+      return this.add(pattern);
+    }
+
+    //          |           ignored : unignored
+    // negative |   0:0   |   0:1   |   1:0   |   1:1
+    // -------- | ------- | ------- | ------- | --------
+    //     0    |  TEST   |  TEST   |  SKIP   |    X
+    //     1    |  TESTIF |  SKIP   |  TEST   |    X
+
+    // - SKIP: always skip
+    // - TEST: always test
+    // - TESTIF: only test if checkUnignored
+    // - X: that never happen
+
+    // @param {boolean} whether should check if the path is unignored,
+    //   setting `checkUnignored` to `false` could reduce additional
+    //   path matching.
+
+    // @returns {TestResult} true if a file is ignored
+  }, {
+    key: "_testOne",
+    value: function _testOne(path, checkUnignored) {
+      var ignored = false;
+      var unignored = false;
+      this._rules.forEach(function (rule) {
+        var negative = rule.negative;
+        if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
+          return;
+        }
+        var matched = rule.regex.test(path);
+        if (matched) {
+          ignored = !negative;
+          unignored = negative;
+        }
+      });
+      return {
+        ignored: ignored,
+        unignored: unignored
+      };
+    }
+
+    // @returns {TestResult}
+  }, {
+    key: "_test",
+    value: function _test(originalPath, cache, checkUnignored, slices) {
+      var path = originalPath
+      // Supports nullable path
+      && checkPath.convert(originalPath);
+      checkPath(path, originalPath, this._allowRelativePaths ? RETURN_FALSE : throwError);
+      return this._t(path, cache, checkUnignored, slices);
+    }
+  }, {
+    key: "_t",
+    value: function _t(path, cache, checkUnignored, slices) {
+      if (path in cache) {
+        return cache[path];
+      }
+      if (!slices) {
+        // path/to/a.js
+        // ['path', 'to', 'a.js']
+        slices = path.split(SLASH);
+      }
+      slices.pop();
+
+      // If the path has no parent directory, just test it
+      if (!slices.length) {
+        return cache[path] = this._testOne(path, checkUnignored);
+      }
+      var parent = this._t(slices.join(SLASH) + SLASH, cache, checkUnignored, slices);
+
+      // If the path contains a parent directory, check the parent first
+      return cache[path] = parent.ignored
+      // > It is not possible to re-include a file if a parent directory of
+      // >   that file is excluded.
+      ? parent : this._testOne(path, checkUnignored);
+    }
+  }, {
+    key: "ignores",
+    value: function ignores(path) {
+      return this._test(path, this._ignoreCache, false).ignored;
+    }
+  }, {
+    key: "createFilter",
+    value: function createFilter() {
+      var _this = this;
+      return function (path) {
+        return !_this.ignores(path);
+      };
+    }
+  }, {
+    key: "filter",
+    value: function filter(paths) {
+      return makeArray(paths).filter(this.createFilter());
+    }
+
+    // @returns {TestResult}
+  }, {
+    key: "test",
+    value: function test(path) {
+      return this._test(path, this._testCache, true);
+    }
+  }]);
+  return Ignore;
+}();
+var factory = function factory(options) {
+  return new Ignore(options);
+};
+var isPathValid = function isPathValid(path) {
+  return checkPath(path && checkPath.convert(path), path, RETURN_FALSE);
+};
+factory.isPathValid = isPathValid;
+
+// Fixes typescript
+factory["default"] = factory;
+module.exports = factory;
+
+// Windows
+// --------------------------------------------------------------
+/* istanbul ignore if */
+if (
+// Detect `process` so that it can run in browsers.
+typeof process !== 'undefined' && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === 'win32')) {
+  /* eslint no-control-regex: "off" */
+  var makePosix = function makePosix(str) {
+    return /^\\\\\?\\/.test(str) || /[\0-\x1F"<>\|]+/.test(str) ? str : str.replace(/\\/g, '/');
+  };
+  checkPath.convert = makePosix;
+
+  // 'C:\\foo'     <- 'C:\\foo' has been converted to 'C:/'
+  // 'd:\\foo'
+  var REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
+  checkPath.isNotRelative = function (path) {
+    return REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) || isNotRelative(path);
+  };
+}
diff --git a/.pnpm-store/v3/files/1c/fa40311cac9713e0e9f310d811ed912ad643da69c8b20a2bb458bffd1419f8742091167fdb6f7499555e1cf7840a991475286d0cc01354a3a3cbe0dda61c2e b/.pnpm-store/v3/files/1c/fa40311cac9713e0e9f310d811ed912ad643da69c8b20a2bb458bffd1419f8742091167fdb6f7499555e1cf7840a991475286d0cc01354a3a3cbe0dda61c2e
new file mode 100644
index 00000000..26d33a22
--- /dev/null
+++ b/.pnpm-store/v3/files/1c/fa40311cac9713e0e9f310d811ed912ad643da69c8b20a2bb458bffd1419f8742091167fdb6f7499555e1cf7840a991475286d0cc01354a3a3cbe0dda61c2e
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I","33":"J D E F A B C"},E:{"1":"E F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D XC DC YC ZC aC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"I H DD RC ED FD","2":"7B AD BD CD"},J:{"1":"A","2":"D"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"Navigation Timing API",D:true};
diff --git a/.pnpm-store/v3/files/1d/03f4a44a3c2221cb948be827b2b2290f0ad7682d8562e19b0a6c1bcbfed887bae87af4e5fec8ced14a903304245597ace433982bd3fc4d5241dde092b0a9e1 b/.pnpm-store/v3/files/1d/03f4a44a3c2221cb948be827b2b2290f0ad7682d8562e19b0a6c1bcbfed887bae87af4e5fec8ced14a903304245597ace433982bd3fc4d5241dde092b0a9e1
new file mode 100644
index 00000000..718b0677
Binary files /dev/null and b/.pnpm-store/v3/files/1d/03f4a44a3c2221cb948be827b2b2290f0ad7682d8562e19b0a6c1bcbfed887bae87af4e5fec8ced14a903304245597ace433982bd3fc4d5241dde092b0a9e1 differ
diff --git a/.pnpm-store/v3/files/1d/2d361c5737ce38360ca8ce62ca279fd899ffbe6550f867c41cb0ca34e27331ea3448a6bea3581603ff9d22103d70bc29b1ef9236c64050076ed24acae1aed2 b/.pnpm-store/v3/files/1d/2d361c5737ce38360ca8ce62ca279fd899ffbe6550f867c41cb0ca34e27331ea3448a6bea3581603ff9d22103d70bc29b1ef9236c64050076ed24acae1aed2
new file mode 100644
index 00000000..8618c9d8
--- /dev/null
+++ b/.pnpm-store/v3/files/1d/2d361c5737ce38360ca8ce62ca279fd899ffbe6550f867c41cb0ca34e27331ea3448a6bea3581603ff9d22103d70bc29b1ef9236c64050076ed24acae1aed2
@@ -0,0 +1,4574 @@
+/*
+  @license
+	Rollup.js v4.11.0
+	Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99
+
+	https://github.com/rollup/rollup
+
+	Released under the MIT License.
+*/
+'use strict';
+
+const rollup = require('./rollup.js');
+const require$$0$1 = require('fs');
+const require$$2 = require('util');
+const require$$1 = require('stream');
+const require$$0$2 = require('path');
+const require$$2$1 = require('os');
+const fseventsImporter = require('./fsevents-importer.js');
+const require$$0$3 = require('events');
+
+var chokidar = {};
+
+const fs$3 = require$$0$1;
+const { Readable } = require$$1;
+const sysPath$3 = require$$0$2;
+const { promisify: promisify$3 } = require$$2;
+const picomatch$1 = rollup.picomatch;
+
+const readdir$1 = promisify$3(fs$3.readdir);
+const stat$3 = promisify$3(fs$3.stat);
+const lstat$2 = promisify$3(fs$3.lstat);
+const realpath$1 = promisify$3(fs$3.realpath);
+
+/**
+ * @typedef {Object} EntryInfo
+ * @property {String} path
+ * @property {String} fullPath
+ * @property {fs.Stats=} stats
+ * @property {fs.Dirent=} dirent
+ * @property {String} basename
+ */
+
+const BANG$2 = '!';
+const RECURSIVE_ERROR_CODE = 'READDIRP_RECURSIVE_ERROR';
+const NORMAL_FLOW_ERRORS = new Set(['ENOENT', 'EPERM', 'EACCES', 'ELOOP', RECURSIVE_ERROR_CODE]);
+const FILE_TYPE = 'files';
+const DIR_TYPE = 'directories';
+const FILE_DIR_TYPE = 'files_directories';
+const EVERYTHING_TYPE = 'all';
+const ALL_TYPES = [FILE_TYPE, DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE];
+
+const isNormalFlowError = error => NORMAL_FLOW_ERRORS.has(error.code);
+const [maj, min] = process.versions.node.split('.').slice(0, 2).map(n => Number.parseInt(n, 10));
+const wantBigintFsStats = process.platform === 'win32' && (maj > 10 || (maj === 10 && min >= 5));
+
+const normalizeFilter = filter => {
+  if (filter === undefined) return;
+  if (typeof filter === 'function') return filter;
+
+  if (typeof filter === 'string') {
+    const glob = picomatch$1(filter.trim());
+    return entry => glob(entry.basename);
+  }
+
+  if (Array.isArray(filter)) {
+    const positive = [];
+    const negative = [];
+    for (const item of filter) {
+      const trimmed = item.trim();
+      if (trimmed.charAt(0) === BANG$2) {
+        negative.push(picomatch$1(trimmed.slice(1)));
+      } else {
+        positive.push(picomatch$1(trimmed));
+      }
+    }
+
+    if (negative.length > 0) {
+      if (positive.length > 0) {
+        return entry =>
+          positive.some(f => f(entry.basename)) && !negative.some(f => f(entry.basename));
+      }
+      return entry => !negative.some(f => f(entry.basename));
+    }
+    return entry => positive.some(f => f(entry.basename));
+  }
+};
+
+class ReaddirpStream extends Readable {
+  static get defaultOptions() {
+    return {
+      root: '.',
+      /* eslint-disable no-unused-vars */
+      fileFilter: (path) => true,
+      directoryFilter: (path) => true,
+      /* eslint-enable no-unused-vars */
+      type: FILE_TYPE,
+      lstat: false,
+      depth: 2147483648,
+      alwaysStat: false
+    };
+  }
+
+  constructor(options = {}) {
+    super({
+      objectMode: true,
+      autoDestroy: true,
+      highWaterMark: options.highWaterMark || 4096
+    });
+    const opts = { ...ReaddirpStream.defaultOptions, ...options };
+    const { root, type } = opts;
+
+    this._fileFilter = normalizeFilter(opts.fileFilter);
+    this._directoryFilter = normalizeFilter(opts.directoryFilter);
+
+    const statMethod = opts.lstat ? lstat$2 : stat$3;
+    // Use bigint stats if it's windows and stat() supports options (node 10+).
+    if (wantBigintFsStats) {
+      this._stat = path => statMethod(path, { bigint: true });
+    } else {
+      this._stat = statMethod;
+    }
+
+    this._maxDepth = opts.depth;
+    this._wantsDir = [DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE].includes(type);
+    this._wantsFile = [FILE_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE].includes(type);
+    this._wantsEverything = type === EVERYTHING_TYPE;
+    this._root = sysPath$3.resolve(root);
+    this._isDirent = ('Dirent' in fs$3) && !opts.alwaysStat;
+    this._statsProp = this._isDirent ? 'dirent' : 'stats';
+    this._rdOptions = { encoding: 'utf8', withFileTypes: this._isDirent };
+
+    // Launch stream with one parent, the root dir.
+    this.parents = [this._exploreDir(root, 1)];
+    this.reading = false;
+    this.parent = undefined;
+  }
+
+  async _read(batch) {
+    if (this.reading) return;
+    this.reading = true;
+
+    try {
+      while (!this.destroyed && batch > 0) {
+        const { path, depth, files = [] } = this.parent || {};
+
+        if (files.length > 0) {
+          const slice = files.splice(0, batch).map(dirent => this._formatEntry(dirent, path));
+          for (const entry of await Promise.all(slice)) {
+            if (this.destroyed) return;
+
+            const entryType = await this._getEntryType(entry);
+            if (entryType === 'directory' && this._directoryFilter(entry)) {
+              if (depth <= this._maxDepth) {
+                this.parents.push(this._exploreDir(entry.fullPath, depth + 1));
+              }
+
+              if (this._wantsDir) {
+                this.push(entry);
+                batch--;
+              }
+            } else if ((entryType === 'file' || this._includeAsFile(entry)) && this._fileFilter(entry)) {
+              if (this._wantsFile) {
+                this.push(entry);
+                batch--;
+              }
+            }
+          }
+        } else {
+          const parent = this.parents.pop();
+          if (!parent) {
+            this.push(null);
+            break;
+          }
+          this.parent = await parent;
+          if (this.destroyed) return;
+        }
+      }
+    } catch (error) {
+      this.destroy(error);
+    } finally {
+      this.reading = false;
+    }
+  }
+
+  async _exploreDir(path, depth) {
+    let files;
+    try {
+      files = await readdir$1(path, this._rdOptions);
+    } catch (error) {
+      this._onError(error);
+    }
+    return { files, depth, path };
+  }
+
+  async _formatEntry(dirent, path) {
+    let entry;
+    try {
+      const basename = this._isDirent ? dirent.name : dirent;
+      const fullPath = sysPath$3.resolve(sysPath$3.join(path, basename));
+      entry = { path: sysPath$3.relative(this._root, fullPath), fullPath, basename };
+      entry[this._statsProp] = this._isDirent ? dirent : await this._stat(fullPath);
+    } catch (err) {
+      this._onError(err);
+    }
+    return entry;
+  }
+
+  _onError(err) {
+    if (isNormalFlowError(err) && !this.destroyed) {
+      this.emit('warn', err);
+    } else {
+      this.destroy(err);
+    }
+  }
+
+  async _getEntryType(entry) {
+    // entry may be undefined, because a warning or an error were emitted
+    // and the statsProp is undefined
+    const stats = entry && entry[this._statsProp];
+    if (!stats) {
+      return;
+    }
+    if (stats.isFile()) {
+      return 'file';
+    }
+    if (stats.isDirectory()) {
+      return 'directory';
+    }
+    if (stats && stats.isSymbolicLink()) {
+      const full = entry.fullPath;
+      try {
+        const entryRealPath = await realpath$1(full);
+        const entryRealPathStats = await lstat$2(entryRealPath);
+        if (entryRealPathStats.isFile()) {
+          return 'file';
+        }
+        if (entryRealPathStats.isDirectory()) {
+          const len = entryRealPath.length;
+          if (full.startsWith(entryRealPath) && full.substr(len, 1) === sysPath$3.sep) {
+            const recursiveError = new Error(
+              `Circular symlink detected: "${full}" points to "${entryRealPath}"`
+            );
+            recursiveError.code = RECURSIVE_ERROR_CODE;
+            return this._onError(recursiveError);
+          }
+          return 'directory';
+        }
+      } catch (error) {
+        this._onError(error);
+      }
+    }
+  }
+
+  _includeAsFile(entry) {
+    const stats = entry && entry[this._statsProp];
+
+    return stats && this._wantsEverything && !stats.isDirectory();
+  }
+}
+
+/**
+ * @typedef {Object} ReaddirpArguments
+ * @property {Function=} fileFilter
+ * @property {Function=} directoryFilter
+ * @property {String=} type
+ * @property {Number=} depth
+ * @property {String=} root
+ * @property {Boolean=} lstat
+ * @property {Boolean=} bigint
+ */
+
+/**
+ * Main function which ends up calling readdirRec and reads all files and directories in given root recursively.
+ * @param {String} root Root directory
+ * @param {ReaddirpArguments=} options Options to specify root (start directory), filters and recursion depth
+ */
+const readdirp$1 = (root, options = {}) => {
+  let type = options.entryType || options.type;
+  if (type === 'both') type = FILE_DIR_TYPE; // backwards-compatibility
+  if (type) options.type = type;
+  if (!root) {
+    throw new Error('readdirp: root argument is required. Usage: readdirp(root, options)');
+  } else if (typeof root !== 'string') {
+    throw new TypeError('readdirp: root argument must be a string. Usage: readdirp(root, options)');
+  } else if (type && !ALL_TYPES.includes(type)) {
+    throw new Error(`readdirp: Invalid type passed. Use one of ${ALL_TYPES.join(', ')}`);
+  }
+
+  options.root = root;
+  return new ReaddirpStream(options);
+};
+
+const readdirpPromise = (root, options = {}) => {
+  return new Promise((resolve, reject) => {
+    const files = [];
+    readdirp$1(root, options)
+      .on('data', entry => files.push(entry))
+      .on('end', () => resolve(files))
+      .on('error', error => reject(error));
+  });
+};
+
+readdirp$1.promise = readdirpPromise;
+readdirp$1.ReaddirpStream = ReaddirpStream;
+readdirp$1.default = readdirp$1;
+
+var readdirp_1 = readdirp$1;
+
+var anymatch$2 = {exports: {}};
+
+/*!
+ * normalize-path 
+ *
+ * Copyright (c) 2014-2018, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+
+var normalizePath$2 = function(path, stripTrailing) {
+  if (typeof path !== 'string') {
+    throw new TypeError('expected path to be a string');
+  }
+
+  if (path === '\\' || path === '/') return '/';
+
+  var len = path.length;
+  if (len <= 1) return path;
+
+  // ensure that win32 namespaces has two leading slashes, so that the path is
+  // handled properly by the win32 version of path.parse() after being normalized
+  // https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces
+  var prefix = '';
+  if (len > 4 && path[3] === '\\') {
+    var ch = path[2];
+    if ((ch === '?' || ch === '.') && path.slice(0, 2) === '\\\\') {
+      path = path.slice(2);
+      prefix = '//';
+    }
+  }
+
+  var segs = path.split(/[/\\]+/);
+  if (stripTrailing !== false && segs[segs.length - 1] === '') {
+    segs.pop();
+  }
+  return prefix + segs.join('/');
+};
+
+var anymatch_1 = anymatch$2.exports;
+
+Object.defineProperty(anymatch_1, "__esModule", { value: true });
+
+const picomatch = rollup.picomatch;
+const normalizePath$1 = normalizePath$2;
+
+/**
+ * @typedef {(testString: string) => boolean} AnymatchFn
+ * @typedef {string|RegExp|AnymatchFn} AnymatchPattern
+ * @typedef {AnymatchPattern|AnymatchPattern[]} AnymatchMatcher
+ */
+const BANG$1 = '!';
+const DEFAULT_OPTIONS = {returnIndex: false};
+const arrify$1 = (item) => Array.isArray(item) ? item : [item];
+
+/**
+ * @param {AnymatchPattern} matcher
+ * @param {object} options
+ * @returns {AnymatchFn}
+ */
+const createPattern = (matcher, options) => {
+  if (typeof matcher === 'function') {
+    return matcher;
+  }
+  if (typeof matcher === 'string') {
+    const glob = picomatch(matcher, options);
+    return (string) => matcher === string || glob(string);
+  }
+  if (matcher instanceof RegExp) {
+    return (string) => matcher.test(string);
+  }
+  return (string) => false;
+};
+
+/**
+ * @param {Array} patterns
+ * @param {Array} negPatterns
+ * @param {String|Array} args
+ * @param {Boolean} returnIndex
+ * @returns {boolean|number}
+ */
+const matchPatterns = (patterns, negPatterns, args, returnIndex) => {
+  const isList = Array.isArray(args);
+  const _path = isList ? args[0] : args;
+  if (!isList && typeof _path !== 'string') {
+    throw new TypeError('anymatch: second argument must be a string: got ' +
+      Object.prototype.toString.call(_path))
+  }
+  const path = normalizePath$1(_path, false);
+
+  for (let index = 0; index < negPatterns.length; index++) {
+    const nglob = negPatterns[index];
+    if (nglob(path)) {
+      return returnIndex ? -1 : false;
+    }
+  }
+
+  const applied = isList && [path].concat(args.slice(1));
+  for (let index = 0; index < patterns.length; index++) {
+    const pattern = patterns[index];
+    if (isList ? pattern(...applied) : pattern(path)) {
+      return returnIndex ? index : true;
+    }
+  }
+
+  return returnIndex ? -1 : false;
+};
+
+/**
+ * @param {AnymatchMatcher} matchers
+ * @param {Array|string} testString
+ * @param {object} options
+ * @returns {boolean|number|Function}
+ */
+const anymatch$1 = (matchers, testString, options = DEFAULT_OPTIONS) => {
+  if (matchers == null) {
+    throw new TypeError('anymatch: specify first argument');
+  }
+  const opts = typeof options === 'boolean' ? {returnIndex: options} : options;
+  const returnIndex = opts.returnIndex || false;
+
+  // Early cache for matchers.
+  const mtchers = arrify$1(matchers);
+  const negatedGlobs = mtchers
+    .filter(item => typeof item === 'string' && item.charAt(0) === BANG$1)
+    .map(item => item.slice(1))
+    .map(item => picomatch(item, opts));
+  const patterns = mtchers
+    .filter(item => typeof item !== 'string' || (typeof item === 'string' && item.charAt(0) !== BANG$1))
+    .map(matcher => createPattern(matcher, opts));
+
+  if (testString == null) {
+    return (testString, ri = false) => {
+      const returnIndex = typeof ri === 'boolean' ? ri : false;
+      return matchPatterns(patterns, negatedGlobs, testString, returnIndex);
+    }
+  }
+
+  return matchPatterns(patterns, negatedGlobs, testString, returnIndex);
+};
+
+anymatch$1.default = anymatch$1;
+anymatch$2.exports = anymatch$1;
+
+var anymatchExports = anymatch$2.exports;
+
+/*!
+ * is-extglob 
+ *
+ * Copyright (c) 2014-2016, Jon Schlinkert.
+ * Licensed under the MIT License.
+ */
+
+var isExtglob$1 = function isExtglob(str) {
+  if (typeof str !== 'string' || str === '') {
+    return false;
+  }
+
+  var match;
+  while ((match = /(\\).|([@?!+*]\(.*\))/g.exec(str))) {
+    if (match[2]) return true;
+    str = str.slice(match.index + match[0].length);
+  }
+
+  return false;
+};
+
+/*!
+ * is-glob 
+ *
+ * Copyright (c) 2014-2017, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+
+var isExtglob = isExtglob$1;
+var chars = { '{': '}', '(': ')', '[': ']'};
+var strictCheck = function(str) {
+  if (str[0] === '!') {
+    return true;
+  }
+  var index = 0;
+  var pipeIndex = -2;
+  var closeSquareIndex = -2;
+  var closeCurlyIndex = -2;
+  var closeParenIndex = -2;
+  var backSlashIndex = -2;
+  while (index < str.length) {
+    if (str[index] === '*') {
+      return true;
+    }
+
+    if (str[index + 1] === '?' && /[\].+)]/.test(str[index])) {
+      return true;
+    }
+
+    if (closeSquareIndex !== -1 && str[index] === '[' && str[index + 1] !== ']') {
+      if (closeSquareIndex < index) {
+        closeSquareIndex = str.indexOf(']', index);
+      }
+      if (closeSquareIndex > index) {
+        if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
+          return true;
+        }
+        backSlashIndex = str.indexOf('\\', index);
+        if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
+          return true;
+        }
+      }
+    }
+
+    if (closeCurlyIndex !== -1 && str[index] === '{' && str[index + 1] !== '}') {
+      closeCurlyIndex = str.indexOf('}', index);
+      if (closeCurlyIndex > index) {
+        backSlashIndex = str.indexOf('\\', index);
+        if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {
+          return true;
+        }
+      }
+    }
+
+    if (closeParenIndex !== -1 && str[index] === '(' && str[index + 1] === '?' && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ')') {
+      closeParenIndex = str.indexOf(')', index);
+      if (closeParenIndex > index) {
+        backSlashIndex = str.indexOf('\\', index);
+        if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
+          return true;
+        }
+      }
+    }
+
+    if (pipeIndex !== -1 && str[index] === '(' && str[index + 1] !== '|') {
+      if (pipeIndex < index) {
+        pipeIndex = str.indexOf('|', index);
+      }
+      if (pipeIndex !== -1 && str[pipeIndex + 1] !== ')') {
+        closeParenIndex = str.indexOf(')', pipeIndex);
+        if (closeParenIndex > pipeIndex) {
+          backSlashIndex = str.indexOf('\\', pipeIndex);
+          if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
+            return true;
+          }
+        }
+      }
+    }
+
+    if (str[index] === '\\') {
+      var open = str[index + 1];
+      index += 2;
+      var close = chars[open];
+
+      if (close) {
+        var n = str.indexOf(close, index);
+        if (n !== -1) {
+          index = n + 1;
+        }
+      }
+
+      if (str[index] === '!') {
+        return true;
+      }
+    } else {
+      index++;
+    }
+  }
+  return false;
+};
+
+var relaxedCheck = function(str) {
+  if (str[0] === '!') {
+    return true;
+  }
+  var index = 0;
+  while (index < str.length) {
+    if (/[*?{}()[\]]/.test(str[index])) {
+      return true;
+    }
+
+    if (str[index] === '\\') {
+      var open = str[index + 1];
+      index += 2;
+      var close = chars[open];
+
+      if (close) {
+        var n = str.indexOf(close, index);
+        if (n !== -1) {
+          index = n + 1;
+        }
+      }
+
+      if (str[index] === '!') {
+        return true;
+      }
+    } else {
+      index++;
+    }
+  }
+  return false;
+};
+
+var isGlob$2 = function isGlob(str, options) {
+  if (typeof str !== 'string' || str === '') {
+    return false;
+  }
+
+  if (isExtglob(str)) {
+    return true;
+  }
+
+  var check = strictCheck;
+
+  // optionally relax check
+  if (options && options.strict === false) {
+    check = relaxedCheck;
+  }
+
+  return check(str);
+};
+
+var isGlob$1 = isGlob$2;
+var pathPosixDirname = require$$0$2.posix.dirname;
+var isWin32 = require$$2$1.platform() === 'win32';
+
+var slash = '/';
+var backslash = /\\/g;
+var enclosure = /[\{\[].*[\}\]]$/;
+var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/;
+var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
+
+/**
+ * @param {string} str
+ * @param {Object} opts
+ * @param {boolean} [opts.flipBackslashes=true]
+ * @returns {string}
+ */
+var globParent$1 = function globParent(str, opts) {
+  var options = Object.assign({ flipBackslashes: true }, opts);
+
+  // flip windows path separators
+  if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) {
+    str = str.replace(backslash, slash);
+  }
+
+  // special case for strings ending in enclosure containing path separator
+  if (enclosure.test(str)) {
+    str += slash;
+  }
+
+  // preserves full path in case of trailing path separator
+  str += 'a';
+
+  // remove path parts that are globby
+  do {
+    str = pathPosixDirname(str);
+  } while (isGlob$1(str) || globby.test(str));
+
+  // remove escape chars and return result
+  return str.replace(escaped, '$1');
+};
+
+var utils$3 = {};
+
+(function (exports) {
+
+	exports.isInteger = num => {
+	  if (typeof num === 'number') {
+	    return Number.isInteger(num);
+	  }
+	  if (typeof num === 'string' && num.trim() !== '') {
+	    return Number.isInteger(Number(num));
+	  }
+	  return false;
+	};
+
+	/**
+	 * Find a node of the given type
+	 */
+
+	exports.find = (node, type) => node.nodes.find(node => node.type === type);
+
+	/**
+	 * Find a node of the given type
+	 */
+
+	exports.exceedsLimit = (min, max, step = 1, limit) => {
+	  if (limit === false) return false;
+	  if (!exports.isInteger(min) || !exports.isInteger(max)) return false;
+	  return ((Number(max) - Number(min)) / Number(step)) >= limit;
+	};
+
+	/**
+	 * Escape the given node with '\\' before node.value
+	 */
+
+	exports.escapeNode = (block, n = 0, type) => {
+	  let node = block.nodes[n];
+	  if (!node) return;
+
+	  if ((type && node.type === type) || node.type === 'open' || node.type === 'close') {
+	    if (node.escaped !== true) {
+	      node.value = '\\' + node.value;
+	      node.escaped = true;
+	    }
+	  }
+	};
+
+	/**
+	 * Returns true if the given brace node should be enclosed in literal braces
+	 */
+
+	exports.encloseBrace = node => {
+	  if (node.type !== 'brace') return false;
+	  if ((node.commas >> 0 + node.ranges >> 0) === 0) {
+	    node.invalid = true;
+	    return true;
+	  }
+	  return false;
+	};
+
+	/**
+	 * Returns true if a brace node is invalid.
+	 */
+
+	exports.isInvalidBrace = block => {
+	  if (block.type !== 'brace') return false;
+	  if (block.invalid === true || block.dollar) return true;
+	  if ((block.commas >> 0 + block.ranges >> 0) === 0) {
+	    block.invalid = true;
+	    return true;
+	  }
+	  if (block.open !== true || block.close !== true) {
+	    block.invalid = true;
+	    return true;
+	  }
+	  return false;
+	};
+
+	/**
+	 * Returns true if a node is an open or close node
+	 */
+
+	exports.isOpenOrClose = node => {
+	  if (node.type === 'open' || node.type === 'close') {
+	    return true;
+	  }
+	  return node.open === true || node.close === true;
+	};
+
+	/**
+	 * Reduce an array of text nodes.
+	 */
+
+	exports.reduce = nodes => nodes.reduce((acc, node) => {
+	  if (node.type === 'text') acc.push(node.value);
+	  if (node.type === 'range') node.type = 'text';
+	  return acc;
+	}, []);
+
+	/**
+	 * Flatten an array
+	 */
+
+	exports.flatten = (...args) => {
+	  const result = [];
+	  const flat = arr => {
+	    for (let i = 0; i < arr.length; i++) {
+	      let ele = arr[i];
+	      Array.isArray(ele) ? flat(ele) : ele !== void 0 && result.push(ele);
+	    }
+	    return result;
+	  };
+	  flat(args);
+	  return result;
+	}; 
+} (utils$3));
+
+const utils$2 = utils$3;
+
+var stringify$4 = (ast, options = {}) => {
+  let stringify = (node, parent = {}) => {
+    let invalidBlock = options.escapeInvalid && utils$2.isInvalidBrace(parent);
+    let invalidNode = node.invalid === true && options.escapeInvalid === true;
+    let output = '';
+
+    if (node.value) {
+      if ((invalidBlock || invalidNode) && utils$2.isOpenOrClose(node)) {
+        return '\\' + node.value;
+      }
+      return node.value;
+    }
+
+    if (node.value) {
+      return node.value;
+    }
+
+    if (node.nodes) {
+      for (let child of node.nodes) {
+        output += stringify(child);
+      }
+    }
+    return output;
+  };
+
+  return stringify(ast);
+};
+
+/*!
+ * is-number 
+ *
+ * Copyright (c) 2014-present, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+
+var isNumber$2 = function(num) {
+  if (typeof num === 'number') {
+    return num - num === 0;
+  }
+  if (typeof num === 'string' && num.trim() !== '') {
+    return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
+  }
+  return false;
+};
+
+/*!
+ * to-regex-range 
+ *
+ * Copyright (c) 2015-present, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+
+const isNumber$1 = isNumber$2;
+
+const toRegexRange$1 = (min, max, options) => {
+  if (isNumber$1(min) === false) {
+    throw new TypeError('toRegexRange: expected the first argument to be a number');
+  }
+
+  if (max === void 0 || min === max) {
+    return String(min);
+  }
+
+  if (isNumber$1(max) === false) {
+    throw new TypeError('toRegexRange: expected the second argument to be a number.');
+  }
+
+  let opts = { relaxZeros: true, ...options };
+  if (typeof opts.strictZeros === 'boolean') {
+    opts.relaxZeros = opts.strictZeros === false;
+  }
+
+  let relax = String(opts.relaxZeros);
+  let shorthand = String(opts.shorthand);
+  let capture = String(opts.capture);
+  let wrap = String(opts.wrap);
+  let cacheKey = min + ':' + max + '=' + relax + shorthand + capture + wrap;
+
+  if (toRegexRange$1.cache.hasOwnProperty(cacheKey)) {
+    return toRegexRange$1.cache[cacheKey].result;
+  }
+
+  let a = Math.min(min, max);
+  let b = Math.max(min, max);
+
+  if (Math.abs(a - b) === 1) {
+    let result = min + '|' + max;
+    if (opts.capture) {
+      return `(${result})`;
+    }
+    if (opts.wrap === false) {
+      return result;
+    }
+    return `(?:${result})`;
+  }
+
+  let isPadded = hasPadding(min) || hasPadding(max);
+  let state = { min, max, a, b };
+  let positives = [];
+  let negatives = [];
+
+  if (isPadded) {
+    state.isPadded = isPadded;
+    state.maxLen = String(state.max).length;
+  }
+
+  if (a < 0) {
+    let newMin = b < 0 ? Math.abs(b) : 1;
+    negatives = splitToPatterns(newMin, Math.abs(a), state, opts);
+    a = state.a = 0;
+  }
+
+  if (b >= 0) {
+    positives = splitToPatterns(a, b, state, opts);
+  }
+
+  state.negatives = negatives;
+  state.positives = positives;
+  state.result = collatePatterns(negatives, positives);
+
+  if (opts.capture === true) {
+    state.result = `(${state.result})`;
+  } else if (opts.wrap !== false && (positives.length + negatives.length) > 1) {
+    state.result = `(?:${state.result})`;
+  }
+
+  toRegexRange$1.cache[cacheKey] = state;
+  return state.result;
+};
+
+function collatePatterns(neg, pos, options) {
+  let onlyNegative = filterPatterns(neg, pos, '-', false) || [];
+  let onlyPositive = filterPatterns(pos, neg, '', false) || [];
+  let intersected = filterPatterns(neg, pos, '-?', true) || [];
+  let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive);
+  return subpatterns.join('|');
+}
+
+function splitToRanges(min, max) {
+  let nines = 1;
+  let zeros = 1;
+
+  let stop = countNines(min, nines);
+  let stops = new Set([max]);
+
+  while (min <= stop && stop <= max) {
+    stops.add(stop);
+    nines += 1;
+    stop = countNines(min, nines);
+  }
+
+  stop = countZeros(max + 1, zeros) - 1;
+
+  while (min < stop && stop <= max) {
+    stops.add(stop);
+    zeros += 1;
+    stop = countZeros(max + 1, zeros) - 1;
+  }
+
+  stops = [...stops];
+  stops.sort(compare);
+  return stops;
+}
+
+/**
+ * Convert a range to a regex pattern
+ * @param {Number} `start`
+ * @param {Number} `stop`
+ * @return {String}
+ */
+
+function rangeToPattern(start, stop, options) {
+  if (start === stop) {
+    return { pattern: start, count: [], digits: 0 };
+  }
+
+  let zipped = zip(start, stop);
+  let digits = zipped.length;
+  let pattern = '';
+  let count = 0;
+
+  for (let i = 0; i < digits; i++) {
+    let [startDigit, stopDigit] = zipped[i];
+
+    if (startDigit === stopDigit) {
+      pattern += startDigit;
+
+    } else if (startDigit !== '0' || stopDigit !== '9') {
+      pattern += toCharacterClass(startDigit, stopDigit);
+
+    } else {
+      count++;
+    }
+  }
+
+  if (count) {
+    pattern += options.shorthand === true ? '\\d' : '[0-9]';
+  }
+
+  return { pattern, count: [count], digits };
+}
+
+function splitToPatterns(min, max, tok, options) {
+  let ranges = splitToRanges(min, max);
+  let tokens = [];
+  let start = min;
+  let prev;
+
+  for (let i = 0; i < ranges.length; i++) {
+    let max = ranges[i];
+    let obj = rangeToPattern(String(start), String(max), options);
+    let zeros = '';
+
+    if (!tok.isPadded && prev && prev.pattern === obj.pattern) {
+      if (prev.count.length > 1) {
+        prev.count.pop();
+      }
+
+      prev.count.push(obj.count[0]);
+      prev.string = prev.pattern + toQuantifier(prev.count);
+      start = max + 1;
+      continue;
+    }
+
+    if (tok.isPadded) {
+      zeros = padZeros(max, tok, options);
+    }
+
+    obj.string = zeros + obj.pattern + toQuantifier(obj.count);
+    tokens.push(obj);
+    start = max + 1;
+    prev = obj;
+  }
+
+  return tokens;
+}
+
+function filterPatterns(arr, comparison, prefix, intersection, options) {
+  let result = [];
+
+  for (let ele of arr) {
+    let { string } = ele;
+
+    // only push if _both_ are negative...
+    if (!intersection && !contains(comparison, 'string', string)) {
+      result.push(prefix + string);
+    }
+
+    // or _both_ are positive
+    if (intersection && contains(comparison, 'string', string)) {
+      result.push(prefix + string);
+    }
+  }
+  return result;
+}
+
+/**
+ * Zip strings
+ */
+
+function zip(a, b) {
+  let arr = [];
+  for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]);
+  return arr;
+}
+
+function compare(a, b) {
+  return a > b ? 1 : b > a ? -1 : 0;
+}
+
+function contains(arr, key, val) {
+  return arr.some(ele => ele[key] === val);
+}
+
+function countNines(min, len) {
+  return Number(String(min).slice(0, -len) + '9'.repeat(len));
+}
+
+function countZeros(integer, zeros) {
+  return integer - (integer % Math.pow(10, zeros));
+}
+
+function toQuantifier(digits) {
+  let [start = 0, stop = ''] = digits;
+  if (stop || start > 1) {
+    return `{${start + (stop ? ',' + stop : '')}}`;
+  }
+  return '';
+}
+
+function toCharacterClass(a, b, options) {
+  return `[${a}${(b - a === 1) ? '' : '-'}${b}]`;
+}
+
+function hasPadding(str) {
+  return /^-?(0+)\d/.test(str);
+}
+
+function padZeros(value, tok, options) {
+  if (!tok.isPadded) {
+    return value;
+  }
+
+  let diff = Math.abs(tok.maxLen - String(value).length);
+  let relax = options.relaxZeros !== false;
+
+  switch (diff) {
+    case 0:
+      return '';
+    case 1:
+      return relax ? '0?' : '0';
+    case 2:
+      return relax ? '0{0,2}' : '00';
+    default: {
+      return relax ? `0{0,${diff}}` : `0{${diff}}`;
+    }
+  }
+}
+
+/**
+ * Cache
+ */
+
+toRegexRange$1.cache = {};
+toRegexRange$1.clearCache = () => (toRegexRange$1.cache = {});
+
+/**
+ * Expose `toRegexRange`
+ */
+
+var toRegexRange_1 = toRegexRange$1;
+
+/*!
+ * fill-range 
+ *
+ * Copyright (c) 2014-present, Jon Schlinkert.
+ * Licensed under the MIT License.
+ */
+
+const util = require$$2;
+const toRegexRange = toRegexRange_1;
+
+const isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);
+
+const transform = toNumber => {
+  return value => toNumber === true ? Number(value) : String(value);
+};
+
+const isValidValue = value => {
+  return typeof value === 'number' || (typeof value === 'string' && value !== '');
+};
+
+const isNumber = num => Number.isInteger(+num);
+
+const zeros = input => {
+  let value = `${input}`;
+  let index = -1;
+  if (value[0] === '-') value = value.slice(1);
+  if (value === '0') return false;
+  while (value[++index] === '0');
+  return index > 0;
+};
+
+const stringify$3 = (start, end, options) => {
+  if (typeof start === 'string' || typeof end === 'string') {
+    return true;
+  }
+  return options.stringify === true;
+};
+
+const pad = (input, maxLength, toNumber) => {
+  if (maxLength > 0) {
+    let dash = input[0] === '-' ? '-' : '';
+    if (dash) input = input.slice(1);
+    input = (dash + input.padStart(dash ? maxLength - 1 : maxLength, '0'));
+  }
+  if (toNumber === false) {
+    return String(input);
+  }
+  return input;
+};
+
+const toMaxLen = (input, maxLength) => {
+  let negative = input[0] === '-' ? '-' : '';
+  if (negative) {
+    input = input.slice(1);
+    maxLength--;
+  }
+  while (input.length < maxLength) input = '0' + input;
+  return negative ? ('-' + input) : input;
+};
+
+const toSequence = (parts, options) => {
+  parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
+  parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
+
+  let prefix = options.capture ? '' : '?:';
+  let positives = '';
+  let negatives = '';
+  let result;
+
+  if (parts.positives.length) {
+    positives = parts.positives.join('|');
+  }
+
+  if (parts.negatives.length) {
+    negatives = `-(${prefix}${parts.negatives.join('|')})`;
+  }
+
+  if (positives && negatives) {
+    result = `${positives}|${negatives}`;
+  } else {
+    result = positives || negatives;
+  }
+
+  if (options.wrap) {
+    return `(${prefix}${result})`;
+  }
+
+  return result;
+};
+
+const toRange = (a, b, isNumbers, options) => {
+  if (isNumbers) {
+    return toRegexRange(a, b, { wrap: false, ...options });
+  }
+
+  let start = String.fromCharCode(a);
+  if (a === b) return start;
+
+  let stop = String.fromCharCode(b);
+  return `[${start}-${stop}]`;
+};
+
+const toRegex = (start, end, options) => {
+  if (Array.isArray(start)) {
+    let wrap = options.wrap === true;
+    let prefix = options.capture ? '' : '?:';
+    return wrap ? `(${prefix}${start.join('|')})` : start.join('|');
+  }
+  return toRegexRange(start, end, options);
+};
+
+const rangeError = (...args) => {
+  return new RangeError('Invalid range arguments: ' + util.inspect(...args));
+};
+
+const invalidRange = (start, end, options) => {
+  if (options.strictRanges === true) throw rangeError([start, end]);
+  return [];
+};
+
+const invalidStep = (step, options) => {
+  if (options.strictRanges === true) {
+    throw new TypeError(`Expected step "${step}" to be a number`);
+  }
+  return [];
+};
+
+const fillNumbers = (start, end, step = 1, options = {}) => {
+  let a = Number(start);
+  let b = Number(end);
+
+  if (!Number.isInteger(a) || !Number.isInteger(b)) {
+    if (options.strictRanges === true) throw rangeError([start, end]);
+    return [];
+  }
+
+  // fix negative zero
+  if (a === 0) a = 0;
+  if (b === 0) b = 0;
+
+  let descending = a > b;
+  let startString = String(start);
+  let endString = String(end);
+  let stepString = String(step);
+  step = Math.max(Math.abs(step), 1);
+
+  let padded = zeros(startString) || zeros(endString) || zeros(stepString);
+  let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;
+  let toNumber = padded === false && stringify$3(start, end, options) === false;
+  let format = options.transform || transform(toNumber);
+
+  if (options.toRegex && step === 1) {
+    return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options);
+  }
+
+  let parts = { negatives: [], positives: [] };
+  let push = num => parts[num < 0 ? 'negatives' : 'positives'].push(Math.abs(num));
+  let range = [];
+  let index = 0;
+
+  while (descending ? a >= b : a <= b) {
+    if (options.toRegex === true && step > 1) {
+      push(a);
+    } else {
+      range.push(pad(format(a, index), maxLen, toNumber));
+    }
+    a = descending ? a - step : a + step;
+    index++;
+  }
+
+  if (options.toRegex === true) {
+    return step > 1
+      ? toSequence(parts, options)
+      : toRegex(range, null, { wrap: false, ...options });
+  }
+
+  return range;
+};
+
+const fillLetters = (start, end, step = 1, options = {}) => {
+  if ((!isNumber(start) && start.length > 1) || (!isNumber(end) && end.length > 1)) {
+    return invalidRange(start, end, options);
+  }
+
+
+  let format = options.transform || (val => String.fromCharCode(val));
+  let a = `${start}`.charCodeAt(0);
+  let b = `${end}`.charCodeAt(0);
+
+  let descending = a > b;
+  let min = Math.min(a, b);
+  let max = Math.max(a, b);
+
+  if (options.toRegex && step === 1) {
+    return toRange(min, max, false, options);
+  }
+
+  let range = [];
+  let index = 0;
+
+  while (descending ? a >= b : a <= b) {
+    range.push(format(a, index));
+    a = descending ? a - step : a + step;
+    index++;
+  }
+
+  if (options.toRegex === true) {
+    return toRegex(range, null, { wrap: false, options });
+  }
+
+  return range;
+};
+
+const fill$2 = (start, end, step, options = {}) => {
+  if (end == null && isValidValue(start)) {
+    return [start];
+  }
+
+  if (!isValidValue(start) || !isValidValue(end)) {
+    return invalidRange(start, end, options);
+  }
+
+  if (typeof step === 'function') {
+    return fill$2(start, end, 1, { transform: step });
+  }
+
+  if (isObject(step)) {
+    return fill$2(start, end, 0, step);
+  }
+
+  let opts = { ...options };
+  if (opts.capture === true) opts.wrap = true;
+  step = step || opts.step || 1;
+
+  if (!isNumber(step)) {
+    if (step != null && !isObject(step)) return invalidStep(step, opts);
+    return fill$2(start, end, 1, step);
+  }
+
+  if (isNumber(start) && isNumber(end)) {
+    return fillNumbers(start, end, step, opts);
+  }
+
+  return fillLetters(start, end, Math.max(Math.abs(step), 1), opts);
+};
+
+var fillRange = fill$2;
+
+const fill$1 = fillRange;
+const utils$1 = utils$3;
+
+const compile$1 = (ast, options = {}) => {
+  let walk = (node, parent = {}) => {
+    let invalidBlock = utils$1.isInvalidBrace(parent);
+    let invalidNode = node.invalid === true && options.escapeInvalid === true;
+    let invalid = invalidBlock === true || invalidNode === true;
+    let prefix = options.escapeInvalid === true ? '\\' : '';
+    let output = '';
+
+    if (node.isOpen === true) {
+      return prefix + node.value;
+    }
+    if (node.isClose === true) {
+      return prefix + node.value;
+    }
+
+    if (node.type === 'open') {
+      return invalid ? (prefix + node.value) : '(';
+    }
+
+    if (node.type === 'close') {
+      return invalid ? (prefix + node.value) : ')';
+    }
+
+    if (node.type === 'comma') {
+      return node.prev.type === 'comma' ? '' : (invalid ? node.value : '|');
+    }
+
+    if (node.value) {
+      return node.value;
+    }
+
+    if (node.nodes && node.ranges > 0) {
+      let args = utils$1.reduce(node.nodes);
+      let range = fill$1(...args, { ...options, wrap: false, toRegex: true });
+
+      if (range.length !== 0) {
+        return args.length > 1 && range.length > 1 ? `(${range})` : range;
+      }
+    }
+
+    if (node.nodes) {
+      for (let child of node.nodes) {
+        output += walk(child, node);
+      }
+    }
+    return output;
+  };
+
+  return walk(ast);
+};
+
+var compile_1 = compile$1;
+
+const fill = fillRange;
+const stringify$2 = stringify$4;
+const utils = utils$3;
+
+const append = (queue = '', stash = '', enclose = false) => {
+  let result = [];
+
+  queue = [].concat(queue);
+  stash = [].concat(stash);
+
+  if (!stash.length) return queue;
+  if (!queue.length) {
+    return enclose ? utils.flatten(stash).map(ele => `{${ele}}`) : stash;
+  }
+
+  for (let item of queue) {
+    if (Array.isArray(item)) {
+      for (let value of item) {
+        result.push(append(value, stash, enclose));
+      }
+    } else {
+      for (let ele of stash) {
+        if (enclose === true && typeof ele === 'string') ele = `{${ele}}`;
+        result.push(Array.isArray(ele) ? append(item, ele, enclose) : (item + ele));
+      }
+    }
+  }
+  return utils.flatten(result);
+};
+
+const expand$1 = (ast, options = {}) => {
+  let rangeLimit = options.rangeLimit === void 0 ? 1000 : options.rangeLimit;
+
+  let walk = (node, parent = {}) => {
+    node.queue = [];
+
+    let p = parent;
+    let q = parent.queue;
+
+    while (p.type !== 'brace' && p.type !== 'root' && p.parent) {
+      p = p.parent;
+      q = p.queue;
+    }
+
+    if (node.invalid || node.dollar) {
+      q.push(append(q.pop(), stringify$2(node, options)));
+      return;
+    }
+
+    if (node.type === 'brace' && node.invalid !== true && node.nodes.length === 2) {
+      q.push(append(q.pop(), ['{}']));
+      return;
+    }
+
+    if (node.nodes && node.ranges > 0) {
+      let args = utils.reduce(node.nodes);
+
+      if (utils.exceedsLimit(...args, options.step, rangeLimit)) {
+        throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.');
+      }
+
+      let range = fill(...args, options);
+      if (range.length === 0) {
+        range = stringify$2(node, options);
+      }
+
+      q.push(append(q.pop(), range));
+      node.nodes = [];
+      return;
+    }
+
+    let enclose = utils.encloseBrace(node);
+    let queue = node.queue;
+    let block = node;
+
+    while (block.type !== 'brace' && block.type !== 'root' && block.parent) {
+      block = block.parent;
+      queue = block.queue;
+    }
+
+    for (let i = 0; i < node.nodes.length; i++) {
+      let child = node.nodes[i];
+
+      if (child.type === 'comma' && node.type === 'brace') {
+        if (i === 1) queue.push('');
+        queue.push('');
+        continue;
+      }
+
+      if (child.type === 'close') {
+        q.push(append(q.pop(), queue, enclose));
+        continue;
+      }
+
+      if (child.value && child.type !== 'open') {
+        queue.push(append(queue.pop(), child.value));
+        continue;
+      }
+
+      if (child.nodes) {
+        walk(child, node);
+      }
+    }
+
+    return queue;
+  };
+
+  return utils.flatten(walk(ast));
+};
+
+var expand_1 = expand$1;
+
+var constants$1 = {
+  MAX_LENGTH: 1024 * 64,
+
+  // Digits
+  CHAR_0: '0', /* 0 */
+  CHAR_9: '9', /* 9 */
+
+  // Alphabet chars.
+  CHAR_UPPERCASE_A: 'A', /* A */
+  CHAR_LOWERCASE_A: 'a', /* a */
+  CHAR_UPPERCASE_Z: 'Z', /* Z */
+  CHAR_LOWERCASE_Z: 'z', /* z */
+
+  CHAR_LEFT_PARENTHESES: '(', /* ( */
+  CHAR_RIGHT_PARENTHESES: ')', /* ) */
+
+  CHAR_ASTERISK: '*', /* * */
+
+  // Non-alphabetic chars.
+  CHAR_AMPERSAND: '&', /* & */
+  CHAR_AT: '@', /* @ */
+  CHAR_BACKSLASH: '\\', /* \ */
+  CHAR_BACKTICK: '`', /* ` */
+  CHAR_CARRIAGE_RETURN: '\r', /* \r */
+  CHAR_CIRCUMFLEX_ACCENT: '^', /* ^ */
+  CHAR_COLON: ':', /* : */
+  CHAR_COMMA: ',', /* , */
+  CHAR_DOLLAR: '$', /* . */
+  CHAR_DOT: '.', /* . */
+  CHAR_DOUBLE_QUOTE: '"', /* " */
+  CHAR_EQUAL: '=', /* = */
+  CHAR_EXCLAMATION_MARK: '!', /* ! */
+  CHAR_FORM_FEED: '\f', /* \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', /* \n */
+  CHAR_NO_BREAK_SPACE: '\u00A0', /* \u00A0 */
+  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', /* \t */
+  CHAR_UNDERSCORE: '_', /* _ */
+  CHAR_VERTICAL_LINE: '|', /* | */
+  CHAR_ZERO_WIDTH_NOBREAK_SPACE: '\uFEFF' /* \uFEFF */
+};
+
+const stringify$1 = stringify$4;
+
+/**
+ * Constants
+ */
+
+const {
+  MAX_LENGTH,
+  CHAR_BACKSLASH, /* \ */
+  CHAR_BACKTICK, /* ` */
+  CHAR_COMMA, /* , */
+  CHAR_DOT, /* . */
+  CHAR_LEFT_PARENTHESES, /* ( */
+  CHAR_RIGHT_PARENTHESES, /* ) */
+  CHAR_LEFT_CURLY_BRACE, /* { */
+  CHAR_RIGHT_CURLY_BRACE, /* } */
+  CHAR_LEFT_SQUARE_BRACKET, /* [ */
+  CHAR_RIGHT_SQUARE_BRACKET, /* ] */
+  CHAR_DOUBLE_QUOTE, /* " */
+  CHAR_SINGLE_QUOTE, /* ' */
+  CHAR_NO_BREAK_SPACE,
+  CHAR_ZERO_WIDTH_NOBREAK_SPACE
+} = constants$1;
+
+/**
+ * parse
+ */
+
+const parse$1 = (input, options = {}) => {
+  if (typeof input !== 'string') {
+    throw new TypeError('Expected a string');
+  }
+
+  let opts = options || {};
+  let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
+  if (input.length > max) {
+    throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);
+  }
+
+  let ast = { type: 'root', input, nodes: [] };
+  let stack = [ast];
+  let block = ast;
+  let prev = ast;
+  let brackets = 0;
+  let length = input.length;
+  let index = 0;
+  let depth = 0;
+  let value;
+
+  /**
+   * Helpers
+   */
+
+  const advance = () => input[index++];
+  const push = node => {
+    if (node.type === 'text' && prev.type === 'dot') {
+      prev.type = 'text';
+    }
+
+    if (prev && prev.type === 'text' && node.type === 'text') {
+      prev.value += node.value;
+      return;
+    }
+
+    block.nodes.push(node);
+    node.parent = block;
+    node.prev = prev;
+    prev = node;
+    return node;
+  };
+
+  push({ type: 'bos' });
+
+  while (index < length) {
+    block = stack[stack.length - 1];
+    value = advance();
+
+    /**
+     * Invalid chars
+     */
+
+    if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) {
+      continue;
+    }
+
+    /**
+     * Escaped chars
+     */
+
+    if (value === CHAR_BACKSLASH) {
+      push({ type: 'text', value: (options.keepEscaping ? value : '') + advance() });
+      continue;
+    }
+
+    /**
+     * Right square bracket (literal): ']'
+     */
+
+    if (value === CHAR_RIGHT_SQUARE_BRACKET) {
+      push({ type: 'text', value: '\\' + value });
+      continue;
+    }
+
+    /**
+     * Left square bracket: '['
+     */
+
+    if (value === CHAR_LEFT_SQUARE_BRACKET) {
+      brackets++;
+      let next;
+
+      while (index < length && (next = advance())) {
+        value += next;
+
+        if (next === CHAR_LEFT_SQUARE_BRACKET) {
+          brackets++;
+          continue;
+        }
+
+        if (next === CHAR_BACKSLASH) {
+          value += advance();
+          continue;
+        }
+
+        if (next === CHAR_RIGHT_SQUARE_BRACKET) {
+          brackets--;
+
+          if (brackets === 0) {
+            break;
+          }
+        }
+      }
+
+      push({ type: 'text', value });
+      continue;
+    }
+
+    /**
+     * Parentheses
+     */
+
+    if (value === CHAR_LEFT_PARENTHESES) {
+      block = push({ type: 'paren', nodes: [] });
+      stack.push(block);
+      push({ type: 'text', value });
+      continue;
+    }
+
+    if (value === CHAR_RIGHT_PARENTHESES) {
+      if (block.type !== 'paren') {
+        push({ type: 'text', value });
+        continue;
+      }
+      block = stack.pop();
+      push({ type: 'text', value });
+      block = stack[stack.length - 1];
+      continue;
+    }
+
+    /**
+     * Quotes: '|"|`
+     */
+
+    if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) {
+      let open = value;
+      let next;
+
+      if (options.keepQuotes !== true) {
+        value = '';
+      }
+
+      while (index < length && (next = advance())) {
+        if (next === CHAR_BACKSLASH) {
+          value += next + advance();
+          continue;
+        }
+
+        if (next === open) {
+          if (options.keepQuotes === true) value += next;
+          break;
+        }
+
+        value += next;
+      }
+
+      push({ type: 'text', value });
+      continue;
+    }
+
+    /**
+     * Left curly brace: '{'
+     */
+
+    if (value === CHAR_LEFT_CURLY_BRACE) {
+      depth++;
+
+      let dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true;
+      let brace = {
+        type: 'brace',
+        open: true,
+        close: false,
+        dollar,
+        depth,
+        commas: 0,
+        ranges: 0,
+        nodes: []
+      };
+
+      block = push(brace);
+      stack.push(block);
+      push({ type: 'open', value });
+      continue;
+    }
+
+    /**
+     * Right curly brace: '}'
+     */
+
+    if (value === CHAR_RIGHT_CURLY_BRACE) {
+      if (block.type !== 'brace') {
+        push({ type: 'text', value });
+        continue;
+      }
+
+      let type = 'close';
+      block = stack.pop();
+      block.close = true;
+
+      push({ type, value });
+      depth--;
+
+      block = stack[stack.length - 1];
+      continue;
+    }
+
+    /**
+     * Comma: ','
+     */
+
+    if (value === CHAR_COMMA && depth > 0) {
+      if (block.ranges > 0) {
+        block.ranges = 0;
+        let open = block.nodes.shift();
+        block.nodes = [open, { type: 'text', value: stringify$1(block) }];
+      }
+
+      push({ type: 'comma', value });
+      block.commas++;
+      continue;
+    }
+
+    /**
+     * Dot: '.'
+     */
+
+    if (value === CHAR_DOT && depth > 0 && block.commas === 0) {
+      let siblings = block.nodes;
+
+      if (depth === 0 || siblings.length === 0) {
+        push({ type: 'text', value });
+        continue;
+      }
+
+      if (prev.type === 'dot') {
+        block.range = [];
+        prev.value += value;
+        prev.type = 'range';
+
+        if (block.nodes.length !== 3 && block.nodes.length !== 5) {
+          block.invalid = true;
+          block.ranges = 0;
+          prev.type = 'text';
+          continue;
+        }
+
+        block.ranges++;
+        block.args = [];
+        continue;
+      }
+
+      if (prev.type === 'range') {
+        siblings.pop();
+
+        let before = siblings[siblings.length - 1];
+        before.value += prev.value + value;
+        prev = before;
+        block.ranges--;
+        continue;
+      }
+
+      push({ type: 'dot', value });
+      continue;
+    }
+
+    /**
+     * Text
+     */
+
+    push({ type: 'text', value });
+  }
+
+  // Mark imbalanced braces and brackets as invalid
+  do {
+    block = stack.pop();
+
+    if (block.type !== 'root') {
+      block.nodes.forEach(node => {
+        if (!node.nodes) {
+          if (node.type === 'open') node.isOpen = true;
+          if (node.type === 'close') node.isClose = true;
+          if (!node.nodes) node.type = 'text';
+          node.invalid = true;
+        }
+      });
+
+      // get the location of the block on parent.nodes (block's siblings)
+      let parent = stack[stack.length - 1];
+      let index = parent.nodes.indexOf(block);
+      // replace the (invalid) block with it's nodes
+      parent.nodes.splice(index, 1, ...block.nodes);
+    }
+  } while (stack.length > 0);
+
+  push({ type: 'eos' });
+  return ast;
+};
+
+var parse_1 = parse$1;
+
+const stringify = stringify$4;
+const compile = compile_1;
+const expand = expand_1;
+const parse = parse_1;
+
+/**
+ * Expand the given pattern or create a regex-compatible string.
+ *
+ * ```js
+ * const braces = require('braces');
+ * console.log(braces('{a,b,c}', { compile: true })); //=> ['(a|b|c)']
+ * console.log(braces('{a,b,c}')); //=> ['a', 'b', 'c']
+ * ```
+ * @param {String} `str`
+ * @param {Object} `options`
+ * @return {String}
+ * @api public
+ */
+
+const braces$1 = (input, options = {}) => {
+  let output = [];
+
+  if (Array.isArray(input)) {
+    for (let pattern of input) {
+      let result = braces$1.create(pattern, options);
+      if (Array.isArray(result)) {
+        output.push(...result);
+      } else {
+        output.push(result);
+      }
+    }
+  } else {
+    output = [].concat(braces$1.create(input, options));
+  }
+
+  if (options && options.expand === true && options.nodupes === true) {
+    output = [...new Set(output)];
+  }
+  return output;
+};
+
+/**
+ * Parse the given `str` with the given `options`.
+ *
+ * ```js
+ * // braces.parse(pattern, [, options]);
+ * const ast = braces.parse('a/{b,c}/d');
+ * console.log(ast);
+ * ```
+ * @param {String} pattern Brace pattern to parse
+ * @param {Object} options
+ * @return {Object} Returns an AST
+ * @api public
+ */
+
+braces$1.parse = (input, options = {}) => parse(input, options);
+
+/**
+ * Creates a braces string from an AST, or an AST node.
+ *
+ * ```js
+ * const braces = require('braces');
+ * let ast = braces.parse('foo/{a,b}/bar');
+ * console.log(stringify(ast.nodes[2])); //=> '{a,b}'
+ * ```
+ * @param {String} `input` Brace pattern or AST.
+ * @param {Object} `options`
+ * @return {Array} Returns an array of expanded values.
+ * @api public
+ */
+
+braces$1.stringify = (input, options = {}) => {
+  if (typeof input === 'string') {
+    return stringify(braces$1.parse(input, options), options);
+  }
+  return stringify(input, options);
+};
+
+/**
+ * Compiles a brace pattern into a regex-compatible, optimized string.
+ * This method is called by the main [braces](#braces) function by default.
+ *
+ * ```js
+ * const braces = require('braces');
+ * console.log(braces.compile('a/{b,c}/d'));
+ * //=> ['a/(b|c)/d']
+ * ```
+ * @param {String} `input` Brace pattern or AST.
+ * @param {Object} `options`
+ * @return {Array} Returns an array of expanded values.
+ * @api public
+ */
+
+braces$1.compile = (input, options = {}) => {
+  if (typeof input === 'string') {
+    input = braces$1.parse(input, options);
+  }
+  return compile(input, options);
+};
+
+/**
+ * Expands a brace pattern into an array. This method is called by the
+ * main [braces](#braces) function when `options.expand` is true. Before
+ * using this method it's recommended that you read the [performance notes](#performance))
+ * and advantages of using [.compile](#compile) instead.
+ *
+ * ```js
+ * const braces = require('braces');
+ * console.log(braces.expand('a/{b,c}/d'));
+ * //=> ['a/b/d', 'a/c/d'];
+ * ```
+ * @param {String} `pattern` Brace pattern
+ * @param {Object} `options`
+ * @return {Array} Returns an array of expanded values.
+ * @api public
+ */
+
+braces$1.expand = (input, options = {}) => {
+  if (typeof input === 'string') {
+    input = braces$1.parse(input, options);
+  }
+
+  let result = expand(input, options);
+
+  // filter out empty strings if specified
+  if (options.noempty === true) {
+    result = result.filter(Boolean);
+  }
+
+  // filter out duplicates if specified
+  if (options.nodupes === true) {
+    result = [...new Set(result)];
+  }
+
+  return result;
+};
+
+/**
+ * Processes a brace pattern and returns either an expanded array
+ * (if `options.expand` is true), a highly optimized regex-compatible string.
+ * This method is called by the main [braces](#braces) function.
+ *
+ * ```js
+ * const braces = require('braces');
+ * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}'))
+ * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)'
+ * ```
+ * @param {String} `pattern` Brace pattern
+ * @param {Object} `options`
+ * @return {Array} Returns an array of expanded values.
+ * @api public
+ */
+
+braces$1.create = (input, options = {}) => {
+  if (input === '' || input.length < 3) {
+    return [input];
+  }
+
+ return options.expand !== true
+    ? braces$1.compile(input, options)
+    : braces$1.expand(input, options);
+};
+
+/**
+ * Expose "braces"
+ */
+
+var braces_1 = braces$1;
+
+const require$$0 = [
+	"3dm",
+	"3ds",
+	"3g2",
+	"3gp",
+	"7z",
+	"a",
+	"aac",
+	"adp",
+	"ai",
+	"aif",
+	"aiff",
+	"alz",
+	"ape",
+	"apk",
+	"appimage",
+	"ar",
+	"arj",
+	"asf",
+	"au",
+	"avi",
+	"bak",
+	"baml",
+	"bh",
+	"bin",
+	"bk",
+	"bmp",
+	"btif",
+	"bz2",
+	"bzip2",
+	"cab",
+	"caf",
+	"cgm",
+	"class",
+	"cmx",
+	"cpio",
+	"cr2",
+	"cur",
+	"dat",
+	"dcm",
+	"deb",
+	"dex",
+	"djvu",
+	"dll",
+	"dmg",
+	"dng",
+	"doc",
+	"docm",
+	"docx",
+	"dot",
+	"dotm",
+	"dra",
+	"DS_Store",
+	"dsk",
+	"dts",
+	"dtshd",
+	"dvb",
+	"dwg",
+	"dxf",
+	"ecelp4800",
+	"ecelp7470",
+	"ecelp9600",
+	"egg",
+	"eol",
+	"eot",
+	"epub",
+	"exe",
+	"f4v",
+	"fbs",
+	"fh",
+	"fla",
+	"flac",
+	"flatpak",
+	"fli",
+	"flv",
+	"fpx",
+	"fst",
+	"fvt",
+	"g3",
+	"gh",
+	"gif",
+	"graffle",
+	"gz",
+	"gzip",
+	"h261",
+	"h263",
+	"h264",
+	"icns",
+	"ico",
+	"ief",
+	"img",
+	"ipa",
+	"iso",
+	"jar",
+	"jpeg",
+	"jpg",
+	"jpgv",
+	"jpm",
+	"jxr",
+	"key",
+	"ktx",
+	"lha",
+	"lib",
+	"lvp",
+	"lz",
+	"lzh",
+	"lzma",
+	"lzo",
+	"m3u",
+	"m4a",
+	"m4v",
+	"mar",
+	"mdi",
+	"mht",
+	"mid",
+	"midi",
+	"mj2",
+	"mka",
+	"mkv",
+	"mmr",
+	"mng",
+	"mobi",
+	"mov",
+	"movie",
+	"mp3",
+	"mp4",
+	"mp4a",
+	"mpeg",
+	"mpg",
+	"mpga",
+	"mxu",
+	"nef",
+	"npx",
+	"numbers",
+	"nupkg",
+	"o",
+	"odp",
+	"ods",
+	"odt",
+	"oga",
+	"ogg",
+	"ogv",
+	"otf",
+	"ott",
+	"pages",
+	"pbm",
+	"pcx",
+	"pdb",
+	"pdf",
+	"pea",
+	"pgm",
+	"pic",
+	"png",
+	"pnm",
+	"pot",
+	"potm",
+	"potx",
+	"ppa",
+	"ppam",
+	"ppm",
+	"pps",
+	"ppsm",
+	"ppsx",
+	"ppt",
+	"pptm",
+	"pptx",
+	"psd",
+	"pya",
+	"pyc",
+	"pyo",
+	"pyv",
+	"qt",
+	"rar",
+	"ras",
+	"raw",
+	"resources",
+	"rgb",
+	"rip",
+	"rlc",
+	"rmf",
+	"rmvb",
+	"rpm",
+	"rtf",
+	"rz",
+	"s3m",
+	"s7z",
+	"scpt",
+	"sgi",
+	"shar",
+	"snap",
+	"sil",
+	"sketch",
+	"slk",
+	"smv",
+	"snk",
+	"so",
+	"stl",
+	"suo",
+	"sub",
+	"swf",
+	"tar",
+	"tbz",
+	"tbz2",
+	"tga",
+	"tgz",
+	"thmx",
+	"tif",
+	"tiff",
+	"tlz",
+	"ttc",
+	"ttf",
+	"txz",
+	"udf",
+	"uvh",
+	"uvi",
+	"uvm",
+	"uvp",
+	"uvs",
+	"uvu",
+	"viv",
+	"vob",
+	"war",
+	"wav",
+	"wax",
+	"wbmp",
+	"wdp",
+	"weba",
+	"webm",
+	"webp",
+	"whl",
+	"wim",
+	"wm",
+	"wma",
+	"wmv",
+	"wmx",
+	"woff",
+	"woff2",
+	"wrm",
+	"wvx",
+	"xbm",
+	"xif",
+	"xla",
+	"xlam",
+	"xls",
+	"xlsb",
+	"xlsm",
+	"xlsx",
+	"xlt",
+	"xltm",
+	"xltx",
+	"xm",
+	"xmind",
+	"xpi",
+	"xpm",
+	"xwd",
+	"xz",
+	"z",
+	"zip",
+	"zipx"
+];
+
+var binaryExtensions$1 = require$$0;
+
+const path = require$$0$2;
+const binaryExtensions = binaryExtensions$1;
+
+const extensions = new Set(binaryExtensions);
+
+var isBinaryPath$1 = filePath => extensions.has(path.extname(filePath).slice(1).toLowerCase());
+
+var constants = {};
+
+(function (exports) {
+
+	const {sep} = require$$0$2;
+	const {platform} = process;
+	const os = require$$2$1;
+
+	exports.EV_ALL = 'all';
+	exports.EV_READY = 'ready';
+	exports.EV_ADD = 'add';
+	exports.EV_CHANGE = 'change';
+	exports.EV_ADD_DIR = 'addDir';
+	exports.EV_UNLINK = 'unlink';
+	exports.EV_UNLINK_DIR = 'unlinkDir';
+	exports.EV_RAW = 'raw';
+	exports.EV_ERROR = 'error';
+
+	exports.STR_DATA = 'data';
+	exports.STR_END = 'end';
+	exports.STR_CLOSE = 'close';
+
+	exports.FSEVENT_CREATED = 'created';
+	exports.FSEVENT_MODIFIED = 'modified';
+	exports.FSEVENT_DELETED = 'deleted';
+	exports.FSEVENT_MOVED = 'moved';
+	exports.FSEVENT_CLONED = 'cloned';
+	exports.FSEVENT_UNKNOWN = 'unknown';
+	exports.FSEVENT_FLAG_MUST_SCAN_SUBDIRS = 1;
+	exports.FSEVENT_TYPE_FILE = 'file';
+	exports.FSEVENT_TYPE_DIRECTORY = 'directory';
+	exports.FSEVENT_TYPE_SYMLINK = 'symlink';
+
+	exports.KEY_LISTENERS = 'listeners';
+	exports.KEY_ERR = 'errHandlers';
+	exports.KEY_RAW = 'rawEmitters';
+	exports.HANDLER_KEYS = [exports.KEY_LISTENERS, exports.KEY_ERR, exports.KEY_RAW];
+
+	exports.DOT_SLASH = `.${sep}`;
+
+	exports.BACK_SLASH_RE = /\\/g;
+	exports.DOUBLE_SLASH_RE = /\/\//;
+	exports.SLASH_OR_BACK_SLASH_RE = /[/\\]/;
+	exports.DOT_RE = /\..*\.(sw[px])$|~$|\.subl.*\.tmp/;
+	exports.REPLACER_RE = /^\.[/\\]/;
+
+	exports.SLASH = '/';
+	exports.SLASH_SLASH = '//';
+	exports.BRACE_START = '{';
+	exports.BANG = '!';
+	exports.ONE_DOT = '.';
+	exports.TWO_DOTS = '..';
+	exports.STAR = '*';
+	exports.GLOBSTAR = '**';
+	exports.ROOT_GLOBSTAR = '/**/*';
+	exports.SLASH_GLOBSTAR = '/**';
+	exports.DIR_SUFFIX = 'Dir';
+	exports.ANYMATCH_OPTS = {dot: true};
+	exports.STRING_TYPE = 'string';
+	exports.FUNCTION_TYPE = 'function';
+	exports.EMPTY_STR = '';
+	exports.EMPTY_FN = () => {};
+	exports.IDENTITY_FN = val => val;
+
+	exports.isWindows = platform === 'win32';
+	exports.isMacos = platform === 'darwin';
+	exports.isLinux = platform === 'linux';
+	exports.isIBMi = os.type() === 'OS400'; 
+} (constants));
+
+const fs$2 = require$$0$1;
+const sysPath$2 = require$$0$2;
+const { promisify: promisify$2 } = require$$2;
+const isBinaryPath = isBinaryPath$1;
+const {
+  isWindows: isWindows$1,
+  isLinux,
+  EMPTY_FN: EMPTY_FN$2,
+  EMPTY_STR: EMPTY_STR$1,
+  KEY_LISTENERS,
+  KEY_ERR,
+  KEY_RAW,
+  HANDLER_KEYS,
+  EV_CHANGE: EV_CHANGE$2,
+  EV_ADD: EV_ADD$2,
+  EV_ADD_DIR: EV_ADD_DIR$2,
+  EV_ERROR: EV_ERROR$2,
+  STR_DATA: STR_DATA$1,
+  STR_END: STR_END$2,
+  BRACE_START: BRACE_START$1,
+  STAR
+} = constants;
+
+const THROTTLE_MODE_WATCH = 'watch';
+
+const open = promisify$2(fs$2.open);
+const stat$2 = promisify$2(fs$2.stat);
+const lstat$1 = promisify$2(fs$2.lstat);
+const close = promisify$2(fs$2.close);
+const fsrealpath = promisify$2(fs$2.realpath);
+
+const statMethods$1 = { lstat: lstat$1, stat: stat$2 };
+
+// TODO: emit errors properly. Example: EMFILE on Macos.
+const foreach = (val, fn) => {
+  if (val instanceof Set) {
+    val.forEach(fn);
+  } else {
+    fn(val);
+  }
+};
+
+const addAndConvert = (main, prop, item) => {
+  let container = main[prop];
+  if (!(container instanceof Set)) {
+    main[prop] = container = new Set([container]);
+  }
+  container.add(item);
+};
+
+const clearItem = cont => key => {
+  const set = cont[key];
+  if (set instanceof Set) {
+    set.clear();
+  } else {
+    delete cont[key];
+  }
+};
+
+const delFromSet = (main, prop, item) => {
+  const container = main[prop];
+  if (container instanceof Set) {
+    container.delete(item);
+  } else if (container === item) {
+    delete main[prop];
+  }
+};
+
+const isEmptySet = (val) => val instanceof Set ? val.size === 0 : !val;
+
+/**
+ * @typedef {String} Path
+ */
+
+// fs_watch helpers
+
+// object to hold per-process fs_watch instances
+// (may be shared across chokidar FSWatcher instances)
+
+/**
+ * @typedef {Object} FsWatchContainer
+ * @property {Set} listeners
+ * @property {Set} errHandlers
+ * @property {Set} rawEmitters
+ * @property {fs.FSWatcher=} watcher
+ * @property {Boolean=} watcherUnusable
+ */
+
+/**
+ * @type {Map}
+ */
+const FsWatchInstances = new Map();
+
+/**
+ * Instantiates the fs_watch interface
+ * @param {String} path to be watched
+ * @param {Object} options to be passed to fs_watch
+ * @param {Function} listener main event handler
+ * @param {Function} errHandler emits info about errors
+ * @param {Function} emitRaw emits raw event data
+ * @returns {fs.FSWatcher} new fsevents instance
+ */
+function createFsWatchInstance(path, options, listener, errHandler, emitRaw) {
+  const handleEvent = (rawEvent, evPath) => {
+    listener(path);
+    emitRaw(rawEvent, evPath, {watchedPath: path});
+
+    // emit based on events occurring for files from a directory's watcher in
+    // case the file's watcher misses it (and rely on throttling to de-dupe)
+    if (evPath && path !== evPath) {
+      fsWatchBroadcast(
+        sysPath$2.resolve(path, evPath), KEY_LISTENERS, sysPath$2.join(path, evPath)
+      );
+    }
+  };
+  try {
+    return fs$2.watch(path, options, handleEvent);
+  } catch (error) {
+    errHandler(error);
+  }
+}
+
+/**
+ * Helper for passing fs_watch event data to a collection of listeners
+ * @param {Path} fullPath absolute path bound to fs_watch instance
+ * @param {String} type listener type
+ * @param {*=} val1 arguments to be passed to listeners
+ * @param {*=} val2
+ * @param {*=} val3
+ */
+const fsWatchBroadcast = (fullPath, type, val1, val2, val3) => {
+  const cont = FsWatchInstances.get(fullPath);
+  if (!cont) return;
+  foreach(cont[type], (listener) => {
+    listener(val1, val2, val3);
+  });
+};
+
+/**
+ * Instantiates the fs_watch interface or binds listeners
+ * to an existing one covering the same file system entry
+ * @param {String} path
+ * @param {String} fullPath absolute path
+ * @param {Object} options to be passed to fs_watch
+ * @param {Object} handlers container for event listener functions
+ */
+const setFsWatchListener = (path, fullPath, options, handlers) => {
+  const {listener, errHandler, rawEmitter} = handlers;
+  let cont = FsWatchInstances.get(fullPath);
+
+  /** @type {fs.FSWatcher=} */
+  let watcher;
+  if (!options.persistent) {
+    watcher = createFsWatchInstance(
+      path, options, listener, errHandler, rawEmitter
+    );
+    return watcher.close.bind(watcher);
+  }
+  if (cont) {
+    addAndConvert(cont, KEY_LISTENERS, listener);
+    addAndConvert(cont, KEY_ERR, errHandler);
+    addAndConvert(cont, KEY_RAW, rawEmitter);
+  } else {
+    watcher = createFsWatchInstance(
+      path,
+      options,
+      fsWatchBroadcast.bind(null, fullPath, KEY_LISTENERS),
+      errHandler, // no need to use broadcast here
+      fsWatchBroadcast.bind(null, fullPath, KEY_RAW)
+    );
+    if (!watcher) return;
+    watcher.on(EV_ERROR$2, async (error) => {
+      const broadcastErr = fsWatchBroadcast.bind(null, fullPath, KEY_ERR);
+      cont.watcherUnusable = true; // documented since Node 10.4.1
+      // Workaround for https://github.com/joyent/node/issues/4337
+      if (isWindows$1 && error.code === 'EPERM') {
+        try {
+          const fd = await open(path, 'r');
+          await close(fd);
+          broadcastErr(error);
+        } catch (err) {}
+      } else {
+        broadcastErr(error);
+      }
+    });
+    cont = {
+      listeners: listener,
+      errHandlers: errHandler,
+      rawEmitters: rawEmitter,
+      watcher
+    };
+    FsWatchInstances.set(fullPath, cont);
+  }
+  // const index = cont.listeners.indexOf(listener);
+
+  // removes this instance's listeners and closes the underlying fs_watch
+  // instance if there are no more listeners left
+  return () => {
+    delFromSet(cont, KEY_LISTENERS, listener);
+    delFromSet(cont, KEY_ERR, errHandler);
+    delFromSet(cont, KEY_RAW, rawEmitter);
+    if (isEmptySet(cont.listeners)) {
+      // Check to protect against issue gh-730.
+      // if (cont.watcherUnusable) {
+      cont.watcher.close();
+      // }
+      FsWatchInstances.delete(fullPath);
+      HANDLER_KEYS.forEach(clearItem(cont));
+      cont.watcher = undefined;
+      Object.freeze(cont);
+    }
+  };
+};
+
+// fs_watchFile helpers
+
+// object to hold per-process fs_watchFile instances
+// (may be shared across chokidar FSWatcher instances)
+const FsWatchFileInstances = new Map();
+
+/**
+ * Instantiates the fs_watchFile interface or binds listeners
+ * to an existing one covering the same file system entry
+ * @param {String} path to be watched
+ * @param {String} fullPath absolute path
+ * @param {Object} options options to be passed to fs_watchFile
+ * @param {Object} handlers container for event listener functions
+ * @returns {Function} closer
+ */
+const setFsWatchFileListener = (path, fullPath, options, handlers) => {
+  const {listener, rawEmitter} = handlers;
+  let cont = FsWatchFileInstances.get(fullPath);
+
+  const copts = cont && cont.options;
+  if (copts && (copts.persistent < options.persistent || copts.interval > options.interval)) {
+    fs$2.unwatchFile(fullPath);
+    cont = undefined;
+  }
+
+  /* eslint-enable no-unused-vars, prefer-destructuring */
+
+  if (cont) {
+    addAndConvert(cont, KEY_LISTENERS, listener);
+    addAndConvert(cont, KEY_RAW, rawEmitter);
+  } else {
+    // TODO
+    // listeners.add(listener);
+    // rawEmitters.add(rawEmitter);
+    cont = {
+      listeners: listener,
+      rawEmitters: rawEmitter,
+      options,
+      watcher: fs$2.watchFile(fullPath, options, (curr, prev) => {
+        foreach(cont.rawEmitters, (rawEmitter) => {
+          rawEmitter(EV_CHANGE$2, fullPath, {curr, prev});
+        });
+        const currmtime = curr.mtimeMs;
+        if (curr.size !== prev.size || currmtime > prev.mtimeMs || currmtime === 0) {
+          foreach(cont.listeners, (listener) => listener(path, curr));
+        }
+      })
+    };
+    FsWatchFileInstances.set(fullPath, cont);
+  }
+  // const index = cont.listeners.indexOf(listener);
+
+  // Removes this instance's listeners and closes the underlying fs_watchFile
+  // instance if there are no more listeners left.
+  return () => {
+    delFromSet(cont, KEY_LISTENERS, listener);
+    delFromSet(cont, KEY_RAW, rawEmitter);
+    if (isEmptySet(cont.listeners)) {
+      FsWatchFileInstances.delete(fullPath);
+      fs$2.unwatchFile(fullPath);
+      cont.options = cont.watcher = undefined;
+      Object.freeze(cont);
+    }
+  };
+};
+
+/**
+ * @mixin
+ */
+let NodeFsHandler$1 = class NodeFsHandler {
+
+/**
+ * @param {import("../index").FSWatcher} fsW
+ */
+constructor(fsW) {
+  this.fsw = fsW;
+  this._boundHandleError = (error) => fsW._handleError(error);
+}
+
+/**
+ * Watch file for changes with fs_watchFile or fs_watch.
+ * @param {String} path to file or dir
+ * @param {Function} listener on fs change
+ * @returns {Function} closer for the watcher instance
+ */
+_watchWithNodeFs(path, listener) {
+  const opts = this.fsw.options;
+  const directory = sysPath$2.dirname(path);
+  const basename = sysPath$2.basename(path);
+  const parent = this.fsw._getWatchedDir(directory);
+  parent.add(basename);
+  const absolutePath = sysPath$2.resolve(path);
+  const options = {persistent: opts.persistent};
+  if (!listener) listener = EMPTY_FN$2;
+
+  let closer;
+  if (opts.usePolling) {
+    options.interval = opts.enableBinaryInterval && isBinaryPath(basename) ?
+      opts.binaryInterval : opts.interval;
+    closer = setFsWatchFileListener(path, absolutePath, options, {
+      listener,
+      rawEmitter: this.fsw._emitRaw
+    });
+  } else {
+    closer = setFsWatchListener(path, absolutePath, options, {
+      listener,
+      errHandler: this._boundHandleError,
+      rawEmitter: this.fsw._emitRaw
+    });
+  }
+  return closer;
+}
+
+/**
+ * Watch a file and emit add event if warranted.
+ * @param {Path} file Path
+ * @param {fs.Stats} stats result of fs_stat
+ * @param {Boolean} initialAdd was the file added at watch instantiation?
+ * @returns {Function} closer for the watcher instance
+ */
+_handleFile(file, stats, initialAdd) {
+  if (this.fsw.closed) {
+    return;
+  }
+  const dirname = sysPath$2.dirname(file);
+  const basename = sysPath$2.basename(file);
+  const parent = this.fsw._getWatchedDir(dirname);
+  // stats is always present
+  let prevStats = stats;
+
+  // if the file is already being watched, do nothing
+  if (parent.has(basename)) return;
+
+  const listener = async (path, newStats) => {
+    if (!this.fsw._throttle(THROTTLE_MODE_WATCH, file, 5)) return;
+    if (!newStats || newStats.mtimeMs === 0) {
+      try {
+        const newStats = await stat$2(file);
+        if (this.fsw.closed) return;
+        // Check that change event was not fired because of changed only accessTime.
+        const at = newStats.atimeMs;
+        const mt = newStats.mtimeMs;
+        if (!at || at <= mt || mt !== prevStats.mtimeMs) {
+          this.fsw._emit(EV_CHANGE$2, file, newStats);
+        }
+        if (isLinux && prevStats.ino !== newStats.ino) {
+          this.fsw._closeFile(path);
+          prevStats = newStats;
+          this.fsw._addPathCloser(path, this._watchWithNodeFs(file, listener));
+        } else {
+          prevStats = newStats;
+        }
+      } catch (error) {
+        // Fix issues where mtime is null but file is still present
+        this.fsw._remove(dirname, basename);
+      }
+      // add is about to be emitted if file not already tracked in parent
+    } else if (parent.has(basename)) {
+      // Check that change event was not fired because of changed only accessTime.
+      const at = newStats.atimeMs;
+      const mt = newStats.mtimeMs;
+      if (!at || at <= mt || mt !== prevStats.mtimeMs) {
+        this.fsw._emit(EV_CHANGE$2, file, newStats);
+      }
+      prevStats = newStats;
+    }
+  };
+  // kick off the watcher
+  const closer = this._watchWithNodeFs(file, listener);
+
+  // emit an add event if we're supposed to
+  if (!(initialAdd && this.fsw.options.ignoreInitial) && this.fsw._isntIgnored(file)) {
+    if (!this.fsw._throttle(EV_ADD$2, file, 0)) return;
+    this.fsw._emit(EV_ADD$2, file, stats);
+  }
+
+  return closer;
+}
+
+/**
+ * Handle symlinks encountered while reading a dir.
+ * @param {Object} entry returned by readdirp
+ * @param {String} directory path of dir being read
+ * @param {String} path of this item
+ * @param {String} item basename of this item
+ * @returns {Promise} true if no more processing is needed for this entry.
+ */
+async _handleSymlink(entry, directory, path, item) {
+  if (this.fsw.closed) {
+    return;
+  }
+  const full = entry.fullPath;
+  const dir = this.fsw._getWatchedDir(directory);
+
+  if (!this.fsw.options.followSymlinks) {
+    // watch symlink directly (don't follow) and detect changes
+    this.fsw._incrReadyCount();
+
+    let linkPath;
+    try {
+      linkPath = await fsrealpath(path);
+    } catch (e) {
+      this.fsw._emitReady();
+      return true;
+    }
+
+    if (this.fsw.closed) return;
+    if (dir.has(item)) {
+      if (this.fsw._symlinkPaths.get(full) !== linkPath) {
+        this.fsw._symlinkPaths.set(full, linkPath);
+        this.fsw._emit(EV_CHANGE$2, path, entry.stats);
+      }
+    } else {
+      dir.add(item);
+      this.fsw._symlinkPaths.set(full, linkPath);
+      this.fsw._emit(EV_ADD$2, path, entry.stats);
+    }
+    this.fsw._emitReady();
+    return true;
+  }
+
+  // don't follow the same symlink more than once
+  if (this.fsw._symlinkPaths.has(full)) {
+    return true;
+  }
+
+  this.fsw._symlinkPaths.set(full, true);
+}
+
+_handleRead(directory, initialAdd, wh, target, dir, depth, throttler) {
+  // Normalize the directory name on Windows
+  directory = sysPath$2.join(directory, EMPTY_STR$1);
+
+  if (!wh.hasGlob) {
+    throttler = this.fsw._throttle('readdir', directory, 1000);
+    if (!throttler) return;
+  }
+
+  const previous = this.fsw._getWatchedDir(wh.path);
+  const current = new Set();
+
+  let stream = this.fsw._readdirp(directory, {
+    fileFilter: entry => wh.filterPath(entry),
+    directoryFilter: entry => wh.filterDir(entry),
+    depth: 0
+  }).on(STR_DATA$1, async (entry) => {
+    if (this.fsw.closed) {
+      stream = undefined;
+      return;
+    }
+    const item = entry.path;
+    let path = sysPath$2.join(directory, item);
+    current.add(item);
+
+    if (entry.stats.isSymbolicLink() && await this._handleSymlink(entry, directory, path, item)) {
+      return;
+    }
+
+    if (this.fsw.closed) {
+      stream = undefined;
+      return;
+    }
+    // Files that present in current directory snapshot
+    // but absent in previous are added to watch list and
+    // emit `add` event.
+    if (item === target || !target && !previous.has(item)) {
+      this.fsw._incrReadyCount();
+
+      // ensure relativeness of path is preserved in case of watcher reuse
+      path = sysPath$2.join(dir, sysPath$2.relative(dir, path));
+
+      this._addToNodeFs(path, initialAdd, wh, depth + 1);
+    }
+  }).on(EV_ERROR$2, this._boundHandleError);
+
+  return new Promise(resolve =>
+    stream.once(STR_END$2, () => {
+      if (this.fsw.closed) {
+        stream = undefined;
+        return;
+      }
+      const wasThrottled = throttler ? throttler.clear() : false;
+
+      resolve();
+
+      // Files that absent in current directory snapshot
+      // but present in previous emit `remove` event
+      // and are removed from @watched[directory].
+      previous.getChildren().filter((item) => {
+        return item !== directory &&
+          !current.has(item) &&
+          // in case of intersecting globs;
+          // a path may have been filtered out of this readdir, but
+          // shouldn't be removed because it matches a different glob
+          (!wh.hasGlob || wh.filterPath({
+            fullPath: sysPath$2.resolve(directory, item)
+          }));
+      }).forEach((item) => {
+        this.fsw._remove(directory, item);
+      });
+
+      stream = undefined;
+
+      // one more time for any missed in case changes came in extremely quickly
+      if (wasThrottled) this._handleRead(directory, false, wh, target, dir, depth, throttler);
+    })
+  );
+}
+
+/**
+ * Read directory to add / remove files from `@watched` list and re-read it on change.
+ * @param {String} dir fs path
+ * @param {fs.Stats} stats
+ * @param {Boolean} initialAdd
+ * @param {Number} depth relative to user-supplied path
+ * @param {String} target child path targeted for watch
+ * @param {Object} wh Common watch helpers for this path
+ * @param {String} realpath
+ * @returns {Promise} closer for the watcher instance.
+ */
+async _handleDir(dir, stats, initialAdd, depth, target, wh, realpath) {
+  const parentDir = this.fsw._getWatchedDir(sysPath$2.dirname(dir));
+  const tracked = parentDir.has(sysPath$2.basename(dir));
+  if (!(initialAdd && this.fsw.options.ignoreInitial) && !target && !tracked) {
+    if (!wh.hasGlob || wh.globFilter(dir)) this.fsw._emit(EV_ADD_DIR$2, dir, stats);
+  }
+
+  // ensure dir is tracked (harmless if redundant)
+  parentDir.add(sysPath$2.basename(dir));
+  this.fsw._getWatchedDir(dir);
+  let throttler;
+  let closer;
+
+  const oDepth = this.fsw.options.depth;
+  if ((oDepth == null || depth <= oDepth) && !this.fsw._symlinkPaths.has(realpath)) {
+    if (!target) {
+      await this._handleRead(dir, initialAdd, wh, target, dir, depth, throttler);
+      if (this.fsw.closed) return;
+    }
+
+    closer = this._watchWithNodeFs(dir, (dirPath, stats) => {
+      // if current directory is removed, do nothing
+      if (stats && stats.mtimeMs === 0) return;
+
+      this._handleRead(dirPath, false, wh, target, dir, depth, throttler);
+    });
+  }
+  return closer;
+}
+
+/**
+ * Handle added file, directory, or glob pattern.
+ * Delegates call to _handleFile / _handleDir after checks.
+ * @param {String} path to file or ir
+ * @param {Boolean} initialAdd was the file added at watch instantiation?
+ * @param {Object} priorWh depth relative to user-supplied path
+ * @param {Number} depth Child path actually targeted for watch
+ * @param {String=} target Child path actually targeted for watch
+ * @returns {Promise}
+ */
+async _addToNodeFs(path, initialAdd, priorWh, depth, target) {
+  const ready = this.fsw._emitReady;
+  if (this.fsw._isIgnored(path) || this.fsw.closed) {
+    ready();
+    return false;
+  }
+
+  const wh = this.fsw._getWatchHelpers(path, depth);
+  if (!wh.hasGlob && priorWh) {
+    wh.hasGlob = priorWh.hasGlob;
+    wh.globFilter = priorWh.globFilter;
+    wh.filterPath = entry => priorWh.filterPath(entry);
+    wh.filterDir = entry => priorWh.filterDir(entry);
+  }
+
+  // evaluate what is at the path we're being asked to watch
+  try {
+    const stats = await statMethods$1[wh.statMethod](wh.watchPath);
+    if (this.fsw.closed) return;
+    if (this.fsw._isIgnored(wh.watchPath, stats)) {
+      ready();
+      return false;
+    }
+
+    const follow = this.fsw.options.followSymlinks && !path.includes(STAR) && !path.includes(BRACE_START$1);
+    let closer;
+    if (stats.isDirectory()) {
+      const absPath = sysPath$2.resolve(path);
+      const targetPath = follow ? await fsrealpath(path) : path;
+      if (this.fsw.closed) return;
+      closer = await this._handleDir(wh.watchPath, stats, initialAdd, depth, target, wh, targetPath);
+      if (this.fsw.closed) return;
+      // preserve this symlink's target path
+      if (absPath !== targetPath && targetPath !== undefined) {
+        this.fsw._symlinkPaths.set(absPath, targetPath);
+      }
+    } else if (stats.isSymbolicLink()) {
+      const targetPath = follow ? await fsrealpath(path) : path;
+      if (this.fsw.closed) return;
+      const parent = sysPath$2.dirname(wh.watchPath);
+      this.fsw._getWatchedDir(parent).add(wh.watchPath);
+      this.fsw._emit(EV_ADD$2, wh.watchPath, stats);
+      closer = await this._handleDir(parent, stats, initialAdd, depth, path, wh, targetPath);
+      if (this.fsw.closed) return;
+
+      // preserve this symlink's target path
+      if (targetPath !== undefined) {
+        this.fsw._symlinkPaths.set(sysPath$2.resolve(path), targetPath);
+      }
+    } else {
+      closer = this._handleFile(wh.watchPath, stats, initialAdd);
+    }
+    ready();
+
+    this.fsw._addPathCloser(path, closer);
+    return false;
+
+  } catch (error) {
+    if (this.fsw._handleError(error)) {
+      ready();
+      return path;
+    }
+  }
+}
+
+};
+
+var nodefsHandler = NodeFsHandler$1;
+
+var fseventsHandler = {exports: {}};
+
+const require$$3 = /*@__PURE__*/rollup.getAugmentedNamespace(fseventsImporter.fseventsImporter);
+
+const fs$1 = require$$0$1;
+const sysPath$1 = require$$0$2;
+const { promisify: promisify$1 } = require$$2;
+
+let fsevents;
+try {
+  fsevents = require$$3.getFsEvents();
+} catch (error) {
+  if (process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR) console.error(error);
+}
+
+if (fsevents) {
+  // TODO: real check
+  const mtch = process.version.match(/v(\d+)\.(\d+)/);
+  if (mtch && mtch[1] && mtch[2]) {
+    const maj = Number.parseInt(mtch[1], 10);
+    const min = Number.parseInt(mtch[2], 10);
+    if (maj === 8 && min < 16) {
+      fsevents = undefined;
+    }
+  }
+}
+
+const {
+  EV_ADD: EV_ADD$1,
+  EV_CHANGE: EV_CHANGE$1,
+  EV_ADD_DIR: EV_ADD_DIR$1,
+  EV_UNLINK: EV_UNLINK$1,
+  EV_ERROR: EV_ERROR$1,
+  STR_DATA,
+  STR_END: STR_END$1,
+  FSEVENT_CREATED,
+  FSEVENT_MODIFIED,
+  FSEVENT_DELETED,
+  FSEVENT_MOVED,
+  // FSEVENT_CLONED,
+  FSEVENT_UNKNOWN,
+  FSEVENT_FLAG_MUST_SCAN_SUBDIRS,
+  FSEVENT_TYPE_FILE,
+  FSEVENT_TYPE_DIRECTORY,
+  FSEVENT_TYPE_SYMLINK,
+
+  ROOT_GLOBSTAR,
+  DIR_SUFFIX,
+  DOT_SLASH,
+  FUNCTION_TYPE: FUNCTION_TYPE$1,
+  EMPTY_FN: EMPTY_FN$1,
+  IDENTITY_FN
+} = constants;
+
+const Depth = (value) => isNaN(value) ? {} : {depth: value};
+
+const stat$1 = promisify$1(fs$1.stat);
+const lstat = promisify$1(fs$1.lstat);
+const realpath = promisify$1(fs$1.realpath);
+
+const statMethods = { stat: stat$1, lstat };
+
+/**
+ * @typedef {String} Path
+ */
+
+/**
+ * @typedef {Object} FsEventsWatchContainer
+ * @property {Set} listeners
+ * @property {Function} rawEmitter
+ * @property {{stop: Function}} watcher
+ */
+
+// fsevents instance helper functions
+/**
+ * Object to hold per-process fsevents instances (may be shared across chokidar FSWatcher instances)
+ * @type {Map}
+ */
+const FSEventsWatchers = new Map();
+
+// Threshold of duplicate path prefixes at which to start
+// consolidating going forward
+const consolidateThreshhold = 10;
+
+const wrongEventFlags = new Set([
+  69888, 70400, 71424, 72704, 73472, 131328, 131840, 262912
+]);
+
+/**
+ * Instantiates the fsevents interface
+ * @param {Path} path path to be watched
+ * @param {Function} callback called when fsevents is bound and ready
+ * @returns {{stop: Function}} new fsevents instance
+ */
+const createFSEventsInstance = (path, callback) => {
+  const stop = fsevents.watch(path, callback);
+  return {stop};
+};
+
+/**
+ * Instantiates the fsevents interface or binds listeners to an existing one covering
+ * the same file tree.
+ * @param {Path} path           - to be watched
+ * @param {Path} realPath       - real path for symlinks
+ * @param {Function} listener   - called when fsevents emits events
+ * @param {Function} rawEmitter - passes data to listeners of the 'raw' event
+ * @returns {Function} closer
+ */
+function setFSEventsListener(path, realPath, listener, rawEmitter) {
+  let watchPath = sysPath$1.extname(realPath) ? sysPath$1.dirname(realPath) : realPath;
+
+  const parentPath = sysPath$1.dirname(watchPath);
+  let cont = FSEventsWatchers.get(watchPath);
+
+  // If we've accumulated a substantial number of paths that
+  // could have been consolidated by watching one directory
+  // above the current one, create a watcher on the parent
+  // path instead, so that we do consolidate going forward.
+  if (couldConsolidate(parentPath)) {
+    watchPath = parentPath;
+  }
+
+  const resolvedPath = sysPath$1.resolve(path);
+  const hasSymlink = resolvedPath !== realPath;
+
+  const filteredListener = (fullPath, flags, info) => {
+    if (hasSymlink) fullPath = fullPath.replace(realPath, resolvedPath);
+    if (
+      fullPath === resolvedPath ||
+      !fullPath.indexOf(resolvedPath + sysPath$1.sep)
+    ) listener(fullPath, flags, info);
+  };
+
+  // check if there is already a watcher on a parent path
+  // modifies `watchPath` to the parent path when it finds a match
+  let watchedParent = false;
+  for (const watchedPath of FSEventsWatchers.keys()) {
+    if (realPath.indexOf(sysPath$1.resolve(watchedPath) + sysPath$1.sep) === 0) {
+      watchPath = watchedPath;
+      cont = FSEventsWatchers.get(watchPath);
+      watchedParent = true;
+      break;
+    }
+  }
+
+  if (cont || watchedParent) {
+    cont.listeners.add(filteredListener);
+  } else {
+    cont = {
+      listeners: new Set([filteredListener]),
+      rawEmitter,
+      watcher: createFSEventsInstance(watchPath, (fullPath, flags) => {
+        if (!cont.listeners.size) return;
+        if (flags & FSEVENT_FLAG_MUST_SCAN_SUBDIRS) return;
+        const info = fsevents.getInfo(fullPath, flags);
+        cont.listeners.forEach(list => {
+          list(fullPath, flags, info);
+        });
+
+        cont.rawEmitter(info.event, fullPath, info);
+      })
+    };
+    FSEventsWatchers.set(watchPath, cont);
+  }
+
+  // removes this instance's listeners and closes the underlying fsevents
+  // instance if there are no more listeners left
+  return () => {
+    const lst = cont.listeners;
+
+    lst.delete(filteredListener);
+    if (!lst.size) {
+      FSEventsWatchers.delete(watchPath);
+      if (cont.watcher) return cont.watcher.stop().then(() => {
+        cont.rawEmitter = cont.watcher = undefined;
+        Object.freeze(cont);
+      });
+    }
+  };
+}
+
+// Decide whether or not we should start a new higher-level
+// parent watcher
+const couldConsolidate = (path) => {
+  let count = 0;
+  for (const watchPath of FSEventsWatchers.keys()) {
+    if (watchPath.indexOf(path) === 0) {
+      count++;
+      if (count >= consolidateThreshhold) {
+        return true;
+      }
+    }
+  }
+
+  return false;
+};
+
+// returns boolean indicating whether fsevents can be used
+const canUse = () => fsevents && FSEventsWatchers.size < 128;
+
+// determines subdirectory traversal levels from root to path
+const calcDepth = (path, root) => {
+  let i = 0;
+  while (!path.indexOf(root) && (path = sysPath$1.dirname(path)) !== root) i++;
+  return i;
+};
+
+// returns boolean indicating whether the fsevents' event info has the same type
+// as the one returned by fs.stat
+const sameTypes = (info, stats) => (
+  info.type === FSEVENT_TYPE_DIRECTORY && stats.isDirectory() ||
+  info.type === FSEVENT_TYPE_SYMLINK && stats.isSymbolicLink() ||
+  info.type === FSEVENT_TYPE_FILE && stats.isFile()
+);
+
+/**
+ * @mixin
+ */
+let FsEventsHandler$1 = class FsEventsHandler {
+
+/**
+ * @param {import('../index').FSWatcher} fsw
+ */
+constructor(fsw) {
+  this.fsw = fsw;
+}
+checkIgnored(path, stats) {
+  const ipaths = this.fsw._ignoredPaths;
+  if (this.fsw._isIgnored(path, stats)) {
+    ipaths.add(path);
+    if (stats && stats.isDirectory()) {
+      ipaths.add(path + ROOT_GLOBSTAR);
+    }
+    return true;
+  }
+
+  ipaths.delete(path);
+  ipaths.delete(path + ROOT_GLOBSTAR);
+}
+
+addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts) {
+  const event = watchedDir.has(item) ? EV_CHANGE$1 : EV_ADD$1;
+  this.handleEvent(event, path, fullPath, realPath, parent, watchedDir, item, info, opts);
+}
+
+async checkExists(path, fullPath, realPath, parent, watchedDir, item, info, opts) {
+  try {
+    const stats = await stat$1(path);
+    if (this.fsw.closed) return;
+    if (sameTypes(info, stats)) {
+      this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts);
+    } else {
+      this.handleEvent(EV_UNLINK$1, path, fullPath, realPath, parent, watchedDir, item, info, opts);
+    }
+  } catch (error) {
+    if (error.code === 'EACCES') {
+      this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts);
+    } else {
+      this.handleEvent(EV_UNLINK$1, path, fullPath, realPath, parent, watchedDir, item, info, opts);
+    }
+  }
+}
+
+handleEvent(event, path, fullPath, realPath, parent, watchedDir, item, info, opts) {
+  if (this.fsw.closed || this.checkIgnored(path)) return;
+
+  if (event === EV_UNLINK$1) {
+    const isDirectory = info.type === FSEVENT_TYPE_DIRECTORY;
+    // suppress unlink events on never before seen files
+    if (isDirectory || watchedDir.has(item)) {
+      this.fsw._remove(parent, item, isDirectory);
+    }
+  } else {
+    if (event === EV_ADD$1) {
+      // track new directories
+      if (info.type === FSEVENT_TYPE_DIRECTORY) this.fsw._getWatchedDir(path);
+
+      if (info.type === FSEVENT_TYPE_SYMLINK && opts.followSymlinks) {
+        // push symlinks back to the top of the stack to get handled
+        const curDepth = opts.depth === undefined ?
+          undefined : calcDepth(fullPath, realPath) + 1;
+        return this._addToFsEvents(path, false, true, curDepth);
+      }
+
+      // track new paths
+      // (other than symlinks being followed, which will be tracked soon)
+      this.fsw._getWatchedDir(parent).add(item);
+    }
+    /**
+     * @type {'add'|'addDir'|'unlink'|'unlinkDir'}
+     */
+    const eventName = info.type === FSEVENT_TYPE_DIRECTORY ? event + DIR_SUFFIX : event;
+    this.fsw._emit(eventName, path);
+    if (eventName === EV_ADD_DIR$1) this._addToFsEvents(path, false, true);
+  }
+}
+
+/**
+ * Handle symlinks encountered during directory scan
+ * @param {String} watchPath  - file/dir path to be watched with fsevents
+ * @param {String} realPath   - real path (in case of symlinks)
+ * @param {Function} transform  - path transformer
+ * @param {Function} globFilter - path filter in case a glob pattern was provided
+ * @returns {Function} closer for the watcher instance
+*/
+_watchWithFsEvents(watchPath, realPath, transform, globFilter) {
+  if (this.fsw.closed || this.fsw._isIgnored(watchPath)) return;
+  const opts = this.fsw.options;
+  const watchCallback = async (fullPath, flags, info) => {
+    if (this.fsw.closed) return;
+    if (
+      opts.depth !== undefined &&
+      calcDepth(fullPath, realPath) > opts.depth
+    ) return;
+    const path = transform(sysPath$1.join(
+      watchPath, sysPath$1.relative(watchPath, fullPath)
+    ));
+    if (globFilter && !globFilter(path)) return;
+    // ensure directories are tracked
+    const parent = sysPath$1.dirname(path);
+    const item = sysPath$1.basename(path);
+    const watchedDir = this.fsw._getWatchedDir(
+      info.type === FSEVENT_TYPE_DIRECTORY ? path : parent
+    );
+
+    // correct for wrong events emitted
+    if (wrongEventFlags.has(flags) || info.event === FSEVENT_UNKNOWN) {
+      if (typeof opts.ignored === FUNCTION_TYPE$1) {
+        let stats;
+        try {
+          stats = await stat$1(path);
+        } catch (error) {}
+        if (this.fsw.closed) return;
+        if (this.checkIgnored(path, stats)) return;
+        if (sameTypes(info, stats)) {
+          this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts);
+        } else {
+          this.handleEvent(EV_UNLINK$1, path, fullPath, realPath, parent, watchedDir, item, info, opts);
+        }
+      } else {
+        this.checkExists(path, fullPath, realPath, parent, watchedDir, item, info, opts);
+      }
+    } else {
+      switch (info.event) {
+      case FSEVENT_CREATED:
+      case FSEVENT_MODIFIED:
+        return this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts);
+      case FSEVENT_DELETED:
+      case FSEVENT_MOVED:
+        return this.checkExists(path, fullPath, realPath, parent, watchedDir, item, info, opts);
+      }
+    }
+  };
+
+  const closer = setFSEventsListener(
+    watchPath,
+    realPath,
+    watchCallback,
+    this.fsw._emitRaw
+  );
+
+  this.fsw._emitReady();
+  return closer;
+}
+
+/**
+ * Handle symlinks encountered during directory scan
+ * @param {String} linkPath path to symlink
+ * @param {String} fullPath absolute path to the symlink
+ * @param {Function} transform pre-existing path transformer
+ * @param {Number} curDepth level of subdirectories traversed to where symlink is
+ * @returns {Promise}
+ */
+async _handleFsEventsSymlink(linkPath, fullPath, transform, curDepth) {
+  // don't follow the same symlink more than once
+  if (this.fsw.closed || this.fsw._symlinkPaths.has(fullPath)) return;
+
+  this.fsw._symlinkPaths.set(fullPath, true);
+  this.fsw._incrReadyCount();
+
+  try {
+    const linkTarget = await realpath(linkPath);
+    if (this.fsw.closed) return;
+    if (this.fsw._isIgnored(linkTarget)) {
+      return this.fsw._emitReady();
+    }
+
+    this.fsw._incrReadyCount();
+
+    // add the linkTarget for watching with a wrapper for transform
+    // that causes emitted paths to incorporate the link's path
+    this._addToFsEvents(linkTarget || linkPath, (path) => {
+      let aliasedPath = linkPath;
+      if (linkTarget && linkTarget !== DOT_SLASH) {
+        aliasedPath = path.replace(linkTarget, linkPath);
+      } else if (path !== DOT_SLASH) {
+        aliasedPath = sysPath$1.join(linkPath, path);
+      }
+      return transform(aliasedPath);
+    }, false, curDepth);
+  } catch(error) {
+    if (this.fsw._handleError(error)) {
+      return this.fsw._emitReady();
+    }
+  }
+}
+
+/**
+ *
+ * @param {Path} newPath
+ * @param {fs.Stats} stats
+ */
+emitAdd(newPath, stats, processPath, opts, forceAdd) {
+  const pp = processPath(newPath);
+  const isDir = stats.isDirectory();
+  const dirObj = this.fsw._getWatchedDir(sysPath$1.dirname(pp));
+  const base = sysPath$1.basename(pp);
+
+  // ensure empty dirs get tracked
+  if (isDir) this.fsw._getWatchedDir(pp);
+  if (dirObj.has(base)) return;
+  dirObj.add(base);
+
+  if (!opts.ignoreInitial || forceAdd === true) {
+    this.fsw._emit(isDir ? EV_ADD_DIR$1 : EV_ADD$1, pp, stats);
+  }
+}
+
+initWatch(realPath, path, wh, processPath) {
+  if (this.fsw.closed) return;
+  const closer = this._watchWithFsEvents(
+    wh.watchPath,
+    sysPath$1.resolve(realPath || wh.watchPath),
+    processPath,
+    wh.globFilter
+  );
+  this.fsw._addPathCloser(path, closer);
+}
+
+/**
+ * Handle added path with fsevents
+ * @param {String} path file/dir path or glob pattern
+ * @param {Function|Boolean=} transform converts working path to what the user expects
+ * @param {Boolean=} forceAdd ensure add is emitted
+ * @param {Number=} priorDepth Level of subdirectories already traversed.
+ * @returns {Promise}
+ */
+async _addToFsEvents(path, transform, forceAdd, priorDepth) {
+  if (this.fsw.closed) {
+    return;
+  }
+  const opts = this.fsw.options;
+  const processPath = typeof transform === FUNCTION_TYPE$1 ? transform : IDENTITY_FN;
+
+  const wh = this.fsw._getWatchHelpers(path);
+
+  // evaluate what is at the path we're being asked to watch
+  try {
+    const stats = await statMethods[wh.statMethod](wh.watchPath);
+    if (this.fsw.closed) return;
+    if (this.fsw._isIgnored(wh.watchPath, stats)) {
+      throw null;
+    }
+    if (stats.isDirectory()) {
+      // emit addDir unless this is a glob parent
+      if (!wh.globFilter) this.emitAdd(processPath(path), stats, processPath, opts, forceAdd);
+
+      // don't recurse further if it would exceed depth setting
+      if (priorDepth && priorDepth > opts.depth) return;
+
+      // scan the contents of the dir
+      this.fsw._readdirp(wh.watchPath, {
+        fileFilter: entry => wh.filterPath(entry),
+        directoryFilter: entry => wh.filterDir(entry),
+        ...Depth(opts.depth - (priorDepth || 0))
+      }).on(STR_DATA, (entry) => {
+        // need to check filterPath on dirs b/c filterDir is less restrictive
+        if (this.fsw.closed) {
+          return;
+        }
+        if (entry.stats.isDirectory() && !wh.filterPath(entry)) return;
+
+        const joinedPath = sysPath$1.join(wh.watchPath, entry.path);
+        const {fullPath} = entry;
+
+        if (wh.followSymlinks && entry.stats.isSymbolicLink()) {
+          // preserve the current depth here since it can't be derived from
+          // real paths past the symlink
+          const curDepth = opts.depth === undefined ?
+            undefined : calcDepth(joinedPath, sysPath$1.resolve(wh.watchPath)) + 1;
+
+          this._handleFsEventsSymlink(joinedPath, fullPath, processPath, curDepth);
+        } else {
+          this.emitAdd(joinedPath, entry.stats, processPath, opts, forceAdd);
+        }
+      }).on(EV_ERROR$1, EMPTY_FN$1).on(STR_END$1, () => {
+        this.fsw._emitReady();
+      });
+    } else {
+      this.emitAdd(wh.watchPath, stats, processPath, opts, forceAdd);
+      this.fsw._emitReady();
+    }
+  } catch (error) {
+    if (!error || this.fsw._handleError(error)) {
+      // TODO: Strange thing: "should not choke on an ignored watch path" will be failed without 2 ready calls -__-
+      this.fsw._emitReady();
+      this.fsw._emitReady();
+    }
+  }
+
+  if (opts.persistent && forceAdd !== true) {
+    if (typeof transform === FUNCTION_TYPE$1) {
+      // realpath has already been resolved
+      this.initWatch(undefined, path, wh, processPath);
+    } else {
+      let realPath;
+      try {
+        realPath = await realpath(wh.watchPath);
+      } catch (e) {}
+      this.initWatch(realPath, path, wh, processPath);
+    }
+  }
+}
+
+};
+
+fseventsHandler.exports = FsEventsHandler$1;
+fseventsHandler.exports.canUse = canUse;
+
+var fseventsHandlerExports = fseventsHandler.exports;
+
+const { EventEmitter } = require$$0$3;
+const fs = require$$0$1;
+const sysPath = require$$0$2;
+const { promisify } = require$$2;
+const readdirp = readdirp_1;
+const anymatch = anymatchExports.default;
+const globParent = globParent$1;
+const isGlob = isGlob$2;
+const braces = braces_1;
+const normalizePath = normalizePath$2;
+
+const NodeFsHandler = nodefsHandler;
+const FsEventsHandler = fseventsHandlerExports;
+const {
+  EV_ALL,
+  EV_READY,
+  EV_ADD,
+  EV_CHANGE,
+  EV_UNLINK,
+  EV_ADD_DIR,
+  EV_UNLINK_DIR,
+  EV_RAW,
+  EV_ERROR,
+
+  STR_CLOSE,
+  STR_END,
+
+  BACK_SLASH_RE,
+  DOUBLE_SLASH_RE,
+  SLASH_OR_BACK_SLASH_RE,
+  DOT_RE,
+  REPLACER_RE,
+
+  SLASH,
+  SLASH_SLASH,
+  BRACE_START,
+  BANG,
+  ONE_DOT,
+  TWO_DOTS,
+  GLOBSTAR,
+  SLASH_GLOBSTAR,
+  ANYMATCH_OPTS,
+  STRING_TYPE,
+  FUNCTION_TYPE,
+  EMPTY_STR,
+  EMPTY_FN,
+
+  isWindows,
+  isMacos,
+  isIBMi
+} = constants;
+
+const stat = promisify(fs.stat);
+const readdir = promisify(fs.readdir);
+
+/**
+ * @typedef {String} Path
+ * @typedef {'all'|'add'|'addDir'|'change'|'unlink'|'unlinkDir'|'raw'|'error'|'ready'} EventName
+ * @typedef {'readdir'|'watch'|'add'|'remove'|'change'} ThrottleType
+ */
+
+/**
+ *
+ * @typedef {Object} WatchHelpers
+ * @property {Boolean} followSymlinks
+ * @property {'stat'|'lstat'} statMethod
+ * @property {Path} path
+ * @property {Path} watchPath
+ * @property {Function} entryPath
+ * @property {Boolean} hasGlob
+ * @property {Object} globFilter
+ * @property {Function} filterPath
+ * @property {Function} filterDir
+ */
+
+const arrify = (value = []) => Array.isArray(value) ? value : [value];
+const flatten = (list, result = []) => {
+  list.forEach(item => {
+    if (Array.isArray(item)) {
+      flatten(item, result);
+    } else {
+      result.push(item);
+    }
+  });
+  return result;
+};
+
+const unifyPaths = (paths_) => {
+  /**
+   * @type {Array}
+   */
+  const paths = flatten(arrify(paths_));
+  if (!paths.every(p => typeof p === STRING_TYPE)) {
+    throw new TypeError(`Non-string provided as watch path: ${paths}`);
+  }
+  return paths.map(normalizePathToUnix);
+};
+
+// If SLASH_SLASH occurs at the beginning of path, it is not replaced
+//     because "//StoragePC/DrivePool/Movies" is a valid network path
+const toUnix = (string) => {
+  let str = string.replace(BACK_SLASH_RE, SLASH);
+  let prepend = false;
+  if (str.startsWith(SLASH_SLASH)) {
+    prepend = true;
+  }
+  while (str.match(DOUBLE_SLASH_RE)) {
+    str = str.replace(DOUBLE_SLASH_RE, SLASH);
+  }
+  if (prepend) {
+    str = SLASH + str;
+  }
+  return str;
+};
+
+// Our version of upath.normalize
+// TODO: this is not equal to path-normalize module - investigate why
+const normalizePathToUnix = (path) => toUnix(sysPath.normalize(toUnix(path)));
+
+const normalizeIgnored = (cwd = EMPTY_STR) => (path) => {
+  if (typeof path !== STRING_TYPE) return path;
+  return normalizePathToUnix(sysPath.isAbsolute(path) ? path : sysPath.join(cwd, path));
+};
+
+const getAbsolutePath = (path, cwd) => {
+  if (sysPath.isAbsolute(path)) {
+    return path;
+  }
+  if (path.startsWith(BANG)) {
+    return BANG + sysPath.join(cwd, path.slice(1));
+  }
+  return sysPath.join(cwd, path);
+};
+
+const undef = (opts, key) => opts[key] === undefined;
+
+/**
+ * Directory entry.
+ * @property {Path} path
+ * @property {Set} items
+ */
+class DirEntry {
+  /**
+   * @param {Path} dir
+   * @param {Function} removeWatcher
+   */
+  constructor(dir, removeWatcher) {
+    this.path = dir;
+    this._removeWatcher = removeWatcher;
+    /** @type {Set} */
+    this.items = new Set();
+  }
+
+  add(item) {
+    const {items} = this;
+    if (!items) return;
+    if (item !== ONE_DOT && item !== TWO_DOTS) items.add(item);
+  }
+
+  async remove(item) {
+    const {items} = this;
+    if (!items) return;
+    items.delete(item);
+    if (items.size > 0) return;
+
+    const dir = this.path;
+    try {
+      await readdir(dir);
+    } catch (err) {
+      if (this._removeWatcher) {
+        this._removeWatcher(sysPath.dirname(dir), sysPath.basename(dir));
+      }
+    }
+  }
+
+  has(item) {
+    const {items} = this;
+    if (!items) return;
+    return items.has(item);
+  }
+
+  /**
+   * @returns {Array}
+   */
+  getChildren() {
+    const {items} = this;
+    if (!items) return;
+    return [...items.values()];
+  }
+
+  dispose() {
+    this.items.clear();
+    delete this.path;
+    delete this._removeWatcher;
+    delete this.items;
+    Object.freeze(this);
+  }
+}
+
+const STAT_METHOD_F = 'stat';
+const STAT_METHOD_L = 'lstat';
+class WatchHelper {
+  constructor(path, watchPath, follow, fsw) {
+    this.fsw = fsw;
+    this.path = path = path.replace(REPLACER_RE, EMPTY_STR);
+    this.watchPath = watchPath;
+    this.fullWatchPath = sysPath.resolve(watchPath);
+    this.hasGlob = watchPath !== path;
+    /** @type {object|boolean} */
+    if (path === EMPTY_STR) this.hasGlob = false;
+    this.globSymlink = this.hasGlob && follow ? undefined : false;
+    this.globFilter = this.hasGlob ? anymatch(path, undefined, ANYMATCH_OPTS) : false;
+    this.dirParts = this.getDirParts(path);
+    this.dirParts.forEach((parts) => {
+      if (parts.length > 1) parts.pop();
+    });
+    this.followSymlinks = follow;
+    this.statMethod = follow ? STAT_METHOD_F : STAT_METHOD_L;
+  }
+
+  checkGlobSymlink(entry) {
+    // only need to resolve once
+    // first entry should always have entry.parentDir === EMPTY_STR
+    if (this.globSymlink === undefined) {
+      this.globSymlink = entry.fullParentDir === this.fullWatchPath ?
+        false : {realPath: entry.fullParentDir, linkPath: this.fullWatchPath};
+    }
+
+    if (this.globSymlink) {
+      return entry.fullPath.replace(this.globSymlink.realPath, this.globSymlink.linkPath);
+    }
+
+    return entry.fullPath;
+  }
+
+  entryPath(entry) {
+    return sysPath.join(this.watchPath,
+      sysPath.relative(this.watchPath, this.checkGlobSymlink(entry))
+    );
+  }
+
+  filterPath(entry) {
+    const {stats} = entry;
+    if (stats && stats.isSymbolicLink()) return this.filterDir(entry);
+    const resolvedPath = this.entryPath(entry);
+    const matchesGlob = this.hasGlob && typeof this.globFilter === FUNCTION_TYPE ?
+      this.globFilter(resolvedPath) : true;
+    return matchesGlob &&
+      this.fsw._isntIgnored(resolvedPath, stats) &&
+      this.fsw._hasReadPermissions(stats);
+  }
+
+  getDirParts(path) {
+    if (!this.hasGlob) return [];
+    const parts = [];
+    const expandedPath = path.includes(BRACE_START) ? braces.expand(path) : [path];
+    expandedPath.forEach((path) => {
+      parts.push(sysPath.relative(this.watchPath, path).split(SLASH_OR_BACK_SLASH_RE));
+    });
+    return parts;
+  }
+
+  filterDir(entry) {
+    if (this.hasGlob) {
+      const entryParts = this.getDirParts(this.checkGlobSymlink(entry));
+      let globstar = false;
+      this.unmatchedGlob = !this.dirParts.some((parts) => {
+        return parts.every((part, i) => {
+          if (part === GLOBSTAR) globstar = true;
+          return globstar || !entryParts[0][i] || anymatch(part, entryParts[0][i], ANYMATCH_OPTS);
+        });
+      });
+    }
+    return !this.unmatchedGlob && this.fsw._isntIgnored(this.entryPath(entry), entry.stats);
+  }
+}
+
+/**
+ * Watches files & directories for changes. Emitted events:
+ * `add`, `addDir`, `change`, `unlink`, `unlinkDir`, `all`, `error`
+ *
+ *     new FSWatcher()
+ *       .add(directories)
+ *       .on('add', path => log('File', path, 'was added'))
+ */
+class FSWatcher extends EventEmitter {
+// Not indenting methods for history sake; for now.
+constructor(_opts) {
+  super();
+
+  const opts = {};
+  if (_opts) Object.assign(opts, _opts); // for frozen objects
+
+  /** @type {Map} */
+  this._watched = new Map();
+  /** @type {Map} */
+  this._closers = new Map();
+  /** @type {Set} */
+  this._ignoredPaths = new Set();
+
+  /** @type {Map} */
+  this._throttled = new Map();
+
+  /** @type {Map} */
+  this._symlinkPaths = new Map();
+
+  this._streams = new Set();
+  this.closed = false;
+
+  // Set up default options.
+  if (undef(opts, 'persistent')) opts.persistent = true;
+  if (undef(opts, 'ignoreInitial')) opts.ignoreInitial = false;
+  if (undef(opts, 'ignorePermissionErrors')) opts.ignorePermissionErrors = false;
+  if (undef(opts, 'interval')) opts.interval = 100;
+  if (undef(opts, 'binaryInterval')) opts.binaryInterval = 300;
+  if (undef(opts, 'disableGlobbing')) opts.disableGlobbing = false;
+  opts.enableBinaryInterval = opts.binaryInterval !== opts.interval;
+
+  // Enable fsevents on OS X when polling isn't explicitly enabled.
+  if (undef(opts, 'useFsEvents')) opts.useFsEvents = !opts.usePolling;
+
+  // If we can't use fsevents, ensure the options reflect it's disabled.
+  const canUseFsEvents = FsEventsHandler.canUse();
+  if (!canUseFsEvents) opts.useFsEvents = false;
+
+  // Use polling on Mac if not using fsevents.
+  // Other platforms use non-polling fs_watch.
+  if (undef(opts, 'usePolling') && !opts.useFsEvents) {
+    opts.usePolling = isMacos;
+  }
+
+  // Always default to polling on IBM i because fs.watch() is not available on IBM i.
+  if(isIBMi) {
+    opts.usePolling = true;
+  }
+
+  // Global override (useful for end-developers that need to force polling for all
+  // instances of chokidar, regardless of usage/dependency depth)
+  const envPoll = process.env.CHOKIDAR_USEPOLLING;
+  if (envPoll !== undefined) {
+    const envLower = envPoll.toLowerCase();
+
+    if (envLower === 'false' || envLower === '0') {
+      opts.usePolling = false;
+    } else if (envLower === 'true' || envLower === '1') {
+      opts.usePolling = true;
+    } else {
+      opts.usePolling = !!envLower;
+    }
+  }
+  const envInterval = process.env.CHOKIDAR_INTERVAL;
+  if (envInterval) {
+    opts.interval = Number.parseInt(envInterval, 10);
+  }
+
+  // Editor atomic write normalization enabled by default with fs.watch
+  if (undef(opts, 'atomic')) opts.atomic = !opts.usePolling && !opts.useFsEvents;
+  if (opts.atomic) this._pendingUnlinks = new Map();
+
+  if (undef(opts, 'followSymlinks')) opts.followSymlinks = true;
+
+  if (undef(opts, 'awaitWriteFinish')) opts.awaitWriteFinish = false;
+  if (opts.awaitWriteFinish === true) opts.awaitWriteFinish = {};
+  const awf = opts.awaitWriteFinish;
+  if (awf) {
+    if (!awf.stabilityThreshold) awf.stabilityThreshold = 2000;
+    if (!awf.pollInterval) awf.pollInterval = 100;
+    this._pendingWrites = new Map();
+  }
+  if (opts.ignored) opts.ignored = arrify(opts.ignored);
+
+  let readyCalls = 0;
+  this._emitReady = () => {
+    readyCalls++;
+    if (readyCalls >= this._readyCount) {
+      this._emitReady = EMPTY_FN;
+      this._readyEmitted = true;
+      // use process.nextTick to allow time for listener to be bound
+      process.nextTick(() => this.emit(EV_READY));
+    }
+  };
+  this._emitRaw = (...args) => this.emit(EV_RAW, ...args);
+  this._readyEmitted = false;
+  this.options = opts;
+
+  // Initialize with proper watcher.
+  if (opts.useFsEvents) {
+    this._fsEventsHandler = new FsEventsHandler(this);
+  } else {
+    this._nodeFsHandler = new NodeFsHandler(this);
+  }
+
+  // You’re frozen when your heart’s not open.
+  Object.freeze(opts);
+}
+
+// Public methods
+
+/**
+ * Adds paths to be watched on an existing FSWatcher instance
+ * @param {Path|Array} paths_
+ * @param {String=} _origAdd private; for handling non-existent paths to be watched
+ * @param {Boolean=} _internal private; indicates a non-user add
+ * @returns {FSWatcher} for chaining
+ */
+add(paths_, _origAdd, _internal) {
+  const {cwd, disableGlobbing} = this.options;
+  this.closed = false;
+  let paths = unifyPaths(paths_);
+  if (cwd) {
+    paths = paths.map((path) => {
+      const absPath = getAbsolutePath(path, cwd);
+
+      // Check `path` instead of `absPath` because the cwd portion can't be a glob
+      if (disableGlobbing || !isGlob(path)) {
+        return absPath;
+      }
+      return normalizePath(absPath);
+    });
+  }
+
+  // set aside negated glob strings
+  paths = paths.filter((path) => {
+    if (path.startsWith(BANG)) {
+      this._ignoredPaths.add(path.slice(1));
+      return false;
+    }
+
+    // if a path is being added that was previously ignored, stop ignoring it
+    this._ignoredPaths.delete(path);
+    this._ignoredPaths.delete(path + SLASH_GLOBSTAR);
+
+    // reset the cached userIgnored anymatch fn
+    // to make ignoredPaths changes effective
+    this._userIgnored = undefined;
+
+    return true;
+  });
+
+  if (this.options.useFsEvents && this._fsEventsHandler) {
+    if (!this._readyCount) this._readyCount = paths.length;
+    if (this.options.persistent) this._readyCount += paths.length;
+    paths.forEach((path) => this._fsEventsHandler._addToFsEvents(path));
+  } else {
+    if (!this._readyCount) this._readyCount = 0;
+    this._readyCount += paths.length;
+    Promise.all(
+      paths.map(async path => {
+        const res = await this._nodeFsHandler._addToNodeFs(path, !_internal, 0, 0, _origAdd);
+        if (res) this._emitReady();
+        return res;
+      })
+    ).then(results => {
+      if (this.closed) return;
+      results.filter(item => item).forEach(item => {
+        this.add(sysPath.dirname(item), sysPath.basename(_origAdd || item));
+      });
+    });
+  }
+
+  return this;
+}
+
+/**
+ * Close watchers or start ignoring events from specified paths.
+ * @param {Path|Array} paths_ - string or array of strings, file/directory paths and/or globs
+ * @returns {FSWatcher} for chaining
+*/
+unwatch(paths_) {
+  if (this.closed) return this;
+  const paths = unifyPaths(paths_);
+  const {cwd} = this.options;
+
+  paths.forEach((path) => {
+    // convert to absolute path unless relative path already matches
+    if (!sysPath.isAbsolute(path) && !this._closers.has(path)) {
+      if (cwd) path = sysPath.join(cwd, path);
+      path = sysPath.resolve(path);
+    }
+
+    this._closePath(path);
+
+    this._ignoredPaths.add(path);
+    if (this._watched.has(path)) {
+      this._ignoredPaths.add(path + SLASH_GLOBSTAR);
+    }
+
+    // reset the cached userIgnored anymatch fn
+    // to make ignoredPaths changes effective
+    this._userIgnored = undefined;
+  });
+
+  return this;
+}
+
+/**
+ * Close watchers and remove all listeners from watched paths.
+ * @returns {Promise}.
+*/
+close() {
+  if (this.closed) return this._closePromise;
+  this.closed = true;
+
+  // Memory management.
+  this.removeAllListeners();
+  const closers = [];
+  this._closers.forEach(closerList => closerList.forEach(closer => {
+    const promise = closer();
+    if (promise instanceof Promise) closers.push(promise);
+  }));
+  this._streams.forEach(stream => stream.destroy());
+  this._userIgnored = undefined;
+  this._readyCount = 0;
+  this._readyEmitted = false;
+  this._watched.forEach(dirent => dirent.dispose());
+  ['closers', 'watched', 'streams', 'symlinkPaths', 'throttled'].forEach(key => {
+    this[`_${key}`].clear();
+  });
+
+  this._closePromise = closers.length ? Promise.all(closers).then(() => undefined) : Promise.resolve();
+  return this._closePromise;
+}
+
+/**
+ * Expose list of watched paths
+ * @returns {Object} for chaining
+*/
+getWatched() {
+  const watchList = {};
+  this._watched.forEach((entry, dir) => {
+    const key = this.options.cwd ? sysPath.relative(this.options.cwd, dir) : dir;
+    watchList[key || ONE_DOT] = entry.getChildren().sort();
+  });
+  return watchList;
+}
+
+emitWithAll(event, args) {
+  this.emit(...args);
+  if (event !== EV_ERROR) this.emit(EV_ALL, ...args);
+}
+
+// Common helpers
+// --------------
+
+/**
+ * Normalize and emit events.
+ * Calling _emit DOES NOT MEAN emit() would be called!
+ * @param {EventName} event Type of event
+ * @param {Path} path File or directory path
+ * @param {*=} val1 arguments to be passed with event
+ * @param {*=} val2
+ * @param {*=} val3
+ * @returns the error if defined, otherwise the value of the FSWatcher instance's `closed` flag
+ */
+async _emit(event, path, val1, val2, val3) {
+  if (this.closed) return;
+
+  const opts = this.options;
+  if (isWindows) path = sysPath.normalize(path);
+  if (opts.cwd) path = sysPath.relative(opts.cwd, path);
+  /** @type Array */
+  const args = [event, path];
+  if (val3 !== undefined) args.push(val1, val2, val3);
+  else if (val2 !== undefined) args.push(val1, val2);
+  else if (val1 !== undefined) args.push(val1);
+
+  const awf = opts.awaitWriteFinish;
+  let pw;
+  if (awf && (pw = this._pendingWrites.get(path))) {
+    pw.lastChange = new Date();
+    return this;
+  }
+
+  if (opts.atomic) {
+    if (event === EV_UNLINK) {
+      this._pendingUnlinks.set(path, args);
+      setTimeout(() => {
+        this._pendingUnlinks.forEach((entry, path) => {
+          this.emit(...entry);
+          this.emit(EV_ALL, ...entry);
+          this._pendingUnlinks.delete(path);
+        });
+      }, typeof opts.atomic === 'number' ? opts.atomic : 100);
+      return this;
+    }
+    if (event === EV_ADD && this._pendingUnlinks.has(path)) {
+      event = args[0] = EV_CHANGE;
+      this._pendingUnlinks.delete(path);
+    }
+  }
+
+  if (awf && (event === EV_ADD || event === EV_CHANGE) && this._readyEmitted) {
+    const awfEmit = (err, stats) => {
+      if (err) {
+        event = args[0] = EV_ERROR;
+        args[1] = err;
+        this.emitWithAll(event, args);
+      } else if (stats) {
+        // if stats doesn't exist the file must have been deleted
+        if (args.length > 2) {
+          args[2] = stats;
+        } else {
+          args.push(stats);
+        }
+        this.emitWithAll(event, args);
+      }
+    };
+
+    this._awaitWriteFinish(path, awf.stabilityThreshold, event, awfEmit);
+    return this;
+  }
+
+  if (event === EV_CHANGE) {
+    const isThrottled = !this._throttle(EV_CHANGE, path, 50);
+    if (isThrottled) return this;
+  }
+
+  if (opts.alwaysStat && val1 === undefined &&
+    (event === EV_ADD || event === EV_ADD_DIR || event === EV_CHANGE)
+  ) {
+    const fullPath = opts.cwd ? sysPath.join(opts.cwd, path) : path;
+    let stats;
+    try {
+      stats = await stat(fullPath);
+    } catch (err) {}
+    // Suppress event when fs_stat fails, to avoid sending undefined 'stat'
+    if (!stats || this.closed) return;
+    args.push(stats);
+  }
+  this.emitWithAll(event, args);
+
+  return this;
+}
+
+/**
+ * Common handler for errors
+ * @param {Error} error
+ * @returns {Error|Boolean} The error if defined, otherwise the value of the FSWatcher instance's `closed` flag
+ */
+_handleError(error) {
+  const code = error && error.code;
+  if (error && code !== 'ENOENT' && code !== 'ENOTDIR' &&
+    (!this.options.ignorePermissionErrors || (code !== 'EPERM' && code !== 'EACCES'))
+  ) {
+    this.emit(EV_ERROR, error);
+  }
+  return error || this.closed;
+}
+
+/**
+ * Helper utility for throttling
+ * @param {ThrottleType} actionType type being throttled
+ * @param {Path} path being acted upon
+ * @param {Number} timeout duration of time to suppress duplicate actions
+ * @returns {Object|false} tracking object or false if action should be suppressed
+ */
+_throttle(actionType, path, timeout) {
+  if (!this._throttled.has(actionType)) {
+    this._throttled.set(actionType, new Map());
+  }
+
+  /** @type {Map} */
+  const action = this._throttled.get(actionType);
+  /** @type {Object} */
+  const actionPath = action.get(path);
+
+  if (actionPath) {
+    actionPath.count++;
+    return false;
+  }
+
+  let timeoutObject;
+  const clear = () => {
+    const item = action.get(path);
+    const count = item ? item.count : 0;
+    action.delete(path);
+    clearTimeout(timeoutObject);
+    if (item) clearTimeout(item.timeoutObject);
+    return count;
+  };
+  timeoutObject = setTimeout(clear, timeout);
+  const thr = {timeoutObject, clear, count: 0};
+  action.set(path, thr);
+  return thr;
+}
+
+_incrReadyCount() {
+  return this._readyCount++;
+}
+
+/**
+ * Awaits write operation to finish.
+ * Polls a newly created file for size variations. When files size does not change for 'threshold' milliseconds calls callback.
+ * @param {Path} path being acted upon
+ * @param {Number} threshold Time in milliseconds a file size must be fixed before acknowledging write OP is finished
+ * @param {EventName} event
+ * @param {Function} awfEmit Callback to be called when ready for event to be emitted.
+ */
+_awaitWriteFinish(path, threshold, event, awfEmit) {
+  let timeoutHandler;
+
+  let fullPath = path;
+  if (this.options.cwd && !sysPath.isAbsolute(path)) {
+    fullPath = sysPath.join(this.options.cwd, path);
+  }
+
+  const now = new Date();
+
+  const awaitWriteFinish = (prevStat) => {
+    fs.stat(fullPath, (err, curStat) => {
+      if (err || !this._pendingWrites.has(path)) {
+        if (err && err.code !== 'ENOENT') awfEmit(err);
+        return;
+      }
+
+      const now = Number(new Date());
+
+      if (prevStat && curStat.size !== prevStat.size) {
+        this._pendingWrites.get(path).lastChange = now;
+      }
+      const pw = this._pendingWrites.get(path);
+      const df = now - pw.lastChange;
+
+      if (df >= threshold) {
+        this._pendingWrites.delete(path);
+        awfEmit(undefined, curStat);
+      } else {
+        timeoutHandler = setTimeout(
+          awaitWriteFinish,
+          this.options.awaitWriteFinish.pollInterval,
+          curStat
+        );
+      }
+    });
+  };
+
+  if (!this._pendingWrites.has(path)) {
+    this._pendingWrites.set(path, {
+      lastChange: now,
+      cancelWait: () => {
+        this._pendingWrites.delete(path);
+        clearTimeout(timeoutHandler);
+        return event;
+      }
+    });
+    timeoutHandler = setTimeout(
+      awaitWriteFinish,
+      this.options.awaitWriteFinish.pollInterval
+    );
+  }
+}
+
+_getGlobIgnored() {
+  return [...this._ignoredPaths.values()];
+}
+
+/**
+ * Determines whether user has asked to ignore this path.
+ * @param {Path} path filepath or dir
+ * @param {fs.Stats=} stats result of fs.stat
+ * @returns {Boolean}
+ */
+_isIgnored(path, stats) {
+  if (this.options.atomic && DOT_RE.test(path)) return true;
+  if (!this._userIgnored) {
+    const {cwd} = this.options;
+    const ign = this.options.ignored;
+
+    const ignored = ign && ign.map(normalizeIgnored(cwd));
+    const paths = arrify(ignored)
+      .filter((path) => typeof path === STRING_TYPE && !isGlob(path))
+      .map((path) => path + SLASH_GLOBSTAR);
+    const list = this._getGlobIgnored().map(normalizeIgnored(cwd)).concat(ignored, paths);
+    this._userIgnored = anymatch(list, undefined, ANYMATCH_OPTS);
+  }
+
+  return this._userIgnored([path, stats]);
+}
+
+_isntIgnored(path, stat) {
+  return !this._isIgnored(path, stat);
+}
+
+/**
+ * Provides a set of common helpers and properties relating to symlink and glob handling.
+ * @param {Path} path file, directory, or glob pattern being watched
+ * @param {Number=} depth at any depth > 0, this isn't a glob
+ * @returns {WatchHelper} object containing helpers for this path
+ */
+_getWatchHelpers(path, depth) {
+  const watchPath = depth || this.options.disableGlobbing || !isGlob(path) ? path : globParent(path);
+  const follow = this.options.followSymlinks;
+
+  return new WatchHelper(path, watchPath, follow, this);
+}
+
+// Directory helpers
+// -----------------
+
+/**
+ * Provides directory tracking objects
+ * @param {String} directory path of the directory
+ * @returns {DirEntry} the directory's tracking object
+ */
+_getWatchedDir(directory) {
+  if (!this._boundRemove) this._boundRemove = this._remove.bind(this);
+  const dir = sysPath.resolve(directory);
+  if (!this._watched.has(dir)) this._watched.set(dir, new DirEntry(dir, this._boundRemove));
+  return this._watched.get(dir);
+}
+
+// File helpers
+// ------------
+
+/**
+ * Check for read permissions.
+ * Based on this answer on SO: https://stackoverflow.com/a/11781404/1358405
+ * @param {fs.Stats} stats - object, result of fs_stat
+ * @returns {Boolean} indicates whether the file can be read
+*/
+_hasReadPermissions(stats) {
+  if (this.options.ignorePermissionErrors) return true;
+
+  // stats.mode may be bigint
+  const md = stats && Number.parseInt(stats.mode, 10);
+  const st = md & 0o777;
+  const it = Number.parseInt(st.toString(8)[0], 10);
+  return Boolean(4 & it);
+}
+
+/**
+ * Handles emitting unlink events for
+ * files and directories, and via recursion, for
+ * files and directories within directories that are unlinked
+ * @param {String} directory within which the following item is located
+ * @param {String} item      base path of item/directory
+ * @returns {void}
+*/
+_remove(directory, item, isDirectory) {
+  // if what is being deleted is a directory, get that directory's paths
+  // for recursive deleting and cleaning of watched object
+  // if it is not a directory, nestedDirectoryChildren will be empty array
+  const path = sysPath.join(directory, item);
+  const fullPath = sysPath.resolve(path);
+  isDirectory = isDirectory != null
+    ? isDirectory
+    : this._watched.has(path) || this._watched.has(fullPath);
+
+  // prevent duplicate handling in case of arriving here nearly simultaneously
+  // via multiple paths (such as _handleFile and _handleDir)
+  if (!this._throttle('remove', path, 100)) return;
+
+  // if the only watched file is removed, watch for its return
+  if (!isDirectory && !this.options.useFsEvents && this._watched.size === 1) {
+    this.add(directory, item, true);
+  }
+
+  // This will create a new entry in the watched object in either case
+  // so we got to do the directory check beforehand
+  const wp = this._getWatchedDir(path);
+  const nestedDirectoryChildren = wp.getChildren();
+
+  // Recursively remove children directories / files.
+  nestedDirectoryChildren.forEach(nested => this._remove(path, nested));
+
+  // Check if item was on the watched list and remove it
+  const parent = this._getWatchedDir(directory);
+  const wasTracked = parent.has(item);
+  parent.remove(item);
+
+  // Fixes issue #1042 -> Relative paths were detected and added as symlinks
+  // (https://github.com/paulmillr/chokidar/blob/e1753ddbc9571bdc33b4a4af172d52cb6e611c10/lib/nodefs-handler.js#L612),
+  // but never removed from the map in case the path was deleted.
+  // This leads to an incorrect state if the path was recreated:
+  // https://github.com/paulmillr/chokidar/blob/e1753ddbc9571bdc33b4a4af172d52cb6e611c10/lib/nodefs-handler.js#L553
+  if (this._symlinkPaths.has(fullPath)) {
+    this._symlinkPaths.delete(fullPath);
+  }
+
+  // If we wait for this file to be fully written, cancel the wait.
+  let relPath = path;
+  if (this.options.cwd) relPath = sysPath.relative(this.options.cwd, path);
+  if (this.options.awaitWriteFinish && this._pendingWrites.has(relPath)) {
+    const event = this._pendingWrites.get(relPath).cancelWait();
+    if (event === EV_ADD) return;
+  }
+
+  // The Entry will either be a directory that just got removed
+  // or a bogus entry to a file, in either case we have to remove it
+  this._watched.delete(path);
+  this._watched.delete(fullPath);
+  const eventName = isDirectory ? EV_UNLINK_DIR : EV_UNLINK;
+  if (wasTracked && !this._isIgnored(path)) this._emit(eventName, path);
+
+  // Avoid conflicts if we later create another file with the same name
+  if (!this.options.useFsEvents) {
+    this._closePath(path);
+  }
+}
+
+/**
+ * Closes all watchers for a path
+ * @param {Path} path
+ */
+_closePath(path) {
+  this._closeFile(path);
+  const dir = sysPath.dirname(path);
+  this._getWatchedDir(dir).remove(sysPath.basename(path));
+}
+
+/**
+ * Closes only file-specific watchers
+ * @param {Path} path
+ */
+_closeFile(path) {
+  const closers = this._closers.get(path);
+  if (!closers) return;
+  closers.forEach(closer => closer());
+  this._closers.delete(path);
+}
+
+/**
+ *
+ * @param {Path} path
+ * @param {Function} closer
+ */
+_addPathCloser(path, closer) {
+  if (!closer) return;
+  let list = this._closers.get(path);
+  if (!list) {
+    list = [];
+    this._closers.set(path, list);
+  }
+  list.push(closer);
+}
+
+_readdirp(root, opts) {
+  if (this.closed) return;
+  const options = {type: EV_ALL, alwaysStat: true, lstat: true, ...opts};
+  let stream = readdirp(root, options);
+  this._streams.add(stream);
+  stream.once(STR_CLOSE, () => {
+    stream = undefined;
+  });
+  stream.once(STR_END, () => {
+    if (stream) {
+      this._streams.delete(stream);
+      stream = undefined;
+    }
+  });
+  return stream;
+}
+
+}
+
+// Export FSWatcher class
+chokidar.FSWatcher = FSWatcher;
+
+/**
+ * Instantiates watcher with paths to be tracked.
+ * @param {String|Array} paths file/directory paths and/or globs
+ * @param {Object=} options chokidar opts
+ * @returns an instance of FSWatcher for chaining.
+ */
+const watch = (paths, options) => {
+  const watcher = new FSWatcher(options);
+  watcher.add(paths);
+  return watcher;
+};
+
+chokidar.watch = watch;
+
+exports.chokidar = chokidar;
+//# sourceMappingURL=index.js.map
diff --git a/.pnpm-store/v3/files/1d/c761c4b6257c9a4515d403b386a8b312dcacb0e7c323fe6931d8d26fe7ffb8bfbc0ccf8fd03a71eceffe93480667727f0ac322d83b0dab386c3dc38902a9e5 b/.pnpm-store/v3/files/1d/c761c4b6257c9a4515d403b386a8b312dcacb0e7c323fe6931d8d26fe7ffb8bfbc0ccf8fd03a71eceffe93480667727f0ac322d83b0dab386c3dc38902a9e5
new file mode 100644
index 00000000..4ccdc94c
--- /dev/null
+++ b/.pnpm-store/v3/files/1d/c761c4b6257c9a4515d403b386a8b312dcacb0e7c323fe6931d8d26fe7ffb8bfbc0ccf8fd03a71eceffe93480667727f0ac322d83b0dab386c3dc38902a9e5
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D SC","260":"E","388":"F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","388":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC","129":"3B","260":"F B iC jC kC lC 2B QC"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"C u 3B","260":"A B 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"388":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS outline properties",D:true};
diff --git a/.pnpm-store/v3/files/1d/db778c99c5737a6122e7251c1421db041f0ac48d51c6f52a89f16d402eb405c15402eaf89abe2aa4a933cf4460364b678b9e076d3b8067f5ad80405080d626 b/.pnpm-store/v3/files/1d/db778c99c5737a6122e7251c1421db041f0ac48d51c6f52a89f16d402eb405c15402eaf89abe2aa4a933cf4460364b678b9e076d3b8067f5ad80405080d626
new file mode 100644
index 00000000..56766cad
--- /dev/null
+++ b/.pnpm-store/v3/files/1d/db778c99c5737a6122e7251c1421db041f0ac48d51c6f52a89f16d402eb405c15402eaf89abe2aa4a933cf4460364b678b9e076d3b8067f5ad80405080d626
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","132":"P Q R S T U V W X","260":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB VC WC","132":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B","260":"0 1 2 3 4 5 6 7 8 lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","132":"oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X","194":"jB 8B kB 9B lB mB nB","260":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B XC DC YC ZC aC bC EC","132":"C K L G 2B 3B FC cC dC GC HC 4B eC","260":"6B NC OC PC gC hC","772":"5B IC JC KC LC MC fC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB iC jC kC lC 2B QC mC 3B","132":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB","260":"yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC","132":"xC yC zC 0C 1C 2C","260":"3C 4C 5C 6C GC HC 4B 7C","516":"IC JC KC LC MC 8C","772":"5B"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","260":"H"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","260":"u"},L:{"260":"H"},M:{"260":"1B"},N:{"2":"A B"},O:{"132":"4B"},P:{"2":"I GD HD ID JD","132":"KD EC LD MD ND OD","260":"q r s t PD 5B 6B QD RD"},Q:{"132":"FC"},R:{"260":"SD"},S:{"132":"TD","260":"UD"}},B:4,C:"CSS display: contents",D:true};
diff --git a/.pnpm-store/v3/files/1d/f2939f35942eaeff64a13c6ad70ef1fc26183895da4b1d1fff36435212c2c06c9f065d3847c66b140e4c55d305673586c2ae306bf1151f65eae0846cd9751a b/.pnpm-store/v3/files/1d/f2939f35942eaeff64a13c6ad70ef1fc26183895da4b1d1fff36435212c2c06c9f065d3847c66b140e4c55d305673586c2ae306bf1151f65eae0846cd9751a
new file mode 100644
index 00000000..9dcbb77a
--- /dev/null
+++ b/.pnpm-store/v3/files/1d/f2939f35942eaeff64a13c6ad70ef1fc26183895da4b1d1fff36435212c2c06c9f065d3847c66b140e4c55d305673586c2ae306bf1151f65eae0846cd9751a
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E SC","388":"F A B"},B:{"4":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","260":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","2":"TC","4":"7B"},D:{"4":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"XC DC","4":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"4":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"4":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC","4":"H ED FD"},J:{"1":"A","2":"D"},K:{"4":"A B C u 2B QC 3B"},L:{"4":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"4":"4B"},P:{"4":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"4":"FC"},R:{"4":"SD"},S:{"1":"TD UD"}},B:2,C:"SVG effects for HTML",D:true};
diff --git a/.pnpm-store/v3/files/1e/22d5abb81fdcc94ee5cf1b4b84335de62aa8d8640b9708092b8f0839011b9b368a5d83719156e36a61b922d97ec2cd8fba73e4b8c167abb1864c51315c584c b/.pnpm-store/v3/files/1e/22d5abb81fdcc94ee5cf1b4b84335de62aa8d8640b9708092b8f0839011b9b368a5d83719156e36a61b922d97ec2cd8fba73e4b8c167abb1864c51315c584c
new file mode 100644
index 00000000..bad91d21
--- /dev/null
+++ b/.pnpm-store/v3/files/1e/22d5abb81fdcc94ee5cf1b4b84335de62aa8d8640b9708092b8f0839011b9b368a5d83719156e36a61b922d97ec2cd8fba73e4b8c167abb1864c51315c584c
@@ -0,0 +1 @@
+module.exports={A:{A:{"2436":"J D E F A B SC"},B:{"260":"N O","2436":"C K L G M","8196":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r VC WC","772":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","4100":"0 1 2 3 4 5 6 7 8 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C","2564":"K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","8196":"0 1 2 3 4 5 6 7 8 jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","10244":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},E:{"1":"C K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC DC","2308":"A B EC 2B","2820":"9 I J D E F YC ZC aC bC"},F:{"2":"F B iC jC kC lC 2B QC mC","16":"C","516":"3B","2564":"G M N O AB q r s t BB CB DB EB FB GB","8196":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","10244":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},G:{"1":"yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC","2820":"E oC pC qC rC sC tC uC vC wC xC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC","260":"H","2308":"ED FD"},J:{"2":"D","2308":"A"},K:{"2":"A B C 2B QC","16":"3B","8196":"u"},L:{"8196":"H"},M:{"1028":"1B"},N:{"2":"A B"},O:{"8196":"4B"},P:{"2052":"GD HD","2308":"I","8196":"q r s t ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"8196":"FC"},R:{"8196":"SD"},S:{"4100":"TD UD"}},B:5,C:"Synchronous Clipboard API",D:true};
diff --git a/.pnpm-store/v3/files/1e/34164aad8c0a3988dead9d074094de1e8f6b39fd80b496499f6041bc1f88f4160e89a19648ec523995088052635209e003978b52631fd92214fb632988489b b/.pnpm-store/v3/files/1e/34164aad8c0a3988dead9d074094de1e8f6b39fd80b496499f6041bc1f88f4160e89a19648ec523995088052635209e003978b52631fd92214fb632988489b
new file mode 100644
index 00000000..8b963a38
--- /dev/null
+++ b/.pnpm-store/v3/files/1e/34164aad8c0a3988dead9d074094de1e8f6b39fd80b496499f6041bc1f88f4160e89a19648ec523995088052635209e003978b52631fd92214fb632988489b
@@ -0,0 +1,161 @@
+import { decode as base64url } from '../../runtime/base64url.js';
+import decrypt from '../../runtime/decrypt.js';
+import { JOSEAlgNotAllowed, JOSENotSupported, JWEInvalid } from '../../util/errors.js';
+import isDisjoint from '../../lib/is_disjoint.js';
+import isObject from '../../lib/is_object.js';
+import decryptKeyManagement from '../../lib/decrypt_key_management.js';
+import { encoder, decoder, concat } from '../../lib/buffer_utils.js';
+import generateCek from '../../lib/cek.js';
+import validateCrit from '../../lib/validate_crit.js';
+import validateAlgorithms from '../../lib/validate_algorithms.js';
+export async function flattenedDecrypt(jwe, key, options) {
+    if (!isObject(jwe)) {
+        throw new JWEInvalid('Flattened JWE must be an object');
+    }
+    if (jwe.protected === undefined && jwe.header === undefined && jwe.unprotected === undefined) {
+        throw new JWEInvalid('JOSE Header missing');
+    }
+    if (jwe.iv !== undefined && typeof jwe.iv !== 'string') {
+        throw new JWEInvalid('JWE Initialization Vector incorrect type');
+    }
+    if (typeof jwe.ciphertext !== 'string') {
+        throw new JWEInvalid('JWE Ciphertext missing or incorrect type');
+    }
+    if (jwe.tag !== undefined && typeof jwe.tag !== 'string') {
+        throw new JWEInvalid('JWE Authentication Tag incorrect type');
+    }
+    if (jwe.protected !== undefined && typeof jwe.protected !== 'string') {
+        throw new JWEInvalid('JWE Protected Header incorrect type');
+    }
+    if (jwe.encrypted_key !== undefined && typeof jwe.encrypted_key !== 'string') {
+        throw new JWEInvalid('JWE Encrypted Key incorrect type');
+    }
+    if (jwe.aad !== undefined && typeof jwe.aad !== 'string') {
+        throw new JWEInvalid('JWE AAD incorrect type');
+    }
+    if (jwe.header !== undefined && !isObject(jwe.header)) {
+        throw new JWEInvalid('JWE Shared Unprotected Header incorrect type');
+    }
+    if (jwe.unprotected !== undefined && !isObject(jwe.unprotected)) {
+        throw new JWEInvalid('JWE Per-Recipient Unprotected Header incorrect type');
+    }
+    let parsedProt;
+    if (jwe.protected) {
+        try {
+            const protectedHeader = base64url(jwe.protected);
+            parsedProt = JSON.parse(decoder.decode(protectedHeader));
+        }
+        catch {
+            throw new JWEInvalid('JWE Protected Header is invalid');
+        }
+    }
+    if (!isDisjoint(parsedProt, jwe.header, jwe.unprotected)) {
+        throw new JWEInvalid('JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint');
+    }
+    const joseHeader = {
+        ...parsedProt,
+        ...jwe.header,
+        ...jwe.unprotected,
+    };
+    validateCrit(JWEInvalid, new Map(), options?.crit, parsedProt, joseHeader);
+    if (joseHeader.zip !== undefined) {
+        throw new JOSENotSupported('JWE "zip" (Compression Algorithm) Header Parameter is not supported.');
+    }
+    const { alg, enc } = joseHeader;
+    if (typeof alg !== 'string' || !alg) {
+        throw new JWEInvalid('missing JWE Algorithm (alg) in JWE Header');
+    }
+    if (typeof enc !== 'string' || !enc) {
+        throw new JWEInvalid('missing JWE Encryption Algorithm (enc) in JWE Header');
+    }
+    const keyManagementAlgorithms = options && validateAlgorithms('keyManagementAlgorithms', options.keyManagementAlgorithms);
+    const contentEncryptionAlgorithms = options &&
+        validateAlgorithms('contentEncryptionAlgorithms', options.contentEncryptionAlgorithms);
+    if ((keyManagementAlgorithms && !keyManagementAlgorithms.has(alg)) ||
+        (!keyManagementAlgorithms && alg.startsWith('PBES2'))) {
+        throw new JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter value not allowed');
+    }
+    if (contentEncryptionAlgorithms && !contentEncryptionAlgorithms.has(enc)) {
+        throw new JOSEAlgNotAllowed('"enc" (Encryption Algorithm) Header Parameter value not allowed');
+    }
+    let encryptedKey;
+    if (jwe.encrypted_key !== undefined) {
+        try {
+            encryptedKey = base64url(jwe.encrypted_key);
+        }
+        catch {
+            throw new JWEInvalid('Failed to base64url decode the encrypted_key');
+        }
+    }
+    let resolvedKey = false;
+    if (typeof key === 'function') {
+        key = await key(parsedProt, jwe);
+        resolvedKey = true;
+    }
+    let cek;
+    try {
+        cek = await decryptKeyManagement(alg, key, encryptedKey, joseHeader, options);
+    }
+    catch (err) {
+        if (err instanceof TypeError || err instanceof JWEInvalid || err instanceof JOSENotSupported) {
+            throw err;
+        }
+        cek = generateCek(enc);
+    }
+    let iv;
+    let tag;
+    if (jwe.iv !== undefined) {
+        try {
+            iv = base64url(jwe.iv);
+        }
+        catch {
+            throw new JWEInvalid('Failed to base64url decode the iv');
+        }
+    }
+    if (jwe.tag !== undefined) {
+        try {
+            tag = base64url(jwe.tag);
+        }
+        catch {
+            throw new JWEInvalid('Failed to base64url decode the tag');
+        }
+    }
+    const protectedHeader = encoder.encode(jwe.protected ?? '');
+    let additionalData;
+    if (jwe.aad !== undefined) {
+        additionalData = concat(protectedHeader, encoder.encode('.'), encoder.encode(jwe.aad));
+    }
+    else {
+        additionalData = protectedHeader;
+    }
+    let ciphertext;
+    try {
+        ciphertext = base64url(jwe.ciphertext);
+    }
+    catch {
+        throw new JWEInvalid('Failed to base64url decode the ciphertext');
+    }
+    const plaintext = await decrypt(enc, cek, ciphertext, iv, tag, additionalData);
+    const result = { plaintext };
+    if (jwe.protected !== undefined) {
+        result.protectedHeader = parsedProt;
+    }
+    if (jwe.aad !== undefined) {
+        try {
+            result.additionalAuthenticatedData = base64url(jwe.aad);
+        }
+        catch {
+            throw new JWEInvalid('Failed to base64url decode the aad');
+        }
+    }
+    if (jwe.unprotected !== undefined) {
+        result.sharedUnprotectedHeader = jwe.unprotected;
+    }
+    if (jwe.header !== undefined) {
+        result.unprotectedHeader = jwe.header;
+    }
+    if (resolvedKey) {
+        return { ...result, key };
+    }
+    return result;
+}
diff --git a/.pnpm-store/v3/files/1e/62f26ee4f7c29a0f85812e95866fac76451795d2349b84ab0bd284527a5dce0f011e6dcfa6719d4d4446f3e8ce23a585f5c3581a9ce334b0c6491dabee91b9 b/.pnpm-store/v3/files/1e/62f26ee4f7c29a0f85812e95866fac76451795d2349b84ab0bd284527a5dce0f011e6dcfa6719d4d4446f3e8ce23a585f5c3581a9ce334b0c6491dabee91b9
new file mode 100644
index 00000000..c3223262
--- /dev/null
+++ b/.pnpm-store/v3/files/1e/62f26ee4f7c29a0f85812e95866fac76451795d2349b84ab0bd284527a5dce0f011e6dcfa6719d4d4446f3e8ce23a585f5c3581a9ce334b0c6491dabee91b9
@@ -0,0 +1 @@
+module.exports={C:{"52":0.00397,"54":0.00132,"78":0.00132,"88":0.00529,"101":0.00132,"103":0.00132,"104":0.00397,"105":0.00265,"106":0.00132,"107":0.00132,"108":0.00265,"109":0.00132,"110":0.00132,"111":0.00132,"112":0.00132,"113":0.00132,"114":0.00132,"115":0.04895,"116":0.00132,"117":0.00132,"118":0.00794,"119":0.00132,"120":0.00662,"121":0.17199,"122":0.0344,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 102 123 124 125 3.5 3.6"},D:{"11":0.00132,"26":0.00132,"34":0.00529,"38":0.03704,"41":0.00529,"43":0.00132,"47":0.00529,"49":0.01058,"52":0.00397,"53":0.00794,"54":0.00132,"55":0.00132,"56":0.00397,"57":0.00397,"58":0.00132,"61":0.00132,"65":0.00132,"67":0.00132,"68":0.00132,"69":0.00265,"70":0.00265,"71":0.00265,"72":0.00132,"73":0.00132,"74":0.00132,"75":0.00265,"76":0.00132,"77":0.00265,"78":0.00265,"79":0.06086,"80":0.00397,"81":0.00662,"83":0.00529,"84":0.01323,"85":0.01058,"86":0.00529,"87":0.03704,"88":0.00132,"89":0.00662,"90":0.00397,"91":0.00397,"92":0.00265,"93":0.00132,"94":0.00265,"95":0.00397,"96":0.00397,"97":0.00397,"98":0.00265,"99":0.00529,"100":0.01455,"101":0.00397,"102":0.00926,"103":0.01852,"104":0.00529,"105":0.0172,"106":0.01852,"107":0.0172,"108":0.02646,"109":0.74353,"110":0.01455,"111":0.01852,"112":0.01588,"113":0.00662,"114":0.02249,"115":0.01323,"116":0.04631,"117":0.03837,"118":0.02778,"119":0.39822,"120":5.68229,"121":0.37309,"122":0.00265,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 42 44 45 46 48 50 51 59 60 62 63 64 66 123 124"},F:{"28":0.00662,"29":0.00132,"36":0.01191,"40":0.00132,"46":0.02117,"80":0.00132,"92":0.00132,"95":0.00662,"105":0.07806,"106":0.086,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 81 82 83 84 85 86 87 88 89 90 91 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00265,"14":0.00132,"17":0.00132,"18":0.00265,"84":0.00132,"85":0.00132,"92":0.00132,"99":0.00265,"100":0.00265,"106":0.00132,"107":0.00397,"108":0.00265,"109":0.00662,"110":0.00265,"111":0.00132,"112":0.00132,"113":0.00132,"114":0.00265,"115":0.00397,"116":0.00265,"117":0.00265,"118":0.00265,"119":0.00794,"120":0.63372,"121":0.08732,_:"13 15 16 79 80 81 83 86 87 88 89 90 91 93 94 95 96 97 98 101 102 103 104 105"},E:{"7":0.00132,"13":0.00397,"14":0.02249,"15":0.00397,_:"0 4 5 6 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1 11.1 17.4","9.1":0.00794,"12.1":0.00132,"13.1":0.01985,"14.1":0.05689,"15.1":0.00794,"15.2-15.3":0.00397,"15.4":0.01191,"15.5":0.02117,"15.6":0.11642,"16.0":0.00662,"16.1":0.0172,"16.2":0.01323,"16.3":0.0344,"16.4":0.01191,"16.5":0.01852,"16.6":0.13098,"17.0":0.01323,"17.1":0.08203,"17.2":0.11246,"17.3":0.00926},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00469,"5.0-5.1":0.00704,"6.0-6.1":0.01173,"7.0-7.1":0.01642,"8.1-8.4":0.00235,"9.0-9.2":0.01408,"9.3":0.05396,"10.0-10.2":0.00469,"10.3":0.08447,"11.0-11.2":0.03285,"11.3-11.4":0.03519,"12.0-12.1":0.02112,"12.2-12.5":0.41763,"13.0-13.1":0.00704,"13.2":0.07743,"13.3":0.02112,"13.4-13.7":0.09385,"14.0-14.4":0.16424,"14.5-14.8":0.25105,"15.0-15.1":0.10793,"15.2-15.3":0.12435,"15.4":0.14547,"15.5":0.19239,"15.6-15.8":1.49926,"16.0":0.45048,"16.1":0.95962,"16.2":0.4364,"16.3":0.81181,"16.4":0.18066,"16.5":0.38479,"16.6-16.7":3.14868,"17.0":0.52322,"17.1":5.39405,"17.2":7.30156,"17.3":0.46925},P:{"4":0.41505,"20":0.05062,"21":0.14172,"22":0.15185,"23":2.23722,"5.0-5.4":0.01012,_:"6.2-6.4 8.2 10.1","7.2-7.4":0.07086,"9.2":0.01012,"11.1-11.2":0.05062,"12.0":0.01012,"13.0":0.02025,"14.0":0.03037,"15.0":0.02025,"16.0":0.04049,"17.0":0.05062,"18.0":0.03037,"19.0":0.06074},I:{"0":0.02592,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.00163,"11":0.02615,_:"6 7 9 10 5.5"},K:{"0":0.52797,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":2.36882},H:{"0":0.01},L:{"0":55.69597},R:{_:"0"},M:{"0":0.09545}};
diff --git a/.pnpm-store/v3/files/1e/b04e954904e9fe7558be14d47cc352ca9dd7f37dbbd5a40ded0e1170c94842059ed23ba762a351e2a40efe716862fd732f7bc9ff18e65a9e4e4bbda3af314f b/.pnpm-store/v3/files/1e/b04e954904e9fe7558be14d47cc352ca9dd7f37dbbd5a40ded0e1170c94842059ed23ba762a351e2a40efe716862fd732f7bc9ff18e65a9e4e4bbda3af314f
new file mode 100644
index 00000000..c0e9585c
--- /dev/null
+++ b/.pnpm-store/v3/files/1e/b04e954904e9fe7558be14d47cc352ca9dd7f37dbbd5a40ded0e1170c94842059ed23ba762a351e2a40efe716862fd732f7bc9ff18e65a9e4e4bbda3af314f
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","2":"F B iC jC kC lC 2B QC"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC"},H:{"1":"9C"},I:{"1":"H ED FD","16":"7B I AD BD CD DD RC"},J:{"16":"D A"},K:{"1":"C u 3B","2":"A B 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"SVG vector-effect: non-scaling-stroke",D:true};
diff --git a/.pnpm-store/v3/files/1e/b41882310c976c6b153ecd7e0f05c053bf2bd9502ced3b39254f09d19497a314db2218685a01505c36c642e63f4dd846d0652971a6dc0615f21e0184085f10 b/.pnpm-store/v3/files/1e/b41882310c976c6b153ecd7e0f05c053bf2bd9502ced3b39254f09d19497a314db2218685a01505c36c642e63f4dd846d0652971a6dc0615f21e0184085f10
new file mode 100644
index 00000000..dc0d75de
--- /dev/null
+++ b/.pnpm-store/v3/files/1e/b41882310c976c6b153ecd7e0f05c053bf2bd9502ced3b39254f09d19497a314db2218685a01505c36c642e63f4dd846d0652971a6dc0615f21e0184085f10
@@ -0,0 +1 @@
+module.exports={C:{"15":0.00833,"25":0.00278,"30":0.00278,"33":0.00278,"34":0.00278,"35":0.00278,"38":0.00278,"40":0.00278,"43":0.00278,"44":0.00278,"47":0.00555,"52":0.06105,"56":0.00278,"66":0.00278,"68":0.00278,"72":0.00833,"75":0.00278,"76":0.00278,"78":0.00833,"80":0.00278,"81":0.00278,"82":0.00278,"84":0.00278,"88":0.00555,"89":0.00278,"93":0.00278,"95":0.00278,"97":0.00278,"99":0.00278,"100":0.00278,"101":0.00278,"102":0.00555,"103":0.00278,"104":0.00555,"105":0.00555,"106":0.01388,"107":0.00555,"108":0.00833,"109":0.00278,"110":0.0111,"111":0.00555,"112":0.00555,"113":0.0111,"114":0.00278,"115":0.9546,"116":0.00555,"118":0.00555,"119":0.00833,"120":0.0333,"121":0.79088,"122":0.1665,"123":0.00278,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 26 27 28 29 31 32 36 37 39 41 42 45 46 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 67 69 70 71 73 74 77 79 83 85 86 87 90 91 92 94 96 98 117 124 125 3.5 3.6"},D:{"5":0.00278,"11":0.00833,"19":0.00278,"26":0.00278,"31":0.00278,"32":0.00278,"33":0.00555,"34":0.00278,"35":0.00278,"38":0.00555,"40":0.00555,"42":0.00555,"43":0.03053,"44":0.00278,"45":0.00278,"46":0.00278,"47":0.00833,"48":0.00555,"49":0.0666,"50":0.00555,"51":0.00555,"52":0.00278,"56":0.02498,"57":0.00278,"58":0.03053,"59":0.00278,"60":0.00555,"61":0.00278,"62":0.00278,"63":0.00833,"64":0.00833,"65":0.0111,"66":0.00278,"67":0.00278,"68":0.00833,"69":0.0111,"70":0.00833,"71":0.0111,"72":0.0111,"73":0.00555,"74":0.01943,"75":0.00833,"76":0.00555,"77":0.0111,"78":0.0111,"79":0.09435,"80":0.00833,"81":0.0333,"83":0.0555,"84":0.0111,"85":0.02775,"86":0.01943,"87":0.05273,"88":0.01388,"89":0.00833,"90":0.00555,"91":0.01388,"92":0.00833,"93":0.00833,"94":0.00833,"95":0.04995,"96":0.0111,"97":0.0111,"98":0.04163,"99":0.01388,"100":0.01388,"101":0.0111,"102":0.04995,"103":0.04995,"104":0.01943,"105":0.04718,"106":0.07215,"107":0.08048,"108":0.13598,"109":6.8931,"110":0.06105,"111":0.05273,"112":0.06383,"113":0.00833,"114":0.02498,"115":0.0111,"116":0.07215,"117":0.03608,"118":0.05273,"119":0.27473,"120":9.38228,"121":0.70208,"122":0.00555,_:"4 6 7 8 9 10 12 13 14 15 16 17 18 20 21 22 23 24 25 27 28 29 30 36 37 39 41 53 54 55 123 124"},F:{"25":0.00555,"28":0.00555,"36":0.00278,"46":0.00278,"63":0.00278,"67":0.00278,"76":0.00278,"79":0.03885,"80":0.00278,"83":0.00278,"84":0.00833,"85":0.03053,"86":0.00555,"87":0.00278,"90":0.00278,"91":0.00278,"93":0.00278,"94":0.00278,"95":0.19703,"96":0.00555,"100":0.00278,"102":0.00278,"104":0.00278,"105":0.51338,"106":0.56888,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 68 69 70 71 72 73 74 75 77 78 81 82 88 89 92 97 98 99 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00278},B:{"12":0.00555,"13":0.00278,"14":0.00278,"15":0.00278,"16":0.00278,"17":0.00278,"18":0.01665,"84":0.00278,"89":0.00278,"92":0.03053,"95":0.00278,"100":0.00278,"103":0.00278,"105":0.00278,"106":0.0111,"107":0.00555,"108":0.00555,"109":0.08603,"110":0.00555,"111":0.00833,"112":0.00278,"113":0.00278,"114":0.00833,"115":0.00278,"116":0.00555,"117":0.00833,"118":0.00555,"119":0.08603,"120":1.38473,"121":0.19703,_:"79 80 81 83 85 86 87 88 90 91 93 94 96 97 98 99 101 102 104"},E:{"9":0.00278,"14":0.00833,"15":0.00278,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 17.4","5.1":0.00555,"12.1":0.00278,"13.1":0.00833,"14.1":0.0111,"15.1":0.00555,"15.2-15.3":0.00278,"15.4":0.00555,"15.5":0.00555,"15.6":0.06383,"16.0":0.00278,"16.1":0.00833,"16.2":0.01388,"16.3":0.0222,"16.4":0.00555,"16.5":0.0222,"16.6":0.05273,"17.0":0.0222,"17.1":0.07215,"17.2":0.14985,"17.3":0.01943},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00098,"5.0-5.1":0.00148,"6.0-6.1":0.00246,"7.0-7.1":0.00344,"8.1-8.4":0.00049,"9.0-9.2":0.00295,"9.3":0.01132,"10.0-10.2":0.00098,"10.3":0.01771,"11.0-11.2":0.00689,"11.3-11.4":0.00738,"12.0-12.1":0.00443,"12.2-12.5":0.08758,"13.0-13.1":0.00148,"13.2":0.01624,"13.3":0.00443,"13.4-13.7":0.01968,"14.0-14.4":0.03444,"14.5-14.8":0.05265,"15.0-15.1":0.02263,"15.2-15.3":0.02608,"15.4":0.03051,"15.5":0.04035,"15.6-15.8":0.3144,"16.0":0.09447,"16.1":0.20124,"16.2":0.09152,"16.3":0.17024,"16.4":0.03789,"16.5":0.08069,"16.6-16.7":0.66029,"17.0":0.10972,"17.1":1.13116,"17.2":1.53117,"17.3":0.0984},P:{"4":0.13399,"20":0.05153,"21":0.10307,"22":0.17521,"23":1.24712,"5.0-5.4":0.01031,"6.2-6.4":0.02061,"7.2-7.4":0.13399,_:"8.2 10.1","9.2":0.02061,"11.1-11.2":0.02061,"12.0":0.01031,"13.0":0.02061,"14.0":0.02061,"15.0":0.01031,"16.0":0.03092,"17.0":0.04123,"18.0":0.03092,"19.0":0.09276},I:{"0":0.08632,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00023},A:{"8":0.02298,"9":0.01436,"10":0.00287,"11":0.12351,_:"6 7 5.5"},K:{"0":0.60915,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00723},O:{"0":0.44795},H:{"0":0.07},L:{"0":65.7955},R:{_:"0"},M:{"0":0.13005}};
diff --git a/.pnpm-store/v3/files/1f/633f35b5dff3dfd0d06820d5eabbdf49e4a3369552a1dc7e86dff4f7de538f460c224ff753ebe3e99e1ebfa06b38834967dd88230701795d36c73215dd099f b/.pnpm-store/v3/files/1f/633f35b5dff3dfd0d06820d5eabbdf49e4a3369552a1dc7e86dff4f7de538f460c224ff753ebe3e99e1ebfa06b38834967dd88230701795d36c73215dd099f
new file mode 100644
index 00000000..c8a67b86
--- /dev/null
+++ b/.pnpm-store/v3/files/1f/633f35b5dff3dfd0d06820d5eabbdf49e4a3369552a1dc7e86dff4f7de538f460c224ff753ebe3e99e1ebfa06b38834967dd88230701795d36c73215dd099f
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z","132":"0 1 2 3 4 5 6 7 8 a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB VC WC","132":"0 1 2 3 4 5 6 7 8 KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z","132":"0 1 2 3 4 5 6 7 8 a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC","4":"6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB iC jC kC lC 2B QC mC 3B","132":"zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C","4":"6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","132":"H"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","132":"u"},L:{"132":"H"},M:{"132":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"2":"I GD HD ID JD KD EC LD MD ND OD PD","132":"q r s t 5B 6B QD RD"},Q:{"2":"FC"},R:{"132":"SD"},S:{"132":"TD UD"}},B:4,C:"CSS Counter Styles",D:true};
diff --git a/.pnpm-store/v3/files/20/797afaf16cc4f63329bd23e1bd5beddacdffcbfea3098a9d98c01f17f28b33575e6bf3adf17d40681fa4ebee3a71d059cdad112d8fb3fa9c6c2499ca50b64e b/.pnpm-store/v3/files/20/797afaf16cc4f63329bd23e1bd5beddacdffcbfea3098a9d98c01f17f28b33575e6bf3adf17d40681fa4ebee3a71d059cdad112d8fb3fa9c6c2499ca50b64e
new file mode 100644
index 00000000..6e4f1efe
--- /dev/null
+++ b/.pnpm-store/v3/files/20/797afaf16cc4f63329bd23e1bd5beddacdffcbfea3098a9d98c01f17f28b33575e6bf3adf17d40681fa4ebee3a71d059cdad112d8fb3fa9c6c2499ca50b64e
@@ -0,0 +1,31 @@
+{
+  "name": "bare-path",
+  "version": "2.1.0",
+  "description": "Path manipulation library for JavaScript",
+  "main": "index.js",
+  "files": [
+    "index.js",
+    "lib",
+    "NOTICE"
+  ],
+  "scripts": {
+    "test": "standard"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/holepunchto/bare-path.git"
+  },
+  "author": "Holepunch",
+  "license": "Apache-2.0",
+  "bugs": {
+    "url": "https://github.com/holepunchto/bare-path/issues"
+  },
+  "homepage": "https://github.com/holepunchto/bare-path#readme",
+  "dependencies": {
+    "bare-os": "^2.1.0"
+  },
+  "devDependencies": {
+    "brittle": "^3.3.2",
+    "standard": "^17.0.0"
+  }
+}
diff --git a/.pnpm-store/v3/files/20/9b1920614c2fa12ada451819885ae4b564992321a31a36229871fdd6d22790751b786c4375b5a120389a2397fefec9b21e9ae7c330cbbe986e15da5423fad4 b/.pnpm-store/v3/files/20/9b1920614c2fa12ada451819885ae4b564992321a31a36229871fdd6d22790751b786c4375b5a120389a2397fefec9b21e9ae7c330cbbe986e15da5423fad4
new file mode 100644
index 00000000..09d885e1
--- /dev/null
+++ b/.pnpm-store/v3/files/20/9b1920614c2fa12ada451819885ae4b564992321a31a36229871fdd6d22790751b786c4375b5a120389a2397fefec9b21e9ae7c330cbbe986e15da5423fad4
@@ -0,0 +1,234 @@
+/*istanbul ignore start*/
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+Object.defineProperty(exports, "Diff", {
+  enumerable: true,
+  get: function get() {
+    return _base["default"];
+  }
+});
+Object.defineProperty(exports, "diffChars", {
+  enumerable: true,
+  get: function get() {
+    return _character.diffChars;
+  }
+});
+Object.defineProperty(exports, "diffWords", {
+  enumerable: true,
+  get: function get() {
+    return _word.diffWords;
+  }
+});
+Object.defineProperty(exports, "diffWordsWithSpace", {
+  enumerable: true,
+  get: function get() {
+    return _word.diffWordsWithSpace;
+  }
+});
+Object.defineProperty(exports, "diffLines", {
+  enumerable: true,
+  get: function get() {
+    return _line.diffLines;
+  }
+});
+Object.defineProperty(exports, "diffTrimmedLines", {
+  enumerable: true,
+  get: function get() {
+    return _line.diffTrimmedLines;
+  }
+});
+Object.defineProperty(exports, "diffSentences", {
+  enumerable: true,
+  get: function get() {
+    return _sentence.diffSentences;
+  }
+});
+Object.defineProperty(exports, "diffCss", {
+  enumerable: true,
+  get: function get() {
+    return _css.diffCss;
+  }
+});
+Object.defineProperty(exports, "diffJson", {
+  enumerable: true,
+  get: function get() {
+    return _json.diffJson;
+  }
+});
+Object.defineProperty(exports, "canonicalize", {
+  enumerable: true,
+  get: function get() {
+    return _json.canonicalize;
+  }
+});
+Object.defineProperty(exports, "diffArrays", {
+  enumerable: true,
+  get: function get() {
+    return _array.diffArrays;
+  }
+});
+Object.defineProperty(exports, "applyPatch", {
+  enumerable: true,
+  get: function get() {
+    return _apply.applyPatch;
+  }
+});
+Object.defineProperty(exports, "applyPatches", {
+  enumerable: true,
+  get: function get() {
+    return _apply.applyPatches;
+  }
+});
+Object.defineProperty(exports, "parsePatch", {
+  enumerable: true,
+  get: function get() {
+    return _parse.parsePatch;
+  }
+});
+Object.defineProperty(exports, "merge", {
+  enumerable: true,
+  get: function get() {
+    return _merge.merge;
+  }
+});
+Object.defineProperty(exports, "reversePatch", {
+  enumerable: true,
+  get: function get() {
+    return _reverse.reversePatch;
+  }
+});
+Object.defineProperty(exports, "structuredPatch", {
+  enumerable: true,
+  get: function get() {
+    return _create.structuredPatch;
+  }
+});
+Object.defineProperty(exports, "createTwoFilesPatch", {
+  enumerable: true,
+  get: function get() {
+    return _create.createTwoFilesPatch;
+  }
+});
+Object.defineProperty(exports, "createPatch", {
+  enumerable: true,
+  get: function get() {
+    return _create.createPatch;
+  }
+});
+Object.defineProperty(exports, "formatPatch", {
+  enumerable: true,
+  get: function get() {
+    return _create.formatPatch;
+  }
+});
+Object.defineProperty(exports, "convertChangesToDMP", {
+  enumerable: true,
+  get: function get() {
+    return _dmp.convertChangesToDMP;
+  }
+});
+Object.defineProperty(exports, "convertChangesToXML", {
+  enumerable: true,
+  get: function get() {
+    return _xml.convertChangesToXML;
+  }
+});
+
+/*istanbul ignore end*/
+var
+/*istanbul ignore start*/
+_base = _interopRequireDefault(require("./diff/base"))
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_character = require("./diff/character")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_word = require("./diff/word")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_line = require("./diff/line")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_sentence = require("./diff/sentence")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_css = require("./diff/css")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_json = require("./diff/json")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_array = require("./diff/array")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_apply = require("./patch/apply")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_parse = require("./patch/parse")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_merge = require("./patch/merge")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_reverse = require("./patch/reverse")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_create = require("./patch/create")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_dmp = require("./convert/dmp")
+/*istanbul ignore end*/
+;
+
+var
+/*istanbul ignore start*/
+_xml = require("./convert/xml")
+/*istanbul ignore end*/
+;
+
+/*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+
+/*istanbul ignore end*/
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIFNlZSBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zIG9mIHVzZSAqL1xuXG4vKlxuICogVGV4dCBkaWZmIGltcGxlbWVudGF0aW9uLlxuICpcbiAqIFRoaXMgbGlicmFyeSBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIEFQSXM6XG4gKiBEaWZmLmRpZmZDaGFyczogQ2hhcmFjdGVyIGJ5IGNoYXJhY3RlciBkaWZmXG4gKiBEaWZmLmRpZmZXb3JkczogV29yZCAoYXMgZGVmaW5lZCBieSBcXGIgcmVnZXgpIGRpZmYgd2hpY2ggaWdub3JlcyB3aGl0ZXNwYWNlXG4gKiBEaWZmLmRpZmZMaW5lczogTGluZSBiYXNlZCBkaWZmXG4gKlxuICogRGlmZi5kaWZmQ3NzOiBEaWZmIHRhcmdldGVkIGF0IENTUyBjb250ZW50XG4gKlxuICogVGhlc2UgbWV0aG9kcyBhcmUgYmFzZWQgb24gdGhlIGltcGxlbWVudGF0aW9uIHByb3Bvc2VkIGluXG4gKiBcIkFuIE8oTkQpIERpZmZlcmVuY2UgQWxnb3JpdGhtIGFuZCBpdHMgVmFyaWF0aW9uc1wiIChNeWVycywgMTk4NikuXG4gKiBodHRwOi8vY2l0ZXNlZXJ4LmlzdC5wc3UuZWR1L3ZpZXdkb2Mvc3VtbWFyeT9kb2k9MTAuMS4xLjQuNjkyN1xuICovXG5pbXBvcnQgRGlmZiBmcm9tICcuL2RpZmYvYmFzZSc7XG5pbXBvcnQge2RpZmZDaGFyc30gZnJvbSAnLi9kaWZmL2NoYXJhY3Rlcic7XG5pbXBvcnQge2RpZmZXb3JkcywgZGlmZldvcmRzV2l0aFNwYWNlfSBmcm9tICcuL2RpZmYvd29yZCc7XG5pbXBvcnQge2RpZmZMaW5lcywgZGlmZlRyaW1tZWRMaW5lc30gZnJvbSAnLi9kaWZmL2xpbmUnO1xuaW1wb3J0IHtkaWZmU2VudGVuY2VzfSBmcm9tICcuL2RpZmYvc2VudGVuY2UnO1xuXG5pbXBvcnQge2RpZmZDc3N9IGZyb20gJy4vZGlmZi9jc3MnO1xuaW1wb3J0IHtkaWZmSnNvbiwgY2Fub25pY2FsaXplfSBmcm9tICcuL2RpZmYvanNvbic7XG5cbmltcG9ydCB7ZGlmZkFycmF5c30gZnJvbSAnLi9kaWZmL2FycmF5JztcblxuaW1wb3J0IHthcHBseVBhdGNoLCBhcHBseVBhdGNoZXN9IGZyb20gJy4vcGF0Y2gvYXBwbHknO1xuaW1wb3J0IHtwYXJzZVBhdGNofSBmcm9tICcuL3BhdGNoL3BhcnNlJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJy4vcGF0Y2gvbWVyZ2UnO1xuaW1wb3J0IHtyZXZlcnNlUGF0Y2h9IGZyb20gJy4vcGF0Y2gvcmV2ZXJzZSc7XG5pbXBvcnQge3N0cnVjdHVyZWRQYXRjaCwgY3JlYXRlVHdvRmlsZXNQYXRjaCwgY3JlYXRlUGF0Y2gsIGZvcm1hdFBhdGNofSBmcm9tICcuL3BhdGNoL2NyZWF0ZSc7XG5cbmltcG9ydCB7Y29udmVydENoYW5nZXNUb0RNUH0gZnJvbSAnLi9jb252ZXJ0L2RtcCc7XG5pbXBvcnQge2NvbnZlcnRDaGFuZ2VzVG9YTUx9IGZyb20gJy4vY29udmVydC94bWwnO1xuXG5leHBvcnQge1xuICBEaWZmLFxuXG4gIGRpZmZDaGFycyxcbiAgZGlmZldvcmRzLFxuICBkaWZmV29yZHNXaXRoU3BhY2UsXG4gIGRpZmZMaW5lcyxcbiAgZGlmZlRyaW1tZWRMaW5lcyxcbiAgZGlmZlNlbnRlbmNlcyxcblxuICBkaWZmQ3NzLFxuICBkaWZmSnNvbixcblxuICBkaWZmQXJyYXlzLFxuXG4gIHN0cnVjdHVyZWRQYXRjaCxcbiAgY3JlYXRlVHdvRmlsZXNQYXRjaCxcbiAgY3JlYXRlUGF0Y2gsXG4gIGZvcm1hdFBhdGNoLFxuICBhcHBseVBhdGNoLFxuICBhcHBseVBhdGNoZXMsXG4gIHBhcnNlUGF0Y2gsXG4gIG1lcmdlLFxuICByZXZlcnNlUGF0Y2gsXG4gIGNvbnZlcnRDaGFuZ2VzVG9ETVAsXG4gIGNvbnZlcnRDaGFuZ2VzVG9YTUwsXG4gIGNhbm9uaWNhbGl6ZVxufTtcbiJdfQ==
diff --git a/.pnpm-store/v3/files/21/4b9ab04445e4e28832f71559475bbc2e55555ba29b1364e5014d3f64351ce41d914ecc830b728f09250d4ae546b2d932c5883ccadfa0840d7d68eef131061f b/.pnpm-store/v3/files/21/4b9ab04445e4e28832f71559475bbc2e55555ba29b1364e5014d3f64351ce41d914ecc830b728f09250d4ae546b2d932c5883ccadfa0840d7d68eef131061f
new file mode 100644
index 00000000..a5de0ea2
--- /dev/null
+++ b/.pnpm-store/v3/files/21/4b9ab04445e4e28832f71559475bbc2e55555ba29b1364e5014d3f64351ce41d914ecc830b728f09250d4ae546b2d932c5883ccadfa0840d7d68eef131061f
@@ -0,0 +1,69 @@
+/*
+  @license
+	Rollup.js v4.11.0
+	Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99
+
+	https://github.com/rollup/rollup
+
+	Released under the MIT License.
+*/
+'use strict';
+
+Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+
+const getLogFilter = filters => {
+    if (filters.length === 0)
+        return () => true;
+    const normalizedFilters = filters.map(filter => filter.split('&').map(subFilter => {
+        const inverted = subFilter.startsWith('!');
+        if (inverted)
+            subFilter = subFilter.slice(1);
+        const [key, ...value] = subFilter.split(':');
+        return { inverted, key: key.split('.'), parts: value.join(':').split('*') };
+    }));
+    return (log) => {
+        nextIntersectedFilter: for (const intersectedFilters of normalizedFilters) {
+            for (const { inverted, key, parts } of intersectedFilters) {
+                const isFilterSatisfied = testFilter(log, key, parts);
+                if (inverted ? isFilterSatisfied : !isFilterSatisfied) {
+                    continue nextIntersectedFilter;
+                }
+            }
+            return true;
+        }
+        return false;
+    };
+};
+const testFilter = (log, key, parts) => {
+    let rawValue = log;
+    for (let index = 0; index < key.length; index++) {
+        if (!rawValue) {
+            return false;
+        }
+        const part = key[index];
+        if (!(part in rawValue)) {
+            return false;
+        }
+        rawValue = rawValue[part];
+    }
+    let value = typeof rawValue === 'object' ? JSON.stringify(rawValue) : String(rawValue);
+    if (parts.length === 1) {
+        return value === parts[0];
+    }
+    if (!value.startsWith(parts[0])) {
+        return false;
+    }
+    const lastPartIndex = parts.length - 1;
+    for (let index = 1; index < lastPartIndex; index++) {
+        const part = parts[index];
+        const position = value.indexOf(part);
+        if (position === -1) {
+            return false;
+        }
+        value = value.slice(position + part.length);
+    }
+    return value.endsWith(parts[lastPartIndex]);
+};
+
+exports.getLogFilter = getLogFilter;
+//# sourceMappingURL=getLogFilter.js.map
diff --git a/.pnpm-store/v3/files/21/6bd7e0afbcb0c4ad0739b25eacdcd383b11ab6b11d2024f8baaea5430de1d817f50f682285b2554652ffdc9adb0ebbbfaae2ec0f4f778b75af65a225a935d6 b/.pnpm-store/v3/files/21/6bd7e0afbcb0c4ad0739b25eacdcd383b11ab6b11d2024f8baaea5430de1d817f50f682285b2554652ffdc9adb0ebbbfaae2ec0f4f778b75af65a225a935d6
new file mode 100644
index 00000000..eb625988
--- /dev/null
+++ b/.pnpm-store/v3/files/21/6bd7e0afbcb0c4ad0739b25eacdcd383b11ab6b11d2024f8baaea5430de1d817f50f682285b2554652ffdc9adb0ebbbfaae2ec0f4f778b75af65a225a935d6
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","194":"YB ZB"},E:{"1":"G cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B","322":"K L 3B FC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB iC jC kC lC 2B QC mC 3B","194":"LB MB"},G:{"1":"5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC","578":"yC zC 0C 1C 2C 3C 4C"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"MediaRecorder API",D:true};
diff --git a/.pnpm-store/v3/files/21/db264b23bd19c76f0093f9d6ed03502b0597037b2544bd10e21c773120e267529df25ee47080375ad509ee23690fe9859803ead57a49e7dcbf43531e3cd71e b/.pnpm-store/v3/files/21/db264b23bd19c76f0093f9d6ed03502b0597037b2544bd10e21c773120e267529df25ee47080375ad509ee23690fe9859803ead57a49e7dcbf43531e3cd71e
new file mode 100644
index 00000000..3d746bc4
--- /dev/null
+++ b/.pnpm-store/v3/files/21/db264b23bd19c76f0093f9d6ed03502b0597037b2544bd10e21c773120e267529df25ee47080375ad509ee23690fe9859803ead57a49e7dcbf43531e3cd71e
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB iC jC kC lC 2B QC mC 3B"},G:{"1":"xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC","16":"wC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:1,C:"unhandledrejection/rejectionhandled events",D:true};
diff --git a/.pnpm-store/v3/files/21/dcbe94618095e4339f7eebef679d792279411139582b7a7cf0fc7aab05ec8406be1dbe27651fdb6f0fd0dad335df6a00bbebef2a14efbf3c408e0258e400dc b/.pnpm-store/v3/files/21/dcbe94618095e4339f7eebef679d792279411139582b7a7cf0fc7aab05ec8406be1dbe27651fdb6f0fd0dad335df6a00bbebef2a14efbf3c408e0258e400dc
new file mode 100644
index 00000000..517ce034
--- /dev/null
+++ b/.pnpm-store/v3/files/21/dcbe94618095e4339f7eebef679d792279411139582b7a7cf0fc7aab05ec8406be1dbe27651fdb6f0fd0dad335df6a00bbebef2a14efbf3c408e0258e400dc
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB VC WC","132":"0 1 2 3 4 5 6 7 8 mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"0 1 2 3 4 5 6 7 8 lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","66":"jB 8B kB 9B"},E:{"1":"L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K XC DC YC ZC aC bC EC 2B 3B"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C","260":"4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","260":"H"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"132":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"2":"I GD HD ID JD","260":"q r s t KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD","132":"UD"}},B:5,C:"Asynchronous Clipboard API",D:true};
diff --git a/.pnpm-store/v3/files/21/f0a8b79f68cc4e1178fe4edfe8d78fd02ce27850ed8763a51634fa0c6c589c073e959485c35ea4a008c141122514bf31a5cede2960b1772bd71e46429beb01 b/.pnpm-store/v3/files/21/f0a8b79f68cc4e1178fe4edfe8d78fd02ce27850ed8763a51634fa0c6c589c073e959485c35ea4a008c141122514bf31a5cede2960b1772bd71e46429beb01
new file mode 100644
index 00000000..c4445087
--- /dev/null
+++ b/.pnpm-store/v3/files/21/f0a8b79f68cc4e1178fe4edfe8d78fd02ce27850ed8763a51634fa0c6c589c073e959485c35ea4a008c141122514bf31a5cede2960b1772bd71e46429beb01
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"F A B","16":"SC","260":"J D E"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","132":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB VC WC","2180":"UB VB WB XB YB ZB aB bB cB"},D:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"9 I XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","132":"F B C iC jC kC lC 2B QC mC 3B"},G:{"16":"RC","132":"DC nC","516":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H ED FD","16":"7B I AD BD CD DD","1025":"RC"},J:{"1":"A","16":"D"},K:{"1":"u","16":"A B C 2B QC","132":"3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","16":"A"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2180":"TD"}},B:5,C:"Selection API",D:true};
diff --git a/.pnpm-store/v3/files/22/1d5b0a7b7a9d60da51dc801c32762ea82d9767648e2f107f6321baf61ef4c42d22928a930c1a42270e66f65069d7ac89936caf29dbbba93445886e01dec993 b/.pnpm-store/v3/files/22/1d5b0a7b7a9d60da51dc801c32762ea82d9767648e2f107f6321baf61ef4c42d22928a930c1a42270e66f65069d7ac89936caf29dbbba93445886e01dec993
new file mode 100644
index 00000000..2fe20fd5
--- /dev/null
+++ b/.pnpm-store/v3/files/22/1d5b0a7b7a9d60da51dc801c32762ea82d9767648e2f107f6321baf61ef4c42d22928a930c1a42270e66f65069d7ac89936caf29dbbba93445886e01dec993
@@ -0,0 +1,2121 @@
+/*
+  @license
+	Rollup.js v4.11.0
+	Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99
+
+	https://github.com/rollup/rollup
+
+	Released under the MIT License.
+*/
+import { parse, parseAsync } from '../../native.js';
+import { resolve, basename, extname, dirname } from 'node:path';
+
+const FIXED_STRINGS = [
+    'var',
+    'let',
+    'const',
+    'init',
+    'get',
+    'set',
+    'constructor',
+    'method',
+    '-',
+    '+',
+    '!',
+    '~',
+    'typeof',
+    'void',
+    'delete',
+    '++',
+    '--',
+    '==',
+    '!=',
+    '===',
+    '!==',
+    '<',
+    '<=',
+    '>',
+    '>=',
+    '<<',
+    '>>',
+    '>>>',
+    '+',
+    '-',
+    '*',
+    '/',
+    '%',
+    '|',
+    '^',
+    '&',
+    '||',
+    '&&',
+    'in',
+    'instanceof',
+    '**',
+    '??',
+    '=',
+    '+=',
+    '-=',
+    '*=',
+    '/=',
+    '%=',
+    '<<=',
+    '>>=',
+    '>>>=',
+    '|=',
+    '^=',
+    '&=',
+    '**=',
+    '&&=',
+    '||=',
+    '??=',
+    'pure',
+    'noSideEffects'
+];
+
+/** @typedef {import('./types').Location} Location */
+
+/**
+ * @param {import('./types').Range} range
+ * @param {number} index
+ */
+function rangeContains(range, index) {
+	return range.start <= index && index < range.end;
+}
+
+/**
+ * @param {string} source
+ * @param {import('./types').Options} [options]
+ */
+function getLocator(source, options = {}) {
+	const { offsetLine = 0, offsetColumn = 0 } = options;
+
+	let start = 0;
+	const ranges = source.split('\n').map((line, i) => {
+		const end = start + line.length + 1;
+
+		/** @type {import('./types').Range} */
+		const range = { start, end, line: i };
+
+		start = end;
+		return range;
+	});
+
+	let i = 0;
+
+	/**
+	 * @param {string | number} search
+	 * @param {number} [index]
+	 * @returns {Location | undefined}
+	 */
+	function locator(search, index) {
+		if (typeof search === 'string') {
+			search = source.indexOf(search, index ?? 0);
+		}
+
+		if (search === -1) return undefined;
+
+		let range = ranges[i];
+
+		const d = search >= range.end ? 1 : -1;
+
+		while (range) {
+			if (rangeContains(range, search)) {
+				return {
+					line: offsetLine + range.line,
+					column: offsetColumn + search - range.start,
+					character: search
+				};
+			}
+
+			i += d;
+			range = ranges[i];
+		}
+	}
+
+	return locator;
+}
+
+/**
+ * @param {string} source
+ * @param {string | number} search
+ * @param {import('./types').Options} [options]
+ * @returns {Location | undefined}
+ */
+function locate(source, search, options) {
+	return getLocator(source, options)(search, options && options.startIndex);
+}
+
+function spaces(index) {
+    let result = '';
+    while (index--)
+        result += ' ';
+    return result;
+}
+function tabsToSpaces(value) {
+    return value.replace(/^\t+/, match => match.split('\t').join('  '));
+}
+const LINE_TRUNCATE_LENGTH = 120;
+const MIN_CHARACTERS_SHOWN_AFTER_LOCATION = 10;
+const ELLIPSIS = '...';
+function getCodeFrame(source, line, column) {
+    let lines = source.split('\n');
+    // Needed if a plugin did not generate correct sourcemaps
+    if (line > lines.length)
+        return '';
+    const maxLineLength = Math.max(tabsToSpaces(lines[line - 1].slice(0, column)).length +
+        MIN_CHARACTERS_SHOWN_AFTER_LOCATION +
+        ELLIPSIS.length, LINE_TRUNCATE_LENGTH);
+    const frameStart = Math.max(0, line - 3);
+    let frameEnd = Math.min(line + 2, lines.length);
+    lines = lines.slice(frameStart, frameEnd);
+    while (!/\S/.test(lines[lines.length - 1])) {
+        lines.pop();
+        frameEnd -= 1;
+    }
+    const digits = String(frameEnd).length;
+    return lines
+        .map((sourceLine, index) => {
+        const isErrorLine = frameStart + index + 1 === line;
+        let lineNumber = String(index + frameStart + 1);
+        while (lineNumber.length < digits)
+            lineNumber = ` ${lineNumber}`;
+        let displayedLine = tabsToSpaces(sourceLine);
+        if (displayedLine.length > maxLineLength) {
+            displayedLine = `${displayedLine.slice(0, maxLineLength - ELLIPSIS.length)}${ELLIPSIS}`;
+        }
+        if (isErrorLine) {
+            const indicator = spaces(digits + 2 + tabsToSpaces(sourceLine.slice(0, column)).length) + '^';
+            return `${lineNumber}: ${displayedLine}\n${indicator}`;
+        }
+        return `${lineNumber}: ${displayedLine}`;
+    })
+        .join('\n');
+}
+
+const LOGLEVEL_SILENT = 'silent';
+const LOGLEVEL_ERROR = 'error';
+const LOGLEVEL_WARN = 'warn';
+const LOGLEVEL_INFO = 'info';
+const LOGLEVEL_DEBUG = 'debug';
+const logLevelPriority = {
+    [LOGLEVEL_DEBUG]: 0,
+    [LOGLEVEL_INFO]: 1,
+    [LOGLEVEL_SILENT]: 3,
+    [LOGLEVEL_WARN]: 2
+};
+
+const ABSOLUTE_PATH_REGEX = /^(?:\/|(?:[A-Za-z]:)?[/\\|])/;
+const RELATIVE_PATH_REGEX = /^\.?\.(\/|$)/;
+function isAbsolute(path) {
+    return ABSOLUTE_PATH_REGEX.test(path);
+}
+function isRelative(path) {
+    return RELATIVE_PATH_REGEX.test(path);
+}
+const BACKSLASH_REGEX = /\\/g;
+function normalize(path) {
+    return path.replace(BACKSLASH_REGEX, '/');
+}
+
+function printQuotedStringList(list, verbs) {
+    const isSingleItem = list.length <= 1;
+    const quotedList = list.map(item => `"${item}"`);
+    let output = isSingleItem
+        ? quotedList[0]
+        : `${quotedList.slice(0, -1).join(', ')} and ${quotedList.slice(-1)[0]}`;
+    if (verbs) {
+        output += ` ${isSingleItem ? verbs[0] : verbs[1]}`;
+    }
+    return output;
+}
+
+const ANY_SLASH_REGEX = /[/\\]/;
+function relative(from, to) {
+    const fromParts = from.split(ANY_SLASH_REGEX).filter(Boolean);
+    const toParts = to.split(ANY_SLASH_REGEX).filter(Boolean);
+    if (fromParts[0] === '.')
+        fromParts.shift();
+    if (toParts[0] === '.')
+        toParts.shift();
+    while (fromParts[0] && toParts[0] && fromParts[0] === toParts[0]) {
+        fromParts.shift();
+        toParts.shift();
+    }
+    while (toParts[0] === '..' && fromParts.length > 0) {
+        toParts.shift();
+        fromParts.pop();
+    }
+    while (fromParts.pop()) {
+        toParts.unshift('..');
+    }
+    return toParts.join('/');
+}
+
+function getAliasName(id) {
+    const base = basename(id);
+    return base.slice(0, Math.max(0, base.length - extname(id).length));
+}
+function relativeId(id) {
+    if (!isAbsolute(id))
+        return id;
+    return relative(resolve(), id);
+}
+function isPathFragment(name) {
+    // starting with "/", "./", "../", "C:/"
+    return (name[0] === '/' || (name[0] === '.' && (name[1] === '/' || name[1] === '.')) || isAbsolute(name));
+}
+const UPPER_DIR_REGEX = /^(\.\.\/)*\.\.$/;
+function getImportPath(importerId, targetPath, stripJsExtension, ensureFileName) {
+    while (targetPath.startsWith('../')) {
+        targetPath = targetPath.slice(3);
+        importerId = '_/' + importerId;
+    }
+    let relativePath = normalize(relative(dirname(importerId), targetPath));
+    if (stripJsExtension && relativePath.endsWith('.js')) {
+        relativePath = relativePath.slice(0, -3);
+    }
+    if (ensureFileName) {
+        if (relativePath === '')
+            return '../' + basename(targetPath);
+        if (UPPER_DIR_REGEX.test(relativePath)) {
+            return [...relativePath.split('/'), '..', basename(targetPath)].join('/');
+        }
+    }
+    return relativePath ? (relativePath.startsWith('..') ? relativePath : './' + relativePath) : '.';
+}
+
+function isValidUrl(url) {
+    try {
+        new URL(url);
+    }
+    catch {
+        return false;
+    }
+    return true;
+}
+function getRollupUrl(snippet) {
+    return `https://rollupjs.org/${snippet}`;
+}
+function addTrailingSlashIfMissed(url) {
+    if (!url.endsWith('/')) {
+        return url + '/';
+    }
+    return url;
+}
+
+// troubleshooting
+const URL_AVOIDING_EVAL = 'troubleshooting/#avoiding-eval';
+const URL_NAME_IS_NOT_EXPORTED = 'troubleshooting/#error-name-is-not-exported-by-module';
+const URL_THIS_IS_UNDEFINED = 'troubleshooting/#error-this-is-undefined';
+const URL_TREATING_MODULE_AS_EXTERNAL_DEPENDENCY = 'troubleshooting/#warning-treating-module-as-external-dependency';
+const URL_SOURCEMAP_IS_LIKELY_TO_BE_INCORRECT = 'troubleshooting/#warning-sourcemap-is-likely-to-be-incorrect';
+const URL_OUTPUT_AMD_ID = 'configuration-options/#output-amd-id';
+const URL_OUTPUT_AMD_BASEPATH = 'configuration-options/#output-amd-basepath';
+const URL_OUTPUT_DIR = 'configuration-options/#output-dir';
+const URL_OUTPUT_EXPORTS = 'configuration-options/#output-exports';
+const URL_OUTPUT_EXTEND = 'configuration-options/#output-extend';
+const URL_OUTPUT_EXTERNALIMPORTATTRIBUTES = 'configuration-options/#output-externalimportattributes';
+const URL_OUTPUT_FORMAT = 'configuration-options/#output-format';
+const URL_OUTPUT_GENERATEDCODE = 'configuration-options/#output-generatedcode';
+const URL_OUTPUT_GLOBALS = 'configuration-options/#output-globals';
+const URL_OUTPUT_INLINEDYNAMICIMPORTS = 'configuration-options/#output-inlinedynamicimports';
+const URL_OUTPUT_INTEROP = 'configuration-options/#output-interop';
+const URL_OUTPUT_MANUALCHUNKS = 'configuration-options/#output-manualchunks';
+const URL_OUTPUT_NAME = 'configuration-options/#output-name';
+const URL_OUTPUT_SOURCEMAPBASEURL = 'configuration-options/#output-sourcemapbaseurl';
+const URL_OUTPUT_SOURCEMAPFILE = 'configuration-options/#output-sourcemapfile';
+const URL_PRESERVEENTRYSIGNATURES = 'configuration-options/#preserveentrysignatures';
+const URL_TREESHAKE = 'configuration-options/#treeshake';
+const URL_TREESHAKE_PURE = 'configuration-options/#pure';
+const URL_TREESHAKE_NOSIDEEFFECTS = 'configuration-options/#no-side-effects';
+const URL_TREESHAKE_MODULESIDEEFFECTS = 'configuration-options/#treeshake-modulesideeffects';
+const URL_WATCH = 'configuration-options/#watch';
+
+function error(base) {
+    if (!(base instanceof Error)) {
+        base = Object.assign(new Error(base.message), base);
+        Object.defineProperty(base, 'name', { value: 'RollupError', writable: true });
+    }
+    throw base;
+}
+function augmentCodeLocation(properties, pos, source, id) {
+    if (typeof pos === 'object') {
+        const { line, column } = pos;
+        properties.loc = { column, file: id, line };
+    }
+    else {
+        properties.pos = pos;
+        const location = locate(source, pos, { offsetLine: 1 });
+        if (!location) {
+            return;
+        }
+        const { line, column } = location;
+        properties.loc = { column, file: id, line };
+    }
+    if (properties.frame === undefined) {
+        const { line, column } = properties.loc;
+        properties.frame = getCodeFrame(source, line, column);
+    }
+}
+// Error codes should be sorted alphabetically while errors should be sorted by
+// error code below
+const ADDON_ERROR = 'ADDON_ERROR', ALREADY_CLOSED = 'ALREADY_CLOSED', AMBIGUOUS_EXTERNAL_NAMESPACES = 'AMBIGUOUS_EXTERNAL_NAMESPACES', ANONYMOUS_PLUGIN_CACHE = 'ANONYMOUS_PLUGIN_CACHE', ASSET_NOT_FINALISED = 'ASSET_NOT_FINALISED', ASSET_NOT_FOUND = 'ASSET_NOT_FOUND', ASSET_SOURCE_ALREADY_SET = 'ASSET_SOURCE_ALREADY_SET', ASSET_SOURCE_MISSING = 'ASSET_SOURCE_MISSING', BAD_LOADER = 'BAD_LOADER', CANNOT_CALL_NAMESPACE = 'CANNOT_CALL_NAMESPACE', CANNOT_EMIT_FROM_OPTIONS_HOOK = 'CANNOT_EMIT_FROM_OPTIONS_HOOK', CHUNK_NOT_GENERATED = 'CHUNK_NOT_GENERATED', CHUNK_INVALID = 'CHUNK_INVALID', CIRCULAR_DEPENDENCY = 'CIRCULAR_DEPENDENCY', CIRCULAR_REEXPORT = 'CIRCULAR_REEXPORT', CONST_REASSIGN = 'CONST_REASSIGN', CYCLIC_CROSS_CHUNK_REEXPORT = 'CYCLIC_CROSS_CHUNK_REEXPORT', DEPRECATED_FEATURE = 'DEPRECATED_FEATURE', DUPLICATE_ARGUMENT_NAME = 'DUPLICATE_ARGUMENT_NAME', DUPLICATE_EXPORT = 'DUPLICATE_EXPORT', DUPLICATE_PLUGIN_NAME = 'DUPLICATE_PLUGIN_NAME', EMPTY_BUNDLE = 'EMPTY_BUNDLE', EVAL = 'EVAL', EXTERNAL_MODULES_CANNOT_BE_INCLUDED_IN_MANUAL_CHUNKS = 'EXTERNAL_MODULES_CANNOT_BE_INCLUDED_IN_MANUAL_CHUNKS', EXTERNAL_MODULES_CANNOT_BE_TRANSFORMED_TO_MODULES = 'EXTERNAL_MODULES_CANNOT_BE_TRANSFORMED_TO_MODULES', EXTERNAL_SYNTHETIC_EXPORTS = 'EXTERNAL_SYNTHETIC_EXPORTS', FILE_NAME_CONFLICT = 'FILE_NAME_CONFLICT', FILE_NOT_FOUND = 'FILE_NOT_FOUND', FIRST_SIDE_EFFECT = 'FIRST_SIDE_EFFECT', ILLEGAL_IDENTIFIER_AS_NAME = 'ILLEGAL_IDENTIFIER_AS_NAME', ILLEGAL_REASSIGNMENT = 'ILLEGAL_REASSIGNMENT', INCONSISTENT_IMPORT_ATTRIBUTES = 'INCONSISTENT_IMPORT_ATTRIBUTES', INVALID_ANNOTATION = 'INVALID_ANNOTATION', INPUT_HOOK_IN_OUTPUT_PLUGIN = 'INPUT_HOOK_IN_OUTPUT_PLUGIN', INVALID_CHUNK = 'INVALID_CHUNK', INVALID_EXPORT_OPTION = 'INVALID_EXPORT_OPTION', INVALID_EXTERNAL_ID = 'INVALID_EXTERNAL_ID', INVALID_IMPORT_ATTRIBUTE = 'INVALID_IMPORT_ATTRIBUTE', INVALID_LOG_POSITION = 'INVALID_LOG_POSITION', INVALID_OPTION = 'INVALID_OPTION', INVALID_PLUGIN_HOOK = 'INVALID_PLUGIN_HOOK', INVALID_ROLLUP_PHASE = 'INVALID_ROLLUP_PHASE', INVALID_SETASSETSOURCE = 'INVALID_SETASSETSOURCE', INVALID_TLA_FORMAT = 'INVALID_TLA_FORMAT', MISSING_EXPORT = 'MISSING_EXPORT', MISSING_GLOBAL_NAME = 'MISSING_GLOBAL_NAME', MISSING_IMPLICIT_DEPENDANT = 'MISSING_IMPLICIT_DEPENDANT', MISSING_NAME_OPTION_FOR_IIFE_EXPORT = 'MISSING_NAME_OPTION_FOR_IIFE_EXPORT', MISSING_NODE_BUILTINS = 'MISSING_NODE_BUILTINS', MISSING_OPTION = 'MISSING_OPTION', MIXED_EXPORTS = 'MIXED_EXPORTS', MODULE_LEVEL_DIRECTIVE = 'MODULE_LEVEL_DIRECTIVE', NAMESPACE_CONFLICT = 'NAMESPACE_CONFLICT', NO_TRANSFORM_MAP_OR_AST_WITHOUT_CODE = 'NO_TRANSFORM_MAP_OR_AST_WITHOUT_CODE', OPTIMIZE_CHUNK_STATUS = 'OPTIMIZE_CHUNK_STATUS', PARSE_ERROR = 'PARSE_ERROR', PLUGIN_ERROR = 'PLUGIN_ERROR', REDECLARATION_ERROR = 'REDECLARATION_ERROR', SHIMMED_EXPORT = 'SHIMMED_EXPORT', SOURCEMAP_BROKEN = 'SOURCEMAP_BROKEN', SOURCEMAP_ERROR = 'SOURCEMAP_ERROR', SYNTHETIC_NAMED_EXPORTS_NEED_NAMESPACE_EXPORT = 'SYNTHETIC_NAMED_EXPORTS_NEED_NAMESPACE_EXPORT', THIS_IS_UNDEFINED = 'THIS_IS_UNDEFINED', UNEXPECTED_NAMED_IMPORT = 'UNEXPECTED_NAMED_IMPORT', UNKNOWN_OPTION = 'UNKNOWN_OPTION', UNRESOLVED_ENTRY = 'UNRESOLVED_ENTRY', UNRESOLVED_IMPORT = 'UNRESOLVED_IMPORT', UNUSED_EXTERNAL_IMPORT = 'UNUSED_EXTERNAL_IMPORT', VALIDATION_ERROR = 'VALIDATION_ERROR';
+function logAddonNotGenerated(message, hook, plugin) {
+    return {
+        code: ADDON_ERROR,
+        message: `Could not retrieve "${hook}". Check configuration of plugin "${plugin}".
+\tError Message: ${message}`
+    };
+}
+function logAlreadyClosed() {
+    return {
+        code: ALREADY_CLOSED,
+        message: 'Bundle is already closed, no more calls to "generate" or "write" are allowed.'
+    };
+}
+function logAmbiguousExternalNamespaces(binding, reexportingModule, usedModule, sources) {
+    return {
+        binding,
+        code: AMBIGUOUS_EXTERNAL_NAMESPACES,
+        ids: sources,
+        message: `Ambiguous external namespace resolution: "${relativeId(reexportingModule)}" re-exports "${binding}" from one of the external modules ${printQuotedStringList(sources.map(module => relativeId(module)))}, guessing "${relativeId(usedModule)}".`,
+        reexporter: reexportingModule
+    };
+}
+function logAnonymousPluginCache() {
+    return {
+        code: ANONYMOUS_PLUGIN_CACHE,
+        message: 'A plugin is trying to use the Rollup cache but is not declaring a plugin name or cacheKey.'
+    };
+}
+function logAssetNotFinalisedForFileName(name) {
+    return {
+        code: ASSET_NOT_FINALISED,
+        message: `Plugin error - Unable to get file name for asset "${name}". Ensure that the source is set and that generate is called first. If you reference assets via import.meta.ROLLUP_FILE_URL_, you need to either have set their source after "renderStart" or need to provide an explicit "fileName" when emitting them.`
+    };
+}
+function logAssetReferenceIdNotFoundForSetSource(assetReferenceId) {
+    return {
+        code: ASSET_NOT_FOUND,
+        message: `Plugin error - Unable to set the source for unknown asset "${assetReferenceId}".`
+    };
+}
+function logAssetSourceAlreadySet(name) {
+    return {
+        code: ASSET_SOURCE_ALREADY_SET,
+        message: `Unable to set the source for asset "${name}", source already set.`
+    };
+}
+function logNoAssetSourceSet(assetName) {
+    return {
+        code: ASSET_SOURCE_MISSING,
+        message: `Plugin error creating asset "${assetName}" - no asset source set.`
+    };
+}
+function logBadLoader(id) {
+    return {
+        code: BAD_LOADER,
+        message: `Error loading "${relativeId(id)}": plugin load hook should return a string, a { code, map } object, or nothing/null.`
+    };
+}
+function logCannotCallNamespace(name) {
+    return {
+        code: CANNOT_CALL_NAMESPACE,
+        message: `Cannot call a namespace ("${name}").`
+    };
+}
+function logCannotEmitFromOptionsHook() {
+    return {
+        code: CANNOT_EMIT_FROM_OPTIONS_HOOK,
+        message: `Cannot emit files or set asset sources in the "outputOptions" hook, use the "renderStart" hook instead.`
+    };
+}
+function logChunkNotGeneratedForFileName(name) {
+    return {
+        code: CHUNK_NOT_GENERATED,
+        message: `Plugin error - Unable to get file name for emitted chunk "${name}". You can only get file names once chunks have been generated after the "renderStart" hook.`
+    };
+}
+function logChunkInvalid({ fileName, code }, { pos, message }) {
+    const errorProperties = {
+        code: CHUNK_INVALID,
+        message: `Chunk "${fileName}" is not valid JavaScript: ${message}.`
+    };
+    augmentCodeLocation(errorProperties, pos, code, fileName);
+    return errorProperties;
+}
+function logCircularDependency(cyclePath) {
+    return {
+        code: CIRCULAR_DEPENDENCY,
+        ids: cyclePath,
+        message: `Circular dependency: ${cyclePath.map(relativeId).join(' -> ')}`
+    };
+}
+function logCircularReexport(exportName, exporter) {
+    return {
+        code: CIRCULAR_REEXPORT,
+        exporter,
+        message: `"${exportName}" cannot be exported from "${relativeId(exporter)}" as it is a reexport that references itself.`
+    };
+}
+function logCyclicCrossChunkReexport(exportName, exporter, reexporter, importer, preserveModules) {
+    return {
+        code: CYCLIC_CROSS_CHUNK_REEXPORT,
+        exporter,
+        id: importer,
+        message: `Export "${exportName}" of module "${relativeId(exporter)}" was reexported through module "${relativeId(reexporter)}" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order.\nEither change the import in "${relativeId(importer)}" to point directly to the exporting module or ${preserveModules ? 'do not use "output.preserveModules"' : 'reconfigure "output.manualChunks"'} to ensure these modules end up in the same chunk.`,
+        reexporter
+    };
+}
+function logDeprecation(deprecation, urlSnippet, plugin) {
+    return {
+        code: DEPRECATED_FEATURE,
+        message: deprecation,
+        url: getRollupUrl(urlSnippet),
+        ...(plugin ? { plugin } : {})
+    };
+}
+function logConstVariableReassignError() {
+    return {
+        code: CONST_REASSIGN,
+        message: 'Cannot reassign a variable declared with `const`'
+    };
+}
+function logDuplicateArgumentNameError(name) {
+    return { code: DUPLICATE_ARGUMENT_NAME, message: `Duplicate argument name "${name}"` };
+}
+function logDuplicateExportError(name) {
+    return { code: DUPLICATE_EXPORT, message: `Duplicate export "${name}"` };
+}
+function logDuplicatePluginName(plugin) {
+    return {
+        code: DUPLICATE_PLUGIN_NAME,
+        message: `The plugin name ${plugin} is being used twice in the same build. Plugin names must be distinct or provide a cacheKey (please post an issue to the plugin if you are a plugin user).`
+    };
+}
+function logEmptyChunk(chunkName) {
+    return {
+        code: EMPTY_BUNDLE,
+        message: `Generated an empty chunk: "${chunkName}".`,
+        names: [chunkName]
+    };
+}
+function logEval(id) {
+    return {
+        code: EVAL,
+        id,
+        message: `Use of eval in "${relativeId(id)}" is strongly discouraged as it poses security risks and may cause issues with minification.`,
+        url: getRollupUrl(URL_AVOIDING_EVAL)
+    };
+}
+function logExternalSyntheticExports(id, importer) {
+    return {
+        code: EXTERNAL_SYNTHETIC_EXPORTS,
+        exporter: id,
+        message: `External "${id}" cannot have "syntheticNamedExports" enabled (imported by "${relativeId(importer)}").`
+    };
+}
+function logFileNameConflict(fileName) {
+    return {
+        code: FILE_NAME_CONFLICT,
+        message: `The emitted file "${fileName}" overwrites a previously emitted file of the same name.`
+    };
+}
+function logFileReferenceIdNotFoundForFilename(assetReferenceId) {
+    return {
+        code: FILE_NOT_FOUND,
+        message: `Plugin error - Unable to get file name for unknown file "${assetReferenceId}".`
+    };
+}
+function logFirstSideEffect(source, id, { line, column }) {
+    return {
+        code: FIRST_SIDE_EFFECT,
+        message: `First side effect in ${relativeId(id)} is at (${line}:${column})\n${getCodeFrame(source, line, column)}`
+    };
+}
+function logIllegalIdentifierAsName(name) {
+    return {
+        code: ILLEGAL_IDENTIFIER_AS_NAME,
+        message: `Given name "${name}" is not a legal JS identifier. If you need this, you can try "output.extend: true".`,
+        url: getRollupUrl(URL_OUTPUT_EXTEND)
+    };
+}
+function logIllegalImportReassignment(name, importingId) {
+    return {
+        code: ILLEGAL_REASSIGNMENT,
+        message: `Illegal reassignment of import "${name}" in "${relativeId(importingId)}".`
+    };
+}
+function logInconsistentImportAttributes(existingAttributes, newAttributes, source, importer) {
+    return {
+        code: INCONSISTENT_IMPORT_ATTRIBUTES,
+        message: `Module "${relativeId(importer)}" tried to import "${relativeId(source)}" with ${formatAttributes(newAttributes)} attributes, but it was already imported elsewhere with ${formatAttributes(existingAttributes)} attributes. Please ensure that import attributes for the same module are always consistent.`
+    };
+}
+const formatAttributes = (attributes) => {
+    const entries = Object.entries(attributes);
+    if (entries.length === 0)
+        return 'no';
+    return entries.map(([key, value]) => `"${key}": "${value}"`).join(', ');
+};
+function logInvalidAnnotation(comment, id, type) {
+    return {
+        code: INVALID_ANNOTATION,
+        id,
+        message: `A comment\n\n"${comment}"\n\nin "${relativeId(id)}" contains an annotation that Rollup cannot interpret due to the position of the comment. The comment will be removed to avoid issues.`,
+        url: getRollupUrl(type === 'noSideEffects' ? URL_TREESHAKE_NOSIDEEFFECTS : URL_TREESHAKE_PURE)
+    };
+}
+function logInputHookInOutputPlugin(pluginName, hookName) {
+    return {
+        code: INPUT_HOOK_IN_OUTPUT_PLUGIN,
+        message: `The "${hookName}" hook used by the output plugin ${pluginName} is a build time hook and will not be run for that plugin. Either this plugin cannot be used as an output plugin, or it should have an option to configure it as an output plugin.`
+    };
+}
+function logCannotAssignModuleToChunk(moduleId, assignToAlias, currentAlias) {
+    return {
+        code: INVALID_CHUNK,
+        message: `Cannot assign "${relativeId(moduleId)}" to the "${assignToAlias}" chunk as it is already in the "${currentAlias}" chunk.`
+    };
+}
+function logInvalidExportOptionValue(optionValue) {
+    return {
+        code: INVALID_EXPORT_OPTION,
+        message: `"output.exports" must be "default", "named", "none", "auto", or left unspecified (defaults to "auto"), received "${optionValue}".`,
+        url: getRollupUrl(URL_OUTPUT_EXPORTS)
+    };
+}
+function logIncompatibleExportOptionValue(optionValue, keys, entryModule) {
+    return {
+        code: INVALID_EXPORT_OPTION,
+        message: `"${optionValue}" was specified for "output.exports", but entry module "${relativeId(entryModule)}" has the following exports: ${printQuotedStringList(keys)}`,
+        url: getRollupUrl(URL_OUTPUT_EXPORTS)
+    };
+}
+function logInternalIdCannotBeExternal(source, importer) {
+    return {
+        code: INVALID_EXTERNAL_ID,
+        message: `"${source}" is imported as an external by "${relativeId(importer)}", but is already an existing non-external module id.`
+    };
+}
+function logImportOptionsAreInvalid(importer) {
+    return {
+        code: INVALID_IMPORT_ATTRIBUTE,
+        message: `Rollup could not statically analyze the options argument of a dynamic import in "${relativeId(importer)}". Dynamic import options need to be an object with a nested attributes object.`
+    };
+}
+function logImportAttributeIsInvalid(importer) {
+    return {
+        code: INVALID_IMPORT_ATTRIBUTE,
+        message: `Rollup could not statically analyze an import attribute of a dynamic import in "${relativeId(importer)}". Import attributes need to have string keys and values. The attribute will be removed.`
+    };
+}
+function logInvalidLogPosition(plugin) {
+    return {
+        code: INVALID_LOG_POSITION,
+        message: `Plugin "${plugin}" tried to add a file position to a log or warning. This is only supported in the "transform" hook at the moment and will be ignored.`
+    };
+}
+function logInvalidOption(option, urlSnippet, explanation, value) {
+    return {
+        code: INVALID_OPTION,
+        message: `Invalid value ${value === undefined ? '' : `${JSON.stringify(value)} `}for option "${option}" - ${explanation}.`,
+        url: getRollupUrl(urlSnippet)
+    };
+}
+function logInvalidAddonPluginHook(hook, plugin) {
+    return {
+        code: INVALID_PLUGIN_HOOK,
+        hook,
+        message: `Error running plugin hook "${hook}" for plugin "${plugin}", expected a string, a function hook or an object with a "handler" string or function.`,
+        plugin
+    };
+}
+function logInvalidFunctionPluginHook(hook, plugin) {
+    return {
+        code: INVALID_PLUGIN_HOOK,
+        hook,
+        message: `Error running plugin hook "${hook}" for plugin "${plugin}", expected a function hook or an object with a "handler" function.`,
+        plugin
+    };
+}
+function logInvalidRollupPhaseForChunkEmission() {
+    return {
+        code: INVALID_ROLLUP_PHASE,
+        message: `Cannot emit chunks after module loading has finished.`
+    };
+}
+function logInvalidSetAssetSourceCall() {
+    return {
+        code: INVALID_SETASSETSOURCE,
+        message: `setAssetSource cannot be called in transform for caching reasons. Use emitFile with a source, or call setAssetSource in another hook.`
+    };
+}
+function logInvalidFormatForTopLevelAwait(id, format) {
+    return {
+        code: INVALID_TLA_FORMAT,
+        id,
+        message: `Module format "${format}" does not support top-level await. Use the "es" or "system" output formats rather.`
+    };
+}
+function logMissingEntryExport(binding, exporter) {
+    return {
+        binding,
+        code: MISSING_EXPORT,
+        exporter,
+        message: `Exported variable "${binding}" is not defined in "${relativeId(exporter)}".`,
+        url: getRollupUrl(URL_NAME_IS_NOT_EXPORTED)
+    };
+}
+function logMissingExport(binding, importingModule, exporter) {
+    const isJson = extname(exporter) === '.json';
+    return {
+        binding,
+        code: MISSING_EXPORT,
+        exporter,
+        id: importingModule,
+        message: `"${binding}" is not exported by "${relativeId(exporter)}", imported by "${relativeId(importingModule)}".${isJson ? ' (Note that you need @rollup/plugin-json to import JSON files)' : ''}`,
+        url: getRollupUrl(URL_NAME_IS_NOT_EXPORTED)
+    };
+}
+function logMissingGlobalName(externalId, guess) {
+    return {
+        code: MISSING_GLOBAL_NAME,
+        id: externalId,
+        message: `No name was provided for external module "${externalId}" in "output.globals" – guessing "${guess}".`,
+        names: [guess],
+        url: getRollupUrl(URL_OUTPUT_GLOBALS)
+    };
+}
+function logImplicitDependantCannotBeExternal(unresolvedId, implicitlyLoadedBefore) {
+    return {
+        code: MISSING_IMPLICIT_DEPENDANT,
+        message: `Module "${relativeId(unresolvedId)}" that should be implicitly loaded before "${relativeId(implicitlyLoadedBefore)}" cannot be external.`
+    };
+}
+function logUnresolvedImplicitDependant(unresolvedId, implicitlyLoadedBefore) {
+    return {
+        code: MISSING_IMPLICIT_DEPENDANT,
+        message: `Module "${relativeId(unresolvedId)}" that should be implicitly loaded before "${relativeId(implicitlyLoadedBefore)}" could not be resolved.`
+    };
+}
+function logImplicitDependantIsNotIncluded(module) {
+    const implicitDependencies = [...module.implicitlyLoadedBefore]
+        .map(dependency => relativeId(dependency.id))
+        .sort();
+    return {
+        code: MISSING_IMPLICIT_DEPENDANT,
+        message: `Module "${relativeId(module.id)}" that should be implicitly loaded before ${printQuotedStringList(implicitDependencies)} is not included in the module graph. Either it was not imported by an included module or only via a tree-shaken dynamic import, or no imported bindings were used and it had otherwise no side-effects.`
+    };
+}
+function logMissingNameOptionForIifeExport() {
+    return {
+        code: MISSING_NAME_OPTION_FOR_IIFE_EXPORT,
+        message: `If you do not supply "output.name", you may not be able to access the exports of an IIFE bundle.`,
+        url: getRollupUrl(URL_OUTPUT_NAME)
+    };
+}
+function logMissingNameOptionForUmdExport() {
+    return {
+        code: MISSING_NAME_OPTION_FOR_IIFE_EXPORT,
+        message: 'You must supply "output.name" for UMD bundles that have exports so that the exports are accessible in environments without a module loader.',
+        url: getRollupUrl(URL_OUTPUT_NAME)
+    };
+}
+function logMissingNodeBuiltins(externalBuiltins) {
+    return {
+        code: MISSING_NODE_BUILTINS,
+        ids: externalBuiltins,
+        message: `Creating a browser bundle that depends on Node.js built-in modules (${printQuotedStringList(externalBuiltins)}). You might need to include https://github.com/FredKSchott/rollup-plugin-polyfill-node`
+    };
+}
+// eslint-disable-next-line unicorn/prevent-abbreviations
+function logMissingFileOrDirOption() {
+    return {
+        code: MISSING_OPTION,
+        message: 'You must specify "output.file" or "output.dir" for the build.',
+        url: getRollupUrl(URL_OUTPUT_DIR)
+    };
+}
+function logMixedExport(facadeModuleId, name) {
+    return {
+        code: MIXED_EXPORTS,
+        id: facadeModuleId,
+        message: `Entry module "${relativeId(facadeModuleId)}" is using named and default exports together. Consumers of your bundle will have to use \`${name || 'chunk'}.default\` to access the default export, which may not be what you want. Use \`output.exports: "named"\` to disable this warning.`,
+        url: getRollupUrl(URL_OUTPUT_EXPORTS)
+    };
+}
+function logModuleLevelDirective(directive, id) {
+    return {
+        code: MODULE_LEVEL_DIRECTIVE,
+        id,
+        message: `Module level directives cause errors when bundled, "${directive}" in "${relativeId(id)}" was ignored.`
+    };
+}
+function logNamespaceConflict(binding, reexportingModuleId, sources) {
+    return {
+        binding,
+        code: NAMESPACE_CONFLICT,
+        ids: sources,
+        message: `Conflicting namespaces: "${relativeId(reexportingModuleId)}" re-exports "${binding}" from one of the modules ${printQuotedStringList(sources.map(moduleId => relativeId(moduleId)))} (will be ignored).`,
+        reexporter: reexportingModuleId
+    };
+}
+function logNoTransformMapOrAstWithoutCode(pluginName) {
+    return {
+        code: NO_TRANSFORM_MAP_OR_AST_WITHOUT_CODE,
+        message: `The plugin "${pluginName}" returned a "map" or "ast" without returning ` +
+            'a "code". This will be ignored.'
+    };
+}
+function logOptimizeChunkStatus(chunks, smallChunks, pointInTime) {
+    return {
+        code: OPTIMIZE_CHUNK_STATUS,
+        message: `${pointInTime}, there are\n` +
+            `${chunks} chunks, of which\n` +
+            `${smallChunks} are below minChunkSize.`
+    };
+}
+function logParseError(message, pos) {
+    return { code: PARSE_ERROR, message, pos };
+}
+function logRedeclarationError(name) {
+    return { code: REDECLARATION_ERROR, message: `Identifier "${name}" has already been declared` };
+}
+function logModuleParseError(error, moduleId) {
+    let message = error.message.replace(/ \(\d+:\d+\)$/, '');
+    if (moduleId.endsWith('.json')) {
+        message += ' (Note that you need @rollup/plugin-json to import JSON files)';
+    }
+    else if (!moduleId.endsWith('.js')) {
+        message += ' (Note that you need plugins to import files that are not JavaScript)';
+    }
+    return {
+        cause: error,
+        code: PARSE_ERROR,
+        id: moduleId,
+        message,
+        stack: error.stack
+    };
+}
+function logPluginError(error, plugin, { hook, id } = {}) {
+    const code = error.code;
+    if (!error.pluginCode &&
+        code != null &&
+        (typeof code !== 'string' || !code.startsWith('PLUGIN_'))) {
+        error.pluginCode = code;
+    }
+    error.code = PLUGIN_ERROR;
+    error.plugin = plugin;
+    if (hook) {
+        error.hook = hook;
+    }
+    if (id) {
+        error.id = id;
+    }
+    return error;
+}
+function logShimmedExport(id, binding) {
+    return {
+        binding,
+        code: SHIMMED_EXPORT,
+        exporter: id,
+        message: `Missing export "${binding}" has been shimmed in module "${relativeId(id)}".`
+    };
+}
+function logSourcemapBroken(plugin) {
+    return {
+        code: SOURCEMAP_BROKEN,
+        message: `Sourcemap is likely to be incorrect: a plugin (${plugin}) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help`,
+        plugin,
+        url: getRollupUrl(URL_SOURCEMAP_IS_LIKELY_TO_BE_INCORRECT)
+    };
+}
+function logConflictingSourcemapSources(filename) {
+    return {
+        code: SOURCEMAP_BROKEN,
+        message: `Multiple conflicting contents for sourcemap source ${filename}`
+    };
+}
+function logInvalidSourcemapForError(error, id, column, line, pos) {
+    return {
+        cause: error,
+        code: SOURCEMAP_ERROR,
+        id,
+        loc: {
+            column,
+            file: id,
+            line
+        },
+        message: `Error when using sourcemap for reporting an error: ${error.message}`,
+        pos
+    };
+}
+function logSyntheticNamedExportsNeedNamespaceExport(id, syntheticNamedExportsOption) {
+    return {
+        code: SYNTHETIC_NAMED_EXPORTS_NEED_NAMESPACE_EXPORT,
+        exporter: id,
+        message: `Module "${relativeId(id)}" that is marked with \`syntheticNamedExports: ${JSON.stringify(syntheticNamedExportsOption)}\` needs ${typeof syntheticNamedExportsOption === 'string' && syntheticNamedExportsOption !== 'default'
+            ? `an explicit export named "${syntheticNamedExportsOption}"`
+            : 'a default export'} that does not reexport an unresolved named export of the same module.`
+    };
+}
+function logThisIsUndefined() {
+    return {
+        code: THIS_IS_UNDEFINED,
+        message: `The 'this' keyword is equivalent to 'undefined' at the top level of an ES module, and has been rewritten`,
+        url: getRollupUrl(URL_THIS_IS_UNDEFINED)
+    };
+}
+function logUnexpectedNamedImport(id, imported, isReexport) {
+    const importType = isReexport ? 'reexport' : 'import';
+    return {
+        code: UNEXPECTED_NAMED_IMPORT,
+        exporter: id,
+        message: `The named export "${imported}" was ${importType}ed from the external module "${relativeId(id)}" even though its interop type is "defaultOnly". Either remove or change this ${importType} or change the value of the "output.interop" option.`,
+        url: getRollupUrl(URL_OUTPUT_INTEROP)
+    };
+}
+function logUnexpectedNamespaceReexport(id) {
+    return {
+        code: UNEXPECTED_NAMED_IMPORT,
+        exporter: id,
+        message: `There was a namespace "*" reexport from the external module "${relativeId(id)}" even though its interop type is "defaultOnly". This will be ignored as namespace reexports only reexport named exports. If this is not intended, either remove or change this reexport or change the value of the "output.interop" option.`,
+        url: getRollupUrl(URL_OUTPUT_INTEROP)
+    };
+}
+function logUnknownOption(optionType, unknownOptions, validOptions) {
+    return {
+        code: UNKNOWN_OPTION,
+        message: `Unknown ${optionType}: ${unknownOptions.join(', ')}. Allowed options: ${validOptions.join(', ')}`
+    };
+}
+function logEntryCannotBeExternal(unresolvedId) {
+    return {
+        code: UNRESOLVED_ENTRY,
+        message: `Entry module "${relativeId(unresolvedId)}" cannot be external.`
+    };
+}
+function logExternalModulesCannotBeIncludedInManualChunks(source) {
+    return {
+        code: EXTERNAL_MODULES_CANNOT_BE_INCLUDED_IN_MANUAL_CHUNKS,
+        message: `"${source}" cannot be included in manualChunks because it is resolved as an external module by the "external" option or plugins.`
+    };
+}
+function logExternalModulesCannotBeTransformedToModules(source) {
+    return {
+        code: EXTERNAL_MODULES_CANNOT_BE_TRANSFORMED_TO_MODULES,
+        message: `${source} is resolved as a module now, but it was an external module before. Please check whether there are conflicts in your Rollup options "external" and "manualChunks", manualChunks cannot include external modules.`
+    };
+}
+function logUnresolvedEntry(unresolvedId) {
+    return {
+        code: UNRESOLVED_ENTRY,
+        message: `Could not resolve entry module "${relativeId(unresolvedId)}".`
+    };
+}
+function logUnresolvedImport(source, importer) {
+    return {
+        code: UNRESOLVED_IMPORT,
+        exporter: source,
+        id: importer,
+        message: `Could not resolve "${source}" from "${relativeId(importer)}"`
+    };
+}
+function logUnresolvedImportTreatedAsExternal(source, importer) {
+    return {
+        code: UNRESOLVED_IMPORT,
+        exporter: source,
+        id: importer,
+        message: `"${source}" is imported by "${relativeId(importer)}", but could not be resolved – treating it as an external dependency.`,
+        url: getRollupUrl(URL_TREATING_MODULE_AS_EXTERNAL_DEPENDENCY)
+    };
+}
+function logUnusedExternalImports(externalId, names, importers) {
+    return {
+        code: UNUSED_EXTERNAL_IMPORT,
+        exporter: externalId,
+        ids: importers,
+        message: `${printQuotedStringList(names, [
+            'is',
+            'are'
+        ])} imported from external module "${externalId}" but never used in ${printQuotedStringList(importers.map(importer => relativeId(importer)))}.`,
+        names
+    };
+}
+function logFailedValidation(message) {
+    return {
+        code: VALIDATION_ERROR,
+        message
+    };
+}
+function warnDeprecation(deprecation, urlSnippet, activeDeprecation, options, plugin) {
+    warnDeprecationWithOptions(deprecation, urlSnippet, activeDeprecation, options.onLog, options.strictDeprecations, plugin);
+}
+function warnDeprecationWithOptions(deprecation, urlSnippet, activeDeprecation, log, strictDeprecations, plugin) {
+    if (activeDeprecation || strictDeprecations) {
+        const warning = logDeprecation(deprecation, urlSnippet, plugin);
+        if (strictDeprecations) {
+            return error(warning);
+        }
+        log(LOGLEVEL_WARN, warning);
+    }
+}
+
+// This file is generated by scripts/generate-ast-converters.js.
+// Do not edit this file directly.
+const ANNOTATION_KEY = '_rollupAnnotations';
+const INVALID_ANNOTATION_KEY = '_rollupRemoved';
+function convertProgram(buffer, readString) {
+    return convertNode(0, new Uint32Array(buffer), readString);
+}
+/* eslint-disable sort-keys */
+const nodeConverters = [
+    function parseError(position, buffer, readString) {
+        const pos = buffer[position++];
+        const message = convertString(position, buffer, readString);
+        error(logParseError(message, pos));
+    },
+    function panicError(position, buffer, readString) {
+        const message = convertString(position, buffer, readString);
+        error(logParseError(message));
+    },
+    function arrayExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const elements = convertNodeList(position, buffer, readString);
+        return {
+            type: 'ArrayExpression',
+            start,
+            end,
+            elements
+        };
+    },
+    function arrayPattern(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const elements = convertNodeList(position, buffer, readString);
+        return {
+            type: 'ArrayPattern',
+            start,
+            end,
+            elements
+        };
+    },
+    function arrowFunctionExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const async = (flags & 1) === 1;
+        const expression = (flags & 2) === 2;
+        const generator = (flags & 4) === 4;
+        const parameters = convertNodeList(buffer[position++], buffer, readString);
+        const body = convertNode(buffer[position++], buffer, readString);
+        const annotations = convertAnnotations(position, buffer);
+        return {
+            type: 'ArrowFunctionExpression',
+            start,
+            end,
+            async,
+            expression,
+            generator,
+            ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}),
+            params: parameters,
+            body,
+            id: null
+        };
+    },
+    function assignmentExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const operator = FIXED_STRINGS[buffer[position++]];
+        const right = convertNode(buffer[position++], buffer, readString);
+        const left = convertNode(position, buffer, readString);
+        return {
+            type: 'AssignmentExpression',
+            start,
+            end,
+            operator,
+            left,
+            right
+        };
+    },
+    function assignmentPattern(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const right = convertNode(buffer[position++], buffer, readString);
+        const left = convertNode(position, buffer, readString);
+        return {
+            type: 'AssignmentPattern',
+            start,
+            end,
+            left,
+            right
+        };
+    },
+    function awaitExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const argument = convertNode(position, buffer, readString);
+        return {
+            type: 'AwaitExpression',
+            start,
+            end,
+            argument
+        };
+    },
+    function binaryExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const operator = FIXED_STRINGS[buffer[position++]];
+        const right = convertNode(buffer[position++], buffer, readString);
+        const left = convertNode(position, buffer, readString);
+        return {
+            type: 'BinaryExpression',
+            start,
+            end,
+            operator,
+            left,
+            right
+        };
+    },
+    function blockStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const body = convertNodeList(position, buffer, readString);
+        return {
+            type: 'BlockStatement',
+            start,
+            end,
+            body
+        };
+    },
+    function breakStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const labelPosition = buffer[position];
+        const label = labelPosition === 0 ? null : convertNode(labelPosition, buffer, readString);
+        return {
+            type: 'BreakStatement',
+            start,
+            end,
+            label
+        };
+    },
+    function callExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const optional = (flags & 1) === 1;
+        const callee = convertNode(buffer[position++], buffer, readString);
+        const callArguments = convertNodeList(buffer[position++], buffer, readString);
+        const annotations = convertAnnotations(position, buffer);
+        return {
+            type: 'CallExpression',
+            start,
+            end,
+            optional,
+            ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}),
+            callee,
+            arguments: callArguments
+        };
+    },
+    function catchClause(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const parameterPosition = buffer[position++];
+        const parameter = parameterPosition === 0 ? null : convertNode(parameterPosition, buffer, readString);
+        const body = convertNode(buffer[position], buffer, readString);
+        return {
+            type: 'CatchClause',
+            start,
+            end,
+            param: parameter,
+            body
+        };
+    },
+    function chainExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const expression = convertNode(position, buffer, readString);
+        return {
+            type: 'ChainExpression',
+            start,
+            end,
+            expression
+        };
+    },
+    function classBody(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const body = convertNodeList(position, buffer, readString);
+        return {
+            type: 'ClassBody',
+            start,
+            end,
+            body
+        };
+    },
+    function classDeclaration(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const idPosition = buffer[position++];
+        const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString);
+        const superClassPosition = buffer[position++];
+        const superClass = superClassPosition === 0 ? null : convertNode(superClassPosition, buffer, readString);
+        const body = convertNode(buffer[position], buffer, readString);
+        return {
+            type: 'ClassDeclaration',
+            start,
+            end,
+            id,
+            superClass,
+            body
+        };
+    },
+    function classExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const idPosition = buffer[position++];
+        const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString);
+        const superClassPosition = buffer[position++];
+        const superClass = superClassPosition === 0 ? null : convertNode(superClassPosition, buffer, readString);
+        const body = convertNode(buffer[position], buffer, readString);
+        return {
+            type: 'ClassExpression',
+            start,
+            end,
+            id,
+            superClass,
+            body
+        };
+    },
+    function conditionalExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const consequent = convertNode(buffer[position++], buffer, readString);
+        const alternate = convertNode(buffer[position++], buffer, readString);
+        const test = convertNode(position, buffer, readString);
+        return {
+            type: 'ConditionalExpression',
+            start,
+            end,
+            test,
+            consequent,
+            alternate
+        };
+    },
+    function continueStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const labelPosition = buffer[position];
+        const label = labelPosition === 0 ? null : convertNode(labelPosition, buffer, readString);
+        return {
+            type: 'ContinueStatement',
+            start,
+            end,
+            label
+        };
+    },
+    function debuggerStatement(position, buffer) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        return {
+            type: 'DebuggerStatement',
+            start,
+            end
+        };
+    },
+    function directive(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const expression = convertNode(buffer[position++], buffer, readString);
+        const directive = convertString(position, buffer, readString);
+        return {
+            type: 'ExpressionStatement',
+            start,
+            end,
+            directive,
+            expression
+        };
+    },
+    function doWhileStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const test = convertNode(buffer[position++], buffer, readString);
+        const body = convertNode(position, buffer, readString);
+        return {
+            type: 'DoWhileStatement',
+            start,
+            end,
+            body,
+            test
+        };
+    },
+    function emptyStatement(position, buffer) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        return {
+            type: 'EmptyStatement',
+            start,
+            end
+        };
+    },
+    function exportAllDeclaration(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const exportedPosition = buffer[position++];
+        const exported = exportedPosition === 0 ? null : convertNode(exportedPosition, buffer, readString);
+        const source = convertNode(buffer[position++], buffer, readString);
+        const attributes = convertNodeList(buffer[position], buffer, readString);
+        return {
+            type: 'ExportAllDeclaration',
+            start,
+            end,
+            exported,
+            source,
+            attributes
+        };
+    },
+    function exportDefaultDeclaration(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const declaration = convertNode(position, buffer, readString);
+        return {
+            type: 'ExportDefaultDeclaration',
+            start,
+            end,
+            declaration
+        };
+    },
+    function exportNamedDeclaration(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const sourcePosition = buffer[position++];
+        const source = sourcePosition === 0 ? null : convertNode(sourcePosition, buffer, readString);
+        const attributes = convertNodeList(buffer[position++], buffer, readString);
+        const declarationPosition = buffer[position++];
+        const declaration = declarationPosition === 0 ? null : convertNode(declarationPosition, buffer, readString);
+        const specifiers = convertNodeList(position, buffer, readString);
+        return {
+            type: 'ExportNamedDeclaration',
+            start,
+            end,
+            specifiers,
+            source,
+            attributes,
+            declaration
+        };
+    },
+    function exportSpecifier(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const exportedPosition = buffer[position++];
+        const local = convertNode(position, buffer, readString);
+        return {
+            type: 'ExportSpecifier',
+            start,
+            end,
+            local,
+            exported: exportedPosition === 0 ? { ...local } : convertNode(exportedPosition, buffer, readString)
+        };
+    },
+    function expressionStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const expression = convertNode(position, buffer, readString);
+        return {
+            type: 'ExpressionStatement',
+            start,
+            end,
+            expression
+        };
+    },
+    function forInStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const right = convertNode(buffer[position++], buffer, readString);
+        const body = convertNode(buffer[position++], buffer, readString);
+        const left = convertNode(position, buffer, readString);
+        return {
+            type: 'ForInStatement',
+            start,
+            end,
+            left,
+            right,
+            body
+        };
+    },
+    function forOfStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const awaited = (flags & 1) === 1;
+        const right = convertNode(buffer[position++], buffer, readString);
+        const body = convertNode(buffer[position++], buffer, readString);
+        const left = convertNode(position, buffer, readString);
+        return {
+            type: 'ForOfStatement',
+            start,
+            end,
+            await: awaited,
+            left,
+            right,
+            body
+        };
+    },
+    function forStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const initPosition = buffer[position++];
+        const init = initPosition === 0 ? null : convertNode(initPosition, buffer, readString);
+        const testPosition = buffer[position++];
+        const test = testPosition === 0 ? null : convertNode(testPosition, buffer, readString);
+        const updatePosition = buffer[position++];
+        const update = updatePosition === 0 ? null : convertNode(updatePosition, buffer, readString);
+        const body = convertNode(buffer[position], buffer, readString);
+        return {
+            type: 'ForStatement',
+            start,
+            end,
+            init,
+            test,
+            update,
+            body
+        };
+    },
+    function functionDeclaration(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const async = (flags & 1) === 1;
+        const generator = (flags & 2) === 2;
+        const idPosition = buffer[position++];
+        const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString);
+        const parameters = convertNodeList(buffer[position++], buffer, readString);
+        const body = convertNode(buffer[position++], buffer, readString);
+        const annotations = convertAnnotations(position, buffer);
+        return {
+            type: 'FunctionDeclaration',
+            start,
+            end,
+            async,
+            generator,
+            ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}),
+            id,
+            params: parameters,
+            body,
+            expression: false
+        };
+    },
+    function functionExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const async = (flags & 1) === 1;
+        const generator = (flags & 2) === 2;
+        const idPosition = buffer[position++];
+        const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString);
+        const parameters = convertNodeList(buffer[position++], buffer, readString);
+        const body = convertNode(buffer[position++], buffer, readString);
+        const annotations = convertAnnotations(position, buffer);
+        return {
+            type: 'FunctionExpression',
+            start,
+            end,
+            async,
+            generator,
+            ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}),
+            id,
+            params: parameters,
+            body,
+            expression: false
+        };
+    },
+    function identifier(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const name = convertString(position, buffer, readString);
+        return {
+            type: 'Identifier',
+            start,
+            end,
+            name
+        };
+    },
+    function ifStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const consequent = convertNode(buffer[position++], buffer, readString);
+        const alternatePosition = buffer[position++];
+        const alternate = alternatePosition === 0 ? null : convertNode(alternatePosition, buffer, readString);
+        const test = convertNode(position, buffer, readString);
+        return {
+            type: 'IfStatement',
+            start,
+            end,
+            test,
+            consequent,
+            alternate
+        };
+    },
+    function importAttribute(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const value = convertNode(buffer[position++], buffer, readString);
+        const key = convertNode(position, buffer, readString);
+        return {
+            type: 'ImportAttribute',
+            start,
+            end,
+            key,
+            value
+        };
+    },
+    function importDeclaration(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const source = convertNode(buffer[position++], buffer, readString);
+        const attributes = convertNodeList(buffer[position++], buffer, readString);
+        const specifiers = convertNodeList(position, buffer, readString);
+        return {
+            type: 'ImportDeclaration',
+            start,
+            end,
+            specifiers,
+            source,
+            attributes
+        };
+    },
+    function importDefaultSpecifier(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const local = convertNode(position, buffer, readString);
+        return {
+            type: 'ImportDefaultSpecifier',
+            start,
+            end,
+            local
+        };
+    },
+    function importExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const optionsPosition = buffer[position++];
+        const options = optionsPosition === 0 ? null : convertNode(optionsPosition, buffer, readString);
+        const source = convertNode(position, buffer, readString);
+        return {
+            type: 'ImportExpression',
+            start,
+            end,
+            source,
+            options
+        };
+    },
+    function importNamespaceSpecifier(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const local = convertNode(position, buffer, readString);
+        return {
+            type: 'ImportNamespaceSpecifier',
+            start,
+            end,
+            local
+        };
+    },
+    function importSpecifier(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const importedPosition = buffer[position++];
+        const local = convertNode(buffer[position], buffer, readString);
+        return {
+            type: 'ImportSpecifier',
+            start,
+            end,
+            imported: importedPosition === 0 ? { ...local } : convertNode(importedPosition, buffer, readString),
+            local
+        };
+    },
+    function labeledStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const body = convertNode(buffer[position++], buffer, readString);
+        const label = convertNode(position, buffer, readString);
+        return {
+            type: 'LabeledStatement',
+            start,
+            end,
+            label,
+            body
+        };
+    },
+    function literalBigInt(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const raw = convertString(buffer[position++], buffer, readString);
+        const bigint = convertString(position, buffer, readString);
+        return {
+            type: 'Literal',
+            start,
+            end,
+            bigint,
+            raw,
+            value: BigInt(bigint)
+        };
+    },
+    function literalBoolean(position, buffer) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const value = (flags & 1) === 1;
+        return {
+            type: 'Literal',
+            start,
+            end,
+            value,
+            raw: value ? 'true' : 'false'
+        };
+    },
+    function literalNull(position, buffer) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        return {
+            type: 'Literal',
+            start,
+            end,
+            raw: 'null',
+            value: null
+        };
+    },
+    function literalNumber(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const rawPosition = buffer[position++];
+        const raw = rawPosition === 0 ? undefined : convertString(rawPosition, buffer, readString);
+        const value = new DataView(buffer.buffer).getFloat64(position << 2, true);
+        return {
+            type: 'Literal',
+            start,
+            end,
+            raw,
+            value
+        };
+    },
+    function literalRegExp(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const pattern = convertString(buffer[position++], buffer, readString);
+        const flags = convertString(position, buffer, readString);
+        return {
+            type: 'Literal',
+            start,
+            end,
+            raw: `/${pattern}/${flags}`,
+            regex: { flags, pattern },
+            value: new RegExp(pattern, flags)
+        };
+    },
+    function literalString(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const rawPosition = buffer[position++];
+        const raw = rawPosition === 0 ? undefined : convertString(rawPosition, buffer, readString);
+        const value = convertString(position, buffer, readString);
+        return {
+            type: 'Literal',
+            start,
+            end,
+            value,
+            raw
+        };
+    },
+    function logicalExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const operator = FIXED_STRINGS[buffer[position++]];
+        const right = convertNode(buffer[position++], buffer, readString);
+        const left = convertNode(position, buffer, readString);
+        return {
+            type: 'LogicalExpression',
+            start,
+            end,
+            operator,
+            left,
+            right
+        };
+    },
+    function memberExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const computed = (flags & 1) === 1;
+        const optional = (flags & 2) === 2;
+        const property = convertNode(buffer[position++], buffer, readString);
+        const object = convertNode(position, buffer, readString);
+        return {
+            type: 'MemberExpression',
+            start,
+            end,
+            computed,
+            optional,
+            object,
+            property
+        };
+    },
+    function metaProperty(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const property = convertNode(buffer[position++], buffer, readString);
+        const meta = convertNode(position, buffer, readString);
+        return {
+            type: 'MetaProperty',
+            start,
+            end,
+            meta,
+            property
+        };
+    },
+    function methodDefinition(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const computed = (flags & 1) === 1;
+        const isStatic = (flags & 2) === 2;
+        const value = convertNode(buffer[position++], buffer, readString);
+        const kind = FIXED_STRINGS[buffer[position++]];
+        const key = convertNode(position, buffer, readString);
+        return {
+            type: 'MethodDefinition',
+            start,
+            end,
+            computed,
+            static: isStatic,
+            key,
+            value,
+            kind
+        };
+    },
+    function newExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const callee = convertNode(buffer[position++], buffer, readString);
+        const callArguments = convertNodeList(buffer[position++], buffer, readString);
+        const annotations = convertAnnotations(position, buffer);
+        return {
+            type: 'NewExpression',
+            start,
+            end,
+            ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}),
+            callee,
+            arguments: callArguments
+        };
+    },
+    function objectExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const properties = convertNodeList(position, buffer, readString);
+        return {
+            type: 'ObjectExpression',
+            start,
+            end,
+            properties
+        };
+    },
+    function objectPattern(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const properties = convertNodeList(position, buffer, readString);
+        return {
+            type: 'ObjectPattern',
+            start,
+            end,
+            properties
+        };
+    },
+    function privateIdentifier(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const name = convertString(position, buffer, readString);
+        return {
+            type: 'PrivateIdentifier',
+            start,
+            end,
+            name
+        };
+    },
+    function program(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const annotations = convertAnnotations(buffer[position++], buffer);
+        const body = convertNodeList(position, buffer, readString);
+        return {
+            type: 'Program',
+            start,
+            end,
+            body,
+            ...(annotations.length > 0 ? { [INVALID_ANNOTATION_KEY]: annotations } : {}),
+            sourceType: 'module'
+        };
+    },
+    function property(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const method = (flags & 1) === 1;
+        const shorthand = (flags & 2) === 2;
+        const computed = (flags & 4) === 4;
+        const keyPosition = buffer[position++];
+        const value = convertNode(buffer[position++], buffer, readString);
+        const kind = FIXED_STRINGS[buffer[position]];
+        return {
+            type: 'Property',
+            start,
+            end,
+            method,
+            shorthand,
+            computed,
+            key: keyPosition === 0 ? { ...value } : convertNode(keyPosition, buffer, readString),
+            value,
+            kind
+        };
+    },
+    function propertyDefinition(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const computed = (flags & 1) === 1;
+        const isStatic = (flags & 2) === 2;
+        const valuePosition = buffer[position++];
+        const value = valuePosition === 0 ? null : convertNode(valuePosition, buffer, readString);
+        const key = convertNode(position, buffer, readString);
+        return {
+            type: 'PropertyDefinition',
+            start,
+            end,
+            computed,
+            static: isStatic,
+            key,
+            value
+        };
+    },
+    function restElement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const argument = convertNode(position, buffer, readString);
+        return {
+            type: 'RestElement',
+            start,
+            end,
+            argument
+        };
+    },
+    function returnStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const argumentPosition = buffer[position];
+        const argument = argumentPosition === 0 ? null : convertNode(argumentPosition, buffer, readString);
+        return {
+            type: 'ReturnStatement',
+            start,
+            end,
+            argument
+        };
+    },
+    function sequenceExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const expressions = convertNodeList(position, buffer, readString);
+        return {
+            type: 'SequenceExpression',
+            start,
+            end,
+            expressions
+        };
+    },
+    function spreadElement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const argument = convertNode(position, buffer, readString);
+        return {
+            type: 'SpreadElement',
+            start,
+            end,
+            argument
+        };
+    },
+    function staticBlock(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const body = convertNodeList(position, buffer, readString);
+        return {
+            type: 'StaticBlock',
+            start,
+            end,
+            body
+        };
+    },
+    function superElement(position, buffer) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        return {
+            type: 'Super',
+            start,
+            end
+        };
+    },
+    function switchCase(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const testPosition = buffer[position++];
+        const test = testPosition === 0 ? null : convertNode(testPosition, buffer, readString);
+        const consequent = convertNodeList(buffer[position], buffer, readString);
+        return {
+            type: 'SwitchCase',
+            start,
+            end,
+            test,
+            consequent
+        };
+    },
+    function switchStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const cases = convertNodeList(buffer[position++], buffer, readString);
+        const discriminant = convertNode(position, buffer, readString);
+        return {
+            type: 'SwitchStatement',
+            start,
+            end,
+            discriminant,
+            cases
+        };
+    },
+    function taggedTemplateExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const quasi = convertNode(buffer[position++], buffer, readString);
+        const tag = convertNode(position, buffer, readString);
+        return {
+            type: 'TaggedTemplateExpression',
+            start,
+            end,
+            tag,
+            quasi
+        };
+    },
+    function templateElement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const tail = (flags & 1) === 1;
+        const cookedPosition = buffer[position++];
+        const cooked = cookedPosition === 0 ? undefined : convertString(cookedPosition, buffer, readString);
+        const raw = convertString(position, buffer, readString);
+        return {
+            type: 'TemplateElement',
+            start,
+            end,
+            tail,
+            value: { cooked, raw }
+        };
+    },
+    function templateLiteral(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const expressions = convertNodeList(buffer[position++], buffer, readString);
+        const quasis = convertNodeList(position, buffer, readString);
+        return {
+            type: 'TemplateLiteral',
+            start,
+            end,
+            quasis,
+            expressions
+        };
+    },
+    function thisExpression(position, buffer) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        return {
+            type: 'ThisExpression',
+            start,
+            end
+        };
+    },
+    function throwStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const argument = convertNode(position, buffer, readString);
+        return {
+            type: 'ThrowStatement',
+            start,
+            end,
+            argument
+        };
+    },
+    function tryStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const handlerPosition = buffer[position++];
+        const handler = handlerPosition === 0 ? null : convertNode(handlerPosition, buffer, readString);
+        const finalizerPosition = buffer[position++];
+        const finalizer = finalizerPosition === 0 ? null : convertNode(finalizerPosition, buffer, readString);
+        const block = convertNode(position, buffer, readString);
+        return {
+            type: 'TryStatement',
+            start,
+            end,
+            block,
+            handler,
+            finalizer
+        };
+    },
+    function unaryExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const operator = FIXED_STRINGS[buffer[position++]];
+        const argument = convertNode(position, buffer, readString);
+        return {
+            type: 'UnaryExpression',
+            start,
+            end,
+            operator,
+            argument,
+            prefix: true
+        };
+    },
+    function updateExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const prefix = (flags & 1) === 1;
+        const operator = FIXED_STRINGS[buffer[position++]];
+        const argument = convertNode(position, buffer, readString);
+        return {
+            type: 'UpdateExpression',
+            start,
+            end,
+            prefix,
+            operator,
+            argument
+        };
+    },
+    function variableDeclaration(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const kind = FIXED_STRINGS[buffer[position++]];
+        const declarations = convertNodeList(position, buffer, readString);
+        return {
+            type: 'VariableDeclaration',
+            start,
+            end,
+            kind,
+            declarations
+        };
+    },
+    function variableDeclarator(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const initPosition = buffer[position++];
+        const init = initPosition === 0 ? null : convertNode(initPosition, buffer, readString);
+        const id = convertNode(position, buffer, readString);
+        return {
+            type: 'VariableDeclarator',
+            start,
+            end,
+            id,
+            init
+        };
+    },
+    function whileStatement(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const body = convertNode(buffer[position++], buffer, readString);
+        const test = convertNode(position, buffer, readString);
+        return {
+            type: 'WhileStatement',
+            start,
+            end,
+            test,
+            body
+        };
+    },
+    function yieldExpression(position, buffer, readString) {
+        const start = buffer[position++];
+        const end = buffer[position++];
+        const flags = buffer[position++];
+        const delegate = (flags & 1) === 1;
+        const argumentPosition = buffer[position];
+        const argument = argumentPosition === 0 ? null : convertNode(argumentPosition, buffer, readString);
+        return {
+            type: 'YieldExpression',
+            start,
+            end,
+            delegate,
+            argument
+        };
+    }
+];
+function convertNode(position, buffer, readString) {
+    const nodeType = buffer[position];
+    const converter = nodeConverters[nodeType];
+    /* istanbul ignore if: This should never be executed but is a safeguard against faulty buffers */
+    if (!converter) {
+        console.trace();
+        throw new Error(`Unknown node type: ${nodeType}`);
+    }
+    return converter(position + 1, buffer, readString);
+}
+function convertNodeList(position, buffer, readString) {
+    const length = buffer[position++];
+    const list = [];
+    for (let index = 0; index < length; index++) {
+        const nodePosition = buffer[position++];
+        list.push(nodePosition ? convertNode(nodePosition, buffer, readString) : null);
+    }
+    return list;
+}
+const convertAnnotations = (position, buffer) => {
+    const length = buffer[position++];
+    const list = [];
+    for (let index = 0; index < length; index++) {
+        list.push(convertAnnotation(buffer[position++], buffer));
+    }
+    return list;
+};
+const convertAnnotation = (position, buffer) => {
+    const start = buffer[position++];
+    const end = buffer[position++];
+    const type = FIXED_STRINGS[buffer[position]];
+    return { end, start, type };
+};
+const convertString = (position, buffer, readString) => {
+    const length = buffer[position++];
+    const bytePosition = position << 2;
+    return readString(bytePosition, length);
+};
+
+function getReadStringFunction(astBuffer) {
+    if (typeof Buffer !== 'undefined' && astBuffer instanceof Buffer) {
+        return function readString(start, length) {
+            return astBuffer.toString('utf8', start, start + length);
+        };
+    }
+    else {
+        const textDecoder = new TextDecoder();
+        return function readString(start, length) {
+            return textDecoder.decode(astBuffer.subarray(start, start + length));
+        };
+    }
+}
+
+const parseAst = (input, { allowReturnOutsideFunction = false } = {}) => {
+    const astBuffer = parse(input, allowReturnOutsideFunction);
+    return convertProgram(astBuffer.buffer, getReadStringFunction(astBuffer));
+};
+const parseAstAsync = async (input, { allowReturnOutsideFunction = false, signal } = {}) => {
+    const astBuffer = await parseAsync(input, allowReturnOutsideFunction, signal);
+    return convertProgram(astBuffer.buffer, getReadStringFunction(astBuffer));
+};
+
+export { ANNOTATION_KEY, INVALID_ANNOTATION_KEY, LOGLEVEL_DEBUG, LOGLEVEL_ERROR, LOGLEVEL_INFO, LOGLEVEL_WARN, URL_OUTPUT_AMD_BASEPATH, URL_OUTPUT_AMD_ID, URL_OUTPUT_DIR, URL_OUTPUT_EXTERNALIMPORTATTRIBUTES, URL_OUTPUT_FORMAT, URL_OUTPUT_GENERATEDCODE, URL_OUTPUT_INLINEDYNAMICIMPORTS, URL_OUTPUT_INTEROP, URL_OUTPUT_MANUALCHUNKS, URL_OUTPUT_SOURCEMAPBASEURL, URL_OUTPUT_SOURCEMAPFILE, URL_PRESERVEENTRYSIGNATURES, URL_TREESHAKE, URL_TREESHAKE_MODULESIDEEFFECTS, URL_WATCH, addTrailingSlashIfMissed, augmentCodeLocation, error, getAliasName, getImportPath, isAbsolute, isPathFragment, isRelative, isValidUrl, locate, logAddonNotGenerated, logAlreadyClosed, logAmbiguousExternalNamespaces, logAnonymousPluginCache, logAssetNotFinalisedForFileName, logAssetReferenceIdNotFoundForSetSource, logAssetSourceAlreadySet, logBadLoader, logCannotAssignModuleToChunk, logCannotCallNamespace, logCannotEmitFromOptionsHook, logChunkInvalid, logChunkNotGeneratedForFileName, logCircularDependency, logCircularReexport, logConflictingSourcemapSources, logConstVariableReassignError, logCyclicCrossChunkReexport, logDuplicateArgumentNameError, logDuplicateExportError, logDuplicatePluginName, logEmptyChunk, logEntryCannotBeExternal, logEval, logExternalModulesCannotBeIncludedInManualChunks, logExternalModulesCannotBeTransformedToModules, logExternalSyntheticExports, logFailedValidation, logFileNameConflict, logFileReferenceIdNotFoundForFilename, logFirstSideEffect, logIllegalIdentifierAsName, logIllegalImportReassignment, logImplicitDependantCannotBeExternal, logImplicitDependantIsNotIncluded, logImportAttributeIsInvalid, logImportOptionsAreInvalid, logIncompatibleExportOptionValue, logInconsistentImportAttributes, logInputHookInOutputPlugin, logInternalIdCannotBeExternal, logInvalidAddonPluginHook, logInvalidAnnotation, logInvalidExportOptionValue, logInvalidFormatForTopLevelAwait, logInvalidFunctionPluginHook, logInvalidLogPosition, logInvalidOption, logInvalidRollupPhaseForChunkEmission, logInvalidSetAssetSourceCall, logInvalidSourcemapForError, logLevelPriority, logMissingEntryExport, logMissingExport, logMissingFileOrDirOption, logMissingGlobalName, logMissingNameOptionForIifeExport, logMissingNameOptionForUmdExport, logMissingNodeBuiltins, logMixedExport, logModuleLevelDirective, logModuleParseError, logNamespaceConflict, logNoAssetSourceSet, logNoTransformMapOrAstWithoutCode, logOptimizeChunkStatus, logPluginError, logRedeclarationError, logShimmedExport, logSourcemapBroken, logSyntheticNamedExportsNeedNamespaceExport, logThisIsUndefined, logUnexpectedNamedImport, logUnexpectedNamespaceReexport, logUnknownOption, logUnresolvedEntry, logUnresolvedImplicitDependant, logUnresolvedImport, logUnresolvedImportTreatedAsExternal, logUnusedExternalImports, normalize, parseAst, parseAstAsync, printQuotedStringList, relative, relativeId, warnDeprecation };
diff --git a/.pnpm-store/v3/files/22/2434e6f80ed40cf08f72aa6b74a11189437604a0ceeb7aaadb89978facb99d62dd38f8511c561b84a82fe4bc74c404e48853fcf239cfdea9a87f2ba10d4eba b/.pnpm-store/v3/files/22/2434e6f80ed40cf08f72aa6b74a11189437604a0ceeb7aaadb89978facb99d62dd38f8511c561b84a82fe4bc74c404e48853fcf239cfdea9a87f2ba10d4eba
new file mode 100644
index 00000000..7b46edbe
--- /dev/null
+++ b/.pnpm-store/v3/files/22/2434e6f80ed40cf08f72aa6b74a11189437604a0ceeb7aaadb89978facb99d62dd38f8511c561b84a82fe4bc74c404e48853fcf239cfdea9a87f2ba10d4eba
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB VC WC","132":"kB 9B lB","450":"cB dB eB fB gB hB iB jB 8B"},D:{"1":"0 1 2 3 4 5 6 7 8 tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","706":"fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB"},E:{"1":"L G cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B","1028":"K 3B FC"},F:{"1":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB iC jC kC lC 2B QC mC 3B","706":"fB gB hB"},G:{"1":"zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD KD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:6,C:"TLS 1.3",D:true};
diff --git a/.pnpm-store/v3/files/22/498446c17a84707be810d5b8a87caf2e03197d7afddb2cbd7e1676e6e13b91408a1c785ad51f6eeab80968ee5a57f5d27acdd2ee1f206eaeaddb08b8efcd2b b/.pnpm-store/v3/files/22/498446c17a84707be810d5b8a87caf2e03197d7afddb2cbd7e1676e6e13b91408a1c785ad51f6eeab80968ee5a57f5d27acdd2ee1f206eaeaddb08b8efcd2b
new file mode 100644
index 00000000..4ce16493
--- /dev/null
+++ b/.pnpm-store/v3/files/22/498446c17a84707be810d5b8a87caf2e03197d7afddb2cbd7e1676e6e13b91408a1c785ad51f6eeab80968ee5a57f5d27acdd2ee1f206eaeaddb08b8efcd2b
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h i j","2":"C K L G M N O","129":"k l m n o p v w x","385":"0 1 2 3 4 5 6 7 8 y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j","129":"k l m n o p v w x","385":"0 1 2 3 4 5 6 y z","897":"7 8 H 1B BC CC"},E:{"1":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B 3B","2":"K L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z kC lC 2B QC mC 3B","2":"F iC jC","257":"a b c d e f g h i j k l m n o p"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC","2":"0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I AD BD CD DD RC ED FD","257":"H"},J:{"1":"D A"},K:{"1":"B C 2B QC 3B","2":"A","257":"u"},L:{"257":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"Web SQL Database",D:true};
diff --git a/.pnpm-store/v3/files/22/94968f2158b6a79130a6f7bccab13e9c01fda47d13ec2fcfcffc3966457543307eb8af0e9820ba266caa771156b3720cf6b4538cd13bd80e7785fc2e3a962a b/.pnpm-store/v3/files/22/94968f2158b6a79130a6f7bccab13e9c01fda47d13ec2fcfcffc3966457543307eb8af0e9820ba266caa771156b3720cf6b4538cd13bd80e7785fc2e3a962a
new file mode 100644
index 00000000..5825bf88
--- /dev/null
+++ b/.pnpm-store/v3/files/22/94968f2158b6a79130a6f7bccab13e9c01fda47d13ec2fcfcffc3966457543307eb8af0e9820ba266caa771156b3720cf6b4538cd13bd80e7785fc2e3a962a
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB iC jC kC lC 2B QC mC 3B"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Array.prototype.includes",D:true};
diff --git a/.pnpm-store/v3/files/22/a4ce2354033cedae91741f68080bf922946e5793f6a63d4a56567365741f476ee60853b6269745d442c2ddd3087320b1f32b068f17777d738376713457c649 b/.pnpm-store/v3/files/22/a4ce2354033cedae91741f68080bf922946e5793f6a63d4a56567365741f476ee60853b6269745d442c2ddd3087320b1f32b068f17777d738376713457c649
new file mode 100644
index 00000000..0a1b18d4
--- /dev/null
+++ b/.pnpm-store/v3/files/22/a4ce2354033cedae91741f68080bf922946e5793f6a63d4a56567365741f476ee60853b6269745d442c2ddd3087320b1f32b068f17777d738376713457c649
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB iC jC kC lC 2B QC mC 3B"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:1,C:"Passive event listeners",D:true};
diff --git a/.pnpm-store/v3/files/22/a5748e1f193b2c970bfdd2c08395defd6d61086d6a8922c527df7b49e01f5ed501dae58659e506012bd04d749605341aff8961badd7ca19054cee18431f7d6 b/.pnpm-store/v3/files/22/a5748e1f193b2c970bfdd2c08395defd6d61086d6a8922c527df7b49e01f5ed501dae58659e506012bd04d749605341aff8961badd7ca19054cee18431f7d6
new file mode 100644
index 00000000..7291916f
--- /dev/null
+++ b/.pnpm-store/v3/files/22/a5748e1f193b2c970bfdd2c08395defd6d61086d6a8922c527df7b49e01f5ed501dae58659e506012bd04d749605341aff8961badd7ca19054cee18431f7d6
@@ -0,0 +1 @@
+module.exports={C:{"51":0.00745,"52":0.00745,"69":0.01489,"78":0.00745,"88":0.02234,"92":0.04468,"102":0.00745,"103":0.00745,"105":0.00745,"108":0.02234,"113":0.00745,"115":4.55012,"116":0.00745,"117":0.01489,"118":0.00745,"119":0.02234,"120":0.10426,"121":2.32346,"122":0.46171,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 93 94 95 96 97 98 99 100 101 104 106 107 109 110 111 112 114 123 124 125 3.5 3.6"},D:{"44":0.00745,"49":0.00745,"51":0.00745,"56":0.01489,"73":0.00745,"74":0.02234,"78":0.01489,"79":0.02234,"83":0.00745,"85":0.01489,"86":0.02979,"87":0.01489,"88":0.00745,"89":0.00745,"90":0.02979,"93":0.18618,"96":0.02234,"97":0.00745,"98":0.01489,"99":0.00745,"100":0.00745,"102":0.02234,"103":0.02234,"104":0.00745,"105":0.05958,"106":0.08936,"107":0.02234,"108":0.07447,"109":1.64579,"110":0.09681,"111":0.03724,"112":0.08192,"113":0.02979,"114":0.05958,"115":0.08936,"116":0.49895,"117":0.09681,"118":0.44682,"119":0.92343,"120":42.90217,"121":2.40538,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 50 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 75 76 77 80 81 84 91 92 94 95 101 122 123 124"},F:{"93":0.01489,"95":0.1266,"96":0.00745,"102":0.00745,"105":1.9809,"106":3.87244,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 94 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00745,"16":0.00745,"18":0.01489,"86":0.00745,"92":0.00745,"98":0.00745,"103":0.02979,"108":0.00745,"109":0.05958,"110":0.01489,"111":0.01489,"112":0.00745,"114":0.00745,"115":0.00745,"116":0.00745,"117":0.00745,"118":0.02234,"119":0.05958,"120":6.09909,"121":0.82662,_:"12 13 15 17 79 80 81 83 84 85 87 88 89 90 91 93 94 95 96 97 99 100 101 102 104 105 106 107 113"},E:{"9":0.00745,"14":0.02234,"15":0.00745,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 6.1 7.1 10.1 11.1 17.4","5.1":0.00745,"9.1":0.00745,"12.1":0.00745,"13.1":0.05213,"14.1":0.08192,"15.1":0.01489,"15.2-15.3":0.01489,"15.4":0.02234,"15.5":0.13405,"15.6":0.17128,"16.0":0.02979,"16.1":0.06702,"16.2":0.07447,"16.3":0.10426,"16.4":0.05213,"16.5":0.07447,"16.6":0.32022,"17.0":0.08936,"17.1":0.39469,"17.2":0.64044,"17.3":0.06702},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00183,"5.0-5.1":0.00275,"6.0-6.1":0.00458,"7.0-7.1":0.00641,"8.1-8.4":0.00092,"9.0-9.2":0.00549,"9.3":0.02105,"10.0-10.2":0.00183,"10.3":0.03294,"11.0-11.2":0.01281,"11.3-11.4":0.01373,"12.0-12.1":0.00824,"12.2-12.5":0.16289,"13.0-13.1":0.00275,"13.2":0.0302,"13.3":0.00824,"13.4-13.7":0.0366,"14.0-14.4":0.06406,"14.5-14.8":0.09792,"15.0-15.1":0.04209,"15.2-15.3":0.0485,"15.4":0.05674,"15.5":0.07504,"15.6-15.8":0.58475,"16.0":0.1757,"16.1":0.37428,"16.2":0.17021,"16.3":0.31662,"16.4":0.07046,"16.5":0.15008,"16.6-16.7":1.22806,"17.0":0.20407,"17.1":2.10381,"17.2":2.84779,"17.3":0.18302},P:{"4":0.01052,"20":0.02105,"21":0.03157,"22":0.07367,"23":1.63126,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0","14.0":0.01052,"16.0":0.01052,"17.0":0.01052,"18.0":0.01052,"19.0":0.02105},I:{"0":0.05848,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00015},A:{"8":0.0264,"10":0.0088,"11":0.06161,_:"6 7 9 5.5"},K:{"0":0.2222,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00255,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.02299},H:{"0":0},L:{"0":14.1714},R:{_:"0"},M:{"0":0.2554}};
diff --git a/.pnpm-store/v3/files/22/b16318691011d3aeb0f57eec3571fb13dfbc96bb182d4ddd225d0dfbb0a07065cb912bb7c8d3772c3093817569434ecb94c3257ed18f38aa73f4e5c7fa8b15 b/.pnpm-store/v3/files/22/b16318691011d3aeb0f57eec3571fb13dfbc96bb182d4ddd225d0dfbb0a07065cb912bb7c8d3772c3093817569434ecb94c3257ed18f38aa73f4e5c7fa8b15
new file mode 100644
index 00000000..d2b44230
--- /dev/null
+++ b/.pnpm-store/v3/files/22/b16318691011d3aeb0f57eec3571fb13dfbc96bb182d4ddd225d0dfbb0a07065cb912bb7c8d3772c3093817569434ecb94c3257ed18f38aa73f4e5c7fa8b15
@@ -0,0 +1,26 @@
+
+
+  
+    
+    
+    
+    Vitest
+    
+    
+    
+    
+    
+    
+    
+  
+  
+    
+ + diff --git a/.pnpm-store/v3/files/22/c646b39b690625af3b89d0e983581dbdae17cb5ba4dac0511e3aa9e0fd25db0b473731e031ae1af16c8a50254259889ebd33d71c12c7909c2d377535acf0f9 b/.pnpm-store/v3/files/22/c646b39b690625af3b89d0e983581dbdae17cb5ba4dac0511e3aa9e0fd25db0b473731e031ae1af16c8a50254259889ebd33d71c12c7909c2d377535acf0f9 new file mode 100644 index 00000000..1de97d01 --- /dev/null +++ b/.pnpm-store/v3/files/22/c646b39b690625af3b89d0e983581dbdae17cb5ba4dac0511e3aa9e0fd25db0b473731e031ae1af16c8a50254259889ebd33d71c12c7909c2d377535acf0f9 @@ -0,0 +1 @@ +{"version":3,"file":"resolve-uri.mjs","sources":["../src/resolve-uri.ts"],"sourcesContent":["// Matches the scheme of a URL, eg \"http://\"\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n\n/**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n\n/**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n\ntype Url = {\n scheme: string;\n user: string;\n host: string;\n port: string;\n path: string;\n query: string;\n hash: string;\n type: UrlType;\n};\n\nconst enum UrlType {\n Empty = 1,\n Hash = 2,\n Query = 3,\n RelativePath = 4,\n AbsolutePath = 5,\n SchemeRelative = 6,\n Absolute = 7,\n}\n\nfunction isAbsoluteUrl(input: string): boolean {\n return schemeRegex.test(input);\n}\n\nfunction isSchemeRelativeUrl(input: string): boolean {\n return input.startsWith('//');\n}\n\nfunction isAbsolutePath(input: string): boolean {\n return input.startsWith('/');\n}\n\nfunction isFileUrl(input: string): boolean {\n return input.startsWith('file:');\n}\n\nfunction isRelative(input: string): boolean {\n return /^[.?#]/.test(input);\n}\n\nfunction parseAbsoluteUrl(input: string): Url {\n const match = urlRegex.exec(input)!;\n return makeUrl(\n match[1],\n match[2] || '',\n match[3],\n match[4] || '',\n match[5] || '/',\n match[6] || '',\n match[7] || '',\n );\n}\n\nfunction parseFileUrl(input: string): Url {\n const match = fileRegex.exec(input)!;\n const path = match[2];\n return makeUrl(\n 'file:',\n '',\n match[1] || '',\n '',\n isAbsolutePath(path) ? path : '/' + path,\n match[3] || '',\n match[4] || '',\n );\n}\n\nfunction makeUrl(\n scheme: string,\n user: string,\n host: string,\n port: string,\n path: string,\n query: string,\n hash: string,\n): Url {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: UrlType.Absolute,\n };\n}\n\nfunction parseUrl(input: string): Url {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = UrlType.SchemeRelative;\n return url;\n }\n\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = UrlType.AbsolutePath;\n return url;\n }\n\n if (isFileUrl(input)) return parseFileUrl(input);\n\n if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? UrlType.Query\n : input.startsWith('#')\n ? UrlType.Hash\n : UrlType.RelativePath\n : UrlType.Empty;\n return url;\n}\n\nfunction stripPathFilename(path: string): string {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..')) return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n\nfunction mergePaths(url: Url, base: Url) {\n normalizePath(base, base.type);\n\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n } else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n}\n\n/**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\nfunction normalizePath(url: Url, type: UrlType) {\n const rel = type <= UrlType.RelativePath;\n const pieces = url.path.split('/');\n\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n\n // A current directory, which we can always drop.\n if (piece === '.') continue;\n\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n}\n\n/**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\nexport default function resolve(input: string, base: string | undefined): string {\n if (!input && !base) return '';\n\n const url = parseUrl(input);\n let inputType = url.type;\n\n if (base && inputType !== UrlType.Absolute) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n\n switch (inputType) {\n case UrlType.Empty:\n url.hash = baseUrl.hash;\n // fall through\n\n case UrlType.Hash:\n url.query = baseUrl.query;\n // fall through\n\n case UrlType.Query:\n case UrlType.RelativePath:\n mergePaths(url, baseUrl);\n // fall through\n\n case UrlType.AbsolutePath:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n\n case UrlType.SchemeRelative:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType) inputType = baseType;\n }\n\n normalizePath(url, inputType);\n\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n\n case UrlType.Hash:\n case UrlType.Query:\n return queryHash;\n\n case UrlType.RelativePath: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n\n if (!path) return queryHash || '.';\n\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n\n return path + queryHash;\n }\n\n case UrlType.AbsolutePath:\n return url.path + queryHash;\n\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n}\n"],"names":[],"mappings":"AAAA;AACA,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAErC;;;;;;;;;;AAUA,MAAM,QAAQ,GAAG,0EAA0E,CAAC;AAE5F;;;;;;;;;AASA,MAAM,SAAS,GAAG,iEAAiE,CAAC;AAuBpF,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;IACpC,OAAO,OAAO,CACZ,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EACf,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CACf,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,OAAO,CACZ,OAAO,EACP,EAAE,EACF,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,EAAE,EACF,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,EACxC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CACf,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CACd,MAAc,EACd,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,KAAa,EACb,IAAY;IAEZ,OAAO;QACL,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,KAAK;QACL,IAAI;QACJ,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;QAC9B,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;QAC9C,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,0BAA0B;QAClC,OAAO,GAAG,CAAC;KACZ;IAED,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;QACzB,MAAM,GAAG,GAAG,gBAAgB,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;QACvD,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;QACd,GAAG,CAAC,IAAI,wBAAwB;QAChC,OAAO,GAAG,CAAC;KACZ;IAED,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAEjD,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEzD,MAAM,GAAG,GAAG,gBAAgB,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;IACxD,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACd,GAAG,CAAC,IAAI,GAAG,KAAK;UACZ,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;;cAEnB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;;;wBAGT;IAClB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;;;IAGrC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,GAAQ,EAAE,IAAS;IACrC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;;;IAI/B,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KACtB;SAAM;;QAEL,GAAG,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;KACpD;AACH,CAAC;AAED;;;;AAIA,SAAS,aAAa,CAAC,GAAQ,EAAE,IAAa;IAC5C,MAAM,GAAG,GAAG,IAAI,yBAAyB;IACzC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;;IAInC,IAAI,OAAO,GAAG,CAAC,CAAC;;;IAIhB,IAAI,QAAQ,GAAG,CAAC,CAAC;;;;IAKjB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;;QAGxB,IAAI,CAAC,KAAK,EAAE;YACV,gBAAgB,GAAG,IAAI,CAAC;YACxB,SAAS;SACV;;QAGD,gBAAgB,GAAG,KAAK,CAAC;;QAGzB,IAAI,KAAK,KAAK,GAAG;YAAE,SAAS;;;QAI5B,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,QAAQ,EAAE;gBACZ,gBAAgB,GAAG,IAAI,CAAC;gBACxB,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;aACX;iBAAM,IAAI,GAAG,EAAE;;;gBAGd,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC;aAC3B;YACD,SAAS;SACV;;;QAID,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC;QAC1B,QAAQ,EAAE,CAAC;KACZ;IAED,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KACzB;IACD,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;QACxD,IAAI,IAAI,GAAG,CAAC;KACb;IACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;AAClB,CAAC;AAED;;;SAGwB,OAAO,CAAC,KAAa,EAAE,IAAwB;IACrE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;IAEzB,IAAI,IAAI,IAAI,SAAS,uBAAuB;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAE9B,QAAQ,SAAS;YACf;gBACE,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;;YAG1B;gBACE,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;;YAG5B,mBAAmB;YACnB;gBACE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;;YAG3B;;gBAEE,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACxB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACxB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;;YAG1B;;gBAEE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC/B;QACD,IAAI,QAAQ,GAAG,SAAS;YAAE,SAAS,GAAG,QAAQ,CAAC;KAChD;IAED,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAE9B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;IACvC,QAAQ,SAAS;;;QAIf,kBAAkB;QAClB;YACE,OAAO,SAAS,CAAC;QAEnB,2BAA2B;;YAEzB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,CAAC,IAAI;gBAAE,OAAO,SAAS,IAAI,GAAG,CAAC;YAEnC,IAAI,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;;;;gBAIlD,OAAO,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;aAChC;YAED,OAAO,IAAI,GAAG,SAAS,CAAC;SACzB;QAED;YACE,OAAO,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;QAE9B;YACE,OAAO,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;KACpF;AACH;;;;"} \ No newline at end of file diff --git a/.pnpm-store/v3/files/22/e478f8775d14a292acf08afbf7168d111008ecde8da97ba044e900ec9bdea194689db5a353b6bff4f44d1277c7584c67ff76a27abcca46716447865b58df60 b/.pnpm-store/v3/files/22/e478f8775d14a292acf08afbf7168d111008ecde8da97ba044e900ec9bdea194689db5a353b6bff4f44d1277c7584c67ff76a27abcca46716447865b58df60 new file mode 100644 index 00000000..49e55f9c --- /dev/null +++ b/.pnpm-store/v3/files/22/e478f8775d14a292acf08afbf7168d111008ecde8da97ba044e900ec9bdea194689db5a353b6bff4f44d1277c7584c67ff76a27abcca46716447865b58df60 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","132":"TB UB VB WB XB YB ZB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB iC jC kC lC 2B QC mC 3B","132":"GB HB IB JB KB LB MB"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"ES6 classes",D:true}; diff --git a/.pnpm-store/v3/files/23/1f41f45b62e645dd92604230b76668b9989519e1b3e04b6449416c145d13a97202e883a00155a7f1ac2bbb661ac013250fb1ef959d38310626a7a6f292153e b/.pnpm-store/v3/files/23/1f41f45b62e645dd92604230b76668b9989519e1b3e04b6449416c145d13a97202e883a00155a7f1ac2bbb661ac013250fb1ef959d38310626a7a6f292153e new file mode 100644 index 00000000..6ad54ddc --- /dev/null +++ b/.pnpm-store/v3/files/23/1f41f45b62e645dd92604230b76668b9989519e1b3e04b6449416c145d13a97202e883a00155a7f1ac2bbb661ac013250fb1ef959d38310626a7a6f292153e @@ -0,0 +1 @@ +module.exports={C:{"27":0.00216,"37":0.00216,"40":0.00216,"41":0.00216,"43":0.00216,"45":0.00216,"47":0.00432,"52":0.00648,"56":0.00216,"72":0.03024,"78":0.00648,"85":0.07344,"99":0.00864,"104":0.00216,"107":0.00216,"109":0.00648,"110":0.02592,"111":0.01944,"112":0.00216,"113":0.00432,"114":0.01944,"115":0.46224,"116":0.00432,"117":0.00216,"118":0.00648,"119":0.108,"120":0.07344,"121":1.782,"122":0.43632,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 38 39 42 44 46 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 105 106 108 123 124 125 3.5 3.6"},D:{"11":0.00864,"37":0.00648,"49":0.00216,"50":0.00216,"58":0.00216,"61":0.0108,"64":0.00216,"68":0.00216,"69":0.00216,"70":0.00216,"71":0.00216,"73":0.00432,"74":0.00216,"75":0.00432,"76":0.00648,"79":0.00864,"80":0.00216,"81":0.00432,"83":0.00432,"84":0.00216,"85":0.00216,"86":0.00432,"87":0.01296,"88":0.06912,"91":0.00216,"93":0.05616,"95":0.00216,"97":0.00648,"98":0.00432,"99":0.03456,"102":0.00648,"103":0.01296,"105":0.00648,"108":0.01296,"109":1.02384,"110":0.00432,"111":0.0108,"112":0.01944,"113":0.00216,"114":0.0108,"115":0.0216,"116":0.0432,"117":0.01512,"118":0.0216,"119":0.15552,"120":6.65712,"121":0.41904,"122":0.01728,"123":0.00216,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 51 52 53 54 55 56 57 59 60 62 63 65 66 67 72 77 78 89 90 92 94 96 100 101 104 106 107 124"},F:{"36":0.00216,"48":0.00216,"77":0.00432,"79":0.00432,"95":0.01728,"100":0.00216,"105":0.2484,"106":0.702,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00864,"14":0.00216,"15":0.00216,"16":0.00216,"17":0.00216,"18":0.03888,"84":0.00432,"89":0.00432,"90":0.00216,"92":0.0216,"95":0.00216,"96":0.03888,"98":0.00216,"100":0.00216,"109":0.01944,"110":0.00216,"111":0.00216,"112":0.00432,"113":0.00216,"114":0.00648,"115":0.00648,"116":0.00216,"117":0.06048,"118":0.00648,"119":0.06048,"120":3.1104,"121":0.486,_:"13 79 80 81 83 85 86 87 88 91 93 94 97 99 101 102 103 104 105 106 107 108"},E:{"14":0.00216,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.4 17.4","5.1":0.00216,"13.1":0.0864,"14.1":0.00432,"15.2-15.3":0.00432,"15.5":0.00432,"15.6":0.0324,"16.0":0.00216,"16.1":0.00432,"16.2":0.00648,"16.3":0.05616,"16.4":0.00864,"16.5":0.03888,"16.6":0.02808,"17.0":0.00648,"17.1":0.07128,"17.2":0.0432,"17.3":0.00432},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00102,"5.0-5.1":0.00154,"6.0-6.1":0.00256,"7.0-7.1":0.00358,"8.1-8.4":0.00051,"9.0-9.2":0.00307,"9.3":0.01177,"10.0-10.2":0.00102,"10.3":0.01843,"11.0-11.2":0.00717,"11.3-11.4":0.00768,"12.0-12.1":0.00461,"12.2-12.5":0.09113,"13.0-13.1":0.00154,"13.2":0.01689,"13.3":0.00461,"13.4-13.7":0.02048,"14.0-14.4":0.03584,"14.5-14.8":0.05478,"15.0-15.1":0.02355,"15.2-15.3":0.02713,"15.4":0.03174,"15.5":0.04198,"15.6-15.8":0.32714,"16.0":0.09829,"16.1":0.20939,"16.2":0.09522,"16.3":0.17714,"16.4":0.03942,"16.5":0.08396,"16.6-16.7":0.68704,"17.0":0.11417,"17.1":1.17698,"17.2":1.59319,"17.3":0.10239},P:{"4":0.06929,"20":0.0099,"21":0.0099,"22":0.12867,"23":0.41572,_:"5.0-5.4 6.2-6.4 8.2 10.1 12.0 13.0 14.0 15.0","7.2-7.4":0.02969,"9.2":0.0099,"11.1-11.2":0.0099,"16.0":0.02969,"17.0":0.0099,"18.0":0.03959,"19.0":0.02969},I:{"0":0.06244,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00016},A:{"11":0.01296,_:"6 7 8 9 10 5.5"},K:{"0":2.1264,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00784,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.02352},O:{"0":0.20384},H:{"0":1.48},L:{"0":72.25248},R:{_:"0"},M:{"0":0.38416}}; diff --git a/.pnpm-store/v3/files/23/37ed2d6ac94990933662c58218b5da3576efb94e7153d8b36107043c252ecb60b7006c80337deb652f74c24959146eb8d60a5386473a3bab386505fb2c1712 b/.pnpm-store/v3/files/23/37ed2d6ac94990933662c58218b5da3576efb94e7153d8b36107043c252ecb60b7006c80337deb652f74c24959146eb8d60a5386473a3bab386505fb2c1712 new file mode 100644 index 00000000..c97df08a --- /dev/null +++ b/.pnpm-store/v3/files/23/37ed2d6ac94990933662c58218b5da3576efb94e7153d8b36107043c252ecb60b7006c80337deb652f74c24959146eb8d60a5386473a3bab386505fb2c1712 @@ -0,0 +1,49 @@ +{ + "name": "lilconfig", + "version": "3.1.0", + "description": "A zero-dependency alternative to cosmiconfig", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "prebuild": "npm run clean", + "build": "tsc --declaration", + "postbuild": "du -h ./dist/*", + "clean": "rm -rf ./dist", + "test": "NODE_OPTIONS=--experimental-vm-modules ./node_modules/.bin/jest --coverage", + "lint": "eslint ./src/*.ts" + }, + "keywords": [ + "cosmiconfig", + "config", + "configuration", + "search" + ], + "files": [ + "dist/*" + ], + "repository": { + "type": "git", + "url": "https://github.com/antonk52/lilconfig" + }, + "bugs": "https://github.com/antonk52/lilconfig/issues", + "author": "antonk52", + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.5.12", + "@types/node": "^14.18.63", + "cosmiconfig": "^8.3.6", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "jest": "^29.7.0", + "prettier": "^3.2.5", + "ts-jest": "29.1.2", + "typescript": "^5.3.3", + "typescript-eslint": "^7.0.1", + "uvu": "^0.5.6" + }, + "funding": "https://github.com/sponsors/antonk52", + "engines": { + "node": ">=14" + } +} diff --git a/.pnpm-store/v3/files/23/3c5dd622aa98a1d00223b6b374545c06023d51990716924a9167635304671ee58cd368874833fe8c450d1d0d9c5d2df134d001bcb4c54a705aea795c7240b6 b/.pnpm-store/v3/files/23/3c5dd622aa98a1d00223b6b374545c06023d51990716924a9167635304671ee58cd368874833fe8c450d1d0d9c5d2df134d001bcb4c54a705aea795c7240b6 new file mode 100644 index 00000000..ba1d5af9 --- /dev/null +++ b/.pnpm-store/v3/files/23/3c5dd622aa98a1d00223b6b374545c06023d51990716924a9167635304671ee58cd368874833fe8c450d1d0d9c5d2df134d001bcb4c54a705aea795c7240b6 @@ -0,0 +1,739 @@ +#include +#include +#include +#include +#include +#include + +static uv_rwlock_t bare_os_env_lock; + +static uv_once_t bare_os_env_lock_guard = UV_ONCE_INIT; + +static void +bare_os_env_on_lock_init (void) { + int err = uv_rwlock_init(&bare_os_env_lock); + assert(err == 0); +} + +static js_value_t * +bare_os_type (js_env_t *env, js_callback_info_t *info) { + int err; + + uv_utsname_t buffer; + err = uv_os_uname(&buffer); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + js_value_t *result; + err = js_create_string_utf8(env, (utf8_t *) buffer.sysname, -1, &result); + if (err < 0) return NULL; + + return result; +} + +static js_value_t * +bare_os_version (js_env_t *env, js_callback_info_t *info) { + int err; + + uv_utsname_t buffer; + err = uv_os_uname(&buffer); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + js_value_t *result; + err = js_create_string_utf8(env, (utf8_t *) buffer.version, -1, &result); + if (err < 0) return NULL; + + return result; +} + +static js_value_t * +bare_os_release (js_env_t *env, js_callback_info_t *info) { + int err; + + uv_utsname_t buffer; + err = uv_os_uname(&buffer); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + js_value_t *result; + err = js_create_string_utf8(env, (utf8_t *) buffer.release, -1, &result); + if (err < 0) return NULL; + + return result; +} + +static js_value_t * +bare_os_machine (js_env_t *env, js_callback_info_t *info) { + int err; + + uv_utsname_t buffer; + err = uv_os_uname(&buffer); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + js_value_t *result; + err = js_create_string_utf8(env, (utf8_t *) buffer.machine, -1, &result); + if (err < 0) return NULL; + + return result; +} + +static js_value_t * +bare_os_exec_path (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t len = 4096; + char exec_path[4096]; + + err = uv_exepath(exec_path, &len); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + js_value_t *result; + err = js_create_string_utf8(env, (utf8_t *) exec_path, len, &result); + if (err < 0) return NULL; + + return result; +} + +static js_value_t * +bare_os_pid (js_env_t *env, js_callback_info_t *info) { + int err; + + js_value_t *result; + err = js_create_uint32(env, uv_os_getpid(), &result); + if (err < 0) return NULL; + + return result; +} + +static js_value_t * +bare_os_ppid (js_env_t *env, js_callback_info_t *info) { + int err; + + js_value_t *result; + err = js_create_uint32(env, uv_os_getppid(), &result); + if (err < 0) return NULL; + + return result; +} + +static js_value_t * +bare_os_cwd (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t len = 4096; + char cwd[4096]; + + err = uv_cwd(cwd, &len); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + js_value_t *result; + err = js_create_string_utf8(env, (utf8_t *) cwd, len, &result); + if (err < 0) return NULL; + + return result; +} + +static js_value_t * +bare_os_chdir (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + utf8_t dir[4096]; + err = js_get_value_string_utf8(env, argv[0], dir, 4096, NULL); + assert(err == 0); + + err = uv_chdir((char *) dir); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + return NULL; +} + +static js_value_t * +bare_os_tmpdir (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t len = 4096; + char tmpdir[4096]; + + err = uv_os_tmpdir(tmpdir, &len); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + js_value_t *result; + err = js_create_string_utf8(env, (utf8_t *) tmpdir, len, &result); + if (err < 0) return NULL; + + return result; +} + +static js_value_t * +bare_os_homedir (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t len = 4096; + char homedir[4096]; + + err = uv_os_homedir(homedir, &len); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + js_value_t *result; + err = js_create_string_utf8(env, (utf8_t *) homedir, len, &result); + if (err < 0) return NULL; + + return result; +} + +static js_value_t * +bare_os_kill (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + uint32_t pid; + err = js_get_value_uint32(env, argv[0], &pid); + assert(err == 0); + + uint32_t signum; + err = js_get_value_uint32(env, argv[1], &signum); + assert(err == 0); + + err = uv_kill(pid, signum); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + return NULL; +} + +static js_value_t * +bare_os_get_process_title (js_env_t *env, js_callback_info_t *info) { + int err; + + char title[256]; + err = uv_get_process_title(title, 256); + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + js_value_t *result; + err = js_create_string_utf8(env, (utf8_t *) title, -1, &result); + assert(err == 0); + + return result; +} + +static js_value_t * +bare_os_set_process_title (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + utf8_t data[256]; + err = js_get_value_string_utf8(env, argv[0], data, 256, NULL); + assert(err == 0); + + err = uv_set_process_title((char *) data); + assert(err == 0); + + return NULL; +} + +static js_value_t * +bare_os_get_env_keys (js_env_t *env, js_callback_info_t *info) { + int err; + + uv_env_item_t *items; + int len; + + uv_rwlock_rdlock(&bare_os_env_lock); + + err = uv_os_environ(&items, &len); + + uv_rwlock_rdunlock(&bare_os_env_lock); + + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + return NULL; + } + + js_value_t *result; + err = js_create_array_with_length(env, len, &result); + assert(err == 0); + + for (int i = 0; i < len; i++) { + uv_env_item_t *item = &items[i]; + + js_value_t *val; + err = js_create_string_utf8(env, (utf8_t *) item->name, -1, &val); + assert(err == 0); + + err = js_set_element(env, result, i, val); + assert(err == 0); + } + + uv_os_free_environ(items, len); + + return result; +} + +static js_value_t * +bare_os_get_env (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + size_t name_len; + err = js_get_value_string_utf8(env, argv[0], NULL, 0, &name_len); + assert(err == 0); + + name_len += 1 /* NULL */; + + utf8_t *name = malloc(name_len); + err = js_get_value_string_utf8(env, argv[0], name, name_len, &name_len); + assert(err == 0); + + uv_rwlock_rdlock(&bare_os_env_lock); + + size_t value_len = 256; + char *value = malloc(value_len); + err = uv_os_getenv((char *) name, value, &value_len); + + js_value_t *result; + + if (err == UV_ENOENT) { + err = js_get_undefined(env, &result); + assert(err == 0); + } else { + if (err == UV_ENOBUFS) { + value = realloc(value, value_len); + + err = uv_os_getenv((char *) name, value, &value_len); + assert(err == 0); + } else if (err < 0) { + uv_rwlock_rdunlock(&bare_os_env_lock); + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + free(name); + return NULL; + } + + err = js_create_string_utf8(env, (utf8_t *) value, value_len, &result); + assert(err == 0); + } + + uv_rwlock_rdunlock(&bare_os_env_lock); + + free(name); + free(value); + + return result; +} + +static js_value_t * +bare_os_has_env (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + size_t name_len; + err = js_get_value_string_utf8(env, argv[0], NULL, 0, &name_len); + assert(err == 0); + + utf8_t *name = malloc(++name_len); + err = js_get_value_string_utf8(env, argv[0], name, name_len, &name_len); + assert(err == 0); + + uv_rwlock_rdlock(&bare_os_env_lock); + + size_t value_len = 1; + char value[1]; + err = uv_os_getenv((char *) name, value, &value_len); + + uv_rwlock_rdunlock(&bare_os_env_lock); + + if (err != 0 && err != UV_ENOENT && err != UV_ENOBUFS) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + free(name); + return NULL; + } + + free(name); + + js_value_t *result; + err = js_get_boolean(env, err != UV_ENOENT, &result); + assert(err == 0); + + return result; +} + +static js_value_t * +bare_os_set_env (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + size_t name_len; + err = js_get_value_string_utf8(env, argv[0], NULL, 0, &name_len); + assert(err == 0); + + utf8_t *name = malloc(++name_len); + err = js_get_value_string_utf8(env, argv[0], name, name_len, &name_len); + assert(err == 0); + + size_t value_len; + err = js_get_value_string_utf8(env, argv[1], NULL, 0, &value_len); + assert(err == 0); + + utf8_t *value = malloc(++value_len); + err = js_get_value_string_utf8(env, argv[1], value, value_len, &value_len); + assert(err == 0); + + uv_rwlock_wrlock(&bare_os_env_lock); + + err = uv_os_setenv((char *) name, (char *) value); + + uv_rwlock_wrunlock(&bare_os_env_lock); + + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + free(name); + free(value); + return NULL; + } + + free(name); + free(value); + + return NULL; +} + +static js_value_t * +bare_os_unset_env (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + size_t name_len; + err = js_get_value_string_utf8(env, argv[0], NULL, 0, &name_len); + assert(err == 0); + + utf8_t *name = malloc(++name_len); + err = js_get_value_string_utf8(env, argv[0], name, name_len, &name_len); + assert(err == 0); + + uv_rwlock_wrlock(&bare_os_env_lock); + + err = uv_os_unsetenv((char *) name); + + uv_rwlock_wrunlock(&bare_os_env_lock); + + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + free(name); + return NULL; + } + + free(name); + + return NULL; +} + +static js_value_t * +init (js_env_t *env, js_value_t *exports) { + uv_once(&bare_os_env_lock_guard, bare_os_env_on_lock_init); + + int err; + +#define V(name, str) \ + { \ + js_value_t *val; \ + err = js_create_string_utf8(env, (utf8_t *) str, -1, &val); \ + assert(err == 0); \ + err = js_set_named_property(env, exports, name, val); \ + assert(err == 0); \ + } + V("platform", BARE_PLATFORM); + V("arch", BARE_ARCH); +#undef V + +#define V(name, fn) \ + { \ + js_value_t *val; \ + err = js_create_function(env, name, -1, fn, NULL, &val); \ + assert(err == 0); \ + err = js_set_named_property(env, exports, name, val); \ + assert(err == 0); \ + } + V("type", bare_os_type); + V("version", bare_os_version); + V("release", bare_os_release); + V("machine", bare_os_machine); + V("execPath", bare_os_exec_path); + V("pid", bare_os_pid); + V("ppid", bare_os_ppid); + V("cwd", bare_os_cwd); + V("chdir", bare_os_chdir); + V("tmpdir", bare_os_tmpdir); + V("homedir", bare_os_homedir); + V("kill", bare_os_kill); + V("getProcessTitle", bare_os_get_process_title); + V("setProcessTitle", bare_os_set_process_title); + V("getEnvKeys", bare_os_get_env_keys) + V("getEnv", bare_os_get_env) + V("hasEnv", bare_os_get_env) + V("setEnv", bare_os_set_env) + V("unsetEnv", bare_os_unset_env) +#undef V + + js_value_t *signals; + err = js_create_object(env, &signals); + assert(err == 0); + + err = js_set_named_property(env, exports, "signals", signals); + assert(err == 0); + +#define V(name) \ + { \ + js_value_t *val; \ + err = js_create_uint32(env, name, &val); \ + assert(err == 0); \ + err = js_set_named_property(env, signals, #name, val); \ + assert(err == 0); \ + } +#ifdef SIGHUP + V(SIGHUP); +#endif + +#ifdef SIGINT + V(SIGINT); +#endif + +#ifdef SIGQUIT + V(SIGQUIT); +#endif + +#ifdef SIGILL + V(SIGILL); +#endif + +#ifdef SIGTRAP + V(SIGTRAP); +#endif + +#ifdef SIGABRT + V(SIGABRT); +#endif + +#ifdef SIGIOT + V(SIGIOT); +#endif + +#ifdef SIGBUS + V(SIGBUS); +#endif + +#ifdef SIGFPE + V(SIGFPE); +#endif + +#ifdef SIGKILL + V(SIGKILL); +#endif + +#ifdef SIGUSR1 + V(SIGUSR1); +#endif + +#ifdef SIGSEGV + V(SIGSEGV); +#endif + +#ifdef SIGUSR2 + V(SIGUSR2); +#endif + +#ifdef SIGPIPE + V(SIGPIPE); +#endif + +#ifdef SIGALRM + V(SIGALRM); +#endif + + V(SIGTERM); + +#ifdef SIGCHLD + V(SIGCHLD); +#endif + +#ifdef SIGSTKFLT + V(SIGSTKFLT); +#endif + +#ifdef SIGCONT + V(SIGCONT); +#endif + +#ifdef SIGSTOP + V(SIGSTOP); +#endif + +#ifdef SIGTSTP + V(SIGTSTP); +#endif + +#ifdef SIGBREAK + V(SIGBREAK); +#endif + +#ifdef SIGTTIN + V(SIGTTIN); +#endif + +#ifdef SIGTTOU + V(SIGTTOU); +#endif + +#ifdef SIGURG + V(SIGURG); +#endif + +#ifdef SIGXCPU + V(SIGXCPU); +#endif + +#ifdef SIGXFSZ + V(SIGXFSZ); +#endif + +#ifdef SIGVTALRM + V(SIGVTALRM); +#endif + +#ifdef SIGPROF + V(SIGPROF); +#endif + +#ifdef SIGWINCH + V(SIGWINCH); +#endif + +#ifdef SIGIO + V(SIGIO); +#endif + +#ifdef SIGPOLL + V(SIGPOLL); +#endif + +#ifdef SIGLOST + V(SIGLOST); +#endif + +#ifdef SIGPWR + V(SIGPWR); +#endif + +#ifdef SIGINFO + V(SIGINFO); +#endif + +#ifdef SIGSYS + V(SIGSYS); +#endif + +#ifdef SIGUNUSED + V(SIGUNUSED); +#endif +#undef V + + js_value_t *errnos; + err = js_create_object(env, &errnos); + assert(err == 0); + + err = js_set_named_property(env, exports, "errnos", errnos); + assert(err == 0); + +#define V(name, msg) \ + { \ + js_value_t *val; \ + err = js_create_int32(env, UV_##name, &val); \ + assert(err == 0); \ + err = js_set_named_property(env, errnos, #name, val); \ + assert(err == 0); \ + } + UV_ERRNO_MAP(V); +#undef V + + return exports; +} + +BARE_MODULE(bare_os, init) diff --git a/.pnpm-store/v3/files/23/a8b9202d7d701915e8c30cd86b0f46d1d68621c125063fd14d2878df3fd7369b29cc424ce8819055ae3a40d2507782d60260d292daee28353e8f6edc39664c b/.pnpm-store/v3/files/23/a8b9202d7d701915e8c30cd86b0f46d1d68621c125063fd14d2878df3fd7369b29cc424ce8819055ae3a40d2507782d60260d292daee28353e8f6edc39664c new file mode 100644 index 00000000..d9fed14f --- /dev/null +++ b/.pnpm-store/v3/files/23/a8b9202d7d701915e8c30cd86b0f46d1d68621c125063fd14d2878df3fd7369b29cc424ce8819055ae3a40d2507782d60260d292daee28353e8f6edc39664c @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"C K L G M N O","2":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"1":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"Efficient Script Yielding: setImmediate()",D:true}; diff --git a/.pnpm-store/v3/files/23/c826b75b2f04346e7a4e73579502e5b4d7eda7c9a57f658a9fc88b003f0d0e0295f7bb44491ee16f5c6aa8515b05cf2f7c6c41ee30808632ca4a54a1dd2bdb b/.pnpm-store/v3/files/23/c826b75b2f04346e7a4e73579502e5b4d7eda7c9a57f658a9fc88b003f0d0e0295f7bb44491ee16f5c6aa8515b05cf2f7c6c41ee30808632ca4a54a1dd2bdb new file mode 100644 index 00000000..418fe984 --- /dev/null +++ b/.pnpm-store/v3/files/23/c826b75b2f04346e7a4e73579502e5b4d7eda7c9a57f658a9fc88b003f0d0e0295f7bb44491ee16f5c6aa8515b05cf2f7c6c41ee30808632ca4a54a1dd2bdb @@ -0,0 +1 @@ +module.exports={C:{"30":0.00282,"52":0.01977,"67":0.0113,"68":0.00282,"84":0.00282,"88":0.00282,"91":0.00282,"99":0.00847,"105":0.00282,"109":0.00282,"113":0.00282,"115":0.14402,"116":0.00282,"118":0.01694,"119":0.00565,"120":0.0113,"121":0.353,"122":0.10449,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 85 86 87 89 90 92 93 94 95 96 97 98 100 101 102 103 104 106 107 108 110 111 112 114 117 123 124 125 3.5 3.6"},D:{"11":0.00282,"34":0.00282,"35":0.00282,"39":0.00282,"41":0.02824,"43":0.00282,"44":0.00282,"45":0.00282,"46":0.00282,"47":0.00282,"49":0.02824,"51":0.00282,"56":0.00565,"57":0.00282,"61":0.00282,"63":0.00282,"64":0.00282,"66":0.02542,"68":0.00282,"69":0.00282,"70":0.00282,"71":0.00565,"72":0.00282,"73":0.00282,"74":0.02542,"76":0.00282,"78":0.00282,"79":0.02259,"80":0.00565,"81":0.00282,"83":0.03671,"84":0.00282,"85":0.00565,"86":0.0113,"87":0.01412,"88":0.00282,"89":0.01977,"90":0.00565,"91":0.00565,"93":0.00565,"94":0.00282,"95":0.00565,"96":0.00282,"97":0.00847,"98":0.02259,"99":0.0113,"100":0.01694,"101":0.01694,"102":0.05648,"103":0.01694,"104":0.0113,"105":0.0113,"106":0.15814,"107":0.02824,"108":0.01694,"109":2.48794,"110":0.02259,"111":0.01412,"112":0.03106,"113":0.02542,"114":0.02542,"115":0.01694,"116":0.04236,"117":0.02542,"118":0.04236,"119":0.22874,"120":14.00986,"121":1.09854,"122":0.01412,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 36 37 38 40 42 48 50 52 53 54 55 58 59 60 62 65 67 75 77 92 123 124"},F:{"28":0.00282,"36":0.00282,"38":0.00847,"46":0.00282,"49":0.00565,"51":0.00282,"53":0.09884,"54":0.00565,"55":0.00282,"60":0.00282,"62":0.00282,"78":0.00282,"79":0.02542,"80":0.00282,"82":0.00282,"83":0.00282,"86":0.00282,"89":0.00282,"90":0.00282,"93":0.00282,"95":0.06213,"96":0.00282,"99":0.00282,"101":0.00282,"102":0.00565,"103":0.00282,"104":0.03954,"105":0.19768,"106":0.23157,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 39 40 41 42 43 44 45 47 48 50 52 56 57 58 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 81 84 85 87 88 91 92 94 97 98 100 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 12.1","11.6":0.00847},B:{"12":0.00282,"14":0.00565,"15":0.00282,"16":0.00282,"17":0.00282,"18":0.03671,"84":0.00565,"85":0.00282,"89":0.00565,"90":0.00282,"92":0.03389,"100":0.00282,"105":0.00282,"106":0.00282,"107":0.00282,"108":0.00282,"109":0.04801,"110":0.0113,"111":0.00565,"112":0.00282,"113":0.00565,"114":0.00565,"115":0.00565,"116":0.00565,"117":0.00847,"118":0.01412,"119":0.03671,"120":1.73394,"121":0.24286,_:"13 79 80 81 83 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104"},E:{"9":0.00282,"14":0.00282,"15":0.00565,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 17.4","5.1":0.28522,"12.1":0.00282,"13.1":0.00847,"14.1":0.0113,"15.1":0.00282,"15.2-15.3":0.00282,"15.4":0.00847,"15.5":0.01694,"15.6":0.05083,"16.0":0.00565,"16.1":0.0113,"16.2":0.00847,"16.3":0.02542,"16.4":0.01412,"16.5":0.01977,"16.6":0.04236,"17.0":0.02259,"17.1":0.10449,"17.2":0.1525,"17.3":0.0113},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00131,"5.0-5.1":0.00197,"6.0-6.1":0.00328,"7.0-7.1":0.00459,"8.1-8.4":0.00066,"9.0-9.2":0.00393,"9.3":0.01507,"10.0-10.2":0.00131,"10.3":0.02359,"11.0-11.2":0.00917,"11.3-11.4":0.00983,"12.0-12.1":0.0059,"12.2-12.5":0.11662,"13.0-13.1":0.00197,"13.2":0.02162,"13.3":0.0059,"13.4-13.7":0.02621,"14.0-14.4":0.04586,"14.5-14.8":0.0701,"15.0-15.1":0.03014,"15.2-15.3":0.03472,"15.4":0.04062,"15.5":0.05372,"15.6-15.8":0.41865,"16.0":0.12579,"16.1":0.26796,"16.2":0.12186,"16.3":0.22669,"16.4":0.05045,"16.5":0.10745,"16.6-16.7":0.87924,"17.0":0.1461,"17.1":1.50623,"17.2":2.03889,"17.3":0.13103},P:{"4":0.3048,"20":0.11176,"21":0.2032,"22":0.29464,"23":2.34698,"5.0-5.4":0.02032,"6.2-6.4":0.0508,"7.2-7.4":0.254,_:"8.2 10.1","9.2":0.04064,"11.1-11.2":0.0508,"12.0":0.01016,"13.0":0.0508,"14.0":0.03048,"15.0":0.02032,"16.0":0.0508,"17.0":0.08128,"18.0":0.0508,"19.0":0.13208},I:{"0":0.04287,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00011},A:{"7":0.00318,"8":0.01589,"9":0.00635,"10":0.00318,"11":0.08896,_:"6 5.5"},K:{"0":0.37315,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.01435},O:{"0":3.21485},H:{"0":0},L:{"0":56.27641},R:{_:"0"},M:{"0":0.04306}}; diff --git a/.pnpm-store/v3/files/24/274c97f8fddb1317fa2e55aca8d0793e4c6f25e726882c6d5cdb435d041c69162ccb54222745aca52fdffb3199ad08867f24e3c940ad67bb9ae5dc8274cdbc b/.pnpm-store/v3/files/24/274c97f8fddb1317fa2e55aca8d0793e4c6f25e726882c6d5cdb435d041c69162ccb54222745aca52fdffb3199ad08867f24e3c940ad67bb9ae5dc8274cdbc new file mode 100644 index 00000000..4871fe2a --- /dev/null +++ b/.pnpm-store/v3/files/24/274c97f8fddb1317fa2e55aca8d0793e4c6f25e726882c6d5cdb435d041c69162ccb54222745aca52fdffb3199ad08867f24e3c940ad67bb9ae5dc8274cdbc @@ -0,0 +1 @@ +module.exports={C:{"52":0.04102,"68":0.00316,"78":0.00947,"83":0.00631,"84":0.00316,"88":0.00631,"89":0.00631,"91":0.00316,"95":0.00947,"97":0.00316,"99":0.00316,"102":0.00631,"103":0.00316,"105":0.00316,"107":0.00316,"108":0.00316,"109":0.00316,"110":0.00316,"111":0.00316,"112":0.01578,"113":0.00947,"114":0.01262,"115":0.66886,"116":0.00316,"117":0.03471,"118":0.16406,"119":0.47325,"120":1.65322,"121":2.34101,"122":0.54266,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 85 86 87 90 92 93 94 96 98 100 101 104 106 123 124 125 3.5 3.6"},D:{"34":0.01578,"38":0.02524,"47":0.00316,"49":0.01893,"53":0.00631,"56":0.00316,"58":0.00631,"73":0.00316,"74":0.00316,"76":0.00316,"77":0.00316,"78":0.00316,"79":0.22401,"80":0.00316,"81":0.00316,"83":0.00316,"85":0.00316,"86":0.00316,"87":0.10727,"88":0.00631,"89":0.00316,"90":0.01578,"91":0.00631,"92":0.00316,"93":0.00316,"94":0.00947,"95":0.00631,"96":0.00316,"97":0.00316,"98":0.00316,"99":0.01262,"100":0.00631,"101":0.00316,"102":0.00947,"103":0.0284,"104":0.00316,"105":0.00631,"106":0.00631,"107":0.00947,"108":0.01262,"109":1.6059,"110":0.00316,"111":0.00947,"112":0.01262,"113":0.00631,"114":0.01578,"115":0.01893,"116":0.08834,"117":0.06626,"118":0.17668,"119":0.17353,"120":14.49723,"121":0.99067,"122":0.00631,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 54 55 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 75 84 123 124"},F:{"28":0.00316,"36":0.00316,"40":0.00316,"46":0.00947,"79":0.00316,"80":0.00316,"85":0.00316,"95":0.10096,"96":0.00316,"102":0.00316,"104":0.11989,"105":0.70357,"106":0.76036,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 81 82 83 84 86 87 88 89 90 91 92 93 94 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00316},B:{"18":0.00316,"92":0.00631,"97":0.00316,"104":0.00316,"109":0.05995,"114":0.00316,"115":0.00316,"116":0.00316,"117":0.03155,"118":0.2524,"119":0.11989,"120":2.10123,"121":0.28711,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 98 99 100 101 102 103 105 106 107 108 110 111 112 113"},E:{"14":0.01578,"15":0.00316,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.00316,"12.1":0.00316,"13.1":0.01893,"14.1":0.03155,"15.1":0.00316,"15.2-15.3":0.00316,"15.4":0.00947,"15.5":0.00947,"15.6":0.08834,"16.0":0.01262,"16.1":0.02209,"16.2":0.01893,"16.3":0.04733,"16.4":0.01262,"16.5":0.03155,"16.6":0.14198,"17.0":0.04102,"17.1":0.18299,"17.2":0.33443,"17.3":0.03471},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00191,"5.0-5.1":0.00287,"6.0-6.1":0.00478,"7.0-7.1":0.00669,"8.1-8.4":0.00096,"9.0-9.2":0.00574,"9.3":0.02199,"10.0-10.2":0.00191,"10.3":0.03442,"11.0-11.2":0.01339,"11.3-11.4":0.01434,"12.0-12.1":0.00861,"12.2-12.5":0.17021,"13.0-13.1":0.00287,"13.2":0.03156,"13.3":0.00861,"13.4-13.7":0.03825,"14.0-14.4":0.06694,"14.5-14.8":0.10232,"15.0-15.1":0.04399,"15.2-15.3":0.05068,"15.4":0.05929,"15.5":0.07841,"15.6-15.8":0.61104,"16.0":0.1836,"16.1":0.3911,"16.2":0.17786,"16.3":0.33086,"16.4":0.07363,"16.5":0.15682,"16.6-16.7":1.28328,"17.0":0.21324,"17.1":2.19841,"17.2":2.97584,"17.3":0.19125},P:{"4":0.3101,"20":0.04135,"21":0.07236,"22":0.10337,"23":2.9149,"5.0-5.4":0.01034,"6.2-6.4":0.01034,_:"7.2-7.4 8.2 9.2 10.1 12.0 15.0","11.1-11.2":0.01034,"13.0":0.02067,"14.0":0.01034,"16.0":0.01034,"17.0":0.01034,"18.0":0.01034,"19.0":0.05168},I:{"0":0.10222,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00027},A:{"8":0.00361,"11":0.02163,_:"6 7 9 10 5.5"},K:{"0":0.52707,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.02738},H:{"0":0},L:{"0":55.36125},R:{_:"0"},M:{"0":0.24642}}; diff --git a/.pnpm-store/v3/files/24/86008772d16840075f473c218533e1e6de61fe1783b7b75c932e92bd8b73f061ee70984e09b8e04320916f0ca29c1880524b375c2767a9488f4c601b874ace b/.pnpm-store/v3/files/24/86008772d16840075f473c218533e1e6de61fe1783b7b75c932e92bd8b73f061ee70984e09b8e04320916f0ca29c1880524b375c2767a9488f4c601b874ace new file mode 100644 index 00000000..39ee88b0 --- /dev/null +++ b/.pnpm-store/v3/files/24/86008772d16840075f473c218533e1e6de61fe1783b7b75c932e92bd8b73f061ee70984e09b8e04320916f0ca29c1880524b375c2767a9488f4c601b874ace @@ -0,0 +1 @@ +module.exports={A:{A:{"8":"J D E SC","129":"F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","2":"TC 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","129":"9 I J D E F A B C K L G M N O AB q r s t BB CB"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","129":"9 I J YC","388":"XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","2":"F"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","129":"DC nC RC oC pC"},H:{"1":"9C"},I:{"1":"H ED FD","129":"7B I AD BD CD DD RC"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"129":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS3 Media Queries",D:true}; diff --git a/.pnpm-store/v3/files/24/b370f65ed233e1bccb642e863d1e41bee22d84751f0447f16f58c61e161dec15a61978d52b1e85147ad590ad88db6a689a479d0926bffb407cd003ffbb655f b/.pnpm-store/v3/files/24/b370f65ed233e1bccb642e863d1e41bee22d84751f0447f16f58c61e161dec15a61978d52b1e85147ad590ad88db6a689a479d0926bffb407cd003ffbb655f new file mode 100644 index 00000000..583bc535 --- /dev/null +++ b/.pnpm-store/v3/files/24/b370f65ed233e1bccb642e863d1e41bee22d84751f0447f16f58c61e161dec15a61978d52b1e85147ad590ad88db6a689a479d0926bffb407cd003ffbb655f @@ -0,0 +1,320 @@ +import { + boolean, + overloadedBoolean, + booleanish, + number, + spaceSeparated, + commaSeparated +} from './util/types.js' +import {create} from './util/create.js' +import {caseInsensitiveTransform} from './util/case-insensitive-transform.js' + +export const html = create({ + space: 'html', + attributes: { + acceptcharset: 'accept-charset', + classname: 'class', + htmlfor: 'for', + httpequiv: 'http-equiv' + }, + transform: caseInsensitiveTransform, + mustUseProperty: ['checked', 'multiple', 'muted', 'selected'], + properties: { + // Standard Properties. + abbr: null, + accept: commaSeparated, + acceptCharset: spaceSeparated, + accessKey: spaceSeparated, + action: null, + allow: null, + allowFullScreen: boolean, + allowPaymentRequest: boolean, + allowUserMedia: boolean, + alt: null, + as: null, + async: boolean, + autoCapitalize: null, + autoComplete: spaceSeparated, + autoFocus: boolean, + autoPlay: boolean, + blocking: spaceSeparated, + capture: null, + charSet: null, + checked: boolean, + cite: null, + className: spaceSeparated, + cols: number, + colSpan: null, + content: null, + contentEditable: booleanish, + controls: boolean, + controlsList: spaceSeparated, + coords: number | commaSeparated, + crossOrigin: null, + data: null, + dateTime: null, + decoding: null, + default: boolean, + defer: boolean, + dir: null, + dirName: null, + disabled: boolean, + download: overloadedBoolean, + draggable: booleanish, + encType: null, + enterKeyHint: null, + fetchPriority: null, + form: null, + formAction: null, + formEncType: null, + formMethod: null, + formNoValidate: boolean, + formTarget: null, + headers: spaceSeparated, + height: number, + hidden: boolean, + high: number, + href: null, + hrefLang: null, + htmlFor: spaceSeparated, + httpEquiv: spaceSeparated, + id: null, + imageSizes: null, + imageSrcSet: null, + inert: boolean, + inputMode: null, + integrity: null, + is: null, + isMap: boolean, + itemId: null, + itemProp: spaceSeparated, + itemRef: spaceSeparated, + itemScope: boolean, + itemType: spaceSeparated, + kind: null, + label: null, + lang: null, + language: null, + list: null, + loading: null, + loop: boolean, + low: number, + manifest: null, + max: null, + maxLength: number, + media: null, + method: null, + min: null, + minLength: number, + multiple: boolean, + muted: boolean, + name: null, + nonce: null, + noModule: boolean, + noValidate: boolean, + onAbort: null, + onAfterPrint: null, + onAuxClick: null, + onBeforeMatch: null, + onBeforePrint: null, + onBeforeToggle: null, + onBeforeUnload: null, + onBlur: null, + onCancel: null, + onCanPlay: null, + onCanPlayThrough: null, + onChange: null, + onClick: null, + onClose: null, + onContextLost: null, + onContextMenu: null, + onContextRestored: null, + onCopy: null, + onCueChange: null, + onCut: null, + onDblClick: null, + onDrag: null, + onDragEnd: null, + onDragEnter: null, + onDragExit: null, + onDragLeave: null, + onDragOver: null, + onDragStart: null, + onDrop: null, + onDurationChange: null, + onEmptied: null, + onEnded: null, + onError: null, + onFocus: null, + onFormData: null, + onHashChange: null, + onInput: null, + onInvalid: null, + onKeyDown: null, + onKeyPress: null, + onKeyUp: null, + onLanguageChange: null, + onLoad: null, + onLoadedData: null, + onLoadedMetadata: null, + onLoadEnd: null, + onLoadStart: null, + onMessage: null, + onMessageError: null, + onMouseDown: null, + onMouseEnter: null, + onMouseLeave: null, + onMouseMove: null, + onMouseOut: null, + onMouseOver: null, + onMouseUp: null, + onOffline: null, + onOnline: null, + onPageHide: null, + onPageShow: null, + onPaste: null, + onPause: null, + onPlay: null, + onPlaying: null, + onPopState: null, + onProgress: null, + onRateChange: null, + onRejectionHandled: null, + onReset: null, + onResize: null, + onScroll: null, + onScrollEnd: null, + onSecurityPolicyViolation: null, + onSeeked: null, + onSeeking: null, + onSelect: null, + onSlotChange: null, + onStalled: null, + onStorage: null, + onSubmit: null, + onSuspend: null, + onTimeUpdate: null, + onToggle: null, + onUnhandledRejection: null, + onUnload: null, + onVolumeChange: null, + onWaiting: null, + onWheel: null, + open: boolean, + optimum: number, + pattern: null, + ping: spaceSeparated, + placeholder: null, + playsInline: boolean, + popover: null, + popoverTarget: null, + popoverTargetAction: null, + poster: null, + preload: null, + readOnly: boolean, + referrerPolicy: null, + rel: spaceSeparated, + required: boolean, + reversed: boolean, + rows: number, + rowSpan: number, + sandbox: spaceSeparated, + scope: null, + scoped: boolean, + seamless: boolean, + selected: boolean, + shadowRootDelegatesFocus: boolean, + shadowRootMode: null, + shape: null, + size: number, + sizes: null, + slot: null, + span: number, + spellCheck: booleanish, + src: null, + srcDoc: null, + srcLang: null, + srcSet: null, + start: number, + step: null, + style: null, + tabIndex: number, + target: null, + title: null, + translate: null, + type: null, + typeMustMatch: boolean, + useMap: null, + value: booleanish, + width: number, + wrap: null, + + // Legacy. + // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis + align: null, // Several. Use CSS `text-align` instead, + aLink: null, // ``. Use CSS `a:active {color}` instead + archive: spaceSeparated, // ``. List of URIs to archives + axis: null, // `` and ``. Use `scope` on `` + background: null, // ``. Use CSS `background-image` instead + bgColor: null, // `` and table elements. Use CSS `background-color` instead + border: number, // ``. Use CSS `border-width` instead, + borderColor: null, // `
`. Use CSS `border-color` instead, + bottomMargin: number, // `` + cellPadding: null, // `
` + cellSpacing: null, // `
` + char: null, // Several table elements. When `align=char`, sets the character to align on + charOff: null, // Several table elements. When `char`, offsets the alignment + classId: null, // `` + clear: null, // `
`. Use CSS `clear` instead + code: null, // `` + codeBase: null, // `` + codeType: null, // `` + color: null, // `` and `
`. Use CSS instead + compact: boolean, // Lists. Use CSS to reduce space between items instead + declare: boolean, // `` + event: null, // ` + + + + + +``` + +If you are using Deno: +```js +// Don't use the ?dts Skypack flag; it isn't necessary for Deno support +// The @deno-types comment adds TypeScript typings + +// @deno-types="https://cdn.skypack.dev/fflate@0.8.2/lib/index.d.ts" +import * as fflate from 'https://cdn.skypack.dev/fflate@0.8.2?min'; +``` + + +If your environment doesn't support bundling: +```js +// Again, try to import just what you need + +// For the browser: +import * as fflate from 'fflate/esm/browser.js'; +// If the standard ESM import fails on Node (i.e. older version): +import * as fflate from 'fflate/esm'; +``` + +And use: +```js +// This is an ArrayBuffer of data +const massiveFileBuf = await fetch('/aMassiveFile').then( + res => res.arrayBuffer() +); +// To use fflate, you need a Uint8Array +const massiveFile = new Uint8Array(massiveFileBuf); +// Note that Node.js Buffers work just fine as well: +// const massiveFile = require('fs').readFileSync('aMassiveFile.txt'); + +// Higher level means lower performance but better compression +// The level ranges from 0 (no compression) to 9 (max compression) +// The default level is 6 +const notSoMassive = fflate.zlibSync(massiveFile, { level: 9 }); +const massiveAgain = fflate.unzlibSync(notSoMassive); +const gzipped = fflate.gzipSync(massiveFile, { + // GZIP-specific: the filename to use when decompressed + filename: 'aMassiveFile.txt', + // GZIP-specific: the modification time. Can be a Date, date string, + // or Unix timestamp + mtime: '9/1/16 2:00 PM' +}); +``` +`fflate` can autodetect a compressed file's format as well: +```js +const compressed = new Uint8Array( + await fetch('/GZIPorZLIBorDEFLATE').then(res => res.arrayBuffer()) +); +// Above example with Node.js Buffers: +// Buffer.from('H4sIAAAAAAAAE8tIzcnJBwCGphA2BQAAAA==', 'base64'); + +const decompressed = fflate.decompressSync(compressed); +``` + +Using strings is easy with `fflate`'s string conversion API: +```js +const buf = fflate.strToU8('Hello world!'); + +// The default compression method is gzip +// Increasing mem may increase performance at the cost of memory +// The mem ranges from 0 to 12, where 4 is the default +const compressed = fflate.compressSync(buf, { level: 6, mem: 8 }); + +// When you need to decompress: +const decompressed = fflate.decompressSync(compressed); +const origText = fflate.strFromU8(decompressed); +console.log(origText); // Hello world! +``` + +If you need to use an (albeit inefficient) binary string, you can set the second argument to `true`. +```js +const buf = fflate.strToU8('Hello world!'); + +// The second argument, latin1, is a boolean that indicates that the data +// is not Unicode but rather should be encoded and decoded as Latin-1. +// This is useful for creating a string from binary data that isn't +// necessarily valid UTF-8. However, binary strings are incredibly +// inefficient and tend to double file size, so they're not recommended. +const compressedString = fflate.strFromU8( + fflate.compressSync(buf), + true +); +const decompressed = fflate.decompressSync( + fflate.strToU8(compressedString, true) +); +const origText = fflate.strFromU8(decompressed); +console.log(origText); // Hello world! +``` + +You can use streams as well to incrementally add data to be compressed or decompressed: +```js +// This example uses synchronous streams, but for the best experience +// you'll definitely want to use asynchronous streams. + +let outStr = ''; +const gzipStream = new fflate.Gzip({ level: 9 }, (chunk, isLast) => { + // accumulate in an inefficient binary string (just an example) + outStr += fflate.strFromU8(chunk, true); +}); + +// You can also attach the data handler separately if you don't want to +// do so in the constructor. +gzipStream.ondata = (chunk, final) => { ... } + +// Since this is synchronous, all errors will be thrown by stream.push() +gzipStream.push(chunk1); +gzipStream.push(chunk2); + +... + +// You should mark the last chunk by using true in the second argument +// In addition to being necessary for the stream to work properly, this +// will also set the isLast parameter in the handler to true. +gzipStream.push(lastChunk, true); + +console.log(outStr); // The compressed binary string is now available + +// The options parameter for compression streams is optional; you can +// provide one parameter (the handler) or none at all if you set +// deflateStream.ondata later. +const deflateStream = new fflate.Deflate((chunk, final) => { + console.log(chunk, final); +}); + +// If you want to create a stream from strings, use EncodeUTF8 +const utfEncode = new fflate.EncodeUTF8((data, final) => { + // Chaining streams together is done by pushing to the + // next stream in the handler for the previous stream + deflateStream.push(data, final); +}); + +utfEncode.push('Hello'.repeat(1000)); +utfEncode.push(' '.repeat(100)); +utfEncode.push('world!'.repeat(10), true); + +// The deflateStream has logged the compressed data + +const inflateStream = new fflate.Inflate(); +inflateStream.ondata = (decompressedChunk, final) => { ... }; + +let stringData = ''; + +// Streaming UTF-8 decode is available too +const utfDecode = new fflate.DecodeUTF8((data, final) => { + stringData += data; +}); + +// Decompress streams auto-detect the compression method, as the +// non-streaming decompress() method does. +const dcmpStrm = new fflate.Decompress((chunk, final) => { + console.log(chunk, 'was encoded with GZIP, Zlib, or DEFLATE'); + utfDecode.push(chunk, final); +}); + +dcmpStrm.push(zlibJSONData1); +dcmpStrm.push(zlibJSONData2, true); + +// This succeeds; the UTF-8 decoder chained with the unknown compression format +// stream to reach a string as a sink. +console.log(JSON.parse(stringData)); +``` + +You can create multi-file ZIP archives easily as well. Note that by default, compression is enabled for all files, which is not useful when ZIPping many PNGs, JPEGs, PDFs, etc. because those formats are already compressed. You should either override the level on a per-file basis or globally to avoid wasting resources. +```js +// Note that the asynchronous version (see below) runs in parallel and +// is *much* (up to 3x) faster for larger archives. +const zipped = fflate.zipSync({ + // Directories can be nested structures, as in an actual filesystem + 'dir1': { + 'nested': { + // You can use Unicode in filenames + '你好.txt': fflate.strToU8('Hey there!') + }, + // You can also manually write out a directory path + 'other/tmp.txt': new Uint8Array([97, 98, 99, 100]) + }, + + // You can also provide compression options + 'massiveImage.bmp': [aMassiveFile, { + level: 9, + mem: 12 + }], + // PNG is pre-compressed; no need to waste time + 'superTinyFile.png': [aPNGFile, { level: 0 }], + + // Directories take options too + 'exec': [{ + 'hello.sh': [fflate.strToU8('echo hello world'), { + // ZIP only: Set the operating system to Unix + os: 3, + // ZIP only: Make this file executable on Unix + attrs: 0o755 << 16 + }] + }, { + // ZIP and GZIP support mtime (defaults to current time) + mtime: new Date('10/20/2020') + }] +}, { + // These options are the defaults for all files, but file-specific + // options take precedence. + level: 1, + // Obfuscate last modified time by default + mtime: new Date('1/1/1980') +}); + +// If you write the zipped data to myzip.zip and unzip, the folder +// structure will be outputted as: + +// myzip.zip (original file) +// dir1 +// |-> nested +// | |-> 你好.txt +// |-> other +// | |-> tmp.txt +// massiveImage.bmp +// superTinyFile.png + +// When decompressing, folders are not nested; all filepaths are fully +// written out in the keys. For example, the return value may be: +// { 'nested/directory/structure.txt': Uint8Array(2) [97, 97] } +const decompressed = fflate.unzipSync(zipped, { + // You may optionally supply a filter for files. By default, all files in a + // ZIP archive are extracted, but a filter can save resources by telling + // the library not to decompress certain files + filter(file) { + // Don't decompress the massive image or any files larger than 10 MiB + return file.name != 'massiveImage.bmp' && file.originalSize <= 10_000_000; + } +}); +``` + +If you need extremely high performance or custom ZIP compression formats, you can use the highly-extensible ZIP streams. They take streams as both input and output. You can even use custom compression/decompression algorithms from other libraries, as long as they [are defined in the ZIP spec](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT) (see section 4.4.5). If you'd like more info on using custom compressors, [feel free to ask](https://github.com/101arrowz/fflate/discussions). +```js +// ZIP object +// Can also specify zip.ondata outside of the constructor +const zip = new fflate.Zip((err, dat, final) => { + if (!err) { + // output of the streams + console.log(dat, final); + } +}); + +const helloTxt = new fflate.ZipDeflate('hello.txt', { + level: 9 +}); + +// Always add streams to ZIP archives before pushing to those streams +zip.add(helloTxt); + +helloTxt.push(chunk1); +// Last chunk +helloTxt.push(chunk2, true); + +// ZipPassThrough is like ZipDeflate with level 0, but allows for tree shaking +const nonStreamingFile = new fflate.ZipPassThrough('test.png'); +zip.add(nonStreamingFile); +// If you have data already loaded, just .push(data, true) +nonStreamingFile.push(pngData, true); + +// You need to call .end() after finishing +// This ensures the ZIP is valid +zip.end(); + +// Unzip object +const unzipper = new fflate.Unzip(); + +// This function will almost always have to be called. It is used to support +// compression algorithms such as BZIP2 or LZMA in ZIP files if just DEFLATE +// is not enough (though it almost always is). +// If your ZIP files are not compressed, this line is not needed. +unzipper.register(fflate.UnzipInflate); + +const neededFiles = ['file1.txt', 'example.json']; + +// Can specify handler in constructor too +unzipper.onfile = file => { + // file.name is a string, file is a stream + if (neededFiles.includes(file.name)) { + file.ondata = (err, dat, final) => { + // Stream output here + console.log(dat, final); + }; + + console.log('Reading:', file.name); + + // File sizes are sometimes not set if the ZIP file did not encode + // them, so you may want to check that file.size != undefined + console.log('Compressed size', file.size); + console.log('Decompressed size', file.originalSize); + + // You should only start the stream if you plan to use it to improve + // performance. Only after starting the stream will ondata be called. + // This method will throw if the compression method hasn't been registered + file.start(); + } +}; + +// Try to keep under 5,000 files per chunk to avoid stack limit errors +// For example, if all files are a few kB, multi-megabyte chunks are OK +// If files are mostly under 100 bytes, 64kB chunks are the limit +unzipper.push(zipChunk1); +unzipper.push(zipChunk2); +unzipper.push(zipChunk3, true); +``` + +As you may have guessed, there is an asynchronous version of every method as well. Unlike most libraries, this will cause the compression or decompression run in a separate thread entirely and automatically by using Web (or Node) Workers. This means that the processing will not block the main thread at all. + +Note that there is a significant initial overhead to using workers of about 50ms for each asynchronous function. For instance, if you call `unzip` ten times, the overhead only applies for the first call, but if you call `unzip` and `zlib`, they will each cause the 50ms delay. For small (under about 50kB) payloads, the asynchronous APIs will be much slower. However, if you're compressing larger files/multiple files at once, or if the synchronous API causes the main thread to hang for too long, the callback APIs are an order of magnitude better. +```js +import { + gzip, zlib, AsyncGzip, zip, unzip, strFromU8, + Zip, AsyncZipDeflate, Unzip, AsyncUnzipInflate +} from 'fflate'; + +// Workers will work in almost any browser (even IE11!) +// All of the async APIs use a node-style callback as so: +const terminate = gzip(aMassiveFile, (err, data) => { + if (err) { + // The compressed data was likely corrupt, so we have to handle + // the error. + return; + } + // Use data however you like + console.log(data.length); +}); + +if (needToCancel) { + // The return value of any of the asynchronous APIs is a function that, + // when called, will immediately cancel the operation. The callback + // will not be called. + terminate(); +} + +// If you wish to provide options, use the second argument. + +// The consume option will render the data inside aMassiveFile unusable, +// but can improve performance and dramatically reduce memory usage. +zlib(aMassiveFile, { consume: true, level: 9 }, (err, data) => { + // Use the data +}); + +// Asynchronous streams are similar to synchronous streams, but the +// handler has the error that occurred (if any) as the first parameter, +// and they don't block the main thread. + +// Additionally, any buffers that are pushed in will be consumed and +// rendered unusable; if you need to use a buffer you push in, you +// should clone it first. +const gzs = new AsyncGzip({ level: 9, mem: 12, filename: 'hello.txt' }); +let wasCallbackCalled = false; +gzs.ondata = (err, chunk, final) => { + // Note the new err parameter + if (err) { + // Note that after this occurs, the stream becomes corrupt and must + // be discarded. You can't continue pushing chunks and expect it to + // work. + console.error(err); + return; + } + wasCallbackCalled = true; +} +gzs.push(chunk); + +// Since the stream is asynchronous, the callback will not be called +// immediately. If such behavior is absolutely necessary (it shouldn't +// be), use synchronous streams. +console.log(wasCallbackCalled) // false + +// To terminate an asynchronous stream's internal worker, call +// stream.terminate(). +gzs.terminate(); + +// This is way faster than zipSync because the compression of multiple +// files runs in parallel. In fact, the fact that it's parallelized +// makes it faster than most standalone ZIP CLIs. The effect is most +// significant for multiple large files; less so for many small ones. +zip({ f1: aMassiveFile, 'f2.txt': anotherMassiveFile }, { + // The options object is still optional, you can still do just + // zip(archive, callback) + level: 6 +}, (err, data) => { + // Save the ZIP file +}); + +// unzip is the only async function without support for consume option +// It is parallelized, so unzip is also often much faster than unzipSync +unzip(aMassiveZIPFile, (err, unzipped) => { + // If the archive has data.xml, log it here + console.log(unzipped['data.xml']); + // Conversion to string + console.log(strFromU8(unzipped['data.xml'])) +}); + +// Streaming ZIP archives can accept asynchronous streams. This automatically +// uses multicore compression. +const zip = new Zip(); +zip.ondata = (err, chunk, final) => { ... }; +// The JSON and BMP are compressed in parallel +const exampleFile = new AsyncZipDeflate('example.json'); +zip.add(exampleFile); +exampleFile.push(JSON.stringify({ large: 'object' }), true); +const exampleFile2 = new AsyncZipDeflate('example2.bmp', { level: 9 }); +zip.add(exampleFile2); +exampleFile2.push(ec2a); +exampleFile2.push(ec2b); +exampleFile2.push(ec2c); +... +exampleFile2.push(ec2Final, true); +zip.end(); + +// Streaming Unzip should register the asynchronous inflation algorithm +// for parallel processing. +const unzip = new Unzip(stream => { + if (stream.name.endsWith('.json')) { + stream.ondata = (err, chunk, final) => { ... }; + stream.start(); + + if (needToCancel) { + // To cancel these streams, call .terminate() + stream.terminate(); + } + } +}); +unzip.register(AsyncUnzipInflate); +unzip.push(data, true); +``` + +See the [documentation](https://github.com/101arrowz/fflate/blob/master/docs/README.md) for more detailed information about the API. + +## Bundle size estimates + +The bundle size measurements for `fflate` on sites like Bundlephobia include every feature of the library and should be seen as an upper bound. As long as you are using tree shaking or dead code elimination, this table should give you a general idea of `fflate`'s bundle size for the features you need. + +The maximum bundle size that is possible with `fflate` is about 31kB (11.5kB gzipped) if you use every single feature, but feature parity with `pako` is only around 10kB (as opposed to 45kB from `pako`). If your bundle size increases dramatically after adding `fflate`, please [create an issue](https://github.com/101arrowz/fflate/issues/new). + +| Feature | Bundle size (minified) | Nearest competitor | +|-------------------------|--------------------------------|-------------------------| +| Decompression | 3kB | `tiny-inflate` | +| Compression | 5kB | `UZIP.js`, 2.84x larger | +| Async decompression | 4kB (1kB + raw decompression) | N/A | +| Async compression | 6kB (1kB + raw compression) | N/A | +| ZIP decompression | 5kB (2kB + raw decompression) | `UZIP.js`, 2.84x larger | +| ZIP compression | 7kB (2kB + raw compression) | `UZIP.js`, 2.03x larger | +| GZIP/Zlib decompression | 4kB (1kB + raw decompression) | `pako`, 11.4x larger | +| GZIP/Zlib compression | 5kB (1kB + raw compression) | `pako`, 9.12x larger | +| Streaming decompression | 4kB (1kB + raw decompression) | `pako`, 11.4x larger | +| Streaming compression | 5kB (1kB + raw compression) | `pako`, 9.12x larger | + +## What makes `fflate` so fast? +Many JavaScript compression/decompression libraries exist. However, the most popular one, [`pako`](https://npmjs.com/package/pako), is merely a clone of Zlib rewritten nearly line-for-line in JavaScript. Although it is by no means poorly made, `pako` doesn't recognize the many differences between JavaScript and C, and therefore is suboptimal for performance. Moreover, even when minified, the library is 45 kB; it may not seem like much, but for anyone concerned with optimizing bundle size (especially library authors), it's more weight than necessary. + +Note that there exist some small libraries like [`tiny-inflate`](https://npmjs.com/package/tiny-inflate) for solely decompression, and with a minified size of 3 kB, it can be appealing; however, its performance is lackluster, typically 40% worse than `pako` in my tests. + +[`UZIP.js`](https://github.com/photopea/UZIP.js) is both faster (by up to 40%) and smaller (14 kB minified) than `pako`, and it contains a variety of innovations that make it excellent for both performance and compression ratio. However, the developer made a variety of tiny mistakes and inefficient design choices that make it imperfect. Moreover, it does not support GZIP or Zlib data directly; one must remove the headers manually to use `UZIP.js`. + +So what makes `fflate` different? It takes the brilliant innovations of `UZIP.js` and optimizes them while adding direct support for GZIP and Zlib data. And unlike all of the above libraries, it uses ES Modules to allow for partial builds through tree shaking, meaning that it can rival even `tiny-inflate` in size while maintaining excellent performance. The end result is a library that, in total, weighs 8kB minified for the core build (3kB for decompression only and 5kB for compression only), is about 15% faster than `UZIP.js` or up to 60% faster than `pako`, and achieves the same or better compression ratio than the rest. + +Before you decide that `fflate` is the end-all compression library, you should note that JavaScript simply cannot rival the performance of a native program. If you're only using Node.js, it's probably better to use the [native Zlib bindings](https://nodejs.org/api/zlib.html), which tend to offer the best performance. Though note that even against Zlib, `fflate` is only around 30% slower in decompression and 10% slower in compression, and can still achieve better compression ratios! + +## What about `CompressionStream`? +Like `fflate`, the [Compression Streams API](https://developer.mozilla.org/en-US/docs/Web/API/Compression_Streams_API) provides DEFLATE, GZIP, and Zlib compression and decompression support. It's a good option if you'd like to compress or decompress data without installing any third-party libraries, and it wraps native Zlib bindings to achieve better performance than what most JavaScript programs can achieve. + +However, browsers do not offer any native non-streaming compression API, and `CompressionStream` has surprisingly poor performance on data already loaded into memory; `fflate` tends to be faster even for files that are dozens of megabytes large. Similarly, `fflate` is much faster for files under a megabyte because it avoids marshalling overheads. Even when streaming hundreds of megabytes of data, the native API usually performs between 30% faster and 10% slower than `fflate`. And Compression Streams have many other disadvantages - no ability to control compression level, poor support for older browsers, no ZIP support, etc. + +If you'd still prefer to depend upon a native browser API but want to support older browsers, you can use an `fflate`-based [Compression Streams ponyfill](https://github.com/101arrowz/compression-streams-polyfill). + +## Browser support +`fflate` makes heavy use of typed arrays (`Uint8Array`, `Uint16Array`, etc.). Typed arrays can be polyfilled at the cost of performance, but the most recent browser that doesn't support them [is from 2011](https://caniuse.com/typedarrays), so I wouldn't bother. + +The asynchronous APIs also use `Worker`, which is not supported in a few browsers (however, the vast majority of browsers that support typed arrays support `Worker`). + +Other than that, `fflate` is completely ES3, meaning you probably won't even need a bundler to use it. + +## Testing +You can validate the performance of `fflate` with `npm test`. It validates that the module is working as expected, ensures the outputs are no more than 5% larger than competitors at max compression, and outputs performance metrics to `test/results`. + +Note that the time it takes for the CLI to show the completion of each test is not representative of the time each package took, so please check the JSON output if you want accurate measurements. + +## License + +This software is [MIT Licensed](./LICENSE), with special exemptions for projects +and organizations as noted below: + +- [SheetJS](https://github.com/SheetJS/) is exempt from MIT licensing and may + license any source code from this software under the BSD Zero Clause License diff --git a/.pnpm-store/v3/files/51/438a5029306868e4dd46bb6dd561f491382d16771210d6f5323d178b697cd69ca763c427b5b648dc360268f492c1c34dab81fad4000e4adaf158eac07003e1 b/.pnpm-store/v3/files/51/438a5029306868e4dd46bb6dd561f491382d16771210d6f5323d178b697cd69ca763c427b5b648dc360268f492c1c34dab81fad4000e4adaf158eac07003e1 new file mode 100644 index 00000000..5911921d --- /dev/null +++ b/.pnpm-store/v3/files/51/438a5029306868e4dd46bb6dd561f491382d16771210d6f5323d178b697cd69ca763c427b5b648dc360268f492c1c34dab81fad4000e4adaf158eac07003e1 @@ -0,0 +1,5 @@ +const os = require('bare-os') +const posix = require('./lib/posix') +const win32 = require('./lib/win32') + +module.exports = os.platform() === 'win32' ? win32 : posix diff --git a/.pnpm-store/v3/files/51/75eceaf9d159d289f11ed5d7398a1f19931865d6ff40039ddca6cbe2a8ae080f1c2db1ec973c716c375663cb53890fca4eed3586320f1546238bc7471e4524 b/.pnpm-store/v3/files/51/75eceaf9d159d289f11ed5d7398a1f19931865d6ff40039ddca6cbe2a8ae080f1c2db1ec973c716c375663cb53890fca4eed3586320f1546238bc7471e4524 new file mode 100644 index 00000000..402d1dd4 --- /dev/null +++ b/.pnpm-store/v3/files/51/75eceaf9d159d289f11ed5d7398a1f19931865d6ff40039ddca6cbe2a8ae080f1c2db1ec973c716c375663cb53890fca4eed3586320f1546238bc7471e4524 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F VC WC","33":"A B C K L G M N"},D:{"1":"0 1 2 3 4 5 6 7 8 KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K","33":"L G M N O AB q r s t BB CB DB EB FB GB HB IB JB"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC"},F:{"1":"q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B C iC jC kC lC 2B QC mC","33":"G M N O AB"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC","33":"ED FD"},J:{"1":"A","2":"D"},K:{"1":"u 3B","2":"A B C 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","33":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"Page Visibility",D:true}; diff --git a/.pnpm-store/v3/files/51/a3c0d458f0fc7e56d130f0527aeceec0f93408f7fa268fbe3c58c3793ab9fd0c9320edf3d6b6a366a09de7704870b47221af3f1809e43f75e415bb921021d5 b/.pnpm-store/v3/files/51/a3c0d458f0fc7e56d130f0527aeceec0f93408f7fa268fbe3c58c3793ab9fd0c9320edf3d6b6a366a09de7704870b47221af3f1809e43f75e415bb921021d5 new file mode 100644 index 00000000..fdddcb5b --- /dev/null +++ b/.pnpm-store/v3/files/51/a3c0d458f0fc7e56d130f0527aeceec0f93408f7fa268fbe3c58c3793ab9fd0c9320edf3d6b6a366a09de7704870b47221af3f1809e43f75e415bb921021d5 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00738,"47":0.00492,"52":0.0123,"56":0.00246,"66":0.00246,"68":0.00246,"72":0.00492,"78":0.00492,"80":0.00246,"88":0.00492,"102":0.00246,"106":0.00492,"108":0.00246,"109":0.00246,"110":0.00246,"111":0.00246,"112":0.00246,"113":0.00492,"114":0.00246,"115":0.23606,"116":0.00246,"117":0.00246,"118":0.00738,"119":0.0123,"120":0.02951,"121":0.70573,"122":0.23606,"123":0.00984,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 67 69 70 71 73 74 75 76 77 79 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 107 124 125 3.5 3.6"},D:{"10":0.00246,"11":0.00246,"38":0.00246,"49":0.00246,"50":0.00246,"51":0.00246,"56":0.00738,"58":0.00246,"62":0.00246,"63":0.00246,"64":0.00246,"65":0.00492,"66":0.00492,"67":0.00246,"68":0.00246,"69":0.00492,"70":0.00246,"71":0.00246,"72":0.00492,"73":0.02459,"74":0.00246,"75":0.00246,"76":0.00738,"77":0.00246,"78":0.00492,"79":0.03197,"80":0.00492,"81":0.00246,"83":0.08361,"84":0.00246,"85":0.00246,"86":0.00492,"87":0.03689,"88":0.02213,"89":0.00492,"90":0.00246,"91":0.00492,"92":0.00984,"93":0.19672,"94":0.00738,"95":0.0123,"96":0.00246,"97":0.00492,"98":0.00738,"99":0.00492,"100":0.00492,"101":0.00246,"102":0.00984,"103":0.0418,"104":0.00246,"105":0.00738,"106":0.0123,"107":0.00984,"108":0.01967,"109":1.08688,"110":0.01967,"111":0.02459,"112":0.01475,"113":0.00984,"114":0.03934,"115":0.03197,"116":0.07623,"117":0.04918,"118":0.04918,"119":0.23361,"120":9.97125,"121":0.80163,"122":0.00738,_:"4 5 6 7 8 9 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 52 53 54 55 57 59 60 61 123 124"},F:{"28":0.00738,"46":0.00738,"77":0.00492,"79":0.00492,"80":0.00738,"95":0.01721,"102":0.00246,"105":0.12787,"106":0.28033,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00738,"13":0.00246,"14":0.00246,"15":0.00492,"16":0.00492,"17":0.00246,"18":0.02459,"84":0.00246,"89":0.00738,"90":0.00246,"92":0.03443,"100":0.00492,"106":0.00246,"107":0.00246,"109":0.02459,"110":0.00492,"111":0.00246,"112":0.00246,"113":0.00246,"114":0.00984,"115":0.00246,"116":0.00738,"117":0.01475,"118":0.01967,"119":0.03934,"120":1.39671,"121":0.23361,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 108"},E:{"10":0.00246,"13":0.00246,"14":0.00246,_:"0 4 5 6 7 8 9 11 12 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 17.4","5.1":0.00246,"13.1":0.00984,"14.1":0.01721,"15.1":0.00246,"15.2-15.3":0.00246,"15.4":0.00492,"15.5":0.00492,"15.6":0.03689,"16.0":0.00738,"16.1":0.00984,"16.2":0.00492,"16.3":0.0123,"16.4":0.01475,"16.5":0.0123,"16.6":0.03934,"17.0":0.0123,"17.1":0.06148,"17.2":0.0959,"17.3":0.00984},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00033,"5.0-5.1":0.00049,"6.0-6.1":0.00081,"7.0-7.1":0.00114,"8.1-8.4":0.00016,"9.0-9.2":0.00098,"9.3":0.00375,"10.0-10.2":0.00033,"10.3":0.00586,"11.0-11.2":0.00228,"11.3-11.4":0.00244,"12.0-12.1":0.00147,"12.2-12.5":0.02899,"13.0-13.1":0.00049,"13.2":0.00538,"13.3":0.00147,"13.4-13.7":0.00652,"14.0-14.4":0.0114,"14.5-14.8":0.01743,"15.0-15.1":0.00749,"15.2-15.3":0.00863,"15.4":0.0101,"15.5":0.01336,"15.6-15.8":0.10408,"16.0":0.03127,"16.1":0.06662,"16.2":0.0303,"16.3":0.05636,"16.4":0.01254,"16.5":0.02671,"16.6-16.7":0.21859,"17.0":0.03632,"17.1":0.37447,"17.2":0.5069,"17.3":0.03258},P:{"4":0.15425,"20":0.01028,"21":0.02057,"22":0.03085,"23":0.53473,"5.0-5.4":0.01028,"6.2-6.4":0.01028,"7.2-7.4":0.05142,_:"8.2 9.2 11.1-11.2 12.0 14.0 15.0","10.1":0.01028,"13.0":0.01028,"16.0":0.01028,"17.0":0.01028,"18.0":0.01028,"19.0":0.03085},I:{"0":0.03003,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"10":0.0059,"11":0.03836,_:"6 7 8 9 5.5"},K:{"0":30.12959,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.15836},H:{"0":7.96},L:{"0":41.52035},R:{_:"0"},M:{"0":0.13574}}; diff --git a/.pnpm-store/v3/files/51/ac52e92bee57d46fae3150dd580f97fec294b214dca0364249663f504c628f0c9e4c6383517454754147df9c52023c4cb74bd224026b571b086c73cc3b6fc7 b/.pnpm-store/v3/files/51/ac52e92bee57d46fae3150dd580f97fec294b214dca0364249663f504c628f0c9e4c6383517454754147df9c52023c4cb74bd224026b571b086c73cc3b6fc7 new file mode 100644 index 00000000..e8095119 --- /dev/null +++ b/.pnpm-store/v3/files/51/ac52e92bee57d46fae3150dd580f97fec294b214dca0364249663f504c628f0c9e4c6383517454754147df9c52023c4cb74bd224026b571b086c73cc3b6fc7 @@ -0,0 +1,6 @@ +const binding = require('../binding') + +module.exports = { + signals: binding.signals, + errnos: binding.errnos +} diff --git a/.pnpm-store/v3/files/51/b337b0766cbef08ed9c2fafc1e3c4ec55ac72baba5f13fd18dd9e748a501aa7409d4b6c58f658bb023fdc6a848df6ce106fbeb4ee0f9f0f9ff7aeaf2182cd8 b/.pnpm-store/v3/files/51/b337b0766cbef08ed9c2fafc1e3c4ec55ac72baba5f13fd18dd9e748a501aa7409d4b6c58f658bb023fdc6a848df6ce106fbeb4ee0f9f0f9ff7aeaf2182cd8 new file mode 100644 index 00000000..ce5d3c3e --- /dev/null +++ b/.pnpm-store/v3/files/51/b337b0766cbef08ed9c2fafc1e3c4ec55ac72baba5f13fd18dd9e748a501aa7409d4b6c58f658bb023fdc6a848df6ce106fbeb4ee0f9f0f9ff7aeaf2182cd8 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"I"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","4":"9 YC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p QC mC 3B","2":"F B iC jC kC lC 2B"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC","4":"RC"},H:{"2":"9C"},I:{"1":"H BD CD RC ED FD","2":"7B I AD DD"},J:{"1":"D A"},K:{"1":"C u 2B QC 3B","2":"A B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Session history management",D:true}; diff --git a/.pnpm-store/v3/files/51/bc34f0bc337a800290ff48d4bd0bab09e1895b3a560f4b59e4c50e3d25799215a795c6dbcc5cc4ad25ae516f68bf19a91f2830e06715d64ba3a6a0cb9f9281 b/.pnpm-store/v3/files/51/bc34f0bc337a800290ff48d4bd0bab09e1895b3a560f4b59e4c50e3d25799215a795c6dbcc5cc4ad25ae516f68bf19a91f2830e06715d64ba3a6a0cb9f9281 new file mode 100644 index 00000000..76232b29 --- /dev/null +++ b/.pnpm-store/v3/files/51/bc34f0bc337a800290ff48d4bd0bab09e1895b3a560f4b59e4c50e3d25799215a795c6dbcc5cc4ad25ae516f68bf19a91f2830e06715d64ba3a6a0cb9f9281 @@ -0,0 +1,1730 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = global || self, factory(global.Diff = {})); +}(this, (function (exports) { 'use strict'; + + function Diff() {} + Diff.prototype = { + diff: function diff(oldString, newString) { + var _options$timeout; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = options.callback; + + if (typeof options === 'function') { + callback = options; + options = {}; + } + + this.options = options; + var self = this; + + function done(value) { + if (callback) { + setTimeout(function () { + callback(undefined, value); + }, 0); + return true; + } else { + return value; + } + } // Allow subclasses to massage the input prior to running + + + oldString = this.castInput(oldString); + newString = this.castInput(newString); + oldString = this.removeEmpty(this.tokenize(oldString)); + newString = this.removeEmpty(this.tokenize(newString)); + var newLen = newString.length, + oldLen = oldString.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + + if (options.maxEditLength) { + maxEditLength = Math.min(maxEditLength, options.maxEditLength); + } + + var maxExecutionTime = (_options$timeout = options.timeout) !== null && _options$timeout !== void 0 ? _options$timeout : Infinity; + var abortAfterTimestamp = Date.now() + maxExecutionTime; + var bestPath = [{ + oldPos: -1, + lastComponent: undefined + }]; // Seed editLength = 0, i.e. the content starts with the same values + + var newPos = this.extractCommon(bestPath[0], newString, oldString, 0); + + if (bestPath[0].oldPos + 1 >= oldLen && newPos + 1 >= newLen) { + // Identity per the equality and tokenizer + return done([{ + value: this.join(newString), + count: newString.length + }]); + } // Once we hit the right edge of the edit graph on some diagonal k, we can + // definitely reach the end of the edit graph in no more than k edits, so + // there's no point in considering any moves to diagonal k+1 any more (from + // which we're guaranteed to need at least k+1 more edits). + // Similarly, once we've reached the bottom of the edit graph, there's no + // point considering moves to lower diagonals. + // We record this fact by setting minDiagonalToConsider and + // maxDiagonalToConsider to some finite value once we've hit the edge of + // the edit graph. + // This optimization is not faithful to the original algorithm presented in + // Myers's paper, which instead pointlessly extends D-paths off the end of + // the edit graph - see page 7 of Myers's paper which notes this point + // explicitly and illustrates it with a diagram. This has major performance + // implications for some common scenarios. For instance, to compute a diff + // where the new text simply appends d characters on the end of the + // original text of length n, the true Myers algorithm will take O(n+d^2) + // time while this optimization needs only O(n+d) time. + + + var minDiagonalToConsider = -Infinity, + maxDiagonalToConsider = Infinity; // Main worker method. checks all permutations of a given edit length for acceptance. + + function execEditLength() { + for (var diagonalPath = Math.max(minDiagonalToConsider, -editLength); diagonalPath <= Math.min(maxDiagonalToConsider, editLength); diagonalPath += 2) { + var basePath = void 0; + var removePath = bestPath[diagonalPath - 1], + addPath = bestPath[diagonalPath + 1]; + + if (removePath) { + // No one else is going to attempt to use this value, clear it + bestPath[diagonalPath - 1] = undefined; + } + + var canAdd = false; + + if (addPath) { + // what newPos will be after we do an insertion: + var addPathNewPos = addPath.oldPos - diagonalPath; + canAdd = addPath && 0 <= addPathNewPos && addPathNewPos < newLen; + } + + var canRemove = removePath && removePath.oldPos + 1 < oldLen; + + if (!canAdd && !canRemove) { + // If this path is a terminal then prune + bestPath[diagonalPath] = undefined; + continue; + } // Select the diagonal that we want to branch from. We select the prior + // path whose position in the old string is the farthest from the origin + // and does not pass the bounds of the diff graph + // TODO: Remove the `+ 1` here to make behavior match Myers algorithm + // and prefer to order removals before insertions. + + + if (!canRemove || canAdd && removePath.oldPos + 1 < addPath.oldPos) { + basePath = self.addToPath(addPath, true, undefined, 0); + } else { + basePath = self.addToPath(removePath, undefined, true, 1); + } + + newPos = self.extractCommon(basePath, newString, oldString, diagonalPath); + + if (basePath.oldPos + 1 >= oldLen && newPos + 1 >= newLen) { + // If we have hit the end of both strings, then we are done + return done(buildValues(self, basePath.lastComponent, newString, oldString, self.useLongestToken)); + } else { + bestPath[diagonalPath] = basePath; + + if (basePath.oldPos + 1 >= oldLen) { + maxDiagonalToConsider = Math.min(maxDiagonalToConsider, diagonalPath - 1); + } + + if (newPos + 1 >= newLen) { + minDiagonalToConsider = Math.max(minDiagonalToConsider, diagonalPath + 1); + } + } + } + + editLength++; + } // Performs the length of edit iteration. Is a bit fugly as this has to support the + // sync and async mode which is never fun. Loops over execEditLength until a value + // is produced, or until the edit length exceeds options.maxEditLength (if given), + // in which case it will return undefined. + + + if (callback) { + (function exec() { + setTimeout(function () { + if (editLength > maxEditLength || Date.now() > abortAfterTimestamp) { + return callback(); + } + + if (!execEditLength()) { + exec(); + } + }, 0); + })(); + } else { + while (editLength <= maxEditLength && Date.now() <= abortAfterTimestamp) { + var ret = execEditLength(); + + if (ret) { + return ret; + } + } + } + }, + addToPath: function addToPath(path, added, removed, oldPosInc) { + var last = path.lastComponent; + + if (last && last.added === added && last.removed === removed) { + return { + oldPos: path.oldPos + oldPosInc, + lastComponent: { + count: last.count + 1, + added: added, + removed: removed, + previousComponent: last.previousComponent + } + }; + } else { + return { + oldPos: path.oldPos + oldPosInc, + lastComponent: { + count: 1, + added: added, + removed: removed, + previousComponent: last + } + }; + } + }, + extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { + var newLen = newString.length, + oldLen = oldString.length, + oldPos = basePath.oldPos, + newPos = oldPos - diagonalPath, + commonCount = 0; + + while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + + if (commonCount) { + basePath.lastComponent = { + count: commonCount, + previousComponent: basePath.lastComponent + }; + } + + basePath.oldPos = oldPos; + return newPos; + }, + equals: function equals(left, right) { + if (this.options.comparator) { + return this.options.comparator(left, right); + } else { + return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); + } + }, + removeEmpty: function removeEmpty(array) { + var ret = []; + + for (var i = 0; i < array.length; i++) { + if (array[i]) { + ret.push(array[i]); + } + } + + return ret; + }, + castInput: function castInput(value) { + return value; + }, + tokenize: function tokenize(value) { + return value.split(''); + }, + join: function join(chars) { + return chars.join(''); + } + }; + + function buildValues(diff, lastComponent, newString, oldString, useLongestToken) { + // First we convert our linked list of components in reverse order to an + // array in the right order: + var components = []; + var nextComponent; + + while (lastComponent) { + components.push(lastComponent); + nextComponent = lastComponent.previousComponent; + delete lastComponent.previousComponent; + lastComponent = nextComponent; + } + + components.reverse(); + var componentPos = 0, + componentLen = components.length, + newPos = 0, + oldPos = 0; + + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + + if (!component.removed) { + if (!component.added && useLongestToken) { + var value = newString.slice(newPos, newPos + component.count); + value = value.map(function (value, i) { + var oldValue = oldString[oldPos + i]; + return oldValue.length > value.length ? oldValue : value; + }); + component.value = diff.join(value); + } else { + component.value = diff.join(newString.slice(newPos, newPos + component.count)); + } + + newPos += component.count; // Common case + + if (!component.added) { + oldPos += component.count; + } + } else { + component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); + oldPos += component.count; // Reverse add and remove so removes are output first to match common convention + // The diffing algorithm is tied to add then remove output and this is the simplest + // route to get the desired output with minimal overhead. + + if (componentPos && components[componentPos - 1].added) { + var tmp = components[componentPos - 1]; + components[componentPos - 1] = components[componentPos]; + components[componentPos] = tmp; + } + } + } // Special case handle for when one terminal is ignored (i.e. whitespace). + // For this case we merge the terminal into the prior string and drop the change. + // This is only available for string mode. + + + var finalComponent = components[componentLen - 1]; + + if (componentLen > 1 && typeof finalComponent.value === 'string' && (finalComponent.added || finalComponent.removed) && diff.equals('', finalComponent.value)) { + components[componentLen - 2].value += finalComponent.value; + components.pop(); + } + + return components; + } + + var characterDiff = new Diff(); + function diffChars(oldStr, newStr, options) { + return characterDiff.diff(oldStr, newStr, options); + } + + function generateOptions(options, defaults) { + if (typeof options === 'function') { + defaults.callback = options; + } else if (options) { + for (var name in options) { + /* istanbul ignore else */ + if (options.hasOwnProperty(name)) { + defaults[name] = options[name]; + } + } + } + + return defaults; + } + + // + // Ranges and exceptions: + // Latin-1 Supplement, 0080–00FF + // - U+00D7 × Multiplication sign + // - U+00F7 ÷ Division sign + // Latin Extended-A, 0100–017F + // Latin Extended-B, 0180–024F + // IPA Extensions, 0250–02AF + // Spacing Modifier Letters, 02B0–02FF + // - U+02C7 ˇ ˇ Caron + // - U+02D8 ˘ ˘ Breve + // - U+02D9 ˙ ˙ Dot Above + // - U+02DA ˚ ˚ Ring Above + // - U+02DB ˛ ˛ Ogonek + // - U+02DC ˜ ˜ Small Tilde + // - U+02DD ˝ ˝ Double Acute Accent + // Latin Extended Additional, 1E00–1EFF + + var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; + var reWhitespace = /\S/; + var wordDiff = new Diff(); + + wordDiff.equals = function (left, right) { + if (this.options.ignoreCase) { + left = left.toLowerCase(); + right = right.toLowerCase(); + } + + return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); + }; + + wordDiff.tokenize = function (value) { + // All whitespace symbols except newline group into one token, each newline - in separate token + var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set. + + for (var i = 0; i < tokens.length - 1; i++) { + // If we have an empty string in the next field and we have only word chars before and after, merge + if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { + tokens[i] += tokens[i + 2]; + tokens.splice(i + 1, 2); + i--; + } + } + + return tokens; + }; + + function diffWords(oldStr, newStr, options) { + options = generateOptions(options, { + ignoreWhitespace: true + }); + return wordDiff.diff(oldStr, newStr, options); + } + function diffWordsWithSpace(oldStr, newStr, options) { + return wordDiff.diff(oldStr, newStr, options); + } + + var lineDiff = new Diff(); + + lineDiff.tokenize = function (value) { + if (this.options.stripTrailingCr) { + // remove one \r before \n to match GNU diff's --strip-trailing-cr behavior + value = value.replace(/\r\n/g, '\n'); + } + + var retLines = [], + linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line + + if (!linesAndNewlines[linesAndNewlines.length - 1]) { + linesAndNewlines.pop(); + } // Merge the content and line separators into single tokens + + + for (var i = 0; i < linesAndNewlines.length; i++) { + var line = linesAndNewlines[i]; + + if (i % 2 && !this.options.newlineIsToken) { + retLines[retLines.length - 1] += line; + } else { + if (this.options.ignoreWhitespace) { + line = line.trim(); + } + + retLines.push(line); + } + } + + return retLines; + }; + + function diffLines(oldStr, newStr, callback) { + return lineDiff.diff(oldStr, newStr, callback); + } + function diffTrimmedLines(oldStr, newStr, callback) { + var options = generateOptions(callback, { + ignoreWhitespace: true + }); + return lineDiff.diff(oldStr, newStr, options); + } + + var sentenceDiff = new Diff(); + + sentenceDiff.tokenize = function (value) { + return value.split(/(\S.+?[.!?])(?=\s+|$)/); + }; + + function diffSentences(oldStr, newStr, callback) { + return sentenceDiff.diff(oldStr, newStr, callback); + } + + var cssDiff = new Diff(); + + cssDiff.tokenize = function (value) { + return value.split(/([{}:;,]|\s+)/); + }; + + function diffCss(oldStr, newStr, callback) { + return cssDiff.diff(oldStr, newStr, callback); + } + + function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function (obj) { + return typeof obj; + }; + } else { + _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; + } + + function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; + } + + function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); + } + + function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray(arr); + } + + function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); + } + + function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); + } + + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + + return arr2; + } + + function _nonIterableSpread() { + 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 objectPrototypeToString = Object.prototype.toString; + var jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a + // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: + + jsonDiff.useLongestToken = true; + jsonDiff.tokenize = lineDiff.tokenize; + + jsonDiff.castInput = function (value) { + var _this$options = this.options, + undefinedReplacement = _this$options.undefinedReplacement, + _this$options$stringi = _this$options.stringifyReplacer, + stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) { + return typeof v === 'undefined' ? undefinedReplacement : v; + } : _this$options$stringi; + return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' '); + }; + + jsonDiff.equals = function (left, right) { + return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')); + }; + + function diffJson(oldObj, newObj, options) { + return jsonDiff.diff(oldObj, newObj, options); + } // This function handles the presence of circular references by bailing out when encountering an + // object that is already on the "stack" of items being processed. Accepts an optional replacer + + function canonicalize(obj, stack, replacementStack, replacer, key) { + stack = stack || []; + replacementStack = replacementStack || []; + + if (replacer) { + obj = replacer(key, obj); + } + + var i; + + for (i = 0; i < stack.length; i += 1) { + if (stack[i] === obj) { + return replacementStack[i]; + } + } + + var canonicalizedObj; + + if ('[object Array]' === objectPrototypeToString.call(obj)) { + stack.push(obj); + canonicalizedObj = new Array(obj.length); + replacementStack.push(canonicalizedObj); + + for (i = 0; i < obj.length; i += 1) { + canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key); + } + + stack.pop(); + replacementStack.pop(); + return canonicalizedObj; + } + + if (obj && obj.toJSON) { + obj = obj.toJSON(); + } + + if (_typeof(obj) === 'object' && obj !== null) { + stack.push(obj); + canonicalizedObj = {}; + replacementStack.push(canonicalizedObj); + + var sortedKeys = [], + _key; + + for (_key in obj) { + /* istanbul ignore else */ + if (obj.hasOwnProperty(_key)) { + sortedKeys.push(_key); + } + } + + sortedKeys.sort(); + + for (i = 0; i < sortedKeys.length; i += 1) { + _key = sortedKeys[i]; + canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); + } + + stack.pop(); + replacementStack.pop(); + } else { + canonicalizedObj = obj; + } + + return canonicalizedObj; + } + + var arrayDiff = new Diff(); + + arrayDiff.tokenize = function (value) { + return value.slice(); + }; + + arrayDiff.join = arrayDiff.removeEmpty = function (value) { + return value; + }; + + function diffArrays(oldArr, newArr, callback) { + return arrayDiff.diff(oldArr, newArr, callback); + } + + function parsePatch(uniDiff) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/), + delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [], + list = [], + i = 0; + + function parseIndex() { + var index = {}; + list.push(index); // Parse diff metadata + + while (i < diffstr.length) { + var line = diffstr[i]; // File header found, end parsing diff metadata + + if (/^(\-\-\-|\+\+\+|@@)\s/.test(line)) { + break; + } // Diff index + + + var header = /^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(line); + + if (header) { + index.index = header[1]; + } + + i++; + } // Parse file headers if they are defined. Unified diff requires them, but + // there's no technical issues to have an isolated hunk without file header + + + parseFileHeader(index); + parseFileHeader(index); // Parse hunks + + index.hunks = []; + + while (i < diffstr.length) { + var _line = diffstr[i]; + + if (/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(_line)) { + break; + } else if (/^@@/.test(_line)) { + index.hunks.push(parseHunk()); + } else if (_line && options.strict) { + // Ignore unexpected content unless in strict mode + throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line)); + } else { + i++; + } + } + } // Parses the --- and +++ headers, if none are found, no lines + // are consumed. + + + function parseFileHeader(index) { + var fileHeader = /^(---|\+\+\+)\s+(.*)$/.exec(diffstr[i]); + + if (fileHeader) { + var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new'; + var data = fileHeader[2].split('\t', 2); + var fileName = data[0].replace(/\\\\/g, '\\'); + + if (/^".*"$/.test(fileName)) { + fileName = fileName.substr(1, fileName.length - 2); + } + + index[keyPrefix + 'FileName'] = fileName; + index[keyPrefix + 'Header'] = (data[1] || '').trim(); + i++; + } + } // Parses a hunk + // This assumes that we are at the start of a hunk. + + + function parseHunk() { + var chunkHeaderIndex = i, + chunkHeaderLine = diffstr[i++], + chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/); + var hunk = { + oldStart: +chunkHeader[1], + oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2], + newStart: +chunkHeader[3], + newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4], + lines: [], + linedelimiters: [] + }; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart += 1; + } + + if (hunk.newLines === 0) { + hunk.newStart += 1; + } + + var addCount = 0, + removeCount = 0; + + for (; i < diffstr.length; i++) { + // Lines starting with '---' could be mistaken for the "remove line" operation + // But they could be the header for the next file. Therefore prune such cases out. + if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) { + break; + } + + var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0]; + + if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\') { + hunk.lines.push(diffstr[i]); + hunk.linedelimiters.push(delimiters[i] || '\n'); + + if (operation === '+') { + addCount++; + } else if (operation === '-') { + removeCount++; + } else if (operation === ' ') { + addCount++; + removeCount++; + } + } else { + break; + } + } // Handle the empty block count case + + + if (!addCount && hunk.newLines === 1) { + hunk.newLines = 0; + } + + if (!removeCount && hunk.oldLines === 1) { + hunk.oldLines = 0; + } // Perform optional sanity checking + + + if (options.strict) { + if (addCount !== hunk.newLines) { + throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1)); + } + + if (removeCount !== hunk.oldLines) { + throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1)); + } + } + + return hunk; + } + + while (i < diffstr.length) { + parseIndex(); + } + + return list; + } + + // Iterator that traverses in the range of [min, max], stepping + // by distance from a given start position. I.e. for [0, 4], with + // start of 2, this will iterate 2, 3, 1, 4, 0. + function distanceIterator (start, minLine, maxLine) { + var wantForward = true, + backwardExhausted = false, + forwardExhausted = false, + localOffset = 1; + return function iterator() { + if (wantForward && !forwardExhausted) { + if (backwardExhausted) { + localOffset++; + } else { + wantForward = false; + } // Check if trying to fit beyond text length, and if not, check it fits + // after offset location (or desired location on first iteration) + + + if (start + localOffset <= maxLine) { + return localOffset; + } + + forwardExhausted = true; + } + + if (!backwardExhausted) { + if (!forwardExhausted) { + wantForward = true; + } // Check if trying to fit before text beginning, and if not, check it fits + // before offset location + + + if (minLine <= start - localOffset) { + return -localOffset++; + } + + backwardExhausted = true; + return iterator(); + } // We tried to fit hunk before text beginning and beyond text length, then + // hunk can't fit on the text. Return undefined + + }; + } + + function applyPatch(source, uniDiff) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + + if (typeof uniDiff === 'string') { + uniDiff = parsePatch(uniDiff); + } + + if (Array.isArray(uniDiff)) { + if (uniDiff.length > 1) { + throw new Error('applyPatch only works with a single input.'); + } + + uniDiff = uniDiff[0]; + } // Apply the diff to the input + + + var lines = source.split(/\r\n|[\n\v\f\r\x85]/), + delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [], + hunks = uniDiff.hunks, + compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) { + return line === patchContent; + }, + errorCount = 0, + fuzzFactor = options.fuzzFactor || 0, + minLine = 0, + offset = 0, + removeEOFNL, + addEOFNL; + /** + * Checks if the hunk exactly fits on the provided location + */ + + + function hunkFits(hunk, toPos) { + for (var j = 0; j < hunk.lines.length; j++) { + var line = hunk.lines[j], + operation = line.length > 0 ? line[0] : ' ', + content = line.length > 0 ? line.substr(1) : line; + + if (operation === ' ' || operation === '-') { + // Context sanity check + if (!compareLine(toPos + 1, lines[toPos], operation, content)) { + errorCount++; + + if (errorCount > fuzzFactor) { + return false; + } + } + + toPos++; + } + } + + return true; + } // Search best fit offsets for each hunk based on the previous ones + + + for (var i = 0; i < hunks.length; i++) { + var hunk = hunks[i], + maxLine = lines.length - hunk.oldLines, + localOffset = 0, + toPos = offset + hunk.oldStart - 1; + var iterator = distanceIterator(toPos, minLine, maxLine); + + for (; localOffset !== undefined; localOffset = iterator()) { + if (hunkFits(hunk, toPos + localOffset)) { + hunk.offset = offset += localOffset; + break; + } + } + + if (localOffset === undefined) { + return false; + } // Set lower text limit to end of the current hunk, so next ones don't try + // to fit over already patched text + + + minLine = hunk.offset + hunk.oldStart + hunk.oldLines; + } // Apply patch hunks + + + var diffOffset = 0; + + for (var _i = 0; _i < hunks.length; _i++) { + var _hunk = hunks[_i], + _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1; + + diffOffset += _hunk.newLines - _hunk.oldLines; + + for (var j = 0; j < _hunk.lines.length; j++) { + var line = _hunk.lines[j], + operation = line.length > 0 ? line[0] : ' ', + content = line.length > 0 ? line.substr(1) : line, + delimiter = _hunk.linedelimiters && _hunk.linedelimiters[j] || '\n'; + + if (operation === ' ') { + _toPos++; + } else if (operation === '-') { + lines.splice(_toPos, 1); + delimiters.splice(_toPos, 1); + /* istanbul ignore else */ + } else if (operation === '+') { + lines.splice(_toPos, 0, content); + delimiters.splice(_toPos, 0, delimiter); + _toPos++; + } else if (operation === '\\') { + var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null; + + if (previousOperation === '+') { + removeEOFNL = true; + } else if (previousOperation === '-') { + addEOFNL = true; + } + } + } + } // Handle EOFNL insertion/removal + + + if (removeEOFNL) { + while (!lines[lines.length - 1]) { + lines.pop(); + delimiters.pop(); + } + } else if (addEOFNL) { + lines.push(''); + delimiters.push('\n'); + } + + for (var _k = 0; _k < lines.length - 1; _k++) { + lines[_k] = lines[_k] + delimiters[_k]; + } + + return lines.join(''); + } // Wrapper that supports multiple file patches via callbacks. + + function applyPatches(uniDiff, options) { + if (typeof uniDiff === 'string') { + uniDiff = parsePatch(uniDiff); + } + + var currentIndex = 0; + + function processIndex() { + var index = uniDiff[currentIndex++]; + + if (!index) { + return options.complete(); + } + + options.loadFile(index, function (err, data) { + if (err) { + return options.complete(err); + } + + var updatedContent = applyPatch(data, index, options); + options.patched(index, updatedContent, function (err) { + if (err) { + return options.complete(err); + } + + processIndex(); + }); + }); + } + + processIndex(); + } + + function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + if (!options) { + options = {}; + } + + if (typeof options.context === 'undefined') { + options.context = 4; + } + + var diff = diffLines(oldStr, newStr, options); + + if (!diff) { + return; + } + + diff.push({ + value: '', + lines: [] + }); // Append an empty value to make cleanup easier + + function contextLines(lines) { + return lines.map(function (entry) { + return ' ' + entry; + }); + } + + var hunks = []; + var oldRangeStart = 0, + newRangeStart = 0, + curRange = [], + oldLine = 1, + newLine = 1; + + var _loop = function _loop(i) { + var current = diff[i], + lines = current.lines || current.value.replace(/\n$/, '').split('\n'); + current.lines = lines; + + if (current.added || current.removed) { + var _curRange; + + // If we have previous context, start with that + if (!oldRangeStart) { + var prev = diff[i - 1]; + oldRangeStart = oldLine; + newRangeStart = newLine; + + if (prev) { + curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : []; + oldRangeStart -= curRange.length; + newRangeStart -= curRange.length; + } + } // Output our changes + + + (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) { + return (current.added ? '+' : '-') + entry; + }))); // Track the updated file position + + + if (current.added) { + newLine += lines.length; + } else { + oldLine += lines.length; + } + } else { + // Identical context lines. Track line changes + if (oldRangeStart) { + // Close out any changes that have been output (or join overlapping) + if (lines.length <= options.context * 2 && i < diff.length - 2) { + var _curRange2; + + // Overlapping + (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines))); + } else { + var _curRange3; + + // end the range and output + var contextSize = Math.min(lines.length, options.context); + + (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize)))); + + var hunk = { + oldStart: oldRangeStart, + oldLines: oldLine - oldRangeStart + contextSize, + newStart: newRangeStart, + newLines: newLine - newRangeStart + contextSize, + lines: curRange + }; + + if (i >= diff.length - 2 && lines.length <= options.context) { + // EOF is inside this hunk + var oldEOFNewline = /\n$/.test(oldStr); + var newEOFNewline = /\n$/.test(newStr); + var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; + + if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { + // special case: old has no eol and no trailing context; no-nl can end up before adds + // however, if the old file is empty, do not output the no-nl line + curRange.splice(hunk.oldLines, 0, '\\ No newline at end of file'); + } + + if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) { + curRange.push('\\ No newline at end of file'); + } + } + + hunks.push(hunk); + oldRangeStart = 0; + newRangeStart = 0; + curRange = []; + } + } + + oldLine += lines.length; + newLine += lines.length; + } + }; + + for (var i = 0; i < diff.length; i++) { + _loop(i); + } + + return { + oldFileName: oldFileName, + newFileName: newFileName, + oldHeader: oldHeader, + newHeader: newHeader, + hunks: hunks + }; + } + function formatPatch(diff) { + if (Array.isArray(diff)) { + return diff.map(formatPatch).join('\n'); + } + + var ret = []; + + if (diff.oldFileName == diff.newFileName) { + ret.push('Index: ' + diff.oldFileName); + } + + ret.push('==================================================================='); + ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\t' + diff.oldHeader)); + ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\t' + diff.newHeader)); + + for (var i = 0; i < diff.hunks.length; i++) { + var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0, + // the first number is one lower than one would expect. + // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 + + if (hunk.oldLines === 0) { + hunk.oldStart -= 1; + } + + if (hunk.newLines === 0) { + hunk.newStart -= 1; + } + + ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@'); + ret.push.apply(ret, hunk.lines); + } + + return ret.join('\n') + '\n'; + } + function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); + } + function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { + return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); + } + + function arrayEqual(a, b) { + if (a.length !== b.length) { + return false; + } + + return arrayStartsWith(a, b); + } + function arrayStartsWith(array, start) { + if (start.length > array.length) { + return false; + } + + for (var i = 0; i < start.length; i++) { + if (start[i] !== array[i]) { + return false; + } + } + + return true; + } + + function calcLineCount(hunk) { + var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines), + oldLines = _calcOldNewLineCount.oldLines, + newLines = _calcOldNewLineCount.newLines; + + if (oldLines !== undefined) { + hunk.oldLines = oldLines; + } else { + delete hunk.oldLines; + } + + if (newLines !== undefined) { + hunk.newLines = newLines; + } else { + delete hunk.newLines; + } + } + function merge(mine, theirs, base) { + mine = loadPatch(mine, base); + theirs = loadPatch(theirs, base); + var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning. + // Leaving sanity checks on this to the API consumer that may know more about the + // meaning in their own context. + + if (mine.index || theirs.index) { + ret.index = mine.index || theirs.index; + } + + if (mine.newFileName || theirs.newFileName) { + if (!fileNameChanged(mine)) { + // No header or no change in ours, use theirs (and ours if theirs does not exist) + ret.oldFileName = theirs.oldFileName || mine.oldFileName; + ret.newFileName = theirs.newFileName || mine.newFileName; + ret.oldHeader = theirs.oldHeader || mine.oldHeader; + ret.newHeader = theirs.newHeader || mine.newHeader; + } else if (!fileNameChanged(theirs)) { + // No header or no change in theirs, use ours + ret.oldFileName = mine.oldFileName; + ret.newFileName = mine.newFileName; + ret.oldHeader = mine.oldHeader; + ret.newHeader = mine.newHeader; + } else { + // Both changed... figure it out + ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName); + ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName); + ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader); + ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader); + } + } + + ret.hunks = []; + var mineIndex = 0, + theirsIndex = 0, + mineOffset = 0, + theirsOffset = 0; + + while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) { + var mineCurrent = mine.hunks[mineIndex] || { + oldStart: Infinity + }, + theirsCurrent = theirs.hunks[theirsIndex] || { + oldStart: Infinity + }; + + if (hunkBefore(mineCurrent, theirsCurrent)) { + // This patch does not overlap with any of the others, yay. + ret.hunks.push(cloneHunk(mineCurrent, mineOffset)); + mineIndex++; + theirsOffset += mineCurrent.newLines - mineCurrent.oldLines; + } else if (hunkBefore(theirsCurrent, mineCurrent)) { + // This patch does not overlap with any of the others, yay. + ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset)); + theirsIndex++; + mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines; + } else { + // Overlap, merge as best we can + var mergedHunk = { + oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart), + oldLines: 0, + newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset), + newLines: 0, + lines: [] + }; + mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines); + theirsIndex++; + mineIndex++; + ret.hunks.push(mergedHunk); + } + } + + return ret; + } + + function loadPatch(param, base) { + if (typeof param === 'string') { + if (/^@@/m.test(param) || /^Index:/m.test(param)) { + return parsePatch(param)[0]; + } + + if (!base) { + throw new Error('Must provide a base reference or pass in a patch'); + } + + return structuredPatch(undefined, undefined, base, param); + } + + return param; + } + + function fileNameChanged(patch) { + return patch.newFileName && patch.newFileName !== patch.oldFileName; + } + + function selectField(index, mine, theirs) { + if (mine === theirs) { + return mine; + } else { + index.conflict = true; + return { + mine: mine, + theirs: theirs + }; + } + } + + function hunkBefore(test, check) { + return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart; + } + + function cloneHunk(hunk, offset) { + return { + oldStart: hunk.oldStart, + oldLines: hunk.oldLines, + newStart: hunk.newStart + offset, + newLines: hunk.newLines, + lines: hunk.lines + }; + } + + function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) { + // This will generally result in a conflicted hunk, but there are cases where the context + // is the only overlap where we can successfully merge the content here. + var mine = { + offset: mineOffset, + lines: mineLines, + index: 0 + }, + their = { + offset: theirOffset, + lines: theirLines, + index: 0 + }; // Handle any leading content + + insertLeading(hunk, mine, their); + insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each. + + while (mine.index < mine.lines.length && their.index < their.lines.length) { + var mineCurrent = mine.lines[mine.index], + theirCurrent = their.lines[their.index]; + + if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) { + // Both modified ... + mutualChange(hunk, mine, their); + } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') { + var _hunk$lines; + + // Mine inserted + (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine))); + } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') { + var _hunk$lines2; + + // Theirs inserted + (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their))); + } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') { + // Mine removed or edited + removal(hunk, mine, their); + } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') { + // Their removed or edited + removal(hunk, their, mine, true); + } else if (mineCurrent === theirCurrent) { + // Context identity + hunk.lines.push(mineCurrent); + mine.index++; + their.index++; + } else { + // Context mismatch + conflict(hunk, collectChange(mine), collectChange(their)); + } + } // Now push anything that may be remaining + + + insertTrailing(hunk, mine); + insertTrailing(hunk, their); + calcLineCount(hunk); + } + + function mutualChange(hunk, mine, their) { + var myChanges = collectChange(mine), + theirChanges = collectChange(their); + + if (allRemoves(myChanges) && allRemoves(theirChanges)) { + // Special case for remove changes that are supersets of one another + if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) { + var _hunk$lines3; + + (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges)); + + return; + } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) { + var _hunk$lines4; + + (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges)); + + return; + } + } else if (arrayEqual(myChanges, theirChanges)) { + var _hunk$lines5; + + (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges)); + + return; + } + + conflict(hunk, myChanges, theirChanges); + } + + function removal(hunk, mine, their, swap) { + var myChanges = collectChange(mine), + theirChanges = collectContext(their, myChanges); + + if (theirChanges.merged) { + var _hunk$lines6; + + (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged)); + } else { + conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges); + } + } + + function conflict(hunk, mine, their) { + hunk.conflict = true; + hunk.lines.push({ + conflict: true, + mine: mine, + theirs: their + }); + } + + function insertLeading(hunk, insert, their) { + while (insert.offset < their.offset && insert.index < insert.lines.length) { + var line = insert.lines[insert.index++]; + hunk.lines.push(line); + insert.offset++; + } + } + + function insertTrailing(hunk, insert) { + while (insert.index < insert.lines.length) { + var line = insert.lines[insert.index++]; + hunk.lines.push(line); + } + } + + function collectChange(state) { + var ret = [], + operation = state.lines[state.index][0]; + + while (state.index < state.lines.length) { + var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one "atomic" modify change. + + if (operation === '-' && line[0] === '+') { + operation = '+'; + } + + if (operation === line[0]) { + ret.push(line); + state.index++; + } else { + break; + } + } + + return ret; + } + + function collectContext(state, matchChanges) { + var changes = [], + merged = [], + matchIndex = 0, + contextChanges = false, + conflicted = false; + + while (matchIndex < matchChanges.length && state.index < state.lines.length) { + var change = state.lines[state.index], + match = matchChanges[matchIndex]; // Once we've hit our add, then we are done + + if (match[0] === '+') { + break; + } + + contextChanges = contextChanges || change[0] !== ' '; + merged.push(match); + matchIndex++; // Consume any additions in the other block as a conflict to attempt + // to pull in the remaining context after this + + if (change[0] === '+') { + conflicted = true; + + while (change[0] === '+') { + changes.push(change); + change = state.lines[++state.index]; + } + } + + if (match.substr(1) === change.substr(1)) { + changes.push(change); + state.index++; + } else { + conflicted = true; + } + } + + if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) { + conflicted = true; + } + + if (conflicted) { + return changes; + } + + while (matchIndex < matchChanges.length) { + merged.push(matchChanges[matchIndex++]); + } + + return { + merged: merged, + changes: changes + }; + } + + function allRemoves(changes) { + return changes.reduce(function (prev, change) { + return prev && change[0] === '-'; + }, true); + } + + function skipRemoveSuperset(state, removeChanges, delta) { + for (var i = 0; i < delta; i++) { + var changeContent = removeChanges[removeChanges.length - delta + i].substr(1); + + if (state.lines[state.index + i] !== ' ' + changeContent) { + return false; + } + } + + state.index += delta; + return true; + } + + function calcOldNewLineCount(lines) { + var oldLines = 0; + var newLines = 0; + lines.forEach(function (line) { + if (typeof line !== 'string') { + var myCount = calcOldNewLineCount(line.mine); + var theirCount = calcOldNewLineCount(line.theirs); + + if (oldLines !== undefined) { + if (myCount.oldLines === theirCount.oldLines) { + oldLines += myCount.oldLines; + } else { + oldLines = undefined; + } + } + + if (newLines !== undefined) { + if (myCount.newLines === theirCount.newLines) { + newLines += myCount.newLines; + } else { + newLines = undefined; + } + } + } else { + if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) { + newLines++; + } + + if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) { + oldLines++; + } + } + }); + return { + oldLines: oldLines, + newLines: newLines + }; + } + + function reversePatch(structuredPatch) { + if (Array.isArray(structuredPatch)) { + return structuredPatch.map(reversePatch).reverse(); + } + + return _objectSpread2(_objectSpread2({}, structuredPatch), {}, { + oldFileName: structuredPatch.newFileName, + oldHeader: structuredPatch.newHeader, + newFileName: structuredPatch.oldFileName, + newHeader: structuredPatch.oldHeader, + hunks: structuredPatch.hunks.map(function (hunk) { + return { + oldLines: hunk.newLines, + oldStart: hunk.newStart, + newLines: hunk.oldLines, + newStart: hunk.oldStart, + linedelimiters: hunk.linedelimiters, + lines: hunk.lines.map(function (l) { + if (l.startsWith('-')) { + return "+".concat(l.slice(1)); + } + + if (l.startsWith('+')) { + return "-".concat(l.slice(1)); + } + + return l; + }) + }; + }) + }); + } + + // See: http://code.google.com/p/google-diff-match-patch/wiki/API + function convertChangesToDMP(changes) { + var ret = [], + change, + operation; + + for (var i = 0; i < changes.length; i++) { + change = changes[i]; + + if (change.added) { + operation = 1; + } else if (change.removed) { + operation = -1; + } else { + operation = 0; + } + + ret.push([operation, change.value]); + } + + return ret; + } + + function convertChangesToXML(changes) { + var ret = []; + + for (var i = 0; i < changes.length; i++) { + var change = changes[i]; + + if (change.added) { + ret.push(''); + } else if (change.removed) { + ret.push(''); + } + + ret.push(escapeHTML(change.value)); + + if (change.added) { + ret.push(''); + } else if (change.removed) { + ret.push(''); + } + } + + return ret.join(''); + } + + function escapeHTML(s) { + var n = s; + n = n.replace(/&/g, '&'); + n = n.replace(//g, '>'); + n = n.replace(/"/g, '"'); + return n; + } + + exports.Diff = Diff; + exports.applyPatch = applyPatch; + exports.applyPatches = applyPatches; + exports.canonicalize = canonicalize; + exports.convertChangesToDMP = convertChangesToDMP; + exports.convertChangesToXML = convertChangesToXML; + exports.createPatch = createPatch; + exports.createTwoFilesPatch = createTwoFilesPatch; + exports.diffArrays = diffArrays; + exports.diffChars = diffChars; + exports.diffCss = diffCss; + exports.diffJson = diffJson; + exports.diffLines = diffLines; + exports.diffSentences = diffSentences; + exports.diffTrimmedLines = diffTrimmedLines; + exports.diffWords = diffWords; + exports.diffWordsWithSpace = diffWordsWithSpace; + exports.formatPatch = formatPatch; + exports.merge = merge; + exports.parsePatch = parsePatch; + exports.reversePatch = reversePatch; + exports.structuredPatch = structuredPatch; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); diff --git a/.pnpm-store/v3/files/52/02ffffa5099b4e71452adb4670486d3d57da22cbc75d3a73cc3de5efc9467b16e294d3188c40126f5273aa995ed76d481ecbf785d504a58165980e288bb72f b/.pnpm-store/v3/files/52/02ffffa5099b4e71452adb4670486d3d57da22cbc75d3a73cc3de5efc9467b16e294d3188c40126f5273aa995ed76d481ecbf785d504a58165980e288bb72f new file mode 100644 index 00000000..64f07699 --- /dev/null +++ b/.pnpm-store/v3/files/52/02ffffa5099b4e71452adb4670486d3d57da22cbc75d3a73cc3de5efc9467b16e294d3188c40126f5273aa995ed76d481ecbf785d504a58165980e288bb72f @@ -0,0 +1,45 @@ +/** + * @typedef {import('mdast').Html} Html + * @typedef {import('mdast').PhrasingContent} PhrasingContent + */ + +import {convert} from 'unist-util-is' + +/** + * Check if the given value is *phrasing content*. + * + * > 👉 **Note**: Excludes `html`, which can be both phrasing or flow. + * + * @param node + * Thing to check, typically `Node`. + * @returns + * Whether `value` is phrasing content. + */ + +export const phrasing = + /** @type {(node?: unknown) => node is Exclude} */ + ( + convert([ + 'break', + 'delete', + 'emphasis', + // To do: next major: removed since footnotes were added to GFM. + 'footnote', + 'footnoteReference', + 'image', + 'imageReference', + 'inlineCode', + // Enabled by `mdast-util-math`: + 'inlineMath', + 'link', + 'linkReference', + // Enabled by `mdast-util-mdx`: + 'mdxJsxTextElement', + // Enabled by `mdast-util-mdx`: + 'mdxTextExpression', + 'strong', + 'text', + // Enabled by `mdast-util-directive`: + 'textDirective' + ]) + ) diff --git a/.pnpm-store/v3/files/52/0d37c02ee8f360045d3431e51055a1474a838f664198e015378f5b7a6ad4f3c1e84bac227f43eb806bf45c9ccc986c6344b71f28f11ce6e866fc3be7bdaa18 b/.pnpm-store/v3/files/52/0d37c02ee8f360045d3431e51055a1474a838f664198e015378f5b7a6ad4f3c1e84bac227f43eb806bf45c9ccc986c6344b71f28f11ce6e866fc3be7bdaa18 new file mode 100644 index 00000000..9693fd90 --- /dev/null +++ b/.pnpm-store/v3/files/52/0d37c02ee8f360045d3431e51055a1474a838f664198e015378f5b7a6ad4f3c1e84bac227f43eb806bf45c9ccc986c6344b71f28f11ce6e866fc3be7bdaa18 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D SC","129":"E"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","2":"TC 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p kC lC 2B QC mC 3B","2":"F iC jC"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"JSON parsing",D:true}; diff --git a/.pnpm-store/v3/files/52/36a0ce22339c3ca330c88b3a6981bbbe3958ab5331a2ad426db5b6386683ec466b12d82938ee50886a17835d63931fa9b5345fb3282fb4dade2dfaa96d38f5 b/.pnpm-store/v3/files/52/36a0ce22339c3ca330c88b3a6981bbbe3958ab5331a2ad426db5b6386683ec466b12d82938ee50886a17835d63931fa9b5345fb3282fb4dade2dfaa96d38f5 new file mode 100644 index 00000000..b498816e --- /dev/null +++ b/.pnpm-store/v3/files/52/36a0ce22339c3ca330c88b3a6981bbbe3958ab5331a2ad426db5b6386683ec466b12d82938ee50886a17835d63931fa9b5345fb3282fb4dade2dfaa96d38f5 @@ -0,0 +1 @@ +module.exports={C:{"30":0.00369,"34":0.0664,"47":0.00738,"49":0.00738,"52":0.01476,"60":0.00369,"66":0.00369,"78":0.00369,"88":0.00369,"90":0.00369,"95":0.00369,"99":0.00738,"110":0.00369,"111":0.00369,"113":0.00738,"114":0.02582,"115":0.23241,"117":0.00369,"118":0.00369,"119":0.01107,"120":0.04427,"121":0.8374,"122":0.25823,"123":0.10698,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 48 50 51 53 54 55 56 57 58 59 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 91 92 93 94 96 97 98 100 101 102 103 104 105 106 107 108 109 112 116 124 125 3.5 3.6"},D:{"11":0.00738,"43":0.01107,"49":0.02951,"63":0.00369,"64":0.00369,"65":0.00738,"66":0.00738,"68":0.00369,"70":0.01476,"72":0.00369,"73":0.00738,"74":0.01845,"75":0.02213,"76":0.00369,"77":0.00369,"78":0.01845,"79":0.02582,"80":0.00369,"81":0.01476,"83":0.00738,"84":0.00369,"86":0.02951,"87":0.02582,"88":0.08116,"90":0.00738,"91":0.02582,"92":0.00369,"93":0.0332,"94":0.00369,"95":0.02213,"96":0.00738,"97":0.00369,"98":0.00738,"99":0.03689,"100":0.00738,"101":0.00369,"102":0.01476,"103":0.05902,"104":0.03689,"105":0.00738,"106":0.02582,"107":0.00369,"108":0.02213,"109":1.64161,"110":0.01107,"111":0.01476,"112":0.01476,"113":0.01107,"114":0.05165,"115":0.02951,"116":0.21765,"117":0.05165,"118":0.11805,"119":0.58286,"120":16.68904,"121":1.25057,"122":0.01845,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 67 69 71 85 89 123 124"},F:{"79":0.00738,"95":0.02213,"102":0.00369,"104":0.00369,"105":0.15863,"106":0.31725,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.01476,"13":0.00738,"14":0.00369,"15":0.01845,"16":0.01107,"17":0.01476,"18":0.03689,"80":0.00369,"84":0.01107,"89":0.01107,"90":0.00738,"92":0.22503,"96":0.00369,"100":0.01845,"103":0.00738,"105":0.00369,"108":0.00738,"109":0.16232,"110":0.01845,"111":0.00369,"112":0.01107,"113":0.00738,"114":0.11436,"115":0.08116,"116":0.05534,"117":0.08854,"118":0.12174,"119":0.66771,"120":5.64048,"121":0.71936,_:"79 81 83 85 86 87 88 91 93 94 95 97 98 99 101 102 104 106 107"},E:{"14":0.01845,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 15.2-15.3 15.4 17.4","11.1":0.00369,"12.1":0.00369,"13.1":0.01845,"14.1":0.02582,"15.1":0.00369,"15.5":0.00738,"15.6":0.05534,"16.0":0.01107,"16.1":0.01476,"16.2":0.00369,"16.3":0.02951,"16.4":0.02213,"16.5":0.01476,"16.6":0.08116,"17.0":0.12912,"17.1":0.11436,"17.2":0.2693,"17.3":0.01107},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00087,"5.0-5.1":0.00131,"6.0-6.1":0.00219,"7.0-7.1":0.00306,"8.1-8.4":0.00044,"9.0-9.2":0.00262,"9.3":0.01006,"10.0-10.2":0.00087,"10.3":0.01575,"11.0-11.2":0.00612,"11.3-11.4":0.00656,"12.0-12.1":0.00394,"12.2-12.5":0.07786,"13.0-13.1":0.00131,"13.2":0.01443,"13.3":0.00394,"13.4-13.7":0.0175,"14.0-14.4":0.03062,"14.5-14.8":0.0468,"15.0-15.1":0.02012,"15.2-15.3":0.02318,"15.4":0.02712,"15.5":0.03587,"15.6-15.8":0.27951,"16.0":0.08398,"16.1":0.17891,"16.2":0.08136,"16.3":0.15135,"16.4":0.03368,"16.5":0.07174,"16.6-16.7":0.58702,"17.0":0.09755,"17.1":1.00563,"17.2":1.36126,"17.3":0.08748},P:{"4":0.23717,"20":0.03094,"21":0.0825,"22":0.09281,"23":1.66022,_:"5.0-5.4 8.2 9.2 10.1 14.0","6.2-6.4":0.01031,"7.2-7.4":0.24749,"11.1-11.2":0.01031,"12.0":0.15468,"13.0":0.01031,"15.0":0.01031,"16.0":0.05156,"17.0":0.04125,"18.0":0.02062,"19.0":0.15468},I:{"0":0.06913,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00018},A:{"10":0.00369,"11":0.04427,_:"6 7 8 9 5.5"},K:{"0":1.24552,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.23354,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.76375},H:{"0":0.08},L:{"0":57.2588},R:{_:"0"},M:{"0":0.10099}}; diff --git a/.pnpm-store/v3/files/52/c5fd22e64f70ff088138768af39074e0b3170efc24bcf0606a773d4e412a086bb5f3f635e6fc1758214c045e00ee95e16c2ddd181693a81f10cb8af8570675 b/.pnpm-store/v3/files/52/c5fd22e64f70ff088138768af39074e0b3170efc24bcf0606a773d4e412a086bb5f3f635e6fc1758214c045e00ee95e16c2ddd181693a81f10cb8af8570675 new file mode 100644 index 00000000..cd1dd8ee --- /dev/null +++ b/.pnpm-store/v3/files/52/c5fd22e64f70ff088138768af39074e0b3170efc24bcf0606a773d4e412a086bb5f3f635e6fc1758214c045e00ee95e16c2ddd181693a81f10cb8af8570675 @@ -0,0 +1,6021 @@ +/** + * MIT License + * + * Copyright (c) 2014-present, Lee Byron and other contributors. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Immutable = {})); +}(this, (function (exports) { 'use strict'; + + var DELETE = 'delete'; + + // Constants describing the size of trie nodes. + var SHIFT = 5; // Resulted in best performance after ______? + var SIZE = 1 << SHIFT; + var MASK = SIZE - 1; + + // A consistent shared value representing "not set" which equals nothing other + // than itself, and nothing that could be provided externally. + var NOT_SET = {}; + + // Boolean references, Rough equivalent of `bool &`. + function MakeRef() { + return { value: false }; + } + + function SetRef(ref) { + if (ref) { + ref.value = true; + } + } + + // A function which returns a value representing an "owner" for transient writes + // to tries. The return value will only ever equal itself, and will not equal + // the return of any subsequent call of this function. + function OwnerID() {} + + function ensureSize(iter) { + if (iter.size === undefined) { + iter.size = iter.__iterate(returnTrue); + } + return iter.size; + } + + function wrapIndex(iter, index) { + // This implements "is array index" which the ECMAString spec defines as: + // + // A String property name P is an array index if and only if + // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal + // to 2^32−1. + // + // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects + if (typeof index !== 'number') { + var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32 + if ('' + uint32Index !== index || uint32Index === 4294967295) { + return NaN; + } + index = uint32Index; + } + return index < 0 ? ensureSize(iter) + index : index; + } + + function returnTrue() { + return true; + } + + function wholeSlice(begin, end, size) { + return ( + ((begin === 0 && !isNeg(begin)) || + (size !== undefined && begin <= -size)) && + (end === undefined || (size !== undefined && end >= size)) + ); + } + + function resolveBegin(begin, size) { + return resolveIndex(begin, size, 0); + } + + function resolveEnd(end, size) { + return resolveIndex(end, size, size); + } + + function resolveIndex(index, size, defaultIndex) { + // Sanitize indices using this shorthand for ToInt32(argument) + // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32 + return index === undefined + ? defaultIndex + : isNeg(index) + ? size === Infinity + ? size + : Math.max(0, size + index) | 0 + : size === undefined || size === index + ? index + : Math.min(size, index) | 0; + } + + function isNeg(value) { + // Account for -0 which is negative, but not less than 0. + return value < 0 || (value === 0 && 1 / value === -Infinity); + } + + var IS_COLLECTION_SYMBOL = '@@__IMMUTABLE_ITERABLE__@@'; + + function isCollection(maybeCollection) { + return Boolean(maybeCollection && maybeCollection[IS_COLLECTION_SYMBOL]); + } + + var IS_KEYED_SYMBOL = '@@__IMMUTABLE_KEYED__@@'; + + function isKeyed(maybeKeyed) { + return Boolean(maybeKeyed && maybeKeyed[IS_KEYED_SYMBOL]); + } + + var IS_INDEXED_SYMBOL = '@@__IMMUTABLE_INDEXED__@@'; + + function isIndexed(maybeIndexed) { + return Boolean(maybeIndexed && maybeIndexed[IS_INDEXED_SYMBOL]); + } + + function isAssociative(maybeAssociative) { + return isKeyed(maybeAssociative) || isIndexed(maybeAssociative); + } + + var Collection = function Collection(value) { + return isCollection(value) ? value : Seq(value); + }; + + var KeyedCollection = /*@__PURE__*/(function (Collection) { + function KeyedCollection(value) { + return isKeyed(value) ? value : KeyedSeq(value); + } + + if ( Collection ) KeyedCollection.__proto__ = Collection; + KeyedCollection.prototype = Object.create( Collection && Collection.prototype ); + KeyedCollection.prototype.constructor = KeyedCollection; + + return KeyedCollection; + }(Collection)); + + var IndexedCollection = /*@__PURE__*/(function (Collection) { + function IndexedCollection(value) { + return isIndexed(value) ? value : IndexedSeq(value); + } + + if ( Collection ) IndexedCollection.__proto__ = Collection; + IndexedCollection.prototype = Object.create( Collection && Collection.prototype ); + IndexedCollection.prototype.constructor = IndexedCollection; + + return IndexedCollection; + }(Collection)); + + var SetCollection = /*@__PURE__*/(function (Collection) { + function SetCollection(value) { + return isCollection(value) && !isAssociative(value) ? value : SetSeq(value); + } + + if ( Collection ) SetCollection.__proto__ = Collection; + SetCollection.prototype = Object.create( Collection && Collection.prototype ); + SetCollection.prototype.constructor = SetCollection; + + return SetCollection; + }(Collection)); + + Collection.Keyed = KeyedCollection; + Collection.Indexed = IndexedCollection; + Collection.Set = SetCollection; + + var IS_SEQ_SYMBOL = '@@__IMMUTABLE_SEQ__@@'; + + function isSeq(maybeSeq) { + return Boolean(maybeSeq && maybeSeq[IS_SEQ_SYMBOL]); + } + + var IS_RECORD_SYMBOL = '@@__IMMUTABLE_RECORD__@@'; + + function isRecord(maybeRecord) { + return Boolean(maybeRecord && maybeRecord[IS_RECORD_SYMBOL]); + } + + function isImmutable(maybeImmutable) { + return isCollection(maybeImmutable) || isRecord(maybeImmutable); + } + + var IS_ORDERED_SYMBOL = '@@__IMMUTABLE_ORDERED__@@'; + + function isOrdered(maybeOrdered) { + return Boolean(maybeOrdered && maybeOrdered[IS_ORDERED_SYMBOL]); + } + + var ITERATE_KEYS = 0; + var ITERATE_VALUES = 1; + var ITERATE_ENTRIES = 2; + + var REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; + + var ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL; + + var Iterator = function Iterator(next) { + this.next = next; + }; + + Iterator.prototype.toString = function toString () { + return '[Iterator]'; + }; + + Iterator.KEYS = ITERATE_KEYS; + Iterator.VALUES = ITERATE_VALUES; + Iterator.ENTRIES = ITERATE_ENTRIES; + + Iterator.prototype.inspect = Iterator.prototype.toSource = function () { + return this.toString(); + }; + Iterator.prototype[ITERATOR_SYMBOL] = function () { + return this; + }; + + function iteratorValue(type, k, v, iteratorResult) { + var value = type === 0 ? k : type === 1 ? v : [k, v]; + iteratorResult + ? (iteratorResult.value = value) + : (iteratorResult = { + value: value, + done: false, + }); + return iteratorResult; + } + + function iteratorDone() { + return { value: undefined, done: true }; + } + + function hasIterator(maybeIterable) { + if (Array.isArray(maybeIterable)) { + // IE11 trick as it does not support `Symbol.iterator` + return true; + } + + return !!getIteratorFn(maybeIterable); + } + + function isIterator(maybeIterator) { + return maybeIterator && typeof maybeIterator.next === 'function'; + } + + function getIterator(iterable) { + var iteratorFn = getIteratorFn(iterable); + return iteratorFn && iteratorFn.call(iterable); + } + + function getIteratorFn(iterable) { + var iteratorFn = + iterable && + ((REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) || + iterable[FAUX_ITERATOR_SYMBOL]); + if (typeof iteratorFn === 'function') { + return iteratorFn; + } + } + + function isEntriesIterable(maybeIterable) { + var iteratorFn = getIteratorFn(maybeIterable); + return iteratorFn && iteratorFn === maybeIterable.entries; + } + + function isKeysIterable(maybeIterable) { + var iteratorFn = getIteratorFn(maybeIterable); + return iteratorFn && iteratorFn === maybeIterable.keys; + } + + var hasOwnProperty = Object.prototype.hasOwnProperty; + + function isArrayLike(value) { + if (Array.isArray(value) || typeof value === 'string') { + return true; + } + + return ( + value && + typeof value === 'object' && + Number.isInteger(value.length) && + value.length >= 0 && + (value.length === 0 + ? // Only {length: 0} is considered Array-like. + Object.keys(value).length === 1 + : // An object is only Array-like if it has a property where the last value + // in the array-like may be found (which could be undefined). + value.hasOwnProperty(value.length - 1)) + ); + } + + var Seq = /*@__PURE__*/(function (Collection) { + function Seq(value) { + return value === undefined || value === null + ? emptySequence() + : isImmutable(value) + ? value.toSeq() + : seqFromValue(value); + } + + if ( Collection ) Seq.__proto__ = Collection; + Seq.prototype = Object.create( Collection && Collection.prototype ); + Seq.prototype.constructor = Seq; + + Seq.prototype.toSeq = function toSeq () { + return this; + }; + + Seq.prototype.toString = function toString () { + return this.__toString('Seq {', '}'); + }; + + Seq.prototype.cacheResult = function cacheResult () { + if (!this._cache && this.__iterateUncached) { + this._cache = this.entrySeq().toArray(); + this.size = this._cache.length; + } + return this; + }; + + // abstract __iterateUncached(fn, reverse) + + Seq.prototype.__iterate = function __iterate (fn, reverse) { + var cache = this._cache; + if (cache) { + var size = cache.length; + var i = 0; + while (i !== size) { + var entry = cache[reverse ? size - ++i : i++]; + if (fn(entry[1], entry[0], this) === false) { + break; + } + } + return i; + } + return this.__iterateUncached(fn, reverse); + }; + + // abstract __iteratorUncached(type, reverse) + + Seq.prototype.__iterator = function __iterator (type, reverse) { + var cache = this._cache; + if (cache) { + var size = cache.length; + var i = 0; + return new Iterator(function () { + if (i === size) { + return iteratorDone(); + } + var entry = cache[reverse ? size - ++i : i++]; + return iteratorValue(type, entry[0], entry[1]); + }); + } + return this.__iteratorUncached(type, reverse); + }; + + return Seq; + }(Collection)); + + var KeyedSeq = /*@__PURE__*/(function (Seq) { + function KeyedSeq(value) { + return value === undefined || value === null + ? emptySequence().toKeyedSeq() + : isCollection(value) + ? isKeyed(value) + ? value.toSeq() + : value.fromEntrySeq() + : isRecord(value) + ? value.toSeq() + : keyedSeqFromValue(value); + } + + if ( Seq ) KeyedSeq.__proto__ = Seq; + KeyedSeq.prototype = Object.create( Seq && Seq.prototype ); + KeyedSeq.prototype.constructor = KeyedSeq; + + KeyedSeq.prototype.toKeyedSeq = function toKeyedSeq () { + return this; + }; + + return KeyedSeq; + }(Seq)); + + var IndexedSeq = /*@__PURE__*/(function (Seq) { + function IndexedSeq(value) { + return value === undefined || value === null + ? emptySequence() + : isCollection(value) + ? isKeyed(value) + ? value.entrySeq() + : value.toIndexedSeq() + : isRecord(value) + ? value.toSeq().entrySeq() + : indexedSeqFromValue(value); + } + + if ( Seq ) IndexedSeq.__proto__ = Seq; + IndexedSeq.prototype = Object.create( Seq && Seq.prototype ); + IndexedSeq.prototype.constructor = IndexedSeq; + + IndexedSeq.of = function of (/*...values*/) { + return IndexedSeq(arguments); + }; + + IndexedSeq.prototype.toIndexedSeq = function toIndexedSeq () { + return this; + }; + + IndexedSeq.prototype.toString = function toString () { + return this.__toString('Seq [', ']'); + }; + + return IndexedSeq; + }(Seq)); + + var SetSeq = /*@__PURE__*/(function (Seq) { + function SetSeq(value) { + return ( + isCollection(value) && !isAssociative(value) ? value : IndexedSeq(value) + ).toSetSeq(); + } + + if ( Seq ) SetSeq.__proto__ = Seq; + SetSeq.prototype = Object.create( Seq && Seq.prototype ); + SetSeq.prototype.constructor = SetSeq; + + SetSeq.of = function of (/*...values*/) { + return SetSeq(arguments); + }; + + SetSeq.prototype.toSetSeq = function toSetSeq () { + return this; + }; + + return SetSeq; + }(Seq)); + + Seq.isSeq = isSeq; + Seq.Keyed = KeyedSeq; + Seq.Set = SetSeq; + Seq.Indexed = IndexedSeq; + + Seq.prototype[IS_SEQ_SYMBOL] = true; + + // #pragma Root Sequences + + var ArraySeq = /*@__PURE__*/(function (IndexedSeq) { + function ArraySeq(array) { + this._array = array; + this.size = array.length; + } + + if ( IndexedSeq ) ArraySeq.__proto__ = IndexedSeq; + ArraySeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype ); + ArraySeq.prototype.constructor = ArraySeq; + + ArraySeq.prototype.get = function get (index, notSetValue) { + return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue; + }; + + ArraySeq.prototype.__iterate = function __iterate (fn, reverse) { + var array = this._array; + var size = array.length; + var i = 0; + while (i !== size) { + var ii = reverse ? size - ++i : i++; + if (fn(array[ii], ii, this) === false) { + break; + } + } + return i; + }; + + ArraySeq.prototype.__iterator = function __iterator (type, reverse) { + var array = this._array; + var size = array.length; + var i = 0; + return new Iterator(function () { + if (i === size) { + return iteratorDone(); + } + var ii = reverse ? size - ++i : i++; + return iteratorValue(type, ii, array[ii]); + }); + }; + + return ArraySeq; + }(IndexedSeq)); + + var ObjectSeq = /*@__PURE__*/(function (KeyedSeq) { + function ObjectSeq(object) { + var keys = Object.keys(object).concat( + Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : [] + ); + this._object = object; + this._keys = keys; + this.size = keys.length; + } + + if ( KeyedSeq ) ObjectSeq.__proto__ = KeyedSeq; + ObjectSeq.prototype = Object.create( KeyedSeq && KeyedSeq.prototype ); + ObjectSeq.prototype.constructor = ObjectSeq; + + ObjectSeq.prototype.get = function get (key, notSetValue) { + if (notSetValue !== undefined && !this.has(key)) { + return notSetValue; + } + return this._object[key]; + }; + + ObjectSeq.prototype.has = function has (key) { + return hasOwnProperty.call(this._object, key); + }; + + ObjectSeq.prototype.__iterate = function __iterate (fn, reverse) { + var object = this._object; + var keys = this._keys; + var size = keys.length; + var i = 0; + while (i !== size) { + var key = keys[reverse ? size - ++i : i++]; + if (fn(object[key], key, this) === false) { + break; + } + } + return i; + }; + + ObjectSeq.prototype.__iterator = function __iterator (type, reverse) { + var object = this._object; + var keys = this._keys; + var size = keys.length; + var i = 0; + return new Iterator(function () { + if (i === size) { + return iteratorDone(); + } + var key = keys[reverse ? size - ++i : i++]; + return iteratorValue(type, key, object[key]); + }); + }; + + return ObjectSeq; + }(KeyedSeq)); + ObjectSeq.prototype[IS_ORDERED_SYMBOL] = true; + + var CollectionSeq = /*@__PURE__*/(function (IndexedSeq) { + function CollectionSeq(collection) { + this._collection = collection; + this.size = collection.length || collection.size; + } + + if ( IndexedSeq ) CollectionSeq.__proto__ = IndexedSeq; + CollectionSeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype ); + CollectionSeq.prototype.constructor = CollectionSeq; + + CollectionSeq.prototype.__iterateUncached = function __iterateUncached (fn, reverse) { + if (reverse) { + return this.cacheResult().__iterate(fn, reverse); + } + var collection = this._collection; + var iterator = getIterator(collection); + var iterations = 0; + if (isIterator(iterator)) { + var step; + while (!(step = iterator.next()).done) { + if (fn(step.value, iterations++, this) === false) { + break; + } + } + } + return iterations; + }; + + CollectionSeq.prototype.__iteratorUncached = function __iteratorUncached (type, reverse) { + if (reverse) { + return this.cacheResult().__iterator(type, reverse); + } + var collection = this._collection; + var iterator = getIterator(collection); + if (!isIterator(iterator)) { + return new Iterator(iteratorDone); + } + var iterations = 0; + return new Iterator(function () { + var step = iterator.next(); + return step.done ? step : iteratorValue(type, iterations++, step.value); + }); + }; + + return CollectionSeq; + }(IndexedSeq)); + + // # pragma Helper functions + + var EMPTY_SEQ; + + function emptySequence() { + return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([])); + } + + function keyedSeqFromValue(value) { + var seq = maybeIndexedSeqFromValue(value); + if (seq) { + return seq.fromEntrySeq(); + } + if (typeof value === 'object') { + return new ObjectSeq(value); + } + throw new TypeError( + 'Expected Array or collection object of [k, v] entries, or keyed object: ' + + value + ); + } + + function indexedSeqFromValue(value) { + var seq = maybeIndexedSeqFromValue(value); + if (seq) { + return seq; + } + throw new TypeError( + 'Expected Array or collection object of values: ' + value + ); + } + + function seqFromValue(value) { + var seq = maybeIndexedSeqFromValue(value); + if (seq) { + return isEntriesIterable(value) + ? seq.fromEntrySeq() + : isKeysIterable(value) + ? seq.toSetSeq() + : seq; + } + if (typeof value === 'object') { + return new ObjectSeq(value); + } + throw new TypeError( + 'Expected Array or collection object of values, or keyed object: ' + value + ); + } + + function maybeIndexedSeqFromValue(value) { + return isArrayLike(value) + ? new ArraySeq(value) + : hasIterator(value) + ? new CollectionSeq(value) + : undefined; + } + + var IS_MAP_SYMBOL = '@@__IMMUTABLE_MAP__@@'; + + function isMap(maybeMap) { + return Boolean(maybeMap && maybeMap[IS_MAP_SYMBOL]); + } + + function isOrderedMap(maybeOrderedMap) { + return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap); + } + + function isValueObject(maybeValue) { + return Boolean( + maybeValue && + typeof maybeValue.equals === 'function' && + typeof maybeValue.hashCode === 'function' + ); + } + + /** + * An extension of the "same-value" algorithm as [described for use by ES6 Map + * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality) + * + * NaN is considered the same as NaN, however -0 and 0 are considered the same + * value, which is different from the algorithm described by + * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is). + * + * This is extended further to allow Objects to describe the values they + * represent, by way of `valueOf` or `equals` (and `hashCode`). + * + * Note: because of this extension, the key equality of Immutable.Map and the + * value equality of Immutable.Set will differ from ES6 Map and Set. + * + * ### Defining custom values + * + * The easiest way to describe the value an object represents is by implementing + * `valueOf`. For example, `Date` represents a value by returning a unix + * timestamp for `valueOf`: + * + * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ... + * var date2 = new Date(1234567890000); + * date1.valueOf(); // 1234567890000 + * assert( date1 !== date2 ); + * assert( Immutable.is( date1, date2 ) ); + * + * Note: overriding `valueOf` may have other implications if you use this object + * where JavaScript expects a primitive, such as implicit string coercion. + * + * For more complex types, especially collections, implementing `valueOf` may + * not be performant. An alternative is to implement `equals` and `hashCode`. + * + * `equals` takes another object, presumably of similar type, and returns true + * if it is equal. Equality is symmetrical, so the same result should be + * returned if this and the argument are flipped. + * + * assert( a.equals(b) === b.equals(a) ); + * + * `hashCode` returns a 32bit integer number representing the object which will + * be used to determine how to store the value object in a Map or Set. You must + * provide both or neither methods, one must not exist without the other. + * + * Also, an important relationship between these methods must be upheld: if two + * values are equal, they *must* return the same hashCode. If the values are not + * equal, they might have the same hashCode; this is called a hash collision, + * and while undesirable for performance reasons, it is acceptable. + * + * if (a.equals(b)) { + * assert( a.hashCode() === b.hashCode() ); + * } + * + * All Immutable collections are Value Objects: they implement `equals()` + * and `hashCode()`. + */ + function is(valueA, valueB) { + if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) { + return true; + } + if (!valueA || !valueB) { + return false; + } + if ( + typeof valueA.valueOf === 'function' && + typeof valueB.valueOf === 'function' + ) { + valueA = valueA.valueOf(); + valueB = valueB.valueOf(); + if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) { + return true; + } + if (!valueA || !valueB) { + return false; + } + } + return !!( + isValueObject(valueA) && + isValueObject(valueB) && + valueA.equals(valueB) + ); + } + + var imul = + typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2 + ? Math.imul + : function imul(a, b) { + a |= 0; // int + b |= 0; // int + var c = a & 0xffff; + var d = b & 0xffff; + // Shift by 0 fixes the sign on the high part. + return (c * d + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0)) | 0; // int + }; + + // v8 has an optimization for storing 31-bit signed numbers. + // Values which have either 00 or 11 as the high order bits qualify. + // This function drops the highest order bit in a signed number, maintaining + // the sign bit. + function smi(i32) { + return ((i32 >>> 1) & 0x40000000) | (i32 & 0xbfffffff); + } + + var defaultValueOf = Object.prototype.valueOf; + + function hash(o) { + if (o == null) { + return hashNullish(o); + } + + if (typeof o.hashCode === 'function') { + // Drop any high bits from accidentally long hash codes. + return smi(o.hashCode(o)); + } + + var v = valueOf(o); + + if (v == null) { + return hashNullish(v); + } + + switch (typeof v) { + case 'boolean': + // The hash values for built-in constants are a 1 value for each 5-byte + // shift region expect for the first, which encodes the value. This + // reduces the odds of a hash collision for these common values. + return v ? 0x42108421 : 0x42108420; + case 'number': + return hashNumber(v); + case 'string': + return v.length > STRING_HASH_CACHE_MIN_STRLEN + ? cachedHashString(v) + : hashString(v); + case 'object': + case 'function': + return hashJSObj(v); + case 'symbol': + return hashSymbol(v); + default: + if (typeof v.toString === 'function') { + return hashString(v.toString()); + } + throw new Error('Value type ' + typeof v + ' cannot be hashed.'); + } + } + + function hashNullish(nullish) { + return nullish === null ? 0x42108422 : /* undefined */ 0x42108423; + } + + // Compress arbitrarily large numbers into smi hashes. + function hashNumber(n) { + if (n !== n || n === Infinity) { + return 0; + } + var hash = n | 0; + if (hash !== n) { + hash ^= n * 0xffffffff; + } + while (n > 0xffffffff) { + n /= 0xffffffff; + hash ^= n; + } + return smi(hash); + } + + function cachedHashString(string) { + var hashed = stringHashCache[string]; + if (hashed === undefined) { + hashed = hashString(string); + if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) { + STRING_HASH_CACHE_SIZE = 0; + stringHashCache = {}; + } + STRING_HASH_CACHE_SIZE++; + stringHashCache[string] = hashed; + } + return hashed; + } + + // http://jsperf.com/hashing-strings + function hashString(string) { + // This is the hash from JVM + // The hash code for a string is computed as + // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1], + // where s[i] is the ith character of the string and n is the length of + // the string. We "mod" the result to make it between 0 (inclusive) and 2^31 + // (exclusive) by dropping high bits. + var hashed = 0; + for (var ii = 0; ii < string.length; ii++) { + hashed = (31 * hashed + string.charCodeAt(ii)) | 0; + } + return smi(hashed); + } + + function hashSymbol(sym) { + var hashed = symbolMap[sym]; + if (hashed !== undefined) { + return hashed; + } + + hashed = nextHash(); + + symbolMap[sym] = hashed; + + return hashed; + } + + function hashJSObj(obj) { + var hashed; + if (usingWeakMap) { + hashed = weakMap.get(obj); + if (hashed !== undefined) { + return hashed; + } + } + + hashed = obj[UID_HASH_KEY]; + if (hashed !== undefined) { + return hashed; + } + + if (!canDefineProperty) { + hashed = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY]; + if (hashed !== undefined) { + return hashed; + } + + hashed = getIENodeHash(obj); + if (hashed !== undefined) { + return hashed; + } + } + + hashed = nextHash(); + + if (usingWeakMap) { + weakMap.set(obj, hashed); + } else if (isExtensible !== undefined && isExtensible(obj) === false) { + throw new Error('Non-extensible objects are not allowed as keys.'); + } else if (canDefineProperty) { + Object.defineProperty(obj, UID_HASH_KEY, { + enumerable: false, + configurable: false, + writable: false, + value: hashed, + }); + } else if ( + obj.propertyIsEnumerable !== undefined && + obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable + ) { + // Since we can't define a non-enumerable property on the object + // we'll hijack one of the less-used non-enumerable properties to + // save our hash on it. Since this is a function it will not show up in + // `JSON.stringify` which is what we want. + obj.propertyIsEnumerable = function () { + return this.constructor.prototype.propertyIsEnumerable.apply( + this, + arguments + ); + }; + obj.propertyIsEnumerable[UID_HASH_KEY] = hashed; + } else if (obj.nodeType !== undefined) { + // At this point we couldn't get the IE `uniqueID` to use as a hash + // and we couldn't use a non-enumerable property to exploit the + // dontEnum bug so we simply add the `UID_HASH_KEY` on the node + // itself. + obj[UID_HASH_KEY] = hashed; + } else { + throw new Error('Unable to set a non-enumerable property on object.'); + } + + return hashed; + } + + // Get references to ES5 object methods. + var isExtensible = Object.isExtensible; + + // True if Object.defineProperty works as expected. IE8 fails this test. + var canDefineProperty = (function () { + try { + Object.defineProperty({}, '@', {}); + return true; + } catch (e) { + return false; + } + })(); + + // IE has a `uniqueID` property on DOM nodes. We can construct the hash from it + // and avoid memory leaks from the IE cloneNode bug. + function getIENodeHash(node) { + if (node && node.nodeType > 0) { + switch (node.nodeType) { + case 1: // Element + return node.uniqueID; + case 9: // Document + return node.documentElement && node.documentElement.uniqueID; + } + } + } + + function valueOf(obj) { + return obj.valueOf !== defaultValueOf && typeof obj.valueOf === 'function' + ? obj.valueOf(obj) + : obj; + } + + function nextHash() { + var nextHash = ++_objHashUID; + if (_objHashUID & 0x40000000) { + _objHashUID = 0; + } + return nextHash; + } + + // If possible, use a WeakMap. + var usingWeakMap = typeof WeakMap === 'function'; + var weakMap; + if (usingWeakMap) { + weakMap = new WeakMap(); + } + + var symbolMap = Object.create(null); + + var _objHashUID = 0; + + var UID_HASH_KEY = '__immutablehash__'; + if (typeof Symbol === 'function') { + UID_HASH_KEY = Symbol(UID_HASH_KEY); + } + + var STRING_HASH_CACHE_MIN_STRLEN = 16; + var STRING_HASH_CACHE_MAX_SIZE = 255; + var STRING_HASH_CACHE_SIZE = 0; + var stringHashCache = {}; + + var ToKeyedSequence = /*@__PURE__*/(function (KeyedSeq) { + function ToKeyedSequence(indexed, useKeys) { + this._iter = indexed; + this._useKeys = useKeys; + this.size = indexed.size; + } + + if ( KeyedSeq ) ToKeyedSequence.__proto__ = KeyedSeq; + ToKeyedSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype ); + ToKeyedSequence.prototype.constructor = ToKeyedSequence; + + ToKeyedSequence.prototype.get = function get (key, notSetValue) { + return this._iter.get(key, notSetValue); + }; + + ToKeyedSequence.prototype.has = function has (key) { + return this._iter.has(key); + }; + + ToKeyedSequence.prototype.valueSeq = function valueSeq () { + return this._iter.valueSeq(); + }; + + ToKeyedSequence.prototype.reverse = function reverse () { + var this$1$1 = this; + + var reversedSequence = reverseFactory(this, true); + if (!this._useKeys) { + reversedSequence.valueSeq = function () { return this$1$1._iter.toSeq().reverse(); }; + } + return reversedSequence; + }; + + ToKeyedSequence.prototype.map = function map (mapper, context) { + var this$1$1 = this; + + var mappedSequence = mapFactory(this, mapper, context); + if (!this._useKeys) { + mappedSequence.valueSeq = function () { return this$1$1._iter.toSeq().map(mapper, context); }; + } + return mappedSequence; + }; + + ToKeyedSequence.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + return this._iter.__iterate(function (v, k) { return fn(v, k, this$1$1); }, reverse); + }; + + ToKeyedSequence.prototype.__iterator = function __iterator (type, reverse) { + return this._iter.__iterator(type, reverse); + }; + + return ToKeyedSequence; + }(KeyedSeq)); + ToKeyedSequence.prototype[IS_ORDERED_SYMBOL] = true; + + var ToIndexedSequence = /*@__PURE__*/(function (IndexedSeq) { + function ToIndexedSequence(iter) { + this._iter = iter; + this.size = iter.size; + } + + if ( IndexedSeq ) ToIndexedSequence.__proto__ = IndexedSeq; + ToIndexedSequence.prototype = Object.create( IndexedSeq && IndexedSeq.prototype ); + ToIndexedSequence.prototype.constructor = ToIndexedSequence; + + ToIndexedSequence.prototype.includes = function includes (value) { + return this._iter.includes(value); + }; + + ToIndexedSequence.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + var i = 0; + reverse && ensureSize(this); + return this._iter.__iterate( + function (v) { return fn(v, reverse ? this$1$1.size - ++i : i++, this$1$1); }, + reverse + ); + }; + + ToIndexedSequence.prototype.__iterator = function __iterator (type, reverse) { + var this$1$1 = this; + + var iterator = this._iter.__iterator(ITERATE_VALUES, reverse); + var i = 0; + reverse && ensureSize(this); + return new Iterator(function () { + var step = iterator.next(); + return step.done + ? step + : iteratorValue( + type, + reverse ? this$1$1.size - ++i : i++, + step.value, + step + ); + }); + }; + + return ToIndexedSequence; + }(IndexedSeq)); + + var ToSetSequence = /*@__PURE__*/(function (SetSeq) { + function ToSetSequence(iter) { + this._iter = iter; + this.size = iter.size; + } + + if ( SetSeq ) ToSetSequence.__proto__ = SetSeq; + ToSetSequence.prototype = Object.create( SetSeq && SetSeq.prototype ); + ToSetSequence.prototype.constructor = ToSetSequence; + + ToSetSequence.prototype.has = function has (key) { + return this._iter.includes(key); + }; + + ToSetSequence.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + return this._iter.__iterate(function (v) { return fn(v, v, this$1$1); }, reverse); + }; + + ToSetSequence.prototype.__iterator = function __iterator (type, reverse) { + var iterator = this._iter.__iterator(ITERATE_VALUES, reverse); + return new Iterator(function () { + var step = iterator.next(); + return step.done + ? step + : iteratorValue(type, step.value, step.value, step); + }); + }; + + return ToSetSequence; + }(SetSeq)); + + var FromEntriesSequence = /*@__PURE__*/(function (KeyedSeq) { + function FromEntriesSequence(entries) { + this._iter = entries; + this.size = entries.size; + } + + if ( KeyedSeq ) FromEntriesSequence.__proto__ = KeyedSeq; + FromEntriesSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype ); + FromEntriesSequence.prototype.constructor = FromEntriesSequence; + + FromEntriesSequence.prototype.entrySeq = function entrySeq () { + return this._iter.toSeq(); + }; + + FromEntriesSequence.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + return this._iter.__iterate(function (entry) { + // Check if entry exists first so array access doesn't throw for holes + // in the parent iteration. + if (entry) { + validateEntry(entry); + var indexedCollection = isCollection(entry); + return fn( + indexedCollection ? entry.get(1) : entry[1], + indexedCollection ? entry.get(0) : entry[0], + this$1$1 + ); + } + }, reverse); + }; + + FromEntriesSequence.prototype.__iterator = function __iterator (type, reverse) { + var iterator = this._iter.__iterator(ITERATE_VALUES, reverse); + return new Iterator(function () { + while (true) { + var step = iterator.next(); + if (step.done) { + return step; + } + var entry = step.value; + // Check if entry exists first so array access doesn't throw for holes + // in the parent iteration. + if (entry) { + validateEntry(entry); + var indexedCollection = isCollection(entry); + return iteratorValue( + type, + indexedCollection ? entry.get(0) : entry[0], + indexedCollection ? entry.get(1) : entry[1], + step + ); + } + } + }); + }; + + return FromEntriesSequence; + }(KeyedSeq)); + + ToIndexedSequence.prototype.cacheResult = + ToKeyedSequence.prototype.cacheResult = + ToSetSequence.prototype.cacheResult = + FromEntriesSequence.prototype.cacheResult = + cacheResultThrough; + + function flipFactory(collection) { + var flipSequence = makeSequence(collection); + flipSequence._iter = collection; + flipSequence.size = collection.size; + flipSequence.flip = function () { return collection; }; + flipSequence.reverse = function () { + var reversedSequence = collection.reverse.apply(this); // super.reverse() + reversedSequence.flip = function () { return collection.reverse(); }; + return reversedSequence; + }; + flipSequence.has = function (key) { return collection.includes(key); }; + flipSequence.includes = function (key) { return collection.has(key); }; + flipSequence.cacheResult = cacheResultThrough; + flipSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + return collection.__iterate(function (v, k) { return fn(k, v, this$1$1) !== false; }, reverse); + }; + flipSequence.__iteratorUncached = function (type, reverse) { + if (type === ITERATE_ENTRIES) { + var iterator = collection.__iterator(type, reverse); + return new Iterator(function () { + var step = iterator.next(); + if (!step.done) { + var k = step.value[0]; + step.value[0] = step.value[1]; + step.value[1] = k; + } + return step; + }); + } + return collection.__iterator( + type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES, + reverse + ); + }; + return flipSequence; + } + + function mapFactory(collection, mapper, context) { + var mappedSequence = makeSequence(collection); + mappedSequence.size = collection.size; + mappedSequence.has = function (key) { return collection.has(key); }; + mappedSequence.get = function (key, notSetValue) { + var v = collection.get(key, NOT_SET); + return v === NOT_SET + ? notSetValue + : mapper.call(context, v, key, collection); + }; + mappedSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + return collection.__iterate( + function (v, k, c) { return fn(mapper.call(context, v, k, c), k, this$1$1) !== false; }, + reverse + ); + }; + mappedSequence.__iteratorUncached = function (type, reverse) { + var iterator = collection.__iterator(ITERATE_ENTRIES, reverse); + return new Iterator(function () { + var step = iterator.next(); + if (step.done) { + return step; + } + var entry = step.value; + var key = entry[0]; + return iteratorValue( + type, + key, + mapper.call(context, entry[1], key, collection), + step + ); + }); + }; + return mappedSequence; + } + + function reverseFactory(collection, useKeys) { + var this$1$1 = this; + + var reversedSequence = makeSequence(collection); + reversedSequence._iter = collection; + reversedSequence.size = collection.size; + reversedSequence.reverse = function () { return collection; }; + if (collection.flip) { + reversedSequence.flip = function () { + var flipSequence = flipFactory(collection); + flipSequence.reverse = function () { return collection.flip(); }; + return flipSequence; + }; + } + reversedSequence.get = function (key, notSetValue) { return collection.get(useKeys ? key : -1 - key, notSetValue); }; + reversedSequence.has = function (key) { return collection.has(useKeys ? key : -1 - key); }; + reversedSequence.includes = function (value) { return collection.includes(value); }; + reversedSequence.cacheResult = cacheResultThrough; + reversedSequence.__iterate = function (fn, reverse) { + var this$1$1 = this; + + var i = 0; + reverse && ensureSize(collection); + return collection.__iterate( + function (v, k) { return fn(v, useKeys ? k : reverse ? this$1$1.size - ++i : i++, this$1$1); }, + !reverse + ); + }; + reversedSequence.__iterator = function (type, reverse) { + var i = 0; + reverse && ensureSize(collection); + var iterator = collection.__iterator(ITERATE_ENTRIES, !reverse); + return new Iterator(function () { + var step = iterator.next(); + if (step.done) { + return step; + } + var entry = step.value; + return iteratorValue( + type, + useKeys ? entry[0] : reverse ? this$1$1.size - ++i : i++, + entry[1], + step + ); + }); + }; + return reversedSequence; + } + + function filterFactory(collection, predicate, context, useKeys) { + var filterSequence = makeSequence(collection); + if (useKeys) { + filterSequence.has = function (key) { + var v = collection.get(key, NOT_SET); + return v !== NOT_SET && !!predicate.call(context, v, key, collection); + }; + filterSequence.get = function (key, notSetValue) { + var v = collection.get(key, NOT_SET); + return v !== NOT_SET && predicate.call(context, v, key, collection) + ? v + : notSetValue; + }; + } + filterSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + var iterations = 0; + collection.__iterate(function (v, k, c) { + if (predicate.call(context, v, k, c)) { + iterations++; + return fn(v, useKeys ? k : iterations - 1, this$1$1); + } + }, reverse); + return iterations; + }; + filterSequence.__iteratorUncached = function (type, reverse) { + var iterator = collection.__iterator(ITERATE_ENTRIES, reverse); + var iterations = 0; + return new Iterator(function () { + while (true) { + var step = iterator.next(); + if (step.done) { + return step; + } + var entry = step.value; + var key = entry[0]; + var value = entry[1]; + if (predicate.call(context, value, key, collection)) { + return iteratorValue(type, useKeys ? key : iterations++, value, step); + } + } + }); + }; + return filterSequence; + } + + function countByFactory(collection, grouper, context) { + var groups = Map().asMutable(); + collection.__iterate(function (v, k) { + groups.update(grouper.call(context, v, k, collection), 0, function (a) { return a + 1; }); + }); + return groups.asImmutable(); + } + + function groupByFactory(collection, grouper, context) { + var isKeyedIter = isKeyed(collection); + var groups = (isOrdered(collection) ? OrderedMap() : Map()).asMutable(); + collection.__iterate(function (v, k) { + groups.update( + grouper.call(context, v, k, collection), + function (a) { return ((a = a || []), a.push(isKeyedIter ? [k, v] : v), a); } + ); + }); + var coerce = collectionClass(collection); + return groups.map(function (arr) { return reify(collection, coerce(arr)); }).asImmutable(); + } + + function partitionFactory(collection, predicate, context) { + var isKeyedIter = isKeyed(collection); + var groups = [[], []]; + collection.__iterate(function (v, k) { + groups[predicate.call(context, v, k, collection) ? 1 : 0].push( + isKeyedIter ? [k, v] : v + ); + }); + var coerce = collectionClass(collection); + return groups.map(function (arr) { return reify(collection, coerce(arr)); }); + } + + function sliceFactory(collection, begin, end, useKeys) { + var originalSize = collection.size; + + if (wholeSlice(begin, end, originalSize)) { + return collection; + } + + var resolvedBegin = resolveBegin(begin, originalSize); + var resolvedEnd = resolveEnd(end, originalSize); + + // begin or end will be NaN if they were provided as negative numbers and + // this collection's size is unknown. In that case, cache first so there is + // a known size and these do not resolve to NaN. + if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) { + return sliceFactory(collection.toSeq().cacheResult(), begin, end, useKeys); + } + + // Note: resolvedEnd is undefined when the original sequence's length is + // unknown and this slice did not supply an end and should contain all + // elements after resolvedBegin. + // In that case, resolvedSize will be NaN and sliceSize will remain undefined. + var resolvedSize = resolvedEnd - resolvedBegin; + var sliceSize; + if (resolvedSize === resolvedSize) { + sliceSize = resolvedSize < 0 ? 0 : resolvedSize; + } + + var sliceSeq = makeSequence(collection); + + // If collection.size is undefined, the size of the realized sliceSeq is + // unknown at this point unless the number of items to slice is 0 + sliceSeq.size = + sliceSize === 0 ? sliceSize : (collection.size && sliceSize) || undefined; + + if (!useKeys && isSeq(collection) && sliceSize >= 0) { + sliceSeq.get = function (index, notSetValue) { + index = wrapIndex(this, index); + return index >= 0 && index < sliceSize + ? collection.get(index + resolvedBegin, notSetValue) + : notSetValue; + }; + } + + sliceSeq.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + if (sliceSize === 0) { + return 0; + } + if (reverse) { + return this.cacheResult().__iterate(fn, reverse); + } + var skipped = 0; + var isSkipping = true; + var iterations = 0; + collection.__iterate(function (v, k) { + if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) { + iterations++; + return ( + fn(v, useKeys ? k : iterations - 1, this$1$1) !== false && + iterations !== sliceSize + ); + } + }); + return iterations; + }; + + sliceSeq.__iteratorUncached = function (type, reverse) { + if (sliceSize !== 0 && reverse) { + return this.cacheResult().__iterator(type, reverse); + } + // Don't bother instantiating parent iterator if taking 0. + if (sliceSize === 0) { + return new Iterator(iteratorDone); + } + var iterator = collection.__iterator(type, reverse); + var skipped = 0; + var iterations = 0; + return new Iterator(function () { + while (skipped++ < resolvedBegin) { + iterator.next(); + } + if (++iterations > sliceSize) { + return iteratorDone(); + } + var step = iterator.next(); + if (useKeys || type === ITERATE_VALUES || step.done) { + return step; + } + if (type === ITERATE_KEYS) { + return iteratorValue(type, iterations - 1, undefined, step); + } + return iteratorValue(type, iterations - 1, step.value[1], step); + }); + }; + + return sliceSeq; + } + + function takeWhileFactory(collection, predicate, context) { + var takeSequence = makeSequence(collection); + takeSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + if (reverse) { + return this.cacheResult().__iterate(fn, reverse); + } + var iterations = 0; + collection.__iterate( + function (v, k, c) { return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$1$1); } + ); + return iterations; + }; + takeSequence.__iteratorUncached = function (type, reverse) { + var this$1$1 = this; + + if (reverse) { + return this.cacheResult().__iterator(type, reverse); + } + var iterator = collection.__iterator(ITERATE_ENTRIES, reverse); + var iterating = true; + return new Iterator(function () { + if (!iterating) { + return iteratorDone(); + } + var step = iterator.next(); + if (step.done) { + return step; + } + var entry = step.value; + var k = entry[0]; + var v = entry[1]; + if (!predicate.call(context, v, k, this$1$1)) { + iterating = false; + return iteratorDone(); + } + return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step); + }); + }; + return takeSequence; + } + + function skipWhileFactory(collection, predicate, context, useKeys) { + var skipSequence = makeSequence(collection); + skipSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + if (reverse) { + return this.cacheResult().__iterate(fn, reverse); + } + var isSkipping = true; + var iterations = 0; + collection.__iterate(function (v, k, c) { + if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) { + iterations++; + return fn(v, useKeys ? k : iterations - 1, this$1$1); + } + }); + return iterations; + }; + skipSequence.__iteratorUncached = function (type, reverse) { + var this$1$1 = this; + + if (reverse) { + return this.cacheResult().__iterator(type, reverse); + } + var iterator = collection.__iterator(ITERATE_ENTRIES, reverse); + var skipping = true; + var iterations = 0; + return new Iterator(function () { + var step; + var k; + var v; + do { + step = iterator.next(); + if (step.done) { + if (useKeys || type === ITERATE_VALUES) { + return step; + } + if (type === ITERATE_KEYS) { + return iteratorValue(type, iterations++, undefined, step); + } + return iteratorValue(type, iterations++, step.value[1], step); + } + var entry = step.value; + k = entry[0]; + v = entry[1]; + skipping && (skipping = predicate.call(context, v, k, this$1$1)); + } while (skipping); + return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step); + }); + }; + return skipSequence; + } + + function concatFactory(collection, values) { + var isKeyedCollection = isKeyed(collection); + var iters = [collection] + .concat(values) + .map(function (v) { + if (!isCollection(v)) { + v = isKeyedCollection + ? keyedSeqFromValue(v) + : indexedSeqFromValue(Array.isArray(v) ? v : [v]); + } else if (isKeyedCollection) { + v = KeyedCollection(v); + } + return v; + }) + .filter(function (v) { return v.size !== 0; }); + + if (iters.length === 0) { + return collection; + } + + if (iters.length === 1) { + var singleton = iters[0]; + if ( + singleton === collection || + (isKeyedCollection && isKeyed(singleton)) || + (isIndexed(collection) && isIndexed(singleton)) + ) { + return singleton; + } + } + + var concatSeq = new ArraySeq(iters); + if (isKeyedCollection) { + concatSeq = concatSeq.toKeyedSeq(); + } else if (!isIndexed(collection)) { + concatSeq = concatSeq.toSetSeq(); + } + concatSeq = concatSeq.flatten(true); + concatSeq.size = iters.reduce(function (sum, seq) { + if (sum !== undefined) { + var size = seq.size; + if (size !== undefined) { + return sum + size; + } + } + }, 0); + return concatSeq; + } + + function flattenFactory(collection, depth, useKeys) { + var flatSequence = makeSequence(collection); + flatSequence.__iterateUncached = function (fn, reverse) { + if (reverse) { + return this.cacheResult().__iterate(fn, reverse); + } + var iterations = 0; + var stopped = false; + function flatDeep(iter, currentDepth) { + iter.__iterate(function (v, k) { + if ((!depth || currentDepth < depth) && isCollection(v)) { + flatDeep(v, currentDepth + 1); + } else { + iterations++; + if (fn(v, useKeys ? k : iterations - 1, flatSequence) === false) { + stopped = true; + } + } + return !stopped; + }, reverse); + } + flatDeep(collection, 0); + return iterations; + }; + flatSequence.__iteratorUncached = function (type, reverse) { + if (reverse) { + return this.cacheResult().__iterator(type, reverse); + } + var iterator = collection.__iterator(type, reverse); + var stack = []; + var iterations = 0; + return new Iterator(function () { + while (iterator) { + var step = iterator.next(); + if (step.done !== false) { + iterator = stack.pop(); + continue; + } + var v = step.value; + if (type === ITERATE_ENTRIES) { + v = v[1]; + } + if ((!depth || stack.length < depth) && isCollection(v)) { + stack.push(iterator); + iterator = v.__iterator(type, reverse); + } else { + return useKeys ? step : iteratorValue(type, iterations++, v, step); + } + } + return iteratorDone(); + }); + }; + return flatSequence; + } + + function flatMapFactory(collection, mapper, context) { + var coerce = collectionClass(collection); + return collection + .toSeq() + .map(function (v, k) { return coerce(mapper.call(context, v, k, collection)); }) + .flatten(true); + } + + function interposeFactory(collection, separator) { + var interposedSequence = makeSequence(collection); + interposedSequence.size = collection.size && collection.size * 2 - 1; + interposedSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + var iterations = 0; + collection.__iterate( + function (v) { return (!iterations || fn(separator, iterations++, this$1$1) !== false) && + fn(v, iterations++, this$1$1) !== false; }, + reverse + ); + return iterations; + }; + interposedSequence.__iteratorUncached = function (type, reverse) { + var iterator = collection.__iterator(ITERATE_VALUES, reverse); + var iterations = 0; + var step; + return new Iterator(function () { + if (!step || iterations % 2) { + step = iterator.next(); + if (step.done) { + return step; + } + } + return iterations % 2 + ? iteratorValue(type, iterations++, separator) + : iteratorValue(type, iterations++, step.value, step); + }); + }; + return interposedSequence; + } + + function sortFactory(collection, comparator, mapper) { + if (!comparator) { + comparator = defaultComparator; + } + var isKeyedCollection = isKeyed(collection); + var index = 0; + var entries = collection + .toSeq() + .map(function (v, k) { return [k, v, index++, mapper ? mapper(v, k, collection) : v]; }) + .valueSeq() + .toArray(); + entries + .sort(function (a, b) { return comparator(a[3], b[3]) || a[2] - b[2]; }) + .forEach( + isKeyedCollection + ? function (v, i) { + entries[i].length = 2; + } + : function (v, i) { + entries[i] = v[1]; + } + ); + return isKeyedCollection + ? KeyedSeq(entries) + : isIndexed(collection) + ? IndexedSeq(entries) + : SetSeq(entries); + } + + function maxFactory(collection, comparator, mapper) { + if (!comparator) { + comparator = defaultComparator; + } + if (mapper) { + var entry = collection + .toSeq() + .map(function (v, k) { return [v, mapper(v, k, collection)]; }) + .reduce(function (a, b) { return (maxCompare(comparator, a[1], b[1]) ? b : a); }); + return entry && entry[0]; + } + return collection.reduce(function (a, b) { return (maxCompare(comparator, a, b) ? b : a); }); + } + + function maxCompare(comparator, a, b) { + var comp = comparator(b, a); + // b is considered the new max if the comparator declares them equal, but + // they are not equal and b is in fact a nullish value. + return ( + (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) || + comp > 0 + ); + } + + function zipWithFactory(keyIter, zipper, iters, zipAll) { + var zipSequence = makeSequence(keyIter); + var sizes = new ArraySeq(iters).map(function (i) { return i.size; }); + zipSequence.size = zipAll ? sizes.max() : sizes.min(); + // Note: this a generic base implementation of __iterate in terms of + // __iterator which may be more generically useful in the future. + zipSequence.__iterate = function (fn, reverse) { + /* generic: + var iterator = this.__iterator(ITERATE_ENTRIES, reverse); + var step; + var iterations = 0; + while (!(step = iterator.next()).done) { + iterations++; + if (fn(step.value[1], step.value[0], this) === false) { + break; + } + } + return iterations; + */ + // indexed: + var iterator = this.__iterator(ITERATE_VALUES, reverse); + var step; + var iterations = 0; + while (!(step = iterator.next()).done) { + if (fn(step.value, iterations++, this) === false) { + break; + } + } + return iterations; + }; + zipSequence.__iteratorUncached = function (type, reverse) { + var iterators = iters.map( + function (i) { return ((i = Collection(i)), getIterator(reverse ? i.reverse() : i)); } + ); + var iterations = 0; + var isDone = false; + return new Iterator(function () { + var steps; + if (!isDone) { + steps = iterators.map(function (i) { return i.next(); }); + isDone = zipAll ? steps.every(function (s) { return s.done; }) : steps.some(function (s) { return s.done; }); + } + if (isDone) { + return iteratorDone(); + } + return iteratorValue( + type, + iterations++, + zipper.apply( + null, + steps.map(function (s) { return s.value; }) + ) + ); + }); + }; + return zipSequence; + } + + // #pragma Helper Functions + + function reify(iter, seq) { + return iter === seq ? iter : isSeq(iter) ? seq : iter.constructor(seq); + } + + function validateEntry(entry) { + if (entry !== Object(entry)) { + throw new TypeError('Expected [K, V] tuple: ' + entry); + } + } + + function collectionClass(collection) { + return isKeyed(collection) + ? KeyedCollection + : isIndexed(collection) + ? IndexedCollection + : SetCollection; + } + + function makeSequence(collection) { + return Object.create( + (isKeyed(collection) + ? KeyedSeq + : isIndexed(collection) + ? IndexedSeq + : SetSeq + ).prototype + ); + } + + function cacheResultThrough() { + if (this._iter.cacheResult) { + this._iter.cacheResult(); + this.size = this._iter.size; + return this; + } + return Seq.prototype.cacheResult.call(this); + } + + function defaultComparator(a, b) { + if (a === undefined && b === undefined) { + return 0; + } + + if (a === undefined) { + return 1; + } + + if (b === undefined) { + return -1; + } + + return a > b ? 1 : a < b ? -1 : 0; + } + + function arrCopy(arr, offset) { + offset = offset || 0; + var len = Math.max(0, arr.length - offset); + var newArr = new Array(len); + for (var ii = 0; ii < len; ii++) { + newArr[ii] = arr[ii + offset]; + } + return newArr; + } + + function invariant(condition, error) { + if (!condition) { throw new Error(error); } + } + + function assertNotInfinite(size) { + invariant( + size !== Infinity, + 'Cannot perform this action with an infinite size.' + ); + } + + function coerceKeyPath(keyPath) { + if (isArrayLike(keyPath) && typeof keyPath !== 'string') { + return keyPath; + } + if (isOrdered(keyPath)) { + return keyPath.toArray(); + } + throw new TypeError( + 'Invalid keyPath: expected Ordered Collection or Array: ' + keyPath + ); + } + + var toString = Object.prototype.toString; + + function isPlainObject(value) { + // The base prototype's toString deals with Argument objects and native namespaces like Math + if ( + !value || + typeof value !== 'object' || + toString.call(value) !== '[object Object]' + ) { + return false; + } + + var proto = Object.getPrototypeOf(value); + if (proto === null) { + return true; + } + + // Iteratively going up the prototype chain is needed for cross-realm environments (differing contexts, iframes, etc) + var parentProto = proto; + var nextProto = Object.getPrototypeOf(proto); + while (nextProto !== null) { + parentProto = nextProto; + nextProto = Object.getPrototypeOf(parentProto); + } + return parentProto === proto; + } + + /** + * Returns true if the value is a potentially-persistent data structure, either + * provided by Immutable.js or a plain Array or Object. + */ + function isDataStructure(value) { + return ( + typeof value === 'object' && + (isImmutable(value) || Array.isArray(value) || isPlainObject(value)) + ); + } + + function quoteString(value) { + try { + return typeof value === 'string' ? JSON.stringify(value) : String(value); + } catch (_ignoreError) { + return JSON.stringify(value); + } + } + + function has(collection, key) { + return isImmutable(collection) + ? collection.has(key) + : isDataStructure(collection) && hasOwnProperty.call(collection, key); + } + + function get(collection, key, notSetValue) { + return isImmutable(collection) + ? collection.get(key, notSetValue) + : !has(collection, key) + ? notSetValue + : typeof collection.get === 'function' + ? collection.get(key) + : collection[key]; + } + + function shallowCopy(from) { + if (Array.isArray(from)) { + return arrCopy(from); + } + var to = {}; + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + return to; + } + + function remove(collection, key) { + if (!isDataStructure(collection)) { + throw new TypeError( + 'Cannot update non-data-structure value: ' + collection + ); + } + if (isImmutable(collection)) { + if (!collection.remove) { + throw new TypeError( + 'Cannot update immutable value without .remove() method: ' + collection + ); + } + return collection.remove(key); + } + if (!hasOwnProperty.call(collection, key)) { + return collection; + } + var collectionCopy = shallowCopy(collection); + if (Array.isArray(collectionCopy)) { + collectionCopy.splice(key, 1); + } else { + delete collectionCopy[key]; + } + return collectionCopy; + } + + function set(collection, key, value) { + if (!isDataStructure(collection)) { + throw new TypeError( + 'Cannot update non-data-structure value: ' + collection + ); + } + if (isImmutable(collection)) { + if (!collection.set) { + throw new TypeError( + 'Cannot update immutable value without .set() method: ' + collection + ); + } + return collection.set(key, value); + } + if (hasOwnProperty.call(collection, key) && value === collection[key]) { + return collection; + } + var collectionCopy = shallowCopy(collection); + collectionCopy[key] = value; + return collectionCopy; + } + + function updateIn$1(collection, keyPath, notSetValue, updater) { + if (!updater) { + updater = notSetValue; + notSetValue = undefined; + } + var updatedValue = updateInDeeply( + isImmutable(collection), + collection, + coerceKeyPath(keyPath), + 0, + notSetValue, + updater + ); + return updatedValue === NOT_SET ? notSetValue : updatedValue; + } + + function updateInDeeply( + inImmutable, + existing, + keyPath, + i, + notSetValue, + updater + ) { + var wasNotSet = existing === NOT_SET; + if (i === keyPath.length) { + var existingValue = wasNotSet ? notSetValue : existing; + var newValue = updater(existingValue); + return newValue === existingValue ? existing : newValue; + } + if (!wasNotSet && !isDataStructure(existing)) { + throw new TypeError( + 'Cannot update within non-data-structure value in path [' + + keyPath.slice(0, i).map(quoteString) + + ']: ' + + existing + ); + } + var key = keyPath[i]; + var nextExisting = wasNotSet ? NOT_SET : get(existing, key, NOT_SET); + var nextUpdated = updateInDeeply( + nextExisting === NOT_SET ? inImmutable : isImmutable(nextExisting), + nextExisting, + keyPath, + i + 1, + notSetValue, + updater + ); + return nextUpdated === nextExisting + ? existing + : nextUpdated === NOT_SET + ? remove(existing, key) + : set( + wasNotSet ? (inImmutable ? emptyMap() : {}) : existing, + key, + nextUpdated + ); + } + + function setIn$1(collection, keyPath, value) { + return updateIn$1(collection, keyPath, NOT_SET, function () { return value; }); + } + + function setIn(keyPath, v) { + return setIn$1(this, keyPath, v); + } + + function removeIn(collection, keyPath) { + return updateIn$1(collection, keyPath, function () { return NOT_SET; }); + } + + function deleteIn(keyPath) { + return removeIn(this, keyPath); + } + + function update$1(collection, key, notSetValue, updater) { + return updateIn$1(collection, [key], notSetValue, updater); + } + + function update(key, notSetValue, updater) { + return arguments.length === 1 + ? key(this) + : update$1(this, key, notSetValue, updater); + } + + function updateIn(keyPath, notSetValue, updater) { + return updateIn$1(this, keyPath, notSetValue, updater); + } + + function merge$1() { + var iters = [], len = arguments.length; + while ( len-- ) iters[ len ] = arguments[ len ]; + + return mergeIntoKeyedWith(this, iters); + } + + function mergeWith$1(merger) { + var iters = [], len = arguments.length - 1; + while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ]; + + if (typeof merger !== 'function') { + throw new TypeError('Invalid merger function: ' + merger); + } + return mergeIntoKeyedWith(this, iters, merger); + } + + function mergeIntoKeyedWith(collection, collections, merger) { + var iters = []; + for (var ii = 0; ii < collections.length; ii++) { + var collection$1 = KeyedCollection(collections[ii]); + if (collection$1.size !== 0) { + iters.push(collection$1); + } + } + if (iters.length === 0) { + return collection; + } + if ( + collection.toSeq().size === 0 && + !collection.__ownerID && + iters.length === 1 + ) { + return collection.constructor(iters[0]); + } + return collection.withMutations(function (collection) { + var mergeIntoCollection = merger + ? function (value, key) { + update$1(collection, key, NOT_SET, function (oldVal) { return oldVal === NOT_SET ? value : merger(oldVal, value, key); } + ); + } + : function (value, key) { + collection.set(key, value); + }; + for (var ii = 0; ii < iters.length; ii++) { + iters[ii].forEach(mergeIntoCollection); + } + }); + } + + function merge(collection) { + var sources = [], len = arguments.length - 1; + while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ]; + + return mergeWithSources(collection, sources); + } + + function mergeWith(merger, collection) { + var sources = [], len = arguments.length - 2; + while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ]; + + return mergeWithSources(collection, sources, merger); + } + + function mergeDeep$1(collection) { + var sources = [], len = arguments.length - 1; + while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ]; + + return mergeDeepWithSources(collection, sources); + } + + function mergeDeepWith$1(merger, collection) { + var sources = [], len = arguments.length - 2; + while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ]; + + return mergeDeepWithSources(collection, sources, merger); + } + + function mergeDeepWithSources(collection, sources, merger) { + return mergeWithSources(collection, sources, deepMergerWith(merger)); + } + + function mergeWithSources(collection, sources, merger) { + if (!isDataStructure(collection)) { + throw new TypeError( + 'Cannot merge into non-data-structure value: ' + collection + ); + } + if (isImmutable(collection)) { + return typeof merger === 'function' && collection.mergeWith + ? collection.mergeWith.apply(collection, [ merger ].concat( sources )) + : collection.merge + ? collection.merge.apply(collection, sources) + : collection.concat.apply(collection, sources); + } + var isArray = Array.isArray(collection); + var merged = collection; + var Collection = isArray ? IndexedCollection : KeyedCollection; + var mergeItem = isArray + ? function (value) { + // Copy on write + if (merged === collection) { + merged = shallowCopy(merged); + } + merged.push(value); + } + : function (value, key) { + var hasVal = hasOwnProperty.call(merged, key); + var nextVal = + hasVal && merger ? merger(merged[key], value, key) : value; + if (!hasVal || nextVal !== merged[key]) { + // Copy on write + if (merged === collection) { + merged = shallowCopy(merged); + } + merged[key] = nextVal; + } + }; + for (var i = 0; i < sources.length; i++) { + Collection(sources[i]).forEach(mergeItem); + } + return merged; + } + + function deepMergerWith(merger) { + function deepMerger(oldValue, newValue, key) { + return isDataStructure(oldValue) && + isDataStructure(newValue) && + areMergeable(oldValue, newValue) + ? mergeWithSources(oldValue, [newValue], deepMerger) + : merger + ? merger(oldValue, newValue, key) + : newValue; + } + return deepMerger; + } + + /** + * It's unclear what the desired behavior is for merging two collections that + * fall into separate categories between keyed, indexed, or set-like, so we only + * consider them mergeable if they fall into the same category. + */ + function areMergeable(oldDataStructure, newDataStructure) { + var oldSeq = Seq(oldDataStructure); + var newSeq = Seq(newDataStructure); + // This logic assumes that a sequence can only fall into one of the three + // categories mentioned above (since there's no `isSetLike()` method). + return ( + isIndexed(oldSeq) === isIndexed(newSeq) && + isKeyed(oldSeq) === isKeyed(newSeq) + ); + } + + function mergeDeep() { + var iters = [], len = arguments.length; + while ( len-- ) iters[ len ] = arguments[ len ]; + + return mergeDeepWithSources(this, iters); + } + + function mergeDeepWith(merger) { + var iters = [], len = arguments.length - 1; + while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ]; + + return mergeDeepWithSources(this, iters, merger); + } + + function mergeIn(keyPath) { + var iters = [], len = arguments.length - 1; + while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ]; + + return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeWithSources(m, iters); }); + } + + function mergeDeepIn(keyPath) { + var iters = [], len = arguments.length - 1; + while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ]; + + return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeDeepWithSources(m, iters); } + ); + } + + function withMutations(fn) { + var mutable = this.asMutable(); + fn(mutable); + return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this; + } + + function asMutable() { + return this.__ownerID ? this : this.__ensureOwner(new OwnerID()); + } + + function asImmutable() { + return this.__ensureOwner(); + } + + function wasAltered() { + return this.__altered; + } + + var Map = /*@__PURE__*/(function (KeyedCollection) { + function Map(value) { + return value === undefined || value === null + ? emptyMap() + : isMap(value) && !isOrdered(value) + ? value + : emptyMap().withMutations(function (map) { + var iter = KeyedCollection(value); + assertNotInfinite(iter.size); + iter.forEach(function (v, k) { return map.set(k, v); }); + }); + } + + if ( KeyedCollection ) Map.__proto__ = KeyedCollection; + Map.prototype = Object.create( KeyedCollection && KeyedCollection.prototype ); + Map.prototype.constructor = Map; + + Map.of = function of () { + var keyValues = [], len = arguments.length; + while ( len-- ) keyValues[ len ] = arguments[ len ]; + + return emptyMap().withMutations(function (map) { + for (var i = 0; i < keyValues.length; i += 2) { + if (i + 1 >= keyValues.length) { + throw new Error('Missing value for key: ' + keyValues[i]); + } + map.set(keyValues[i], keyValues[i + 1]); + } + }); + }; + + Map.prototype.toString = function toString () { + return this.__toString('Map {', '}'); + }; + + // @pragma Access + + Map.prototype.get = function get (k, notSetValue) { + return this._root + ? this._root.get(0, undefined, k, notSetValue) + : notSetValue; + }; + + // @pragma Modification + + Map.prototype.set = function set (k, v) { + return updateMap(this, k, v); + }; + + Map.prototype.remove = function remove (k) { + return updateMap(this, k, NOT_SET); + }; + + Map.prototype.deleteAll = function deleteAll (keys) { + var collection = Collection(keys); + + if (collection.size === 0) { + return this; + } + + return this.withMutations(function (map) { + collection.forEach(function (key) { return map.remove(key); }); + }); + }; + + Map.prototype.clear = function clear () { + if (this.size === 0) { + return this; + } + if (this.__ownerID) { + this.size = 0; + this._root = null; + this.__hash = undefined; + this.__altered = true; + return this; + } + return emptyMap(); + }; + + // @pragma Composition + + Map.prototype.sort = function sort (comparator) { + // Late binding + return OrderedMap(sortFactory(this, comparator)); + }; + + Map.prototype.sortBy = function sortBy (mapper, comparator) { + // Late binding + return OrderedMap(sortFactory(this, comparator, mapper)); + }; + + Map.prototype.map = function map (mapper, context) { + var this$1$1 = this; + + return this.withMutations(function (map) { + map.forEach(function (value, key) { + map.set(key, mapper.call(context, value, key, this$1$1)); + }); + }); + }; + + // @pragma Mutability + + Map.prototype.__iterator = function __iterator (type, reverse) { + return new MapIterator(this, type, reverse); + }; + + Map.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + var iterations = 0; + this._root && + this._root.iterate(function (entry) { + iterations++; + return fn(entry[1], entry[0], this$1$1); + }, reverse); + return iterations; + }; + + Map.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + if (!ownerID) { + if (this.size === 0) { + return emptyMap(); + } + this.__ownerID = ownerID; + this.__altered = false; + return this; + } + return makeMap(this.size, this._root, ownerID, this.__hash); + }; + + return Map; + }(KeyedCollection)); + + Map.isMap = isMap; + + var MapPrototype = Map.prototype; + MapPrototype[IS_MAP_SYMBOL] = true; + MapPrototype[DELETE] = MapPrototype.remove; + MapPrototype.removeAll = MapPrototype.deleteAll; + MapPrototype.setIn = setIn; + MapPrototype.removeIn = MapPrototype.deleteIn = deleteIn; + MapPrototype.update = update; + MapPrototype.updateIn = updateIn; + MapPrototype.merge = MapPrototype.concat = merge$1; + MapPrototype.mergeWith = mergeWith$1; + MapPrototype.mergeDeep = mergeDeep; + MapPrototype.mergeDeepWith = mergeDeepWith; + MapPrototype.mergeIn = mergeIn; + MapPrototype.mergeDeepIn = mergeDeepIn; + MapPrototype.withMutations = withMutations; + MapPrototype.wasAltered = wasAltered; + MapPrototype.asImmutable = asImmutable; + MapPrototype['@@transducer/init'] = MapPrototype.asMutable = asMutable; + MapPrototype['@@transducer/step'] = function (result, arr) { + return result.set(arr[0], arr[1]); + }; + MapPrototype['@@transducer/result'] = function (obj) { + return obj.asImmutable(); + }; + + // #pragma Trie Nodes + + var ArrayMapNode = function ArrayMapNode(ownerID, entries) { + this.ownerID = ownerID; + this.entries = entries; + }; + + ArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) { + var entries = this.entries; + for (var ii = 0, len = entries.length; ii < len; ii++) { + if (is(key, entries[ii][0])) { + return entries[ii][1]; + } + } + return notSetValue; + }; + + ArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + var removed = value === NOT_SET; + + var entries = this.entries; + var idx = 0; + var len = entries.length; + for (; idx < len; idx++) { + if (is(key, entries[idx][0])) { + break; + } + } + var exists = idx < len; + + if (exists ? entries[idx][1] === value : removed) { + return this; + } + + SetRef(didAlter); + (removed || !exists) && SetRef(didChangeSize); + + if (removed && entries.length === 1) { + return; // undefined + } + + if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) { + return createNodes(ownerID, entries, key, value); + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newEntries = isEditable ? entries : arrCopy(entries); + + if (exists) { + if (removed) { + idx === len - 1 + ? newEntries.pop() + : (newEntries[idx] = newEntries.pop()); + } else { + newEntries[idx] = [key, value]; + } + } else { + newEntries.push([key, value]); + } + + if (isEditable) { + this.entries = newEntries; + return this; + } + + return new ArrayMapNode(ownerID, newEntries); + }; + + var BitmapIndexedNode = function BitmapIndexedNode(ownerID, bitmap, nodes) { + this.ownerID = ownerID; + this.bitmap = bitmap; + this.nodes = nodes; + }; + + BitmapIndexedNode.prototype.get = function get (shift, keyHash, key, notSetValue) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var bit = 1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK); + var bitmap = this.bitmap; + return (bitmap & bit) === 0 + ? notSetValue + : this.nodes[popCount(bitmap & (bit - 1))].get( + shift + SHIFT, + keyHash, + key, + notSetValue + ); + }; + + BitmapIndexedNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + var bit = 1 << keyHashFrag; + var bitmap = this.bitmap; + var exists = (bitmap & bit) !== 0; + + if (!exists && value === NOT_SET) { + return this; + } + + var idx = popCount(bitmap & (bit - 1)); + var nodes = this.nodes; + var node = exists ? nodes[idx] : undefined; + var newNode = updateNode( + node, + ownerID, + shift + SHIFT, + keyHash, + key, + value, + didChangeSize, + didAlter + ); + + if (newNode === node) { + return this; + } + + if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) { + return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode); + } + + if ( + exists && + !newNode && + nodes.length === 2 && + isLeafNode(nodes[idx ^ 1]) + ) { + return nodes[idx ^ 1]; + } + + if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) { + return newNode; + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newBitmap = exists ? (newNode ? bitmap : bitmap ^ bit) : bitmap | bit; + var newNodes = exists + ? newNode + ? setAt(nodes, idx, newNode, isEditable) + : spliceOut(nodes, idx, isEditable) + : spliceIn(nodes, idx, newNode, isEditable); + + if (isEditable) { + this.bitmap = newBitmap; + this.nodes = newNodes; + return this; + } + + return new BitmapIndexedNode(ownerID, newBitmap, newNodes); + }; + + var HashArrayMapNode = function HashArrayMapNode(ownerID, count, nodes) { + this.ownerID = ownerID; + this.count = count; + this.nodes = nodes; + }; + + HashArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + var node = this.nodes[idx]; + return node + ? node.get(shift + SHIFT, keyHash, key, notSetValue) + : notSetValue; + }; + + HashArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + var removed = value === NOT_SET; + var nodes = this.nodes; + var node = nodes[idx]; + + if (removed && !node) { + return this; + } + + var newNode = updateNode( + node, + ownerID, + shift + SHIFT, + keyHash, + key, + value, + didChangeSize, + didAlter + ); + if (newNode === node) { + return this; + } + + var newCount = this.count; + if (!node) { + newCount++; + } else if (!newNode) { + newCount--; + if (newCount < MIN_HASH_ARRAY_MAP_SIZE) { + return packNodes(ownerID, nodes, newCount, idx); + } + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newNodes = setAt(nodes, idx, newNode, isEditable); + + if (isEditable) { + this.count = newCount; + this.nodes = newNodes; + return this; + } + + return new HashArrayMapNode(ownerID, newCount, newNodes); + }; + + var HashCollisionNode = function HashCollisionNode(ownerID, keyHash, entries) { + this.ownerID = ownerID; + this.keyHash = keyHash; + this.entries = entries; + }; + + HashCollisionNode.prototype.get = function get (shift, keyHash, key, notSetValue) { + var entries = this.entries; + for (var ii = 0, len = entries.length; ii < len; ii++) { + if (is(key, entries[ii][0])) { + return entries[ii][1]; + } + } + return notSetValue; + }; + + HashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + if (keyHash === undefined) { + keyHash = hash(key); + } + + var removed = value === NOT_SET; + + if (keyHash !== this.keyHash) { + if (removed) { + return this; + } + SetRef(didAlter); + SetRef(didChangeSize); + return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]); + } + + var entries = this.entries; + var idx = 0; + var len = entries.length; + for (; idx < len; idx++) { + if (is(key, entries[idx][0])) { + break; + } + } + var exists = idx < len; + + if (exists ? entries[idx][1] === value : removed) { + return this; + } + + SetRef(didAlter); + (removed || !exists) && SetRef(didChangeSize); + + if (removed && len === 2) { + return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]); + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newEntries = isEditable ? entries : arrCopy(entries); + + if (exists) { + if (removed) { + idx === len - 1 + ? newEntries.pop() + : (newEntries[idx] = newEntries.pop()); + } else { + newEntries[idx] = [key, value]; + } + } else { + newEntries.push([key, value]); + } + + if (isEditable) { + this.entries = newEntries; + return this; + } + + return new HashCollisionNode(ownerID, this.keyHash, newEntries); + }; + + var ValueNode = function ValueNode(ownerID, keyHash, entry) { + this.ownerID = ownerID; + this.keyHash = keyHash; + this.entry = entry; + }; + + ValueNode.prototype.get = function get (shift, keyHash, key, notSetValue) { + return is(key, this.entry[0]) ? this.entry[1] : notSetValue; + }; + + ValueNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + var removed = value === NOT_SET; + var keyMatch = is(key, this.entry[0]); + if (keyMatch ? value === this.entry[1] : removed) { + return this; + } + + SetRef(didAlter); + + if (removed) { + SetRef(didChangeSize); + return; // undefined + } + + if (keyMatch) { + if (ownerID && ownerID === this.ownerID) { + this.entry[1] = value; + return this; + } + return new ValueNode(ownerID, this.keyHash, [key, value]); + } + + SetRef(didChangeSize); + return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]); + }; + + // #pragma Iterators + + ArrayMapNode.prototype.iterate = HashCollisionNode.prototype.iterate = + function (fn, reverse) { + var entries = this.entries; + for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) { + if (fn(entries[reverse ? maxIndex - ii : ii]) === false) { + return false; + } + } + }; + + BitmapIndexedNode.prototype.iterate = HashArrayMapNode.prototype.iterate = + function (fn, reverse) { + var nodes = this.nodes; + for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) { + var node = nodes[reverse ? maxIndex - ii : ii]; + if (node && node.iterate(fn, reverse) === false) { + return false; + } + } + }; + + // eslint-disable-next-line no-unused-vars + ValueNode.prototype.iterate = function (fn, reverse) { + return fn(this.entry); + }; + + var MapIterator = /*@__PURE__*/(function (Iterator) { + function MapIterator(map, type, reverse) { + this._type = type; + this._reverse = reverse; + this._stack = map._root && mapIteratorFrame(map._root); + } + + if ( Iterator ) MapIterator.__proto__ = Iterator; + MapIterator.prototype = Object.create( Iterator && Iterator.prototype ); + MapIterator.prototype.constructor = MapIterator; + + MapIterator.prototype.next = function next () { + var type = this._type; + var stack = this._stack; + while (stack) { + var node = stack.node; + var index = stack.index++; + var maxIndex = (void 0); + if (node.entry) { + if (index === 0) { + return mapIteratorValue(type, node.entry); + } + } else if (node.entries) { + maxIndex = node.entries.length - 1; + if (index <= maxIndex) { + return mapIteratorValue( + type, + node.entries[this._reverse ? maxIndex - index : index] + ); + } + } else { + maxIndex = node.nodes.length - 1; + if (index <= maxIndex) { + var subNode = node.nodes[this._reverse ? maxIndex - index : index]; + if (subNode) { + if (subNode.entry) { + return mapIteratorValue(type, subNode.entry); + } + stack = this._stack = mapIteratorFrame(subNode, stack); + } + continue; + } + } + stack = this._stack = this._stack.__prev; + } + return iteratorDone(); + }; + + return MapIterator; + }(Iterator)); + + function mapIteratorValue(type, entry) { + return iteratorValue(type, entry[0], entry[1]); + } + + function mapIteratorFrame(node, prev) { + return { + node: node, + index: 0, + __prev: prev, + }; + } + + function makeMap(size, root, ownerID, hash) { + var map = Object.create(MapPrototype); + map.size = size; + map._root = root; + map.__ownerID = ownerID; + map.__hash = hash; + map.__altered = false; + return map; + } + + var EMPTY_MAP; + function emptyMap() { + return EMPTY_MAP || (EMPTY_MAP = makeMap(0)); + } + + function updateMap(map, k, v) { + var newRoot; + var newSize; + if (!map._root) { + if (v === NOT_SET) { + return map; + } + newSize = 1; + newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]); + } else { + var didChangeSize = MakeRef(); + var didAlter = MakeRef(); + newRoot = updateNode( + map._root, + map.__ownerID, + 0, + undefined, + k, + v, + didChangeSize, + didAlter + ); + if (!didAlter.value) { + return map; + } + newSize = map.size + (didChangeSize.value ? (v === NOT_SET ? -1 : 1) : 0); + } + if (map.__ownerID) { + map.size = newSize; + map._root = newRoot; + map.__hash = undefined; + map.__altered = true; + return map; + } + return newRoot ? makeMap(newSize, newRoot) : emptyMap(); + } + + function updateNode( + node, + ownerID, + shift, + keyHash, + key, + value, + didChangeSize, + didAlter + ) { + if (!node) { + if (value === NOT_SET) { + return node; + } + SetRef(didAlter); + SetRef(didChangeSize); + return new ValueNode(ownerID, keyHash, [key, value]); + } + return node.update( + ownerID, + shift, + keyHash, + key, + value, + didChangeSize, + didAlter + ); + } + + function isLeafNode(node) { + return ( + node.constructor === ValueNode || node.constructor === HashCollisionNode + ); + } + + function mergeIntoNode(node, ownerID, shift, keyHash, entry) { + if (node.keyHash === keyHash) { + return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]); + } + + var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK; + var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + + var newNode; + var nodes = + idx1 === idx2 + ? [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] + : ((newNode = new ValueNode(ownerID, keyHash, entry)), + idx1 < idx2 ? [node, newNode] : [newNode, node]); + + return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes); + } + + function createNodes(ownerID, entries, key, value) { + if (!ownerID) { + ownerID = new OwnerID(); + } + var node = new ValueNode(ownerID, hash(key), [key, value]); + for (var ii = 0; ii < entries.length; ii++) { + var entry = entries[ii]; + node = node.update(ownerID, 0, undefined, entry[0], entry[1]); + } + return node; + } + + function packNodes(ownerID, nodes, count, excluding) { + var bitmap = 0; + var packedII = 0; + var packedNodes = new Array(count); + for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) { + var node = nodes[ii]; + if (node !== undefined && ii !== excluding) { + bitmap |= bit; + packedNodes[packedII++] = node; + } + } + return new BitmapIndexedNode(ownerID, bitmap, packedNodes); + } + + function expandNodes(ownerID, nodes, bitmap, including, node) { + var count = 0; + var expandedNodes = new Array(SIZE); + for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) { + expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined; + } + expandedNodes[including] = node; + return new HashArrayMapNode(ownerID, count + 1, expandedNodes); + } + + function popCount(x) { + x -= (x >> 1) & 0x55555555; + x = (x & 0x33333333) + ((x >> 2) & 0x33333333); + x = (x + (x >> 4)) & 0x0f0f0f0f; + x += x >> 8; + x += x >> 16; + return x & 0x7f; + } + + function setAt(array, idx, val, canEdit) { + var newArray = canEdit ? array : arrCopy(array); + newArray[idx] = val; + return newArray; + } + + function spliceIn(array, idx, val, canEdit) { + var newLen = array.length + 1; + if (canEdit && idx + 1 === newLen) { + array[idx] = val; + return array; + } + var newArray = new Array(newLen); + var after = 0; + for (var ii = 0; ii < newLen; ii++) { + if (ii === idx) { + newArray[ii] = val; + after = -1; + } else { + newArray[ii] = array[ii + after]; + } + } + return newArray; + } + + function spliceOut(array, idx, canEdit) { + var newLen = array.length - 1; + if (canEdit && idx === newLen) { + array.pop(); + return array; + } + var newArray = new Array(newLen); + var after = 0; + for (var ii = 0; ii < newLen; ii++) { + if (ii === idx) { + after = 1; + } + newArray[ii] = array[ii + after]; + } + return newArray; + } + + var MAX_ARRAY_MAP_SIZE = SIZE / 4; + var MAX_BITMAP_INDEXED_SIZE = SIZE / 2; + var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4; + + var IS_LIST_SYMBOL = '@@__IMMUTABLE_LIST__@@'; + + function isList(maybeList) { + return Boolean(maybeList && maybeList[IS_LIST_SYMBOL]); + } + + var List = /*@__PURE__*/(function (IndexedCollection) { + function List(value) { + var empty = emptyList(); + if (value === undefined || value === null) { + return empty; + } + if (isList(value)) { + return value; + } + var iter = IndexedCollection(value); + var size = iter.size; + if (size === 0) { + return empty; + } + assertNotInfinite(size); + if (size > 0 && size < SIZE) { + return makeList(0, size, SHIFT, null, new VNode(iter.toArray())); + } + return empty.withMutations(function (list) { + list.setSize(size); + iter.forEach(function (v, i) { return list.set(i, v); }); + }); + } + + if ( IndexedCollection ) List.__proto__ = IndexedCollection; + List.prototype = Object.create( IndexedCollection && IndexedCollection.prototype ); + List.prototype.constructor = List; + + List.of = function of (/*...values*/) { + return this(arguments); + }; + + List.prototype.toString = function toString () { + return this.__toString('List [', ']'); + }; + + // @pragma Access + + List.prototype.get = function get (index, notSetValue) { + index = wrapIndex(this, index); + if (index >= 0 && index < this.size) { + index += this._origin; + var node = listNodeFor(this, index); + return node && node.array[index & MASK]; + } + return notSetValue; + }; + + // @pragma Modification + + List.prototype.set = function set (index, value) { + return updateList(this, index, value); + }; + + List.prototype.remove = function remove (index) { + return !this.has(index) + ? this + : index === 0 + ? this.shift() + : index === this.size - 1 + ? this.pop() + : this.splice(index, 1); + }; + + List.prototype.insert = function insert (index, value) { + return this.splice(index, 0, value); + }; + + List.prototype.clear = function clear () { + if (this.size === 0) { + return this; + } + if (this.__ownerID) { + this.size = this._origin = this._capacity = 0; + this._level = SHIFT; + this._root = this._tail = this.__hash = undefined; + this.__altered = true; + return this; + } + return emptyList(); + }; + + List.prototype.push = function push (/*...values*/) { + var values = arguments; + var oldSize = this.size; + return this.withMutations(function (list) { + setListBounds(list, 0, oldSize + values.length); + for (var ii = 0; ii < values.length; ii++) { + list.set(oldSize + ii, values[ii]); + } + }); + }; + + List.prototype.pop = function pop () { + return setListBounds(this, 0, -1); + }; + + List.prototype.unshift = function unshift (/*...values*/) { + var values = arguments; + return this.withMutations(function (list) { + setListBounds(list, -values.length); + for (var ii = 0; ii < values.length; ii++) { + list.set(ii, values[ii]); + } + }); + }; + + List.prototype.shift = function shift () { + return setListBounds(this, 1); + }; + + // @pragma Composition + + List.prototype.concat = function concat (/*...collections*/) { + var arguments$1 = arguments; + + var seqs = []; + for (var i = 0; i < arguments.length; i++) { + var argument = arguments$1[i]; + var seq = IndexedCollection( + typeof argument !== 'string' && hasIterator(argument) + ? argument + : [argument] + ); + if (seq.size !== 0) { + seqs.push(seq); + } + } + if (seqs.length === 0) { + return this; + } + if (this.size === 0 && !this.__ownerID && seqs.length === 1) { + return this.constructor(seqs[0]); + } + return this.withMutations(function (list) { + seqs.forEach(function (seq) { return seq.forEach(function (value) { return list.push(value); }); }); + }); + }; + + List.prototype.setSize = function setSize (size) { + return setListBounds(this, 0, size); + }; + + List.prototype.map = function map (mapper, context) { + var this$1$1 = this; + + return this.withMutations(function (list) { + for (var i = 0; i < this$1$1.size; i++) { + list.set(i, mapper.call(context, list.get(i), i, this$1$1)); + } + }); + }; + + // @pragma Iteration + + List.prototype.slice = function slice (begin, end) { + var size = this.size; + if (wholeSlice(begin, end, size)) { + return this; + } + return setListBounds( + this, + resolveBegin(begin, size), + resolveEnd(end, size) + ); + }; + + List.prototype.__iterator = function __iterator (type, reverse) { + var index = reverse ? this.size : 0; + var values = iterateList(this, reverse); + return new Iterator(function () { + var value = values(); + return value === DONE + ? iteratorDone() + : iteratorValue(type, reverse ? --index : index++, value); + }); + }; + + List.prototype.__iterate = function __iterate (fn, reverse) { + var index = reverse ? this.size : 0; + var values = iterateList(this, reverse); + var value; + while ((value = values()) !== DONE) { + if (fn(value, reverse ? --index : index++, this) === false) { + break; + } + } + return index; + }; + + List.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + if (!ownerID) { + if (this.size === 0) { + return emptyList(); + } + this.__ownerID = ownerID; + this.__altered = false; + return this; + } + return makeList( + this._origin, + this._capacity, + this._level, + this._root, + this._tail, + ownerID, + this.__hash + ); + }; + + return List; + }(IndexedCollection)); + + List.isList = isList; + + var ListPrototype = List.prototype; + ListPrototype[IS_LIST_SYMBOL] = true; + ListPrototype[DELETE] = ListPrototype.remove; + ListPrototype.merge = ListPrototype.concat; + ListPrototype.setIn = setIn; + ListPrototype.deleteIn = ListPrototype.removeIn = deleteIn; + ListPrototype.update = update; + ListPrototype.updateIn = updateIn; + ListPrototype.mergeIn = mergeIn; + ListPrototype.mergeDeepIn = mergeDeepIn; + ListPrototype.withMutations = withMutations; + ListPrototype.wasAltered = wasAltered; + ListPrototype.asImmutable = asImmutable; + ListPrototype['@@transducer/init'] = ListPrototype.asMutable = asMutable; + ListPrototype['@@transducer/step'] = function (result, arr) { + return result.push(arr); + }; + ListPrototype['@@transducer/result'] = function (obj) { + return obj.asImmutable(); + }; + + var VNode = function VNode(array, ownerID) { + this.array = array; + this.ownerID = ownerID; + }; + + // TODO: seems like these methods are very similar + + VNode.prototype.removeBefore = function removeBefore (ownerID, level, index) { + if (index === level ? 1 << level : this.array.length === 0) { + return this; + } + var originIndex = (index >>> level) & MASK; + if (originIndex >= this.array.length) { + return new VNode([], ownerID); + } + var removingFirst = originIndex === 0; + var newChild; + if (level > 0) { + var oldChild = this.array[originIndex]; + newChild = + oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index); + if (newChild === oldChild && removingFirst) { + return this; + } + } + if (removingFirst && !newChild) { + return this; + } + var editable = editableVNode(this, ownerID); + if (!removingFirst) { + for (var ii = 0; ii < originIndex; ii++) { + editable.array[ii] = undefined; + } + } + if (newChild) { + editable.array[originIndex] = newChild; + } + return editable; + }; + + VNode.prototype.removeAfter = function removeAfter (ownerID, level, index) { + if (index === (level ? 1 << level : 0) || this.array.length === 0) { + return this; + } + var sizeIndex = ((index - 1) >>> level) & MASK; + if (sizeIndex >= this.array.length) { + return this; + } + + var newChild; + if (level > 0) { + var oldChild = this.array[sizeIndex]; + newChild = + oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index); + if (newChild === oldChild && sizeIndex === this.array.length - 1) { + return this; + } + } + + var editable = editableVNode(this, ownerID); + editable.array.splice(sizeIndex + 1); + if (newChild) { + editable.array[sizeIndex] = newChild; + } + return editable; + }; + + var DONE = {}; + + function iterateList(list, reverse) { + var left = list._origin; + var right = list._capacity; + var tailPos = getTailOffset(right); + var tail = list._tail; + + return iterateNodeOrLeaf(list._root, list._level, 0); + + function iterateNodeOrLeaf(node, level, offset) { + return level === 0 + ? iterateLeaf(node, offset) + : iterateNode(node, level, offset); + } + + function iterateLeaf(node, offset) { + var array = offset === tailPos ? tail && tail.array : node && node.array; + var from = offset > left ? 0 : left - offset; + var to = right - offset; + if (to > SIZE) { + to = SIZE; + } + return function () { + if (from === to) { + return DONE; + } + var idx = reverse ? --to : from++; + return array && array[idx]; + }; + } + + function iterateNode(node, level, offset) { + var values; + var array = node && node.array; + var from = offset > left ? 0 : (left - offset) >> level; + var to = ((right - offset) >> level) + 1; + if (to > SIZE) { + to = SIZE; + } + return function () { + while (true) { + if (values) { + var value = values(); + if (value !== DONE) { + return value; + } + values = null; + } + if (from === to) { + return DONE; + } + var idx = reverse ? --to : from++; + values = iterateNodeOrLeaf( + array && array[idx], + level - SHIFT, + offset + (idx << level) + ); + } + }; + } + } + + function makeList(origin, capacity, level, root, tail, ownerID, hash) { + var list = Object.create(ListPrototype); + list.size = capacity - origin; + list._origin = origin; + list._capacity = capacity; + list._level = level; + list._root = root; + list._tail = tail; + list.__ownerID = ownerID; + list.__hash = hash; + list.__altered = false; + return list; + } + + var EMPTY_LIST; + function emptyList() { + return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT)); + } + + function updateList(list, index, value) { + index = wrapIndex(list, index); + + if (index !== index) { + return list; + } + + if (index >= list.size || index < 0) { + return list.withMutations(function (list) { + index < 0 + ? setListBounds(list, index).set(0, value) + : setListBounds(list, 0, index + 1).set(index, value); + }); + } + + index += list._origin; + + var newTail = list._tail; + var newRoot = list._root; + var didAlter = MakeRef(); + if (index >= getTailOffset(list._capacity)) { + newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter); + } else { + newRoot = updateVNode( + newRoot, + list.__ownerID, + list._level, + index, + value, + didAlter + ); + } + + if (!didAlter.value) { + return list; + } + + if (list.__ownerID) { + list._root = newRoot; + list._tail = newTail; + list.__hash = undefined; + list.__altered = true; + return list; + } + return makeList(list._origin, list._capacity, list._level, newRoot, newTail); + } + + function updateVNode(node, ownerID, level, index, value, didAlter) { + var idx = (index >>> level) & MASK; + var nodeHas = node && idx < node.array.length; + if (!nodeHas && value === undefined) { + return node; + } + + var newNode; + + if (level > 0) { + var lowerNode = node && node.array[idx]; + var newLowerNode = updateVNode( + lowerNode, + ownerID, + level - SHIFT, + index, + value, + didAlter + ); + if (newLowerNode === lowerNode) { + return node; + } + newNode = editableVNode(node, ownerID); + newNode.array[idx] = newLowerNode; + return newNode; + } + + if (nodeHas && node.array[idx] === value) { + return node; + } + + if (didAlter) { + SetRef(didAlter); + } + + newNode = editableVNode(node, ownerID); + if (value === undefined && idx === newNode.array.length - 1) { + newNode.array.pop(); + } else { + newNode.array[idx] = value; + } + return newNode; + } + + function editableVNode(node, ownerID) { + if (ownerID && node && ownerID === node.ownerID) { + return node; + } + return new VNode(node ? node.array.slice() : [], ownerID); + } + + function listNodeFor(list, rawIndex) { + if (rawIndex >= getTailOffset(list._capacity)) { + return list._tail; + } + if (rawIndex < 1 << (list._level + SHIFT)) { + var node = list._root; + var level = list._level; + while (node && level > 0) { + node = node.array[(rawIndex >>> level) & MASK]; + level -= SHIFT; + } + return node; + } + } + + function setListBounds(list, begin, end) { + // Sanitize begin & end using this shorthand for ToInt32(argument) + // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32 + if (begin !== undefined) { + begin |= 0; + } + if (end !== undefined) { + end |= 0; + } + var owner = list.__ownerID || new OwnerID(); + var oldOrigin = list._origin; + var oldCapacity = list._capacity; + var newOrigin = oldOrigin + begin; + var newCapacity = + end === undefined + ? oldCapacity + : end < 0 + ? oldCapacity + end + : oldOrigin + end; + if (newOrigin === oldOrigin && newCapacity === oldCapacity) { + return list; + } + + // If it's going to end after it starts, it's empty. + if (newOrigin >= newCapacity) { + return list.clear(); + } + + var newLevel = list._level; + var newRoot = list._root; + + // New origin might need creating a higher root. + var offsetShift = 0; + while (newOrigin + offsetShift < 0) { + newRoot = new VNode( + newRoot && newRoot.array.length ? [undefined, newRoot] : [], + owner + ); + newLevel += SHIFT; + offsetShift += 1 << newLevel; + } + if (offsetShift) { + newOrigin += offsetShift; + oldOrigin += offsetShift; + newCapacity += offsetShift; + oldCapacity += offsetShift; + } + + var oldTailOffset = getTailOffset(oldCapacity); + var newTailOffset = getTailOffset(newCapacity); + + // New size might need creating a higher root. + while (newTailOffset >= 1 << (newLevel + SHIFT)) { + newRoot = new VNode( + newRoot && newRoot.array.length ? [newRoot] : [], + owner + ); + newLevel += SHIFT; + } + + // Locate or create the new tail. + var oldTail = list._tail; + var newTail = + newTailOffset < oldTailOffset + ? listNodeFor(list, newCapacity - 1) + : newTailOffset > oldTailOffset + ? new VNode([], owner) + : oldTail; + + // Merge Tail into tree. + if ( + oldTail && + newTailOffset > oldTailOffset && + newOrigin < oldCapacity && + oldTail.array.length + ) { + newRoot = editableVNode(newRoot, owner); + var node = newRoot; + for (var level = newLevel; level > SHIFT; level -= SHIFT) { + var idx = (oldTailOffset >>> level) & MASK; + node = node.array[idx] = editableVNode(node.array[idx], owner); + } + node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail; + } + + // If the size has been reduced, there's a chance the tail needs to be trimmed. + if (newCapacity < oldCapacity) { + newTail = newTail && newTail.removeAfter(owner, 0, newCapacity); + } + + // If the new origin is within the tail, then we do not need a root. + if (newOrigin >= newTailOffset) { + newOrigin -= newTailOffset; + newCapacity -= newTailOffset; + newLevel = SHIFT; + newRoot = null; + newTail = newTail && newTail.removeBefore(owner, 0, newOrigin); + + // Otherwise, if the root has been trimmed, garbage collect. + } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) { + offsetShift = 0; + + // Identify the new top root node of the subtree of the old root. + while (newRoot) { + var beginIndex = (newOrigin >>> newLevel) & MASK; + if ((beginIndex !== newTailOffset >>> newLevel) & MASK) { + break; + } + if (beginIndex) { + offsetShift += (1 << newLevel) * beginIndex; + } + newLevel -= SHIFT; + newRoot = newRoot.array[beginIndex]; + } + + // Trim the new sides of the new root. + if (newRoot && newOrigin > oldOrigin) { + newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift); + } + if (newRoot && newTailOffset < oldTailOffset) { + newRoot = newRoot.removeAfter( + owner, + newLevel, + newTailOffset - offsetShift + ); + } + if (offsetShift) { + newOrigin -= offsetShift; + newCapacity -= offsetShift; + } + } + + if (list.__ownerID) { + list.size = newCapacity - newOrigin; + list._origin = newOrigin; + list._capacity = newCapacity; + list._level = newLevel; + list._root = newRoot; + list._tail = newTail; + list.__hash = undefined; + list.__altered = true; + return list; + } + return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail); + } + + function getTailOffset(size) { + return size < SIZE ? 0 : ((size - 1) >>> SHIFT) << SHIFT; + } + + var OrderedMap = /*@__PURE__*/(function (Map) { + function OrderedMap(value) { + return value === undefined || value === null + ? emptyOrderedMap() + : isOrderedMap(value) + ? value + : emptyOrderedMap().withMutations(function (map) { + var iter = KeyedCollection(value); + assertNotInfinite(iter.size); + iter.forEach(function (v, k) { return map.set(k, v); }); + }); + } + + if ( Map ) OrderedMap.__proto__ = Map; + OrderedMap.prototype = Object.create( Map && Map.prototype ); + OrderedMap.prototype.constructor = OrderedMap; + + OrderedMap.of = function of (/*...values*/) { + return this(arguments); + }; + + OrderedMap.prototype.toString = function toString () { + return this.__toString('OrderedMap {', '}'); + }; + + // @pragma Access + + OrderedMap.prototype.get = function get (k, notSetValue) { + var index = this._map.get(k); + return index !== undefined ? this._list.get(index)[1] : notSetValue; + }; + + // @pragma Modification + + OrderedMap.prototype.clear = function clear () { + if (this.size === 0) { + return this; + } + if (this.__ownerID) { + this.size = 0; + this._map.clear(); + this._list.clear(); + this.__altered = true; + return this; + } + return emptyOrderedMap(); + }; + + OrderedMap.prototype.set = function set (k, v) { + return updateOrderedMap(this, k, v); + }; + + OrderedMap.prototype.remove = function remove (k) { + return updateOrderedMap(this, k, NOT_SET); + }; + + OrderedMap.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + return this._list.__iterate( + function (entry) { return entry && fn(entry[1], entry[0], this$1$1); }, + reverse + ); + }; + + OrderedMap.prototype.__iterator = function __iterator (type, reverse) { + return this._list.fromEntrySeq().__iterator(type, reverse); + }; + + OrderedMap.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + var newMap = this._map.__ensureOwner(ownerID); + var newList = this._list.__ensureOwner(ownerID); + if (!ownerID) { + if (this.size === 0) { + return emptyOrderedMap(); + } + this.__ownerID = ownerID; + this.__altered = false; + this._map = newMap; + this._list = newList; + return this; + } + return makeOrderedMap(newMap, newList, ownerID, this.__hash); + }; + + return OrderedMap; + }(Map)); + + OrderedMap.isOrderedMap = isOrderedMap; + + OrderedMap.prototype[IS_ORDERED_SYMBOL] = true; + OrderedMap.prototype[DELETE] = OrderedMap.prototype.remove; + + function makeOrderedMap(map, list, ownerID, hash) { + var omap = Object.create(OrderedMap.prototype); + omap.size = map ? map.size : 0; + omap._map = map; + omap._list = list; + omap.__ownerID = ownerID; + omap.__hash = hash; + omap.__altered = false; + return omap; + } + + var EMPTY_ORDERED_MAP; + function emptyOrderedMap() { + return ( + EMPTY_ORDERED_MAP || + (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList())) + ); + } + + function updateOrderedMap(omap, k, v) { + var map = omap._map; + var list = omap._list; + var i = map.get(k); + var has = i !== undefined; + var newMap; + var newList; + if (v === NOT_SET) { + // removed + if (!has) { + return omap; + } + if (list.size >= SIZE && list.size >= map.size * 2) { + newList = list.filter(function (entry, idx) { return entry !== undefined && i !== idx; }); + newMap = newList + .toKeyedSeq() + .map(function (entry) { return entry[0]; }) + .flip() + .toMap(); + if (omap.__ownerID) { + newMap.__ownerID = newList.__ownerID = omap.__ownerID; + } + } else { + newMap = map.remove(k); + newList = i === list.size - 1 ? list.pop() : list.set(i, undefined); + } + } else if (has) { + if (v === list.get(i)[1]) { + return omap; + } + newMap = map; + newList = list.set(i, [k, v]); + } else { + newMap = map.set(k, list.size); + newList = list.set(list.size, [k, v]); + } + if (omap.__ownerID) { + omap.size = newMap.size; + omap._map = newMap; + omap._list = newList; + omap.__hash = undefined; + omap.__altered = true; + return omap; + } + return makeOrderedMap(newMap, newList); + } + + var IS_STACK_SYMBOL = '@@__IMMUTABLE_STACK__@@'; + + function isStack(maybeStack) { + return Boolean(maybeStack && maybeStack[IS_STACK_SYMBOL]); + } + + var Stack = /*@__PURE__*/(function (IndexedCollection) { + function Stack(value) { + return value === undefined || value === null + ? emptyStack() + : isStack(value) + ? value + : emptyStack().pushAll(value); + } + + if ( IndexedCollection ) Stack.__proto__ = IndexedCollection; + Stack.prototype = Object.create( IndexedCollection && IndexedCollection.prototype ); + Stack.prototype.constructor = Stack; + + Stack.of = function of (/*...values*/) { + return this(arguments); + }; + + Stack.prototype.toString = function toString () { + return this.__toString('Stack [', ']'); + }; + + // @pragma Access + + Stack.prototype.get = function get (index, notSetValue) { + var head = this._head; + index = wrapIndex(this, index); + while (head && index--) { + head = head.next; + } + return head ? head.value : notSetValue; + }; + + Stack.prototype.peek = function peek () { + return this._head && this._head.value; + }; + + // @pragma Modification + + Stack.prototype.push = function push (/*...values*/) { + var arguments$1 = arguments; + + if (arguments.length === 0) { + return this; + } + var newSize = this.size + arguments.length; + var head = this._head; + for (var ii = arguments.length - 1; ii >= 0; ii--) { + head = { + value: arguments$1[ii], + next: head, + }; + } + if (this.__ownerID) { + this.size = newSize; + this._head = head; + this.__hash = undefined; + this.__altered = true; + return this; + } + return makeStack(newSize, head); + }; + + Stack.prototype.pushAll = function pushAll (iter) { + iter = IndexedCollection(iter); + if (iter.size === 0) { + return this; + } + if (this.size === 0 && isStack(iter)) { + return iter; + } + assertNotInfinite(iter.size); + var newSize = this.size; + var head = this._head; + iter.__iterate(function (value) { + newSize++; + head = { + value: value, + next: head, + }; + }, /* reverse */ true); + if (this.__ownerID) { + this.size = newSize; + this._head = head; + this.__hash = undefined; + this.__altered = true; + return this; + } + return makeStack(newSize, head); + }; + + Stack.prototype.pop = function pop () { + return this.slice(1); + }; + + Stack.prototype.clear = function clear () { + if (this.size === 0) { + return this; + } + if (this.__ownerID) { + this.size = 0; + this._head = undefined; + this.__hash = undefined; + this.__altered = true; + return this; + } + return emptyStack(); + }; + + Stack.prototype.slice = function slice (begin, end) { + if (wholeSlice(begin, end, this.size)) { + return this; + } + var resolvedBegin = resolveBegin(begin, this.size); + var resolvedEnd = resolveEnd(end, this.size); + if (resolvedEnd !== this.size) { + // super.slice(begin, end); + return IndexedCollection.prototype.slice.call(this, begin, end); + } + var newSize = this.size - resolvedBegin; + var head = this._head; + while (resolvedBegin--) { + head = head.next; + } + if (this.__ownerID) { + this.size = newSize; + this._head = head; + this.__hash = undefined; + this.__altered = true; + return this; + } + return makeStack(newSize, head); + }; + + // @pragma Mutability + + Stack.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + if (!ownerID) { + if (this.size === 0) { + return emptyStack(); + } + this.__ownerID = ownerID; + this.__altered = false; + return this; + } + return makeStack(this.size, this._head, ownerID, this.__hash); + }; + + // @pragma Iteration + + Stack.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + if (reverse) { + return new ArraySeq(this.toArray()).__iterate( + function (v, k) { return fn(v, k, this$1$1); }, + reverse + ); + } + var iterations = 0; + var node = this._head; + while (node) { + if (fn(node.value, iterations++, this) === false) { + break; + } + node = node.next; + } + return iterations; + }; + + Stack.prototype.__iterator = function __iterator (type, reverse) { + if (reverse) { + return new ArraySeq(this.toArray()).__iterator(type, reverse); + } + var iterations = 0; + var node = this._head; + return new Iterator(function () { + if (node) { + var value = node.value; + node = node.next; + return iteratorValue(type, iterations++, value); + } + return iteratorDone(); + }); + }; + + return Stack; + }(IndexedCollection)); + + Stack.isStack = isStack; + + var StackPrototype = Stack.prototype; + StackPrototype[IS_STACK_SYMBOL] = true; + StackPrototype.shift = StackPrototype.pop; + StackPrototype.unshift = StackPrototype.push; + StackPrototype.unshiftAll = StackPrototype.pushAll; + StackPrototype.withMutations = withMutations; + StackPrototype.wasAltered = wasAltered; + StackPrototype.asImmutable = asImmutable; + StackPrototype['@@transducer/init'] = StackPrototype.asMutable = asMutable; + StackPrototype['@@transducer/step'] = function (result, arr) { + return result.unshift(arr); + }; + StackPrototype['@@transducer/result'] = function (obj) { + return obj.asImmutable(); + }; + + function makeStack(size, head, ownerID, hash) { + var map = Object.create(StackPrototype); + map.size = size; + map._head = head; + map.__ownerID = ownerID; + map.__hash = hash; + map.__altered = false; + return map; + } + + var EMPTY_STACK; + function emptyStack() { + return EMPTY_STACK || (EMPTY_STACK = makeStack(0)); + } + + var IS_SET_SYMBOL = '@@__IMMUTABLE_SET__@@'; + + function isSet(maybeSet) { + return Boolean(maybeSet && maybeSet[IS_SET_SYMBOL]); + } + + function isOrderedSet(maybeOrderedSet) { + return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet); + } + + function deepEqual(a, b) { + if (a === b) { + return true; + } + + if ( + !isCollection(b) || + (a.size !== undefined && b.size !== undefined && a.size !== b.size) || + (a.__hash !== undefined && + b.__hash !== undefined && + a.__hash !== b.__hash) || + isKeyed(a) !== isKeyed(b) || + isIndexed(a) !== isIndexed(b) || + isOrdered(a) !== isOrdered(b) + ) { + return false; + } + + if (a.size === 0 && b.size === 0) { + return true; + } + + var notAssociative = !isAssociative(a); + + if (isOrdered(a)) { + var entries = a.entries(); + return ( + b.every(function (v, k) { + var entry = entries.next().value; + return entry && is(entry[1], v) && (notAssociative || is(entry[0], k)); + }) && entries.next().done + ); + } + + var flipped = false; + + if (a.size === undefined) { + if (b.size === undefined) { + if (typeof a.cacheResult === 'function') { + a.cacheResult(); + } + } else { + flipped = true; + var _ = a; + a = b; + b = _; + } + } + + var allEqual = true; + var bSize = b.__iterate(function (v, k) { + if ( + notAssociative + ? !a.has(v) + : flipped + ? !is(v, a.get(k, NOT_SET)) + : !is(a.get(k, NOT_SET), v) + ) { + allEqual = false; + return false; + } + }); + + return allEqual && a.size === bSize; + } + + function mixin(ctor, methods) { + var keyCopier = function (key) { + ctor.prototype[key] = methods[key]; + }; + Object.keys(methods).forEach(keyCopier); + Object.getOwnPropertySymbols && + Object.getOwnPropertySymbols(methods).forEach(keyCopier); + return ctor; + } + + function toJS(value) { + if (!value || typeof value !== 'object') { + return value; + } + if (!isCollection(value)) { + if (!isDataStructure(value)) { + return value; + } + value = Seq(value); + } + if (isKeyed(value)) { + var result$1 = {}; + value.__iterate(function (v, k) { + result$1[k] = toJS(v); + }); + return result$1; + } + var result = []; + value.__iterate(function (v) { + result.push(toJS(v)); + }); + return result; + } + + var Set = /*@__PURE__*/(function (SetCollection) { + function Set(value) { + return value === undefined || value === null + ? emptySet() + : isSet(value) && !isOrdered(value) + ? value + : emptySet().withMutations(function (set) { + var iter = SetCollection(value); + assertNotInfinite(iter.size); + iter.forEach(function (v) { return set.add(v); }); + }); + } + + if ( SetCollection ) Set.__proto__ = SetCollection; + Set.prototype = Object.create( SetCollection && SetCollection.prototype ); + Set.prototype.constructor = Set; + + Set.of = function of (/*...values*/) { + return this(arguments); + }; + + Set.fromKeys = function fromKeys (value) { + return this(KeyedCollection(value).keySeq()); + }; + + Set.intersect = function intersect (sets) { + sets = Collection(sets).toArray(); + return sets.length + ? SetPrototype.intersect.apply(Set(sets.pop()), sets) + : emptySet(); + }; + + Set.union = function union (sets) { + sets = Collection(sets).toArray(); + return sets.length + ? SetPrototype.union.apply(Set(sets.pop()), sets) + : emptySet(); + }; + + Set.prototype.toString = function toString () { + return this.__toString('Set {', '}'); + }; + + // @pragma Access + + Set.prototype.has = function has (value) { + return this._map.has(value); + }; + + // @pragma Modification + + Set.prototype.add = function add (value) { + return updateSet(this, this._map.set(value, value)); + }; + + Set.prototype.remove = function remove (value) { + return updateSet(this, this._map.remove(value)); + }; + + Set.prototype.clear = function clear () { + return updateSet(this, this._map.clear()); + }; + + // @pragma Composition + + Set.prototype.map = function map (mapper, context) { + var this$1$1 = this; + + // keep track if the set is altered by the map function + var didChanges = false; + + var newMap = updateSet( + this, + this._map.mapEntries(function (ref) { + var v = ref[1]; + + var mapped = mapper.call(context, v, v, this$1$1); + + if (mapped !== v) { + didChanges = true; + } + + return [mapped, mapped]; + }, context) + ); + + return didChanges ? newMap : this; + }; + + Set.prototype.union = function union () { + var iters = [], len = arguments.length; + while ( len-- ) iters[ len ] = arguments[ len ]; + + iters = iters.filter(function (x) { return x.size !== 0; }); + if (iters.length === 0) { + return this; + } + if (this.size === 0 && !this.__ownerID && iters.length === 1) { + return this.constructor(iters[0]); + } + return this.withMutations(function (set) { + for (var ii = 0; ii < iters.length; ii++) { + if (typeof iters[ii] === 'string') { + set.add(iters[ii]); + } else { + SetCollection(iters[ii]).forEach(function (value) { return set.add(value); }); + } + } + }); + }; + + Set.prototype.intersect = function intersect () { + var iters = [], len = arguments.length; + while ( len-- ) iters[ len ] = arguments[ len ]; + + if (iters.length === 0) { + return this; + } + iters = iters.map(function (iter) { return SetCollection(iter); }); + var toRemove = []; + this.forEach(function (value) { + if (!iters.every(function (iter) { return iter.includes(value); })) { + toRemove.push(value); + } + }); + return this.withMutations(function (set) { + toRemove.forEach(function (value) { + set.remove(value); + }); + }); + }; + + Set.prototype.subtract = function subtract () { + var iters = [], len = arguments.length; + while ( len-- ) iters[ len ] = arguments[ len ]; + + if (iters.length === 0) { + return this; + } + iters = iters.map(function (iter) { return SetCollection(iter); }); + var toRemove = []; + this.forEach(function (value) { + if (iters.some(function (iter) { return iter.includes(value); })) { + toRemove.push(value); + } + }); + return this.withMutations(function (set) { + toRemove.forEach(function (value) { + set.remove(value); + }); + }); + }; + + Set.prototype.sort = function sort (comparator) { + // Late binding + return OrderedSet(sortFactory(this, comparator)); + }; + + Set.prototype.sortBy = function sortBy (mapper, comparator) { + // Late binding + return OrderedSet(sortFactory(this, comparator, mapper)); + }; + + Set.prototype.wasAltered = function wasAltered () { + return this._map.wasAltered(); + }; + + Set.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + return this._map.__iterate(function (k) { return fn(k, k, this$1$1); }, reverse); + }; + + Set.prototype.__iterator = function __iterator (type, reverse) { + return this._map.__iterator(type, reverse); + }; + + Set.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + var newMap = this._map.__ensureOwner(ownerID); + if (!ownerID) { + if (this.size === 0) { + return this.__empty(); + } + this.__ownerID = ownerID; + this._map = newMap; + return this; + } + return this.__make(newMap, ownerID); + }; + + return Set; + }(SetCollection)); + + Set.isSet = isSet; + + var SetPrototype = Set.prototype; + SetPrototype[IS_SET_SYMBOL] = true; + SetPrototype[DELETE] = SetPrototype.remove; + SetPrototype.merge = SetPrototype.concat = SetPrototype.union; + SetPrototype.withMutations = withMutations; + SetPrototype.asImmutable = asImmutable; + SetPrototype['@@transducer/init'] = SetPrototype.asMutable = asMutable; + SetPrototype['@@transducer/step'] = function (result, arr) { + return result.add(arr); + }; + SetPrototype['@@transducer/result'] = function (obj) { + return obj.asImmutable(); + }; + + SetPrototype.__empty = emptySet; + SetPrototype.__make = makeSet; + + function updateSet(set, newMap) { + if (set.__ownerID) { + set.size = newMap.size; + set._map = newMap; + return set; + } + return newMap === set._map + ? set + : newMap.size === 0 + ? set.__empty() + : set.__make(newMap); + } + + function makeSet(map, ownerID) { + var set = Object.create(SetPrototype); + set.size = map ? map.size : 0; + set._map = map; + set.__ownerID = ownerID; + return set; + } + + var EMPTY_SET; + function emptySet() { + return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap())); + } + + /** + * Returns a lazy seq of nums from start (inclusive) to end + * (exclusive), by step, where start defaults to 0, step to 1, and end to + * infinity. When start is equal to end, returns empty list. + */ + var Range = /*@__PURE__*/(function (IndexedSeq) { + function Range(start, end, step) { + if (!(this instanceof Range)) { + return new Range(start, end, step); + } + invariant(step !== 0, 'Cannot step a Range by 0'); + start = start || 0; + if (end === undefined) { + end = Infinity; + } + step = step === undefined ? 1 : Math.abs(step); + if (end < start) { + step = -step; + } + this._start = start; + this._end = end; + this._step = step; + this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1); + if (this.size === 0) { + if (EMPTY_RANGE) { + return EMPTY_RANGE; + } + EMPTY_RANGE = this; + } + } + + if ( IndexedSeq ) Range.__proto__ = IndexedSeq; + Range.prototype = Object.create( IndexedSeq && IndexedSeq.prototype ); + Range.prototype.constructor = Range; + + Range.prototype.toString = function toString () { + if (this.size === 0) { + return 'Range []'; + } + return ( + 'Range [ ' + + this._start + + '...' + + this._end + + (this._step !== 1 ? ' by ' + this._step : '') + + ' ]' + ); + }; + + Range.prototype.get = function get (index, notSetValue) { + return this.has(index) + ? this._start + wrapIndex(this, index) * this._step + : notSetValue; + }; + + Range.prototype.includes = function includes (searchValue) { + var possibleIndex = (searchValue - this._start) / this._step; + return ( + possibleIndex >= 0 && + possibleIndex < this.size && + possibleIndex === Math.floor(possibleIndex) + ); + }; + + Range.prototype.slice = function slice (begin, end) { + if (wholeSlice(begin, end, this.size)) { + return this; + } + begin = resolveBegin(begin, this.size); + end = resolveEnd(end, this.size); + if (end <= begin) { + return new Range(0, 0); + } + return new Range( + this.get(begin, this._end), + this.get(end, this._end), + this._step + ); + }; + + Range.prototype.indexOf = function indexOf (searchValue) { + var offsetValue = searchValue - this._start; + if (offsetValue % this._step === 0) { + var index = offsetValue / this._step; + if (index >= 0 && index < this.size) { + return index; + } + } + return -1; + }; + + Range.prototype.lastIndexOf = function lastIndexOf (searchValue) { + return this.indexOf(searchValue); + }; + + Range.prototype.__iterate = function __iterate (fn, reverse) { + var size = this.size; + var step = this._step; + var value = reverse ? this._start + (size - 1) * step : this._start; + var i = 0; + while (i !== size) { + if (fn(value, reverse ? size - ++i : i++, this) === false) { + break; + } + value += reverse ? -step : step; + } + return i; + }; + + Range.prototype.__iterator = function __iterator (type, reverse) { + var size = this.size; + var step = this._step; + var value = reverse ? this._start + (size - 1) * step : this._start; + var i = 0; + return new Iterator(function () { + if (i === size) { + return iteratorDone(); + } + var v = value; + value += reverse ? -step : step; + return iteratorValue(type, reverse ? size - ++i : i++, v); + }); + }; + + Range.prototype.equals = function equals (other) { + return other instanceof Range + ? this._start === other._start && + this._end === other._end && + this._step === other._step + : deepEqual(this, other); + }; + + return Range; + }(IndexedSeq)); + + var EMPTY_RANGE; + + function getIn$1(collection, searchKeyPath, notSetValue) { + var keyPath = coerceKeyPath(searchKeyPath); + var i = 0; + while (i !== keyPath.length) { + collection = get(collection, keyPath[i++], NOT_SET); + if (collection === NOT_SET) { + return notSetValue; + } + } + return collection; + } + + function getIn(searchKeyPath, notSetValue) { + return getIn$1(this, searchKeyPath, notSetValue); + } + + function hasIn$1(collection, keyPath) { + return getIn$1(collection, keyPath, NOT_SET) !== NOT_SET; + } + + function hasIn(searchKeyPath) { + return hasIn$1(this, searchKeyPath); + } + + function toObject() { + assertNotInfinite(this.size); + var object = {}; + this.__iterate(function (v, k) { + object[k] = v; + }); + return object; + } + + // Note: all of these methods are deprecated. + Collection.isIterable = isCollection; + Collection.isKeyed = isKeyed; + Collection.isIndexed = isIndexed; + Collection.isAssociative = isAssociative; + Collection.isOrdered = isOrdered; + + Collection.Iterator = Iterator; + + mixin(Collection, { + // ### Conversion to other types + + toArray: function toArray() { + assertNotInfinite(this.size); + var array = new Array(this.size || 0); + var useTuples = isKeyed(this); + var i = 0; + this.__iterate(function (v, k) { + // Keyed collections produce an array of tuples. + array[i++] = useTuples ? [k, v] : v; + }); + return array; + }, + + toIndexedSeq: function toIndexedSeq() { + return new ToIndexedSequence(this); + }, + + toJS: function toJS$1() { + return toJS(this); + }, + + toKeyedSeq: function toKeyedSeq() { + return new ToKeyedSequence(this, true); + }, + + toMap: function toMap() { + // Use Late Binding here to solve the circular dependency. + return Map(this.toKeyedSeq()); + }, + + toObject: toObject, + + toOrderedMap: function toOrderedMap() { + // Use Late Binding here to solve the circular dependency. + return OrderedMap(this.toKeyedSeq()); + }, + + toOrderedSet: function toOrderedSet() { + // Use Late Binding here to solve the circular dependency. + return OrderedSet(isKeyed(this) ? this.valueSeq() : this); + }, + + toSet: function toSet() { + // Use Late Binding here to solve the circular dependency. + return Set(isKeyed(this) ? this.valueSeq() : this); + }, + + toSetSeq: function toSetSeq() { + return new ToSetSequence(this); + }, + + toSeq: function toSeq() { + return isIndexed(this) + ? this.toIndexedSeq() + : isKeyed(this) + ? this.toKeyedSeq() + : this.toSetSeq(); + }, + + toStack: function toStack() { + // Use Late Binding here to solve the circular dependency. + return Stack(isKeyed(this) ? this.valueSeq() : this); + }, + + toList: function toList() { + // Use Late Binding here to solve the circular dependency. + return List(isKeyed(this) ? this.valueSeq() : this); + }, + + // ### Common JavaScript methods and properties + + toString: function toString() { + return '[Collection]'; + }, + + __toString: function __toString(head, tail) { + if (this.size === 0) { + return head + tail; + } + return ( + head + + ' ' + + this.toSeq().map(this.__toStringMapper).join(', ') + + ' ' + + tail + ); + }, + + // ### ES6 Collection methods (ES6 Array and Map) + + concat: function concat() { + var values = [], len = arguments.length; + while ( len-- ) values[ len ] = arguments[ len ]; + + return reify(this, concatFactory(this, values)); + }, + + includes: function includes(searchValue) { + return this.some(function (value) { return is(value, searchValue); }); + }, + + entries: function entries() { + return this.__iterator(ITERATE_ENTRIES); + }, + + every: function every(predicate, context) { + assertNotInfinite(this.size); + var returnValue = true; + this.__iterate(function (v, k, c) { + if (!predicate.call(context, v, k, c)) { + returnValue = false; + return false; + } + }); + return returnValue; + }, + + filter: function filter(predicate, context) { + return reify(this, filterFactory(this, predicate, context, true)); + }, + + partition: function partition(predicate, context) { + return partitionFactory(this, predicate, context); + }, + + find: function find(predicate, context, notSetValue) { + var entry = this.findEntry(predicate, context); + return entry ? entry[1] : notSetValue; + }, + + forEach: function forEach(sideEffect, context) { + assertNotInfinite(this.size); + return this.__iterate(context ? sideEffect.bind(context) : sideEffect); + }, + + join: function join(separator) { + assertNotInfinite(this.size); + separator = separator !== undefined ? '' + separator : ','; + var joined = ''; + var isFirst = true; + this.__iterate(function (v) { + isFirst ? (isFirst = false) : (joined += separator); + joined += v !== null && v !== undefined ? v.toString() : ''; + }); + return joined; + }, + + keys: function keys() { + return this.__iterator(ITERATE_KEYS); + }, + + map: function map(mapper, context) { + return reify(this, mapFactory(this, mapper, context)); + }, + + reduce: function reduce$1(reducer, initialReduction, context) { + return reduce( + this, + reducer, + initialReduction, + context, + arguments.length < 2, + false + ); + }, + + reduceRight: function reduceRight(reducer, initialReduction, context) { + return reduce( + this, + reducer, + initialReduction, + context, + arguments.length < 2, + true + ); + }, + + reverse: function reverse() { + return reify(this, reverseFactory(this, true)); + }, + + slice: function slice(begin, end) { + return reify(this, sliceFactory(this, begin, end, true)); + }, + + some: function some(predicate, context) { + assertNotInfinite(this.size); + var returnValue = false; + this.__iterate(function (v, k, c) { + if (predicate.call(context, v, k, c)) { + returnValue = true; + return false; + } + }); + return returnValue; + }, + + sort: function sort(comparator) { + return reify(this, sortFactory(this, comparator)); + }, + + values: function values() { + return this.__iterator(ITERATE_VALUES); + }, + + // ### More sequential methods + + butLast: function butLast() { + return this.slice(0, -1); + }, + + isEmpty: function isEmpty() { + return this.size !== undefined ? this.size === 0 : !this.some(function () { return true; }); + }, + + count: function count(predicate, context) { + return ensureSize( + predicate ? this.toSeq().filter(predicate, context) : this + ); + }, + + countBy: function countBy(grouper, context) { + return countByFactory(this, grouper, context); + }, + + equals: function equals(other) { + return deepEqual(this, other); + }, + + entrySeq: function entrySeq() { + var collection = this; + if (collection._cache) { + // We cache as an entries array, so we can just return the cache! + return new ArraySeq(collection._cache); + } + var entriesSequence = collection.toSeq().map(entryMapper).toIndexedSeq(); + entriesSequence.fromEntrySeq = function () { return collection.toSeq(); }; + return entriesSequence; + }, + + filterNot: function filterNot(predicate, context) { + return this.filter(not(predicate), context); + }, + + findEntry: function findEntry(predicate, context, notSetValue) { + var found = notSetValue; + this.__iterate(function (v, k, c) { + if (predicate.call(context, v, k, c)) { + found = [k, v]; + return false; + } + }); + return found; + }, + + findKey: function findKey(predicate, context) { + var entry = this.findEntry(predicate, context); + return entry && entry[0]; + }, + + findLast: function findLast(predicate, context, notSetValue) { + return this.toKeyedSeq().reverse().find(predicate, context, notSetValue); + }, + + findLastEntry: function findLastEntry(predicate, context, notSetValue) { + return this.toKeyedSeq() + .reverse() + .findEntry(predicate, context, notSetValue); + }, + + findLastKey: function findLastKey(predicate, context) { + return this.toKeyedSeq().reverse().findKey(predicate, context); + }, + + first: function first(notSetValue) { + return this.find(returnTrue, null, notSetValue); + }, + + flatMap: function flatMap(mapper, context) { + return reify(this, flatMapFactory(this, mapper, context)); + }, + + flatten: function flatten(depth) { + return reify(this, flattenFactory(this, depth, true)); + }, + + fromEntrySeq: function fromEntrySeq() { + return new FromEntriesSequence(this); + }, + + get: function get(searchKey, notSetValue) { + return this.find(function (_, key) { return is(key, searchKey); }, undefined, notSetValue); + }, + + getIn: getIn, + + groupBy: function groupBy(grouper, context) { + return groupByFactory(this, grouper, context); + }, + + has: function has(searchKey) { + return this.get(searchKey, NOT_SET) !== NOT_SET; + }, + + hasIn: hasIn, + + isSubset: function isSubset(iter) { + iter = typeof iter.includes === 'function' ? iter : Collection(iter); + return this.every(function (value) { return iter.includes(value); }); + }, + + isSuperset: function isSuperset(iter) { + iter = typeof iter.isSubset === 'function' ? iter : Collection(iter); + return iter.isSubset(this); + }, + + keyOf: function keyOf(searchValue) { + return this.findKey(function (value) { return is(value, searchValue); }); + }, + + keySeq: function keySeq() { + return this.toSeq().map(keyMapper).toIndexedSeq(); + }, + + last: function last(notSetValue) { + return this.toSeq().reverse().first(notSetValue); + }, + + lastKeyOf: function lastKeyOf(searchValue) { + return this.toKeyedSeq().reverse().keyOf(searchValue); + }, + + max: function max(comparator) { + return maxFactory(this, comparator); + }, + + maxBy: function maxBy(mapper, comparator) { + return maxFactory(this, comparator, mapper); + }, + + min: function min(comparator) { + return maxFactory( + this, + comparator ? neg(comparator) : defaultNegComparator + ); + }, + + minBy: function minBy(mapper, comparator) { + return maxFactory( + this, + comparator ? neg(comparator) : defaultNegComparator, + mapper + ); + }, + + rest: function rest() { + return this.slice(1); + }, + + skip: function skip(amount) { + return amount === 0 ? this : this.slice(Math.max(0, amount)); + }, + + skipLast: function skipLast(amount) { + return amount === 0 ? this : this.slice(0, -Math.max(0, amount)); + }, + + skipWhile: function skipWhile(predicate, context) { + return reify(this, skipWhileFactory(this, predicate, context, true)); + }, + + skipUntil: function skipUntil(predicate, context) { + return this.skipWhile(not(predicate), context); + }, + + sortBy: function sortBy(mapper, comparator) { + return reify(this, sortFactory(this, comparator, mapper)); + }, + + take: function take(amount) { + return this.slice(0, Math.max(0, amount)); + }, + + takeLast: function takeLast(amount) { + return this.slice(-Math.max(0, amount)); + }, + + takeWhile: function takeWhile(predicate, context) { + return reify(this, takeWhileFactory(this, predicate, context)); + }, + + takeUntil: function takeUntil(predicate, context) { + return this.takeWhile(not(predicate), context); + }, + + update: function update(fn) { + return fn(this); + }, + + valueSeq: function valueSeq() { + return this.toIndexedSeq(); + }, + + // ### Hashable Object + + hashCode: function hashCode() { + return this.__hash || (this.__hash = hashCollection(this)); + }, + + // ### Internal + + // abstract __iterate(fn, reverse) + + // abstract __iterator(type, reverse) + }); + + var CollectionPrototype = Collection.prototype; + CollectionPrototype[IS_COLLECTION_SYMBOL] = true; + CollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.values; + CollectionPrototype.toJSON = CollectionPrototype.toArray; + CollectionPrototype.__toStringMapper = quoteString; + CollectionPrototype.inspect = CollectionPrototype.toSource = function () { + return this.toString(); + }; + CollectionPrototype.chain = CollectionPrototype.flatMap; + CollectionPrototype.contains = CollectionPrototype.includes; + + mixin(KeyedCollection, { + // ### More sequential methods + + flip: function flip() { + return reify(this, flipFactory(this)); + }, + + mapEntries: function mapEntries(mapper, context) { + var this$1$1 = this; + + var iterations = 0; + return reify( + this, + this.toSeq() + .map(function (v, k) { return mapper.call(context, [k, v], iterations++, this$1$1); }) + .fromEntrySeq() + ); + }, + + mapKeys: function mapKeys(mapper, context) { + var this$1$1 = this; + + return reify( + this, + this.toSeq() + .flip() + .map(function (k, v) { return mapper.call(context, k, v, this$1$1); }) + .flip() + ); + }, + }); + + var KeyedCollectionPrototype = KeyedCollection.prototype; + KeyedCollectionPrototype[IS_KEYED_SYMBOL] = true; + KeyedCollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.entries; + KeyedCollectionPrototype.toJSON = toObject; + KeyedCollectionPrototype.__toStringMapper = function (v, k) { return quoteString(k) + ': ' + quoteString(v); }; + + mixin(IndexedCollection, { + // ### Conversion to other types + + toKeyedSeq: function toKeyedSeq() { + return new ToKeyedSequence(this, false); + }, + + // ### ES6 Collection methods (ES6 Array and Map) + + filter: function filter(predicate, context) { + return reify(this, filterFactory(this, predicate, context, false)); + }, + + findIndex: function findIndex(predicate, context) { + var entry = this.findEntry(predicate, context); + return entry ? entry[0] : -1; + }, + + indexOf: function indexOf(searchValue) { + var key = this.keyOf(searchValue); + return key === undefined ? -1 : key; + }, + + lastIndexOf: function lastIndexOf(searchValue) { + var key = this.lastKeyOf(searchValue); + return key === undefined ? -1 : key; + }, + + reverse: function reverse() { + return reify(this, reverseFactory(this, false)); + }, + + slice: function slice(begin, end) { + return reify(this, sliceFactory(this, begin, end, false)); + }, + + splice: function splice(index, removeNum /*, ...values*/) { + var numArgs = arguments.length; + removeNum = Math.max(removeNum || 0, 0); + if (numArgs === 0 || (numArgs === 2 && !removeNum)) { + return this; + } + // If index is negative, it should resolve relative to the size of the + // collection. However size may be expensive to compute if not cached, so + // only call count() if the number is in fact negative. + index = resolveBegin(index, index < 0 ? this.count() : this.size); + var spliced = this.slice(0, index); + return reify( + this, + numArgs === 1 + ? spliced + : spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum)) + ); + }, + + // ### More collection methods + + findLastIndex: function findLastIndex(predicate, context) { + var entry = this.findLastEntry(predicate, context); + return entry ? entry[0] : -1; + }, + + first: function first(notSetValue) { + return this.get(0, notSetValue); + }, + + flatten: function flatten(depth) { + return reify(this, flattenFactory(this, depth, false)); + }, + + get: function get(index, notSetValue) { + index = wrapIndex(this, index); + return index < 0 || + this.size === Infinity || + (this.size !== undefined && index > this.size) + ? notSetValue + : this.find(function (_, key) { return key === index; }, undefined, notSetValue); + }, + + has: function has(index) { + index = wrapIndex(this, index); + return ( + index >= 0 && + (this.size !== undefined + ? this.size === Infinity || index < this.size + : this.indexOf(index) !== -1) + ); + }, + + interpose: function interpose(separator) { + return reify(this, interposeFactory(this, separator)); + }, + + interleave: function interleave(/*...collections*/) { + var collections = [this].concat(arrCopy(arguments)); + var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, collections); + var interleaved = zipped.flatten(true); + if (zipped.size) { + interleaved.size = zipped.size * collections.length; + } + return reify(this, interleaved); + }, + + keySeq: function keySeq() { + return Range(0, this.size); + }, + + last: function last(notSetValue) { + return this.get(-1, notSetValue); + }, + + skipWhile: function skipWhile(predicate, context) { + return reify(this, skipWhileFactory(this, predicate, context, false)); + }, + + zip: function zip(/*, ...collections */) { + var collections = [this].concat(arrCopy(arguments)); + return reify(this, zipWithFactory(this, defaultZipper, collections)); + }, + + zipAll: function zipAll(/*, ...collections */) { + var collections = [this].concat(arrCopy(arguments)); + return reify(this, zipWithFactory(this, defaultZipper, collections, true)); + }, + + zipWith: function zipWith(zipper /*, ...collections */) { + var collections = arrCopy(arguments); + collections[0] = this; + return reify(this, zipWithFactory(this, zipper, collections)); + }, + }); + + var IndexedCollectionPrototype = IndexedCollection.prototype; + IndexedCollectionPrototype[IS_INDEXED_SYMBOL] = true; + IndexedCollectionPrototype[IS_ORDERED_SYMBOL] = true; + + mixin(SetCollection, { + // ### ES6 Collection methods (ES6 Array and Map) + + get: function get(value, notSetValue) { + return this.has(value) ? value : notSetValue; + }, + + includes: function includes(value) { + return this.has(value); + }, + + // ### More sequential methods + + keySeq: function keySeq() { + return this.valueSeq(); + }, + }); + + var SetCollectionPrototype = SetCollection.prototype; + SetCollectionPrototype.has = CollectionPrototype.includes; + SetCollectionPrototype.contains = SetCollectionPrototype.includes; + SetCollectionPrototype.keys = SetCollectionPrototype.values; + + // Mixin subclasses + + mixin(KeyedSeq, KeyedCollectionPrototype); + mixin(IndexedSeq, IndexedCollectionPrototype); + mixin(SetSeq, SetCollectionPrototype); + + // #pragma Helper functions + + function reduce(collection, reducer, reduction, context, useFirst, reverse) { + assertNotInfinite(collection.size); + collection.__iterate(function (v, k, c) { + if (useFirst) { + useFirst = false; + reduction = v; + } else { + reduction = reducer.call(context, reduction, v, k, c); + } + }, reverse); + return reduction; + } + + function keyMapper(v, k) { + return k; + } + + function entryMapper(v, k) { + return [k, v]; + } + + function not(predicate) { + return function () { + return !predicate.apply(this, arguments); + }; + } + + function neg(predicate) { + return function () { + return -predicate.apply(this, arguments); + }; + } + + function defaultZipper() { + return arrCopy(arguments); + } + + function defaultNegComparator(a, b) { + return a < b ? 1 : a > b ? -1 : 0; + } + + function hashCollection(collection) { + if (collection.size === Infinity) { + return 0; + } + var ordered = isOrdered(collection); + var keyed = isKeyed(collection); + var h = ordered ? 1 : 0; + var size = collection.__iterate( + keyed + ? ordered + ? function (v, k) { + h = (31 * h + hashMerge(hash(v), hash(k))) | 0; + } + : function (v, k) { + h = (h + hashMerge(hash(v), hash(k))) | 0; + } + : ordered + ? function (v) { + h = (31 * h + hash(v)) | 0; + } + : function (v) { + h = (h + hash(v)) | 0; + } + ); + return murmurHashOfSize(size, h); + } + + function murmurHashOfSize(size, h) { + h = imul(h, 0xcc9e2d51); + h = imul((h << 15) | (h >>> -15), 0x1b873593); + h = imul((h << 13) | (h >>> -13), 5); + h = ((h + 0xe6546b64) | 0) ^ size; + h = imul(h ^ (h >>> 16), 0x85ebca6b); + h = imul(h ^ (h >>> 13), 0xc2b2ae35); + h = smi(h ^ (h >>> 16)); + return h; + } + + function hashMerge(a, b) { + return (a ^ (b + 0x9e3779b9 + (a << 6) + (a >> 2))) | 0; // int + } + + var OrderedSet = /*@__PURE__*/(function (Set) { + function OrderedSet(value) { + return value === undefined || value === null + ? emptyOrderedSet() + : isOrderedSet(value) + ? value + : emptyOrderedSet().withMutations(function (set) { + var iter = SetCollection(value); + assertNotInfinite(iter.size); + iter.forEach(function (v) { return set.add(v); }); + }); + } + + if ( Set ) OrderedSet.__proto__ = Set; + OrderedSet.prototype = Object.create( Set && Set.prototype ); + OrderedSet.prototype.constructor = OrderedSet; + + OrderedSet.of = function of (/*...values*/) { + return this(arguments); + }; + + OrderedSet.fromKeys = function fromKeys (value) { + return this(KeyedCollection(value).keySeq()); + }; + + OrderedSet.prototype.toString = function toString () { + return this.__toString('OrderedSet {', '}'); + }; + + return OrderedSet; + }(Set)); + + OrderedSet.isOrderedSet = isOrderedSet; + + var OrderedSetPrototype = OrderedSet.prototype; + OrderedSetPrototype[IS_ORDERED_SYMBOL] = true; + OrderedSetPrototype.zip = IndexedCollectionPrototype.zip; + OrderedSetPrototype.zipWith = IndexedCollectionPrototype.zipWith; + OrderedSetPrototype.zipAll = IndexedCollectionPrototype.zipAll; + + OrderedSetPrototype.__empty = emptyOrderedSet; + OrderedSetPrototype.__make = makeOrderedSet; + + function makeOrderedSet(map, ownerID) { + var set = Object.create(OrderedSetPrototype); + set.size = map ? map.size : 0; + set._map = map; + set.__ownerID = ownerID; + return set; + } + + var EMPTY_ORDERED_SET; + function emptyOrderedSet() { + return ( + EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap())) + ); + } + + var PairSorting = { + LeftThenRight: -1, + RightThenLeft: +1, + }; + + function throwOnInvalidDefaultValues(defaultValues) { + if (isRecord(defaultValues)) { + throw new Error( + 'Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.' + ); + } + + if (isImmutable(defaultValues)) { + throw new Error( + 'Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.' + ); + } + + if (defaultValues === null || typeof defaultValues !== 'object') { + throw new Error( + 'Can not call `Record` with a non-object as default values. Use a plain javascript object instead.' + ); + } + } + + var Record = function Record(defaultValues, name) { + var hasInitialized; + + throwOnInvalidDefaultValues(defaultValues); + + var RecordType = function Record(values) { + var this$1$1 = this; + + if (values instanceof RecordType) { + return values; + } + if (!(this instanceof RecordType)) { + return new RecordType(values); + } + if (!hasInitialized) { + hasInitialized = true; + var keys = Object.keys(defaultValues); + var indices = (RecordTypePrototype._indices = {}); + // Deprecated: left to attempt not to break any external code which + // relies on a ._name property existing on record instances. + // Use Record.getDescriptiveName() instead + RecordTypePrototype._name = name; + RecordTypePrototype._keys = keys; + RecordTypePrototype._defaultValues = defaultValues; + for (var i = 0; i < keys.length; i++) { + var propName = keys[i]; + indices[propName] = i; + if (RecordTypePrototype[propName]) { + /* eslint-disable no-console */ + typeof console === 'object' && + console.warn && + console.warn( + 'Cannot define ' + + recordName(this) + + ' with property "' + + propName + + '" since that property name is part of the Record API.' + ); + /* eslint-enable no-console */ + } else { + setProp(RecordTypePrototype, propName); + } + } + } + this.__ownerID = undefined; + this._values = List().withMutations(function (l) { + l.setSize(this$1$1._keys.length); + KeyedCollection(values).forEach(function (v, k) { + l.set(this$1$1._indices[k], v === this$1$1._defaultValues[k] ? undefined : v); + }); + }); + return this; + }; + + var RecordTypePrototype = (RecordType.prototype = + Object.create(RecordPrototype)); + RecordTypePrototype.constructor = RecordType; + + if (name) { + RecordType.displayName = name; + } + + return RecordType; + }; + + Record.prototype.toString = function toString () { + var str = recordName(this) + ' { '; + var keys = this._keys; + var k; + for (var i = 0, l = keys.length; i !== l; i++) { + k = keys[i]; + str += (i ? ', ' : '') + k + ': ' + quoteString(this.get(k)); + } + return str + ' }'; + }; + + Record.prototype.equals = function equals (other) { + return ( + this === other || + (isRecord(other) && recordSeq(this).equals(recordSeq(other))) + ); + }; + + Record.prototype.hashCode = function hashCode () { + return recordSeq(this).hashCode(); + }; + + // @pragma Access + + Record.prototype.has = function has (k) { + return this._indices.hasOwnProperty(k); + }; + + Record.prototype.get = function get (k, notSetValue) { + if (!this.has(k)) { + return notSetValue; + } + var index = this._indices[k]; + var value = this._values.get(index); + return value === undefined ? this._defaultValues[k] : value; + }; + + // @pragma Modification + + Record.prototype.set = function set (k, v) { + if (this.has(k)) { + var newValues = this._values.set( + this._indices[k], + v === this._defaultValues[k] ? undefined : v + ); + if (newValues !== this._values && !this.__ownerID) { + return makeRecord(this, newValues); + } + } + return this; + }; + + Record.prototype.remove = function remove (k) { + return this.set(k); + }; + + Record.prototype.clear = function clear () { + var newValues = this._values.clear().setSize(this._keys.length); + + return this.__ownerID ? this : makeRecord(this, newValues); + }; + + Record.prototype.wasAltered = function wasAltered () { + return this._values.wasAltered(); + }; + + Record.prototype.toSeq = function toSeq () { + return recordSeq(this); + }; + + Record.prototype.toJS = function toJS$1 () { + return toJS(this); + }; + + Record.prototype.entries = function entries () { + return this.__iterator(ITERATE_ENTRIES); + }; + + Record.prototype.__iterator = function __iterator (type, reverse) { + return recordSeq(this).__iterator(type, reverse); + }; + + Record.prototype.__iterate = function __iterate (fn, reverse) { + return recordSeq(this).__iterate(fn, reverse); + }; + + Record.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + var newValues = this._values.__ensureOwner(ownerID); + if (!ownerID) { + this.__ownerID = ownerID; + this._values = newValues; + return this; + } + return makeRecord(this, newValues, ownerID); + }; + + Record.isRecord = isRecord; + Record.getDescriptiveName = recordName; + var RecordPrototype = Record.prototype; + RecordPrototype[IS_RECORD_SYMBOL] = true; + RecordPrototype[DELETE] = RecordPrototype.remove; + RecordPrototype.deleteIn = RecordPrototype.removeIn = deleteIn; + RecordPrototype.getIn = getIn; + RecordPrototype.hasIn = CollectionPrototype.hasIn; + RecordPrototype.merge = merge$1; + RecordPrototype.mergeWith = mergeWith$1; + RecordPrototype.mergeIn = mergeIn; + RecordPrototype.mergeDeep = mergeDeep; + RecordPrototype.mergeDeepWith = mergeDeepWith; + RecordPrototype.mergeDeepIn = mergeDeepIn; + RecordPrototype.setIn = setIn; + RecordPrototype.update = update; + RecordPrototype.updateIn = updateIn; + RecordPrototype.withMutations = withMutations; + RecordPrototype.asMutable = asMutable; + RecordPrototype.asImmutable = asImmutable; + RecordPrototype[ITERATOR_SYMBOL] = RecordPrototype.entries; + RecordPrototype.toJSON = RecordPrototype.toObject = + CollectionPrototype.toObject; + RecordPrototype.inspect = RecordPrototype.toSource = function () { + return this.toString(); + }; + + function makeRecord(likeRecord, values, ownerID) { + var record = Object.create(Object.getPrototypeOf(likeRecord)); + record._values = values; + record.__ownerID = ownerID; + return record; + } + + function recordName(record) { + return record.constructor.displayName || record.constructor.name || 'Record'; + } + + function recordSeq(record) { + return keyedSeqFromValue(record._keys.map(function (k) { return [k, record.get(k)]; })); + } + + function setProp(prototype, name) { + try { + Object.defineProperty(prototype, name, { + get: function () { + return this.get(name); + }, + set: function (value) { + invariant(this.__ownerID, 'Cannot set on an immutable record.'); + this.set(name, value); + }, + }); + } catch (error) { + // Object.defineProperty failed. Probably IE8. + } + } + + /** + * Returns a lazy Seq of `value` repeated `times` times. When `times` is + * undefined, returns an infinite sequence of `value`. + */ + var Repeat = /*@__PURE__*/(function (IndexedSeq) { + function Repeat(value, times) { + if (!(this instanceof Repeat)) { + return new Repeat(value, times); + } + this._value = value; + this.size = times === undefined ? Infinity : Math.max(0, times); + if (this.size === 0) { + if (EMPTY_REPEAT) { + return EMPTY_REPEAT; + } + EMPTY_REPEAT = this; + } + } + + if ( IndexedSeq ) Repeat.__proto__ = IndexedSeq; + Repeat.prototype = Object.create( IndexedSeq && IndexedSeq.prototype ); + Repeat.prototype.constructor = Repeat; + + Repeat.prototype.toString = function toString () { + if (this.size === 0) { + return 'Repeat []'; + } + return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]'; + }; + + Repeat.prototype.get = function get (index, notSetValue) { + return this.has(index) ? this._value : notSetValue; + }; + + Repeat.prototype.includes = function includes (searchValue) { + return is(this._value, searchValue); + }; + + Repeat.prototype.slice = function slice (begin, end) { + var size = this.size; + return wholeSlice(begin, end, size) + ? this + : new Repeat( + this._value, + resolveEnd(end, size) - resolveBegin(begin, size) + ); + }; + + Repeat.prototype.reverse = function reverse () { + return this; + }; + + Repeat.prototype.indexOf = function indexOf (searchValue) { + if (is(this._value, searchValue)) { + return 0; + } + return -1; + }; + + Repeat.prototype.lastIndexOf = function lastIndexOf (searchValue) { + if (is(this._value, searchValue)) { + return this.size; + } + return -1; + }; + + Repeat.prototype.__iterate = function __iterate (fn, reverse) { + var size = this.size; + var i = 0; + while (i !== size) { + if (fn(this._value, reverse ? size - ++i : i++, this) === false) { + break; + } + } + return i; + }; + + Repeat.prototype.__iterator = function __iterator (type, reverse) { + var this$1$1 = this; + + var size = this.size; + var i = 0; + return new Iterator(function () { return i === size + ? iteratorDone() + : iteratorValue(type, reverse ? size - ++i : i++, this$1$1._value); } + ); + }; + + Repeat.prototype.equals = function equals (other) { + return other instanceof Repeat + ? is(this._value, other._value) + : deepEqual(other); + }; + + return Repeat; + }(IndexedSeq)); + + var EMPTY_REPEAT; + + function fromJS(value, converter) { + return fromJSWith( + [], + converter || defaultConverter, + value, + '', + converter && converter.length > 2 ? [] : undefined, + { '': value } + ); + } + + function fromJSWith(stack, converter, value, key, keyPath, parentValue) { + if ( + typeof value !== 'string' && + !isImmutable(value) && + (isArrayLike(value) || hasIterator(value) || isPlainObject(value)) + ) { + if (~stack.indexOf(value)) { + throw new TypeError('Cannot convert circular structure to Immutable'); + } + stack.push(value); + keyPath && key !== '' && keyPath.push(key); + var converted = converter.call( + parentValue, + key, + Seq(value).map(function (v, k) { return fromJSWith(stack, converter, v, k, keyPath, value); } + ), + keyPath && keyPath.slice() + ); + stack.pop(); + keyPath && keyPath.pop(); + return converted; + } + return value; + } + + function defaultConverter(k, v) { + // Effectively the opposite of "Collection.toSeq()" + return isIndexed(v) ? v.toList() : isKeyed(v) ? v.toMap() : v.toSet(); + } + + var version = "4.3.5"; + + var Immutable = { + version: version, + + Collection: Collection, + // Note: Iterable is deprecated + Iterable: Collection, + + Seq: Seq, + Map: Map, + OrderedMap: OrderedMap, + List: List, + Stack: Stack, + Set: Set, + OrderedSet: OrderedSet, + PairSorting: PairSorting, + + Record: Record, + Range: Range, + Repeat: Repeat, + + is: is, + fromJS: fromJS, + hash: hash, + + isImmutable: isImmutable, + isCollection: isCollection, + isKeyed: isKeyed, + isIndexed: isIndexed, + isAssociative: isAssociative, + isOrdered: isOrdered, + isValueObject: isValueObject, + isPlainObject: isPlainObject, + isSeq: isSeq, + isList: isList, + isMap: isMap, + isOrderedMap: isOrderedMap, + isStack: isStack, + isSet: isSet, + isOrderedSet: isOrderedSet, + isRecord: isRecord, + + get: get, + getIn: getIn$1, + has: has, + hasIn: hasIn$1, + merge: merge, + mergeDeep: mergeDeep$1, + mergeWith: mergeWith, + mergeDeepWith: mergeDeepWith$1, + remove: remove, + removeIn: removeIn, + set: set, + setIn: setIn$1, + update: update$1, + updateIn: updateIn$1, + }; + + // Note: Iterable is deprecated + var Iterable = Collection; + + exports.Collection = Collection; + exports.Iterable = Iterable; + exports.List = List; + exports.Map = Map; + exports.OrderedMap = OrderedMap; + exports.OrderedSet = OrderedSet; + exports.PairSorting = PairSorting; + exports.Range = Range; + exports.Record = Record; + exports.Repeat = Repeat; + exports.Seq = Seq; + exports.Set = Set; + exports.Stack = Stack; + exports.default = Immutable; + exports.fromJS = fromJS; + exports.get = get; + exports.getIn = getIn$1; + exports.has = has; + exports.hasIn = hasIn$1; + exports.hash = hash; + exports.is = is; + exports.isAssociative = isAssociative; + exports.isCollection = isCollection; + exports.isImmutable = isImmutable; + exports.isIndexed = isIndexed; + exports.isKeyed = isKeyed; + exports.isList = isList; + exports.isMap = isMap; + exports.isOrdered = isOrdered; + exports.isOrderedMap = isOrderedMap; + exports.isOrderedSet = isOrderedSet; + exports.isPlainObject = isPlainObject; + exports.isRecord = isRecord; + exports.isSeq = isSeq; + exports.isSet = isSet; + exports.isStack = isStack; + exports.isValueObject = isValueObject; + exports.merge = merge; + exports.mergeDeep = mergeDeep$1; + exports.mergeDeepWith = mergeDeepWith$1; + exports.mergeWith = mergeWith; + exports.remove = remove; + exports.removeIn = removeIn; + exports.set = set; + exports.setIn = setIn$1; + exports.update = update$1; + exports.updateIn = updateIn$1; + exports.version = version; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); diff --git a/.pnpm-store/v3/files/52/c85603eb093df4b54a979bc25d05906c0af25d43679851e0a8e5bebbf39671bcfc9d6aa8abc22d0e7e1272efad6dafc62f865234f549a812a94ae4a523d88f b/.pnpm-store/v3/files/52/c85603eb093df4b54a979bc25d05906c0af25d43679851e0a8e5bebbf39671bcfc9d6aa8abc22d0e7e1272efad6dafc62f865234f549a812a94ae4a523d88f new file mode 100644 index 00000000..1171435b --- /dev/null +++ b/.pnpm-store/v3/files/52/c85603eb093df4b54a979bc25d05906c0af25d43679851e0a8e5bebbf39671bcfc9d6aa8abc22d0e7e1272efad6dafc62f865234f549a812a94ae4a523d88f @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB"},E:{"1":"K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B"},F:{"1":"B C N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 2B QC mC 3B","2":"F G M iC jC kC lC"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC","129":"zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:1,C:"Color input type",D:true}; diff --git a/.pnpm-store/v3/files/53/073b3869c17eea45f9e8fda11b9336bd384cad9b3c73c2f63fdf07805d09ce47978e444b5978dfb965b09aeb30e450e24ae14750ffb1fbcb2b2dffc01a2ba8 b/.pnpm-store/v3/files/53/073b3869c17eea45f9e8fda11b9336bd384cad9b3c73c2f63fdf07805d09ce47978e444b5978dfb965b09aeb30e450e24ae14750ffb1fbcb2b2dffc01a2ba8 new file mode 100644 index 00000000..1b9925b1 --- /dev/null +++ b/.pnpm-store/v3/files/53/073b3869c17eea45f9e8fda11b9336bd384cad9b3c73c2f63fdf07805d09ce47978e444b5978dfb965b09aeb30e450e24ae14750ffb1fbcb2b2dffc01a2ba8 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O","322":"P Q R S T","578":"U V"},C:{"1":"0 1 2 3 4 5 6 7 8 X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB VC WC","194":"vB u wB xB yB zB 0B P Q R AC S T U V W"},D:{"1":"0 1 2 3 4 5 6 7 8 W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B","322":"P Q R S T","578":"U V"},E:{"2":"9 I J D E F A B C K XC DC YC ZC aC bC EC 2B 3B FC","2052":"LC MC fC 6B NC OC PC gC hC","2116":"5B IC JC KC","3140":"L G cC dC GC HC 4B eC"},F:{"1":"wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB iC jC kC lC 2B QC mC 3B","578":"u"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C","2052":"LC MC 8C 6B NC OC PC","2116":"4C 5C 6C GC HC 4B 7C 5B IC JC KC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD ND"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:6,C:"HTTP/3 protocol",D:true}; diff --git a/.pnpm-store/v3/files/53/0cecad66a53a70930e62de4a89eeeddeb5dee4aa9372bb7916991ed79f63775509cf83fc047fb1a08f1cb6b31d051b8b5d28991be36cc959cd336c5c92e833 b/.pnpm-store/v3/files/53/0cecad66a53a70930e62de4a89eeeddeb5dee4aa9372bb7916991ed79f63775509cf83fc047fb1a08f1cb6b31d051b8b5d28991be36cc959cd336c5c92e833 new file mode 100644 index 00000000..d8480215 --- /dev/null +++ b/.pnpm-store/v3/files/53/0cecad66a53a70930e62de4a89eeeddeb5dee4aa9372bb7916991ed79f63775509cf83fc047fb1a08f1cb6b31d051b8b5d28991be36cc959cd336c5c92e833 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB VC WC","194":"GB HB IB JB KB LB MB"},D:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB"},E:{"1":"A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t iC jC kC lC 2B QC mC 3B"},G:{"1":"tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS will-change property",D:true}; diff --git a/.pnpm-store/v3/files/53/2d1da937291ba53f349ed5d76b5132eed6864f27e2de3f4b0f3d52b7207b8f3e1dbbacab5e6099be0ebb5fae17b35430e9f2c11ee334c018dfe404cb86f307 b/.pnpm-store/v3/files/53/2d1da937291ba53f349ed5d76b5132eed6864f27e2de3f4b0f3d52b7207b8f3e1dbbacab5e6099be0ebb5fae17b35430e9f2c11ee334c018dfe404cb86f307 new file mode 100644 index 00000000..03f4e7c6 --- /dev/null +++ b/.pnpm-store/v3/files/53/2d1da937291ba53f349ed5d76b5132eed6864f27e2de3f4b0f3d52b7207b8f3e1dbbacab5e6099be0ebb5fae17b35430e9f2c11ee334c018dfe404cb86f307 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B C iC jC kC lC 2B QC mC"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"1":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS Feature Queries",D:true}; diff --git a/.pnpm-store/v3/files/53/6580a83a7e1410f481c873045f99b576da4672fcfc931cf72ad69dba5201ac65cc293c78ef470e13b7763ca54d59dc227e2e87be8dcd3d2f1b5a0c6fff9306 b/.pnpm-store/v3/files/53/6580a83a7e1410f481c873045f99b576da4672fcfc931cf72ad69dba5201ac65cc293c78ef470e13b7763ca54d59dc227e2e87be8dcd3d2f1b5a0c6fff9306 new file mode 100644 index 00000000..0df4ec75 --- /dev/null +++ b/.pnpm-store/v3/files/53/6580a83a7e1410f481c873045f99b576da4672fcfc931cf72ad69dba5201ac65cc293c78ef470e13b7763ca54d59dc227e2e87be8dcd3d2f1b5a0c6fff9306 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"5 6 7 8 H","2":"0 1 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z","194":"2 3 4"},C:{"1":"0 1 2 3 4 5 6 7 8 uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB VC WC"},D:{"1":"5 6 7 8 H 1B BC CC","2":"0 1 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z","194":"2 3 4"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC"},F:{"1":"m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i iC jC kC lC 2B QC mC 3B","194":"j k l"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"1":"UD","2":"TD"}},B:4,C:"CSS Subgrid",D:true}; diff --git a/.pnpm-store/v3/files/53/7a7da5491220616c1bfd33bbd529730620e2ba8cc4972513f2c2860a90c79ed9c8bb80264e6c79b36540596f8e01b2898c67309c310b5057b867e161c2a3f9 b/.pnpm-store/v3/files/53/7a7da5491220616c1bfd33bbd529730620e2ba8cc4972513f2c2860a90c79ed9c8bb80264e6c79b36540596f8e01b2898c67309c310b5057b867e161c2a3f9 new file mode 100644 index 00000000..fc4be412 --- /dev/null +++ b/.pnpm-store/v3/files/53/7a7da5491220616c1bfd33bbd529730620e2ba8cc4972513f2c2860a90c79ed9c8bb80264e6c79b36540596f8e01b2898c67309c310b5057b867e161c2a3f9 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB VC WC","194":"pB"},D:{"1":"0 1 2 3 4 5 6 7 8 mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB"},E:{"1":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B XC DC YC ZC aC bC EC"},F:{"1":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB iC jC kC lC 2B QC mC 3B"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:6,C:"JavaScript modules: dynamic import()",D:true}; diff --git a/.pnpm-store/v3/files/53/9b407ed2ea0991fca79a6b2d28f2a46c1bda058112b2826d1ebd6d22ef238ea82e0c25b698d471accc19878fcd0e1acf55fb45c73b362f8f99b8eec54c4296 b/.pnpm-store/v3/files/53/9b407ed2ea0991fca79a6b2d28f2a46c1bda058112b2826d1ebd6d22ef238ea82e0c25b698d471accc19878fcd0e1acf55fb45c73b362f8f99b8eec54c4296 new file mode 100644 index 00000000..12cfb9d0 --- /dev/null +++ b/.pnpm-store/v3/files/53/9b407ed2ea0991fca79a6b2d28f2a46c1bda058112b2826d1ebd6d22ef238ea82e0c25b698d471accc19878fcd0e1acf55fb45c73b362f8f99b8eec54c4296 @@ -0,0 +1,578 @@ +Note: If you find missing information about particular minor version, that version must have been changed without any functional change in this library. + +**4.3.4 / 2024-01-10** +* fix: Don't escape entities in CDATA sections (#633) (By [wackbyte](https://github.com/wackbyte)) + +**4.3.3 / 2024-01-10** +* Remove unnecessary regex + +**4.3.2 / 2023-10-02** +* fix `jObj.hasOwnProperty` when give input is null (By [Arda TANRIKULU](https://github.com/ardatan)) + +**4.3.1 / 2023-09-24** +* revert back "Fix typings for builder and parser to make return type generic" to avoid failure of existing projects. Need to decide a common approach. + +**4.3.0 / 2023-09-20** +* Fix stopNodes to work with removeNSPrefix (#607) (#608) (By [Craig Andrews]https://github.com/candrews)) +* Fix #610 ignore properties set to Object.prototype +* Fix typings for builder and parser to make return type generic (By [Sarah Dayan](https://github.com/sarahdayan)) + +**4.2.7 / 2023-07-30** +* Fix: builder should set text node correctly when only textnode is present (#589) (By [qianqing](https://github.com/joneqian)) +* Fix: Fix for null and undefined attributes when building xml (#585) (#598). A null or undefined value should be ignored. (By [Eugenio Ceschia](https://github.com/cecia234)) + +**4.2.6 / 2023-07-17** +* Fix: Remove trailing slash from jPath for self-closing tags (#595) (By [Maciej Radzikowski](https://github.com/m-radzikowski)) + +**4.2.5 / 2023-06-22** +* change code implementation + +**4.2.4 / 2023-06-06** +* fix security bug + +**4.2.3 / 2023-06-05** +* fix security bug + +**4.2.2 / 2023-04-18** +* fix #562: fix unpaired tag when it comes in last of a nested tag. Also throw error when unpaired tag is used as closing tag + +**4.2.1 / 2023-04-18** +* fix: jpath after unpaired tags + +**4.2.0 / 2023-04-09** +* support `updateTag` parser property + +**4.1.4 / 2023-04-08** +* update typings to let user create XMLBuilder instance without options (#556) (By [Patrick](https://github.com/omggga)) +* fix: IsArray option isn't parsing tags with 0 as value correctly #490 (#557) (By [Aleksandr Murashkin](https://github.com/p-kuen)) +* feature: support `oneListGroup` to group repeated children tags udder single group + +**4.1.3 / 2023-02-26** +* fix #546: Support complex entity value + +**4.1.2 / 2023-02-12** +* Security Fix + +**4.1.1 / 2023-02-03** +* Fix #540: ignoreAttributes breaks unpairedTags +* Refactor XML builder code + +**4.1.0 / 2023-02-02** +* Fix '<' or '>' in DTD comment throwing an error. (#533) (By [Adam Baker](https://github.com/Cwazywierdo)) +* Set "eNotation" to 'true' as default + +**4.0.15 / 2023-01-25** +* make "eNotation" optional + +**4.0.14 / 2023-01-22** +* fixed: add missed typing "eNotation" to parse values + +**4.0.13 / 2023-01-07** +* preserveorder formatting (By [mdeknowis](https://github.com/mdeknowis)) +* support `transformAttributeName` (By [Erik Rothoff Andersson](https://github.com/erkie)) + +**4.0.12 / 2022-11-19** +* fix typescript + +**4.0.11 / 2022-10-05** +* fix #501: parse for entities only once + +**4.0.10 / 2022-09-14** +* fix broken links in demo site (By [Yannick Lang](https://github.com/layaxx)) +* fix #491: tagValueProcessor type definition (By [Andrea Francesco Speziale](https://github.com/andreafspeziale)) +* Add jsdocs for tagValueProcessor + + +**4.0.9 / 2022-07-10** +* fix #470: stop-tag can have self-closing tag with same name +* fix #472: stopNode can have any special tag inside +* Allow !ATTLIST and !NOTATION with DOCTYPE +* Add transformTagName option to transform tag names when parsing (#469) (By [Erik Rothoff Andersson](https://github.com/erkie)) + +**4.0.8 / 2022-05-28** +* Fix CDATA parsing returning empty string when value = 0 (#451) (By [ndelanou](https://github.com/ndelanou)) +* Fix stopNodes when same tag appears inside node (#456) (By [patrickshipe](https://github.com/patrickshipe)) +* fix #468: prettify own properties only + +**4.0.7 / 2022-03-18** +* support CDATA even if tag order is not preserved +* support Comments even if tag order is not preserved +* fix #446: XMLbuilder should not indent XML declaration + +**4.0.6 / 2022-03-08** +* fix: call tagValueProcessor only once for array items +* fix: missing changed for #437 + +**4.0.5 / 2022-03-06** +* fix #437: call tagValueProcessor from XML builder + +**4.0.4 / 2022-03-03** +* fix #435: should skip unpaired and self-closing nodes when set as stopnodes + +**4.0.3 / 2022-02-15** +* fix: ReferenceError when Bundled with Strict (#431) (By [Andreas Heissenberger](https://github.com/aheissenberger)) + + +**4.0.2 / 2022-02-04** +* builder supports `suppressUnpairedNode` +* parser supports `ignoreDeclaration` and `ignorePiTags` +* fix: when comment is parsed as text value if given as ` ...` #423 +* builder supports decoding `&` + +**4.0.1 / 2022-01-08** +* fix builder for pi tag +* fix: support suppressBooleanAttrs by builder + +**4.0.0 / 2022-01-06** +* Generating different combined, parser only, builder only, validator only browser bundles +* Keeping cjs modules as they can be imported in cjs and esm modules both. Otherwise refer `esm` branch. + +**4.0.0-beta.8 / 2021-12-13** +* call tagValueProcessor for stop nodes + +**4.0.0-beta.7 / 2021-12-09** +* fix Validator bug when an attribute has no value but '=' only +* XML Builder should suppress unpaired tags by default. +* documents update for missing features +* refactoring to use Object.assign +* refactoring to remove repeated code + +**4.0.0-beta.6 / 2021-12-05** +* Support PI Tags processing +* Support `suppressBooleanAttributes` by XML Builder for attributes with value `true`. + +**4.0.0-beta.5 / 2021-12-04** +* fix: when a tag with name "attributes" + +**4.0.0-beta.4 / 2021-12-02** +* Support HTML document parsing +* skip stop nodes parsing when building the XML from JS object +* Support external entites without DOCTYPE +* update dev dependency: strnum v1.0.5 to fix long number issue + +**4.0.0-beta.3 / 2021-11-30** +* support global stopNodes expression like "*.stop" +* support self-closing and paired unpaired tags +* fix: CDATA should not be parsed. +* Fix typings for XMLBuilder (#396)(By [Anders Emil Salvesen](https://github.com/andersem)) +* supports XML entities, HTML entities, DOCTYPE entities + +**⚠️ 4.0.0-beta.2 / 2021-11-19** +* rename `attrMap` to `attibutes` in parser output when `preserveOrder:true` +* supports unpairedTags + +**⚠️ 4.0.0-beta.1 / 2021-11-18** +* Parser returns an array now + * to make the structure common + * and to return root level detail +* renamed `cdataTagName` to `cdataPropName` +* Added `commentPropName` +* fix typings + +**⚠️ 4.0.0-beta.0 / 2021-11-16** +* Name change of many configuration properties. + * `attrNodeName` to `attributesGroupName` + * `attrValueProcessor` to `attributeValueProcessor` + * `parseNodeValue` to `parseTagValue` + * `ignoreNameSpace` to `removeNSPrefix` + * `numParseOptions` to `numberParseOptions` + * spelling correction for `suppressEmptyNode` +* Name change of cli and browser bundle to **fxparser** +* `isArray` option is added to parse a tag into array +* `preserveOrder` option is added to render XML in such a way that the result js Object maintains the order of properties same as in XML. +* Processing behaviour of `tagValueProcessor` and `attributeValueProcessor` are changes with extra input parameters +* j2xparser is renamed to XMLBuilder. +* You need to build XML parser instance for given options first before parsing XML. +* fix #327, #336: throw error when extra text after XML content +* fix #330: attribute value can have '\n', +* fix #350: attrbiutes can be separated by '\n' from tagname + +3.21.1 / 2021-10-31 +* Correctly format JSON elements with a text prop but no attribute props ( By [haddadnj](https://github.com/haddadnj) ) + +3.21.0 / 2021-10-25 + * feat: added option `rootNodeName` to set tag name for array input when converting js object to XML. + * feat: added option `alwaysCreateTextNode` to force text node creation (by: *@massimo-ua*) + * ⚠️ feat: Better error location for unclosed tags. (by *@Gei0r*) + * Some error messages would be changed when validating XML. Eg + * `{ InvalidXml: "Invalid '[ \"rootNode\"]' found." }` → `{InvalidTag: "Unclosed tag 'rootNode'."}` + * `{ InvalidTag: "Closing tag 'rootNode' is expected inplace of 'rootnode'." }` → `{ InvalidTag: "Expected closing tag 'rootNode' (opened in line 1) instead of closing tag 'rootnode'."}` + * ⚠️ feat: Column in error response when validating XML +```js +{ + "code": "InvalidAttr", + "msg": "Attribute 'abc' is repeated.", + "line": 1, + "col": 22 +} +``` + +3.20.1 / 2021-09-25 + * update strnum package + +3.20.0 / 2021-09-10 + * Use strnum npm package to parse string to number + * breaking change: long number will be parsed to scientific notation. + +3.19.0 / 2021-03-14 + * License changed to MIT original + * Fix #321 : namespace tag parsing + +3.18.0 / 2021-02-05 + * Support RegEx and function in arrayMode option + * Fix #317 : validate nested PI tags + +3.17.4 / 2020-06-07 + * Refactor some code to support IE11 + * Fix: `` space as attribute string + +3.17.3 / 2020-05-23 + * Fix: tag name separated by \n \t + * Fix: throw error for unclosed tags + +3.17.2 / 2020-05-23 + * Fixed an issue in processing doctype tag + * Fixed tagName where it should not have whitespace chars + +3.17.1 / 2020-05-19 + * Fixed an issue in checking opening tag + +3.17.0 / 2020-05-18 + * parser: fix '<' issue when it comes in aatr value + * parser: refactoring to remove dependency from regex + * validator: fix IE 11 issue for error messages + * updated dev dependencies + * separated benchmark module to sub-module + * breaking change: comments will not be removed from CDATA data + +3.16.0 / 2020-01-12 + * validaor: fix for ampersand characters (#215) + * refactoring to support unicode chars in tag name + * update typing for validator error + +3.15.1 / 2019-12-09 + * validaor: fix multiple roots are not allowed + +3.15.0 / 2019-11-23 + * validaor: improve error messaging + * validator: add line number in case of error + * validator: add more error scenarios to make it more descriptive + +3.14.0 / 2019-10-25 + * arrayMode for XML to JS obj parsing + +3.13.0 / 2019-10-02 + * pass tag/attr name to tag/attr value processor + * inbuilt optional validation with XML parser + +3.12.21 / 2019-10-02 + * Fix validator for unclosed XMLs + * move nimnjs dependency to dev dependency + * update dependencies + +3.12.20 / 2019-08-16 + * Revert: Fix #167: '>' in attribute value as it is causing high performance degrade. + +3.12.19 / 2019-07-28 + * Fix js to xml parser should work for date values. (broken: `tagValueProcessor` will receive the original value instead of string always) (breaking change) + +3.12.18 / 2019-07-27 + * remove configstore dependency + +3.12.17 / 2019-07-14 + * Fix #167: '>' in attribute value + +3.12.16 / 2019-03-23 + * Support a new option "stopNodes". (#150) +Accept the list of tags which are not required to be parsed. Instead, all the nested tag and data will be assigned as string. + * Don't show post-install message + +3.12.12 / 2019-01-11 + * fix : IE parseInt, parseFloat error + +3.12.11 / 2018-12-24 + * fix #132: "/" should not be parsed as boolean attr in case of self closing tags + +3.12.9 / 2018-11-23 + * fix #129 : validator should not fail when an atrribute name is 'length' + +3.12.8 / 2018-11-22 + * fix #128 : use 'attrValueProcessor' to process attribute value in json2xml parser + +3.12.6 / 2018-11-10 + * Fix #126: check for type + +3.12.4 / 2018-09-12 + * Fix: include tasks in npm package + +3.12.3 / 2018-09-12 + * Fix CLI issue raised in last PR + +3.12.2 / 2018-09-11 + * Fix formatting for JSON to XML output + * Migrate to webpack (PR merged) + * fix cli (PR merged) + +3.12.0 / 2018-08-06 + * Support hexadecimal values + * Support true number parsing + +3.11.2 / 2018-07-23 + * Update Demo for more options + * Update license information + * Update readme for formatting, users, and spelling mistakes + * Add missing typescript definition for j2xParser + * refactoring: change filenames + +3.11.1 / 2018-06-05 + * fix #93: read the text after self closing tag + +3.11.0 / 2018-05-20 + * return defaultOptions if there are not options in buildOptions function + * added localeRange declaration in parser.d.ts + * Added support of cyrillic characters in validator XML + * fixed bug in validator work when XML data with byte order marker + +3.10.0 / 2018-05-13 + * Added support of cyrillic characters in parsing XML to JSON + +3.9.11 / 2018-05-09 + * fix https://github.com/NaturalIntelligence/fast-xml-parser/issues/80 fix nimn chars + * update package information + * fix https://github.com/NaturalIntelligence/fast-xml-parser/issues/86: json 2 xml parser : property with null value should be parsed to self closing tag. + * update online demo + * revert zombiejs to old version to support old version of node + * update dependencies + +3.3.10 / 2018-04-23 + * fix #77 : parse even if closing tag has space before '>' + * include all css & js lib in demo app + * remove babel dependencies until needed + +3.3.9 / 2018-04-18 + * fix #74 : TS2314 TypeScript compiler error + +3.3.8 / 2018-04-17 + * fix #73 : IE doesn't support Object.assign + +3.3.7 / 2018-04-14 + * fix: use let insted of const in for loop of validator + * Merge pull request + https://github.com/NaturalIntelligence/fast-xml-parser/issues/71 from bb/master + first draft of typings for typescript + https://github.com/NaturalIntelligence/fast-xml-parser/issues/69 + * Merge pull request + https://github.com/NaturalIntelligence/fast-xml-parser/issues/70 from bb/patch-1 + fix some typos in readme + +3.3.6 / 2018-03-21 + * change arrow functions to full notation for IE compatibility + +3.3.5 / 2018-03-15 + * fix https://github.com/NaturalIntelligence/fast-xml-parser/issues/67 : attrNodeName invalid behavior + * fix: remove decodeHTML char condition + +3.3.4 / 2018-03-14 + * remove dependency on "he" package + * refactor code to separate methods in separate files. + * draft code for transforming XML to json string. It is not officially documented due to performance issue. + +3.3.0 / 2018-03-05 + * use common default options for XML parsing for consistency. And add `parseToNimn` method. + * update nexttodo + * update README about XML to Nimn transformation and remove special notes about 3.x release + * update CONTRIBUTING.ms mentioning nexttodo + * add negative case for XML PIs + * validate xml processing instruction tags https://github.com/NaturalIntelligence/fast-xml-parser/issues/62 + * nimndata: handle array with object + * nimndata: node with nested node and text node + * nimndata: handle attributes and text node + * nimndata: add options, handle array + * add xml to nimn data converter + * x2j: direct access property with tagname + * update changelog + * fix validator when single quote presents in value enclosed with double quotes or vice versa + * Revert "remove unneded nimnjs dependency, move opencollective to devDependencies and replace it + with more light opencollective-postinstall" + This reverts commit d47aa7181075d82db4fee97fd8ea32b056fe3f46. + * Merge pull request: https://github.com/NaturalIntelligence/fast-xml-parser/issues/63 from HaroldPutman/suppress-undefined + Keep undefined nodes out of the XML output : This is useful when you are deleting nodes from the JSON and rewriting XML. + +3.2.4 / 2018-03-01 + * fix #59 fix in validator when open quote presents in attribute value + * Create nexttodo.md + * exclude static from bitHound tests + * add package lock + +3.2.3 / 2018-02-28 + * Merge pull request from Delagen/master: fix namespaces can contain the same characters as xml names + +3.2.2 / 2018-02-22 + * fix: attribute xmlns should not be removed if ignoreNameSpace is false + * create CONTRIBUTING.md + +3.2.1 / 2018-02-17 + * fix: empty attribute should be parsed + +3.2.0 / 2018-02-16 + * Merge pull request : Dev to Master + * Update README and version + * j2x:add performance test + * j2x: Remove extra empty line before closing tag + * j2x: suppress empty nodes to self closing node if configured + * j2x: provide option to give indentation depth + * j2x: make optional formatting + * j2x: encodeHTMLchat + * j2x: handle cdata tag + * j2x: handle grouped attributes + * convert json to xml + - nested object + - array + - attributes + - text value + * small refactoring + * Merge pull request: Update cli.js to let user validate XML file or data + * Add option for rendering CDATA as separate property + +3.0.1 / 2018-02-09 + * fix CRLF: replace it with single space in attributes value only. + +3.0.0 / 2018-02-08 + * change online tool with new changes + * update info about new options + * separate tag value processing to separate function + * make HTML decoding optional + * give an option to allow boolean attributes + * change cli options as per v3 + * Correct comparison table format on README + * update v3 information + * some performance improvement changes + * Make regex object local to the method and move some common methods to util + * Change parser to + - handle multiple instances of CDATA + - make triming of value optionals + - HTML decode attribute and text value + - refactor code to separate files + * Ignore newline chars without RE (in validator) + * validate for XML prolog + * Validate DOCTYPE without RE + * Update validator to return error response + * Update README to add detail about V3 + * Separate xmlNode model class + * include vscode debug config + * fix for repeated object + * fix attribute regex for boolean attributes + * Fix validator for invalid attributes +2.9.4 / 2018-02-02 + * Merge pull request: Decode HTML characters + * refactor source folder name + * ignore bundle / browser js to be published to npm +2.9.3 / 2018-01-26 + * Merge pull request: Correctly remove CRLF line breaks + * Enable to parse attribute in online editor + * Fix testing demo app test + * Describe parsing options + * Add options for online demo +2.9.2 / 2018-01-18 + * Remove check if tag starting with "XML" + * Fix: when there are spaces before / after CDATA + +2.9.1 / 2018-01-16 + * Fix: newline should be replaced with single space + * Fix: for single and multiline comments + * validate xml with CDATA + * Fix: the issue when there is no space between 2 attributes + * Fix: https://github.com/NaturalIntelligence/fast-xml-parser/issues/33: when there is newline char in attr val, it doesn't parse + * Merge pull request: fix ignoreNamespace + * fix: don't wrap attributes if only namespace attrs + * fix: use portfinder for run tests, update deps + * fix: don't treat namespaces as attributes when ignoreNamespace enabled + +2.9.0 / 2018-01-10 + * Rewrite the validator to handle large files. + Ignore DOCTYPE validation. + * Fix: When attribute value has equal sign + +2.8.3 / 2017-12-15 + * Fix: when a tag has value along with subtags + +2.8.2 / 2017-12-04 + * Fix value parsing for IE + +2.8.1 / 2017-12-01 + * fix: validator should return false instead of err when invalid XML + +2.8.0 / 2017-11-29 + * Add CLI option to ignore value conversion + * Fix variable name when filename is given on CLI + * Update CLI help text + * Merge pull request: xml2js: Accept standard input + * Test Node 8 + * Update dependencies + * Bundle readToEnd + * Add ability to read from standard input + +2.7.4 / 2017-09-22 + * Merge pull request: Allow wrap attributes with subobject to compatible with other parsers output + +2.7.3 / 2017-08-02 + * fix: handle CDATA with regx + +2.7.2 / 2017-07-30 + * Change travis config for yarn caching + * fix validator: when tag property is same as array property + * Merge pull request: Failing test case in validator for valid SVG + +2.7.1 / 2017-07-26 + * Fix: Handle val 0 + +2.7.0 / 2017-07-25 + * Fix test for arrayMode + * Merge pull request: Add arrayMode option to parse any nodes as arrays + +2.6.0 / 2017-07-14 + * code improvement + * Add unit tests for value conversion for attr + * Merge pull request: option of an attribute value conversion to a number (textAttrConversion) the same way as the textNodeConversion option does. Default value is false. + +2.5.1 / 2017-07-01 + * Fix XML element name pattern + * Fix XML element name pattern while parsing + * Fix validation for xml tag element + +2.5.0 / 2017-06-25 + * Improve Validator performance + * update attr matching regex + * Add perf tests + * Improve atrr regex to handle all cases + +2.4.4 / 2017-06-08 + * Bug fix: when an attribute has single or double quote in value + +2.4.3 / 2017-06-05 + * Bug fix: when multiple CDATA tags are given + * Merge pull request: add option "textNodeConversion" + * add option "textNodeConversion" + +2.4.1 / 2017-04-14 + * fix tests + * Bug fix: preserve initial space of node value + * Handle CDATA + +2.3.1 / 2017-03-15 + * Bug fix: when single self closing tag + * Merge pull request: fix .codeclimate.yml + * Update .codeclimate.yml - Fixed config so it does not error anymore. + * Update .codeclimate.yml + +2.3.0 / 2017-02-26 + * Code improvement + * add bithound config + * Update usage + * Update travis to generate bundle js before running tests + * 1.Browserify, 2. add more tests for validator + * Add validator + * Fix CLI default parameter bug + +2.2.1 / 2017-02-05 + * Bug fix: CLI default option diff --git a/.pnpm-store/v3/files/54/01f101832ba756eb7693751cd857349aef42052ae2c0d29c886fe514f74c356ffd8f4c0dac95508a801c7b8d6b2dbb515f3388c96c63b9ae844e37bf4024b6 b/.pnpm-store/v3/files/54/01f101832ba756eb7693751cd857349aef42052ae2c0d29c886fe514f74c356ffd8f4c0dac95508a801c7b8d6b2dbb515f3388c96c63b9ae844e37bf4024b6 new file mode 100644 index 00000000..451eb675 --- /dev/null +++ b/.pnpm-store/v3/files/54/01f101832ba756eb7693751cd857349aef42052ae2c0d29c886fe514f74c356ffd8f4c0dac95508a801c7b8d6b2dbb515f3388c96c63b9ae844e37bf4024b6 @@ -0,0 +1,32 @@ +{ + "name": "b4a", + "version": "1.6.6", + "description": "Bridging the gap between buffers and typed arrays", + "main": "index.js", + "files": [ + "browser.js", + "index.js", + "lib" + ], + "browser": { + "./index.js": "./browser.js" + }, + "scripts": { + "test": "standard && brittle test/*.mjs" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/holepunchto/b4a.git" + }, + "author": "Holepunch", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/holepunchto/b4a/issues" + }, + "homepage": "https://github.com/holepunchto/b4a#readme", + "devDependencies": { + "brittle": "^1.3.5", + "nanobench": "^2.1.1", + "standard": "^16.0.3" + } +} diff --git a/.pnpm-store/v3/files/54/a09c9b6327b43d8b0cab7ecd7bbb41cd184f0dbd5f4736d22ad80e0f2b4f367dc7b3dab0decaca46d239a79be38e6ea2605f07066394ad434ad925015b4d3d b/.pnpm-store/v3/files/54/a09c9b6327b43d8b0cab7ecd7bbb41cd184f0dbd5f4736d22ad80e0f2b4f367dc7b3dab0decaca46d239a79be38e6ea2605f07066394ad434ad925015b4d3d new file mode 100644 index 00000000..529841cd --- /dev/null +++ b/.pnpm-store/v3/files/54/a09c9b6327b43d8b0cab7ecd7bbb41cd184f0dbd5f4736d22ad80e0f2b4f367dc7b3dab0decaca46d239a79be38e6ea2605f07066394ad434ad925015b4d3d @@ -0,0 +1,1002 @@ +{ + "name": "@babel/runtime", + "version": "7.23.9", + "description": "babel's modular runtime helpers", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-runtime" + }, + "homepage": "https://babel.dev/docs/en/next/babel-runtime", + "author": "The Babel Team (https://babel.dev/team)", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "exports": { + "./helpers/AsyncGenerator": [ + { + "node": "./helpers/AsyncGenerator.js", + "import": "./helpers/esm/AsyncGenerator.js", + "default": "./helpers/AsyncGenerator.js" + }, + "./helpers/AsyncGenerator.js" + ], + "./helpers/esm/AsyncGenerator": "./helpers/esm/AsyncGenerator.js", + "./helpers/OverloadYield": [ + { + "node": "./helpers/OverloadYield.js", + "import": "./helpers/esm/OverloadYield.js", + "default": "./helpers/OverloadYield.js" + }, + "./helpers/OverloadYield.js" + ], + "./helpers/esm/OverloadYield": "./helpers/esm/OverloadYield.js", + "./helpers/applyDecs": [ + { + "node": "./helpers/applyDecs.js", + "import": "./helpers/esm/applyDecs.js", + "default": "./helpers/applyDecs.js" + }, + "./helpers/applyDecs.js" + ], + "./helpers/esm/applyDecs": "./helpers/esm/applyDecs.js", + "./helpers/applyDecs2203": [ + { + "node": "./helpers/applyDecs2203.js", + "import": "./helpers/esm/applyDecs2203.js", + "default": "./helpers/applyDecs2203.js" + }, + "./helpers/applyDecs2203.js" + ], + "./helpers/esm/applyDecs2203": "./helpers/esm/applyDecs2203.js", + "./helpers/applyDecs2203R": [ + { + "node": "./helpers/applyDecs2203R.js", + "import": "./helpers/esm/applyDecs2203R.js", + "default": "./helpers/applyDecs2203R.js" + }, + "./helpers/applyDecs2203R.js" + ], + "./helpers/esm/applyDecs2203R": "./helpers/esm/applyDecs2203R.js", + "./helpers/applyDecs2301": [ + { + "node": "./helpers/applyDecs2301.js", + "import": "./helpers/esm/applyDecs2301.js", + "default": "./helpers/applyDecs2301.js" + }, + "./helpers/applyDecs2301.js" + ], + "./helpers/esm/applyDecs2301": "./helpers/esm/applyDecs2301.js", + "./helpers/applyDecs2305": [ + { + "node": "./helpers/applyDecs2305.js", + "import": "./helpers/esm/applyDecs2305.js", + "default": "./helpers/applyDecs2305.js" + }, + "./helpers/applyDecs2305.js" + ], + "./helpers/esm/applyDecs2305": "./helpers/esm/applyDecs2305.js", + "./helpers/asyncGeneratorDelegate": [ + { + "node": "./helpers/asyncGeneratorDelegate.js", + "import": "./helpers/esm/asyncGeneratorDelegate.js", + "default": "./helpers/asyncGeneratorDelegate.js" + }, + "./helpers/asyncGeneratorDelegate.js" + ], + "./helpers/esm/asyncGeneratorDelegate": "./helpers/esm/asyncGeneratorDelegate.js", + "./helpers/asyncIterator": [ + { + "node": "./helpers/asyncIterator.js", + "import": "./helpers/esm/asyncIterator.js", + "default": "./helpers/asyncIterator.js" + }, + "./helpers/asyncIterator.js" + ], + "./helpers/esm/asyncIterator": "./helpers/esm/asyncIterator.js", + "./helpers/awaitAsyncGenerator": [ + { + "node": "./helpers/awaitAsyncGenerator.js", + "import": "./helpers/esm/awaitAsyncGenerator.js", + "default": "./helpers/awaitAsyncGenerator.js" + }, + "./helpers/awaitAsyncGenerator.js" + ], + "./helpers/esm/awaitAsyncGenerator": "./helpers/esm/awaitAsyncGenerator.js", + "./helpers/callSuper": [ + { + "node": "./helpers/callSuper.js", + "import": "./helpers/esm/callSuper.js", + "default": "./helpers/callSuper.js" + }, + "./helpers/callSuper.js" + ], + "./helpers/esm/callSuper": "./helpers/esm/callSuper.js", + "./helpers/checkInRHS": [ + { + "node": "./helpers/checkInRHS.js", + "import": "./helpers/esm/checkInRHS.js", + "default": "./helpers/checkInRHS.js" + }, + "./helpers/checkInRHS.js" + ], + "./helpers/esm/checkInRHS": "./helpers/esm/checkInRHS.js", + "./helpers/construct": [ + { + "node": "./helpers/construct.js", + "import": "./helpers/esm/construct.js", + "default": "./helpers/construct.js" + }, + "./helpers/construct.js" + ], + "./helpers/esm/construct": "./helpers/esm/construct.js", + "./helpers/defineAccessor": [ + { + "node": "./helpers/defineAccessor.js", + "import": "./helpers/esm/defineAccessor.js", + "default": "./helpers/defineAccessor.js" + }, + "./helpers/defineAccessor.js" + ], + "./helpers/esm/defineAccessor": "./helpers/esm/defineAccessor.js", + "./helpers/dispose": [ + { + "node": "./helpers/dispose.js", + "import": "./helpers/esm/dispose.js", + "default": "./helpers/dispose.js" + }, + "./helpers/dispose.js" + ], + "./helpers/esm/dispose": "./helpers/esm/dispose.js", + "./helpers/importDeferProxy": [ + { + "node": "./helpers/importDeferProxy.js", + "import": "./helpers/esm/importDeferProxy.js", + "default": "./helpers/importDeferProxy.js" + }, + "./helpers/importDeferProxy.js" + ], + "./helpers/esm/importDeferProxy": "./helpers/esm/importDeferProxy.js", + "./helpers/interopRequireWildcard": [ + { + "node": "./helpers/interopRequireWildcard.js", + "import": "./helpers/esm/interopRequireWildcard.js", + "default": "./helpers/interopRequireWildcard.js" + }, + "./helpers/interopRequireWildcard.js" + ], + "./helpers/esm/interopRequireWildcard": "./helpers/esm/interopRequireWildcard.js", + "./helpers/isNativeReflectConstruct": [ + { + "node": "./helpers/isNativeReflectConstruct.js", + "import": "./helpers/esm/isNativeReflectConstruct.js", + "default": "./helpers/isNativeReflectConstruct.js" + }, + "./helpers/isNativeReflectConstruct.js" + ], + "./helpers/esm/isNativeReflectConstruct": "./helpers/esm/isNativeReflectConstruct.js", + "./helpers/iterableToArrayLimit": [ + { + "node": "./helpers/iterableToArrayLimit.js", + "import": "./helpers/esm/iterableToArrayLimit.js", + "default": "./helpers/iterableToArrayLimit.js" + }, + "./helpers/iterableToArrayLimit.js" + ], + "./helpers/esm/iterableToArrayLimit": "./helpers/esm/iterableToArrayLimit.js", + "./helpers/iterableToArrayLimitLoose": [ + { + "node": "./helpers/iterableToArrayLimitLoose.js", + "import": "./helpers/esm/iterableToArrayLimitLoose.js", + "default": "./helpers/iterableToArrayLimitLoose.js" + }, + "./helpers/iterableToArrayLimitLoose.js" + ], + "./helpers/esm/iterableToArrayLimitLoose": "./helpers/esm/iterableToArrayLimitLoose.js", + "./helpers/jsx": [ + { + "node": "./helpers/jsx.js", + "import": "./helpers/esm/jsx.js", + "default": "./helpers/jsx.js" + }, + "./helpers/jsx.js" + ], + "./helpers/esm/jsx": "./helpers/esm/jsx.js", + "./helpers/objectSpread2": [ + { + "node": "./helpers/objectSpread2.js", + "import": "./helpers/esm/objectSpread2.js", + "default": "./helpers/objectSpread2.js" + }, + "./helpers/objectSpread2.js" + ], + "./helpers/esm/objectSpread2": "./helpers/esm/objectSpread2.js", + "./helpers/regeneratorRuntime": [ + { + "node": "./helpers/regeneratorRuntime.js", + "import": "./helpers/esm/regeneratorRuntime.js", + "default": "./helpers/regeneratorRuntime.js" + }, + "./helpers/regeneratorRuntime.js" + ], + "./helpers/esm/regeneratorRuntime": "./helpers/esm/regeneratorRuntime.js", + "./helpers/setFunctionName": [ + { + "node": "./helpers/setFunctionName.js", + "import": "./helpers/esm/setFunctionName.js", + "default": "./helpers/setFunctionName.js" + }, + "./helpers/setFunctionName.js" + ], + "./helpers/esm/setFunctionName": "./helpers/esm/setFunctionName.js", + "./helpers/toPrimitive": [ + { + "node": "./helpers/toPrimitive.js", + "import": "./helpers/esm/toPrimitive.js", + "default": "./helpers/toPrimitive.js" + }, + "./helpers/toPrimitive.js" + ], + "./helpers/esm/toPrimitive": "./helpers/esm/toPrimitive.js", + "./helpers/toPropertyKey": [ + { + "node": "./helpers/toPropertyKey.js", + "import": "./helpers/esm/toPropertyKey.js", + "default": "./helpers/toPropertyKey.js" + }, + "./helpers/toPropertyKey.js" + ], + "./helpers/esm/toPropertyKey": "./helpers/esm/toPropertyKey.js", + "./helpers/typeof": [ + { + "node": "./helpers/typeof.js", + "import": "./helpers/esm/typeof.js", + "default": "./helpers/typeof.js" + }, + "./helpers/typeof.js" + ], + "./helpers/esm/typeof": "./helpers/esm/typeof.js", + "./helpers/using": [ + { + "node": "./helpers/using.js", + "import": "./helpers/esm/using.js", + "default": "./helpers/using.js" + }, + "./helpers/using.js" + ], + "./helpers/esm/using": "./helpers/esm/using.js", + "./helpers/usingCtx": [ + { + "node": "./helpers/usingCtx.js", + "import": "./helpers/esm/usingCtx.js", + "default": "./helpers/usingCtx.js" + }, + "./helpers/usingCtx.js" + ], + "./helpers/esm/usingCtx": "./helpers/esm/usingCtx.js", + "./helpers/wrapRegExp": [ + { + "node": "./helpers/wrapRegExp.js", + "import": "./helpers/esm/wrapRegExp.js", + "default": "./helpers/wrapRegExp.js" + }, + "./helpers/wrapRegExp.js" + ], + "./helpers/esm/wrapRegExp": "./helpers/esm/wrapRegExp.js", + "./helpers/AwaitValue": [ + { + "node": "./helpers/AwaitValue.js", + "import": "./helpers/esm/AwaitValue.js", + "default": "./helpers/AwaitValue.js" + }, + "./helpers/AwaitValue.js" + ], + "./helpers/esm/AwaitValue": "./helpers/esm/AwaitValue.js", + "./helpers/wrapAsyncGenerator": [ + { + "node": "./helpers/wrapAsyncGenerator.js", + "import": "./helpers/esm/wrapAsyncGenerator.js", + "default": "./helpers/wrapAsyncGenerator.js" + }, + "./helpers/wrapAsyncGenerator.js" + ], + "./helpers/esm/wrapAsyncGenerator": "./helpers/esm/wrapAsyncGenerator.js", + "./helpers/asyncToGenerator": [ + { + "node": "./helpers/asyncToGenerator.js", + "import": "./helpers/esm/asyncToGenerator.js", + "default": "./helpers/asyncToGenerator.js" + }, + "./helpers/asyncToGenerator.js" + ], + "./helpers/esm/asyncToGenerator": "./helpers/esm/asyncToGenerator.js", + "./helpers/classCallCheck": [ + { + "node": "./helpers/classCallCheck.js", + "import": "./helpers/esm/classCallCheck.js", + "default": "./helpers/classCallCheck.js" + }, + "./helpers/classCallCheck.js" + ], + "./helpers/esm/classCallCheck": "./helpers/esm/classCallCheck.js", + "./helpers/createClass": [ + { + "node": "./helpers/createClass.js", + "import": "./helpers/esm/createClass.js", + "default": "./helpers/createClass.js" + }, + "./helpers/createClass.js" + ], + "./helpers/esm/createClass": "./helpers/esm/createClass.js", + "./helpers/defineEnumerableProperties": [ + { + "node": "./helpers/defineEnumerableProperties.js", + "import": "./helpers/esm/defineEnumerableProperties.js", + "default": "./helpers/defineEnumerableProperties.js" + }, + "./helpers/defineEnumerableProperties.js" + ], + "./helpers/esm/defineEnumerableProperties": "./helpers/esm/defineEnumerableProperties.js", + "./helpers/defaults": [ + { + "node": "./helpers/defaults.js", + "import": "./helpers/esm/defaults.js", + "default": "./helpers/defaults.js" + }, + "./helpers/defaults.js" + ], + "./helpers/esm/defaults": "./helpers/esm/defaults.js", + "./helpers/defineProperty": [ + { + "node": "./helpers/defineProperty.js", + "import": "./helpers/esm/defineProperty.js", + "default": "./helpers/defineProperty.js" + }, + "./helpers/defineProperty.js" + ], + "./helpers/esm/defineProperty": "./helpers/esm/defineProperty.js", + "./helpers/extends": [ + { + "node": "./helpers/extends.js", + "import": "./helpers/esm/extends.js", + "default": "./helpers/extends.js" + }, + "./helpers/extends.js" + ], + "./helpers/esm/extends": "./helpers/esm/extends.js", + "./helpers/objectSpread": [ + { + "node": "./helpers/objectSpread.js", + "import": "./helpers/esm/objectSpread.js", + "default": "./helpers/objectSpread.js" + }, + "./helpers/objectSpread.js" + ], + "./helpers/esm/objectSpread": "./helpers/esm/objectSpread.js", + "./helpers/inherits": [ + { + "node": "./helpers/inherits.js", + "import": "./helpers/esm/inherits.js", + "default": "./helpers/inherits.js" + }, + "./helpers/inherits.js" + ], + "./helpers/esm/inherits": "./helpers/esm/inherits.js", + "./helpers/inheritsLoose": [ + { + "node": "./helpers/inheritsLoose.js", + "import": "./helpers/esm/inheritsLoose.js", + "default": "./helpers/inheritsLoose.js" + }, + "./helpers/inheritsLoose.js" + ], + "./helpers/esm/inheritsLoose": "./helpers/esm/inheritsLoose.js", + "./helpers/getPrototypeOf": [ + { + "node": "./helpers/getPrototypeOf.js", + "import": "./helpers/esm/getPrototypeOf.js", + "default": "./helpers/getPrototypeOf.js" + }, + "./helpers/getPrototypeOf.js" + ], + "./helpers/esm/getPrototypeOf": "./helpers/esm/getPrototypeOf.js", + "./helpers/setPrototypeOf": [ + { + "node": "./helpers/setPrototypeOf.js", + "import": "./helpers/esm/setPrototypeOf.js", + "default": "./helpers/setPrototypeOf.js" + }, + "./helpers/setPrototypeOf.js" + ], + "./helpers/esm/setPrototypeOf": "./helpers/esm/setPrototypeOf.js", + "./helpers/isNativeFunction": [ + { + "node": "./helpers/isNativeFunction.js", + "import": "./helpers/esm/isNativeFunction.js", + "default": "./helpers/isNativeFunction.js" + }, + "./helpers/isNativeFunction.js" + ], + "./helpers/esm/isNativeFunction": "./helpers/esm/isNativeFunction.js", + "./helpers/wrapNativeSuper": [ + { + "node": "./helpers/wrapNativeSuper.js", + "import": "./helpers/esm/wrapNativeSuper.js", + "default": "./helpers/wrapNativeSuper.js" + }, + "./helpers/wrapNativeSuper.js" + ], + "./helpers/esm/wrapNativeSuper": "./helpers/esm/wrapNativeSuper.js", + "./helpers/instanceof": [ + { + "node": "./helpers/instanceof.js", + "import": "./helpers/esm/instanceof.js", + "default": "./helpers/instanceof.js" + }, + "./helpers/instanceof.js" + ], + "./helpers/esm/instanceof": "./helpers/esm/instanceof.js", + "./helpers/interopRequireDefault": [ + { + "node": "./helpers/interopRequireDefault.js", + "import": "./helpers/esm/interopRequireDefault.js", + "default": "./helpers/interopRequireDefault.js" + }, + "./helpers/interopRequireDefault.js" + ], + "./helpers/esm/interopRequireDefault": "./helpers/esm/interopRequireDefault.js", + "./helpers/newArrowCheck": [ + { + "node": "./helpers/newArrowCheck.js", + "import": "./helpers/esm/newArrowCheck.js", + "default": "./helpers/newArrowCheck.js" + }, + "./helpers/newArrowCheck.js" + ], + "./helpers/esm/newArrowCheck": "./helpers/esm/newArrowCheck.js", + "./helpers/objectDestructuringEmpty": [ + { + "node": "./helpers/objectDestructuringEmpty.js", + "import": "./helpers/esm/objectDestructuringEmpty.js", + "default": "./helpers/objectDestructuringEmpty.js" + }, + "./helpers/objectDestructuringEmpty.js" + ], + "./helpers/esm/objectDestructuringEmpty": "./helpers/esm/objectDestructuringEmpty.js", + "./helpers/objectWithoutPropertiesLoose": [ + { + "node": "./helpers/objectWithoutPropertiesLoose.js", + "import": "./helpers/esm/objectWithoutPropertiesLoose.js", + "default": "./helpers/objectWithoutPropertiesLoose.js" + }, + "./helpers/objectWithoutPropertiesLoose.js" + ], + "./helpers/esm/objectWithoutPropertiesLoose": "./helpers/esm/objectWithoutPropertiesLoose.js", + "./helpers/objectWithoutProperties": [ + { + "node": "./helpers/objectWithoutProperties.js", + "import": "./helpers/esm/objectWithoutProperties.js", + "default": "./helpers/objectWithoutProperties.js" + }, + "./helpers/objectWithoutProperties.js" + ], + "./helpers/esm/objectWithoutProperties": "./helpers/esm/objectWithoutProperties.js", + "./helpers/assertThisInitialized": [ + { + "node": "./helpers/assertThisInitialized.js", + "import": "./helpers/esm/assertThisInitialized.js", + "default": "./helpers/assertThisInitialized.js" + }, + "./helpers/assertThisInitialized.js" + ], + "./helpers/esm/assertThisInitialized": "./helpers/esm/assertThisInitialized.js", + "./helpers/possibleConstructorReturn": [ + { + "node": "./helpers/possibleConstructorReturn.js", + "import": "./helpers/esm/possibleConstructorReturn.js", + "default": "./helpers/possibleConstructorReturn.js" + }, + "./helpers/possibleConstructorReturn.js" + ], + "./helpers/esm/possibleConstructorReturn": "./helpers/esm/possibleConstructorReturn.js", + "./helpers/createSuper": [ + { + "node": "./helpers/createSuper.js", + "import": "./helpers/esm/createSuper.js", + "default": "./helpers/createSuper.js" + }, + "./helpers/createSuper.js" + ], + "./helpers/esm/createSuper": "./helpers/esm/createSuper.js", + "./helpers/superPropBase": [ + { + "node": "./helpers/superPropBase.js", + "import": "./helpers/esm/superPropBase.js", + "default": "./helpers/superPropBase.js" + }, + "./helpers/superPropBase.js" + ], + "./helpers/esm/superPropBase": "./helpers/esm/superPropBase.js", + "./helpers/get": [ + { + "node": "./helpers/get.js", + "import": "./helpers/esm/get.js", + "default": "./helpers/get.js" + }, + "./helpers/get.js" + ], + "./helpers/esm/get": "./helpers/esm/get.js", + "./helpers/set": [ + { + "node": "./helpers/set.js", + "import": "./helpers/esm/set.js", + "default": "./helpers/set.js" + }, + "./helpers/set.js" + ], + "./helpers/esm/set": "./helpers/esm/set.js", + "./helpers/taggedTemplateLiteral": [ + { + "node": "./helpers/taggedTemplateLiteral.js", + "import": "./helpers/esm/taggedTemplateLiteral.js", + "default": "./helpers/taggedTemplateLiteral.js" + }, + "./helpers/taggedTemplateLiteral.js" + ], + "./helpers/esm/taggedTemplateLiteral": "./helpers/esm/taggedTemplateLiteral.js", + "./helpers/taggedTemplateLiteralLoose": [ + { + "node": "./helpers/taggedTemplateLiteralLoose.js", + "import": "./helpers/esm/taggedTemplateLiteralLoose.js", + "default": "./helpers/taggedTemplateLiteralLoose.js" + }, + "./helpers/taggedTemplateLiteralLoose.js" + ], + "./helpers/esm/taggedTemplateLiteralLoose": "./helpers/esm/taggedTemplateLiteralLoose.js", + "./helpers/readOnlyError": [ + { + "node": "./helpers/readOnlyError.js", + "import": "./helpers/esm/readOnlyError.js", + "default": "./helpers/readOnlyError.js" + }, + "./helpers/readOnlyError.js" + ], + "./helpers/esm/readOnlyError": "./helpers/esm/readOnlyError.js", + "./helpers/writeOnlyError": [ + { + "node": "./helpers/writeOnlyError.js", + "import": "./helpers/esm/writeOnlyError.js", + "default": "./helpers/writeOnlyError.js" + }, + "./helpers/writeOnlyError.js" + ], + "./helpers/esm/writeOnlyError": "./helpers/esm/writeOnlyError.js", + "./helpers/classNameTDZError": [ + { + "node": "./helpers/classNameTDZError.js", + "import": "./helpers/esm/classNameTDZError.js", + "default": "./helpers/classNameTDZError.js" + }, + "./helpers/classNameTDZError.js" + ], + "./helpers/esm/classNameTDZError": "./helpers/esm/classNameTDZError.js", + "./helpers/temporalUndefined": [ + { + "node": "./helpers/temporalUndefined.js", + "import": "./helpers/esm/temporalUndefined.js", + "default": "./helpers/temporalUndefined.js" + }, + "./helpers/temporalUndefined.js" + ], + "./helpers/esm/temporalUndefined": "./helpers/esm/temporalUndefined.js", + "./helpers/tdz": [ + { + "node": "./helpers/tdz.js", + "import": "./helpers/esm/tdz.js", + "default": "./helpers/tdz.js" + }, + "./helpers/tdz.js" + ], + "./helpers/esm/tdz": "./helpers/esm/tdz.js", + "./helpers/temporalRef": [ + { + "node": "./helpers/temporalRef.js", + "import": "./helpers/esm/temporalRef.js", + "default": "./helpers/temporalRef.js" + }, + "./helpers/temporalRef.js" + ], + "./helpers/esm/temporalRef": "./helpers/esm/temporalRef.js", + "./helpers/slicedToArray": [ + { + "node": "./helpers/slicedToArray.js", + "import": "./helpers/esm/slicedToArray.js", + "default": "./helpers/slicedToArray.js" + }, + "./helpers/slicedToArray.js" + ], + "./helpers/esm/slicedToArray": "./helpers/esm/slicedToArray.js", + "./helpers/slicedToArrayLoose": [ + { + "node": "./helpers/slicedToArrayLoose.js", + "import": "./helpers/esm/slicedToArrayLoose.js", + "default": "./helpers/slicedToArrayLoose.js" + }, + "./helpers/slicedToArrayLoose.js" + ], + "./helpers/esm/slicedToArrayLoose": "./helpers/esm/slicedToArrayLoose.js", + "./helpers/toArray": [ + { + "node": "./helpers/toArray.js", + "import": "./helpers/esm/toArray.js", + "default": "./helpers/toArray.js" + }, + "./helpers/toArray.js" + ], + "./helpers/esm/toArray": "./helpers/esm/toArray.js", + "./helpers/toConsumableArray": [ + { + "node": "./helpers/toConsumableArray.js", + "import": "./helpers/esm/toConsumableArray.js", + "default": "./helpers/toConsumableArray.js" + }, + "./helpers/toConsumableArray.js" + ], + "./helpers/esm/toConsumableArray": "./helpers/esm/toConsumableArray.js", + "./helpers/arrayWithoutHoles": [ + { + "node": "./helpers/arrayWithoutHoles.js", + "import": "./helpers/esm/arrayWithoutHoles.js", + "default": "./helpers/arrayWithoutHoles.js" + }, + "./helpers/arrayWithoutHoles.js" + ], + "./helpers/esm/arrayWithoutHoles": "./helpers/esm/arrayWithoutHoles.js", + "./helpers/arrayWithHoles": [ + { + "node": "./helpers/arrayWithHoles.js", + "import": "./helpers/esm/arrayWithHoles.js", + "default": "./helpers/arrayWithHoles.js" + }, + "./helpers/arrayWithHoles.js" + ], + "./helpers/esm/arrayWithHoles": "./helpers/esm/arrayWithHoles.js", + "./helpers/maybeArrayLike": [ + { + "node": "./helpers/maybeArrayLike.js", + "import": "./helpers/esm/maybeArrayLike.js", + "default": "./helpers/maybeArrayLike.js" + }, + "./helpers/maybeArrayLike.js" + ], + "./helpers/esm/maybeArrayLike": "./helpers/esm/maybeArrayLike.js", + "./helpers/iterableToArray": [ + { + "node": "./helpers/iterableToArray.js", + "import": "./helpers/esm/iterableToArray.js", + "default": "./helpers/iterableToArray.js" + }, + "./helpers/iterableToArray.js" + ], + "./helpers/esm/iterableToArray": "./helpers/esm/iterableToArray.js", + "./helpers/unsupportedIterableToArray": [ + { + "node": "./helpers/unsupportedIterableToArray.js", + "import": "./helpers/esm/unsupportedIterableToArray.js", + "default": "./helpers/unsupportedIterableToArray.js" + }, + "./helpers/unsupportedIterableToArray.js" + ], + "./helpers/esm/unsupportedIterableToArray": "./helpers/esm/unsupportedIterableToArray.js", + "./helpers/arrayLikeToArray": [ + { + "node": "./helpers/arrayLikeToArray.js", + "import": "./helpers/esm/arrayLikeToArray.js", + "default": "./helpers/arrayLikeToArray.js" + }, + "./helpers/arrayLikeToArray.js" + ], + "./helpers/esm/arrayLikeToArray": "./helpers/esm/arrayLikeToArray.js", + "./helpers/nonIterableSpread": [ + { + "node": "./helpers/nonIterableSpread.js", + "import": "./helpers/esm/nonIterableSpread.js", + "default": "./helpers/nonIterableSpread.js" + }, + "./helpers/nonIterableSpread.js" + ], + "./helpers/esm/nonIterableSpread": "./helpers/esm/nonIterableSpread.js", + "./helpers/nonIterableRest": [ + { + "node": "./helpers/nonIterableRest.js", + "import": "./helpers/esm/nonIterableRest.js", + "default": "./helpers/nonIterableRest.js" + }, + "./helpers/nonIterableRest.js" + ], + "./helpers/esm/nonIterableRest": "./helpers/esm/nonIterableRest.js", + "./helpers/createForOfIteratorHelper": [ + { + "node": "./helpers/createForOfIteratorHelper.js", + "import": "./helpers/esm/createForOfIteratorHelper.js", + "default": "./helpers/createForOfIteratorHelper.js" + }, + "./helpers/createForOfIteratorHelper.js" + ], + "./helpers/esm/createForOfIteratorHelper": "./helpers/esm/createForOfIteratorHelper.js", + "./helpers/createForOfIteratorHelperLoose": [ + { + "node": "./helpers/createForOfIteratorHelperLoose.js", + "import": "./helpers/esm/createForOfIteratorHelperLoose.js", + "default": "./helpers/createForOfIteratorHelperLoose.js" + }, + "./helpers/createForOfIteratorHelperLoose.js" + ], + "./helpers/esm/createForOfIteratorHelperLoose": "./helpers/esm/createForOfIteratorHelperLoose.js", + "./helpers/skipFirstGeneratorNext": [ + { + "node": "./helpers/skipFirstGeneratorNext.js", + "import": "./helpers/esm/skipFirstGeneratorNext.js", + "default": "./helpers/skipFirstGeneratorNext.js" + }, + "./helpers/skipFirstGeneratorNext.js" + ], + "./helpers/esm/skipFirstGeneratorNext": "./helpers/esm/skipFirstGeneratorNext.js", + "./helpers/initializerWarningHelper": [ + { + "node": "./helpers/initializerWarningHelper.js", + "import": "./helpers/esm/initializerWarningHelper.js", + "default": "./helpers/initializerWarningHelper.js" + }, + "./helpers/initializerWarningHelper.js" + ], + "./helpers/esm/initializerWarningHelper": "./helpers/esm/initializerWarningHelper.js", + "./helpers/initializerDefineProperty": [ + { + "node": "./helpers/initializerDefineProperty.js", + "import": "./helpers/esm/initializerDefineProperty.js", + "default": "./helpers/initializerDefineProperty.js" + }, + "./helpers/initializerDefineProperty.js" + ], + "./helpers/esm/initializerDefineProperty": "./helpers/esm/initializerDefineProperty.js", + "./helpers/applyDecoratedDescriptor": [ + { + "node": "./helpers/applyDecoratedDescriptor.js", + "import": "./helpers/esm/applyDecoratedDescriptor.js", + "default": "./helpers/applyDecoratedDescriptor.js" + }, + "./helpers/applyDecoratedDescriptor.js" + ], + "./helpers/esm/applyDecoratedDescriptor": "./helpers/esm/applyDecoratedDescriptor.js", + "./helpers/classPrivateFieldLooseKey": [ + { + "node": "./helpers/classPrivateFieldLooseKey.js", + "import": "./helpers/esm/classPrivateFieldLooseKey.js", + "default": "./helpers/classPrivateFieldLooseKey.js" + }, + "./helpers/classPrivateFieldLooseKey.js" + ], + "./helpers/esm/classPrivateFieldLooseKey": "./helpers/esm/classPrivateFieldLooseKey.js", + "./helpers/classPrivateFieldLooseBase": [ + { + "node": "./helpers/classPrivateFieldLooseBase.js", + "import": "./helpers/esm/classPrivateFieldLooseBase.js", + "default": "./helpers/classPrivateFieldLooseBase.js" + }, + "./helpers/classPrivateFieldLooseBase.js" + ], + "./helpers/esm/classPrivateFieldLooseBase": "./helpers/esm/classPrivateFieldLooseBase.js", + "./helpers/classPrivateFieldGet": [ + { + "node": "./helpers/classPrivateFieldGet.js", + "import": "./helpers/esm/classPrivateFieldGet.js", + "default": "./helpers/classPrivateFieldGet.js" + }, + "./helpers/classPrivateFieldGet.js" + ], + "./helpers/esm/classPrivateFieldGet": "./helpers/esm/classPrivateFieldGet.js", + "./helpers/classPrivateFieldSet": [ + { + "node": "./helpers/classPrivateFieldSet.js", + "import": "./helpers/esm/classPrivateFieldSet.js", + "default": "./helpers/classPrivateFieldSet.js" + }, + "./helpers/classPrivateFieldSet.js" + ], + "./helpers/esm/classPrivateFieldSet": "./helpers/esm/classPrivateFieldSet.js", + "./helpers/classPrivateFieldDestructureSet": [ + { + "node": "./helpers/classPrivateFieldDestructureSet.js", + "import": "./helpers/esm/classPrivateFieldDestructureSet.js", + "default": "./helpers/classPrivateFieldDestructureSet.js" + }, + "./helpers/classPrivateFieldDestructureSet.js" + ], + "./helpers/esm/classPrivateFieldDestructureSet": "./helpers/esm/classPrivateFieldDestructureSet.js", + "./helpers/classExtractFieldDescriptor": [ + { + "node": "./helpers/classExtractFieldDescriptor.js", + "import": "./helpers/esm/classExtractFieldDescriptor.js", + "default": "./helpers/classExtractFieldDescriptor.js" + }, + "./helpers/classExtractFieldDescriptor.js" + ], + "./helpers/esm/classExtractFieldDescriptor": "./helpers/esm/classExtractFieldDescriptor.js", + "./helpers/classStaticPrivateFieldSpecGet": [ + { + "node": "./helpers/classStaticPrivateFieldSpecGet.js", + "import": "./helpers/esm/classStaticPrivateFieldSpecGet.js", + "default": "./helpers/classStaticPrivateFieldSpecGet.js" + }, + "./helpers/classStaticPrivateFieldSpecGet.js" + ], + "./helpers/esm/classStaticPrivateFieldSpecGet": "./helpers/esm/classStaticPrivateFieldSpecGet.js", + "./helpers/classStaticPrivateFieldSpecSet": [ + { + "node": "./helpers/classStaticPrivateFieldSpecSet.js", + "import": "./helpers/esm/classStaticPrivateFieldSpecSet.js", + "default": "./helpers/classStaticPrivateFieldSpecSet.js" + }, + "./helpers/classStaticPrivateFieldSpecSet.js" + ], + "./helpers/esm/classStaticPrivateFieldSpecSet": "./helpers/esm/classStaticPrivateFieldSpecSet.js", + "./helpers/classStaticPrivateMethodGet": [ + { + "node": "./helpers/classStaticPrivateMethodGet.js", + "import": "./helpers/esm/classStaticPrivateMethodGet.js", + "default": "./helpers/classStaticPrivateMethodGet.js" + }, + "./helpers/classStaticPrivateMethodGet.js" + ], + "./helpers/esm/classStaticPrivateMethodGet": "./helpers/esm/classStaticPrivateMethodGet.js", + "./helpers/classStaticPrivateMethodSet": [ + { + "node": "./helpers/classStaticPrivateMethodSet.js", + "import": "./helpers/esm/classStaticPrivateMethodSet.js", + "default": "./helpers/classStaticPrivateMethodSet.js" + }, + "./helpers/classStaticPrivateMethodSet.js" + ], + "./helpers/esm/classStaticPrivateMethodSet": "./helpers/esm/classStaticPrivateMethodSet.js", + "./helpers/classApplyDescriptorGet": [ + { + "node": "./helpers/classApplyDescriptorGet.js", + "import": "./helpers/esm/classApplyDescriptorGet.js", + "default": "./helpers/classApplyDescriptorGet.js" + }, + "./helpers/classApplyDescriptorGet.js" + ], + "./helpers/esm/classApplyDescriptorGet": "./helpers/esm/classApplyDescriptorGet.js", + "./helpers/classApplyDescriptorSet": [ + { + "node": "./helpers/classApplyDescriptorSet.js", + "import": "./helpers/esm/classApplyDescriptorSet.js", + "default": "./helpers/classApplyDescriptorSet.js" + }, + "./helpers/classApplyDescriptorSet.js" + ], + "./helpers/esm/classApplyDescriptorSet": "./helpers/esm/classApplyDescriptorSet.js", + "./helpers/classApplyDescriptorDestructureSet": [ + { + "node": "./helpers/classApplyDescriptorDestructureSet.js", + "import": "./helpers/esm/classApplyDescriptorDestructureSet.js", + "default": "./helpers/classApplyDescriptorDestructureSet.js" + }, + "./helpers/classApplyDescriptorDestructureSet.js" + ], + "./helpers/esm/classApplyDescriptorDestructureSet": "./helpers/esm/classApplyDescriptorDestructureSet.js", + "./helpers/classStaticPrivateFieldDestructureSet": [ + { + "node": "./helpers/classStaticPrivateFieldDestructureSet.js", + "import": "./helpers/esm/classStaticPrivateFieldDestructureSet.js", + "default": "./helpers/classStaticPrivateFieldDestructureSet.js" + }, + "./helpers/classStaticPrivateFieldDestructureSet.js" + ], + "./helpers/esm/classStaticPrivateFieldDestructureSet": "./helpers/esm/classStaticPrivateFieldDestructureSet.js", + "./helpers/classCheckPrivateStaticAccess": [ + { + "node": "./helpers/classCheckPrivateStaticAccess.js", + "import": "./helpers/esm/classCheckPrivateStaticAccess.js", + "default": "./helpers/classCheckPrivateStaticAccess.js" + }, + "./helpers/classCheckPrivateStaticAccess.js" + ], + "./helpers/esm/classCheckPrivateStaticAccess": "./helpers/esm/classCheckPrivateStaticAccess.js", + "./helpers/classCheckPrivateStaticFieldDescriptor": [ + { + "node": "./helpers/classCheckPrivateStaticFieldDescriptor.js", + "import": "./helpers/esm/classCheckPrivateStaticFieldDescriptor.js", + "default": "./helpers/classCheckPrivateStaticFieldDescriptor.js" + }, + "./helpers/classCheckPrivateStaticFieldDescriptor.js" + ], + "./helpers/esm/classCheckPrivateStaticFieldDescriptor": "./helpers/esm/classCheckPrivateStaticFieldDescriptor.js", + "./helpers/decorate": [ + { + "node": "./helpers/decorate.js", + "import": "./helpers/esm/decorate.js", + "default": "./helpers/decorate.js" + }, + "./helpers/decorate.js" + ], + "./helpers/esm/decorate": "./helpers/esm/decorate.js", + "./helpers/classPrivateMethodGet": [ + { + "node": "./helpers/classPrivateMethodGet.js", + "import": "./helpers/esm/classPrivateMethodGet.js", + "default": "./helpers/classPrivateMethodGet.js" + }, + "./helpers/classPrivateMethodGet.js" + ], + "./helpers/esm/classPrivateMethodGet": "./helpers/esm/classPrivateMethodGet.js", + "./helpers/checkPrivateRedeclaration": [ + { + "node": "./helpers/checkPrivateRedeclaration.js", + "import": "./helpers/esm/checkPrivateRedeclaration.js", + "default": "./helpers/checkPrivateRedeclaration.js" + }, + "./helpers/checkPrivateRedeclaration.js" + ], + "./helpers/esm/checkPrivateRedeclaration": "./helpers/esm/checkPrivateRedeclaration.js", + "./helpers/classPrivateFieldInitSpec": [ + { + "node": "./helpers/classPrivateFieldInitSpec.js", + "import": "./helpers/esm/classPrivateFieldInitSpec.js", + "default": "./helpers/classPrivateFieldInitSpec.js" + }, + "./helpers/classPrivateFieldInitSpec.js" + ], + "./helpers/esm/classPrivateFieldInitSpec": "./helpers/esm/classPrivateFieldInitSpec.js", + "./helpers/classPrivateMethodInitSpec": [ + { + "node": "./helpers/classPrivateMethodInitSpec.js", + "import": "./helpers/esm/classPrivateMethodInitSpec.js", + "default": "./helpers/classPrivateMethodInitSpec.js" + }, + "./helpers/classPrivateMethodInitSpec.js" + ], + "./helpers/esm/classPrivateMethodInitSpec": "./helpers/esm/classPrivateMethodInitSpec.js", + "./helpers/classPrivateMethodSet": [ + { + "node": "./helpers/classPrivateMethodSet.js", + "import": "./helpers/esm/classPrivateMethodSet.js", + "default": "./helpers/classPrivateMethodSet.js" + }, + "./helpers/classPrivateMethodSet.js" + ], + "./helpers/esm/classPrivateMethodSet": "./helpers/esm/classPrivateMethodSet.js", + "./helpers/identity": [ + { + "node": "./helpers/identity.js", + "import": "./helpers/esm/identity.js", + "default": "./helpers/identity.js" + }, + "./helpers/identity.js" + ], + "./helpers/esm/identity": "./helpers/esm/identity.js", + "./helpers/nullishReceiverError": [ + { + "node": "./helpers/nullishReceiverError.js", + "import": "./helpers/esm/nullishReceiverError.js", + "default": "./helpers/nullishReceiverError.js" + }, + "./helpers/nullishReceiverError.js" + ], + "./helpers/esm/nullishReceiverError": "./helpers/esm/nullishReceiverError.js", + "./package": "./package.json", + "./package.json": "./package.json", + "./regenerator": "./regenerator/index.js", + "./regenerator/*.js": "./regenerator/*.js", + "./regenerator/": "./regenerator/" + }, + "engines": { + "node": ">=6.9.0" + }, + "type": "commonjs" +} \ No newline at end of file diff --git a/.pnpm-store/v3/files/55/29ff0ec4b14d08e0987ccac2113634b51de82eb039772cb46f7530b53c04785cf6e88b7617689a13091f534c093114d457ca61f832739d9ff67bee4b71c936 b/.pnpm-store/v3/files/55/29ff0ec4b14d08e0987ccac2113634b51de82eb039772cb46f7530b53c04785cf6e88b7617689a13091f534c093114d457ca61f832739d9ff67bee4b71c936 new file mode 100644 index 00000000..f8aea5b2 --- /dev/null +++ b/.pnpm-store/v3/files/55/29ff0ec4b14d08e0987ccac2113634b51de82eb039772cb46f7530b53c04785cf6e88b7617689a13091f534c093114d457ca61f832739d9ff67bee4b71c936 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00227,"52":0.02497,"68":0.00454,"78":0.00227,"88":0.00227,"92":0.00227,"97":0.00227,"99":0.00227,"107":0.00227,"110":0.00227,"115":0.07264,"116":0.00227,"117":0.00227,"119":0.00454,"120":0.01135,"121":0.25197,"122":0.05448,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 93 94 95 96 98 100 101 102 103 104 105 106 108 109 111 112 113 114 118 123 124 125 3.5 3.6"},D:{"11":0.00227,"22":0.00681,"26":0.00227,"38":0.00681,"41":0.00227,"43":0.00227,"49":0.01816,"51":0.00454,"53":0.01135,"54":0.00227,"56":0.00227,"63":0.00227,"64":0.00227,"65":0.00227,"66":0.00227,"67":0.00227,"68":0.00227,"69":0.00227,"70":0.00454,"71":0.00454,"72":0.00681,"73":0.00454,"74":0.00227,"75":0.00227,"76":0.00227,"77":0.00227,"78":0.00908,"79":0.19749,"80":0.01589,"81":0.00681,"83":0.02497,"84":0.00227,"85":0.00454,"86":0.00227,"87":0.13393,"88":0.01816,"89":0.01135,"90":0.04313,"91":0.00454,"92":0.00454,"93":0.00227,"94":0.00681,"95":0.00227,"96":0.00908,"97":0.00908,"98":0.00908,"99":0.00908,"100":0.02043,"101":0.03405,"102":0.02043,"103":0.02043,"104":0.01135,"105":0.00681,"106":0.02951,"107":0.01816,"108":0.02043,"109":2.93738,"110":0.00454,"111":0.04086,"112":0.04994,"113":0.00454,"114":0.02497,"115":0.02497,"116":0.06583,"117":0.04313,"118":0.06356,"119":0.1816,"120":11.94701,"121":0.98064,"122":0.00908,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 34 35 36 37 39 40 42 44 45 46 47 48 50 52 55 57 58 59 60 61 62 123 124"},F:{"25":0.00227,"28":0.00681,"36":0.00454,"40":0.00227,"46":0.02951,"65":0.00227,"79":0.04086,"82":0.00454,"83":0.00227,"84":0.01362,"85":0.03632,"86":0.00227,"88":0.00908,"91":0.00227,"93":0.00227,"95":0.17933,"102":0.00681,"104":0.00227,"105":0.43811,"106":0.71278,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 87 89 90 92 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00227},B:{"12":0.00681,"18":0.00454,"84":0.00908,"92":0.00908,"103":0.00454,"109":0.02497,"110":0.00908,"111":0.00227,"112":0.00227,"113":0.00227,"114":0.00227,"115":0.00227,"116":0.0227,"117":0.00454,"118":0.00681,"119":0.01362,"120":1.03739,"121":0.14755,_:"13 14 15 16 17 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108"},E:{"14":0.00908,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 17.4","5.1":0.07264,"11.1":0.00227,"12.1":0.00227,"13.1":0.00681,"14.1":0.02951,"15.1":0.00454,"15.2-15.3":0.00227,"15.4":0.0227,"15.5":0.01135,"15.6":0.08399,"16.0":0.00227,"16.1":0.02497,"16.2":0.00454,"16.3":0.0227,"16.4":0.01362,"16.5":0.02951,"16.6":0.07945,"17.0":0.06356,"17.1":0.09307,"17.2":0.15209,"17.3":0.01589},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00191,"5.0-5.1":0.00287,"6.0-6.1":0.00478,"7.0-7.1":0.00669,"8.1-8.4":0.00096,"9.0-9.2":0.00573,"9.3":0.02197,"10.0-10.2":0.00191,"10.3":0.0344,"11.0-11.2":0.01338,"11.3-11.4":0.01433,"12.0-12.1":0.0086,"12.2-12.5":0.17007,"13.0-13.1":0.00287,"13.2":0.03153,"13.3":0.0086,"13.4-13.7":0.03822,"14.0-14.4":0.06688,"14.5-14.8":0.10223,"15.0-15.1":0.04395,"15.2-15.3":0.05064,"15.4":0.05924,"15.5":0.07835,"15.6-15.8":0.61052,"16.0":0.18344,"16.1":0.39077,"16.2":0.17771,"16.3":0.33058,"16.4":0.07357,"16.5":0.15669,"16.6-16.7":1.28218,"17.0":0.21306,"17.1":2.19653,"17.2":2.97329,"17.3":0.19109},P:{"4":0.46637,"20":0.10139,"21":0.18249,"22":0.17235,"23":3.36598,"5.0-5.4":0.02028,"6.2-6.4":0.03042,"7.2-7.4":0.07097,"8.2":0.02028,"9.2":0.01014,_:"10.1","11.1-11.2":0.03042,"12.0":0.02028,"13.0":0.06083,"14.0":0.01014,"15.0":0.01014,"16.0":0.04055,"17.0":0.08111,"18.0":0.03042,"19.0":0.09125},I:{"0":0.07696,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.0002},A:{"8":0.00908,"11":0.04767,_:"6 7 9 10 5.5"},K:{"0":1.4287,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00773,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.16233},H:{"0":0.04},L:{"0":61.29169},R:{_:"0"},M:{"0":0.10822}}; diff --git a/.pnpm-store/v3/files/55/2e32076034e6c4d1b13994440869e984343183567f2916e41ce411d1bff310e3e58423e9c8f695c9252934c746dbbc780708a48ac9ee0aba9172046c7197f5 b/.pnpm-store/v3/files/55/2e32076034e6c4d1b13994440869e984343183567f2916e41ce411d1bff310e3e58423e9c8f695c9252934c746dbbc780708a48ac9ee0aba9172046c7197f5 new file mode 100644 index 00000000..a5ff6d89 --- /dev/null +++ b/.pnpm-store/v3/files/55/2e32076034e6c4d1b13994440869e984343183567f2916e41ce411d1bff310e3e58423e9c8f695c9252934c746dbbc780708a48ac9ee0aba9172046c7197f5 @@ -0,0 +1,30 @@ +function message(msg, actual, ...types) { + if (types.length > 2) { + const last = types.pop(); + msg += `one of type ${types.join(', ')}, or ${last}.`; + } + else if (types.length === 2) { + msg += `one of type ${types[0]} or ${types[1]}.`; + } + else { + msg += `of type ${types[0]}.`; + } + if (actual == null) { + msg += ` Received ${actual}`; + } + else if (typeof actual === 'function' && actual.name) { + msg += ` Received function ${actual.name}`; + } + else if (typeof actual === 'object' && actual != null) { + if (actual.constructor?.name) { + msg += ` Received an instance of ${actual.constructor.name}`; + } + } + return msg; +} +export default (actual, ...types) => { + return message('Key must be ', actual, ...types); +}; +export function withAlg(alg, actual, ...types) { + return message(`Key for the ${alg} algorithm must be `, actual, ...types); +} diff --git a/.pnpm-store/v3/files/55/a6cdae106b12278a185630c3d015839085e5bbaefac0ecf7b65b2a7f9d0af44af0122a20e8504cbfb10013a3054391b73584b26d262e5c083b2c076da6aaa1 b/.pnpm-store/v3/files/55/a6cdae106b12278a185630c3d015839085e5bbaefac0ecf7b65b2a7f9d0af44af0122a20e8504cbfb10013a3054391b73584b26d262e5c083b2c076da6aaa1 new file mode 100644 index 00000000..bbb668d8 --- /dev/null +++ b/.pnpm-store/v3/files/55/a6cdae106b12278a185630c3d015839085e5bbaefac0ecf7b65b2a7f9d0af44af0122a20e8504cbfb10013a3054391b73584b26d262e5c083b2c076da6aaa1 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","164":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB VC WC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r","164":"0 1 2 3 4 5 6 7 8 s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J XC DC YC","164":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F iC jC kC lC","129":"B C 2B QC mC 3B","164":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"DC nC RC oC pC","164":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"132":"9C"},I:{"2":"7B I AD BD CD DD RC","164":"H ED FD"},J:{"2":"D","164":"A"},K:{"2":"A","129":"B C 2B QC 3B","164":"u"},L:{"164":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"164":"4B"},P:{"164":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"164":"FC"},R:{"164":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS box-decoration-break",D:true}; diff --git a/.pnpm-store/v3/files/55/e82dae6b726b2198bf04388bd7867d4995b2f582cd46c8b0057fd4ef02b32ae4782392f3294f0fc00bd54507bc7617ceb96fcc33ffed442126bf13441f4ffc b/.pnpm-store/v3/files/55/e82dae6b726b2198bf04388bd7867d4995b2f582cd46c8b0057fd4ef02b32ae4782392f3294f0fc00bd54507bc7617ceb96fcc33ffed442126bf13441f4ffc new file mode 100644 index 00000000..0dedc06b --- /dev/null +++ b/.pnpm-store/v3/files/55/e82dae6b726b2198bf04388bd7867d4995b2f582cd46c8b0057fd4ef02b32ae4782392f3294f0fc00bd54507bc7617ceb96fcc33ffed442126bf13441f4ffc @@ -0,0 +1,77 @@ +{ + "name": "trough", + "version": "2.2.0", + "description": "`trough` is middleware", + "license": "MIT", + "keywords": [ + "middleware", + "ware" + ], + "repository": "wooorm/trough", + "bugs": "https://github.com/wooorm/trough/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "exports": "./index.js", + "files": [ + "lib/", + "index.d.ts.map", + "index.d.ts", + "index.js" + ], + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^9.0.0", + "prettier": "^3.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.56.0" + }, + "scripts": { + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . --frail --output --quiet && prettier . --log-level warn --write && xo --fix", + "prepack": "npm run build && npm run format", + "test": "npm run build && npm run format && npm run test-coverage", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --100 --reporter lcov npm run test-api" + }, + "prettier": { + "bracketSpacing": false, + "singleQuote": true, + "semi": false, + "tabWidth": 2, + "trailingComma": "none", + "useTabs": false + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "strict": true, + "ignoreCatch": true, + "#": "some nessecary `any`s", + "ignoreFiles": [ + "lib/index.js", + "lib/index.d.ts" + ] + }, + "xo": { + "prettier": true, + "rules": { + "capitalized-comments": "off" + } + } +} diff --git a/.pnpm-store/v3/files/56/096e4f094a80e4d0d5790dae10bd3e538da5c23d5be67f6f10817b018f97f2e4f759af25ef13f89bc4fcf6485fcf88039fda90250b9c7c67d0ecdd1daf8fcd b/.pnpm-store/v3/files/56/096e4f094a80e4d0d5790dae10bd3e538da5c23d5be67f6f10817b018f97f2e4f759af25ef13f89bc4fcf6485fcf88039fda90250b9c7c67d0ecdd1daf8fcd new file mode 100644 index 00000000..3066982f --- /dev/null +++ b/.pnpm-store/v3/files/56/096e4f094a80e4d0d5790dae10bd3e538da5c23d5be67f6f10817b018f97f2e4f759af25ef13f89bc4fcf6485fcf88039fda90250b9c7c67d0ecdd1daf8fcd @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"P Q R S T U V W X Y Z","2":"C K L G","194":"M N O","513":"0 1 2 3 4 5 6 7 8 a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB VC WC","194":"iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u","450":"wB xB yB zB 0B","513":"0 1 2 3 4 5 6 7 8 P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B","194":"kB 9B lB mB nB oB pB qB","513":"0 1 2 3 4 5 6 7 8 a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A XC DC YC ZC aC bC","194":"B C K L G EC 2B 3B FC cC dC","513":"GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"nB oB pB qB rB sB tB uB vB u wB xB yB zB","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB iC jC kC lC 2B QC mC 3B","194":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB","513":"0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC","194":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C","513":"GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","513":"u"},L:{"513":"H"},M:{"513":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"2":"I GD HD ID JD KD EC LD MD ND OD","513":"q r s t PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"513":"SD"},S:{"2":"TD","513":"UD"}},B:6,C:"Shared Array Buffer",D:true}; diff --git a/.pnpm-store/v3/files/56/605cad3e6dff0258676b26bb3549676b833274489bbdcb609414056339f8ea675cde99ce03ced9380160bd481bdd47837a4b1d856ff6c35c511799cc80eeaa b/.pnpm-store/v3/files/56/605cad3e6dff0258676b26bb3549676b833274489bbdcb609414056339f8ea675cde99ce03ced9380160bd481bdd47837a4b1d856ff6c35c511799cc80eeaa new file mode 100644 index 00000000..4d61227e --- /dev/null +++ b/.pnpm-store/v3/files/56/605cad3e6dff0258676b26bb3549676b833274489bbdcb609414056339f8ea675cde99ce03ced9380160bd481bdd47837a4b1d856ff6c35c511799cc80eeaa @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","16":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B VC WC","16":"BC CC UC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","16":"1B BC CC"},E:{"1":"C K 3B","2":"9 I J D E F A B XC DC YC ZC aC bC EC 2B","16":"L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB iC jC kC lC 2B QC mC 3B","16":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"16":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","16":"H"},J:{"2":"D","16":"A"},K:{"2":"A B C 2B QC 3B","16":"u"},L:{"16":"H"},M:{"16":"1B"},N:{"2":"A","16":"B"},O:{"16":"4B"},P:{"2":"I GD HD","16":"q r s t ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"16":"FC"},R:{"16":"SD"},S:{"2":"TD UD"}},B:1,C:"Password Rules",D:false}; diff --git a/.pnpm-store/v3/files/56/7dae387e36a22d81048ec246ac5be6fa2b536bcf1b5984a99edad7e4131bbf4dfc2d39852afd93ce102cde06a35b1ea4041f18a901fd96866c1c47ad3fbc35 b/.pnpm-store/v3/files/56/7dae387e36a22d81048ec246ac5be6fa2b536bcf1b5984a99edad7e4131bbf4dfc2d39852afd93ce102cde06a35b1ea4041f18a901fd96866c1c47ad3fbc35 new file mode 100644 index 00000000..6d05cd19 --- /dev/null +++ b/.pnpm-store/v3/files/56/7dae387e36a22d81048ec246ac5be6fa2b536bcf1b5984a99edad7e4131bbf4dfc2d39852afd93ce102cde06a35b1ea4041f18a901fd96866c1c47ad3fbc35 @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB VC WC","322":"NB OB PB QB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J","16":"D","33":"E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","16":"9","33":"J D E F A YC ZC aC bC EC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC","33":"E oC pC qC rC sC tC uC vC"},H:{"2":"9C"},I:{"1":"H","2":"AD BD CD","33":"7B I DD RC ED FD"},J:{"33":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"36":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","33":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS writing-mode property",D:true}; diff --git a/.pnpm-store/v3/files/56/7dc564c71897a8885e7c9a45e3e182d1ea93c53cab935810de86fa9ed2f40a00ed47b25ca43f1ebe0f95fc161776f371844ec3afdad429017479f9f8c98857 b/.pnpm-store/v3/files/56/7dc564c71897a8885e7c9a45e3e182d1ea93c53cab935810de86fa9ed2f40a00ed47b25ca43f1ebe0f95fc161776f371844ec3afdad429017479f9f8c98857 new file mode 100644 index 00000000..3521de94 --- /dev/null +++ b/.pnpm-store/v3/files/56/7dc564c71897a8885e7c9a45e3e182d1ea93c53cab935810de86fa9ed2f40a00ed47b25ca43f1ebe0f95fc161776f371844ec3afdad429017479f9f8c98857 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O P Q R S T U"},C:{"1":"0 1 2 3 4 5 6 7 8 rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U"},E:{"1":"hC","2":"9 I J D E F A B XC DC YC ZC aC bC EC","129":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC"},F:{"1":"vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB iC jC kC lC 2B QC mC 3B"},G:{"1":"xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD ND"},Q:{"2":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:5,C:"CSS ::marker pseudo-element",D:true}; diff --git a/.pnpm-store/v3/files/56/c8bd1e83d650a12e8ee56aa3671efe4e5925d20b0466c3763e2a0769e366d37e7a957c064fd5cca9e2c6bb609fd7ebb8d740c9798154f8480a4f493bd855b7 b/.pnpm-store/v3/files/56/c8bd1e83d650a12e8ee56aa3671efe4e5925d20b0466c3763e2a0769e366d37e7a957c064fd5cca9e2c6bb609fd7ebb8d740c9798154f8480a4f493bd855b7 new file mode 100644 index 00000000..be1d7f49 --- /dev/null +++ b/.pnpm-store/v3/files/56/c8bd1e83d650a12e8ee56aa3671efe4e5925d20b0466c3763e2a0769e366d37e7a957c064fd5cca9e2c6bb609fd7ebb8d740c9798154f8480a4f493bd855b7 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","132":"C"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB VC WC","1090":"eB fB gB hB","2052":"iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b","4100":"0 1 2 3 4 5 6 7 8 c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"0 1 2 3 4 5 6 7 8 CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB","2052":"q r s t BB"},E:{"2":"9 I J D E F A B C K L XC DC YC ZC aC bC EC 2B 3B FC","4100":"G cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"DC nC RC","260":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B AD BD CD","514":"I DD RC"},J:{"1":"A","2":"D"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"4100":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2052":"TD UD"}},B:1,C:"Date and time input types",D:true}; diff --git a/.pnpm-store/v3/files/56/f6e12afad8471eb587c371297068b68942396734617d998b67b8a053d6add6eb80d68d87dc59535757f6cb93cde02224c2b3aca71dad75e5f55198bd87b38e b/.pnpm-store/v3/files/56/f6e12afad8471eb587c371297068b68942396734617d998b67b8a053d6add6eb80d68d87dc59535757f6cb93cde02224c2b3aca71dad75e5f55198bd87b38e new file mode 100644 index 00000000..6b5fc550 --- /dev/null +++ b/.pnpm-store/v3/files/56/f6e12afad8471eb587c371297068b68942396734617d998b67b8a053d6add6eb80d68d87dc59535757f6cb93cde02224c2b3aca71dad75e5f55198bd87b38e @@ -0,0 +1 @@ +module.exports={C:{"2":0.00654,"3":0.01963,"4":0.02617,"5":0.01309,"6":0.00654,"11":0.00654,"12":0.00654,"13":0.01309,"15":0.00654,"17":0.00654,"20":0.00654,"25":0.00654,"26":0.00654,"27":0.00654,"29":0.00654,"30":0.01309,"31":0.00654,"32":0.00654,"33":0.00654,"34":0.00654,"35":0.01963,"36":0.00654,"37":0.00654,"38":0.02617,"39":0.01963,"40":0.03272,"41":0.01963,"42":0.00654,"43":0.00654,"53":0.00654,"60":0.01309,"67":0.09815,"68":0.11777,"72":0.11777,"75":0.58233,"78":0.22901,"82":0.05889,"102":0.01963,"105":0.00654,"107":0.41875,"108":0.0916,"110":0.05889,"111":0.00654,"115":0.43184,"116":0.00654,"118":0.00654,"119":0.05234,"120":0.05234,"121":1.32169,"122":0.23555,_:"7 8 9 10 14 16 18 19 21 22 23 24 28 44 45 46 47 48 49 50 51 52 54 55 56 57 58 59 61 62 63 64 65 66 69 70 71 73 74 76 77 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 106 109 112 113 114 117 123 124 125","3.5":0.01309,"3.6":0.02617},D:{"4":0.00654,"6":0.00654,"7":0.00654,"11":0.00654,"12":0.00654,"13":0.00654,"16":0.00654,"17":0.00654,"18":0.00654,"19":0.00654,"20":0.01309,"21":0.01309,"22":0.00654,"24":0.00654,"25":0.00654,"26":0.00654,"27":0.00654,"28":0.00654,"31":0.00654,"32":0.00654,"33":0.01309,"34":0.00654,"35":0.01309,"36":0.03272,"37":0.01309,"38":0.01963,"39":0.03272,"40":0.02617,"41":0.05234,"42":0.02617,"43":0.07197,"44":0.11123,"45":0.05889,"46":0.05889,"47":0.03272,"51":0.10469,"57":0.00654,"65":0.01963,"70":0.05889,"71":0.14395,"72":0.01963,"74":0.00654,"76":0.1374,"78":0.01309,"79":0.64776,"80":0.03272,"81":0.56924,"83":0.01963,"84":0.02617,"85":1.36749,"86":0.05234,"87":1.96944,"88":0.05889,"90":0.00654,"91":0.00654,"92":0.00654,"94":0.00654,"95":0.00654,"97":0.00654,"98":0.11123,"99":0.01309,"100":0.61504,"101":0.00654,"102":0.00654,"103":0.82442,"104":0.01309,"106":0.07197,"107":0.94219,"108":0.20938,"109":1.53106,"110":0.73282,"111":0.94874,"112":0.69356,"113":0.03272,"114":0.01309,"115":0.01309,"116":1.83858,"117":0.22246,"118":0.10469,"119":0.23555,"120":13.03366,"121":1.17774,_:"5 8 9 10 14 15 23 29 30 48 49 50 52 53 54 55 56 58 59 60 61 62 63 64 66 67 68 69 73 75 77 89 93 96 105 122 123 124"},F:{"11":0.00654,"30":0.00654,"31":0.03272,"32":0.01963,"33":0.00654,"65":0.11777,"95":0.01963,"105":2.32931,"106":12.71305,_:"9 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.6","11.1":0.00654,"11.5":0.00654,"12.1":0.03272},B:{"12":0.01963,"13":0.00654,"17":0.00654,"18":0.1374,"84":0.00654,"86":0.01963,"98":0.00654,"99":0.00654,"108":1.02725,"109":0.09815,"116":0.01309,"117":0.16358,"118":0.01309,"119":0.01963,"120":3.80148,"121":0.43184,_:"14 15 16 79 80 81 83 85 87 88 89 90 91 92 93 94 95 96 97 100 101 102 103 104 105 106 107 110 111 112 113 114 115"},E:{"4":0.00654,"5":0.00654,"6":0.00654,"7":0.00654,"8":0.01309,"9":0.23555,"14":0.05234,"15":0.00654,_:"0 10 11 12 13 3.1 3.2 7.1 10.1 11.1","5.1":0.00654,"6.1":0.00654,"9.1":0.01309,"12.1":0.01963,"13.1":0.09815,"14.1":0.08506,"15.1":0.01309,"15.2-15.3":0.0916,"15.4":0.0458,"15.5":0.02617,"15.6":1.18428,"16.0":0.05234,"16.1":0.07852,"16.2":0.03926,"16.3":0.6085,"16.4":0.05234,"16.5":0.20283,"16.6":1.28897,"17.0":0.10469,"17.1":0.98145,"17.2":2.86583,"17.3":0.35987,"17.4":0.00654},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00364,"5.0-5.1":0.00545,"6.0-6.1":0.00909,"7.0-7.1":0.01272,"8.1-8.4":0.00182,"9.0-9.2":0.01091,"9.3":0.04181,"10.0-10.2":0.00364,"10.3":0.06544,"11.0-11.2":0.02545,"11.3-11.4":0.02727,"12.0-12.1":0.01636,"12.2-12.5":0.32358,"13.0-13.1":0.00545,"13.2":0.05999,"13.3":0.01636,"13.4-13.7":0.07271,"14.0-14.4":0.12725,"14.5-14.8":0.19451,"15.0-15.1":0.08362,"15.2-15.3":0.09635,"15.4":0.11271,"15.5":0.14906,"15.6-15.8":1.16161,"16.0":0.34903,"16.1":0.7435,"16.2":0.33812,"16.3":0.62898,"16.4":0.13997,"16.5":0.29813,"16.6-16.7":2.43956,"17.0":0.40538,"17.1":4.17925,"17.2":5.65717,"17.3":0.36357},P:{"4":0.06559,"20":0.02186,"21":0.01093,"22":0.01093,"23":1.22429,"5.0-5.4":0.01093,"6.2-6.4":0.08745,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0","17.0":0.01093,"18.0":0.02186,"19.0":0.01093},I:{"0":0.93246,"3":0,"4":0.00019,"2.1":0,"2.2":0.00009,"2.3":0,"4.1":0.00019,"4.2-4.3":0.00066,"4.4":0,"4.4.3-4.4.4":0.00244},A:{"6":0.03312,"7":0.03975,"8":0.47698,"9":0.09937,"10":0.09937,"11":0.27824,_:"5.5"},K:{"0":0.07986,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.04493,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.13824},H:{"0":0.01},L:{"0":12.51411},R:{_:"0"},M:{"0":0.19699}}; diff --git a/.pnpm-store/v3/files/57/080b0682aaad820993e68bd4fc4bab8544645522aa1c5364576dcf6ee033761cf36ecc58e003633b0317908670a28ac650d833f8db309f3f8c2a918e90d2fa b/.pnpm-store/v3/files/57/080b0682aaad820993e68bd4fc4bab8544645522aa1c5364576dcf6ee033761cf36ecc58e003633b0317908670a28ac650d833f8db309f3f8c2a918e90d2fa new file mode 100644 index 00000000..30892d98 --- /dev/null +++ b/.pnpm-store/v3/files/57/080b0682aaad820993e68bd4fc4bab8544645522aa1c5364576dcf6ee033761cf36ecc58e003633b0317908670a28ac650d833f8db309f3f8c2a918e90d2fa @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","132":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","132":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","33":"A B C K L G","36":"9 I J D E F"},D:{"1":"0 1 2 3 4 5 6 7 8 BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"A","8":"9 I J D E F","33":"t","36":"B C K L G M N O AB q r s"},E:{"1":"A B C K L G EC 2B 3B FC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","8":"9 I J D XC DC YC ZC","260":"E F aC bC","516":"cC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F iC jC","8":"B C kC lC 2B QC mC 3B"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","8":"DC nC RC oC pC qC","260":"E rC sC tC","516":"5C"},H:{"2":"9C"},I:{"1":"H ED FD","8":"7B I AD BD CD DD RC"},J:{"1":"A","8":"D"},K:{"1":"u","2":"A","8":"B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"132":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"IndexedDB",D:true}; diff --git a/.pnpm-store/v3/files/57/40dc0bbdc63e90dad01dbeef8791728c8c3ae10e761e9c9bafed7e6da006f0d77c9f65ab85cd6daa69c1f4d4e4614cc71c6f646164d88f44bd808fface522a b/.pnpm-store/v3/files/57/40dc0bbdc63e90dad01dbeef8791728c8c3ae10e761e9c9bafed7e6da006f0d77c9f65ab85cd6daa69c1f4d4e4614cc71c6f646164d88f44bd808fface522a new file mode 100644 index 00000000..1b058ba2 --- /dev/null +++ b/.pnpm-store/v3/files/57/40dc0bbdc63e90dad01dbeef8791728c8c3ae10e761e9c9bafed7e6da006f0d77c9f65ab85cd6daa69c1f4d4e4614cc71c6f646164d88f44bd808fface522a @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","16":"TC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B iC jC kC lC 2B QC mC","16":"C"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC"},H:{"2":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"u 3B","2":"A B 2B QC","16":"C"},L:{"1":"H"},M:{"130":"1B"},N:{"130":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:7,C:"KeyboardEvent.charCode",D:true}; diff --git a/.pnpm-store/v3/files/57/6bc593fe6e5f0e064c7679a8eec5d46ac29b15fdfbe62e35d6c5d65209cd6ee8590a9bdc8f445bdd22f8a42a03de805448cf08c9f26e595be88be9cd497045 b/.pnpm-store/v3/files/57/6bc593fe6e5f0e064c7679a8eec5d46ac29b15fdfbe62e35d6c5d65209cd6ee8590a9bdc8f445bdd22f8a42a03de805448cf08c9f26e595be88be9cd497045 new file mode 100644 index 00000000..cff33760 --- /dev/null +++ b/.pnpm-store/v3/files/57/6bc593fe6e5f0e064c7679a8eec5d46ac29b15fdfbe62e35d6c5d65209cd6ee8590a9bdc8f445bdd22f8a42a03de805448cf08c9f26e595be88be9cd497045 @@ -0,0 +1,101 @@ +import { createDecipheriv, KeyObject } from 'node:crypto'; +import checkIvLength from '../lib/check_iv_length.js'; +import checkCekLength from './check_cek_length.js'; +import { concat } from '../lib/buffer_utils.js'; +import { JOSENotSupported, JWEDecryptionFailed, JWEInvalid } from '../util/errors.js'; +import timingSafeEqual from './timing_safe_equal.js'; +import cbcTag from './cbc_tag.js'; +import { isCryptoKey } from './webcrypto.js'; +import { checkEncCryptoKey } from '../lib/crypto_key.js'; +import isKeyObject from './is_key_object.js'; +import invalidKeyInput from '../lib/invalid_key_input.js'; +import supported from './ciphers.js'; +import { types } from './is_key_like.js'; +function cbcDecrypt(enc, cek, ciphertext, iv, tag, aad) { + const keySize = parseInt(enc.slice(1, 4), 10); + if (isKeyObject(cek)) { + cek = cek.export(); + } + const encKey = cek.subarray(keySize >> 3); + const macKey = cek.subarray(0, keySize >> 3); + const macSize = parseInt(enc.slice(-3), 10); + const algorithm = `aes-${keySize}-cbc`; + if (!supported(algorithm)) { + throw new JOSENotSupported(`alg ${enc} is not supported by your javascript runtime`); + } + const expectedTag = cbcTag(aad, iv, ciphertext, macSize, macKey, keySize); + let macCheckPassed; + try { + macCheckPassed = timingSafeEqual(tag, expectedTag); + } + catch { + } + if (!macCheckPassed) { + throw new JWEDecryptionFailed(); + } + let plaintext; + try { + const decipher = createDecipheriv(algorithm, encKey, iv); + plaintext = concat(decipher.update(ciphertext), decipher.final()); + } + catch { + } + if (!plaintext) { + throw new JWEDecryptionFailed(); + } + return plaintext; +} +function gcmDecrypt(enc, cek, ciphertext, iv, tag, aad) { + const keySize = parseInt(enc.slice(1, 4), 10); + const algorithm = `aes-${keySize}-gcm`; + if (!supported(algorithm)) { + throw new JOSENotSupported(`alg ${enc} is not supported by your javascript runtime`); + } + try { + const decipher = createDecipheriv(algorithm, cek, iv, { authTagLength: 16 }); + decipher.setAuthTag(tag); + if (aad.byteLength) { + decipher.setAAD(aad, { plaintextLength: ciphertext.length }); + } + const plaintext = decipher.update(ciphertext); + decipher.final(); + return plaintext; + } + catch { + throw new JWEDecryptionFailed(); + } +} +const decrypt = (enc, cek, ciphertext, iv, tag, aad) => { + let key; + if (isCryptoKey(cek)) { + checkEncCryptoKey(cek, enc, 'decrypt'); + key = KeyObject.from(cek); + } + else if (cek instanceof Uint8Array || isKeyObject(cek)) { + key = cek; + } + else { + throw new TypeError(invalidKeyInput(cek, ...types, 'Uint8Array')); + } + if (!iv) { + throw new JWEInvalid('JWE Initialization Vector missing'); + } + if (!tag) { + throw new JWEInvalid('JWE Authentication Tag missing'); + } + checkCekLength(enc, key); + checkIvLength(enc, iv); + switch (enc) { + case 'A128CBC-HS256': + case 'A192CBC-HS384': + case 'A256CBC-HS512': + return cbcDecrypt(enc, key, ciphertext, iv, tag, aad); + case 'A128GCM': + case 'A192GCM': + case 'A256GCM': + return gcmDecrypt(enc, key, ciphertext, iv, tag, aad); + default: + throw new JOSENotSupported('Unsupported JWE Content Encryption Algorithm'); + } +}; +export default decrypt; diff --git a/.pnpm-store/v3/files/57/81d5a2b74d2991902d027228dad993c1a73c6c969c08d7b5de2d6c45c53fcabbc9d4e14027445d1268ebdbdda964eff7561d3987eb873d9dbb6861c72c982b b/.pnpm-store/v3/files/57/81d5a2b74d2991902d027228dad993c1a73c6c969c08d7b5de2d6c45c53fcabbc9d4e14027445d1268ebdbdda964eff7561d3987eb873d9dbb6861c72c982b new file mode 100644 index 00000000..a9d0fa95 --- /dev/null +++ b/.pnpm-store/v3/files/57/81d5a2b74d2991902d027228dad993c1a73c6c969c08d7b5de2d6c45c53fcabbc9d4e14027445d1268ebdbdda964eff7561d3987eb873d9dbb6861c72c982b @@ -0,0 +1,311 @@ +'use strict' + +/* eslint-disable no-var */ + +var reusify = require('reusify') + +function fastqueue (context, worker, _concurrency) { + if (typeof context === 'function') { + _concurrency = worker + worker = context + context = null + } + + if (!(_concurrency >= 1)) { + throw new Error('fastqueue concurrency must be equal to or greater than 1') + } + + var cache = reusify(Task) + var queueHead = null + var queueTail = null + var _running = 0 + var errorHandler = null + + var self = { + push: push, + drain: noop, + saturated: noop, + pause: pause, + paused: false, + + get concurrency () { + return _concurrency + }, + set concurrency (value) { + if (!(value >= 1)) { + throw new Error('fastqueue concurrency must be equal to or greater than 1') + } + _concurrency = value + + if (self.paused) return + for (; queueHead && _running < _concurrency;) { + _running++ + release() + } + }, + + running: running, + resume: resume, + idle: idle, + length: length, + getQueue: getQueue, + unshift: unshift, + empty: noop, + kill: kill, + killAndDrain: killAndDrain, + error: error + } + + return self + + function running () { + return _running + } + + function pause () { + self.paused = true + } + + function length () { + var current = queueHead + var counter = 0 + + while (current) { + current = current.next + counter++ + } + + return counter + } + + function getQueue () { + var current = queueHead + var tasks = [] + + while (current) { + tasks.push(current.value) + current = current.next + } + + return tasks + } + + function resume () { + if (!self.paused) return + self.paused = false + if (queueHead === null) { + _running++ + release() + return + } + for (; queueHead && _running < _concurrency;) { + _running++ + release() + } + } + + function idle () { + return _running === 0 && self.length() === 0 + } + + function push (value, done) { + var current = cache.get() + + current.context = context + current.release = release + current.value = value + current.callback = done || noop + current.errorHandler = errorHandler + + if (_running >= _concurrency || self.paused) { + if (queueTail) { + queueTail.next = current + queueTail = current + } else { + queueHead = current + queueTail = current + self.saturated() + } + } else { + _running++ + worker.call(context, current.value, current.worked) + } + } + + function unshift (value, done) { + var current = cache.get() + + current.context = context + current.release = release + current.value = value + current.callback = done || noop + current.errorHandler = errorHandler + + if (_running >= _concurrency || self.paused) { + if (queueHead) { + current.next = queueHead + queueHead = current + } else { + queueHead = current + queueTail = current + self.saturated() + } + } else { + _running++ + worker.call(context, current.value, current.worked) + } + } + + function release (holder) { + if (holder) { + cache.release(holder) + } + var next = queueHead + if (next && _running <= _concurrency) { + if (!self.paused) { + if (queueTail === queueHead) { + queueTail = null + } + queueHead = next.next + next.next = null + worker.call(context, next.value, next.worked) + if (queueTail === null) { + self.empty() + } + } else { + _running-- + } + } else if (--_running === 0) { + self.drain() + } + } + + function kill () { + queueHead = null + queueTail = null + self.drain = noop + } + + function killAndDrain () { + queueHead = null + queueTail = null + self.drain() + self.drain = noop + } + + function error (handler) { + errorHandler = handler + } +} + +function noop () {} + +function Task () { + this.value = null + this.callback = noop + this.next = null + this.release = noop + this.context = null + this.errorHandler = null + + var self = this + + this.worked = function worked (err, result) { + var callback = self.callback + var errorHandler = self.errorHandler + var val = self.value + self.value = null + self.callback = noop + if (self.errorHandler) { + errorHandler(err, val) + } + callback.call(self.context, err, result) + self.release(self) + } +} + +function queueAsPromised (context, worker, _concurrency) { + if (typeof context === 'function') { + _concurrency = worker + worker = context + context = null + } + + function asyncWrapper (arg, cb) { + worker.call(this, arg) + .then(function (res) { + cb(null, res) + }, cb) + } + + var queue = fastqueue(context, asyncWrapper, _concurrency) + + var pushCb = queue.push + var unshiftCb = queue.unshift + + queue.push = push + queue.unshift = unshift + queue.drained = drained + + return queue + + function push (value) { + var p = new Promise(function (resolve, reject) { + pushCb(value, function (err, result) { + if (err) { + reject(err) + return + } + resolve(result) + }) + }) + + // Let's fork the promise chain to + // make the error bubble up to the user but + // not lead to a unhandledRejection + p.catch(noop) + + return p + } + + function unshift (value) { + var p = new Promise(function (resolve, reject) { + unshiftCb(value, function (err, result) { + if (err) { + reject(err) + return + } + resolve(result) + }) + }) + + // Let's fork the promise chain to + // make the error bubble up to the user but + // not lead to a unhandledRejection + p.catch(noop) + + return p + } + + function drained () { + if (queue.idle()) { + return new Promise(function (resolve) { + resolve() + }) + } + + var previousDrain = queue.drain + + var p = new Promise(function (resolve) { + queue.drain = function () { + previousDrain() + resolve() + } + }) + + return p + } +} + +module.exports = fastqueue +module.exports.promise = queueAsPromised diff --git a/.pnpm-store/v3/files/57/f575958ebd2e41606475511074742966afefe509d2cb8bae3fc7b3a533fa2c8792a1bb2bd70a09c7932a026a5ce3c90f1fa148d918857075360be5a7270cf0 b/.pnpm-store/v3/files/57/f575958ebd2e41606475511074742966afefe509d2cb8bae3fc7b3a533fa2c8792a1bb2bd70a09c7932a026a5ce3c90f1fa148d918857075360be5a7270cf0 new file mode 100644 index 00000000..63939ba7 --- /dev/null +++ b/.pnpm-store/v3/files/57/f575958ebd2e41606475511074742966afefe509d2cb8bae3fc7b3a533fa2c8792a1bb2bd70a09c7932a026a5ce3c90f1fa148d918857075360be5a7270cf0 @@ -0,0 +1 @@ +module.exports={C:{"34":0.0033,"66":0.0033,"88":0.0033,"105":0.00659,"107":0.01649,"111":0.0033,"113":0.0033,"115":0.08243,"116":0.0033,"118":0.0033,"119":0.0033,"120":0.00659,"121":0.42202,"122":0.07253,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 108 109 110 112 114 117 123 124 125 3.5 3.6"},D:{"11":0.0033,"38":0.00659,"49":0.0033,"53":0.0033,"56":0.0033,"58":0.18793,"59":0.0033,"64":0.0033,"65":0.00659,"66":0.0033,"68":0.0033,"69":0.0033,"70":0.0033,"72":0.00989,"73":0.0033,"75":0.0033,"76":0.00659,"78":0.00659,"79":0.03956,"81":0.00659,"83":0.00659,"85":0.00659,"86":0.01649,"87":0.03297,"88":0.01319,"89":0.00659,"90":0.0033,"91":0.02638,"92":0.00659,"93":0.03956,"94":0.0033,"95":0.01978,"96":0.0033,"97":0.0033,"98":0.01649,"99":0.05275,"100":0.00659,"101":0.01319,"102":0.01319,"103":0.25387,"104":0.0033,"105":0.01319,"106":0.02967,"107":0.00989,"108":0.05935,"109":1.95182,"110":0.04286,"111":0.03627,"112":0.05605,"113":0.03297,"114":0.02638,"115":0.02308,"116":0.07253,"117":0.02967,"118":0.04616,"119":0.40883,"120":19.88091,"121":1.49354,"122":0.02638,"123":0.0033,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 57 60 61 62 63 67 71 74 77 80 84 124"},F:{"28":0.0033,"40":0.0033,"46":0.0033,"95":0.00989,"105":0.26376,"106":0.21431,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"13":0.0033,"18":0.00989,"84":0.0033,"90":0.0033,"92":0.00989,"94":0.0033,"97":0.0033,"100":0.0033,"101":0.00659,"103":0.0033,"108":0.01319,"109":0.08572,"110":0.02308,"111":0.0033,"112":0.0033,"113":0.0033,"114":0.00989,"115":0.01319,"116":0.01649,"117":0.01319,"118":0.02308,"119":0.04946,"120":2.60463,"121":0.36267,_:"12 14 15 16 17 79 80 81 83 85 86 87 88 89 91 93 95 96 98 99 102 104 105 106 107"},E:{"13":0.0033,"14":0.01649,"15":0.00659,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1 11.1 17.4","5.1":0.00659,"12.1":0.00659,"13.1":0.02638,"14.1":0.04946,"15.1":0.0033,"15.2-15.3":0.0033,"15.4":0.03297,"15.5":0.03297,"15.6":0.16155,"16.0":0.01319,"16.1":0.03627,"16.2":0.03627,"16.3":0.08902,"16.4":0.02967,"16.5":0.05935,"16.6":0.27365,"17.0":0.07253,"17.1":0.28684,"17.2":0.30992,"17.3":0.01978},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00286,"5.0-5.1":0.00429,"6.0-6.1":0.00715,"7.0-7.1":0.01,"8.1-8.4":0.00143,"9.0-9.2":0.00857,"9.3":0.03287,"10.0-10.2":0.00286,"10.3":0.05145,"11.0-11.2":0.02001,"11.3-11.4":0.02144,"12.0-12.1":0.01286,"12.2-12.5":0.25438,"13.0-13.1":0.00429,"13.2":0.04716,"13.3":0.01286,"13.4-13.7":0.05716,"14.0-14.4":0.10004,"14.5-14.8":0.15291,"15.0-15.1":0.06574,"15.2-15.3":0.07574,"15.4":0.0886,"15.5":0.11718,"15.6-15.8":0.91318,"16.0":0.27438,"16.1":0.58449,"16.2":0.26581,"16.3":0.49446,"16.4":0.11004,"16.5":0.23437,"16.6-16.7":1.91782,"17.0":0.31868,"17.1":3.28545,"17.2":4.4473,"17.3":0.28582},P:{"4":0.095,"20":0.04222,"21":0.11611,"22":0.11611,"23":2.35378,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1","7.2-7.4":0.13722,"11.1-11.2":0.05278,"12.0":0.01056,"13.0":0.05278,"14.0":0.04222,"15.0":0.04222,"16.0":0.04222,"17.0":0.04222,"18.0":0.03167,"19.0":0.07389},I:{"0":0.08676,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00023},A:{"8":0.00344,"11":0.07569,_:"6 7 9 10 5.5"},K:{"0":0.55635,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.0067},O:{"0":1.44115},H:{"0":0},L:{"0":48.80157},R:{_:"0"},M:{"0":0.06033}}; diff --git a/.pnpm-store/v3/files/58/2594d0d84d72bd0229bdc6c06a64c5c42f5215ead910616f074d6e7711f7b4d586c332d06b2783529e294d87320b92d72747e932b34e33ddb64daf2dc4fd32 b/.pnpm-store/v3/files/58/2594d0d84d72bd0229bdc6c06a64c5c42f5215ead910616f074d6e7711f7b4d586c332d06b2783529e294d87320b92d72747e932b34e33ddb64daf2dc4fd32 new file mode 100644 index 00000000..1acc4815 --- /dev/null +++ b/.pnpm-store/v3/files/58/2594d0d84d72bd0229bdc6c06a64c5c42f5215ead910616f074d6e7711f7b4d586c332d06b2783529e294d87320b92d72747e932b34e33ddb64daf2dc4fd32 @@ -0,0 +1 @@ +module.exports={C:{"31":0.00142,"33":0.00142,"34":0.00142,"36":0.0184,"43":0.00283,"47":0.00142,"52":0.00283,"72":0.00142,"82":0.00142,"88":0.00142,"97":0.00142,"99":0.00142,"102":0.00142,"103":0.00142,"105":0.00142,"110":0.00283,"111":0.00142,"113":0.00142,"114":0.00142,"115":0.16131,"116":0.00142,"117":0.00142,"118":0.00425,"119":0.00142,"120":0.00849,"121":0.30989,"122":0.08915,"123":0.00142,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 35 37 38 39 40 41 42 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 83 84 85 86 87 89 90 91 92 93 94 95 96 98 100 101 104 106 107 108 109 112 124 125 3.5 3.6"},D:{"11":0.00142,"31":0.00142,"33":0.00142,"36":0.00283,"38":0.00142,"39":0.00142,"40":0.00142,"41":0.00283,"43":0.00849,"49":0.00283,"50":0.00142,"53":0.00142,"54":0.00283,"56":0.00142,"58":0.18395,"59":0.00142,"60":0.00142,"62":0.00283,"63":0.00708,"64":0.00142,"65":0.00283,"66":0.00142,"67":0.00142,"68":0.00566,"69":0.00283,"70":0.00566,"71":0.00283,"72":0.00142,"73":0.00708,"74":0.00142,"75":0.00566,"76":0.00566,"77":0.00142,"78":0.00425,"79":0.01415,"80":0.00708,"81":0.00425,"83":0.00991,"84":0.00283,"85":0.00142,"86":0.01274,"87":0.01698,"88":0.01557,"89":0.01274,"90":0.00566,"91":0.00849,"92":0.00708,"93":0.00566,"94":0.01274,"95":0.00708,"96":0.00425,"97":0.00425,"98":0.02547,"99":0.01698,"100":0.00566,"101":0.00283,"102":0.03396,"103":0.01698,"104":0.00849,"105":0.00425,"106":0.01132,"107":0.00991,"108":0.02547,"109":2.08147,"110":0.00991,"111":0.01415,"112":0.00991,"113":0.00566,"114":0.01415,"115":0.00849,"116":0.05236,"117":0.01698,"118":0.02972,"119":0.1316,"120":6.10573,"121":0.38913,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 34 35 37 42 44 45 46 47 48 51 52 55 57 61 122 123 124"},F:{"46":0.00708,"49":0.00142,"73":0.00142,"79":0.01698,"80":0.00142,"84":0.00142,"85":0.00283,"86":0.00283,"87":0.00142,"89":0.00142,"93":0.00425,"95":0.0566,"97":0.00142,"98":0.00849,"102":0.00283,"103":0.00142,"104":0.00142,"105":0.26602,"106":0.31838,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 81 82 83 88 90 91 92 94 96 99 100 101 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"13":0.00142,"14":0.00283,"15":0.00142,"16":0.00142,"17":0.00283,"18":0.01415,"84":0.00283,"89":0.00283,"90":0.00142,"92":0.02689,"94":0.00142,"100":0.00708,"107":0.00283,"109":0.03962,"110":0.00142,"111":0.00142,"112":0.00142,"113":0.00283,"114":0.01132,"115":0.00425,"116":0.00283,"117":0.01132,"118":0.00566,"119":0.08632,"120":1.43198,"121":0.23348,_:"12 79 80 81 83 85 86 87 88 91 93 95 96 97 98 99 101 102 103 104 105 106 108"},E:{"14":0.00566,"15":0.00142,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 17.4","5.1":0.07641,"13.1":0.01274,"14.1":0.01981,"15.1":0.00142,"15.2-15.3":0.00142,"15.4":0.00991,"15.5":0.00708,"15.6":0.03538,"16.0":0.00849,"16.1":0.01132,"16.2":0.05236,"16.3":0.0184,"16.4":0.02547,"16.5":0.00991,"16.6":0.05943,"17.0":0.01274,"17.1":0.04953,"17.2":0.07783,"17.3":0.00991},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00294,"5.0-5.1":0.0044,"6.0-6.1":0.00734,"7.0-7.1":0.01028,"8.1-8.4":0.00147,"9.0-9.2":0.00881,"9.3":0.03376,"10.0-10.2":0.00294,"10.3":0.05285,"11.0-11.2":0.02055,"11.3-11.4":0.02202,"12.0-12.1":0.01321,"12.2-12.5":0.26131,"13.0-13.1":0.0044,"13.2":0.04845,"13.3":0.01321,"13.4-13.7":0.05872,"14.0-14.4":0.10276,"14.5-14.8":0.15708,"15.0-15.1":0.06753,"15.2-15.3":0.07781,"15.4":0.09102,"15.5":0.12038,"15.6-15.8":0.93807,"16.0":0.28186,"16.1":0.60043,"16.2":0.27305,"16.3":0.50794,"16.4":0.11304,"16.5":0.24076,"16.6-16.7":1.9701,"17.0":0.32737,"17.1":3.37501,"17.2":4.56852,"17.3":0.29361},P:{"4":0.12283,"20":0.08189,"21":0.1433,"22":0.28661,"23":1.71964,"5.0-5.4":0.02047,"6.2-6.4":0.03071,"7.2-7.4":0.44015,"8.2":0.01024,"9.2":0.02047,_:"10.1","11.1-11.2":0.07165,"12.0":0.01024,"13.0":0.05118,"14.0":0.04094,"15.0":0.03071,"16.0":0.08189,"17.0":0.07165,"18.0":0.04094,"19.0":0.18425},I:{"0":0.04274,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00011},A:{"11":0.01981,_:"6 7 8 9 10 5.5"},K:{"0":2.95334,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.36916},H:{"0":0.06},L:{"0":64.87075},R:{_:"0"},M:{"0":0.05151}}; diff --git a/.pnpm-store/v3/files/58/3715661c722ec5e027777a117b2361ea2b474c6d7f121644e04c3eba93237bd2fb628b3685a8656f2116e9d08cc0c68ce3703f01a59d602ca5db8bb5f454cf b/.pnpm-store/v3/files/58/3715661c722ec5e027777a117b2361ea2b474c6d7f121644e04c3eba93237bd2fb628b3685a8656f2116e9d08cc0c68ce3703f01a59d602ca5db8bb5f454cf new file mode 100644 index 00000000..257c21af --- /dev/null +++ b/.pnpm-store/v3/files/58/3715661c722ec5e027777a117b2361ea2b474c6d7f121644e04c3eba93237bd2fb628b3685a8656f2116e9d08cc0c68ce3703f01a59d602ca5db8bb5f454cf @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B SC"},B:{"1":"H","2":"C K L G M N O","292":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z"},C:{"1":"0 1 2 3 4 5 6 7 8 nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB VC WC","3138":"mB"},D:{"1":"H 1B BC CC","292":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z"},E:{"16":"9 I XC DC","292":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","292":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC oC pC","292":"qC","804":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C"},H:{"2":"9C"},I:{"16":"AD BD","292":"7B I H CD DD RC ED FD"},J:{"292":"D A"},K:{"2":"A B C 2B QC 3B","292":"u"},L:{"292":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"292":"4B"},P:{"292":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"292":"FC"},R:{"292":"SD"},S:{"2":"TD UD"}},B:4,C:"CSS scrollbar styling",D:true}; diff --git a/.pnpm-store/v3/files/58/b1692d236efe685be86c0bb6ddb7c06b9bf9b8e5937a9375232425c5f07472e7818fc213b8bc0608ea11bf18e44558c1484716fdd0401a1323a57138cdac92 b/.pnpm-store/v3/files/58/b1692d236efe685be86c0bb6ddb7c06b9bf9b8e5937a9375232425c5f07472e7818fc213b8bc0608ea11bf18e44558c1484716fdd0401a1323a57138cdac92 new file mode 100644 index 00000000..93978e7d --- /dev/null +++ b/.pnpm-store/v3/files/58/b1692d236efe685be86c0bb6ddb7c06b9bf9b8e5937a9375232425c5f07472e7818fc213b8bc0608ea11bf18e44558c1484716fdd0401a1323a57138cdac92 @@ -0,0 +1,11 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "max-lines-per-function": 0, + "multiline-comment-style": 1, + "new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }], + }, +} diff --git a/.pnpm-store/v3/files/58/b57b5ad335ae9b66721731669e2cf9523719aa09d297bea66b2a15fdfccef7d53d4b35cce94cbcce36e241dcb7ebcd5a2fb5d0190060f3ee557a11fcb07571 b/.pnpm-store/v3/files/58/b57b5ad335ae9b66721731669e2cf9523719aa09d297bea66b2a15fdfccef7d53d4b35cce94cbcce36e241dcb7ebcd5a2fb5d0190060f3ee557a11fcb07571 new file mode 100644 index 00000000..9ce6fcc6 --- /dev/null +++ b/.pnpm-store/v3/files/58/b57b5ad335ae9b66721731669e2cf9523719aa09d297bea66b2a15fdfccef7d53d4b35cce94cbcce36e241dcb7ebcd5a2fb5d0190060f3ee557a11fcb07571 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"SC","8":"J D E F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","8":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC","8":"9 7B I J D E F A B C K L G M N O AB q r s t BB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K","8":"L G M N O AB"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC","8":"9 I YC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B iC jC kC lC","8":"C 2B QC mC 3B"},G:{"1":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC","8":"nC RC oC"},H:{"2":"9C"},I:{"1":"H ED FD","8":"7B I AD BD CD DD RC"},J:{"1":"A","8":"D"},K:{"1":"u","2":"A B","8":"C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"8":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"srcdoc attribute for iframes",D:true}; diff --git a/.pnpm-store/v3/files/58/ddc605fa7d8d1e74ad4c1b1bf504a127e26b2ed1572ca480e1d32c86af6953a59ef8b3a3e6443a549e2451130d8a95d5a9cd4a327c91c4c9479f77f18ccfe0 b/.pnpm-store/v3/files/58/ddc605fa7d8d1e74ad4c1b1bf504a127e26b2ed1572ca480e1d32c86af6953a59ef8b3a3e6443a549e2451130d8a95d5a9cd4a327c91c4c9479f77f18ccfe0 new file mode 100644 index 00000000..12e0839d --- /dev/null +++ b/.pnpm-store/v3/files/58/ddc605fa7d8d1e74ad4c1b1bf504a127e26b2ed1572ca480e1d32c86af6953a59ef8b3a3e6443a549e2451130d8a95d5a9cd4a327c91c4c9479f77f18ccfe0 @@ -0,0 +1,113 @@ +import { importJWK } from '../key/import.js'; +import { JWKSInvalid, JOSENotSupported, JWKSNoMatchingKey, JWKSMultipleMatchingKeys, } from '../util/errors.js'; +import isObject from '../lib/is_object.js'; +function getKtyFromAlg(alg) { + switch (typeof alg === 'string' && alg.slice(0, 2)) { + case 'RS': + case 'PS': + return 'RSA'; + case 'ES': + return 'EC'; + case 'Ed': + return 'OKP'; + default: + throw new JOSENotSupported('Unsupported "alg" value for a JSON Web Key Set'); + } +} +export function isJWKSLike(jwks) { + return (jwks && + typeof jwks === 'object' && + Array.isArray(jwks.keys) && + jwks.keys.every(isJWKLike)); +} +function isJWKLike(key) { + return isObject(key); +} +function clone(obj) { + if (typeof structuredClone === 'function') { + return structuredClone(obj); + } + return JSON.parse(JSON.stringify(obj)); +} +export class LocalJWKSet { + _jwks; + _cached = new WeakMap(); + constructor(jwks) { + if (!isJWKSLike(jwks)) { + throw new JWKSInvalid('JSON Web Key Set malformed'); + } + this._jwks = clone(jwks); + } + async getKey(protectedHeader, token) { + const { alg, kid } = { ...protectedHeader, ...token?.header }; + const kty = getKtyFromAlg(alg); + const candidates = this._jwks.keys.filter((jwk) => { + let candidate = kty === jwk.kty; + if (candidate && typeof kid === 'string') { + candidate = kid === jwk.kid; + } + if (candidate && typeof jwk.alg === 'string') { + candidate = alg === jwk.alg; + } + if (candidate && typeof jwk.use === 'string') { + candidate = jwk.use === 'sig'; + } + if (candidate && Array.isArray(jwk.key_ops)) { + candidate = jwk.key_ops.includes('verify'); + } + if (candidate && alg === 'EdDSA') { + candidate = jwk.crv === 'Ed25519' || jwk.crv === 'Ed448'; + } + if (candidate) { + switch (alg) { + case 'ES256': + candidate = jwk.crv === 'P-256'; + break; + case 'ES256K': + candidate = jwk.crv === 'secp256k1'; + break; + case 'ES384': + candidate = jwk.crv === 'P-384'; + break; + case 'ES512': + candidate = jwk.crv === 'P-521'; + break; + } + } + return candidate; + }); + const { 0: jwk, length } = candidates; + if (length === 0) { + throw new JWKSNoMatchingKey(); + } + if (length !== 1) { + const error = new JWKSMultipleMatchingKeys(); + const { _cached } = this; + error[Symbol.asyncIterator] = async function* () { + for (const jwk of candidates) { + try { + yield await importWithAlgCache(_cached, jwk, alg); + } + catch { } + } + }; + throw error; + } + return importWithAlgCache(this._cached, jwk, alg); + } +} +async function importWithAlgCache(cache, jwk, alg) { + const cached = cache.get(jwk) || cache.set(jwk, {}).get(jwk); + if (cached[alg] === undefined) { + const key = await importJWK({ ...jwk, ext: true }, alg); + if (key instanceof Uint8Array || key.type !== 'public') { + throw new JWKSInvalid('JSON Web Key Set members must be public keys'); + } + cached[alg] = key; + } + return cached[alg]; +} +export function createLocalJWKSet(jwks) { + const set = new LocalJWKSet(jwks); + return async (protectedHeader, token) => set.getKey(protectedHeader, token); +} diff --git a/.pnpm-store/v3/files/58/fb3e6db430e5a0a3fb1ea568d1962c7df0be21eda02bff3f7fa8b4185b3a12601bcaada5d00c9530b12edb13580ecb1f53a1fdb1421ec067d133d2e66df411-index.json b/.pnpm-store/v3/files/58/fb3e6db430e5a0a3fb1ea568d1962c7df0be21eda02bff3f7fa8b4185b3a12601bcaada5d00c9530b12edb13580ecb1f53a1fdb1421ec067d133d2e66df411-index.json new file mode 100644 index 00000000..c34e0eb6 --- /dev/null +++ b/.pnpm-store/v3/files/58/fb3e6db430e5a0a3fb1ea568d1962c7df0be21eda02bff3f7fa8b4185b3a12601bcaada5d00c9530b12edb13580ecb1f53a1fdb1421ec067d133d2e66df411-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001725013,"integrity":"sha512-HQaIQk9pwOcyKutyDk4o2a87WnotwYuLGYFW43emGm4FvIJFKPyg+OYaw5sTegKAKf+C5SKa1ACjzCLivbaHrQ==","mode":420,"size":1141},"README.md":{"checkedAt":1708001725013,"integrity":"sha512-DnUhQDdSdzmPUssUvCGuBwW/VS3Q1jf2lRuHWX877635MqVtrdK61hWDbI01YDCG+xkWbXLNs125236cBqbHfQ==","mode":420,"size":668},"index.d.ts":{"checkedAt":1708001725013,"integrity":"sha512-8VasVenBXJ6O3mdkUTKg/XKpX+50GDfvIIfqS8PM3tzLlf59Ll1tqoHiU2lk9/8zkGT6Zt19k305Qp8G4+RJIg==","mode":420,"size":6606},"package.json":{"checkedAt":1708001725013,"integrity":"sha512-oMV/9kBWBVArG4Ymuc3oBT0DDGswo0V0WFJXd808SLeeD1cEOQ5ZDrefT3aPTqs+0THIjzYwIrfnsZVRnSMsAA==","mode":420,"size":1288}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/59/47a4c764ab250adc7fe583e880e56245f248f601de0461580ff3b3b672a5ebb7ad1bf13906aaf941205691fc1e7674ff574fa9aad0d810532e74054f184e6d b/.pnpm-store/v3/files/59/47a4c764ab250adc7fe583e880e56245f248f601de0461580ff3b3b672a5ebb7ad1bf13906aaf941205691fc1e7674ff574fa9aad0d810532e74054f184e6d new file mode 100644 index 00000000..7104bba7 --- /dev/null +++ b/.pnpm-store/v3/files/59/47a4c764ab250adc7fe583e880e56245f248f601de0461580ff3b3b672a5ebb7ad1bf13906aaf941205691fc1e7674ff574fa9aad0d810532e74054f184e6d @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","2052":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I VC WC","1028":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","1060":"J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB","226":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","2052":"0 1 2 3 4 5 6 7 8 iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D XC DC YC ZC","772":"K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","804":"E F A B C bC EC 2B","1316":"aC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB iC jC kC lC 2B QC mC 3B","226":"MB NB OB PB QB RB SB TB UB","2052":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"DC nC RC oC pC qC","292":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","2052":"u"},L:{"2052":"H"},M:{"1028":"1B"},N:{"2":"A B"},O:{"2052":"4B"},P:{"2":"I GD HD","2052":"q r s t ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2052":"FC"},R:{"2052":"SD"},S:{"1028":"TD UD"}},B:4,C:"text-decoration styling",D:true}; diff --git a/.pnpm-store/v3/files/59/efa34e4861d7a4684d7ea1ec1c1fdd2aa8ee164ceb8c3253a56b374ca5f99d329474b07447c0d095ea4fffc660025f13894e22ee1f909aa40e06bdecfa1414 b/.pnpm-store/v3/files/59/efa34e4861d7a4684d7ea1ec1c1fdd2aa8ee164ceb8c3253a56b374ca5f99d329474b07447c0d095ea4fffc660025f13894e22ee1f909aa40e06bdecfa1414 new file mode 100644 index 00000000..55042621 --- /dev/null +++ b/.pnpm-store/v3/files/59/efa34e4861d7a4684d7ea1ec1c1fdd2aa8ee164ceb8c3253a56b374ca5f99d329474b07447c0d095ea4fffc660025f13894e22ee1f909aa40e06bdecfa1414 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","33":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 o p v w x y z H","33":"C K L G M N O","132":"P Q R S T U V W","260":"X Y Z a b c d e f g h i j k l m n"},C:{"1":"0 1 2 3 4 5 6 7 8 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I VC WC","33":"J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},D:{"1":"0 1 2 3 4 5 6 7 8 X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB","132":"gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W"},E:{"1":"6B NC OC PC gC hC","2":"9 I XC DC","33":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC"},F:{"1":"a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB iC jC kC lC 2B QC mC 3B","132":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z"},G:{"1":"6B NC OC PC","2":"DC nC","33":"E RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I","132":"GD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS Hyphenation",D:true}; diff --git a/.pnpm-store/v3/files/5a/af4a3b1273ae48aa9cb4bc04f71f1c6b9762369c6a2e32d08f21a2cd915aaf18ca4437cff4e16cc04c446cd16acea6bc6caff067fa555610c7c64cc2a5168a b/.pnpm-store/v3/files/5a/af4a3b1273ae48aa9cb4bc04f71f1c6b9762369c6a2e32d08f21a2cd915aaf18ca4437cff4e16cc04c446cd16acea6bc6caff067fa555610c7c64cc2a5168a new file mode 100644 index 00000000..c9ec0f3c --- /dev/null +++ b/.pnpm-store/v3/files/5a/af4a3b1273ae48aa9cb4bc04f71f1c6b9762369c6a2e32d08f21a2cd915aaf18ca4437cff4e16cc04c446cd16acea6bc6caff067fa555610c7c64cc2a5168a @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M VC WC","4":"N O AB q","194":"r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d"},D:{"1":"0 1 2 3 4 5 6 7 8 pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB","66":"hB iB jB 8B kB 9B lB mB nB oB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB iC jC kC lC 2B QC mC 3B","66":"UB VB WB XB YB ZB aB bB cB dB"},G:{"1":"zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"194":"TD UD"}},B:1,C:"inputmode attribute",D:true}; diff --git a/.pnpm-store/v3/files/5a/b12277c3dcaa20eff71683bf9fe53a1518769abbcf74df27a276bd94d9c54f71a91f097f5818784baadbf0222e40382e8a4271ebefcc28ecaf31af14fecd43-exec b/.pnpm-store/v3/files/5a/b12277c3dcaa20eff71683bf9fe53a1518769abbcf74df27a276bd94d9c54f71a91f097f5818784baadbf0222e40382e8a4271ebefcc28ecaf31af14fecd43-exec new file mode 100755 index 00000000..f3c4c7f6 Binary files /dev/null and b/.pnpm-store/v3/files/5a/b12277c3dcaa20eff71683bf9fe53a1518769abbcf74df27a276bd94d9c54f71a91f097f5818784baadbf0222e40382e8a4271ebefcc28ecaf31af14fecd43-exec differ diff --git a/.pnpm-store/v3/files/5a/ffb4a92fc098c6a9d128d3141f9a642e266e6d45500a90f8fb1c60d441c44a730047c9b3659aeff89152de9b199b12350bcc4d110157d913685bd6f2802385 b/.pnpm-store/v3/files/5a/ffb4a92fc098c6a9d128d3141f9a642e266e6d45500a90f8fb1c60d441c44a730047c9b3659aeff89152de9b199b12350bcc4d110157d913685bd6f2802385 new file mode 100644 index 00000000..9e5e4377 --- /dev/null +++ b/.pnpm-store/v3/files/5a/ffb4a92fc098c6a9d128d3141f9a642e266e6d45500a90f8fb1c60d441c44a730047c9b3659aeff89152de9b199b12350bcc4d110157d913685bd6f2802385 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","132":"I XC DC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p QC mC 3B","2":"F iC jC kC lC","132":"B 2B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B H AD BD CD RC ED FD","4":"I DD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"input placeholder attribute",D:true}; diff --git a/.pnpm-store/v3/files/5b/37181e5391850d855b3125aa5b7c5210290a34c90bd569141f0e1dbf5763ea9fbbf996b6716a09df713e8839b27b6269329c01515365abf25bafb67ed96d8f b/.pnpm-store/v3/files/5b/37181e5391850d855b3125aa5b7c5210290a34c90bd569141f0e1dbf5763ea9fbbf996b6716a09df713e8839b27b6269329c01515365abf25bafb67ed96d8f new file mode 100644 index 00000000..50a03f0d --- /dev/null +++ b/.pnpm-store/v3/files/5b/37181e5391850d855b3125aa5b7c5210290a34c90bd569141f0e1dbf5763ea9fbbf996b6716a09df713e8839b27b6269329c01515365abf25bafb67ed96d8f @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB VC WC","322":"cB dB eB fB gB hB iB jB 8B kB 9B"},D:{"1":"0 1 2 3 4 5 6 7 8 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB","194":"LB MB NB"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D XC DC YC ZC","33":"E F A aC bC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t iC jC kC lC 2B QC mC 3B"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC qC","33":"E rC sC tC uC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:4,C:"CSS Shapes Level 1",D:true}; diff --git a/.pnpm-store/v3/files/5b/3eaf67e2a15d1562c4d57782307cd81181f03c0e49c8856fcf9eaf76b6bde3b707877662f35c33ed36e096fdab5690456d9a66eb4d46bc7d639849e60a84ab b/.pnpm-store/v3/files/5b/3eaf67e2a15d1562c4d57782307cd81181f03c0e49c8856fcf9eaf76b6bde3b707877662f35c33ed36e096fdab5690456d9a66eb4d46bc7d639849e60a84ab new file mode 100644 index 00000000..68318418 --- /dev/null +++ b/.pnpm-store/v3/files/5b/3eaf67e2a15d1562c4d57782307cd81181f03c0e49c8856fcf9eaf76b6bde3b707877662f35c33ed36e096fdab5690456d9a66eb4d46bc7d639849e60a84ab @@ -0,0 +1 @@ +module.exports={C:{"52":0.00508,"88":0.01017,"112":0.00508,"113":0.00508,"115":0.21861,"116":0.00508,"118":0.00508,"119":0.01017,"120":0.01525,"121":0.7931,"122":0.18811,"123":0.00508,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 114 117 124 125 3.5 3.6"},D:{"22":0.00508,"63":0.01525,"68":0.00508,"69":0.00508,"70":0.01017,"71":0.00508,"73":0.00508,"74":0.01525,"75":0.00508,"77":0.00508,"78":0.01017,"79":0.01017,"80":0.00508,"81":0.01525,"83":0.00508,"85":0.01525,"86":0.00508,"87":0.02542,"88":0.01017,"89":0.01017,"90":0.00508,"91":0.01017,"92":0.01017,"93":0.00508,"94":0.00508,"95":0.01017,"96":0.00508,"97":0.00508,"98":0.00508,"99":0.01525,"100":0.00508,"102":0.01525,"103":0.04067,"104":0.00508,"105":0.01017,"106":0.02034,"107":0.02542,"108":0.02542,"109":1.7489,"110":0.01017,"111":0.02034,"112":0.01017,"113":0.01525,"114":0.04067,"115":0.02034,"116":0.07626,"117":0.04067,"118":0.05084,"119":4.74846,"120":16.71619,"121":1.0473,"122":0.00508,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 64 65 66 67 72 76 84 101 123 124"},F:{"79":0.01017,"80":0.00508,"84":0.00508,"85":0.00508,"95":0.07626,"105":0.23386,"106":0.45248,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 81 82 83 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00508,"18":0.01525,"84":0.00508,"89":0.00508,"92":0.04576,"100":0.00508,"109":0.04576,"112":0.00508,"113":0.00508,"114":0.01017,"115":0.00508,"116":0.00508,"117":0.01525,"118":0.02034,"119":0.1271,"120":18.84639,"121":2.21154,_:"13 14 15 16 17 79 80 81 83 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111"},E:{"14":0.00508,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 17.4","13.1":0.01017,"14.1":0.02034,"15.1":0.01017,"15.4":0.00508,"15.5":0.00508,"15.6":0.04067,"16.0":0.00508,"16.1":0.02542,"16.2":0.01017,"16.3":0.01525,"16.4":0.01525,"16.5":0.03559,"16.6":0.05592,"17.0":0.02034,"17.1":0.05592,"17.2":0.09151,"17.3":0.00508},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0009,"5.0-5.1":0.00134,"6.0-6.1":0.00224,"7.0-7.1":0.00313,"8.1-8.4":0.00045,"9.0-9.2":0.00269,"9.3":0.0103,"10.0-10.2":0.0009,"10.3":0.01612,"11.0-11.2":0.00627,"11.3-11.4":0.00672,"12.0-12.1":0.00403,"12.2-12.5":0.07972,"13.0-13.1":0.00134,"13.2":0.01478,"13.3":0.00403,"13.4-13.7":0.01791,"14.0-14.4":0.03135,"14.5-14.8":0.04792,"15.0-15.1":0.0206,"15.2-15.3":0.02374,"15.4":0.02777,"15.5":0.03672,"15.6-15.8":0.28617,"16.0":0.08599,"16.1":0.18317,"16.2":0.0833,"16.3":0.15496,"16.4":0.03448,"16.5":0.07345,"16.6-16.7":0.60101,"17.0":0.09987,"17.1":1.0296,"17.2":1.3937,"17.3":0.08957},P:{"4":0.26628,"20":0.08193,"21":0.14338,"22":0.19459,"23":1.1061,"5.0-5.4":0.01024,"6.2-6.4":0.02048,"7.2-7.4":0.6145,_:"8.2 10.1","9.2":0.02048,"11.1-11.2":0.08193,"12.0":0.01024,"13.0":0.04097,"14.0":0.04097,"15.0":0.03073,"16.0":0.05121,"17.0":0.07169,"18.0":0.05121,"19.0":0.11266},I:{"0":0.05384,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00014},A:{"8":0.00636,"11":0.01907,_:"6 7 9 10 5.5"},K:{"0":1.35156,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":1.25358},H:{"0":0.02},L:{"0":40.65971},R:{_:"0"},M:{"0":0.09832}}; diff --git a/.pnpm-store/v3/files/5b/7e7d82842b154c976e0fa53b6c206fb8439f66e4b486830fb07369f3567c897978e094465b65d207c063792168e13def30a768a41dac555c40f73a086a9770 b/.pnpm-store/v3/files/5b/7e7d82842b154c976e0fa53b6c206fb8439f66e4b486830fb07369f3567c897978e094465b65d207c063792168e13def30a768a41dac555c40f73a086a9770 new file mode 100644 index 00000000..c51d7374 --- /dev/null +++ b/.pnpm-store/v3/files/5b/7e7d82842b154c976e0fa53b6c206fb8439f66e4b486830fb07369f3567c897978e094465b65d207c063792168e13def30a768a41dac555c40f73a086a9770 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"H","2":"4 5 6 7 8 C K L G M N","194":"0 1 2 3 O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z"},C:{"1":"0 1 2 3 4 5 6 7 8 qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB VC WC","66":"gB hB iB jB 8B kB 9B lB mB nB","260":"oB","516":"pB"},D:{"1":"0 1 2 3 4 5 6 7 8 tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB","66":"qB rB sB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC","1028":"6B NC OC PC gC hC"},F:{"1":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C","1028":"6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:6,C:"AV1 video format",D:true}; diff --git a/.pnpm-store/v3/files/5b/b9af92e8e269ed53c23b8615e2be2a2af5e9e67d2d0e7087e8ab824b55073696364a3548492dbc1fdfccff4f3da53ca333691b615edb21fbdb2e9e5f81bedb b/.pnpm-store/v3/files/5b/b9af92e8e269ed53c23b8615e2be2a2af5e9e67d2d0e7087e8ab824b55073696364a3548492dbc1fdfccff4f3da53ca333691b615edb21fbdb2e9e5f81bedb new file mode 100644 index 00000000..6aa8b45c --- /dev/null +++ b/.pnpm-store/v3/files/5b/b9af92e8e269ed53c23b8615e2be2a2af5e9e67d2d0e7087e8ab824b55073696364a3548492dbc1fdfccff4f3da53ca333691b615edb21fbdb2e9e5f81bedb @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"F A B SC","4":"J D E"},B:{"2":"C K L G M N O","8":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"8":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"8":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"8":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"8":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"8":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"8":"9C"},I:{"8":"7B I H AD BD CD DD RC ED FD"},J:{"8":"D A"},K:{"8":"A B C u 2B QC 3B"},L:{"8":"H"},M:{"8":"1B"},N:{"2":"A B"},O:{"8":"4B"},P:{"8":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"8":"FC"},R:{"8":"SD"},S:{"8":"TD UD"}},B:7,C:"XHTML+SMIL animation",D:true}; diff --git a/.pnpm-store/v3/files/5b/dd3f31a5d29f82c3a0e40c8fc6c4daeabad6028a798315b846093807c4941ad2f470554b43bb06d264c33a3204dd4b357fe2e725c8bf5f58b0ba1fbccb9188 b/.pnpm-store/v3/files/5b/dd3f31a5d29f82c3a0e40c8fc6c4daeabad6028a798315b846093807c4941ad2f470554b43bb06d264c33a3204dd4b357fe2e725c8bf5f58b0ba1fbccb9188 new file mode 100644 index 00000000..239ce664 --- /dev/null +++ b/.pnpm-store/v3/files/5b/dd3f31a5d29f82c3a0e40c8fc6c4daeabad6028a798315b846093807c4941ad2f470554b43bb06d264c33a3204dd4b357fe2e725c8bf5f58b0ba1fbccb9188 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"DC nC RC oC","129":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H DD RC ED FD","2":"AD","257":"BD CD"},J:{"1":"A","16":"D"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"516":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"16":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:2,C:"HTML Media Capture",D:true}; diff --git a/.pnpm-store/v3/files/5c/0a1b5463918d3eb3fb6b4ae9c0649e14a00f2fe9369560ae09d0c7e8be6fd714ce4f6b9d4e7e15d315163bf49fb6a5c226907717fcdf261310f96bdab69c3e b/.pnpm-store/v3/files/5c/0a1b5463918d3eb3fb6b4ae9c0649e14a00f2fe9369560ae09d0c7e8be6fd714ce4f6b9d4e7e15d315163bf49fb6a5c226907717fcdf261310f96bdab69c3e new file mode 100644 index 00000000..b713f7f2 --- /dev/null +++ b/.pnpm-store/v3/files/5c/0a1b5463918d3eb3fb6b4ae9c0649e14a00f2fe9369560ae09d0c7e8be6fd714ce4f6b9d4e7e15d315163bf49fb6a5c226907717fcdf261310f96bdab69c3e @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","130":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 z H","130":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y"},C:{"1":"0 1 2 3 4 5 6 7 8 LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","130":"9 I J D E F A B C K L G M N O AB q r s t","322":"BB CB DB EB FB GB HB IB JB KB"},D:{"1":"0 1 2 3 4 5 6 7 8 z H 1B BC CC","2":"9 I J D E F A B C K L G","130":"M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y"},E:{"1":"A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"D E F XC DC ZC aC","130":"9 I J YC"},F:{"1":"h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","130":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g"},G:{"1":"tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC qC rC sC","130":"nC RC oC pC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC","130":"ED FD"},J:{"2":"D","130":"A"},K:{"2":"A B C 2B QC 3B","130":"u"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"130":"4B"},P:{"1":"s t","130":"I q r GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"130":"FC"},R:{"130":"SD"},S:{"1":"TD UD"}},B:5,C:"CSS font-variant-alternates",D:true}; diff --git a/.pnpm-store/v3/files/5c/18dfdcda87836341695116199e2881bf74c327a2673ac94ed6fac010eed8990ad8c5567ac0dcf3135b488a41e89074160dd75e2627e8e1000b3247a3d35406 b/.pnpm-store/v3/files/5c/18dfdcda87836341695116199e2881bf74c327a2673ac94ed6fac010eed8990ad8c5567ac0dcf3135b488a41e89074160dd75e2627e8e1000b3247a3d35406 new file mode 100644 index 00000000..b5049222 --- /dev/null +++ b/.pnpm-store/v3/files/5c/18dfdcda87836341695116199e2881bf74c327a2673ac94ed6fac010eed8990ad8c5567ac0dcf3135b488a41e89074160dd75e2627e8e1000b3247a3d35406 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","194":"TB UB VB WB XB YB"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB iC jC kC lC 2B QC mC 3B","194":"GB HB IB JB KB LB"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"194":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I","194":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"194":"SD"},S:{"1":"TD UD"}},B:5,C:"KeyboardEvent.code",D:true}; diff --git a/.pnpm-store/v3/files/5c/5a8a7a8c0466e02ad54e4d6a70d42f7e8291f81753cddc666073102dd0854e153cada296cf21c6bce9995f56268c95b6926edf43fa3b2bfffc1c58883ad20b b/.pnpm-store/v3/files/5c/5a8a7a8c0466e02ad54e4d6a70d42f7e8291f81753cddc666073102dd0854e153cada296cf21c6bce9995f56268c95b6926edf43fa3b2bfffc1c58883ad20b new file mode 100644 index 00000000..91329dd5 --- /dev/null +++ b/.pnpm-store/v3/files/5c/5a8a7a8c0466e02ad54e4d6a70d42f7e8291f81753cddc666073102dd0854e153cada296cf21c6bce9995f56268c95b6926edf43fa3b2bfffc1c58883ad20b @@ -0,0 +1 @@ +module.exports={C:{"78":0.0027,"88":0.00539,"92":0.0027,"105":0.0027,"110":0.00809,"115":0.07821,"118":0.01349,"119":0.0027,"120":0.00809,"121":0.30206,"122":0.07821,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 106 107 108 109 111 112 113 114 116 117 123 124 125 3.5 3.6"},D:{"11":0.01618,"19":0.0027,"49":0.0027,"54":0.0027,"63":0.0027,"65":0.00539,"69":0.07012,"70":0.00539,"73":0.0027,"75":0.00539,"76":0.01618,"77":0.0027,"79":0.08091,"81":0.02427,"83":0.02697,"85":0.0027,"86":0.02697,"87":0.02427,"88":0.0027,"89":0.0027,"90":0.00539,"91":0.03236,"92":0.0027,"93":0.05664,"94":0.00539,"95":0.00809,"97":0.01888,"98":0.00809,"99":0.00539,"100":0.0027,"101":0.00809,"102":0.00539,"103":0.07552,"104":0.0027,"105":0.05933,"106":0.01349,"107":0.01079,"108":0.01079,"109":0.28858,"110":0.05933,"111":0.02158,"112":0.02967,"113":0.02697,"114":0.12406,"115":0.03506,"116":0.04315,"117":0.12946,"118":0.16991,"119":0.54479,"120":12.10683,"121":0.94125,"122":0.00809,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 55 56 57 58 59 60 61 62 64 66 67 68 71 72 74 78 80 84 96 123 124"},F:{"28":0.00809,"46":0.0027,"79":0.0027,"95":0.00809,"104":0.01349,"105":0.57446,"106":0.53401,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.0027,"18":0.00539,"80":0.01079,"92":0.00809,"100":0.0027,"107":0.0027,"109":0.02427,"112":0.0027,"113":0.00539,"114":0.0027,"115":0.00539,"116":0.01618,"117":0.01349,"118":0.02427,"119":0.07012,"120":3.71377,"121":0.49625,_:"12 13 14 16 17 79 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 110 111"},E:{"14":0.01349,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1","5.1":0.0027,"13.1":0.11597,"14.1":0.01349,"15.2-15.3":0.0027,"15.4":0.01079,"15.5":0.00539,"15.6":0.09709,"16.0":0.01618,"16.1":0.01618,"16.2":0.02697,"16.3":0.02427,"16.4":0.01888,"16.5":0.03506,"16.6":1.14353,"17.0":0.02697,"17.1":0.28858,"17.2":0.57986,"17.3":0.02697,"17.4":0.00539},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00292,"5.0-5.1":0.00438,"6.0-6.1":0.00731,"7.0-7.1":0.01023,"8.1-8.4":0.00146,"9.0-9.2":0.00877,"9.3":0.03361,"10.0-10.2":0.00292,"10.3":0.05261,"11.0-11.2":0.02046,"11.3-11.4":0.02192,"12.0-12.1":0.01315,"12.2-12.5":0.26012,"13.0-13.1":0.00438,"13.2":0.04822,"13.3":0.01315,"13.4-13.7":0.05845,"14.0-14.4":0.10229,"14.5-14.8":0.15636,"15.0-15.1":0.06722,"15.2-15.3":0.07745,"15.4":0.0906,"15.5":0.11983,"15.6-15.8":0.93379,"16.0":0.28058,"16.1":0.59768,"16.2":0.27181,"16.3":0.50562,"16.4":0.11252,"16.5":0.23966,"16.6-16.7":1.96111,"17.0":0.32588,"17.1":3.3596,"17.2":4.54766,"17.3":0.29227},P:{"4":0.11,"20":0.044,"21":0.143,"22":0.187,"23":4.03705,_:"5.0-5.4 8.2 9.2 10.1 12.0 14.0","6.2-6.4":0.011,"7.2-7.4":0.275,"11.1-11.2":0.055,"13.0":0.033,"15.0":0.011,"16.0":0.033,"17.0":0.033,"18.0":0.044,"19.0":0.264},I:{"0":0.02908,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"9":0.0045,"10":0.01798,"11":0.0045,_:"6 7 8 5.5"},K:{"0":0.40167,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.10955},O:{"0":0.4747},H:{"0":0},L:{"0":54.87061},R:{_:"0"},M:{"0":0.08033}}; diff --git a/.pnpm-store/v3/files/5c/769d728af66fbb9aa8476ead0bb5997b2e57c25c1277fc1baac135a7cc3a69ac56eb860dc610f23953f5445c4729481f83d3555cea0d5e1ab5d03853798ac0 b/.pnpm-store/v3/files/5c/769d728af66fbb9aa8476ead0bb5997b2e57c25c1277fc1baac135a7cc3a69ac56eb860dc610f23953f5445c4729481f83d3555cea0d5e1ab5d03853798ac0 new file mode 100644 index 00000000..a2effda8 --- /dev/null +++ b/.pnpm-store/v3/files/5c/769d728af66fbb9aa8476ead0bb5997b2e57c25c1277fc1baac135a7cc3a69ac56eb860dc610f23953f5445c4729481f83d3555cea0d5e1ab5d03853798ac0 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N","260":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","3138":"O"},C:{"1":"0 1 2 3 4 5 6 7 8 fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B","132":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB VC WC","644":"YB ZB aB bB cB dB eB"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t","260":"0 1 2 3 4 5 6 7 8 gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","292":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB"},E:{"2":"9 I J XC DC YC ZC","260":"L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","292":"D E F A B C K aC bC EC 2B 3B"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","260":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","292":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},G:{"2":"DC nC RC oC pC","260":"0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","292":"E qC rC sC tC uC vC wC xC yC zC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC","260":"H","292":"ED FD"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","260":"u"},L:{"260":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"260":"4B"},P:{"292":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"260":"FC"},R:{"260":"SD"},S:{"1":"UD","644":"TD"}},B:4,C:"CSS clip-path property (for HTML)",D:true}; diff --git a/.pnpm-store/v3/files/5c/8dd234098fc57d45c2ef361b48e21f5673e2d935e5344e29d911d607610cb7ddc862c0c8a59dcf4c481ea6bac4385ef0e1e8fb6398931a061d2e8047b529cb b/.pnpm-store/v3/files/5c/8dd234098fc57d45c2ef361b48e21f5673e2d935e5344e29d911d607610cb7ddc862c0c8a59dcf4c481ea6bac4385ef0e1e8fb6398931a061d2e8047b529cb new file mode 100644 index 00000000..242105dc --- /dev/null +++ b/.pnpm-store/v3/files/5c/8dd234098fc57d45c2ef361b48e21f5673e2d935e5344e29d911d607610cb7ddc862c0c8a59dcf4c481ea6bac4385ef0e1e8fb6398931a061d2e8047b529cb @@ -0,0 +1 @@ +module.exports={C:{"31":0.00499,"113":0.00499,"115":0.10967,"120":0.01496,"121":0.62811,"122":0.14457,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 116 117 118 119 123 124 125 3.5 3.6"},D:{"11":0.00499,"41":0.00499,"43":0.00499,"64":0.00499,"69":0.00997,"73":0.02493,"75":0.00499,"76":0.00997,"78":0.00499,"79":0.02493,"81":0.0997,"83":0.01496,"84":0.00499,"86":0.02493,"87":0.06481,"88":0.00499,"89":0.01496,"91":0.00499,"93":0.01994,"94":0.01994,"95":0.01496,"98":0.01994,"99":0.01994,"101":0.00499,"102":0.01994,"103":0.0349,"106":0.00499,"108":0.00499,"109":0.76769,"110":0.00997,"115":0.08973,"116":0.01496,"117":0.02493,"118":0.00997,"119":0.10967,"120":19.88018,"121":1.95911,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 65 66 67 68 70 71 72 74 77 80 85 90 92 96 97 100 104 105 107 111 112 113 114 122 123 124"},F:{"79":0.00499,"85":0.00499,"95":0.02991,"101":0.00499,"105":0.14457,"106":0.46361,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00499,"18":0.01496,"81":0.09472,"92":0.02493,"109":0.07976,"112":0.00499,"114":0.00499,"117":0.00997,"118":0.01994,"119":0.11964,"120":15.4535,"121":1.91923,_:"13 14 15 16 17 79 80 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 113 115 116"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.2 16.3 16.4 16.5 17.0 17.3 17.4","11.1":0.00499,"13.1":0.01496,"15.6":0.01496,"16.1":0.00499,"16.6":0.00499,"17.1":0.00499,"17.2":0.01496},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00164,"5.0-5.1":0.00246,"6.0-6.1":0.0041,"7.0-7.1":0.00574,"8.1-8.4":0.00082,"9.0-9.2":0.00492,"9.3":0.01885,"10.0-10.2":0.00164,"10.3":0.0295,"11.0-11.2":0.01147,"11.3-11.4":0.01229,"12.0-12.1":0.00738,"12.2-12.5":0.14586,"13.0-13.1":0.00246,"13.2":0.02704,"13.3":0.00738,"13.4-13.7":0.03278,"14.0-14.4":0.05736,"14.5-14.8":0.08768,"15.0-15.1":0.03769,"15.2-15.3":0.04343,"15.4":0.05081,"15.5":0.06719,"15.6-15.8":0.52363,"16.0":0.15733,"16.1":0.33516,"16.2":0.15242,"16.3":0.28353,"16.4":0.0631,"16.5":0.13439,"16.6-16.7":1.0997,"17.0":0.18274,"17.1":1.88392,"17.2":2.55013,"17.3":0.16389},P:{"4":0.07789,"21":0.01113,"22":0.02225,"23":0.16691,_:"20 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0","7.2-7.4":0.03338,"16.0":0.01113,"17.0":0.01113,"18.0":0.01113,"19.0":0.01113},I:{"0":0.02996,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"11":0.00499,_:"6 7 8 9 10 5.5"},K:{"0":0.35649,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.1003,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00502},O:{"0":0.08024},H:{"0":0.14},L:{"0":47.72579},R:{_:"0"},M:{"0":0.02508}}; diff --git a/.pnpm-store/v3/files/5c/b16fde47b396ef862284956e2ea643896202296666721dcf119d3b8c3c052b83546c5194f14430667c0a47038cc7405821d160a96c7c8e1cf94b0ec3504800 b/.pnpm-store/v3/files/5c/b16fde47b396ef862284956e2ea643896202296666721dcf119d3b8c3c052b83546c5194f14430667c0a47038cc7405821d160a96c7c8e1cf94b0ec3504800 new file mode 100644 index 00000000..847cb355 --- /dev/null +++ b/.pnpm-store/v3/files/5c/b16fde47b396ef862284956e2ea643896202296666721dcf119d3b8c3c052b83546c5194f14430667c0a47038cc7405821d160a96c7c8e1cf94b0ec3504800 @@ -0,0 +1 @@ +{"39.0.2171.65":["0.20.0","0.20.1","0.20.2","0.20.3","0.20.4","0.20.5","0.20.6","0.20.7","0.20.8"],"40.0.2214.91":["0.21.0","0.21.1","0.21.2"],"41.0.2272.76":["0.21.3","0.22.1","0.22.2","0.22.3","0.23.0","0.24.0"],"42.0.2311.107":["0.25.0","0.25.1","0.25.2","0.25.3","0.26.0","0.26.1","0.27.0","0.27.1"],"43.0.2357.65":["0.27.2","0.27.3","0.28.0","0.28.1","0.28.2","0.28.3","0.29.1","0.29.2"],"44.0.2403.125":["0.30.4","0.31.0"],"45.0.2454.85":["0.31.2","0.32.2","0.32.3","0.33.0","0.33.1","0.33.2","0.33.3","0.33.4","0.33.6","0.33.7","0.33.8","0.33.9","0.34.0","0.34.1","0.34.2","0.34.3","0.34.4","0.35.1","0.35.2","0.35.3","0.35.4","0.35.5"],"47.0.2526.73":["0.36.0","0.36.2","0.36.3","0.36.4"],"47.0.2526.110":["0.36.5","0.36.6","0.36.7","0.36.8","0.36.9","0.36.10","0.36.11","0.36.12"],"49.0.2623.75":["0.37.0","0.37.1","0.37.3","0.37.4","0.37.5","0.37.6","0.37.7","0.37.8","1.0.0","1.0.1","1.0.2"],"50.0.2661.102":["1.1.0","1.1.1","1.1.2","1.1.3"],"51.0.2704.63":["1.2.0","1.2.1"],"51.0.2704.84":["1.2.2","1.2.3"],"51.0.2704.103":["1.2.4","1.2.5"],"51.0.2704.106":["1.2.6","1.2.7","1.2.8"],"52.0.2743.82":["1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.3.9","1.3.10","1.3.13","1.3.14","1.3.15"],"53.0.2785.113":["1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5"],"53.0.2785.143":["1.4.6","1.4.7","1.4.8","1.4.10","1.4.11","1.4.13","1.4.14","1.4.15","1.4.16"],"54.0.2840.51":["1.4.12"],"54.0.2840.101":["1.5.0","1.5.1"],"56.0.2924.87":["1.6.0","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.6.6","1.6.7","1.6.8","1.6.9","1.6.10","1.6.11","1.6.12","1.6.13","1.6.14","1.6.15","1.6.16","1.6.17","1.6.18"],"58.0.3029.110":["1.7.0","1.7.1","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.7.8","1.7.9","1.7.10","1.7.11","1.7.12","1.7.13","1.7.14","1.7.15","1.7.16"],"59.0.3071.115":["1.8.0","1.8.1","1.8.2-beta.1","1.8.2-beta.2","1.8.2-beta.3","1.8.2-beta.4","1.8.2-beta.5","1.8.2","1.8.3","1.8.4","1.8.5","1.8.6","1.8.7","1.8.8"],"61.0.3163.100":["2.0.0-beta.1","2.0.0-beta.2","2.0.0-beta.3","2.0.0-beta.4","2.0.0-beta.5","2.0.0-beta.6","2.0.0-beta.7","2.0.0-beta.8","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8-nightly.20180819","2.0.8-nightly.20180820","2.0.8","2.0.9","2.0.10","2.0.11","2.0.12","2.0.13","2.0.14","2.0.15","2.0.16","2.0.17","2.0.18","2.1.0-unsupported.20180809"],"66.0.3359.181":["3.0.0-beta.1","3.0.0-beta.2","3.0.0-beta.3","3.0.0-beta.4","3.0.0-beta.5","3.0.0-beta.6","3.0.0-beta.7","3.0.0-beta.8","3.0.0-beta.9","3.0.0-beta.10","3.0.0-beta.11","3.0.0-beta.12","3.0.0-beta.13","3.0.0-nightly.20180818","3.0.0-nightly.20180821","3.0.0-nightly.20180823","3.0.0-nightly.20180904","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","3.0.10","3.0.11","3.0.12","3.0.13","3.0.14","3.0.15","3.0.16","3.1.0-beta.1","3.1.0-beta.2","3.1.0-beta.3","3.1.0-beta.4","3.1.0-beta.5","3.1.0","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1.8","3.1.9","3.1.10","3.1.11","3.1.12","3.1.13","4.0.0-nightly.20180817","4.0.0-nightly.20180819","4.0.0-nightly.20180821"],"69.0.3497.106":["4.0.0-beta.1","4.0.0-beta.2","4.0.0-beta.3","4.0.0-beta.4","4.0.0-beta.5","4.0.0-beta.6","4.0.0-beta.7","4.0.0-beta.8","4.0.0-beta.9","4.0.0-beta.10","4.0.0-beta.11","4.0.0-nightly.20181010","4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6"],"67.0.3396.99":["4.0.0-nightly.20180929"],"68.0.3440.128":["4.0.0-nightly.20181006"],"69.0.3497.128":["4.0.7","4.0.8","4.1.0","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.2.0","4.2.1","4.2.2","4.2.3","4.2.4","4.2.5","4.2.6","4.2.7","4.2.8","4.2.9","4.2.10","4.2.11","4.2.12"],"72.0.3626.52":["5.0.0-beta.1","5.0.0-beta.2","6.0.0-nightly.20190123"],"73.0.3683.27":["5.0.0-beta.3"],"73.0.3683.54":["5.0.0-beta.4"],"73.0.3683.61":["5.0.0-beta.5"],"73.0.3683.84":["5.0.0-beta.6"],"73.0.3683.94":["5.0.0-beta.7"],"73.0.3683.104":["5.0.0-beta.8"],"73.0.3683.117":["5.0.0-beta.9"],"70.0.3538.110":["5.0.0-nightly.20190107"],"71.0.3578.98":["5.0.0-nightly.20190121","5.0.0-nightly.20190122"],"73.0.3683.119":["5.0.0"],"73.0.3683.121":["5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","5.0.6","5.0.7","5.0.8","5.0.9","5.0.10","5.0.11","5.0.12","5.0.13"],"76.0.3774.1":["6.0.0-beta.1"],"76.0.3783.1":["6.0.0-beta.2","6.0.0-beta.3","6.0.0-beta.4"],"76.0.3805.4":["6.0.0-beta.5"],"76.0.3809.3":["6.0.0-beta.6"],"76.0.3809.22":["6.0.0-beta.7"],"76.0.3809.26":["6.0.0-beta.8","6.0.0-beta.9"],"76.0.3809.37":["6.0.0-beta.10"],"76.0.3809.42":["6.0.0-beta.11"],"76.0.3809.54":["6.0.0-beta.12"],"76.0.3809.60":["6.0.0-beta.13"],"76.0.3809.68":["6.0.0-beta.14"],"76.0.3809.74":["6.0.0-beta.15"],"72.0.3626.107":["6.0.0-nightly.20190212"],"72.0.3626.110":["6.0.0-nightly.20190213"],"74.0.3724.8":["6.0.0-nightly.20190311"],"76.0.3809.88":["6.0.0"],"76.0.3809.102":["6.0.1"],"76.0.3809.110":["6.0.2"],"76.0.3809.126":["6.0.3"],"76.0.3809.131":["6.0.4"],"76.0.3809.136":["6.0.5"],"76.0.3809.138":["6.0.6"],"76.0.3809.139":["6.0.7"],"76.0.3809.146":["6.0.8","6.0.9","6.0.10","6.0.11","6.0.12","6.1.0","6.1.1","6.1.2","6.1.3","6.1.4","6.1.5","6.1.6","6.1.7","6.1.8","6.1.9","6.1.10","6.1.11","6.1.12"],"78.0.3866.0":["7.0.0-beta.1","7.0.0-beta.2","7.0.0-beta.3","7.0.0-nightly.20190727","7.0.0-nightly.20190728","7.0.0-nightly.20190729","7.0.0-nightly.20190730","7.0.0-nightly.20190731","8.0.0-nightly.20190801","8.0.0-nightly.20190802"],"78.0.3896.6":["7.0.0-beta.4"],"78.0.3905.1":["7.0.0-beta.5","7.0.0-beta.6","7.0.0-beta.7","7.0.0"],"76.0.3784.0":["7.0.0-nightly.20190521"],"76.0.3806.0":["7.0.0-nightly.20190529","7.0.0-nightly.20190530","7.0.0-nightly.20190531","7.0.0-nightly.20190602","7.0.0-nightly.20190603"],"77.0.3814.0":["7.0.0-nightly.20190604"],"77.0.3815.0":["7.0.0-nightly.20190605","7.0.0-nightly.20190606","7.0.0-nightly.20190607","7.0.0-nightly.20190608","7.0.0-nightly.20190609","7.0.0-nightly.20190611","7.0.0-nightly.20190612","7.0.0-nightly.20190613","7.0.0-nightly.20190615","7.0.0-nightly.20190616","7.0.0-nightly.20190618","7.0.0-nightly.20190619","7.0.0-nightly.20190622","7.0.0-nightly.20190623","7.0.0-nightly.20190624","7.0.0-nightly.20190627","7.0.0-nightly.20190629","7.0.0-nightly.20190630","7.0.0-nightly.20190701","7.0.0-nightly.20190702"],"77.0.3843.0":["7.0.0-nightly.20190704","7.0.0-nightly.20190705"],"77.0.3848.0":["7.0.0-nightly.20190719","7.0.0-nightly.20190720","7.0.0-nightly.20190721"],"77.0.3864.0":["7.0.0-nightly.20190726"],"78.0.3904.92":["7.0.1"],"78.0.3904.94":["7.1.0"],"78.0.3904.99":["7.1.1"],"78.0.3904.113":["7.1.2"],"78.0.3904.126":["7.1.3"],"78.0.3904.130":["7.1.4","7.1.5","7.1.6","7.1.7","7.1.8","7.1.9","7.1.10","7.1.11","7.1.12","7.1.13","7.1.14","7.2.0","7.2.1","7.2.2","7.2.3","7.2.4","7.3.0","7.3.1","7.3.2","7.3.3"],"79.0.3931.0":["8.0.0-beta.1","8.0.0-beta.2","8.0.0-nightly.20191019","8.0.0-nightly.20191020","8.0.0-nightly.20191021","8.0.0-nightly.20191023"],"80.0.3955.0":["8.0.0-beta.3","8.0.0-beta.4"],"80.0.3987.14":["8.0.0-beta.5"],"80.0.3987.51":["8.0.0-beta.6"],"80.0.3987.59":["8.0.0-beta.7"],"80.0.3987.75":["8.0.0-beta.8","8.0.0-beta.9"],"78.0.3871.0":["8.0.0-nightly.20190803","8.0.0-nightly.20190806","8.0.0-nightly.20190807","8.0.0-nightly.20190808","8.0.0-nightly.20190809","8.0.0-nightly.20190810","8.0.0-nightly.20190811","8.0.0-nightly.20190812","8.0.0-nightly.20190813","8.0.0-nightly.20190814","8.0.0-nightly.20190815"],"78.0.3881.0":["8.0.0-nightly.20190816","8.0.0-nightly.20190817","8.0.0-nightly.20190818","8.0.0-nightly.20190819","8.0.0-nightly.20190820"],"78.0.3892.0":["8.0.0-nightly.20190824","8.0.0-nightly.20190825","8.0.0-nightly.20190827","8.0.0-nightly.20190828","8.0.0-nightly.20190830","8.0.0-nightly.20190901","8.0.0-nightly.20190902","8.0.0-nightly.20190907","8.0.0-nightly.20190909","8.0.0-nightly.20190910","8.0.0-nightly.20190911","8.0.0-nightly.20190912","8.0.0-nightly.20190913","8.0.0-nightly.20190914","8.0.0-nightly.20190915","8.0.0-nightly.20190917"],"79.0.3915.0":["8.0.0-nightly.20190919","8.0.0-nightly.20190920"],"79.0.3919.0":["8.0.0-nightly.20190922","8.0.0-nightly.20190923","8.0.0-nightly.20190924","8.0.0-nightly.20190926","8.0.0-nightly.20190928","8.0.0-nightly.20190929","8.0.0-nightly.20190930","8.0.0-nightly.20191001","8.0.0-nightly.20191004","8.0.0-nightly.20191005","8.0.0-nightly.20191006","8.0.0-nightly.20191009","8.0.0-nightly.20191011","8.0.0-nightly.20191012","8.0.0-nightly.20191017"],"80.0.3952.0":["8.0.0-nightly.20191101","8.0.0-nightly.20191103","8.0.0-nightly.20191105"],"80.0.3987.86":["8.0.0","8.0.1","8.0.2"],"80.0.3987.134":["8.0.3"],"80.0.3987.137":["8.1.0"],"80.0.3987.141":["8.1.1"],"80.0.3987.158":["8.2.0"],"80.0.3987.163":["8.2.1","8.2.2","8.2.3","8.5.3","8.5.4","8.5.5"],"80.0.3987.165":["8.2.4","8.2.5","8.3.0","8.3.1","8.3.2","8.3.3","8.3.4","8.4.0","8.4.1","8.5.0","8.5.1","8.5.2"],"82.0.4048.0":["9.0.0-beta.1","9.0.0-beta.2","9.0.0-beta.3","9.0.0-beta.4","9.0.0-beta.5"],"82.0.4058.2":["9.0.0-beta.6","9.0.0-beta.7","9.0.0-beta.9"],"82.0.4085.10":["9.0.0-beta.10"],"82.0.4085.14":["9.0.0-beta.11","9.0.0-beta.12","9.0.0-beta.13"],"82.0.4085.27":["9.0.0-beta.14"],"83.0.4102.3":["9.0.0-beta.15","9.0.0-beta.16"],"83.0.4103.14":["9.0.0-beta.17"],"83.0.4103.16":["9.0.0-beta.18"],"83.0.4103.24":["9.0.0-beta.19"],"83.0.4103.26":["9.0.0-beta.20","9.0.0-beta.21"],"83.0.4103.34":["9.0.0-beta.22"],"83.0.4103.44":["9.0.0-beta.23"],"83.0.4103.45":["9.0.0-beta.24"],"80.0.3954.0":["9.0.0-nightly.20191121","9.0.0-nightly.20191122","9.0.0-nightly.20191123","9.0.0-nightly.20191124","9.0.0-nightly.20191126","9.0.0-nightly.20191128","9.0.0-nightly.20191129","9.0.0-nightly.20191130","9.0.0-nightly.20191201","9.0.0-nightly.20191202","9.0.0-nightly.20191203","9.0.0-nightly.20191204","9.0.0-nightly.20191205","9.0.0-nightly.20191210"],"81.0.3994.0":["9.0.0-nightly.20191220","9.0.0-nightly.20191221","9.0.0-nightly.20191222","9.0.0-nightly.20191223","9.0.0-nightly.20191224","9.0.0-nightly.20191225","9.0.0-nightly.20191226","9.0.0-nightly.20191228","9.0.0-nightly.20191229","9.0.0-nightly.20191230","9.0.0-nightly.20191231","9.0.0-nightly.20200101","9.0.0-nightly.20200103","9.0.0-nightly.20200104","9.0.0-nightly.20200105","9.0.0-nightly.20200106","9.0.0-nightly.20200108","9.0.0-nightly.20200109","9.0.0-nightly.20200110","9.0.0-nightly.20200111","9.0.0-nightly.20200113","9.0.0-nightly.20200115","9.0.0-nightly.20200116","9.0.0-nightly.20200117"],"81.0.4030.0":["9.0.0-nightly.20200119","9.0.0-nightly.20200121"],"83.0.4103.64":["9.0.0"],"83.0.4103.94":["9.0.1","9.0.2"],"83.0.4103.100":["9.0.3"],"83.0.4103.104":["9.0.4"],"83.0.4103.119":["9.0.5"],"83.0.4103.122":["9.1.0","9.1.1","9.1.2","9.2.0","9.2.1","9.3.0","9.3.1","9.3.2","9.3.3","9.3.4","9.3.5","9.4.0","9.4.1","9.4.2","9.4.3","9.4.4"],"84.0.4129.0":["10.0.0-beta.1","10.0.0-beta.2","10.0.0-nightly.20200501","10.0.0-nightly.20200504","10.0.0-nightly.20200505","10.0.0-nightly.20200506","10.0.0-nightly.20200507","10.0.0-nightly.20200508","10.0.0-nightly.20200511","10.0.0-nightly.20200512","10.0.0-nightly.20200513","10.0.0-nightly.20200514","10.0.0-nightly.20200515","10.0.0-nightly.20200518","10.0.0-nightly.20200519","10.0.0-nightly.20200520","10.0.0-nightly.20200521","11.0.0-nightly.20200525","11.0.0-nightly.20200526"],"85.0.4161.2":["10.0.0-beta.3","10.0.0-beta.4"],"85.0.4181.1":["10.0.0-beta.8","10.0.0-beta.9"],"85.0.4183.19":["10.0.0-beta.10"],"85.0.4183.20":["10.0.0-beta.11"],"85.0.4183.26":["10.0.0-beta.12"],"85.0.4183.39":["10.0.0-beta.13","10.0.0-beta.14","10.0.0-beta.15","10.0.0-beta.17","10.0.0-beta.19","10.0.0-beta.20","10.0.0-beta.21"],"85.0.4183.70":["10.0.0-beta.23"],"85.0.4183.78":["10.0.0-beta.24"],"85.0.4183.80":["10.0.0-beta.25"],"82.0.4050.0":["10.0.0-nightly.20200209","10.0.0-nightly.20200210","10.0.0-nightly.20200211","10.0.0-nightly.20200216","10.0.0-nightly.20200217","10.0.0-nightly.20200218","10.0.0-nightly.20200221","10.0.0-nightly.20200222","10.0.0-nightly.20200223","10.0.0-nightly.20200226","10.0.0-nightly.20200303"],"82.0.4076.0":["10.0.0-nightly.20200304","10.0.0-nightly.20200305","10.0.0-nightly.20200306","10.0.0-nightly.20200309","10.0.0-nightly.20200310"],"82.0.4083.0":["10.0.0-nightly.20200311"],"83.0.4086.0":["10.0.0-nightly.20200316"],"83.0.4087.0":["10.0.0-nightly.20200317","10.0.0-nightly.20200318","10.0.0-nightly.20200320","10.0.0-nightly.20200323","10.0.0-nightly.20200324","10.0.0-nightly.20200325","10.0.0-nightly.20200326","10.0.0-nightly.20200327","10.0.0-nightly.20200330","10.0.0-nightly.20200331","10.0.0-nightly.20200401","10.0.0-nightly.20200402","10.0.0-nightly.20200403","10.0.0-nightly.20200406"],"83.0.4095.0":["10.0.0-nightly.20200408","10.0.0-nightly.20200410","10.0.0-nightly.20200413"],"84.0.4114.0":["10.0.0-nightly.20200414"],"84.0.4115.0":["10.0.0-nightly.20200415","10.0.0-nightly.20200416","10.0.0-nightly.20200417"],"84.0.4121.0":["10.0.0-nightly.20200422","10.0.0-nightly.20200423"],"84.0.4125.0":["10.0.0-nightly.20200427","10.0.0-nightly.20200428","10.0.0-nightly.20200429","10.0.0-nightly.20200430"],"85.0.4183.84":["10.0.0"],"85.0.4183.86":["10.0.1"],"85.0.4183.87":["10.1.0"],"85.0.4183.93":["10.1.1"],"85.0.4183.98":["10.1.2"],"85.0.4183.121":["10.1.3","10.1.4","10.1.5","10.1.6","10.1.7","10.2.0","10.3.0","10.3.1","10.3.2","10.4.0","10.4.1","10.4.2","10.4.3","10.4.4","10.4.5","10.4.6","10.4.7"],"86.0.4234.0":["11.0.0-beta.1","11.0.0-beta.3","11.0.0-beta.4","11.0.0-beta.5","11.0.0-beta.6","11.0.0-beta.7","11.0.0-nightly.20200822","11.0.0-nightly.20200824","11.0.0-nightly.20200825","11.0.0-nightly.20200826","12.0.0-nightly.20200827","12.0.0-nightly.20200831","12.0.0-nightly.20200902","12.0.0-nightly.20200903","12.0.0-nightly.20200907","12.0.0-nightly.20200910","12.0.0-nightly.20200911","12.0.0-nightly.20200914"],"87.0.4251.1":["11.0.0-beta.8","11.0.0-beta.9","11.0.0-beta.11"],"87.0.4280.11":["11.0.0-beta.12","11.0.0-beta.13"],"87.0.4280.27":["11.0.0-beta.16","11.0.0-beta.17","11.0.0-beta.18","11.0.0-beta.19"],"87.0.4280.40":["11.0.0-beta.20"],"87.0.4280.47":["11.0.0-beta.22","11.0.0-beta.23"],"85.0.4156.0":["11.0.0-nightly.20200529"],"85.0.4162.0":["11.0.0-nightly.20200602","11.0.0-nightly.20200603","11.0.0-nightly.20200604","11.0.0-nightly.20200609","11.0.0-nightly.20200610","11.0.0-nightly.20200611","11.0.0-nightly.20200615","11.0.0-nightly.20200616","11.0.0-nightly.20200617","11.0.0-nightly.20200618","11.0.0-nightly.20200619"],"85.0.4179.0":["11.0.0-nightly.20200701","11.0.0-nightly.20200702","11.0.0-nightly.20200703","11.0.0-nightly.20200706","11.0.0-nightly.20200707","11.0.0-nightly.20200708","11.0.0-nightly.20200709"],"86.0.4203.0":["11.0.0-nightly.20200716","11.0.0-nightly.20200717","11.0.0-nightly.20200720","11.0.0-nightly.20200721"],"86.0.4209.0":["11.0.0-nightly.20200723","11.0.0-nightly.20200724","11.0.0-nightly.20200729","11.0.0-nightly.20200730","11.0.0-nightly.20200731","11.0.0-nightly.20200803","11.0.0-nightly.20200804","11.0.0-nightly.20200805","11.0.0-nightly.20200811","11.0.0-nightly.20200812"],"87.0.4280.60":["11.0.0","11.0.1"],"87.0.4280.67":["11.0.2","11.0.3","11.0.4"],"87.0.4280.88":["11.0.5","11.1.0","11.1.1"],"87.0.4280.141":["11.2.0","11.2.1","11.2.2","11.2.3","11.3.0","11.4.0","11.4.1","11.4.2","11.4.3","11.4.4","11.4.5","11.4.6","11.4.7","11.4.8","11.4.9","11.4.10","11.4.11","11.4.12","11.5.0"],"89.0.4328.0":["12.0.0-beta.1","12.0.0-beta.3","12.0.0-beta.4","12.0.0-beta.5","12.0.0-beta.6","12.0.0-beta.7","12.0.0-beta.8","12.0.0-beta.9","12.0.0-beta.10","12.0.0-beta.11","12.0.0-beta.12","12.0.0-beta.14","13.0.0-nightly.20201119","13.0.0-nightly.20201123","13.0.0-nightly.20201124","13.0.0-nightly.20201126","13.0.0-nightly.20201127","13.0.0-nightly.20201130","13.0.0-nightly.20201201","13.0.0-nightly.20201202","13.0.0-nightly.20201203","13.0.0-nightly.20201204","13.0.0-nightly.20201207","13.0.0-nightly.20201208","13.0.0-nightly.20201209","13.0.0-nightly.20201210","13.0.0-nightly.20201211","13.0.0-nightly.20201214"],"89.0.4348.1":["12.0.0-beta.16","12.0.0-beta.18","12.0.0-beta.19","12.0.0-beta.20"],"89.0.4388.2":["12.0.0-beta.21","12.0.0-beta.22","12.0.0-beta.23","12.0.0-beta.24","12.0.0-beta.25","12.0.0-beta.26"],"89.0.4389.23":["12.0.0-beta.27","12.0.0-beta.28","12.0.0-beta.29"],"89.0.4389.58":["12.0.0-beta.30","12.0.0-beta.31"],"87.0.4268.0":["12.0.0-nightly.20201002","12.0.0-nightly.20201007","12.0.0-nightly.20201009","12.0.0-nightly.20201012","12.0.0-nightly.20201013","12.0.0-nightly.20201014","12.0.0-nightly.20201015"],"88.0.4292.0":["12.0.0-nightly.20201023","12.0.0-nightly.20201026"],"88.0.4306.0":["12.0.0-nightly.20201030","12.0.0-nightly.20201102","12.0.0-nightly.20201103","12.0.0-nightly.20201104","12.0.0-nightly.20201105","12.0.0-nightly.20201106","12.0.0-nightly.20201111","12.0.0-nightly.20201112"],"88.0.4324.0":["12.0.0-nightly.20201116"],"89.0.4389.69":["12.0.0"],"89.0.4389.82":["12.0.1"],"89.0.4389.90":["12.0.2"],"89.0.4389.114":["12.0.3","12.0.4"],"89.0.4389.128":["12.0.5","12.0.6","12.0.7","12.0.8","12.0.9","12.0.10","12.0.11","12.0.12","12.0.13","12.0.14","12.0.15","12.0.16","12.0.17","12.0.18","12.1.0","12.1.1","12.1.2","12.2.0","12.2.1","12.2.2","12.2.3"],"90.0.4402.0":["13.0.0-beta.2","13.0.0-beta.3","13.0.0-nightly.20210210","13.0.0-nightly.20210211","13.0.0-nightly.20210212","13.0.0-nightly.20210216","13.0.0-nightly.20210217","13.0.0-nightly.20210218","13.0.0-nightly.20210219","13.0.0-nightly.20210222","13.0.0-nightly.20210225","13.0.0-nightly.20210226","13.0.0-nightly.20210301","13.0.0-nightly.20210302","13.0.0-nightly.20210303","14.0.0-nightly.20210304"],"90.0.4415.0":["13.0.0-beta.4","13.0.0-beta.5","13.0.0-beta.6","13.0.0-beta.7","13.0.0-beta.8","13.0.0-beta.9","13.0.0-beta.10","13.0.0-beta.11","13.0.0-beta.12","13.0.0-beta.13","14.0.0-nightly.20210305","14.0.0-nightly.20210308","14.0.0-nightly.20210309","14.0.0-nightly.20210311","14.0.0-nightly.20210315","14.0.0-nightly.20210316","14.0.0-nightly.20210317","14.0.0-nightly.20210318","14.0.0-nightly.20210319","14.0.0-nightly.20210323","14.0.0-nightly.20210324","14.0.0-nightly.20210325","14.0.0-nightly.20210326","14.0.0-nightly.20210329","14.0.0-nightly.20210330"],"91.0.4448.0":["13.0.0-beta.14","13.0.0-beta.16","13.0.0-beta.17","13.0.0-beta.18","13.0.0-beta.20","14.0.0-nightly.20210331","14.0.0-nightly.20210401","14.0.0-nightly.20210402","14.0.0-nightly.20210406","14.0.0-nightly.20210407","14.0.0-nightly.20210408","14.0.0-nightly.20210409","14.0.0-nightly.20210413"],"91.0.4472.33":["13.0.0-beta.21","13.0.0-beta.22","13.0.0-beta.23"],"91.0.4472.38":["13.0.0-beta.24","13.0.0-beta.25","13.0.0-beta.26","13.0.0-beta.27","13.0.0-beta.28"],"89.0.4349.0":["13.0.0-nightly.20201215","13.0.0-nightly.20201216","13.0.0-nightly.20201221","13.0.0-nightly.20201222"],"89.0.4359.0":["13.0.0-nightly.20201223","13.0.0-nightly.20210104","13.0.0-nightly.20210108","13.0.0-nightly.20210111"],"89.0.4386.0":["13.0.0-nightly.20210113","13.0.0-nightly.20210114","13.0.0-nightly.20210118","13.0.0-nightly.20210122","13.0.0-nightly.20210125"],"89.0.4389.0":["13.0.0-nightly.20210127","13.0.0-nightly.20210128","13.0.0-nightly.20210129","13.0.0-nightly.20210201","13.0.0-nightly.20210202","13.0.0-nightly.20210203","13.0.0-nightly.20210205","13.0.0-nightly.20210208","13.0.0-nightly.20210209"],"91.0.4472.69":["13.0.0","13.0.1"],"91.0.4472.77":["13.1.0","13.1.1","13.1.2"],"91.0.4472.106":["13.1.3","13.1.4"],"91.0.4472.124":["13.1.5","13.1.6","13.1.7"],"91.0.4472.164":["13.1.8","13.1.9","13.2.0","13.2.1","13.2.2","13.2.3","13.3.0","13.4.0","13.5.0","13.5.1","13.5.2","13.6.0","13.6.1","13.6.2","13.6.3","13.6.6","13.6.7","13.6.8","13.6.9"],"92.0.4511.0":["14.0.0-beta.1","14.0.0-beta.2","14.0.0-beta.3","14.0.0-nightly.20210520","14.0.0-nightly.20210523","14.0.0-nightly.20210524","15.0.0-nightly.20210527","15.0.0-nightly.20210528","15.0.0-nightly.20210531","15.0.0-nightly.20210601","15.0.0-nightly.20210602"],"93.0.4536.0":["14.0.0-beta.5","14.0.0-beta.6","14.0.0-beta.7","14.0.0-beta.8","15.0.0-nightly.20210609","15.0.0-nightly.20210610","15.0.0-nightly.20210611","15.0.0-nightly.20210614","15.0.0-nightly.20210615","15.0.0-nightly.20210616"],"93.0.4539.0":["14.0.0-beta.9","14.0.0-beta.10","15.0.0-nightly.20210617","15.0.0-nightly.20210618","15.0.0-nightly.20210621","15.0.0-nightly.20210622"],"93.0.4557.4":["14.0.0-beta.11","14.0.0-beta.12"],"93.0.4566.0":["14.0.0-beta.13","14.0.0-beta.14","14.0.0-beta.15","14.0.0-beta.16","14.0.0-beta.17","15.0.0-alpha.1","15.0.0-alpha.2","15.0.0-nightly.20210706","15.0.0-nightly.20210707","15.0.0-nightly.20210708","15.0.0-nightly.20210709","15.0.0-nightly.20210712","15.0.0-nightly.20210713","15.0.0-nightly.20210714","15.0.0-nightly.20210715","15.0.0-nightly.20210716","15.0.0-nightly.20210719","15.0.0-nightly.20210720","15.0.0-nightly.20210721","16.0.0-nightly.20210722","16.0.0-nightly.20210723","16.0.0-nightly.20210726"],"93.0.4577.15":["14.0.0-beta.18","14.0.0-beta.19","14.0.0-beta.20","14.0.0-beta.21"],"93.0.4577.25":["14.0.0-beta.22","14.0.0-beta.23"],"93.0.4577.51":["14.0.0-beta.24","14.0.0-beta.25"],"92.0.4475.0":["14.0.0-nightly.20210426","14.0.0-nightly.20210427"],"92.0.4488.0":["14.0.0-nightly.20210430","14.0.0-nightly.20210503"],"92.0.4496.0":["14.0.0-nightly.20210505"],"92.0.4498.0":["14.0.0-nightly.20210506"],"92.0.4499.0":["14.0.0-nightly.20210507","14.0.0-nightly.20210510","14.0.0-nightly.20210511","14.0.0-nightly.20210512","14.0.0-nightly.20210513"],"92.0.4505.0":["14.0.0-nightly.20210514","14.0.0-nightly.20210517","14.0.0-nightly.20210518","14.0.0-nightly.20210519"],"93.0.4577.58":["14.0.0"],"93.0.4577.63":["14.0.1"],"93.0.4577.82":["14.0.2","14.1.0","14.1.1","14.2.0","14.2.1","14.2.2","14.2.3","14.2.4","14.2.5","14.2.6","14.2.7","14.2.8","14.2.9"],"94.0.4584.0":["15.0.0-alpha.3","15.0.0-alpha.4","15.0.0-alpha.5","15.0.0-alpha.6","16.0.0-nightly.20210727","16.0.0-nightly.20210728","16.0.0-nightly.20210729","16.0.0-nightly.20210730","16.0.0-nightly.20210802","16.0.0-nightly.20210803","16.0.0-nightly.20210804","16.0.0-nightly.20210805","16.0.0-nightly.20210806","16.0.0-nightly.20210809","16.0.0-nightly.20210810","16.0.0-nightly.20210811"],"94.0.4590.2":["15.0.0-alpha.7","15.0.0-alpha.8","15.0.0-alpha.9","16.0.0-nightly.20210812","16.0.0-nightly.20210813","16.0.0-nightly.20210816","16.0.0-nightly.20210817","16.0.0-nightly.20210818","16.0.0-nightly.20210819","16.0.0-nightly.20210820","16.0.0-nightly.20210823"],"94.0.4606.12":["15.0.0-alpha.10"],"94.0.4606.20":["15.0.0-beta.1","15.0.0-beta.2"],"94.0.4606.31":["15.0.0-beta.3","15.0.0-beta.4","15.0.0-beta.5","15.0.0-beta.6","15.0.0-beta.7"],"93.0.4530.0":["15.0.0-nightly.20210603","15.0.0-nightly.20210604"],"93.0.4535.0":["15.0.0-nightly.20210608"],"93.0.4550.0":["15.0.0-nightly.20210623","15.0.0-nightly.20210624"],"93.0.4552.0":["15.0.0-nightly.20210625","15.0.0-nightly.20210628","15.0.0-nightly.20210629"],"93.0.4558.0":["15.0.0-nightly.20210630","15.0.0-nightly.20210701","15.0.0-nightly.20210702","15.0.0-nightly.20210705"],"94.0.4606.51":["15.0.0"],"94.0.4606.61":["15.1.0","15.1.1"],"94.0.4606.71":["15.1.2"],"94.0.4606.81":["15.2.0","15.3.0","15.3.1","15.3.2","15.3.3","15.3.4","15.3.5","15.3.6","15.3.7","15.4.0","15.4.1","15.4.2","15.5.0","15.5.1","15.5.2","15.5.3","15.5.4","15.5.5","15.5.6","15.5.7"],"95.0.4629.0":["16.0.0-alpha.1","16.0.0-alpha.2","16.0.0-alpha.3","16.0.0-alpha.4","16.0.0-alpha.5","16.0.0-alpha.6","16.0.0-alpha.7","16.0.0-nightly.20210902","16.0.0-nightly.20210903","16.0.0-nightly.20210906","16.0.0-nightly.20210907","16.0.0-nightly.20210908","16.0.0-nightly.20210909","16.0.0-nightly.20210910","16.0.0-nightly.20210913","16.0.0-nightly.20210914","16.0.0-nightly.20210915","16.0.0-nightly.20210916","16.0.0-nightly.20210917","16.0.0-nightly.20210920","16.0.0-nightly.20210921","16.0.0-nightly.20210922","17.0.0-nightly.20210923","17.0.0-nightly.20210924","17.0.0-nightly.20210927","17.0.0-nightly.20210928","17.0.0-nightly.20210929","17.0.0-nightly.20210930","17.0.0-nightly.20211001","17.0.0-nightly.20211004","17.0.0-nightly.20211005"],"96.0.4647.0":["16.0.0-alpha.8","16.0.0-alpha.9","16.0.0-beta.1","16.0.0-beta.2","16.0.0-beta.3","17.0.0-nightly.20211006","17.0.0-nightly.20211007","17.0.0-nightly.20211008","17.0.0-nightly.20211011","17.0.0-nightly.20211012","17.0.0-nightly.20211013","17.0.0-nightly.20211014","17.0.0-nightly.20211015","17.0.0-nightly.20211018","17.0.0-nightly.20211019","17.0.0-nightly.20211020","17.0.0-nightly.20211021"],"96.0.4664.18":["16.0.0-beta.4","16.0.0-beta.5"],"96.0.4664.27":["16.0.0-beta.6","16.0.0-beta.7"],"96.0.4664.35":["16.0.0-beta.8","16.0.0-beta.9"],"95.0.4612.5":["16.0.0-nightly.20210824","16.0.0-nightly.20210825","16.0.0-nightly.20210826","16.0.0-nightly.20210827","16.0.0-nightly.20210830","16.0.0-nightly.20210831","16.0.0-nightly.20210901"],"96.0.4664.45":["16.0.0","16.0.1"],"96.0.4664.55":["16.0.2","16.0.3","16.0.4","16.0.5"],"96.0.4664.110":["16.0.6","16.0.7","16.0.8"],"96.0.4664.174":["16.0.9","16.0.10","16.1.0","16.1.1","16.2.0","16.2.1","16.2.2","16.2.3","16.2.4","16.2.5","16.2.6","16.2.7","16.2.8"],"96.0.4664.4":["17.0.0-alpha.1","17.0.0-alpha.2","17.0.0-alpha.3","17.0.0-nightly.20211022","17.0.0-nightly.20211025","17.0.0-nightly.20211026","17.0.0-nightly.20211027","17.0.0-nightly.20211028","17.0.0-nightly.20211029","17.0.0-nightly.20211101","17.0.0-nightly.20211102","17.0.0-nightly.20211103","17.0.0-nightly.20211104","17.0.0-nightly.20211105","17.0.0-nightly.20211108","17.0.0-nightly.20211109","17.0.0-nightly.20211110","17.0.0-nightly.20211111","17.0.0-nightly.20211112","17.0.0-nightly.20211115","17.0.0-nightly.20211116","17.0.0-nightly.20211117","18.0.0-nightly.20211118","18.0.0-nightly.20211119","18.0.0-nightly.20211122","18.0.0-nightly.20211123"],"98.0.4706.0":["17.0.0-alpha.4","17.0.0-alpha.5","17.0.0-alpha.6","17.0.0-beta.1","17.0.0-beta.2","18.0.0-nightly.20211124","18.0.0-nightly.20211125","18.0.0-nightly.20211126","18.0.0-nightly.20211129","18.0.0-nightly.20211130","18.0.0-nightly.20211201","18.0.0-nightly.20211202","18.0.0-nightly.20211203","18.0.0-nightly.20211206","18.0.0-nightly.20211207","18.0.0-nightly.20211208","18.0.0-nightly.20211209","18.0.0-nightly.20211210","18.0.0-nightly.20211213","18.0.0-nightly.20211214","18.0.0-nightly.20211215","18.0.0-nightly.20211216","18.0.0-nightly.20211217","18.0.0-nightly.20211220","18.0.0-nightly.20211221","18.0.0-nightly.20211222","18.0.0-nightly.20211223","18.0.0-nightly.20211228","18.0.0-nightly.20211229","18.0.0-nightly.20211231","18.0.0-nightly.20220103","18.0.0-nightly.20220104","18.0.0-nightly.20220105","18.0.0-nightly.20220106","18.0.0-nightly.20220107","18.0.0-nightly.20220110"],"98.0.4758.9":["17.0.0-beta.3"],"98.0.4758.11":["17.0.0-beta.4","17.0.0-beta.5","17.0.0-beta.6","17.0.0-beta.7","17.0.0-beta.8","17.0.0-beta.9"],"98.0.4758.74":["17.0.0"],"98.0.4758.82":["17.0.1"],"98.0.4758.102":["17.1.0"],"98.0.4758.109":["17.1.1","17.1.2","17.2.0"],"98.0.4758.141":["17.3.0","17.3.1","17.4.0","17.4.1","17.4.2","17.4.3","17.4.4","17.4.5","17.4.6","17.4.7","17.4.8","17.4.9","17.4.10","17.4.11"],"99.0.4767.0":["18.0.0-alpha.1","18.0.0-alpha.2","18.0.0-alpha.3","18.0.0-alpha.4","18.0.0-alpha.5","18.0.0-nightly.20220111","18.0.0-nightly.20220112","18.0.0-nightly.20220113","18.0.0-nightly.20220114","18.0.0-nightly.20220117","18.0.0-nightly.20220118","18.0.0-nightly.20220119","18.0.0-nightly.20220121","18.0.0-nightly.20220124","18.0.0-nightly.20220125","18.0.0-nightly.20220127","18.0.0-nightly.20220128","18.0.0-nightly.20220131","18.0.0-nightly.20220201","19.0.0-nightly.20220202","19.0.0-nightly.20220203","19.0.0-nightly.20220204","19.0.0-nightly.20220207","19.0.0-nightly.20220208","19.0.0-nightly.20220209"],"100.0.4894.0":["18.0.0-beta.1","18.0.0-beta.2","18.0.0-beta.3","18.0.0-beta.4","18.0.0-beta.5","18.0.0-beta.6","19.0.0-nightly.20220308","19.0.0-nightly.20220309","19.0.0-nightly.20220310","19.0.0-nightly.20220311","19.0.0-nightly.20220314","19.0.0-nightly.20220315","19.0.0-nightly.20220316","19.0.0-nightly.20220317","19.0.0-nightly.20220318","19.0.0-nightly.20220321","19.0.0-nightly.20220322","19.0.0-nightly.20220323","19.0.0-nightly.20220324"],"100.0.4896.56":["18.0.0"],"100.0.4896.60":["18.0.1","18.0.2"],"100.0.4896.75":["18.0.3","18.0.4"],"100.0.4896.127":["18.1.0"],"100.0.4896.143":["18.2.0","18.2.1","18.2.2","18.2.3"],"100.0.4896.160":["18.2.4","18.3.0","18.3.1","18.3.2","18.3.3","18.3.4","18.3.5","18.3.6","18.3.7","18.3.8","18.3.9","18.3.11","18.3.12","18.3.13","18.3.14","18.3.15"],"102.0.4962.3":["19.0.0-alpha.1","19.0.0-nightly.20220328","19.0.0-nightly.20220329","20.0.0-nightly.20220330"],"102.0.4971.0":["19.0.0-alpha.2","19.0.0-alpha.3","20.0.0-nightly.20220411"],"102.0.4989.0":["19.0.0-alpha.4","19.0.0-alpha.5","20.0.0-nightly.20220414","20.0.0-nightly.20220415","20.0.0-nightly.20220418","20.0.0-nightly.20220419","20.0.0-nightly.20220420","20.0.0-nightly.20220421"],"102.0.4999.0":["19.0.0-beta.1","19.0.0-beta.2","19.0.0-beta.3","20.0.0-nightly.20220425","20.0.0-nightly.20220426","20.0.0-nightly.20220427","20.0.0-nightly.20220428","20.0.0-nightly.20220429","20.0.0-nightly.20220502","20.0.0-nightly.20220503","20.0.0-nightly.20220504","20.0.0-nightly.20220505","20.0.0-nightly.20220506","20.0.0-nightly.20220509","20.0.0-nightly.20220511","20.0.0-nightly.20220512","20.0.0-nightly.20220513","20.0.0-nightly.20220516","20.0.0-nightly.20220517"],"102.0.5005.27":["19.0.0-beta.4"],"102.0.5005.40":["19.0.0-beta.5","19.0.0-beta.6","19.0.0-beta.7"],"102.0.5005.49":["19.0.0-beta.8"],"102.0.4961.0":["19.0.0-nightly.20220325"],"102.0.5005.61":["19.0.0","19.0.1"],"102.0.5005.63":["19.0.2","19.0.3","19.0.4"],"102.0.5005.115":["19.0.5","19.0.6"],"102.0.5005.134":["19.0.7"],"102.0.5005.148":["19.0.8"],"102.0.5005.167":["19.0.9","19.0.10","19.0.11","19.0.12","19.0.13","19.0.14","19.0.15","19.0.16","19.0.17","19.1.0","19.1.1","19.1.2","19.1.3","19.1.4","19.1.5","19.1.6","19.1.7","19.1.8","19.1.9"],"103.0.5044.0":["20.0.0-alpha.1","20.0.0-nightly.20220518","20.0.0-nightly.20220519","20.0.0-nightly.20220520","20.0.0-nightly.20220523","20.0.0-nightly.20220524","21.0.0-nightly.20220526","21.0.0-nightly.20220527","21.0.0-nightly.20220530","21.0.0-nightly.20220531"],"104.0.5073.0":["20.0.0-alpha.2","20.0.0-alpha.3","20.0.0-alpha.4","20.0.0-alpha.5","20.0.0-alpha.6","20.0.0-alpha.7","20.0.0-beta.1","20.0.0-beta.2","20.0.0-beta.3","20.0.0-beta.4","20.0.0-beta.5","20.0.0-beta.6","20.0.0-beta.7","20.0.0-beta.8","21.0.0-nightly.20220602","21.0.0-nightly.20220603","21.0.0-nightly.20220606","21.0.0-nightly.20220607","21.0.0-nightly.20220608","21.0.0-nightly.20220609","21.0.0-nightly.20220610","21.0.0-nightly.20220613","21.0.0-nightly.20220614","21.0.0-nightly.20220615","21.0.0-nightly.20220616","21.0.0-nightly.20220617","21.0.0-nightly.20220620","21.0.0-nightly.20220621","21.0.0-nightly.20220622","21.0.0-nightly.20220623","21.0.0-nightly.20220624","21.0.0-nightly.20220627"],"104.0.5112.39":["20.0.0-beta.9"],"104.0.5112.48":["20.0.0-beta.10","20.0.0-beta.11","20.0.0-beta.12"],"104.0.5112.57":["20.0.0-beta.13"],"104.0.5112.65":["20.0.0"],"104.0.5112.81":["20.0.1","20.0.2","20.0.3"],"104.0.5112.102":["20.1.0","20.1.1"],"104.0.5112.114":["20.1.2","20.1.3","20.1.4"],"104.0.5112.124":["20.2.0","20.3.0","20.3.1","20.3.2","20.3.3","20.3.4","20.3.5","20.3.6","20.3.7","20.3.8","20.3.9","20.3.10","20.3.11","20.3.12"],"105.0.5187.0":["21.0.0-alpha.1","21.0.0-alpha.2","21.0.0-alpha.3","21.0.0-alpha.4","21.0.0-alpha.5","21.0.0-nightly.20220720","21.0.0-nightly.20220721","21.0.0-nightly.20220722","21.0.0-nightly.20220725","21.0.0-nightly.20220726","21.0.0-nightly.20220727","21.0.0-nightly.20220728","21.0.0-nightly.20220801","21.0.0-nightly.20220802","22.0.0-nightly.20220808","22.0.0-nightly.20220809","22.0.0-nightly.20220810","22.0.0-nightly.20220811","22.0.0-nightly.20220812","22.0.0-nightly.20220815","22.0.0-nightly.20220816","22.0.0-nightly.20220817"],"106.0.5216.0":["21.0.0-alpha.6","21.0.0-beta.1","21.0.0-beta.2","21.0.0-beta.3","21.0.0-beta.4","21.0.0-beta.5","22.0.0-nightly.20220822","22.0.0-nightly.20220823","22.0.0-nightly.20220824","22.0.0-nightly.20220825","22.0.0-nightly.20220829","22.0.0-nightly.20220830","22.0.0-nightly.20220831","22.0.0-nightly.20220901","22.0.0-nightly.20220902","22.0.0-nightly.20220905"],"106.0.5249.40":["21.0.0-beta.6","21.0.0-beta.7","21.0.0-beta.8"],"105.0.5129.0":["21.0.0-nightly.20220628","21.0.0-nightly.20220629","21.0.0-nightly.20220630","21.0.0-nightly.20220701","21.0.0-nightly.20220704","21.0.0-nightly.20220705","21.0.0-nightly.20220706","21.0.0-nightly.20220707","21.0.0-nightly.20220708","21.0.0-nightly.20220711","21.0.0-nightly.20220712","21.0.0-nightly.20220713"],"105.0.5173.0":["21.0.0-nightly.20220715","21.0.0-nightly.20220718","21.0.0-nightly.20220719"],"106.0.5249.51":["21.0.0"],"106.0.5249.61":["21.0.1"],"106.0.5249.91":["21.1.0"],"106.0.5249.103":["21.1.1"],"106.0.5249.119":["21.2.0"],"106.0.5249.165":["21.2.1"],"106.0.5249.168":["21.2.2","21.2.3"],"106.0.5249.181":["21.3.0","21.3.1"],"106.0.5249.199":["21.3.3","21.3.4","21.3.5","21.4.0","21.4.1","21.4.2","21.4.3","21.4.4"],"107.0.5286.0":["22.0.0-alpha.1","22.0.0-nightly.20220909","22.0.0-nightly.20220912","22.0.0-nightly.20220913","22.0.0-nightly.20220914","22.0.0-nightly.20220915","22.0.0-nightly.20220916","22.0.0-nightly.20220919","22.0.0-nightly.20220920","22.0.0-nightly.20220921","22.0.0-nightly.20220922","22.0.0-nightly.20220923","22.0.0-nightly.20220926","22.0.0-nightly.20220927","22.0.0-nightly.20220928","23.0.0-nightly.20220929","23.0.0-nightly.20220930","23.0.0-nightly.20221003"],"108.0.5329.0":["22.0.0-alpha.3","22.0.0-alpha.4","22.0.0-alpha.5","22.0.0-alpha.6","23.0.0-nightly.20221004","23.0.0-nightly.20221005","23.0.0-nightly.20221006","23.0.0-nightly.20221007","23.0.0-nightly.20221010","23.0.0-nightly.20221011","23.0.0-nightly.20221012","23.0.0-nightly.20221013","23.0.0-nightly.20221014","23.0.0-nightly.20221017"],"108.0.5355.0":["22.0.0-alpha.7","23.0.0-nightly.20221018","23.0.0-nightly.20221019","23.0.0-nightly.20221020","23.0.0-nightly.20221021","23.0.0-nightly.20221024","23.0.0-nightly.20221026"],"108.0.5359.10":["22.0.0-alpha.8","22.0.0-beta.1","22.0.0-beta.2","22.0.0-beta.3"],"108.0.5359.29":["22.0.0-beta.4"],"108.0.5359.40":["22.0.0-beta.5","22.0.0-beta.6"],"108.0.5359.48":["22.0.0-beta.7","22.0.0-beta.8"],"107.0.5274.0":["22.0.0-nightly.20220908"],"108.0.5359.62":["22.0.0"],"108.0.5359.125":["22.0.1"],"108.0.5359.179":["22.0.2","22.0.3","22.1.0"],"108.0.5359.215":["22.2.0","22.2.1","22.3.0","22.3.1","22.3.2","22.3.3","22.3.4","22.3.5","22.3.6","22.3.7","22.3.8","22.3.9","22.3.10","22.3.11","22.3.12","22.3.13","22.3.14","22.3.15","22.3.16","22.3.17","22.3.18","22.3.20","22.3.21","22.3.22","22.3.23","22.3.24","22.3.25","22.3.26","22.3.27"],"110.0.5415.0":["23.0.0-alpha.1","23.0.0-nightly.20221118","23.0.0-nightly.20221121","23.0.0-nightly.20221122","23.0.0-nightly.20221123","23.0.0-nightly.20221124","23.0.0-nightly.20221125","23.0.0-nightly.20221128","23.0.0-nightly.20221129","23.0.0-nightly.20221130","24.0.0-nightly.20221201","24.0.0-nightly.20221202","24.0.0-nightly.20221205"],"110.0.5451.0":["23.0.0-alpha.2","23.0.0-alpha.3","24.0.0-nightly.20221206","24.0.0-nightly.20221207","24.0.0-nightly.20221208","24.0.0-nightly.20221213","24.0.0-nightly.20221214","24.0.0-nightly.20221215","24.0.0-nightly.20221216"],"110.0.5478.5":["23.0.0-beta.1","23.0.0-beta.2","23.0.0-beta.3"],"110.0.5481.30":["23.0.0-beta.4"],"110.0.5481.38":["23.0.0-beta.5"],"110.0.5481.52":["23.0.0-beta.6","23.0.0-beta.8"],"109.0.5382.0":["23.0.0-nightly.20221027","23.0.0-nightly.20221028","23.0.0-nightly.20221031","23.0.0-nightly.20221101","23.0.0-nightly.20221102","23.0.0-nightly.20221103","23.0.0-nightly.20221104","23.0.0-nightly.20221107","23.0.0-nightly.20221108","23.0.0-nightly.20221109","23.0.0-nightly.20221110","23.0.0-nightly.20221111","23.0.0-nightly.20221114","23.0.0-nightly.20221115","23.0.0-nightly.20221116","23.0.0-nightly.20221117"],"110.0.5481.77":["23.0.0"],"110.0.5481.100":["23.1.0"],"110.0.5481.104":["23.1.1"],"110.0.5481.177":["23.1.2"],"110.0.5481.179":["23.1.3"],"110.0.5481.192":["23.1.4","23.2.0"],"110.0.5481.208":["23.2.1","23.2.2","23.2.3","23.2.4","23.3.0","23.3.1","23.3.2","23.3.3","23.3.4","23.3.5","23.3.6","23.3.7","23.3.8","23.3.9","23.3.10","23.3.11","23.3.12","23.3.13"],"111.0.5560.0":["24.0.0-alpha.1","24.0.0-alpha.2","24.0.0-alpha.3","24.0.0-alpha.4","24.0.0-alpha.5","24.0.0-alpha.6","24.0.0-alpha.7","24.0.0-nightly.20230203","24.0.0-nightly.20230206","24.0.0-nightly.20230207","24.0.0-nightly.20230208","24.0.0-nightly.20230209","25.0.0-nightly.20230210","25.0.0-nightly.20230214","25.0.0-nightly.20230215","25.0.0-nightly.20230216","25.0.0-nightly.20230217","25.0.0-nightly.20230220","25.0.0-nightly.20230221","25.0.0-nightly.20230222","25.0.0-nightly.20230223","25.0.0-nightly.20230224","25.0.0-nightly.20230227","25.0.0-nightly.20230228","25.0.0-nightly.20230301","25.0.0-nightly.20230302","25.0.0-nightly.20230303","25.0.0-nightly.20230306","25.0.0-nightly.20230307","25.0.0-nightly.20230308","25.0.0-nightly.20230309","25.0.0-nightly.20230310"],"111.0.5563.50":["24.0.0-beta.1","24.0.0-beta.2"],"112.0.5615.20":["24.0.0-beta.3","24.0.0-beta.4"],"112.0.5615.29":["24.0.0-beta.5"],"112.0.5615.39":["24.0.0-beta.6","24.0.0-beta.7"],"111.0.5518.0":["24.0.0-nightly.20230109","24.0.0-nightly.20230110","24.0.0-nightly.20230111","24.0.0-nightly.20230112","24.0.0-nightly.20230113","24.0.0-nightly.20230116","24.0.0-nightly.20230117","24.0.0-nightly.20230118","24.0.0-nightly.20230119","24.0.0-nightly.20230120","24.0.0-nightly.20230123","24.0.0-nightly.20230124","24.0.0-nightly.20230125","24.0.0-nightly.20230126","24.0.0-nightly.20230127","24.0.0-nightly.20230131","24.0.0-nightly.20230201","24.0.0-nightly.20230202"],"112.0.5615.49":["24.0.0"],"112.0.5615.50":["24.1.0","24.1.1"],"112.0.5615.87":["24.1.2"],"112.0.5615.165":["24.1.3","24.2.0","24.3.0"],"112.0.5615.183":["24.3.1"],"112.0.5615.204":["24.4.0","24.4.1","24.5.0","24.5.1","24.6.0","24.6.1","24.6.2","24.6.3","24.6.4","24.6.5","24.7.0","24.7.1","24.8.0","24.8.1","24.8.2","24.8.3","24.8.4","24.8.5","24.8.6","24.8.7","24.8.8"],"114.0.5694.0":["25.0.0-alpha.1","25.0.0-alpha.2","25.0.0-nightly.20230405","26.0.0-nightly.20230406","26.0.0-nightly.20230407","26.0.0-nightly.20230410","26.0.0-nightly.20230411"],"114.0.5710.0":["25.0.0-alpha.3","25.0.0-alpha.4","26.0.0-nightly.20230413","26.0.0-nightly.20230414","26.0.0-nightly.20230417"],"114.0.5719.0":["25.0.0-alpha.5","25.0.0-alpha.6","25.0.0-beta.1","25.0.0-beta.2","25.0.0-beta.3","26.0.0-nightly.20230421","26.0.0-nightly.20230424","26.0.0-nightly.20230425","26.0.0-nightly.20230426","26.0.0-nightly.20230427","26.0.0-nightly.20230428","26.0.0-nightly.20230501","26.0.0-nightly.20230502","26.0.0-nightly.20230503","26.0.0-nightly.20230504","26.0.0-nightly.20230505","26.0.0-nightly.20230508","26.0.0-nightly.20230509","26.0.0-nightly.20230510"],"114.0.5735.16":["25.0.0-beta.4","25.0.0-beta.5","25.0.0-beta.6","25.0.0-beta.7"],"114.0.5735.35":["25.0.0-beta.8"],"114.0.5735.45":["25.0.0-beta.9","25.0.0","25.0.1"],"113.0.5636.0":["25.0.0-nightly.20230314"],"113.0.5651.0":["25.0.0-nightly.20230315"],"113.0.5653.0":["25.0.0-nightly.20230317"],"113.0.5660.0":["25.0.0-nightly.20230320"],"113.0.5664.0":["25.0.0-nightly.20230321"],"113.0.5666.0":["25.0.0-nightly.20230322"],"113.0.5668.0":["25.0.0-nightly.20230323"],"113.0.5670.0":["25.0.0-nightly.20230324","25.0.0-nightly.20230327","25.0.0-nightly.20230328","25.0.0-nightly.20230329","25.0.0-nightly.20230330"],"114.0.5684.0":["25.0.0-nightly.20230331","25.0.0-nightly.20230403"],"114.0.5692.0":["25.0.0-nightly.20230404"],"114.0.5735.106":["25.1.0","25.1.1"],"114.0.5735.134":["25.2.0"],"114.0.5735.199":["25.3.0"],"114.0.5735.243":["25.3.1"],"114.0.5735.248":["25.3.2","25.4.0"],"114.0.5735.289":["25.5.0","25.6.0","25.7.0","25.8.0","25.8.1","25.8.2","25.8.3","25.8.4","25.9.0","25.9.1","25.9.2","25.9.3","25.9.4","25.9.5","25.9.6","25.9.7","25.9.8"],"116.0.5791.0":["26.0.0-alpha.1","26.0.0-alpha.2","26.0.0-alpha.3","26.0.0-alpha.4","26.0.0-alpha.5","26.0.0-nightly.20230526","26.0.0-nightly.20230529","26.0.0-nightly.20230530","26.0.0-nightly.20230531","27.0.0-nightly.20230601","27.0.0-nightly.20230602","27.0.0-nightly.20230605","27.0.0-nightly.20230606","27.0.0-nightly.20230607","27.0.0-nightly.20230609"],"116.0.5815.0":["26.0.0-alpha.6","27.0.0-nightly.20230612","27.0.0-nightly.20230613"],"116.0.5831.0":["26.0.0-alpha.7","27.0.0-nightly.20230615"],"116.0.5845.0":["26.0.0-alpha.8","26.0.0-beta.1","27.0.0-nightly.20230622","27.0.0-nightly.20230623","27.0.0-nightly.20230626","27.0.0-nightly.20230627","27.0.0-nightly.20230628","27.0.0-nightly.20230629","27.0.0-nightly.20230630"],"116.0.5845.14":["26.0.0-beta.2","26.0.0-beta.3","26.0.0-beta.4","26.0.0-beta.5","26.0.0-beta.6","26.0.0-beta.7"],"116.0.5845.42":["26.0.0-beta.8","26.0.0-beta.9"],"116.0.5845.49":["26.0.0-beta.10","26.0.0-beta.11"],"116.0.5845.62":["26.0.0-beta.12"],"114.0.5708.0":["26.0.0-nightly.20230412"],"114.0.5715.0":["26.0.0-nightly.20230418"],"115.0.5760.0":["26.0.0-nightly.20230511","26.0.0-nightly.20230512","26.0.0-nightly.20230515","26.0.0-nightly.20230516","26.0.0-nightly.20230517","26.0.0-nightly.20230518","26.0.0-nightly.20230519","26.0.0-nightly.20230522","26.0.0-nightly.20230523"],"115.0.5786.0":["26.0.0-nightly.20230524"],"115.0.5790.0":["26.0.0-nightly.20230525"],"116.0.5845.82":["26.0.0"],"116.0.5845.97":["26.1.0"],"116.0.5845.179":["26.2.0"],"116.0.5845.188":["26.2.1"],"116.0.5845.190":["26.2.2","26.2.3","26.2.4"],"116.0.5845.228":["26.3.0","26.4.0","26.4.1","26.4.2","26.4.3","26.5.0","26.6.0","26.6.1","26.6.2","26.6.3","26.6.4","26.6.5","26.6.6","26.6.7","26.6.8","26.6.9"],"118.0.5949.0":["27.0.0-alpha.1","27.0.0-alpha.2","27.0.0-alpha.3","27.0.0-alpha.4","27.0.0-alpha.5","27.0.0-alpha.6","27.0.0-nightly.20230816","28.0.0-nightly.20230817","28.0.0-nightly.20230818","28.0.0-nightly.20230821","28.0.0-nightly.20230822","28.0.0-nightly.20230823","28.0.0-nightly.20230824","28.0.0-nightly.20230825","28.0.0-nightly.20230828","28.0.0-nightly.20230829","28.0.0-nightly.20230830","28.0.0-nightly.20230831"],"118.0.5993.5":["27.0.0-beta.1","27.0.0-beta.2","27.0.0-beta.3"],"118.0.5993.11":["27.0.0-beta.4"],"118.0.5993.18":["27.0.0-beta.5","27.0.0-beta.6","27.0.0-beta.7","27.0.0-beta.8","27.0.0-beta.9"],"116.0.5829.0":["27.0.0-nightly.20230614"],"116.0.5833.0":["27.0.0-nightly.20230616","27.0.0-nightly.20230619","27.0.0-nightly.20230620","27.0.0-nightly.20230621"],"117.0.5852.0":["27.0.0-nightly.20230703","27.0.0-nightly.20230704","27.0.0-nightly.20230705","27.0.0-nightly.20230706","27.0.0-nightly.20230707","27.0.0-nightly.20230710","27.0.0-nightly.20230711","27.0.0-nightly.20230712","27.0.0-nightly.20230713","27.0.0-nightly.20230714"],"117.0.5884.1":["27.0.0-nightly.20230717","27.0.0-nightly.20230718"],"117.0.5892.0":["27.0.0-nightly.20230719"],"117.0.5897.0":["27.0.0-nightly.20230720","27.0.0-nightly.20230721","27.0.0-nightly.20230724","27.0.0-nightly.20230725","27.0.0-nightly.20230726","27.0.0-nightly.20230727","27.0.0-nightly.20230728","27.0.0-nightly.20230731"],"117.0.5911.0":["27.0.0-nightly.20230801","27.0.0-nightly.20230802","27.0.0-nightly.20230803"],"117.0.5921.0":["27.0.0-nightly.20230804","27.0.0-nightly.20230807","27.0.0-nightly.20230808","27.0.0-nightly.20230814","27.0.0-nightly.20230815"],"118.0.5993.54":["27.0.0"],"118.0.5993.89":["27.0.1","27.0.2"],"118.0.5993.120":["27.0.3"],"118.0.5993.129":["27.0.4"],"118.0.5993.144":["27.1.0","27.1.2"],"118.0.5993.159":["27.1.3","27.2.0","27.2.1","27.2.2","27.2.3","27.2.4","27.3.0","27.3.1","27.3.2"],"119.0.6045.0":["28.0.0-alpha.1","28.0.0-alpha.2","28.0.0-nightly.20231006","28.0.0-nightly.20231009","28.0.0-nightly.20231010","28.0.0-nightly.20231011","29.0.0-nightly.20231012","29.0.0-nightly.20231013","29.0.0-nightly.20231016","29.0.0-nightly.20231017","29.0.0-nightly.20231018","29.0.0-nightly.20231019","29.0.0-nightly.20231020","29.0.0-nightly.20231023","29.0.0-nightly.20231024"],"119.0.6045.21":["28.0.0-alpha.3","28.0.0-alpha.4"],"119.0.6045.33":["28.0.0-alpha.5","28.0.0-alpha.6","28.0.0-alpha.7","28.0.0-beta.1"],"120.0.6099.0":["28.0.0-beta.2"],"120.0.6099.5":["28.0.0-beta.3","28.0.0-beta.4"],"120.0.6099.18":["28.0.0-beta.5","28.0.0-beta.6","28.0.0-beta.7","28.0.0-beta.8","28.0.0-beta.9","28.0.0-beta.10"],"120.0.6099.35":["28.0.0-beta.11"],"118.0.5991.0":["28.0.0-nightly.20230906"],"118.0.5993.0":["28.0.0-nightly.20230907","28.0.0-nightly.20230908","28.0.0-nightly.20230911","28.0.0-nightly.20230912","28.0.0-nightly.20230913","28.0.0-nightly.20230914","28.0.0-nightly.20230915"],"119.0.6006.0":["28.0.0-nightly.20230919"],"119.0.6017.0":["28.0.0-nightly.20230920"],"119.0.6019.2":["28.0.0-nightly.20230921","28.0.0-nightly.20230925","28.0.0-nightly.20230926","28.0.0-nightly.20230927","28.0.0-nightly.20230928"],"119.0.6029.0":["28.0.0-nightly.20230929","28.0.0-nightly.20231002"],"119.0.6043.0":["28.0.0-nightly.20231003","28.0.0-nightly.20231004","28.0.0-nightly.20231005"],"120.0.6099.56":["28.0.0"],"120.0.6099.109":["28.1.0","28.1.1"],"120.0.6099.199":["28.1.2","28.1.3"],"120.0.6099.216":["28.1.4"],"120.0.6099.227":["28.2.0"],"120.0.6099.268":["28.2.1"],"120.0.6099.276":["28.2.2"],"120.0.6099.283":["28.2.3"],"121.0.6147.0":["29.0.0-alpha.1","29.0.0-alpha.2","29.0.0-alpha.3","29.0.0-nightly.20231129","29.0.0-nightly.20231130","29.0.0-nightly.20231201","29.0.0-nightly.20231204","29.0.0-nightly.20231205","29.0.0-nightly.20231206","30.0.0-nightly.20231207","30.0.0-nightly.20231208","30.0.0-nightly.20231211"],"121.0.6159.0":["29.0.0-alpha.4","29.0.0-alpha.5","29.0.0-alpha.6","29.0.0-alpha.7","30.0.0-nightly.20231212","30.0.0-nightly.20231213","30.0.0-nightly.20231214","30.0.0-nightly.20231215","30.0.0-nightly.20231218","30.0.0-nightly.20240102"],"122.0.6194.0":["29.0.0-alpha.8","30.0.0-nightly.20240103","30.0.0-nightly.20240104","30.0.0-nightly.20240105","30.0.0-nightly.20240108","30.0.0-nightly.20240109","30.0.0-nightly.20240110"],"122.0.6236.2":["29.0.0-alpha.9","29.0.0-alpha.10","29.0.0-alpha.11","29.0.0-beta.1","29.0.0-beta.2","30.0.0-nightly.20240111","30.0.0-nightly.20240112","30.0.0-nightly.20240115","30.0.0-nightly.20240116","30.0.0-nightly.20240117","30.0.0-nightly.20240118","30.0.0-nightly.20240119","30.0.0-nightly.20240122","30.0.0-nightly.20240123","30.0.0-nightly.20240124","30.0.0-nightly.20240125"],"122.0.6261.6":["29.0.0-beta.3","29.0.0-beta.4"],"122.0.6261.18":["29.0.0-beta.5","29.0.0-beta.6","29.0.0-beta.7","29.0.0-beta.8","29.0.0-beta.9","29.0.0-beta.10","29.0.0-beta.11"],"120.0.6078.0":["29.0.0-nightly.20231025","29.0.0-nightly.20231026","29.0.0-nightly.20231027","29.0.0-nightly.20231030","29.0.0-nightly.20231031","29.0.0-nightly.20231101"],"121.0.6100.0":["29.0.0-nightly.20231102","29.0.0-nightly.20231103"],"121.0.6104.0":["29.0.0-nightly.20231106"],"121.0.6110.0":["29.0.0-nightly.20231107","29.0.0-nightly.20231108","29.0.0-nightly.20231109","29.0.0-nightly.20231110","29.0.0-nightly.20231113","29.0.0-nightly.20231114"],"121.0.6116.0":["29.0.0-nightly.20231115","29.0.0-nightly.20231116","29.0.0-nightly.20231117","29.0.0-nightly.20231120","29.0.0-nightly.20231121","29.0.0-nightly.20231122","29.0.0-nightly.20231123","29.0.0-nightly.20231124","29.0.0-nightly.20231127","29.0.0-nightly.20231128"],"123.0.6264.0":["30.0.0-nightly.20240126","30.0.0-nightly.20240129","30.0.0-nightly.20240130","30.0.0-nightly.20240131"],"123.0.6272.0":["30.0.0-nightly.20240201","30.0.0-nightly.20240202","30.0.0-nightly.20240205","30.0.0-nightly.20240206","30.0.0-nightly.20240207","30.0.0-nightly.20240208","30.0.0-nightly.20240209","30.0.0-nightly.20240212","30.0.0-nightly.20240213","30.0.0-nightly.20240214"]} \ No newline at end of file diff --git a/.pnpm-store/v3/files/5d/0aa7442e192e31e741f6f3a50bb7b5c97fd75ed96533fac0b529696beb53e0142080d3ac2f7f901b7ed0d5efc8ea9911027fa33641a5cb3811e397b1ff5dfc b/.pnpm-store/v3/files/5d/0aa7442e192e31e741f6f3a50bb7b5c97fd75ed96533fac0b529696beb53e0142080d3ac2f7f901b7ed0d5efc8ea9911027fa33641a5cb3811e397b1ff5dfc new file mode 100644 index 00000000..2ac1a12b --- /dev/null +++ b/.pnpm-store/v3/files/5d/0aa7442e192e31e741f6f3a50bb7b5c97fd75ed96533fac0b529696beb53e0142080d3ac2f7f901b7ed0d5efc8ea9911027fa33641a5cb3811e397b1ff5dfc @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","132":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"16":"9 I J D E F A B C K L G","132":"0 1 2 3 4 5 6 7 8 M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","132":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"CSS -webkit-user-drag property",D:true}; diff --git a/.pnpm-store/v3/files/5d/228e56c74450cdaff532387eee6b75e5d0fb4acbde795cae37ffb755d6f7d28f4302f094ed87ef90aa3f3437c1d79b05dcbad6364846667ae5258b4557a2a8 b/.pnpm-store/v3/files/5d/228e56c74450cdaff532387eee6b75e5d0fb4acbde795cae37ffb755d6f7d28f4302f094ed87ef90aa3f3437c1d79b05dcbad6364846667ae5258b4557a2a8 new file mode 100644 index 00000000..5bef9c6c --- /dev/null +++ b/.pnpm-store/v3/files/5d/228e56c74450cdaff532387eee6b75e5d0fb4acbde795cae37ffb755d6f7d28f4302f094ed87ef90aa3f3437c1d79b05dcbad6364846667ae5258b4557a2a8 @@ -0,0 +1 @@ +module.exports={C:{"78":0.00356,"95":0.00356,"109":0.16713,"111":0.00356,"113":0.00356,"115":0.50851,"120":0.00356,"121":0.73609,"122":0.31293,"123":0.00356,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 114 116 117 118 119 124 125 3.5 3.6"},D:{"49":0.00711,"67":0.00356,"76":0.01067,"79":0.04623,"88":0.00356,"92":0.01422,"96":0.00356,"100":0.00356,"101":0.00356,"103":0.02134,"106":0.00356,"109":0.45161,"110":0.23825,"111":0.25959,"112":0.19202,"115":0.01422,"116":0.06756,"117":0.02845,"118":0.13868,"119":0.58674,"120":6.31546,"121":0.46939,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 75 77 78 80 81 83 84 85 86 87 89 90 91 93 94 95 97 98 99 102 104 105 107 108 113 114 122 123 124"},F:{"95":0.18491,"105":0.4445,"106":0.07468,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"91":0.00356,"103":0.18491,"109":0.03556,"115":0.00356,"116":0.00356,"117":0.00356,"118":0.00356,"119":0.02134,"120":1.54686,"121":0.31293,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 112 113 114"},E:{"13":0.01067,"14":0.31648,"15":0.00356,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00711,"13.1":0.03912,"14.1":0.06756,"15.1":0.04623,"15.2-15.3":0.03912,"15.4":0.1209,"15.5":0.28092,"15.6":2.73101,"16.0":0.03912,"16.1":0.37338,"16.2":0.51918,"16.3":0.97079,"16.4":0.19202,"16.5":0.41605,"16.6":4.52323,"17.0":0.39472,"17.1":4.15341,"17.2":6.05942,"17.3":0.37694,"17.4":0.01067},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.01178,"5.0-5.1":0.01767,"6.0-6.1":0.02945,"7.0-7.1":0.04123,"8.1-8.4":0.00589,"9.0-9.2":0.03534,"9.3":0.13547,"10.0-10.2":0.01178,"10.3":0.21203,"11.0-11.2":0.08246,"11.3-11.4":0.08835,"12.0-12.1":0.05301,"12.2-12.5":1.04839,"13.0-13.1":0.01767,"13.2":0.19436,"13.3":0.05301,"13.4-13.7":0.23559,"14.0-14.4":0.41229,"14.5-14.8":0.63021,"15.0-15.1":0.27093,"15.2-15.3":0.31216,"15.4":0.36517,"15.5":0.48296,"15.6-15.8":3.76359,"16.0":1.13084,"16.1":2.40893,"16.2":1.09551,"16.3":2.03788,"16.4":0.45352,"16.5":0.96593,"16.6-16.7":7.90413,"17.0":1.31343,"17.1":13.54069,"17.2":18.32911,"17.3":1.17796},P:{"4":0.03127,"20":0.02084,"21":0.02084,"23":0.77121,_:"22 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0.01283,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.10668,_:"6 7 8 9 10 5.5"},K:{"0":0.01289,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{_:"0"},H:{"0":0},L:{"0":4.5877},R:{_:"0"},M:{"0":0.08377}}; diff --git a/.pnpm-store/v3/files/5e/19294c02d164a90c70d5d816b58272b6c88f829c29aadd406769c53e843ccbe46e0053f5a112c410e57a141149eca1d58023da0caa3385ef89e9a846099bb2 b/.pnpm-store/v3/files/5e/19294c02d164a90c70d5d816b58272b6c88f829c29aadd406769c53e843ccbe46e0053f5a112c410e57a141149eca1d58023da0caa3385ef89e9a846099bb2 new file mode 100644 index 00000000..929e8249 --- /dev/null +++ b/.pnpm-store/v3/files/5e/19294c02d164a90c70d5d816b58272b6c88f829c29aadd406769c53e843ccbe46e0053f5a112c410e57a141149eca1d58023da0caa3385ef89e9a846099bb2 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB VC WC","260":"0 1 2 3 4 5 6 7 8 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"0 1 2 3 4 5 6 7 8 lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","324":"cB dB eB fB gB hB iB jB 8B kB 9B"},E:{"2":"9 I J D E F A XC DC YC ZC aC bC EC","132":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB iC jC kC lC 2B QC mC 3B","324":"NB OB PB QB RB SB TB UB VB WB XB YB"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"260":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I","132":"GD HD ID"},Q:{"1":"FC"},R:{"1":"SD"},S:{"260":"TD UD"}},B:5,C:"Media Capture from DOM Elements API",D:true}; diff --git a/.pnpm-store/v3/files/5e/1ce817d112b03600ed2ba13e85eb949ce0ef5bfa3fc28674be0cf8a635a626d31effcfd6cb6a2b29904df208d755085258eecc640e79e0350a241ea0b0d222 b/.pnpm-store/v3/files/5e/1ce817d112b03600ed2ba13e85eb949ce0ef5bfa3fc28674be0cf8a635a626d31effcfd6cb6a2b29904df208d755085258eecc640e79e0350a241ea0b0d222 new file mode 100644 index 00000000..c2c0b0f5 --- /dev/null +++ b/.pnpm-store/v3/files/5e/1ce817d112b03600ed2ba13e85eb949ce0ef5bfa3fc28674be0cf8a635a626d31effcfd6cb6a2b29904df208d755085258eecc640e79e0350a241ea0b0d222 @@ -0,0 +1 @@ +module.exports={C:{"41":0.00173,"52":0.06066,"65":0.01733,"88":0.0104,"113":0.0052,"115":0.64468,"119":0.00173,"120":0.0052,"121":0.67414,"122":0.13864,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 116 117 118 123 124 125 3.5 3.6"},D:{"42":0.00347,"49":0.01733,"55":0.40206,"59":0.00173,"64":0.0052,"68":0.00173,"69":0.00347,"74":0.0208,"78":0.00173,"80":0.00347,"81":0.02426,"86":0.00173,"87":0.01213,"88":0.03813,"90":0.01733,"92":0.0052,"93":0.15077,"94":0.00173,"95":0.00173,"98":0.0052,"101":0.00173,"103":0.026,"105":0.0104,"107":0.02253,"108":0.0052,"109":1.27029,"111":0.0052,"113":0.0052,"114":0.00173,"116":0.03639,"117":0.0208,"118":0.08838,"119":0.09532,"120":4.06215,"121":0.29114,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 50 51 52 53 54 56 57 58 60 61 62 63 65 66 67 70 71 72 73 75 76 77 79 83 84 85 89 91 96 97 99 100 102 104 106 110 112 115 122 123 124"},F:{"42":0.00173,"77":0.01386,"80":0.0208,"95":0.0156,"101":0.0052,"102":0.00173,"104":0.026,"105":0.03119,"106":0.44711,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 79 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00693,"13":0.00173,"14":0.00173,"15":0.0052,"18":0.02946,"84":0.00173,"90":0.00173,"92":0.05199,"108":0.01213,"109":0.0052,"112":0.00347,"114":0.00173,"115":0.0052,"116":0.0052,"117":0.0156,"118":0.13864,"119":0.01386,"120":1.16111,"121":0.11091,_:"16 17 79 80 81 83 85 86 87 88 89 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110 111 113"},E:{"13":0.01213,_:"0 4 5 6 7 8 9 10 11 12 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.2 17.0 17.4","15.6":0.01213,"16.1":0.00173,"16.3":0.01213,"16.4":0.00173,"16.5":0.00173,"16.6":0.0104,"17.1":0.00693,"17.2":0.11784,"17.3":0.00347},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00179,"5.0-5.1":0.00268,"6.0-6.1":0.00447,"7.0-7.1":0.00626,"8.1-8.4":0.00089,"9.0-9.2":0.00536,"9.3":0.02055,"10.0-10.2":0.00179,"10.3":0.03217,"11.0-11.2":0.01251,"11.3-11.4":0.0134,"12.0-12.1":0.00804,"12.2-12.5":0.15907,"13.0-13.1":0.00268,"13.2":0.02949,"13.3":0.00804,"13.4-13.7":0.03575,"14.0-14.4":0.06256,"14.5-14.8":0.09562,"15.0-15.1":0.04111,"15.2-15.3":0.04736,"15.4":0.05541,"15.5":0.07328,"15.6-15.8":0.57105,"16.0":0.17158,"16.1":0.36551,"16.2":0.16622,"16.3":0.30921,"16.4":0.06881,"16.5":0.14656,"16.6-16.7":1.1993,"17.0":0.19929,"17.1":2.05453,"17.2":2.78108,"17.3":0.17873},P:{"4":0.04058,"20":0.04058,"21":0.13188,"22":1.10574,"23":0.84198,"5.0-5.4":0.02029,_:"6.2-6.4 8.2 10.1 12.0 14.0 15.0","7.2-7.4":0.12173,"9.2":0.02029,"11.1-11.2":0.08115,"13.0":0.02029,"16.0":0.05072,"17.0":0.02029,"18.0":0.02029,"19.0":0.03043},I:{"0":0.08231,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00021},A:{"11":0.02253,_:"6 7 8 9 10 5.5"},K:{"0":0.43122,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00827},O:{"0":0.19014},H:{"0":0.04},L:{"0":76.82118},R:{_:"0"},M:{"0":0.04134}}; diff --git a/.pnpm-store/v3/files/5e/3bc31e9b934bf4f235750e49998514f36afa6804c839949826157afd63372ef66240edeae08ff6832c5de7a86b2b38ba7d59dd2a0a0d93c3c28461567ec058 b/.pnpm-store/v3/files/5e/3bc31e9b934bf4f235750e49998514f36afa6804c839949826157afd63372ef66240edeae08ff6832c5de7a86b2b38ba7d59dd2a0a0d93c3c28461567ec058 new file mode 100644 index 00000000..aee6365d --- /dev/null +++ b/.pnpm-store/v3/files/5e/3bc31e9b934bf4f235750e49998514f36afa6804c839949826157afd63372ef66240edeae08ff6832c5de7a86b2b38ba7d59dd2a0a0d93c3c28461567ec058 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","16":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D XC DC YC ZC"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB iC jC kC lC 2B QC mC 3B"},G:{"1":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC qC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D","16":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Array.prototype.find",D:true}; diff --git a/.pnpm-store/v3/files/5e/8151a98cc46b6ae5c81557c6e28338890efe7b1ba95670bc70038caf50cc4e3ec25f096113039e0071aa19e8004144d321d8257c8874999f0b435be9f33eb4 b/.pnpm-store/v3/files/5e/8151a98cc46b6ae5c81557c6e28338890efe7b1ba95670bc70038caf50cc4e3ec25f096113039e0071aa19e8004144d321d8257c8874999f0b435be9f33eb4 new file mode 100644 index 00000000..5dc32dcc --- /dev/null +++ b/.pnpm-store/v3/files/5e/8151a98cc46b6ae5c81557c6e28338890efe7b1ba95670bc70038caf50cc4e3ec25f096113039e0071aa19e8004144d321d8257c8874999f0b435be9f33eb4 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","2":"F iC jC","16":"B kC lC 2B QC"},G:{"1":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","2":"D"},K:{"1":"C u QC 3B","2":"A","16":"B 2B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"FileReaderSync",D:true}; diff --git a/.pnpm-store/v3/files/5f/06a986b4770e35c9ba627d7e00e11333aaf5a3b16804a15e4fa291b5a3b22d68f05ccb91a90394b1cd60c8aa06667f444308a1b0c3f668089d9dc549f6b500 b/.pnpm-store/v3/files/5f/06a986b4770e35c9ba627d7e00e11333aaf5a3b16804a15e4fa291b5a3b22d68f05ccb91a90394b1cd60c8aa06667f444308a1b0c3f668089d9dc549f6b500 new file mode 100644 index 00000000..26b84881 --- /dev/null +++ b/.pnpm-store/v3/files/5f/06a986b4770e35c9ba627d7e00e11333aaf5a3b16804a15e4fa291b5a3b22d68f05ccb91a90394b1cd60c8aa06667f444308a1b0c3f668089d9dc549f6b500 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"C K L G M N O","516":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"132":"dB eB fB gB hB iB jB 8B kB 9B lB mB nB","164":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB VC WC","516":"oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a","1028":"0 1 2 3 4 5 6 7 8 b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"420":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","516":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","132":"F bC","164":"D E aC","420":"9 I J XC DC YC ZC"},F:{"1":"C 2B QC mC 3B","2":"F B iC jC kC lC","420":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB","516":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","132":"sC tC","164":"E qC rC","420":"DC nC RC oC pC"},H:{"1":"9C"},I:{"420":"7B I AD BD CD DD RC ED FD","516":"H"},J:{"420":"D A"},K:{"1":"C 2B QC 3B","2":"A B","516":"u"},L:{"516":"H"},M:{"1028":"1B"},N:{"1":"A B"},O:{"516":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","420":"I"},Q:{"516":"FC"},R:{"516":"SD"},S:{"164":"TD UD"}},B:4,C:"CSS3 Multiple column layout",D:true}; diff --git a/.pnpm-store/v3/files/5f/16fba17001fb4407e42fd83c4ade8019a6847a1dd9df67e5a2bafa660fe6fb4ab1acddd358009fd53da23b738dc27e54d63c92b858119cdea691b01631aead b/.pnpm-store/v3/files/5f/16fba17001fb4407e42fd83c4ade8019a6847a1dd9df67e5a2bafa660fe6fb4ab1acddd358009fd53da23b738dc27e54d63c92b858119cdea691b01631aead new file mode 100644 index 00000000..748c29bf --- /dev/null +++ b/.pnpm-store/v3/files/5f/16fba17001fb4407e42fd83c4ade8019a6847a1dd9df67e5a2bafa660fe6fb4ab1acddd358009fd53da23b738dc27e54d63c92b858119cdea691b01631aead @@ -0,0 +1 @@ +module.exports={C:{"121":0.33569,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 122 123 124 125 3.5 3.6"},D:{"101":0.33569,"120":31.08249,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 121 122 123 124"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"106":1.01192,"109":0.33569,"120":14.19121,"121":0.33569,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 107 108 110 111 112 113 114 115 116 117 118 119"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.1 17.2 17.3 17.4"},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00056,"5.0-5.1":0.00083,"6.0-6.1":0.00139,"7.0-7.1":0.00194,"8.1-8.4":0.00028,"9.0-9.2":0.00167,"9.3":0.00639,"10.0-10.2":0.00056,"10.3":0.01,"11.0-11.2":0.00389,"11.3-11.4":0.00417,"12.0-12.1":0.0025,"12.2-12.5":0.04945,"13.0-13.1":0.00083,"13.2":0.00917,"13.3":0.0025,"13.4-13.7":0.01111,"14.0-14.4":0.01945,"14.5-14.8":0.02972,"15.0-15.1":0.01278,"15.2-15.3":0.01472,"15.4":0.01722,"15.5":0.02278,"15.6-15.8":0.17752,"16.0":0.05334,"16.1":0.11362,"16.2":0.05167,"16.3":0.09612,"16.4":0.02139,"16.5":0.04556,"16.6-16.7":0.37281,"17.0":0.06195,"17.1":0.63867,"17.2":0.86452,"17.3":0.05556},P:{"23":0.34918,_:"4 20 21 22 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{_:"0"},H:{"0":0},L:{"0":49.23984},R:{_:"0"},M:{_:"0"}}; diff --git a/.pnpm-store/v3/files/5f/23d950a4a1efc485fa89c1dd05d5fce54003bd2fc59b66be04abab96f12413ac8f3c99cc389a0f904255cc03bbede9dfca0597ac60c73f8a632830d5b2a4cc b/.pnpm-store/v3/files/5f/23d950a4a1efc485fa89c1dd05d5fce54003bd2fc59b66be04abab96f12413ac8f3c99cc389a0f904255cc03bbede9dfca0597ac60c73f8a632830d5b2a4cc new file mode 100644 index 00000000..3b42a953 --- /dev/null +++ b/.pnpm-store/v3/files/5f/23d950a4a1efc485fa89c1dd05d5fce54003bd2fc59b66be04abab96f12413ac8f3c99cc389a0f904255cc03bbede9dfca0597ac60c73f8a632830d5b2a4cc @@ -0,0 +1 @@ +module.exports={C:{"60":0.00209,"64":0.00209,"67":0.01462,"68":0.00209,"69":0.01044,"70":0.00209,"81":0.00835,"85":0.00418,"90":0.00418,"91":0.00209,"96":0.00209,"104":0.01044,"108":0.00626,"110":0.00209,"111":0.00209,"113":0.00626,"115":0.00418,"118":0.01462,"119":0.01462,"121":0.25682,"122":0.04176,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 61 62 63 65 66 71 72 73 74 75 76 77 78 79 80 82 83 84 86 87 88 89 92 93 94 95 97 98 99 100 101 102 103 105 106 107 109 112 114 116 117 120 123 124 125 3.5 3.6"},D:{"39":0.01044,"47":0.00209,"52":0.00418,"56":0.00418,"58":0.00626,"59":0.00209,"61":0.05846,"64":0.00209,"66":0.00418,"68":0.00835,"70":0.00209,"71":0.00626,"73":0.01253,"75":0.00209,"77":0.00418,"78":0.00209,"79":0.00209,"80":0.01462,"81":0.00626,"83":0.00835,"85":0.06682,"87":0.01044,"88":0.02297,"92":0.00626,"93":0.00209,"94":0.00418,"95":0.00835,"96":0.01253,"97":0.01462,"98":0.01879,"99":0.02923,"100":0.00209,"101":0.02506,"102":0.03132,"103":0.0689,"104":0.02088,"105":0.05429,"106":0.05011,"107":0.00626,"108":0.03132,"109":3.68114,"110":0.00418,"111":0.00835,"112":0.03132,"113":0.02714,"114":0.00209,"115":0.00418,"116":0.03967,"117":0.07308,"118":0.00835,"119":0.10231,"120":10.3356,"121":0.89158,"122":0.00209,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 48 49 50 51 53 54 55 57 60 62 63 65 67 69 72 74 76 84 86 89 90 91 123 124"},F:{"33":0.00209,"51":0.00209,"53":0.00209,"58":0.01044,"60":0.00835,"64":0.00209,"66":0.00626,"69":0.00418,"74":0.00418,"75":0.00209,"78":0.00209,"80":0.00209,"82":0.00626,"83":0.01253,"89":0.00209,"90":0.00209,"93":0.00626,"95":0.00418,"96":0.00418,"98":0.05011,"102":0.00209,"103":0.00418,"104":0.00418,"105":0.02297,"106":0.07308,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 52 54 55 56 57 62 63 65 67 68 70 71 72 73 76 77 79 81 84 85 86 87 88 91 92 94 97 99 100 101 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 12.1","11.6":0.00418},B:{"81":0.00209,"84":0.01879,"88":0.01462,"89":0.0167,"90":0.01253,"92":0.11693,"99":0.01253,"100":0.0355,"101":0.0522,"107":0.00418,"108":0.00209,"109":0.00418,"111":0.03758,"112":0.00835,"114":0.02923,"115":0.00418,"118":0.0167,"119":0.00418,"120":0.261,"121":0.00835,_:"12 13 14 15 16 17 18 79 80 83 85 86 87 91 93 94 95 96 97 98 102 103 104 105 106 110 113 116 117"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 13.1 14.1 15.2-15.3 15.4 16.0 16.1 17.1 17.3 17.4","12.1":0.00209,"15.1":0.05638,"15.5":0.04176,"15.6":0.02297,"16.2":0.00209,"16.3":0.06473,"16.4":0.00626,"16.5":0.00209,"16.6":0.08352,"17.0":0.00418,"17.2":0.05429},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00144,"5.0-5.1":0.00216,"6.0-6.1":0.00359,"7.0-7.1":0.00503,"8.1-8.4":0.00072,"9.0-9.2":0.00431,"9.3":0.01652,"10.0-10.2":0.00144,"10.3":0.02586,"11.0-11.2":0.01006,"11.3-11.4":0.01078,"12.0-12.1":0.00647,"12.2-12.5":0.12788,"13.0-13.1":0.00216,"13.2":0.02371,"13.3":0.00647,"13.4-13.7":0.02874,"14.0-14.4":0.05029,"14.5-14.8":0.07687,"15.0-15.1":0.03305,"15.2-15.3":0.03808,"15.4":0.04454,"15.5":0.05891,"15.6-15.8":0.45906,"16.0":0.13793,"16.1":0.29383,"16.2":0.13362,"16.3":0.24857,"16.4":0.05532,"16.5":0.11782,"16.6-16.7":0.96411,"17.0":0.16021,"17.1":1.65162,"17.2":2.23569,"17.3":0.14368},P:{"4":0.17604,"20":0.01036,"21":0.0932,"22":0.3003,"23":1.83285,"5.0-5.4":0.02071,"6.2-6.4":0.02071,"7.2-7.4":0.18639,_:"8.2 10.1 14.0","9.2":0.01036,"11.1-11.2":0.02071,"12.0":0.01036,"13.0":0.23817,"15.0":0.02071,"16.0":0.06213,"17.0":0.13462,"18.0":0.07249,"19.0":0.44527},I:{"0":0.04726,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00012},A:{"11":0.02506,_:"6 7 8 9 10 5.5"},K:{"0":0.20362,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.35604},H:{"0":0.01},L:{"0":67.96963},R:{_:"0"},M:{"0":0.03956}}; diff --git a/.pnpm-store/v3/files/5f/41bc771212260573ac69daf51df57f9f2bb0a1b2271993acb9d8e5b4c112c7111c6bb3e0ca74cf9cae2a3334102bda56c348c0d8aeea4e464f449d4ba37ff0 b/.pnpm-store/v3/files/5f/41bc771212260573ac69daf51df57f9f2bb0a1b2271993acb9d8e5b4c112c7111c6bb3e0ca74cf9cae2a3334102bda56c348c0d8aeea4e464f449d4ba37ff0 new file mode 100644 index 00000000..acc10806 --- /dev/null +++ b/.pnpm-store/v3/files/5f/41bc771212260573ac69daf51df57f9f2bb0a1b2271993acb9d8e5b4c112c7111c6bb3e0ca74cf9cae2a3334102bda56c348c0d8aeea4e464f449d4ba37ff0 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC"},H:{"2":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","2":"A"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"PageTransitionEvent",D:true}; diff --git a/.pnpm-store/v3/files/5f/77e9cbd4852e30efec5c8b032c509783f3721678ef53dfcb8072e0e2265fefdeb7cffc9d85eaf2dca20fdc5a6a5b88fd6db3bfaa7569300ab2e0414637657e b/.pnpm-store/v3/files/5f/77e9cbd4852e30efec5c8b032c509783f3721678ef53dfcb8072e0e2265fefdeb7cffc9d85eaf2dca20fdc5a6a5b88fd6db3bfaa7569300ab2e0414637657e new file mode 100644 index 00000000..ad28ef1d --- /dev/null +++ b/.pnpm-store/v3/files/5f/77e9cbd4852e30efec5c8b032c509783f3721678ef53dfcb8072e0e2265fefdeb7cffc9d85eaf2dca20fdc5a6a5b88fd6db3bfaa7569300ab2e0414637657e @@ -0,0 +1 @@ +module.exports={C:{"58":0.02283,"69":0.11416,"71":0.0685,"90":0.04566,"100":0.02283,"106":0.02283,"108":0.645,"109":0.0685,"114":0.55368,"115":0.59934,"117":0.04566,"118":0.66784,"119":0.02283,"121":1.22151,"122":0.48233,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 70 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 101 102 103 104 105 107 110 111 112 113 116 120 123 124 125 3.5 3.6"},D:{"49":0.02283,"77":0.04566,"84":0.04566,"87":0.11416,"103":0.25401,"109":0.55368,"116":0.3225,"119":0.57651,"120":8.31656,"121":1.15302,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 79 80 81 83 85 86 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 112 113 114 115 117 118 122 123 124"},F:{"105":0.04566,"106":1.26718,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"84":0.11416,"85":0.0685,"108":0.02283,"109":0.0685,"110":0.20834,"114":0.92184,"116":0.02283,"117":0.04566,"118":0.45949,"119":0.02283,"120":4.37518,"121":0.0685,_:"12 13 14 15 16 17 18 79 80 81 83 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 111 112 113 115"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 15.2-15.3 15.4 16.3 17.4","14.1":0.02283,"15.1":0.13699,"15.5":0.04566,"15.6":1.01317,"16.0":0.02283,"16.1":0.02283,"16.2":0.02283,"16.4":0.0685,"16.5":0.20834,"16.6":0.25401,"17.0":0.20834,"17.1":0.41383,"17.2":1.47552,"17.3":0.0685},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00394,"5.0-5.1":0.0059,"6.0-6.1":0.00984,"7.0-7.1":0.01377,"8.1-8.4":0.00197,"9.0-9.2":0.01181,"9.3":0.04525,"10.0-10.2":0.00394,"10.3":0.07083,"11.0-11.2":0.02755,"11.3-11.4":0.02951,"12.0-12.1":0.01771,"12.2-12.5":0.35023,"13.0-13.1":0.0059,"13.2":0.06493,"13.3":0.01771,"13.4-13.7":0.0787,"14.0-14.4":0.13773,"14.5-14.8":0.21053,"15.0-15.1":0.09051,"15.2-15.3":0.10428,"15.4":0.12199,"15.5":0.16134,"15.6-15.8":1.25728,"16.0":0.37777,"16.1":0.80474,"16.2":0.36597,"16.3":0.68078,"16.4":0.1515,"16.5":0.32268,"16.6-16.7":2.64048,"17.0":0.43877,"17.1":4.52344,"17.2":6.12308,"17.3":0.39351},P:{"21":0.6674,"22":0.14599,"23":13.35845,_:"4 20 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0 17.0 18.0","14.0":1.10538,"16.0":0.05214,"19.0":0.09385},I:{"0":0.0925,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00024},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.02144,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{_:"0"},H:{"0":0},L:{"0":34.99469},R:{_:"0"},M:{"0":1.97257}}; diff --git a/.pnpm-store/v3/files/5f/e8d60533ae027f74c50ad273629ebe9959ae32f2e67caa8e0285619b63d62bf707f71f72f23b8e66f61fba1b87b75c3b34fabe586bbef1a0be3d1be5fb234a b/.pnpm-store/v3/files/5f/e8d60533ae027f74c50ad273629ebe9959ae32f2e67caa8e0285619b63d62bf707f71f72f23b8e66f61fba1b87b75c3b34fabe586bbef1a0be3d1be5fb234a new file mode 100644 index 00000000..7cad5a06 --- /dev/null +++ b/.pnpm-store/v3/files/5f/e8d60533ae027f74c50ad273629ebe9959ae32f2e67caa8e0285619b63d62bf707f71f72f23b8e66f61fba1b87b75c3b34fabe586bbef1a0be3d1be5fb234a @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB iC jC kC lC 2B QC mC 3B"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D","16":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Object.entries",D:true}; diff --git a/.pnpm-store/v3/files/60/86ab61a540ba7dac628373073b2a279661de429cbb7fe1a9491392e98b936b3c32bb5fd252620088112f308a35d89f2581f1e39779e81a8d909550d1f8e5ef b/.pnpm-store/v3/files/60/86ab61a540ba7dac628373073b2a279661de429cbb7fe1a9491392e98b936b3c32bb5fd252620088112f308a35d89f2581f1e39779e81a8d909550d1f8e5ef new file mode 100644 index 00000000..f07058dc --- /dev/null +++ b/.pnpm-store/v3/files/60/86ab61a540ba7dac628373073b2a279661de429cbb7fe1a9491392e98b936b3c32bb5fd252620088112f308a35d89f2581f1e39779e81a8d909550d1f8e5ef @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"1":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B XC DC YC ZC aC bC EC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB iC jC kC lC 2B QC mC 3B"},G:{"1":"xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"Beacon API",D:true}; diff --git a/.pnpm-store/v3/files/60/c76788de69fef35f37e3653af8025e13c474c5468b7492e67c0d320664b067613e9e261a89df9345a897fce0b00c16f4a4cc14494924e47535dedf54275a07 b/.pnpm-store/v3/files/60/c76788de69fef35f37e3653af8025e13c474c5468b7492e67c0d320664b067613e9e261a89df9345a897fce0b00c16f4a4cc14494924e47535dedf54275a07 new file mode 100644 index 00000000..8b868b6d --- /dev/null +++ b/.pnpm-store/v3/files/60/c76788de69fef35f37e3653af8025e13c474c5468b7492e67c0d320664b067613e9e261a89df9345a897fce0b00c16f4a4cc14494924e47535dedf54275a07 @@ -0,0 +1,40 @@ +{ + "name": "streamx", + "version": "2.15.8", + "description": "An iteration of the Node.js core streams with a series of improvements", + "main": "index.js", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + }, + "devDependencies": { + "brittle": "^3.1.1", + "end-of-stream": "^1.4.4", + "standard": "^17.0.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + }, + "files": [ + "index.js" + ], + "imports": { + "events": { + "bare": "bare-events", + "default": "events" + } + }, + "scripts": { + "test": "standard && brittle test/*.js" + }, + "repository": { + "type": "git", + "url": "https://github.com/mafintosh/streamx.git" + }, + "author": "Mathias Buus (@mafintosh)", + "license": "MIT", + "bugs": { + "url": "https://github.com/mafintosh/streamx/issues" + }, + "homepage": "https://github.com/mafintosh/streamx" +} diff --git a/.pnpm-store/v3/files/60/f4f879ce962aaabf65045015ecfd82ce3e1769d112041f523e10c9f54098b74ad677cb7706060a61bd96e674af1954851af6d7551c7bd0fde1cfddbb7ceaa3 b/.pnpm-store/v3/files/60/f4f879ce962aaabf65045015ecfd82ce3e1769d112041f523e10c9f54098b74ad677cb7706060a61bd96e674af1954851af6d7551c7bd0fde1cfddbb7ceaa3 new file mode 100644 index 00000000..3cbd1cfe --- /dev/null +++ b/.pnpm-store/v3/files/60/f4f879ce962aaabf65045015ecfd82ce3e1769d112041f523e10c9f54098b74ad677cb7706060a61bd96e674af1954851af6d7551c7bd0fde1cfddbb7ceaa3 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB"},E:{"1":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC ZC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p kC lC 2B QC mC 3B","2":"F iC jC"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"1":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","2":"D"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS background-position edge offsets",D:true}; diff --git a/.pnpm-store/v3/files/61/170e86054bc29b73b5968fdeb43a72f026a47a992b8b853da1c0ec9e0234c84bd21cdfff9bf87eb881452bfee573a75ec9debaf3be6a3e311ece384c618ad6 b/.pnpm-store/v3/files/61/170e86054bc29b73b5968fdeb43a72f026a47a992b8b853da1c0ec9e0234c84bd21cdfff9bf87eb881452bfee573a75ec9debaf3be6a3e311ece384c618ad6 new file mode 100644 index 00000000..09db1cdf --- /dev/null +++ b/.pnpm-store/v3/files/61/170e86054bc29b73b5968fdeb43a72f026a47a992b8b853da1c0ec9e0234c84bd21cdfff9bf87eb881452bfee573a75ec9debaf3be6a3e311ece384c618ad6 @@ -0,0 +1 @@ +module.exports={A:{D:{"1":"0 1 2 3 4 5 6 7 8 iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},L:{"1":"H"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I VC WC","33":"J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB"},M:{"1":"1B"},A:{"2":"J D E F A B SC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB iC jC kC lC 2B QC mC 3B"},K:{"1":"u","2":"A B C 2B QC 3B"},E:{"1":"K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC","2":"9 I J D XC DC YC ZC aC hC","33":"E F A B C bC EC 2B"},G:{"1":"zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC qC","33":"E rC sC tC uC vC wC xC yC"},P:{"1":"q r s t ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"}},B:6,C:"text-decoration-style property",D:undefined}; diff --git a/.pnpm-store/v3/files/61/20d412962ed7e4964a61decf5f2568f5cbd309a901b9b60f8b2dfd4b4fdf8a5848bbdd7ea07b5f3f0abce38257f3df2e6554b0b4b2fcb8f8d099748ef17725 b/.pnpm-store/v3/files/61/20d412962ed7e4964a61decf5f2568f5cbd309a901b9b60f8b2dfd4b4fdf8a5848bbdd7ea07b5f3f0abce38257f3df2e6554b0b4b2fcb8f8d099748ef17725 new file mode 100644 index 00000000..a7cc5dbf --- /dev/null +++ b/.pnpm-store/v3/files/61/20d412962ed7e4964a61decf5f2568f5cbd309a901b9b60f8b2dfd4b4fdf8a5848bbdd7ea07b5f3f0abce38257f3df2e6554b0b4b2fcb8f8d099748ef17725 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L","2049":"M N O","2242":"G"},C:{"1":"0 1 2 3 4 5 6 7 8 kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB VC WC","322":"fB gB hB iB jB 8B"},D:{"1":"0 1 2 3 4 5 6 7 8 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B","194":"kB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC","1540":"EC"},F:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB iC jC kC lC 2B QC mC 3B","194":"YB"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC","1540":"vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:1,C:"JavaScript modules via script tag",D:true}; diff --git a/.pnpm-store/v3/files/61/3b57132094a7d855245de9a0d972f93c4d50e654e7029b6aaa46d115f0430deb64dde396df985c3f4e0d1325fef2d87f51f1dbea877d7e19626bda8e9d6348 b/.pnpm-store/v3/files/61/3b57132094a7d855245de9a0d972f93c4d50e654e7029b6aaa46d115f0430deb64dde396df985c3f4e0d1325fef2d87f51f1dbea877d7e19626bda8e9d6348 new file mode 100644 index 00000000..3630ebc5 --- /dev/null +++ b/.pnpm-store/v3/files/61/3b57132094a7d855245de9a0d972f93c4d50e654e7029b6aaa46d115f0430deb64dde396df985c3f4e0d1325fef2d87f51f1dbea877d7e19626bda8e9d6348 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","2052":"B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","132":"9 TC 7B I J D E F A B C VC WC","260":"K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB"},D:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","260":"9 I J D E F A B C K L G M N O AB q","772":"r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","1028":"SB TB UB VB WB XB YB ZB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","260":"9 I A XC DC EC","772":"J D E F YC ZC aC bC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F iC","132":"B jC kC lC 2B QC","644":"C mC 3B","772":"G M N O AB q r s t BB CB DB EB","1028":"FB GB HB IB JB KB LB MB"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","260":"DC nC RC uC vC","772":"E oC pC qC rC sC tC"},H:{"644":"9C"},I:{"1":"H","16":"AD BD","260":"CD","772":"7B I DD RC ED FD"},J:{"772":"D A"},K:{"1":"u","132":"A B 2B QC","644":"C 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","2":"A"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","1028":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"const",D:true}; diff --git a/.pnpm-store/v3/files/61/83aa456e72f5da872d7fcfb6b3260ff2a326c1dad6e708f09ffc2e2f924d593aa9db38c2a93577e1cd82bb1bb80ba02d833328c0f35bc08ead9bf50105f824 b/.pnpm-store/v3/files/61/83aa456e72f5da872d7fcfb6b3260ff2a326c1dad6e708f09ffc2e2f924d593aa9db38c2a93577e1cd82bb1bb80ba02d833328c0f35bc08ead9bf50105f824 new file mode 100644 index 00000000..2ca6080b --- /dev/null +++ b/.pnpm-store/v3/files/61/83aa456e72f5da872d7fcfb6b3260ff2a326c1dad6e708f09ffc2e2f924d593aa9db38c2a93577e1cd82bb1bb80ba02d833328c0f35bc08ead9bf50105f824 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B C iC jC kC lC 2B QC mC"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"1":"9C"},I:{"1":"7B I H DD RC ED FD","2":"AD BD CD"},J:{"1":"A","2":"D"},K:{"1":"u 3B","2":"A B C 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"matchMedia",D:true}; diff --git a/.pnpm-store/v3/files/62/09c1f9da96f521dc847226ffd12a1e654f6f3e770fd26e4dde50a50ceca329ffb668652d4867bd76cad4568a2cccb7cce348fb79aea530cbefb4ff871ae484 b/.pnpm-store/v3/files/62/09c1f9da96f521dc847226ffd12a1e654f6f3e770fd26e4dde50a50ceca329ffb668652d4867bd76cad4568a2cccb7cce348fb79aea530cbefb4ff871ae484 new file mode 100644 index 00000000..acadacd1 --- /dev/null +++ b/.pnpm-store/v3/files/62/09c1f9da96f521dc847226ffd12a1e654f6f3e770fd26e4dde50a50ceca329ffb668652d4867bd76cad4568a2cccb7cce348fb79aea530cbefb4ff871ae484 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","16":"TC","33":"9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"9 I J XC DC YC","33":"D E ZC aC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC oC","33":"E pC qC rC"},H:{"2":"9C"},I:{"1":"H","16":"7B I AD BD CD DD RC","33":"ED FD"},J:{"16":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t KD EC LD MD ND OD PD 5B 6B QD RD","16":"I","33":"GD HD ID JD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","33":"TD"}},B:5,C:"CSS :any-link selector",D:true}; diff --git a/.pnpm-store/v3/files/62/65a4d86d0a8d1a6cef2dac7a66e16044e4715fb4925187f24e10cabd610d9479ee11dd78ea0f2c29e3a218d39873ef8a97b3ecf482ed8f6813082e110b5454 b/.pnpm-store/v3/files/62/65a4d86d0a8d1a6cef2dac7a66e16044e4715fb4925187f24e10cabd610d9479ee11dd78ea0f2c29e3a218d39873ef8a97b3ecf482ed8f6813082e110b5454 new file mode 100644 index 00000000..d6c02c22 --- /dev/null +++ b/.pnpm-store/v3/files/62/65a4d86d0a8d1a6cef2dac7a66e16044e4715fb4925187f24e10cabd610d9479ee11dd78ea0f2c29e3a218d39873ef8a97b3ecf482ed8f6813082e110b5454 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","257":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","289":"7B VC WC","292":"TC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","33":"I"},E:{"1":"9 D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","33":"I XC DC","129":"J YC ZC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p kC lC 2B QC mC 3B","2":"F iC jC"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","33":"DC"},H:{"2":"9C"},I:{"1":"7B I H BD CD DD RC ED FD","33":"AD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","257":"TD"}},B:4,C:"CSS3 Border-radius (rounded corners)",D:true}; diff --git a/.pnpm-store/v3/files/62/723946212eadfd1a215339c571c2ffd86ab62beed8e5c680fe5eb9c61c69f83ee2e046180be7c93f687b5a82ba13842dc067048a1d4d769c10100f64c9439b b/.pnpm-store/v3/files/62/723946212eadfd1a215339c571c2ffd86ab62beed8e5c680fe5eb9c61c69f83ee2e046180be7c93f687b5a82ba13842dc067048a1d4d769c10100f64c9439b new file mode 100644 index 00000000..a15ff5ec --- /dev/null +++ b/.pnpm-store/v3/files/62/723946212eadfd1a215339c571c2ffd86ab62beed8e5c680fe5eb9c61c69f83ee2e046180be7c93f687b5a82ba13842dc067048a1d4d769c10100f64c9439b @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC"},F:{"1":"N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M iC jC kC lC 2B QC mC 3B"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"Canvas blend modes",D:true}; diff --git a/.pnpm-store/v3/files/62/809bd5bd68f0522835a794cc77fa88769ee54e80ec3fdbd7a7c0c095a14646bdd54bd08d39d8e91d858596f4ef8c8ad31bf1802092630b41034973d92c99ec b/.pnpm-store/v3/files/62/809bd5bd68f0522835a794cc77fa88769ee54e80ec3fdbd7a7c0c095a14646bdd54bd08d39d8e91d858596f4ef8c8ad31bf1802092630b41034973d92c99ec new file mode 100644 index 00000000..0b91b6b6 --- /dev/null +++ b/.pnpm-store/v3/files/62/809bd5bd68f0522835a794cc77fa88769ee54e80ec3fdbd7a7c0c095a14646bdd54bd08d39d8e91d858596f4ef8c8ad31bf1802092630b41034973d92c99ec @@ -0,0 +1,20142 @@ +/* + @license + Rollup.js v4.11.0 + Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99 + + https://github.com/rollup/rollup + + Released under the MIT License. +*/ +import { normalize, getImportPath, LOGLEVEL_WARN, logUnusedExternalImports, ANNOTATION_KEY, INVALID_ANNOTATION_KEY, logInvalidAnnotation, logRedeclarationError, logDuplicateArgumentNameError, logIllegalImportReassignment, logModuleLevelDirective, logConstVariableReassignError, logMissingExport, logCannotCallNamespace, logEval, LOGLEVEL_INFO, logFirstSideEffect, locate, logThisIsUndefined, logImportAttributeIsInvalid, logImportOptionsAreInvalid, error, logSyntheticNamedExportsNeedNamespaceExport, logMissingEntryExport, logInvalidFormatForTopLevelAwait, logDuplicateExportError, logInvalidSourcemapForError, augmentCodeLocation, logInconsistentImportAttributes, logNamespaceConflict, logAmbiguousExternalNamespaces, logShimmedExport, parseAst, logModuleParseError, parseAstAsync, logCircularReexport, logMissingNodeBuiltins, logIllegalIdentifierAsName, logMissingNameOptionForIifeExport, logMissingNameOptionForUmdExport, logAddonNotGenerated, logIncompatibleExportOptionValue, logMixedExport, logFailedValidation, isPathFragment, logCyclicCrossChunkReexport, getAliasName, logUnexpectedNamedImport, isAbsolute as isAbsolute$1, relative as relative$1, logUnexpectedNamespaceReexport, logEmptyChunk, logMissingGlobalName, logOptimizeChunkStatus, logSourcemapBroken, logConflictingSourcemapSources, logChunkInvalid, logInvalidOption, URL_OUTPUT_FORMAT, URL_OUTPUT_DIR, URL_OUTPUT_SOURCEMAPFILE, URL_OUTPUT_AMD_ID, logCannotAssignModuleToChunk, logAnonymousPluginCache, logDuplicatePluginName, LOGLEVEL_ERROR, logLevelPriority, relativeId, LOGLEVEL_DEBUG, logUnknownOption, printQuotedStringList, logInvalidSetAssetSourceCall, logPluginError, logNoTransformMapOrAstWithoutCode, logBadLoader, logExternalModulesCannotBeTransformedToModules, logInternalIdCannotBeExternal, isRelative, logUnresolvedImport, logUnresolvedImportTreatedAsExternal, logExternalSyntheticExports, logUnresolvedEntry, logUnresolvedImplicitDependant, logExternalModulesCannotBeIncludedInManualChunks, logEntryCannotBeExternal, logImplicitDependantCannotBeExternal, logNoAssetSourceSet, logFileReferenceIdNotFoundForFilename, logAssetReferenceIdNotFoundForSetSource, logAssetSourceAlreadySet, logInvalidRollupPhaseForChunkEmission, logFileNameConflict, logAssetNotFinalisedForFileName, logChunkNotGeneratedForFileName, logInvalidLogPosition, logInputHookInOutputPlugin, logInvalidFunctionPluginHook, logInvalidAddonPluginHook, logImplicitDependantIsNotIncluded, logCircularDependency, URL_TREESHAKE_MODULESIDEEFFECTS, URL_TREESHAKE, URL_OUTPUT_INLINEDYNAMICIMPORTS, URL_PRESERVEENTRYSIGNATURES, URL_OUTPUT_AMD_BASEPATH, logInvalidExportOptionValue, warnDeprecation, URL_OUTPUT_INTEROP, URL_OUTPUT_MANUALCHUNKS, isValidUrl, addTrailingSlashIfMissed, URL_OUTPUT_SOURCEMAPBASEURL, URL_OUTPUT_GENERATEDCODE, URL_OUTPUT_EXTERNALIMPORTATTRIBUTES, logAlreadyClosed, logMissingFileOrDirOption, logCannotEmitFromOptionsHook, URL_WATCH } from './parseAst.js'; +import { relative, dirname, basename, extname, resolve as resolve$1 } from 'node:path'; +import require$$0$1, { win32, posix, isAbsolute, resolve } from 'path'; +import process$1, { env as env$1 } from 'node:process'; +import { performance } from 'node:perf_hooks'; +import { xxhashBase64Url, xxhashBase36, xxhashBase16 } from '../../native.js'; +import { lstat, realpath, readdir, readFile, mkdir, writeFile } from 'node:fs/promises'; +import * as tty from 'tty'; + +var version = "4.11.0"; + +const comma = ','.charCodeAt(0); +const semicolon = ';'.charCodeAt(0); +const chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; +const intToChar = new Uint8Array(64); // 64 possible chars. +const charToInt = new Uint8Array(128); // z is 122 in ASCII +for (let i = 0; i < chars$1.length; i++) { + const c = chars$1.charCodeAt(i); + intToChar[i] = c; + charToInt[c] = i; +} +// Provide a fallback for older environments. +const td = typeof TextDecoder !== 'undefined' + ? /* #__PURE__ */ new TextDecoder() + : typeof Buffer !== 'undefined' + ? { + decode(buf) { + const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength); + return out.toString(); + }, + } + : { + decode(buf) { + let out = ''; + for (let i = 0; i < buf.length; i++) { + out += String.fromCharCode(buf[i]); + } + return out; + }, + }; +function decode(mappings) { + const state = new Int32Array(5); + const decoded = []; + let index = 0; + do { + const semi = indexOf(mappings, index); + const line = []; + let sorted = true; + let lastCol = 0; + state[0] = 0; + for (let i = index; i < semi; i++) { + let seg; + i = decodeInteger(mappings, i, state, 0); // genColumn + const col = state[0]; + if (col < lastCol) + sorted = false; + lastCol = col; + if (hasMoreVlq(mappings, i, semi)) { + i = decodeInteger(mappings, i, state, 1); // sourcesIndex + i = decodeInteger(mappings, i, state, 2); // sourceLine + i = decodeInteger(mappings, i, state, 3); // sourceColumn + if (hasMoreVlq(mappings, i, semi)) { + i = decodeInteger(mappings, i, state, 4); // namesIndex + seg = [col, state[1], state[2], state[3], state[4]]; + } + else { + seg = [col, state[1], state[2], state[3]]; + } + } + else { + seg = [col]; + } + line.push(seg); + } + if (!sorted) + sort(line); + decoded.push(line); + index = semi + 1; + } while (index <= mappings.length); + return decoded; +} +function indexOf(mappings, index) { + const idx = mappings.indexOf(';', index); + return idx === -1 ? mappings.length : idx; +} +function decodeInteger(mappings, pos, state, j) { + let value = 0; + let shift = 0; + let integer = 0; + do { + const c = mappings.charCodeAt(pos++); + integer = charToInt[c]; + value |= (integer & 31) << shift; + shift += 5; + } while (integer & 32); + const shouldNegate = value & 1; + value >>>= 1; + if (shouldNegate) { + value = -0x80000000 | -value; + } + state[j] += value; + return pos; +} +function hasMoreVlq(mappings, i, length) { + if (i >= length) + return false; + return mappings.charCodeAt(i) !== comma; +} +function sort(line) { + line.sort(sortComparator); +} +function sortComparator(a, b) { + return a[0] - b[0]; +} +function encode(decoded) { + const state = new Int32Array(5); + const bufLength = 1024 * 16; + const subLength = bufLength - 36; + const buf = new Uint8Array(bufLength); + const sub = buf.subarray(0, subLength); + let pos = 0; + let out = ''; + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + if (i > 0) { + if (pos === bufLength) { + out += td.decode(buf); + pos = 0; + } + buf[pos++] = semicolon; + } + if (line.length === 0) + continue; + state[0] = 0; + for (let j = 0; j < line.length; j++) { + const segment = line[j]; + // We can push up to 5 ints, each int can take at most 7 chars, and we + // may push a comma. + if (pos > subLength) { + out += td.decode(sub); + buf.copyWithin(0, subLength, pos); + pos -= subLength; + } + if (j > 0) + buf[pos++] = comma; + pos = encodeInteger(buf, pos, state, segment, 0); // genColumn + if (segment.length === 1) + continue; + pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex + pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine + pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn + if (segment.length === 4) + continue; + pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex + } + } + return out + td.decode(buf.subarray(0, pos)); +} +function encodeInteger(buf, pos, state, segment, j) { + const next = segment[j]; + let num = next - state[j]; + state[j] = next; + num = num < 0 ? (-num << 1) | 1 : num << 1; + do { + let clamped = num & 0b011111; + num >>>= 5; + if (num > 0) + clamped |= 0b100000; + buf[pos++] = intToChar[clamped]; + } while (num > 0); + return pos; +} + +class BitSet { + constructor(arg) { + this.bits = arg instanceof BitSet ? arg.bits.slice() : []; + } + + add(n) { + this.bits[n >> 5] |= 1 << (n & 31); + } + + has(n) { + return !!(this.bits[n >> 5] & (1 << (n & 31))); + } +} + +let Chunk$1 = class Chunk { + constructor(start, end, content) { + this.start = start; + this.end = end; + this.original = content; + + this.intro = ''; + this.outro = ''; + + this.content = content; + this.storeName = false; + this.edited = false; + + { + this.previous = null; + this.next = null; + } + } + + appendLeft(content) { + this.outro += content; + } + + appendRight(content) { + this.intro = this.intro + content; + } + + clone() { + const chunk = new Chunk(this.start, this.end, this.original); + + chunk.intro = this.intro; + chunk.outro = this.outro; + chunk.content = this.content; + chunk.storeName = this.storeName; + chunk.edited = this.edited; + + return chunk; + } + + contains(index) { + return this.start < index && index < this.end; + } + + eachNext(fn) { + let chunk = this; + while (chunk) { + fn(chunk); + chunk = chunk.next; + } + } + + eachPrevious(fn) { + let chunk = this; + while (chunk) { + fn(chunk); + chunk = chunk.previous; + } + } + + edit(content, storeName, contentOnly) { + this.content = content; + if (!contentOnly) { + this.intro = ''; + this.outro = ''; + } + this.storeName = storeName; + + this.edited = true; + + return this; + } + + prependLeft(content) { + this.outro = content + this.outro; + } + + prependRight(content) { + this.intro = content + this.intro; + } + + reset() { + this.intro = ''; + this.outro = ''; + if (this.edited) { + this.content = this.original; + this.storeName = false; + this.edited = false; + } + } + + split(index) { + const sliceIndex = index - this.start; + + const originalBefore = this.original.slice(0, sliceIndex); + const originalAfter = this.original.slice(sliceIndex); + + this.original = originalBefore; + + const newChunk = new Chunk(index, this.end, originalAfter); + newChunk.outro = this.outro; + this.outro = ''; + + this.end = index; + + if (this.edited) { + // after split we should save the edit content record into the correct chunk + // to make sure sourcemap correct + // For example: + // ' test'.trim() + // split -> ' ' + 'test' + // ✔️ edit -> '' + 'test' + // ✖️ edit -> 'test' + '' + // TODO is this block necessary?... + newChunk.edit('', false); + this.content = ''; + } else { + this.content = originalBefore; + } + + newChunk.next = this.next; + if (newChunk.next) newChunk.next.previous = newChunk; + newChunk.previous = this; + this.next = newChunk; + + return newChunk; + } + + toString() { + return this.intro + this.content + this.outro; + } + + trimEnd(rx) { + this.outro = this.outro.replace(rx, ''); + if (this.outro.length) return true; + + const trimmed = this.content.replace(rx, ''); + + if (trimmed.length) { + if (trimmed !== this.content) { + this.split(this.start + trimmed.length).edit('', undefined, true); + if (this.edited) { + // save the change, if it has been edited + this.edit(trimmed, this.storeName, true); + } + } + return true; + } else { + this.edit('', undefined, true); + + this.intro = this.intro.replace(rx, ''); + if (this.intro.length) return true; + } + } + + trimStart(rx) { + this.intro = this.intro.replace(rx, ''); + if (this.intro.length) return true; + + const trimmed = this.content.replace(rx, ''); + + if (trimmed.length) { + if (trimmed !== this.content) { + const newChunk = this.split(this.end - trimmed.length); + if (this.edited) { + // save the change, if it has been edited + newChunk.edit(trimmed, this.storeName, true); + } + this.edit('', undefined, true); + } + return true; + } else { + this.edit('', undefined, true); + + this.outro = this.outro.replace(rx, ''); + if (this.outro.length) return true; + } + } +}; + +function getBtoa() { + if (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') { + return (str) => globalThis.btoa(unescape(encodeURIComponent(str))); + } else if (typeof Buffer === 'function') { + return (str) => Buffer.from(str, 'utf-8').toString('base64'); + } else { + return () => { + throw new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.'); + }; + } +} + +const btoa = /*#__PURE__*/ getBtoa(); + +class SourceMap { + constructor(properties) { + this.version = 3; + this.file = properties.file; + this.sources = properties.sources; + this.sourcesContent = properties.sourcesContent; + this.names = properties.names; + this.mappings = encode(properties.mappings); + if (typeof properties.x_google_ignoreList !== 'undefined') { + this.x_google_ignoreList = properties.x_google_ignoreList; + } + } + + toString() { + return JSON.stringify(this); + } + + toUrl() { + return 'data:application/json;charset=utf-8;base64,' + btoa(this.toString()); + } +} + +function guessIndent(code) { + const lines = code.split('\n'); + + const tabbed = lines.filter((line) => /^\t+/.test(line)); + const spaced = lines.filter((line) => /^ {2,}/.test(line)); + + if (tabbed.length === 0 && spaced.length === 0) { + return null; + } + + // More lines tabbed than spaced? Assume tabs, and + // default to tabs in the case of a tie (or nothing + // to go on) + if (tabbed.length >= spaced.length) { + return '\t'; + } + + // Otherwise, we need to guess the multiple + const min = spaced.reduce((previous, current) => { + const numSpaces = /^ +/.exec(current)[0].length; + return Math.min(numSpaces, previous); + }, Infinity); + + return new Array(min + 1).join(' '); +} + +function getRelativePath(from, to) { + const fromParts = from.split(/[/\\]/); + const toParts = to.split(/[/\\]/); + + fromParts.pop(); // get dirname + + while (fromParts[0] === toParts[0]) { + fromParts.shift(); + toParts.shift(); + } + + if (fromParts.length) { + let i = fromParts.length; + while (i--) fromParts[i] = '..'; + } + + return fromParts.concat(toParts).join('/'); +} + +const toString = Object.prototype.toString; + +function isObject$1(thing) { + return toString.call(thing) === '[object Object]'; +} + +function getLocator(source) { + const originalLines = source.split('\n'); + const lineOffsets = []; + + for (let i = 0, pos = 0; i < originalLines.length; i++) { + lineOffsets.push(pos); + pos += originalLines[i].length + 1; + } + + return function locate(index) { + let i = 0; + let j = lineOffsets.length; + while (i < j) { + const m = (i + j) >> 1; + if (index < lineOffsets[m]) { + j = m; + } else { + i = m + 1; + } + } + const line = i - 1; + const column = index - lineOffsets[line]; + return { line, column }; + }; +} + +const wordRegex = /\w/; + +class Mappings { + constructor(hires) { + this.hires = hires; + this.generatedCodeLine = 0; + this.generatedCodeColumn = 0; + this.raw = []; + this.rawSegments = this.raw[this.generatedCodeLine] = []; + this.pending = null; + } + + addEdit(sourceIndex, content, loc, nameIndex) { + if (content.length) { + let contentLineEnd = content.indexOf('\n', 0); + let previousContentLineEnd = -1; + while (contentLineEnd >= 0) { + const segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column]; + if (nameIndex >= 0) { + segment.push(nameIndex); + } + this.rawSegments.push(segment); + + this.generatedCodeLine += 1; + this.raw[this.generatedCodeLine] = this.rawSegments = []; + this.generatedCodeColumn = 0; + + previousContentLineEnd = contentLineEnd; + contentLineEnd = content.indexOf('\n', contentLineEnd + 1); + } + + const segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column]; + if (nameIndex >= 0) { + segment.push(nameIndex); + } + this.rawSegments.push(segment); + + this.advance(content.slice(previousContentLineEnd + 1)); + } else if (this.pending) { + this.rawSegments.push(this.pending); + this.advance(content); + } + + this.pending = null; + } + + addUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) { + let originalCharIndex = chunk.start; + let first = true; + // when iterating each char, check if it's in a word boundary + let charInHiresBoundary = false; + + while (originalCharIndex < chunk.end) { + if (this.hires || first || sourcemapLocations.has(originalCharIndex)) { + const segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column]; + + if (this.hires === 'boundary') { + // in hires "boundary", group segments per word boundary than per char + if (wordRegex.test(original[originalCharIndex])) { + // for first char in the boundary found, start the boundary by pushing a segment + if (!charInHiresBoundary) { + this.rawSegments.push(segment); + charInHiresBoundary = true; + } + } else { + // for non-word char, end the boundary by pushing a segment + this.rawSegments.push(segment); + charInHiresBoundary = false; + } + } else { + this.rawSegments.push(segment); + } + } + + if (original[originalCharIndex] === '\n') { + loc.line += 1; + loc.column = 0; + this.generatedCodeLine += 1; + this.raw[this.generatedCodeLine] = this.rawSegments = []; + this.generatedCodeColumn = 0; + first = true; + } else { + loc.column += 1; + this.generatedCodeColumn += 1; + first = false; + } + + originalCharIndex += 1; + } + + this.pending = null; + } + + advance(str) { + if (!str) return; + + const lines = str.split('\n'); + + if (lines.length > 1) { + for (let i = 0; i < lines.length - 1; i++) { + this.generatedCodeLine++; + this.raw[this.generatedCodeLine] = this.rawSegments = []; + } + this.generatedCodeColumn = 0; + } + + this.generatedCodeColumn += lines[lines.length - 1].length; + } +} + +const n = '\n'; + +const warned = { + insertLeft: false, + insertRight: false, + storeName: false, +}; + +class MagicString { + constructor(string, options = {}) { + const chunk = new Chunk$1(0, string.length, string); + + Object.defineProperties(this, { + original: { writable: true, value: string }, + outro: { writable: true, value: '' }, + intro: { writable: true, value: '' }, + firstChunk: { writable: true, value: chunk }, + lastChunk: { writable: true, value: chunk }, + lastSearchedChunk: { writable: true, value: chunk }, + byStart: { writable: true, value: {} }, + byEnd: { writable: true, value: {} }, + filename: { writable: true, value: options.filename }, + indentExclusionRanges: { writable: true, value: options.indentExclusionRanges }, + sourcemapLocations: { writable: true, value: new BitSet() }, + storedNames: { writable: true, value: {} }, + indentStr: { writable: true, value: undefined }, + ignoreList: { writable: true, value: options.ignoreList }, + }); + + this.byStart[0] = chunk; + this.byEnd[string.length] = chunk; + } + + addSourcemapLocation(char) { + this.sourcemapLocations.add(char); + } + + append(content) { + if (typeof content !== 'string') throw new TypeError('outro content must be a string'); + + this.outro += content; + return this; + } + + appendLeft(index, content) { + if (typeof content !== 'string') throw new TypeError('inserted content must be a string'); + + this._split(index); + + const chunk = this.byEnd[index]; + + if (chunk) { + chunk.appendLeft(content); + } else { + this.intro += content; + } + return this; + } + + appendRight(index, content) { + if (typeof content !== 'string') throw new TypeError('inserted content must be a string'); + + this._split(index); + + const chunk = this.byStart[index]; + + if (chunk) { + chunk.appendRight(content); + } else { + this.outro += content; + } + return this; + } + + clone() { + const cloned = new MagicString(this.original, { filename: this.filename }); + + let originalChunk = this.firstChunk; + let clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone()); + + while (originalChunk) { + cloned.byStart[clonedChunk.start] = clonedChunk; + cloned.byEnd[clonedChunk.end] = clonedChunk; + + const nextOriginalChunk = originalChunk.next; + const nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone(); + + if (nextClonedChunk) { + clonedChunk.next = nextClonedChunk; + nextClonedChunk.previous = clonedChunk; + + clonedChunk = nextClonedChunk; + } + + originalChunk = nextOriginalChunk; + } + + cloned.lastChunk = clonedChunk; + + if (this.indentExclusionRanges) { + cloned.indentExclusionRanges = this.indentExclusionRanges.slice(); + } + + cloned.sourcemapLocations = new BitSet(this.sourcemapLocations); + + cloned.intro = this.intro; + cloned.outro = this.outro; + + return cloned; + } + + generateDecodedMap(options) { + options = options || {}; + + const sourceIndex = 0; + const names = Object.keys(this.storedNames); + const mappings = new Mappings(options.hires); + + const locate = getLocator(this.original); + + if (this.intro) { + mappings.advance(this.intro); + } + + this.firstChunk.eachNext((chunk) => { + const loc = locate(chunk.start); + + if (chunk.intro.length) mappings.advance(chunk.intro); + + if (chunk.edited) { + mappings.addEdit( + sourceIndex, + chunk.content, + loc, + chunk.storeName ? names.indexOf(chunk.original) : -1, + ); + } else { + mappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations); + } + + if (chunk.outro.length) mappings.advance(chunk.outro); + }); + + return { + file: options.file ? options.file.split(/[/\\]/).pop() : undefined, + sources: [ + options.source ? getRelativePath(options.file || '', options.source) : options.file || '', + ], + sourcesContent: options.includeContent ? [this.original] : undefined, + names, + mappings: mappings.raw, + x_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined, + }; + } + + generateMap(options) { + return new SourceMap(this.generateDecodedMap(options)); + } + + _ensureindentStr() { + if (this.indentStr === undefined) { + this.indentStr = guessIndent(this.original); + } + } + + _getRawIndentString() { + this._ensureindentStr(); + return this.indentStr; + } + + getIndentString() { + this._ensureindentStr(); + return this.indentStr === null ? '\t' : this.indentStr; + } + + indent(indentStr, options) { + const pattern = /^[^\r\n]/gm; + + if (isObject$1(indentStr)) { + options = indentStr; + indentStr = undefined; + } + + if (indentStr === undefined) { + this._ensureindentStr(); + indentStr = this.indentStr || '\t'; + } + + if (indentStr === '') return this; // noop + + options = options || {}; + + // Process exclusion ranges + const isExcluded = {}; + + if (options.exclude) { + const exclusions = + typeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude; + exclusions.forEach((exclusion) => { + for (let i = exclusion[0]; i < exclusion[1]; i += 1) { + isExcluded[i] = true; + } + }); + } + + let shouldIndentNextCharacter = options.indentStart !== false; + const replacer = (match) => { + if (shouldIndentNextCharacter) return `${indentStr}${match}`; + shouldIndentNextCharacter = true; + return match; + }; + + this.intro = this.intro.replace(pattern, replacer); + + let charIndex = 0; + let chunk = this.firstChunk; + + while (chunk) { + const end = chunk.end; + + if (chunk.edited) { + if (!isExcluded[charIndex]) { + chunk.content = chunk.content.replace(pattern, replacer); + + if (chunk.content.length) { + shouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\n'; + } + } + } else { + charIndex = chunk.start; + + while (charIndex < end) { + if (!isExcluded[charIndex]) { + const char = this.original[charIndex]; + + if (char === '\n') { + shouldIndentNextCharacter = true; + } else if (char !== '\r' && shouldIndentNextCharacter) { + shouldIndentNextCharacter = false; + + if (charIndex === chunk.start) { + chunk.prependRight(indentStr); + } else { + this._splitChunk(chunk, charIndex); + chunk = chunk.next; + chunk.prependRight(indentStr); + } + } + } + + charIndex += 1; + } + } + + charIndex = chunk.end; + chunk = chunk.next; + } + + this.outro = this.outro.replace(pattern, replacer); + + return this; + } + + insert() { + throw new Error( + 'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)', + ); + } + + insertLeft(index, content) { + if (!warned.insertLeft) { + console.warn( + 'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead', + ); // eslint-disable-line no-console + warned.insertLeft = true; + } + + return this.appendLeft(index, content); + } + + insertRight(index, content) { + if (!warned.insertRight) { + console.warn( + 'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead', + ); // eslint-disable-line no-console + warned.insertRight = true; + } + + return this.prependRight(index, content); + } + + move(start, end, index) { + if (index >= start && index <= end) throw new Error('Cannot move a selection inside itself'); + + this._split(start); + this._split(end); + this._split(index); + + const first = this.byStart[start]; + const last = this.byEnd[end]; + + const oldLeft = first.previous; + const oldRight = last.next; + + const newRight = this.byStart[index]; + if (!newRight && last === this.lastChunk) return this; + const newLeft = newRight ? newRight.previous : this.lastChunk; + + if (oldLeft) oldLeft.next = oldRight; + if (oldRight) oldRight.previous = oldLeft; + + if (newLeft) newLeft.next = first; + if (newRight) newRight.previous = last; + + if (!first.previous) this.firstChunk = last.next; + if (!last.next) { + this.lastChunk = first.previous; + this.lastChunk.next = null; + } + + first.previous = newLeft; + last.next = newRight || null; + + if (!newLeft) this.firstChunk = first; + if (!newRight) this.lastChunk = last; + return this; + } + + overwrite(start, end, content, options) { + options = options || {}; + return this.update(start, end, content, { ...options, overwrite: !options.contentOnly }); + } + + update(start, end, content, options) { + if (typeof content !== 'string') throw new TypeError('replacement content must be a string'); + + while (start < 0) start += this.original.length; + while (end < 0) end += this.original.length; + + if (end > this.original.length) throw new Error('end is out of bounds'); + if (start === end) + throw new Error( + 'Cannot overwrite a zero-length range – use appendLeft or prependRight instead', + ); + + this._split(start); + this._split(end); + + if (options === true) { + if (!warned.storeName) { + console.warn( + 'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string', + ); // eslint-disable-line no-console + warned.storeName = true; + } + + options = { storeName: true }; + } + const storeName = options !== undefined ? options.storeName : false; + const overwrite = options !== undefined ? options.overwrite : false; + + if (storeName) { + const original = this.original.slice(start, end); + Object.defineProperty(this.storedNames, original, { + writable: true, + value: true, + enumerable: true, + }); + } + + const first = this.byStart[start]; + const last = this.byEnd[end]; + + if (first) { + let chunk = first; + while (chunk !== last) { + if (chunk.next !== this.byStart[chunk.end]) { + throw new Error('Cannot overwrite across a split point'); + } + chunk = chunk.next; + chunk.edit('', false); + } + + first.edit(content, storeName, !overwrite); + } else { + // must be inserting at the end + const newChunk = new Chunk$1(start, end, '').edit(content, storeName); + + // TODO last chunk in the array may not be the last chunk, if it's moved... + last.next = newChunk; + newChunk.previous = last; + } + return this; + } + + prepend(content) { + if (typeof content !== 'string') throw new TypeError('outro content must be a string'); + + this.intro = content + this.intro; + return this; + } + + prependLeft(index, content) { + if (typeof content !== 'string') throw new TypeError('inserted content must be a string'); + + this._split(index); + + const chunk = this.byEnd[index]; + + if (chunk) { + chunk.prependLeft(content); + } else { + this.intro = content + this.intro; + } + return this; + } + + prependRight(index, content) { + if (typeof content !== 'string') throw new TypeError('inserted content must be a string'); + + this._split(index); + + const chunk = this.byStart[index]; + + if (chunk) { + chunk.prependRight(content); + } else { + this.outro = content + this.outro; + } + return this; + } + + remove(start, end) { + while (start < 0) start += this.original.length; + while (end < 0) end += this.original.length; + + if (start === end) return this; + + if (start < 0 || end > this.original.length) throw new Error('Character is out of bounds'); + if (start > end) throw new Error('end must be greater than start'); + + this._split(start); + this._split(end); + + let chunk = this.byStart[start]; + + while (chunk) { + chunk.intro = ''; + chunk.outro = ''; + chunk.edit(''); + + chunk = end > chunk.end ? this.byStart[chunk.end] : null; + } + return this; + } + + reset(start, end) { + while (start < 0) start += this.original.length; + while (end < 0) end += this.original.length; + + if (start === end) return this; + + if (start < 0 || end > this.original.length) throw new Error('Character is out of bounds'); + if (start > end) throw new Error('end must be greater than start'); + + this._split(start); + this._split(end); + + let chunk = this.byStart[start]; + + while (chunk) { + chunk.reset(); + + chunk = end > chunk.end ? this.byStart[chunk.end] : null; + } + return this; + } + + lastChar() { + if (this.outro.length) return this.outro[this.outro.length - 1]; + let chunk = this.lastChunk; + do { + if (chunk.outro.length) return chunk.outro[chunk.outro.length - 1]; + if (chunk.content.length) return chunk.content[chunk.content.length - 1]; + if (chunk.intro.length) return chunk.intro[chunk.intro.length - 1]; + } while ((chunk = chunk.previous)); + if (this.intro.length) return this.intro[this.intro.length - 1]; + return ''; + } + + lastLine() { + let lineIndex = this.outro.lastIndexOf(n); + if (lineIndex !== -1) return this.outro.substr(lineIndex + 1); + let lineStr = this.outro; + let chunk = this.lastChunk; + do { + if (chunk.outro.length > 0) { + lineIndex = chunk.outro.lastIndexOf(n); + if (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr; + lineStr = chunk.outro + lineStr; + } + + if (chunk.content.length > 0) { + lineIndex = chunk.content.lastIndexOf(n); + if (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr; + lineStr = chunk.content + lineStr; + } + + if (chunk.intro.length > 0) { + lineIndex = chunk.intro.lastIndexOf(n); + if (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr; + lineStr = chunk.intro + lineStr; + } + } while ((chunk = chunk.previous)); + lineIndex = this.intro.lastIndexOf(n); + if (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr; + return this.intro + lineStr; + } + + slice(start = 0, end = this.original.length) { + while (start < 0) start += this.original.length; + while (end < 0) end += this.original.length; + + let result = ''; + + // find start chunk + let chunk = this.firstChunk; + while (chunk && (chunk.start > start || chunk.end <= start)) { + // found end chunk before start + if (chunk.start < end && chunk.end >= end) { + return result; + } + + chunk = chunk.next; + } + + if (chunk && chunk.edited && chunk.start !== start) + throw new Error(`Cannot use replaced character ${start} as slice start anchor.`); + + const startChunk = chunk; + while (chunk) { + if (chunk.intro && (startChunk !== chunk || chunk.start === start)) { + result += chunk.intro; + } + + const containsEnd = chunk.start < end && chunk.end >= end; + if (containsEnd && chunk.edited && chunk.end !== end) + throw new Error(`Cannot use replaced character ${end} as slice end anchor.`); + + const sliceStart = startChunk === chunk ? start - chunk.start : 0; + const sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length; + + result += chunk.content.slice(sliceStart, sliceEnd); + + if (chunk.outro && (!containsEnd || chunk.end === end)) { + result += chunk.outro; + } + + if (containsEnd) { + break; + } + + chunk = chunk.next; + } + + return result; + } + + // TODO deprecate this? not really very useful + snip(start, end) { + const clone = this.clone(); + clone.remove(0, start); + clone.remove(end, clone.original.length); + + return clone; + } + + _split(index) { + if (this.byStart[index] || this.byEnd[index]) return; + + let chunk = this.lastSearchedChunk; + const searchForward = index > chunk.end; + + while (chunk) { + if (chunk.contains(index)) return this._splitChunk(chunk, index); + + chunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start]; + } + } + + _splitChunk(chunk, index) { + if (chunk.edited && chunk.content.length) { + // zero-length edited chunks are a special case (overlapping replacements) + const loc = getLocator(this.original)(index); + throw new Error( + `Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – "${chunk.original}")`, + ); + } + + const newChunk = chunk.split(index); + + this.byEnd[index] = chunk; + this.byStart[index] = newChunk; + this.byEnd[newChunk.end] = newChunk; + + if (chunk === this.lastChunk) this.lastChunk = newChunk; + + this.lastSearchedChunk = chunk; + return true; + } + + toString() { + let str = this.intro; + + let chunk = this.firstChunk; + while (chunk) { + str += chunk.toString(); + chunk = chunk.next; + } + + return str + this.outro; + } + + isEmpty() { + let chunk = this.firstChunk; + do { + if ( + (chunk.intro.length && chunk.intro.trim()) || + (chunk.content.length && chunk.content.trim()) || + (chunk.outro.length && chunk.outro.trim()) + ) + return false; + } while ((chunk = chunk.next)); + return true; + } + + length() { + let chunk = this.firstChunk; + let length = 0; + do { + length += chunk.intro.length + chunk.content.length + chunk.outro.length; + } while ((chunk = chunk.next)); + return length; + } + + trimLines() { + return this.trim('[\\r\\n]'); + } + + trim(charType) { + return this.trimStart(charType).trimEnd(charType); + } + + trimEndAborted(charType) { + const rx = new RegExp((charType || '\\s') + '+$'); + + this.outro = this.outro.replace(rx, ''); + if (this.outro.length) return true; + + let chunk = this.lastChunk; + + do { + const end = chunk.end; + const aborted = chunk.trimEnd(rx); + + // if chunk was trimmed, we have a new lastChunk + if (chunk.end !== end) { + if (this.lastChunk === chunk) { + this.lastChunk = chunk.next; + } + + this.byEnd[chunk.end] = chunk; + this.byStart[chunk.next.start] = chunk.next; + this.byEnd[chunk.next.end] = chunk.next; + } + + if (aborted) return true; + chunk = chunk.previous; + } while (chunk); + + return false; + } + + trimEnd(charType) { + this.trimEndAborted(charType); + return this; + } + trimStartAborted(charType) { + const rx = new RegExp('^' + (charType || '\\s') + '+'); + + this.intro = this.intro.replace(rx, ''); + if (this.intro.length) return true; + + let chunk = this.firstChunk; + + do { + const end = chunk.end; + const aborted = chunk.trimStart(rx); + + if (chunk.end !== end) { + // special case... + if (chunk === this.lastChunk) this.lastChunk = chunk.next; + + this.byEnd[chunk.end] = chunk; + this.byStart[chunk.next.start] = chunk.next; + this.byEnd[chunk.next.end] = chunk.next; + } + + if (aborted) return true; + chunk = chunk.next; + } while (chunk); + + return false; + } + + trimStart(charType) { + this.trimStartAborted(charType); + return this; + } + + hasChanged() { + return this.original !== this.toString(); + } + + _replaceRegexp(searchValue, replacement) { + function getReplacement(match, str) { + if (typeof replacement === 'string') { + return replacement.replace(/\$(\$|&|\d+)/g, (_, i) => { + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter + if (i === '$') return '$'; + if (i === '&') return match[0]; + const num = +i; + if (num < match.length) return match[+i]; + return `$${i}`; + }); + } else { + return replacement(...match, match.index, str, match.groups); + } + } + function matchAll(re, str) { + let match; + const matches = []; + while ((match = re.exec(str))) { + matches.push(match); + } + return matches; + } + if (searchValue.global) { + const matches = matchAll(searchValue, this.original); + matches.forEach((match) => { + if (match.index != null) + this.overwrite( + match.index, + match.index + match[0].length, + getReplacement(match, this.original), + ); + }); + } else { + const match = this.original.match(searchValue); + if (match && match.index != null) + this.overwrite( + match.index, + match.index + match[0].length, + getReplacement(match, this.original), + ); + } + return this; + } + + _replaceString(string, replacement) { + const { original } = this; + const index = original.indexOf(string); + + if (index !== -1) { + this.overwrite(index, index + string.length, replacement); + } + + return this; + } + + replace(searchValue, replacement) { + if (typeof searchValue === 'string') { + return this._replaceString(searchValue, replacement); + } + + return this._replaceRegexp(searchValue, replacement); + } + + _replaceAllString(string, replacement) { + const { original } = this; + const stringLength = string.length; + for ( + let index = original.indexOf(string); + index !== -1; + index = original.indexOf(string, index + stringLength) + ) { + this.overwrite(index, index + stringLength, replacement); + } + + return this; + } + + replaceAll(searchValue, replacement) { + if (typeof searchValue === 'string') { + return this._replaceAllString(searchValue, replacement); + } + + if (!searchValue.global) { + throw new TypeError( + 'MagicString.prototype.replaceAll called with a non-global RegExp argument', + ); + } + + return this._replaceRegexp(searchValue, replacement); + } +} + +const hasOwnProp = Object.prototype.hasOwnProperty; + +let Bundle$1 = class Bundle { + constructor(options = {}) { + this.intro = options.intro || ''; + this.separator = options.separator !== undefined ? options.separator : '\n'; + this.sources = []; + this.uniqueSources = []; + this.uniqueSourceIndexByFilename = {}; + } + + addSource(source) { + if (source instanceof MagicString) { + return this.addSource({ + content: source, + filename: source.filename, + separator: this.separator, + }); + } + + if (!isObject$1(source) || !source.content) { + throw new Error( + 'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`', + ); + } + + ['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => { + if (!hasOwnProp.call(source, option)) source[option] = source.content[option]; + }); + + if (source.separator === undefined) { + // TODO there's a bunch of this sort of thing, needs cleaning up + source.separator = this.separator; + } + + if (source.filename) { + if (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) { + this.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length; + this.uniqueSources.push({ filename: source.filename, content: source.content.original }); + } else { + const uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]]; + if (source.content.original !== uniqueSource.content) { + throw new Error(`Illegal source: same filename (${source.filename}), different contents`); + } + } + } + + this.sources.push(source); + return this; + } + + append(str, options) { + this.addSource({ + content: new MagicString(str), + separator: (options && options.separator) || '', + }); + + return this; + } + + clone() { + const bundle = new Bundle({ + intro: this.intro, + separator: this.separator, + }); + + this.sources.forEach((source) => { + bundle.addSource({ + filename: source.filename, + content: source.content.clone(), + separator: source.separator, + }); + }); + + return bundle; + } + + generateDecodedMap(options = {}) { + const names = []; + let x_google_ignoreList = undefined; + this.sources.forEach((source) => { + Object.keys(source.content.storedNames).forEach((name) => { + if (!~names.indexOf(name)) names.push(name); + }); + }); + + const mappings = new Mappings(options.hires); + + if (this.intro) { + mappings.advance(this.intro); + } + + this.sources.forEach((source, i) => { + if (i > 0) { + mappings.advance(this.separator); + } + + const sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1; + const magicString = source.content; + const locate = getLocator(magicString.original); + + if (magicString.intro) { + mappings.advance(magicString.intro); + } + + magicString.firstChunk.eachNext((chunk) => { + const loc = locate(chunk.start); + + if (chunk.intro.length) mappings.advance(chunk.intro); + + if (source.filename) { + if (chunk.edited) { + mappings.addEdit( + sourceIndex, + chunk.content, + loc, + chunk.storeName ? names.indexOf(chunk.original) : -1, + ); + } else { + mappings.addUneditedChunk( + sourceIndex, + chunk, + magicString.original, + loc, + magicString.sourcemapLocations, + ); + } + } else { + mappings.advance(chunk.content); + } + + if (chunk.outro.length) mappings.advance(chunk.outro); + }); + + if (magicString.outro) { + mappings.advance(magicString.outro); + } + + if (source.ignoreList && sourceIndex !== -1) { + if (x_google_ignoreList === undefined) { + x_google_ignoreList = []; + } + x_google_ignoreList.push(sourceIndex); + } + }); + + return { + file: options.file ? options.file.split(/[/\\]/).pop() : undefined, + sources: this.uniqueSources.map((source) => { + return options.file ? getRelativePath(options.file, source.filename) : source.filename; + }), + sourcesContent: this.uniqueSources.map((source) => { + return options.includeContent ? source.content : null; + }), + names, + mappings: mappings.raw, + x_google_ignoreList, + }; + } + + generateMap(options) { + return new SourceMap(this.generateDecodedMap(options)); + } + + getIndentString() { + const indentStringCounts = {}; + + this.sources.forEach((source) => { + const indentStr = source.content._getRawIndentString(); + + if (indentStr === null) return; + + if (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0; + indentStringCounts[indentStr] += 1; + }); + + return ( + Object.keys(indentStringCounts).sort((a, b) => { + return indentStringCounts[a] - indentStringCounts[b]; + })[0] || '\t' + ); + } + + indent(indentStr) { + if (!arguments.length) { + indentStr = this.getIndentString(); + } + + if (indentStr === '') return this; // noop + + let trailingNewline = !this.intro || this.intro.slice(-1) === '\n'; + + this.sources.forEach((source, i) => { + const separator = source.separator !== undefined ? source.separator : this.separator; + const indentStart = trailingNewline || (i > 0 && /\r?\n$/.test(separator)); + + source.content.indent(indentStr, { + exclude: source.indentExclusionRanges, + indentStart, //: trailingNewline || /\r?\n$/.test( separator ) //true///\r?\n/.test( separator ) + }); + + trailingNewline = source.content.lastChar() === '\n'; + }); + + if (this.intro) { + this.intro = + indentStr + + this.intro.replace(/^[^\n]/gm, (match, index) => { + return index > 0 ? indentStr + match : match; + }); + } + + return this; + } + + prepend(str) { + this.intro = str + this.intro; + return this; + } + + toString() { + const body = this.sources + .map((source, i) => { + const separator = source.separator !== undefined ? source.separator : this.separator; + const str = (i > 0 ? separator : '') + source.content.toString(); + + return str; + }) + .join(''); + + return this.intro + body; + } + + isEmpty() { + if (this.intro.length && this.intro.trim()) return false; + if (this.sources.some((source) => !source.content.isEmpty())) return false; + return true; + } + + length() { + return this.sources.reduce( + (length, source) => length + source.content.length(), + this.intro.length, + ); + } + + trimLines() { + return this.trim('[\\r\\n]'); + } + + trim(charType) { + return this.trimStart(charType).trimEnd(charType); + } + + trimStart(charType) { + const rx = new RegExp('^' + (charType || '\\s') + '+'); + this.intro = this.intro.replace(rx, ''); + + if (!this.intro) { + let source; + let i = 0; + + do { + source = this.sources[i++]; + if (!source) { + break; + } + } while (!source.content.trimStartAborted(charType)); + } + + return this; + } + + trimEnd(charType) { + const rx = new RegExp((charType || '\\s') + '+$'); + + let source; + let i = this.sources.length - 1; + + do { + source = this.sources[i--]; + if (!source) { + this.intro = this.intro.replace(rx, ''); + break; + } + } while (!source.content.trimEndAborted(charType)); + + return this; + } +}; + +const needsEscapeRegEx = /[\n\r'\\\u2028\u2029]/; +const quoteNewlineRegEx = /([\n\r'\u2028\u2029])/g; +const backSlashRegEx = /\\/g; +function escapeId(id) { + if (!needsEscapeRegEx.test(id)) + return id; + return id.replace(backSlashRegEx, '\\\\').replace(quoteNewlineRegEx, '\\$1'); +} + +class ExternalChunk { + constructor(module, options, inputBase) { + this.options = options; + this.inputBase = inputBase; + this.defaultVariableName = ''; + this.namespaceVariableName = ''; + this.variableName = ''; + this.fileName = null; + this.importAttributes = null; + this.id = module.id; + this.moduleInfo = module.info; + this.renormalizeRenderPath = module.renormalizeRenderPath; + this.suggestedVariableName = module.suggestedVariableName; + } + getFileName() { + if (this.fileName) { + return this.fileName; + } + const { paths } = this.options; + return (this.fileName = + (typeof paths === 'function' ? paths(this.id) : paths[this.id]) || + (this.renormalizeRenderPath ? normalize(relative(this.inputBase, this.id)) : this.id)); + } + getImportAttributes(snippets) { + return (this.importAttributes ||= formatAttributes(this.options.format === 'es' && + this.options.externalImportAttributes && + this.moduleInfo.attributes, snippets)); + } + getImportPath(importer) { + return escapeId(this.renormalizeRenderPath + ? getImportPath(importer, this.getFileName(), this.options.format === 'amd', false) + : this.getFileName()); + } +} +function formatAttributes(attributes, { getObject }) { + if (!attributes) { + return null; + } + const assertionEntries = Object.entries(attributes).map(([key, value]) => [key, `'${value}'`]); + if (assertionEntries.length > 0) { + return getObject(assertionEntries, { lineBreakIndent: null }); + } + return null; +} + +function getOrCreate(map, key, init) { + const existing = map.get(key); + if (existing !== undefined) { + return existing; + } + const value = init(); + map.set(key, value); + return value; +} +function getNewSet() { + return new Set(); +} +function getNewArray() { + return []; +} + +const UnknownKey = Symbol('Unknown Key'); +const UnknownNonAccessorKey = Symbol('Unknown Non-Accessor Key'); +const UnknownInteger = Symbol('Unknown Integer'); +const SymbolToStringTag = Symbol('Symbol.toStringTag'); +const EMPTY_PATH = []; +const UNKNOWN_PATH = [UnknownKey]; +// For deoptimizations, this means we are modifying an unknown property but did +// not lose track of the object or are creating a setter/getter; +// For assignment effects it means we do not check for setter/getter effects +// but only if something is mutated that is included, which is relevant for +// Object.defineProperty +const UNKNOWN_NON_ACCESSOR_PATH = [UnknownNonAccessorKey]; +const UNKNOWN_INTEGER_PATH = [UnknownInteger]; +const EntitiesKey = Symbol('Entities'); +class PathTracker { + constructor() { + this.entityPaths = Object.create(null, { + [EntitiesKey]: { value: new Set() } + }); + } + trackEntityAtPathAndGetIfTracked(path, entity) { + const trackedEntities = this.getEntities(path); + if (trackedEntities.has(entity)) + return true; + trackedEntities.add(entity); + return false; + } + withTrackedEntityAtPath(path, entity, onUntracked, returnIfTracked) { + const trackedEntities = this.getEntities(path); + if (trackedEntities.has(entity)) + return returnIfTracked; + trackedEntities.add(entity); + const result = onUntracked(); + trackedEntities.delete(entity); + return result; + } + getEntities(path) { + let currentPaths = this.entityPaths; + for (const pathSegment of path) { + currentPaths = currentPaths[pathSegment] = + currentPaths[pathSegment] || + Object.create(null, { [EntitiesKey]: { value: new Set() } }); + } + return currentPaths[EntitiesKey]; + } +} +const SHARED_RECURSION_TRACKER = new PathTracker(); +class DiscriminatedPathTracker { + constructor() { + this.entityPaths = Object.create(null, { + [EntitiesKey]: { value: new Map() } + }); + } + trackEntityAtPathAndGetIfTracked(path, discriminator, entity) { + let currentPaths = this.entityPaths; + for (const pathSegment of path) { + currentPaths = currentPaths[pathSegment] = + currentPaths[pathSegment] || + Object.create(null, { [EntitiesKey]: { value: new Map() } }); + } + const trackedEntities = getOrCreate(currentPaths[EntitiesKey], discriminator, (getNewSet)); + if (trackedEntities.has(entity)) + return true; + trackedEntities.add(entity); + return false; + } +} + +function isFlagSet(flags, flag) { + return (flags & flag) !== 0; +} +function setFlag(flags, flag, value) { + return (flags & ~flag) | (-value & flag); +} + +const UnknownValue = Symbol('Unknown Value'); +const UnknownTruthyValue = Symbol('Unknown Truthy Value'); +class ExpressionEntity { + constructor() { + this.flags = 0; + } + get included() { + return isFlagSet(this.flags, 1 /* Flag.included */); + } + set included(value) { + this.flags = setFlag(this.flags, 1 /* Flag.included */, value); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, _path, _recursionTracker) { + deoptimizeInteraction(interaction); + } + deoptimizePath(_path) { } + /** + * If possible it returns a stringifyable literal value for this node that + * can be used for inlining or comparing values. Otherwise, it should return + * UnknownValue. + */ + getLiteralValueAtPath(_path, _recursionTracker, _origin) { + return UnknownValue; + } + getReturnExpressionWhenCalledAtPath(_path, _interaction, _recursionTracker, _origin) { + return UNKNOWN_RETURN_EXPRESSION; + } + hasEffectsOnInteractionAtPath(_path, _interaction, _context) { + return true; + } + include(_context, _includeChildrenRecursively, _options) { + this.included = true; + } + includeCallArguments(context, parameters) { + for (const argument of parameters) { + argument.include(context, false); + } + } + shouldBeIncluded(_context) { + return true; + } +} +const UNKNOWN_EXPRESSION = new (class UnknownExpression extends ExpressionEntity { +})(); +const UNKNOWN_RETURN_EXPRESSION = [ + UNKNOWN_EXPRESSION, + false +]; +const deoptimizeInteraction = (interaction) => { + for (const argument of interaction.args) { + argument?.deoptimizePath(UNKNOWN_PATH); + } +}; + +const INTERACTION_ACCESSED = 0; +const INTERACTION_ASSIGNED = 1; +const INTERACTION_CALLED = 2; +const NODE_INTERACTION_UNKNOWN_ACCESS = { + args: [null], + type: INTERACTION_ACCESSED +}; +const NODE_INTERACTION_UNKNOWN_ASSIGNMENT = { + args: [null, UNKNOWN_EXPRESSION], + type: INTERACTION_ASSIGNED +}; +// While this is technically a call without arguments, we can compare against +// this reference in places where precise values or this argument would make a +// difference +const NODE_INTERACTION_UNKNOWN_CALL = { + args: [null], + type: INTERACTION_CALLED, + withNew: false +}; + +class Variable extends ExpressionEntity { + constructor(name) { + super(); + this.name = name; + this.alwaysRendered = false; + this.forbiddenNames = null; + this.initReached = false; + this.isId = false; + this.isReassigned = false; + this.kind = null; + this.renderBaseName = null; + this.renderName = null; + } + /** + * Binds identifiers that reference this variable to this variable. + * Necessary to be able to change variable names. + */ + addReference(_identifier) { } + /** + * Prevent this variable from being renamed to this name to avoid name + * collisions + */ + forbidName(name) { + (this.forbiddenNames ||= new Set()).add(name); + } + getBaseVariableName() { + return (this.renderedLikeHoisted?.getBaseVariableName() || + this.renderBaseName || + this.renderName || + this.name); + } + getName(getPropertyAccess, useOriginalName) { + if (useOriginalName?.(this)) { + return this.name; + } + if (this.renderedLikeHoisted) { + return this.renderedLikeHoisted.getName(getPropertyAccess, useOriginalName); + } + const name = this.renderName || this.name; + return this.renderBaseName ? `${this.renderBaseName}${getPropertyAccess(name)}` : name; + } + hasEffectsOnInteractionAtPath(path, { type }, _context) { + return type !== INTERACTION_ACCESSED || path.length > 0; + } + /** + * Marks this variable as being part of the bundle, which is usually the case when one of + * its identifiers becomes part of the bundle. Returns true if it has not been included + * previously. + * Once a variable is included, it should take care all its declarations are included. + */ + include() { + this.included = true; + this.renderedLikeHoisted?.include(); + } + /** + * Links the rendered name of this variable to another variable and includes + * this variable if the other variable is included. + */ + renderLikeHoisted(variable) { + this.renderedLikeHoisted = variable; + } + markCalledFromTryStatement() { } + setRenderNames(baseName, name) { + this.renderBaseName = baseName; + this.renderName = name; + } +} + +class ExternalVariable extends Variable { + constructor(module, name) { + super(name); + this.referenced = false; + this.module = module; + this.isNamespace = name === '*'; + } + addReference(identifier) { + this.referenced = true; + if (this.name === 'default' || this.name === '*') { + this.module.suggestName(identifier.name); + } + } + hasEffectsOnInteractionAtPath(path, { type }) { + return type !== INTERACTION_ACCESSED || path.length > (this.isNamespace ? 1 : 0); + } + include() { + super.include(); + this.module.used = true; + } +} + +const BLANK = Object.freeze(Object.create(null)); +const EMPTY_OBJECT = Object.freeze({}); +const EMPTY_ARRAY = Object.freeze([]); +const EMPTY_SET = Object.freeze(new (class extends Set { + add() { + throw new Error('Cannot add to empty set'); + } +})()); + +const RESERVED_NAMES = new Set([ + 'await', + 'break', + 'case', + 'catch', + 'class', + 'const', + 'continue', + 'debugger', + 'default', + 'delete', + 'do', + 'else', + 'enum', + 'eval', + 'export', + 'extends', + 'false', + 'finally', + 'for', + 'function', + 'if', + 'implements', + 'import', + 'in', + 'instanceof', + 'interface', + 'let', + 'NaN', + 'new', + 'null', + 'package', + 'private', + 'protected', + 'public', + 'return', + 'static', + 'super', + 'switch', + 'this', + 'throw', + 'true', + 'try', + 'typeof', + 'undefined', + 'var', + 'void', + 'while', + 'with', + 'yield' +]); + +const illegalCharacters = /[^\w$]/g; +const startsWithDigit = (value) => /\d/.test(value[0]); +const needsEscape = (value) => startsWithDigit(value) || RESERVED_NAMES.has(value) || value === 'arguments'; +function isLegal(value) { + if (needsEscape(value)) { + return false; + } + return !illegalCharacters.test(value); +} +function makeLegal(value) { + value = value + .replace(/-(\w)/g, (_, letter) => letter.toUpperCase()) + .replace(illegalCharacters, '_'); + if (needsEscape(value)) + value = `_${value}`; + return value || '_'; +} +const VALID_IDENTIFIER_REGEXP = /^[$_\p{ID_Start}][$\u200C\u200D\p{ID_Continue}]*$/u; +const NUMBER_REGEXP = /^(?:0|[1-9]\d*)$/; +function stringifyObjectKeyIfNeeded(key) { + if (VALID_IDENTIFIER_REGEXP.test(key)) { + return key === '__proto__' ? '["__proto__"]' : key; + } + if (NUMBER_REGEXP.test(key) && +key <= Number.MAX_SAFE_INTEGER) { + return key; + } + return JSON.stringify(key); +} +function stringifyIdentifierIfNeeded(key) { + if (VALID_IDENTIFIER_REGEXP.test(key)) { + return key; + } + return JSON.stringify(key); +} + +class ExternalModule { + constructor(options, id, moduleSideEffects, meta, renormalizeRenderPath, attributes) { + this.options = options; + this.id = id; + this.renormalizeRenderPath = renormalizeRenderPath; + this.dynamicImporters = []; + this.execIndex = Infinity; + this.exportedVariables = new Map(); + this.importers = []; + this.reexported = false; + this.used = false; + this.declarations = new Map(); + this.mostCommonSuggestion = 0; + this.nameSuggestions = new Map(); + this.suggestedVariableName = makeLegal(id.split(/[/\\]/).pop()); + const { importers, dynamicImporters } = this; + this.info = { + ast: null, + attributes, + code: null, + dynamicallyImportedIdResolutions: EMPTY_ARRAY, + dynamicallyImportedIds: EMPTY_ARRAY, + get dynamicImporters() { + return dynamicImporters.sort(); + }, + exportedBindings: null, + exports: null, + hasDefaultExport: null, + id, + implicitlyLoadedAfterOneOf: EMPTY_ARRAY, + implicitlyLoadedBefore: EMPTY_ARRAY, + importedIdResolutions: EMPTY_ARRAY, + importedIds: EMPTY_ARRAY, + get importers() { + return importers.sort(); + }, + isEntry: false, + isExternal: true, + isIncluded: null, + meta, + moduleSideEffects, + syntheticNamedExports: false + }; + } + getVariableForExportName(name) { + const declaration = this.declarations.get(name); + if (declaration) + return [declaration]; + const externalVariable = new ExternalVariable(this, name); + this.declarations.set(name, externalVariable); + this.exportedVariables.set(externalVariable, name); + return [externalVariable]; + } + suggestName(name) { + const value = (this.nameSuggestions.get(name) ?? 0) + 1; + this.nameSuggestions.set(name, value); + if (value > this.mostCommonSuggestion) { + this.mostCommonSuggestion = value; + this.suggestedVariableName = name; + } + } + warnUnusedImports() { + const unused = [...this.declarations] + .filter(([name, declaration]) => name !== '*' && !declaration.included && !this.reexported && !declaration.referenced) + .map(([name]) => name); + if (unused.length === 0) + return; + const importersSet = new Set(); + for (const name of unused) { + for (const importer of this.declarations.get(name).module.importers) { + importersSet.add(importer); + } + } + const importersArray = [...importersSet]; + this.options.onLog(LOGLEVEL_WARN, logUnusedExternalImports(this.id, unused, importersArray)); + } +} + +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +function getAugmentedNamespace(n) { + if (n.__esModule) return n; + var f = n.default; + if (typeof f == "function") { + var a = function a () { + if (this instanceof a) { + return Reflect.construct(f, arguments, this.constructor); + } + return f.apply(this, arguments); + }; + a.prototype = f.prototype; + } else a = {}; + Object.defineProperty(a, '__esModule', {value: true}); + Object.keys(n).forEach(function (k) { + var d = Object.getOwnPropertyDescriptor(n, k); + Object.defineProperty(a, k, d.get ? d : { + enumerable: true, + get: function () { + return n[k]; + } + }); + }); + return a; +} + +var utils$3 = {}; + +const path$1 = require$$0$1; +const WIN_SLASH = '\\\\/'; +const WIN_NO_SLASH = `[^${WIN_SLASH}]`; + +/** + * Posix glob regex + */ + +const DOT_LITERAL = '\\.'; +const PLUS_LITERAL = '\\+'; +const QMARK_LITERAL = '\\?'; +const SLASH_LITERAL = '\\/'; +const ONE_CHAR = '(?=.)'; +const QMARK = '[^/]'; +const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; +const START_ANCHOR = `(?:^|${SLASH_LITERAL})`; +const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; +const NO_DOT = `(?!${DOT_LITERAL})`; +const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; +const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; +const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; +const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; +const STAR = `${QMARK}*?`; + +const POSIX_CHARS = { + DOT_LITERAL, + PLUS_LITERAL, + QMARK_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + QMARK, + END_ANCHOR, + DOTS_SLASH, + NO_DOT, + NO_DOTS, + NO_DOT_SLASH, + NO_DOTS_SLASH, + QMARK_NO_DOT, + STAR, + START_ANCHOR +}; + +/** + * Windows glob regex + */ + +const WINDOWS_CHARS = { + ...POSIX_CHARS, + + SLASH_LITERAL: `[${WIN_SLASH}]`, + QMARK: WIN_NO_SLASH, + STAR: `${WIN_NO_SLASH}*?`, + DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, + NO_DOT: `(?!${DOT_LITERAL})`, + NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, + NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, + NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, + QMARK_NO_DOT: `[^.${WIN_SLASH}]`, + START_ANCHOR: `(?:^|[${WIN_SLASH}])`, + END_ANCHOR: `(?:[${WIN_SLASH}]|$)` +}; + +/** + * POSIX Bracket Regex + */ + +const POSIX_REGEX_SOURCE$1 = { + 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' +}; + +var constants$2 = { + MAX_LENGTH: 1024 * 64, + POSIX_REGEX_SOURCE: POSIX_REGEX_SOURCE$1, + + // regular expressions + 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, + + // Replace globs with equivalent patterns to reduce parsing time. + REPLACEMENTS: { + '***': '*', + '**/**': '**', + '**/**/**': '**' + }, + + // Digits + CHAR_0: 48, /* 0 */ + CHAR_9: 57, /* 9 */ + + // Alphabet chars. + CHAR_UPPERCASE_A: 65, /* A */ + CHAR_LOWERCASE_A: 97, /* a */ + CHAR_UPPERCASE_Z: 90, /* Z */ + CHAR_LOWERCASE_Z: 122, /* z */ + + CHAR_LEFT_PARENTHESES: 40, /* ( */ + CHAR_RIGHT_PARENTHESES: 41, /* ) */ + + CHAR_ASTERISK: 42, /* * */ + + // Non-alphabetic chars. + CHAR_AMPERSAND: 38, /* & */ + CHAR_AT: 64, /* @ */ + CHAR_BACKWARD_SLASH: 92, /* \ */ + CHAR_CARRIAGE_RETURN: 13, /* \r */ + 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, /* \f */ + 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, /* \n */ + CHAR_NO_BREAK_SPACE: 160, /* \u00A0 */ + 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, /* \t */ + CHAR_UNDERSCORE: 95, /* _ */ + CHAR_VERTICAL_LINE: 124, /* | */ + CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */ + + SEP: path$1.sep, + + /** + * Create EXTGLOB_CHARS + */ + + extglobChars(chars) { + return { + '!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` }, + '?': { type: 'qmark', open: '(?:', close: ')?' }, + '+': { type: 'plus', open: '(?:', close: ')+' }, + '*': { type: 'star', open: '(?:', close: ')*' }, + '@': { type: 'at', open: '(?:', close: ')' } + }; + }, + + /** + * Create GLOB_CHARS + */ + + globChars(win32) { + return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; + } +}; + +(function (exports) { + + const path = require$$0$1; + const win32 = process.platform === 'win32'; + const { + REGEX_BACKSLASH, + REGEX_REMOVE_BACKSLASH, + REGEX_SPECIAL_CHARS, + REGEX_SPECIAL_CHARS_GLOBAL + } = constants$2; + + exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); + exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str); + exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str); + exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1'); + exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/'); + + exports.removeBackslashes = str => { + return str.replace(REGEX_REMOVE_BACKSLASH, match => { + return match === '\\' ? '' : match; + }); + }; + + exports.supportsLookbehinds = () => { + const segs = process.version.slice(1).split('.').map(Number); + if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) { + return true; + } + return false; + }; + + exports.isWindows = options => { + if (options && typeof options.windows === 'boolean') { + return options.windows; + } + return win32 === true || path.sep === '\\'; + }; + + exports.escapeLast = (input, char, lastIdx) => { + const idx = input.lastIndexOf(char, lastIdx); + if (idx === -1) return input; + if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1); + return `${input.slice(0, idx)}\\${input.slice(idx)}`; + }; + + exports.removePrefix = (input, state = {}) => { + let output = input; + if (output.startsWith('./')) { + output = output.slice(2); + state.prefix = './'; + } + return output; + }; + + exports.wrapOutput = (input, state = {}, options = {}) => { + const prepend = options.contains ? '' : '^'; + const append = options.contains ? '' : '$'; + + let output = `${prepend}(?:${input})${append}`; + if (state.negated === true) { + output = `(?:^(?!${output}).*$)`; + } + return output; + }; +} (utils$3)); + +const utils$2 = utils$3; +const { + CHAR_ASTERISK, /* * */ + CHAR_AT, /* @ */ + CHAR_BACKWARD_SLASH, /* \ */ + CHAR_COMMA, /* , */ + CHAR_DOT, /* . */ + CHAR_EXCLAMATION_MARK, /* ! */ + CHAR_FORWARD_SLASH, /* / */ + CHAR_LEFT_CURLY_BRACE, /* { */ + CHAR_LEFT_PARENTHESES, /* ( */ + CHAR_LEFT_SQUARE_BRACKET, /* [ */ + CHAR_PLUS, /* + */ + CHAR_QUESTION_MARK, /* ? */ + CHAR_RIGHT_CURLY_BRACE, /* } */ + CHAR_RIGHT_PARENTHESES, /* ) */ + CHAR_RIGHT_SQUARE_BRACKET /* ] */ +} = constants$2; + +const isPathSeparator = code => { + return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; +}; + +const depth = token => { + if (token.isPrefix !== true) { + token.depth = token.isGlobstar ? Infinity : 1; + } +}; + +/** + * Quickly scans a glob pattern and returns an object with a handful of + * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists), + * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not + * with `!(`) and `negatedExtglob` (true if the path starts with `!(`). + * + * ```js + * const pm = require('picomatch'); + * console.log(pm.scan('foo/bar/*.js')); + * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' } + * ``` + * @param {String} `str` + * @param {Object} `options` + * @return {Object} Returns an object with tokens and regex source string. + * @api public + */ + +const scan$1 = (input, options) => { + const opts = options || {}; + + const length = input.length - 1; + const scanToEnd = opts.parts === true || opts.scanToEnd === true; + const slashes = []; + const tokens = []; + const parts = []; + + let str = input; + let index = -1; + let start = 0; + let lastIndex = 0; + let isBrace = false; + let isBracket = false; + let isGlob = false; + let isExtglob = false; + let isGlobstar = false; + let braceEscaped = false; + let backslashes = false; + let negated = false; + let negatedExtglob = false; + let finished = false; + let braces = 0; + let prev; + let code; + let token = { value: '', depth: 0, isGlob: false }; + + const eos = () => index >= length; + const peek = () => str.charCodeAt(index + 1); + const advance = () => { + prev = code; + return str.charCodeAt(++index); + }; + + while (index < length) { + code = advance(); + let next; + + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + code = advance(); + + if (code === CHAR_LEFT_CURLY_BRACE) { + braceEscaped = true; + } + continue; + } + + if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { + braces++; + + while (eos() !== true && (code = advance())) { + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + advance(); + continue; + } + + if (code === CHAR_LEFT_CURLY_BRACE) { + braces++; + continue; + } + + if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { + isBrace = token.isBrace = true; + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (braceEscaped !== true && code === CHAR_COMMA) { + isBrace = token.isBrace = true; + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (code === CHAR_RIGHT_CURLY_BRACE) { + braces--; + + if (braces === 0) { + braceEscaped = false; + isBrace = token.isBrace = true; + finished = true; + break; + } + } + } + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (code === CHAR_FORWARD_SLASH) { + slashes.push(index); + tokens.push(token); + token = { value: '', depth: 0, isGlob: false }; + + if (finished === true) continue; + if (prev === CHAR_DOT && index === (start + 1)) { + start += 2; + continue; + } + + lastIndex = index + 1; + continue; + } + + if (opts.noext !== true) { + const isExtglobChar = code === CHAR_PLUS + || code === CHAR_AT + || code === CHAR_ASTERISK + || code === CHAR_QUESTION_MARK + || code === CHAR_EXCLAMATION_MARK; + + if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { + isGlob = token.isGlob = true; + isExtglob = token.isExtglob = true; + finished = true; + if (code === CHAR_EXCLAMATION_MARK && index === start) { + negatedExtglob = true; + } + + if (scanToEnd === true) { + while (eos() !== true && (code = advance())) { + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + code = advance(); + continue; + } + + if (code === CHAR_RIGHT_PARENTHESES) { + isGlob = token.isGlob = true; + finished = true; + break; + } + } + continue; + } + break; + } + } + + if (code === CHAR_ASTERISK) { + if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true; + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + break; + } + + if (code === CHAR_QUESTION_MARK) { + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + break; + } + + if (code === CHAR_LEFT_SQUARE_BRACKET) { + while (eos() !== true && (next = advance())) { + if (next === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + advance(); + continue; + } + + if (next === CHAR_RIGHT_SQUARE_BRACKET) { + isBracket = token.isBracket = true; + isGlob = token.isGlob = true; + finished = true; + break; + } + } + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { + negated = token.negated = true; + start++; + continue; + } + + if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { + isGlob = token.isGlob = true; + + if (scanToEnd === true) { + while (eos() !== true && (code = advance())) { + if (code === CHAR_LEFT_PARENTHESES) { + backslashes = token.backslashes = true; + code = advance(); + continue; + } + + if (code === CHAR_RIGHT_PARENTHESES) { + finished = true; + break; + } + } + continue; + } + break; + } + + if (isGlob === true) { + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + } + + if (opts.noext === true) { + isExtglob = false; + isGlob = false; + } + + let base = str; + let prefix = ''; + let glob = ''; + + if (start > 0) { + prefix = str.slice(0, start); + str = str.slice(start); + lastIndex -= start; + } + + if (base && isGlob === true && lastIndex > 0) { + base = str.slice(0, lastIndex); + glob = str.slice(lastIndex); + } else if (isGlob === true) { + base = ''; + glob = str; + } else { + base = str; + } + + if (base && base !== '' && base !== '/' && base !== str) { + if (isPathSeparator(base.charCodeAt(base.length - 1))) { + base = base.slice(0, -1); + } + } + + if (opts.unescape === true) { + if (glob) glob = utils$2.removeBackslashes(glob); + + if (base && backslashes === true) { + base = utils$2.removeBackslashes(base); + } + } + + const state = { + prefix, + input, + start, + base, + glob, + isBrace, + isBracket, + isGlob, + isExtglob, + isGlobstar, + negated, + negatedExtglob + }; + + if (opts.tokens === true) { + state.maxDepth = 0; + if (!isPathSeparator(code)) { + tokens.push(token); + } + state.tokens = tokens; + } + + if (opts.parts === true || opts.tokens === true) { + let prevIndex; + + for (let idx = 0; idx < slashes.length; idx++) { + const n = prevIndex ? prevIndex + 1 : start; + const i = slashes[idx]; + const value = input.slice(n, i); + if (opts.tokens) { + if (idx === 0 && start !== 0) { + tokens[idx].isPrefix = true; + tokens[idx].value = prefix; + } else { + tokens[idx].value = value; + } + depth(tokens[idx]); + state.maxDepth += tokens[idx].depth; + } + if (idx !== 0 || value !== '') { + parts.push(value); + } + prevIndex = i; + } + + if (prevIndex && prevIndex + 1 < input.length) { + const value = input.slice(prevIndex + 1); + parts.push(value); + + if (opts.tokens) { + tokens[tokens.length - 1].value = value; + depth(tokens[tokens.length - 1]); + state.maxDepth += tokens[tokens.length - 1].depth; + } + } + + state.slashes = slashes; + state.parts = parts; + } + + return state; +}; + +var scan_1 = scan$1; + +const constants$1 = constants$2; +const utils$1 = utils$3; + +/** + * Constants + */ + +const { + MAX_LENGTH, + POSIX_REGEX_SOURCE, + REGEX_NON_SPECIAL_CHARS, + REGEX_SPECIAL_CHARS_BACKREF, + REPLACEMENTS +} = constants$1; + +/** + * Helpers + */ + +const expandRange = (args, options) => { + if (typeof options.expandRange === 'function') { + return options.expandRange(...args, options); + } + + args.sort(); + const value = `[${args.join('-')}]`; + + return value; +}; + +/** + * Create the message for a syntax error + */ + +const syntaxError = (type, char) => { + return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; +}; + +/** + * Parse the given input string. + * @param {String} input + * @param {Object} options + * @return {Object} + */ + +const parse$1 = (input, options) => { + if (typeof input !== 'string') { + throw new TypeError('Expected a string'); + } + + input = REPLACEMENTS[input] || input; + + const opts = { ...options }; + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + + let len = input.length; + if (len > max) { + throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); + } + + const bos = { type: 'bos', value: '', output: opts.prepend || '' }; + const tokens = [bos]; + + const capture = opts.capture ? '' : '?:'; + const win32 = utils$1.isWindows(options); + + // create constants based on platform, for windows or posix + const PLATFORM_CHARS = constants$1.globChars(win32); + const EXTGLOB_CHARS = constants$1.extglobChars(PLATFORM_CHARS); + + const { + DOT_LITERAL, + PLUS_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + DOTS_SLASH, + NO_DOT, + NO_DOT_SLASH, + NO_DOTS_SLASH, + QMARK, + QMARK_NO_DOT, + STAR, + START_ANCHOR + } = PLATFORM_CHARS; + + const globstar = opts => { + return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; + }; + + const nodot = opts.dot ? '' : NO_DOT; + const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; + let star = opts.bash === true ? globstar(opts) : STAR; + + if (opts.capture) { + star = `(${star})`; + } + + // minimatch options support + if (typeof opts.noext === 'boolean') { + opts.noextglob = opts.noext; + } + + const state = { + input, + index: -1, + start: 0, + dot: opts.dot === true, + consumed: '', + output: '', + prefix: '', + backtrack: false, + negated: false, + brackets: 0, + braces: 0, + parens: 0, + quotes: 0, + globstar: false, + tokens + }; + + input = utils$1.removePrefix(input, state); + len = input.length; + + const extglobs = []; + const braces = []; + const stack = []; + let prev = bos; + let value; + + /** + * Tokenizing helpers + */ + + const eos = () => state.index === len - 1; + const peek = state.peek = (n = 1) => input[state.index + n]; + const advance = state.advance = () => input[++state.index] || ''; + const remaining = () => input.slice(state.index + 1); + const consume = (value = '', num = 0) => { + state.consumed += value; + state.index += num; + }; + + const append = token => { + state.output += token.output != null ? token.output : token.value; + consume(token.value); + }; + + const negate = () => { + let count = 1; + + while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) { + advance(); + state.start++; + count++; + } + + if (count % 2 === 0) { + return false; + } + + state.negated = true; + state.start++; + return true; + }; + + const increment = type => { + state[type]++; + stack.push(type); + }; + + const decrement = type => { + state[type]--; + stack.pop(); + }; + + /** + * Push tokens onto the tokens array. This helper speeds up + * tokenizing by 1) helping us avoid backtracking as much as possible, + * and 2) helping us avoid creating extra tokens when consecutive + * characters are plain text. This improves performance and simplifies + * lookbehinds. + */ + + const push = tok => { + if (prev.type === 'globstar') { + const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace'); + const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren')); + + if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) { + state.output = state.output.slice(0, -prev.output.length); + prev.type = 'star'; + prev.value = '*'; + prev.output = star; + state.output += prev.output; + } + } + + if (extglobs.length && tok.type !== 'paren') { + extglobs[extglobs.length - 1].inner += tok.value; + } + + if (tok.value || tok.output) append(tok); + if (prev && prev.type === 'text' && tok.type === 'text') { + prev.value += tok.value; + prev.output = (prev.output || '') + tok.value; + return; + } + + tok.prev = prev; + tokens.push(tok); + prev = tok; + }; + + const extglobOpen = (type, value) => { + const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' }; + + token.prev = prev; + token.parens = state.parens; + token.output = state.output; + const output = (opts.capture ? '(' : '') + token.open; + + increment('parens'); + push({ type, value, output: state.output ? '' : ONE_CHAR }); + push({ type: 'paren', extglob: true, value: advance(), output }); + extglobs.push(token); + }; + + const extglobClose = token => { + let output = token.close + (opts.capture ? ')' : ''); + let rest; + + if (token.type === 'negate') { + let extglobStar = star; + + if (token.inner && token.inner.length > 1 && token.inner.includes('/')) { + extglobStar = globstar(opts); + } + + if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { + output = token.close = `)$))${extglobStar}`; + } + + if (token.inner.includes('*') && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { + // Any non-magical string (`.ts`) or even nested expression (`.{ts,tsx}`) can follow after the closing parenthesis. + // In this case, we need to parse the string and use it in the output of the original pattern. + // Suitable patterns: `/!(*.d).ts`, `/!(*.d).{ts,tsx}`, `**/!(*-dbg).@(js)`. + // + // Disabling the `fastpaths` option due to a problem with parsing strings as `.ts` in the pattern like `**/!(*.d).ts`. + const expression = parse$1(rest, { ...options, fastpaths: false }).output; + + output = token.close = `)${expression})${extglobStar})`; + } + + if (token.prev.type === 'bos') { + state.negatedExtglob = true; + } + } + + push({ type: 'paren', extglob: true, value, output }); + decrement('parens'); + }; + + /** + * Fast paths + */ + + if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { + let backslashes = false; + + let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { + if (first === '\\') { + backslashes = true; + return m; + } + + if (first === '?') { + if (esc) { + return esc + first + (rest ? QMARK.repeat(rest.length) : ''); + } + if (index === 0) { + return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ''); + } + return QMARK.repeat(chars.length); + } + + if (first === '.') { + return DOT_LITERAL.repeat(chars.length); + } + + if (first === '*') { + if (esc) { + return esc + first + (rest ? star : ''); + } + return star; + } + return esc ? m : `\\${m}`; + }); + + if (backslashes === true) { + if (opts.unescape === true) { + output = output.replace(/\\/g, ''); + } else { + output = output.replace(/\\+/g, m => { + return m.length % 2 === 0 ? '\\\\' : (m ? '\\' : ''); + }); + } + } + + if (output === input && opts.contains === true) { + state.output = input; + return state; + } + + state.output = utils$1.wrapOutput(output, state, options); + return state; + } + + /** + * Tokenize input until we reach end-of-string + */ + + while (!eos()) { + value = advance(); + + if (value === '\u0000') { + continue; + } + + /** + * Escaped characters + */ + + if (value === '\\') { + const next = peek(); + + if (next === '/' && opts.bash !== true) { + continue; + } + + if (next === '.' || next === ';') { + continue; + } + + if (!next) { + value += '\\'; + push({ type: 'text', value }); + continue; + } + + // collapse slashes to reduce potential for exploits + const match = /^\\+/.exec(remaining()); + let slashes = 0; + + if (match && match[0].length > 2) { + slashes = match[0].length; + state.index += slashes; + if (slashes % 2 !== 0) { + value += '\\'; + } + } + + if (opts.unescape === true) { + value = advance(); + } else { + value += advance(); + } + + if (state.brackets === 0) { + push({ type: 'text', value }); + continue; + } + } + + /** + * If we're inside a regex character class, continue + * until we reach the closing bracket. + */ + + if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) { + if (opts.posix !== false && value === ':') { + const inner = prev.value.slice(1); + if (inner.includes('[')) { + prev.posix = true; + + if (inner.includes(':')) { + const idx = prev.value.lastIndexOf('['); + const pre = prev.value.slice(0, idx); + const rest = prev.value.slice(idx + 2); + const posix = POSIX_REGEX_SOURCE[rest]; + if (posix) { + prev.value = pre + posix; + state.backtrack = true; + advance(); + + if (!bos.output && tokens.indexOf(prev) === 1) { + bos.output = ONE_CHAR; + } + continue; + } + } + } + } + + if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) { + value = `\\${value}`; + } + + if (value === ']' && (prev.value === '[' || prev.value === '[^')) { + value = `\\${value}`; + } + + if (opts.posix === true && value === '!' && prev.value === '[') { + value = '^'; + } + + prev.value += value; + append({ value }); + continue; + } + + /** + * If we're inside a quoted string, continue + * until we reach the closing double quote. + */ + + if (state.quotes === 1 && value !== '"') { + value = utils$1.escapeRegex(value); + prev.value += value; + append({ value }); + continue; + } + + /** + * Double quotes + */ + + if (value === '"') { + state.quotes = state.quotes === 1 ? 0 : 1; + if (opts.keepQuotes === true) { + push({ type: 'text', value }); + } + continue; + } + + /** + * Parentheses + */ + + if (value === '(') { + increment('parens'); + push({ type: 'paren', value }); + continue; + } + + if (value === ')') { + if (state.parens === 0 && opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('opening', '(')); + } + + const extglob = extglobs[extglobs.length - 1]; + if (extglob && state.parens === extglob.parens + 1) { + extglobClose(extglobs.pop()); + continue; + } + + push({ type: 'paren', value, output: state.parens ? ')' : '\\)' }); + decrement('parens'); + continue; + } + + /** + * Square brackets + */ + + if (value === '[') { + if (opts.nobracket === true || !remaining().includes(']')) { + if (opts.nobracket !== true && opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('closing', ']')); + } + + value = `\\${value}`; + } else { + increment('brackets'); + } + + push({ type: 'bracket', value }); + continue; + } + + if (value === ']') { + if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) { + push({ type: 'text', value, output: `\\${value}` }); + continue; + } + + if (state.brackets === 0) { + if (opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('opening', '[')); + } + + push({ type: 'text', value, output: `\\${value}` }); + continue; + } + + decrement('brackets'); + + const prevValue = prev.value.slice(1); + if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) { + value = `/${value}`; + } + + prev.value += value; + append({ value }); + + // when literal brackets are explicitly disabled + // assume we should match with a regex character class + if (opts.literalBrackets === false || utils$1.hasRegexChars(prevValue)) { + continue; + } + + const escaped = utils$1.escapeRegex(prev.value); + state.output = state.output.slice(0, -prev.value.length); + + // when literal brackets are explicitly enabled + // assume we should escape the brackets to match literal characters + if (opts.literalBrackets === true) { + state.output += escaped; + prev.value = escaped; + continue; + } + + // when the user specifies nothing, try to match both + prev.value = `(${capture}${escaped}|${prev.value})`; + state.output += prev.value; + continue; + } + + /** + * Braces + */ + + if (value === '{' && opts.nobrace !== true) { + increment('braces'); + + const open = { + type: 'brace', + value, + output: '(', + outputIndex: state.output.length, + tokensIndex: state.tokens.length + }; + + braces.push(open); + push(open); + continue; + } + + if (value === '}') { + const brace = braces[braces.length - 1]; + + if (opts.nobrace === true || !brace) { + push({ type: 'text', value, output: value }); + continue; + } + + let output = ')'; + + if (brace.dots === true) { + const arr = tokens.slice(); + const range = []; + + for (let i = arr.length - 1; i >= 0; i--) { + tokens.pop(); + if (arr[i].type === 'brace') { + break; + } + if (arr[i].type !== 'dots') { + range.unshift(arr[i].value); + } + } + + output = expandRange(range, opts); + state.backtrack = true; + } + + if (brace.comma !== true && brace.dots !== true) { + const out = state.output.slice(0, brace.outputIndex); + const toks = state.tokens.slice(brace.tokensIndex); + brace.value = brace.output = '\\{'; + value = output = '\\}'; + state.output = out; + for (const t of toks) { + state.output += (t.output || t.value); + } + } + + push({ type: 'brace', value, output }); + decrement('braces'); + braces.pop(); + continue; + } + + /** + * Pipes + */ + + if (value === '|') { + if (extglobs.length > 0) { + extglobs[extglobs.length - 1].conditions++; + } + push({ type: 'text', value }); + continue; + } + + /** + * Commas + */ + + if (value === ',') { + let output = value; + + const brace = braces[braces.length - 1]; + if (brace && stack[stack.length - 1] === 'braces') { + brace.comma = true; + output = '|'; + } + + push({ type: 'comma', value, output }); + continue; + } + + /** + * Slashes + */ + + if (value === '/') { + // if the beginning of the glob is "./", advance the start + // to the current index, and don't add the "./" characters + // to the state. This greatly simplifies lookbehinds when + // checking for BOS characters like "!" and "." (not "./") + if (prev.type === 'dot' && state.index === state.start + 1) { + state.start = state.index + 1; + state.consumed = ''; + state.output = ''; + tokens.pop(); + prev = bos; // reset "prev" to the first token + continue; + } + + push({ type: 'slash', value, output: SLASH_LITERAL }); + continue; + } + + /** + * Dots + */ + + if (value === '.') { + if (state.braces > 0 && prev.type === 'dot') { + if (prev.value === '.') prev.output = DOT_LITERAL; + const brace = braces[braces.length - 1]; + prev.type = 'dots'; + prev.output += value; + prev.value += value; + brace.dots = true; + continue; + } + + if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') { + push({ type: 'text', value, output: DOT_LITERAL }); + continue; + } + + push({ type: 'dot', value, output: DOT_LITERAL }); + continue; + } + + /** + * Question marks + */ + + if (value === '?') { + const isGroup = prev && prev.value === '('; + if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + extglobOpen('qmark', value); + continue; + } + + if (prev && prev.type === 'paren') { + const next = peek(); + let output = value; + + if (next === '<' && !utils$1.supportsLookbehinds()) { + throw new Error('Node.js v10 or higher is required for regex lookbehinds'); + } + + if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\w+>)/.test(remaining()))) { + output = `\\${value}`; + } + + push({ type: 'text', value, output }); + continue; + } + + if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) { + push({ type: 'qmark', value, output: QMARK_NO_DOT }); + continue; + } + + push({ type: 'qmark', value, output: QMARK }); + continue; + } + + /** + * Exclamation + */ + + if (value === '!') { + if (opts.noextglob !== true && peek() === '(') { + if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) { + extglobOpen('negate', value); + continue; + } + } + + if (opts.nonegate !== true && state.index === 0) { + negate(); + continue; + } + } + + /** + * Plus + */ + + if (value === '+') { + if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + extglobOpen('plus', value); + continue; + } + + if ((prev && prev.value === '(') || opts.regex === false) { + push({ type: 'plus', value, output: PLUS_LITERAL }); + continue; + } + + if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) { + push({ type: 'plus', value }); + continue; + } + + push({ type: 'plus', value: PLUS_LITERAL }); + continue; + } + + /** + * Plain text + */ + + if (value === '@') { + if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + push({ type: 'at', extglob: true, value, output: '' }); + continue; + } + + push({ type: 'text', value }); + continue; + } + + /** + * Plain text + */ + + if (value !== '*') { + if (value === '$' || value === '^') { + value = `\\${value}`; + } + + const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); + if (match) { + value += match[0]; + state.index += match[0].length; + } + + push({ type: 'text', value }); + continue; + } + + /** + * Stars + */ + + if (prev && (prev.type === 'globstar' || prev.star === true)) { + prev.type = 'star'; + prev.star = true; + prev.value += value; + prev.output = star; + state.backtrack = true; + state.globstar = true; + consume(value); + continue; + } + + let rest = remaining(); + if (opts.noextglob !== true && /^\([^?]/.test(rest)) { + extglobOpen('star', value); + continue; + } + + if (prev.type === 'star') { + if (opts.noglobstar === true) { + consume(value); + continue; + } + + const prior = prev.prev; + const before = prior.prev; + const isStart = prior.type === 'slash' || prior.type === 'bos'; + const afterStar = before && (before.type === 'star' || before.type === 'globstar'); + + if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) { + push({ type: 'star', value, output: '' }); + continue; + } + + const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace'); + const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren'); + if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) { + push({ type: 'star', value, output: '' }); + continue; + } + + // strip consecutive `/**/` + while (rest.slice(0, 3) === '/**') { + const after = input[state.index + 4]; + if (after && after !== '/') { + break; + } + rest = rest.slice(3); + consume('/**', 3); + } + + if (prior.type === 'bos' && eos()) { + prev.type = 'globstar'; + prev.value += value; + prev.output = globstar(opts); + state.output = prev.output; + state.globstar = true; + consume(value); + continue; + } + + if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) { + state.output = state.output.slice(0, -(prior.output + prev.output).length); + prior.output = `(?:${prior.output}`; + + prev.type = 'globstar'; + prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)'); + prev.value += value; + state.globstar = true; + state.output += prior.output + prev.output; + consume(value); + continue; + } + + if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') { + const end = rest[1] !== void 0 ? '|$' : ''; + + state.output = state.output.slice(0, -(prior.output + prev.output).length); + prior.output = `(?:${prior.output}`; + + prev.type = 'globstar'; + prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; + prev.value += value; + + state.output += prior.output + prev.output; + state.globstar = true; + + consume(value + advance()); + + push({ type: 'slash', value: '/', output: '' }); + continue; + } + + if (prior.type === 'bos' && rest[0] === '/') { + prev.type = 'globstar'; + prev.value += value; + prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; + state.output = prev.output; + state.globstar = true; + consume(value + advance()); + push({ type: 'slash', value: '/', output: '' }); + continue; + } + + // remove single star from output + state.output = state.output.slice(0, -prev.output.length); + + // reset previous token to globstar + prev.type = 'globstar'; + prev.output = globstar(opts); + prev.value += value; + + // reset output with globstar + state.output += prev.output; + state.globstar = true; + consume(value); + continue; + } + + const token = { type: 'star', value, output: star }; + + if (opts.bash === true) { + token.output = '.*?'; + if (prev.type === 'bos' || prev.type === 'slash') { + token.output = nodot + token.output; + } + push(token); + continue; + } + + if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) { + token.output = value; + push(token); + continue; + } + + if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') { + if (prev.type === 'dot') { + state.output += NO_DOT_SLASH; + prev.output += NO_DOT_SLASH; + + } else if (opts.dot === true) { + state.output += NO_DOTS_SLASH; + prev.output += NO_DOTS_SLASH; + + } else { + state.output += nodot; + prev.output += nodot; + } + + if (peek() !== '*') { + state.output += ONE_CHAR; + prev.output += ONE_CHAR; + } + } + + push(token); + } + + while (state.brackets > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']')); + state.output = utils$1.escapeLast(state.output, '['); + decrement('brackets'); + } + + while (state.parens > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')')); + state.output = utils$1.escapeLast(state.output, '('); + decrement('parens'); + } + + while (state.braces > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}')); + state.output = utils$1.escapeLast(state.output, '{'); + decrement('braces'); + } + + if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) { + push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` }); + } + + // rebuild the output if we had to backtrack at any point + if (state.backtrack === true) { + state.output = ''; + + for (const token of state.tokens) { + state.output += token.output != null ? token.output : token.value; + + if (token.suffix) { + state.output += token.suffix; + } + } + } + + return state; +}; + +/** + * Fast paths for creating regular expressions for common glob patterns. + * This can significantly speed up processing and has very little downside + * impact when none of the fast paths match. + */ + +parse$1.fastpaths = (input, options) => { + const opts = { ...options }; + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + const len = input.length; + if (len > max) { + throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); + } + + input = REPLACEMENTS[input] || input; + const win32 = utils$1.isWindows(options); + + // create constants based on platform, for windows or posix + const { + DOT_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + DOTS_SLASH, + NO_DOT, + NO_DOTS, + NO_DOTS_SLASH, + STAR, + START_ANCHOR + } = constants$1.globChars(win32); + + const nodot = opts.dot ? NO_DOTS : NO_DOT; + const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; + const capture = opts.capture ? '' : '?:'; + const state = { negated: false, prefix: '' }; + let star = opts.bash === true ? '.*?' : STAR; + + if (opts.capture) { + star = `(${star})`; + } + + const globstar = opts => { + if (opts.noglobstar === true) return star; + return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; + }; + + const create = str => { + switch (str) { + case '*': + return `${nodot}${ONE_CHAR}${star}`; + + case '.*': + return `${DOT_LITERAL}${ONE_CHAR}${star}`; + + case '*.*': + return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; + + case '*/*': + return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; + + case '**': + return nodot + globstar(opts); + + case '**/*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; + + case '**/*.*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; + + case '**/.*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; + + default: { + const match = /^(.*?)\.(\w+)$/.exec(str); + if (!match) return; + + const source = create(match[1]); + if (!source) return; + + return source + DOT_LITERAL + match[2]; + } + } + }; + + const output = utils$1.removePrefix(input, state); + let source = create(output); + + if (source && opts.strictSlashes !== true) { + source += `${SLASH_LITERAL}?`; + } + + return source; +}; + +var parse_1 = parse$1; + +const path = require$$0$1; +const scan = scan_1; +const parse = parse_1; +const utils = utils$3; +const constants = constants$2; +const isObject = val => val && typeof val === 'object' && !Array.isArray(val); + +/** + * Creates a matcher function from one or more glob patterns. The + * returned function takes a string to match as its first argument, + * and returns true if the string is a match. The returned matcher + * function also takes a boolean as the second argument that, when true, + * returns an object with additional information. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch(glob[, options]); + * + * const isMatch = picomatch('*.!(*a)'); + * console.log(isMatch('a.a')); //=> false + * console.log(isMatch('a.b')); //=> true + * ``` + * @name picomatch + * @param {String|Array} `globs` One or more glob patterns. + * @param {Object=} `options` + * @return {Function=} Returns a matcher function. + * @api public + */ + +const picomatch$1 = (glob, options, returnState = false) => { + if (Array.isArray(glob)) { + const fns = glob.map(input => picomatch$1(input, options, returnState)); + const arrayMatcher = str => { + for (const isMatch of fns) { + const state = isMatch(str); + if (state) return state; + } + return false; + }; + return arrayMatcher; + } + + const isState = isObject(glob) && glob.tokens && glob.input; + + if (glob === '' || (typeof glob !== 'string' && !isState)) { + throw new TypeError('Expected pattern to be a non-empty string'); + } + + const opts = options || {}; + const posix = utils.isWindows(options); + const regex = isState + ? picomatch$1.compileRe(glob, options) + : picomatch$1.makeRe(glob, options, false, true); + + const state = regex.state; + delete regex.state; + + let isIgnored = () => false; + if (opts.ignore) { + const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null }; + isIgnored = picomatch$1(opts.ignore, ignoreOpts, returnState); + } + + const matcher = (input, returnObject = false) => { + const { isMatch, match, output } = picomatch$1.test(input, regex, options, { glob, posix }); + const result = { glob, state, regex, posix, input, output, match, isMatch }; + + if (typeof opts.onResult === 'function') { + opts.onResult(result); + } + + if (isMatch === false) { + result.isMatch = false; + return returnObject ? result : false; + } + + if (isIgnored(input)) { + if (typeof opts.onIgnore === 'function') { + opts.onIgnore(result); + } + result.isMatch = false; + return returnObject ? result : false; + } + + if (typeof opts.onMatch === 'function') { + opts.onMatch(result); + } + return returnObject ? result : true; + }; + + if (returnState) { + matcher.state = state; + } + + return matcher; +}; + +/** + * Test `input` with the given `regex`. This is used by the main + * `picomatch()` function to test the input string. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.test(input, regex[, options]); + * + * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/)); + * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' } + * ``` + * @param {String} `input` String to test. + * @param {RegExp} `regex` + * @return {Object} Returns an object with matching info. + * @api public + */ + +picomatch$1.test = (input, regex, options, { glob, posix } = {}) => { + if (typeof input !== 'string') { + throw new TypeError('Expected input to be a string'); + } + + if (input === '') { + return { isMatch: false, output: '' }; + } + + const opts = options || {}; + const format = opts.format || (posix ? utils.toPosixSlashes : null); + let match = input === glob; + let output = (match && format) ? format(input) : input; + + if (match === false) { + output = format ? format(input) : input; + match = output === glob; + } + + if (match === false || opts.capture === true) { + if (opts.matchBase === true || opts.basename === true) { + match = picomatch$1.matchBase(input, regex, options, posix); + } else { + match = regex.exec(output); + } + } + + return { isMatch: Boolean(match), match, output }; +}; + +/** + * Match the basename of a filepath. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.matchBase(input, glob[, options]); + * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true + * ``` + * @param {String} `input` String to test. + * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe). + * @return {Boolean} + * @api public + */ + +picomatch$1.matchBase = (input, glob, options, posix = utils.isWindows(options)) => { + const regex = glob instanceof RegExp ? glob : picomatch$1.makeRe(glob, options); + return regex.test(path.basename(input)); +}; + +/** + * Returns true if **any** of the given glob `patterns` match the specified `string`. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.isMatch(string, patterns[, options]); + * + * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true + * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false + * ``` + * @param {String|Array} str The string to test. + * @param {String|Array} patterns One or more glob patterns to use for matching. + * @param {Object} [options] See available [options](#options). + * @return {Boolean} Returns true if any patterns match `str` + * @api public + */ + +picomatch$1.isMatch = (str, patterns, options) => picomatch$1(patterns, options)(str); + +/** + * Parse a glob pattern to create the source string for a regular + * expression. + * + * ```js + * const picomatch = require('picomatch'); + * const result = picomatch.parse(pattern[, options]); + * ``` + * @param {String} `pattern` + * @param {Object} `options` + * @return {Object} Returns an object with useful properties and output to be used as a regex source string. + * @api public + */ + +picomatch$1.parse = (pattern, options) => { + if (Array.isArray(pattern)) return pattern.map(p => picomatch$1.parse(p, options)); + return parse(pattern, { ...options, fastpaths: false }); +}; + +/** + * Scan a glob pattern to separate the pattern into segments. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.scan(input[, options]); + * + * const result = picomatch.scan('!./foo/*.js'); + * console.log(result); + * { prefix: '!./', + * input: '!./foo/*.js', + * start: 3, + * base: 'foo', + * glob: '*.js', + * isBrace: false, + * isBracket: false, + * isGlob: true, + * isExtglob: false, + * isGlobstar: false, + * negated: true } + * ``` + * @param {String} `input` Glob pattern to scan. + * @param {Object} `options` + * @return {Object} Returns an object with + * @api public + */ + +picomatch$1.scan = (input, options) => scan(input, options); + +/** + * Compile a regular expression from the `state` object returned by the + * [parse()](#parse) method. + * + * @param {Object} `state` + * @param {Object} `options` + * @param {Boolean} `returnOutput` Intended for implementors, this argument allows you to return the raw output from the parser. + * @param {Boolean} `returnState` Adds the state to a `state` property on the returned regex. Useful for implementors and debugging. + * @return {RegExp} + * @api public + */ + +picomatch$1.compileRe = (state, options, returnOutput = false, returnState = false) => { + if (returnOutput === true) { + return state.output; + } + + const opts = options || {}; + const prepend = opts.contains ? '' : '^'; + const append = opts.contains ? '' : '$'; + + let source = `${prepend}(?:${state.output})${append}`; + if (state && state.negated === true) { + source = `^(?!${source}).*$`; + } + + const regex = picomatch$1.toRegex(source, options); + if (returnState === true) { + regex.state = state; + } + + return regex; +}; + +/** + * Create a regular expression from a parsed glob pattern. + * + * ```js + * const picomatch = require('picomatch'); + * const state = picomatch.parse('*.js'); + * // picomatch.compileRe(state[, options]); + * + * console.log(picomatch.compileRe(state)); + * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ + * ``` + * @param {String} `state` The object returned from the `.parse` method. + * @param {Object} `options` + * @param {Boolean} `returnOutput` Implementors may use this argument to return the compiled output, instead of a regular expression. This is not exposed on the options to prevent end-users from mutating the result. + * @param {Boolean} `returnState` Implementors may use this argument to return the state from the parsed glob with the returned regular expression. + * @return {RegExp} Returns a regex created from the given pattern. + * @api public + */ + +picomatch$1.makeRe = (input, options = {}, returnOutput = false, returnState = false) => { + if (!input || typeof input !== 'string') { + throw new TypeError('Expected a non-empty string'); + } + + let parsed = { negated: false, fastpaths: true }; + + if (options.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { + parsed.output = parse.fastpaths(input, options); + } + + if (!parsed.output) { + parsed = parse(input, options); + } + + return picomatch$1.compileRe(parsed, options, returnOutput, returnState); +}; + +/** + * Create a regular expression from the given regex source string. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.toRegex(source[, options]); + * + * const { output } = picomatch.parse('*.js'); + * console.log(picomatch.toRegex(output)); + * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ + * ``` + * @param {String} `source` Regular expression source string. + * @param {Object} `options` + * @return {RegExp} + * @api public + */ + +picomatch$1.toRegex = (source, options) => { + try { + const opts = options || {}; + return new RegExp(source, opts.flags || (opts.nocase ? 'i' : '')); + } catch (err) { + if (options && options.debug === true) throw err; + return /$^/; + } +}; + +/** + * Picomatch constants. + * @return {Object} + */ + +picomatch$1.constants = constants; + +/** + * Expose "picomatch" + */ + +var picomatch_1 = picomatch$1; + +var picomatch = picomatch_1; + +const pm = /*@__PURE__*/getDefaultExportFromCjs(picomatch); + +const extractors = { + ArrayPattern(names, param) { + for (const element of param.elements) { + if (element) + extractors[element.type](names, element); + } + }, + AssignmentPattern(names, param) { + extractors[param.left.type](names, param.left); + }, + Identifier(names, param) { + names.push(param.name); + }, + MemberExpression() { }, + ObjectPattern(names, param) { + for (const prop of param.properties) { + // @ts-ignore Typescript reports that this is not a valid type + if (prop.type === 'RestElement') { + extractors.RestElement(names, prop); + } + else { + extractors[prop.value.type](names, prop.value); + } + } + }, + RestElement(names, param) { + extractors[param.argument.type](names, param.argument); + } +}; +const extractAssignedNames = function extractAssignedNames(param) { + const names = []; + extractors[param.type](names, param); + return names; +}; + +// Helper since Typescript can't detect readonly arrays with Array.isArray +function isArray(arg) { + return Array.isArray(arg); +} +function ensureArray$1(thing) { + if (isArray(thing)) + return thing; + if (thing == null) + return []; + return [thing]; +} + +const normalizePath = function normalizePath(filename) { + return filename.split(win32.sep).join(posix.sep); +}; + +function getMatcherString(id, resolutionBase) { + if (resolutionBase === false || isAbsolute(id) || id.startsWith('**')) { + return normalizePath(id); + } + // resolve('') is valid and will default to process.cwd() + const basePath = normalizePath(resolve(resolutionBase || '')) + // escape all possible (posix + win) path characters that might interfere with regex + .replace(/[-^$*+?.()|[\]{}]/g, '\\$&'); + // Note that we use posix.join because: + // 1. the basePath has been normalized to use / + // 2. the incoming glob (id) matcher, also uses / + // otherwise Node will force backslash (\) on windows + return posix.join(basePath, normalizePath(id)); +} +const createFilter = function createFilter(include, exclude, options) { + const resolutionBase = options && options.resolve; + const getMatcher = (id) => id instanceof RegExp + ? id + : { + test: (what) => { + // this refactor is a tad overly verbose but makes for easy debugging + const pattern = getMatcherString(id, resolutionBase); + const fn = pm(pattern, { dot: true }); + const result = fn(what); + return result; + } + }; + const includeMatchers = ensureArray$1(include).map(getMatcher); + const excludeMatchers = ensureArray$1(exclude).map(getMatcher); + return function result(id) { + if (typeof id !== 'string') + return false; + if (/\0/.test(id)) + return false; + const pathId = normalizePath(id); + for (let i = 0; i < excludeMatchers.length; ++i) { + const matcher = excludeMatchers[i]; + if (matcher.test(pathId)) + return false; + } + for (let i = 0; i < includeMatchers.length; ++i) { + const matcher = includeMatchers[i]; + if (matcher.test(pathId)) + return true; + } + return !includeMatchers.length; + }; +}; + +const reservedWords = 'break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public'; +const builtins = 'arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl'; +const forbiddenIdentifiers = new Set(`${reservedWords} ${builtins}`.split(' ')); +forbiddenIdentifiers.add(''); + +function createInclusionContext() { + return { + brokenFlow: false, + hasBreak: false, + hasContinue: false, + includedCallArguments: new Set(), + includedLabels: new Set() + }; +} +function createHasEffectsContext() { + return { + accessed: new PathTracker(), + assigned: new PathTracker(), + brokenFlow: false, + called: new DiscriminatedPathTracker(), + hasBreak: false, + hasContinue: false, + ignore: { + breaks: false, + continues: false, + labels: new Set(), + returnYield: false, + this: false + }, + includedLabels: new Set(), + instantiated: new DiscriminatedPathTracker(), + replacedVariableInits: new Map() + }; +} + +function assembleMemberDescriptions(memberDescriptions, inheritedDescriptions = null) { + return Object.create(inheritedDescriptions, memberDescriptions); +} +const UNDEFINED_EXPRESSION = new (class UndefinedExpression extends ExpressionEntity { + getLiteralValueAtPath() { + return undefined; + } +})(); +const returnsUnknown = { + value: { + hasEffectsWhenCalled: null, + returns: UNKNOWN_EXPRESSION + } +}; +const UNKNOWN_LITERAL_BOOLEAN = new (class UnknownBoolean extends ExpressionEntity { + getReturnExpressionWhenCalledAtPath(path) { + if (path.length === 1) { + return getMemberReturnExpressionWhenCalled(literalBooleanMembers, path[0]); + } + return UNKNOWN_RETURN_EXPRESSION; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + if (interaction.type === INTERACTION_ACCESSED) { + return path.length > 1; + } + if (interaction.type === INTERACTION_CALLED && path.length === 1) { + return hasMemberEffectWhenCalled(literalBooleanMembers, path[0], interaction, context); + } + return true; + } +})(); +const returnsBoolean = { + value: { + hasEffectsWhenCalled: null, + returns: UNKNOWN_LITERAL_BOOLEAN + } +}; +const UNKNOWN_LITERAL_NUMBER = new (class UnknownNumber extends ExpressionEntity { + getReturnExpressionWhenCalledAtPath(path) { + if (path.length === 1) { + return getMemberReturnExpressionWhenCalled(literalNumberMembers, path[0]); + } + return UNKNOWN_RETURN_EXPRESSION; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + if (interaction.type === INTERACTION_ACCESSED) { + return path.length > 1; + } + if (interaction.type === INTERACTION_CALLED && path.length === 1) { + return hasMemberEffectWhenCalled(literalNumberMembers, path[0], interaction, context); + } + return true; + } +})(); +const returnsNumber = { + value: { + hasEffectsWhenCalled: null, + returns: UNKNOWN_LITERAL_NUMBER + } +}; +const UNKNOWN_LITERAL_STRING = new (class UnknownString extends ExpressionEntity { + getReturnExpressionWhenCalledAtPath(path) { + if (path.length === 1) { + return getMemberReturnExpressionWhenCalled(literalStringMembers, path[0]); + } + return UNKNOWN_RETURN_EXPRESSION; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + if (interaction.type === INTERACTION_ACCESSED) { + return path.length > 1; + } + if (interaction.type === INTERACTION_CALLED && path.length === 1) { + return hasMemberEffectWhenCalled(literalStringMembers, path[0], interaction, context); + } + return true; + } +})(); +const returnsString = { + value: { + hasEffectsWhenCalled: null, + returns: UNKNOWN_LITERAL_STRING + } +}; +const stringReplace = { + value: { + hasEffectsWhenCalled({ args }, context) { + const argument1 = args[2]; + return (args.length < 3 || + (typeof argument1.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, { + deoptimizeCache() { } + }) === 'symbol' && + argument1.hasEffectsOnInteractionAtPath(EMPTY_PATH, NODE_INTERACTION_UNKNOWN_CALL, context))); + }, + returns: UNKNOWN_LITERAL_STRING + } +}; +const objectMembers = assembleMemberDescriptions({ + hasOwnProperty: returnsBoolean, + isPrototypeOf: returnsBoolean, + propertyIsEnumerable: returnsBoolean, + toLocaleString: returnsString, + toString: returnsString, + valueOf: returnsUnknown +}); +const literalBooleanMembers = assembleMemberDescriptions({ + valueOf: returnsBoolean +}, objectMembers); +const literalNumberMembers = assembleMemberDescriptions({ + toExponential: returnsString, + toFixed: returnsString, + toLocaleString: returnsString, + toPrecision: returnsString, + valueOf: returnsNumber +}, objectMembers); +/** + * RegExp are stateful when they have the global or sticky flags set. + * But if we actually don't use them, the side effect does not matter. + * the check logic in `hasEffectsOnInteractionAtPath`. + */ +const literalRegExpMembers = assembleMemberDescriptions({ + exec: returnsUnknown, + test: returnsBoolean +}, objectMembers); +const literalStringMembers = assembleMemberDescriptions({ + anchor: returnsString, + at: returnsUnknown, + big: returnsString, + blink: returnsString, + bold: returnsString, + charAt: returnsString, + charCodeAt: returnsNumber, + codePointAt: returnsUnknown, + concat: returnsString, + endsWith: returnsBoolean, + fixed: returnsString, + fontcolor: returnsString, + fontsize: returnsString, + includes: returnsBoolean, + indexOf: returnsNumber, + italics: returnsString, + lastIndexOf: returnsNumber, + link: returnsString, + localeCompare: returnsNumber, + match: returnsUnknown, + matchAll: returnsUnknown, + normalize: returnsString, + padEnd: returnsString, + padStart: returnsString, + repeat: returnsString, + replace: stringReplace, + replaceAll: stringReplace, + search: returnsNumber, + slice: returnsString, + small: returnsString, + split: returnsUnknown, + startsWith: returnsBoolean, + strike: returnsString, + sub: returnsString, + substr: returnsString, + substring: returnsString, + sup: returnsString, + toLocaleLowerCase: returnsString, + toLocaleUpperCase: returnsString, + toLowerCase: returnsString, + toString: returnsString, // overrides the toString() method of the Object object; it does not inherit Object.prototype.toString() + toUpperCase: returnsString, + trim: returnsString, + trimEnd: returnsString, + trimLeft: returnsString, + trimRight: returnsString, + trimStart: returnsString, + valueOf: returnsString +}, objectMembers); +function getLiteralMembersForValue(value) { + if (value instanceof RegExp) { + return literalRegExpMembers; + } + switch (typeof value) { + case 'boolean': { + return literalBooleanMembers; + } + case 'number': { + return literalNumberMembers; + } + case 'string': { + return literalStringMembers; + } + } + return Object.create(null); +} +function hasMemberEffectWhenCalled(members, memberName, interaction, context) { + if (typeof memberName !== 'string' || !members[memberName]) { + return true; + } + return members[memberName].hasEffectsWhenCalled?.(interaction, context) || false; +} +function getMemberReturnExpressionWhenCalled(members, memberName) { + if (typeof memberName !== 'string' || !members[memberName]) + return UNKNOWN_RETURN_EXPRESSION; + return [members[memberName].returns, false]; +} + +const keys = { + Literal: [], + Program: ['body'] +}; +function createKeysForNode(esTreeNode) { + return Object.keys(esTreeNode).filter(key => typeof esTreeNode[key] === 'object' && key.charCodeAt(0) !== 95 /* _ */); +} + +const INCLUDE_PARAMETERS = 'variables'; +class NodeBase extends ExpressionEntity { + /** + * Nodes can apply custom deoptimizations once they become part of the + * executed code. To do this, they must initialize this as false, implement + * applyDeoptimizations and call this from include and hasEffects if they have + * custom handlers + */ + get deoptimized() { + return isFlagSet(this.flags, 2 /* Flag.deoptimized */); + } + set deoptimized(value) { + this.flags = setFlag(this.flags, 2 /* Flag.deoptimized */, value); + } + constructor(esTreeNode, parent, parentScope, keepEsTreeNode = false) { + super(); + // Nodes can opt-in to keep the AST if needed during the build pipeline. + // Avoid true when possible as large AST takes up memory. + if (keepEsTreeNode) { + this.esTreeNode = esTreeNode; + } + const { type } = esTreeNode; + keys[type] ||= createKeysForNode(esTreeNode); + this.parent = parent; + this.scope = parentScope; + this.createScope(parentScope); + this.parseNode(esTreeNode); + this.initialise(); + this.scope.context.magicString.addSourcemapLocation(this.start); + this.scope.context.magicString.addSourcemapLocation(this.end); + } + addExportedVariables(_variables, _exportNamesByVariable) { } + /** + * Override this to bind assignments to variables and do any initialisations + * that require the scopes to be populated with variables. + */ + bind() { + for (const key of keys[this.type]) { + const value = this[key]; + if (Array.isArray(value)) { + for (const child of value) { + child?.bind(); + } + } + else if (value) { + value.bind(); + } + } + } + /** + * Override if this node should receive a different scope than the parent + * scope. + */ + createScope(parentScope) { + this.scope = parentScope; + } + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + for (const key of keys[this.type]) { + const value = this[key]; + if (value === null) + continue; + if (Array.isArray(value)) { + for (const child of value) { + if (child?.hasEffects(context)) + return true; + } + } + else if (value.hasEffects(context)) + return true; + } + return false; + } + hasEffectsAsAssignmentTarget(context, _checkAccess) { + return (this.hasEffects(context) || + this.hasEffectsOnInteractionAtPath(EMPTY_PATH, this.assignmentInteraction, context)); + } + include(context, includeChildrenRecursively, _options) { + if (!this.deoptimized) + this.applyDeoptimizations(); + this.included = true; + for (const key of keys[this.type]) { + const value = this[key]; + if (value === null) + continue; + if (Array.isArray(value)) { + for (const child of value) { + child?.include(context, includeChildrenRecursively); + } + } + else { + value.include(context, includeChildrenRecursively); + } + } + } + includeAsAssignmentTarget(context, includeChildrenRecursively, _deoptimizeAccess) { + this.include(context, includeChildrenRecursively); + } + /** + * Override to perform special initialisation steps after the scope is + * initialised + */ + initialise() { } + parseNode(esTreeNode, keepEsTreeNodeKeys) { + for (const [key, value] of Object.entries(esTreeNode)) { + // Skip properties defined on the class already. + // This way, we can override this function to add custom initialisation and then call super.parseNode + // Note: this doesn't skip properties with defined getters/setters which we use to pack wrap booleans + // in bitfields. Those are still assigned from the value in the esTreeNode. + if (this.hasOwnProperty(key)) + continue; + if (key.charCodeAt(0) === 95 /* _ */) { + if (key === ANNOTATION_KEY) { + const annotations = value; + this.annotations = annotations; + if (this.scope.context.options.treeshake.annotations) { + this.annotationNoSideEffects = annotations.some(comment => comment.type === 'noSideEffects'); + this.annotationPure = annotations.some(comment => comment.type === 'pure'); + } + } + else if (key === INVALID_ANNOTATION_KEY) { + for (const { start, end, type } of value) { + this.scope.context.magicString.remove(start, end); + if (type === 'pure' || type === 'noSideEffects') { + this.scope.context.log(LOGLEVEL_WARN, logInvalidAnnotation(this.scope.context.code.slice(start, end), this.scope.context.module.id, type), start); + } + } + } + } + else if (typeof value !== 'object' || value === null) { + this[key] = value; + } + else if (Array.isArray(value)) { + this[key] = []; + for (const child of value) { + this[key].push(child === null + ? null + : new (this.scope.context.getNodeConstructor(child.type))(child, this, this.scope, keepEsTreeNodeKeys?.includes(key))); + } + } + else { + this[key] = new (this.scope.context.getNodeConstructor(value.type))(value, this, this.scope, keepEsTreeNodeKeys?.includes(key)); + } + } + } + removeAnnotations(code) { + if (this.annotations) { + for (const annotation of this.annotations) { + code.remove(annotation.start, annotation.end); + } + } + } + render(code, options) { + for (const key of keys[this.type]) { + const value = this[key]; + if (value === null) + continue; + if (Array.isArray(value)) { + for (const child of value) { + child?.render(code, options); + } + } + else { + value.render(code, options); + } + } + } + setAssignedValue(value) { + this.assignmentInteraction = { args: [null, value], type: INTERACTION_ASSIGNED }; + } + shouldBeIncluded(context) { + return this.included || (!context.brokenFlow && this.hasEffects(createHasEffectsContext())); + } + /** + * Just deoptimize everything by default so that when e.g. we do not track + * something properly, it is deoptimized. + * @protected + */ + applyDeoptimizations() { + this.deoptimized = true; + for (const key of keys[this.type]) { + const value = this[key]; + if (value === null) + continue; + if (Array.isArray(value)) { + for (const child of value) { + child?.deoptimizePath(UNKNOWN_PATH); + } + } + else { + value.deoptimizePath(UNKNOWN_PATH); + } + } + this.scope.context.requestTreeshakingPass(); + } +} + +class SpreadElement extends NodeBase { + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + if (path.length > 0) { + this.argument.deoptimizeArgumentsOnInteractionAtPath(interaction, [UnknownKey, ...path], recursionTracker); + } + } + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + const { propertyReadSideEffects } = this.scope.context.options + .treeshake; + return (this.argument.hasEffects(context) || + (propertyReadSideEffects && + (propertyReadSideEffects === 'always' || + this.argument.hasEffectsOnInteractionAtPath(UNKNOWN_PATH, NODE_INTERACTION_UNKNOWN_ACCESS, context)))); + } + applyDeoptimizations() { + this.deoptimized = true; + // Only properties of properties of the argument could become subject to reassignment + // This will also reassign the return values of iterators + this.argument.deoptimizePath([UnknownKey, UnknownKey]); + this.scope.context.requestTreeshakingPass(); + } +} + +class Method extends ExpressionEntity { + constructor(description) { + super(); + this.description = description; + } + deoptimizeArgumentsOnInteractionAtPath({ args, type }, path) { + if (type === INTERACTION_CALLED && path.length === 0) { + if (this.description.mutatesSelfAsArray) { + args[0]?.deoptimizePath(UNKNOWN_INTEGER_PATH); + } + if (this.description.mutatesArgs) { + for (let index = 1; index < args.length; index++) { + args[index].deoptimizePath(UNKNOWN_PATH); + } + } + } + } + getReturnExpressionWhenCalledAtPath(path, { args }) { + if (path.length > 0) { + return UNKNOWN_RETURN_EXPRESSION; + } + return [ + this.description.returnsPrimitive || + (this.description.returns === 'self' + ? args[0] || UNKNOWN_EXPRESSION + : this.description.returns()), + false + ]; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + const { type } = interaction; + if (path.length > (type === INTERACTION_ACCESSED ? 1 : 0)) { + return true; + } + if (type === INTERACTION_CALLED) { + const { args } = interaction; + if (this.description.mutatesSelfAsArray === true && + args[0]?.hasEffectsOnInteractionAtPath(UNKNOWN_INTEGER_PATH, NODE_INTERACTION_UNKNOWN_ASSIGNMENT, context)) { + return true; + } + if (this.description.callsArgs) { + for (const argumentIndex of this.description.callsArgs) { + if (args[argumentIndex + 1]?.hasEffectsOnInteractionAtPath(EMPTY_PATH, NODE_INTERACTION_UNKNOWN_CALL, context)) { + return true; + } + } + } + } + return false; + } +} +const METHOD_RETURNS_BOOLEAN = [ + new Method({ + callsArgs: null, + mutatesArgs: false, + mutatesSelfAsArray: false, + returns: null, + returnsPrimitive: UNKNOWN_LITERAL_BOOLEAN + }) +]; +const METHOD_RETURNS_STRING = [ + new Method({ + callsArgs: null, + mutatesArgs: false, + mutatesSelfAsArray: false, + returns: null, + returnsPrimitive: UNKNOWN_LITERAL_STRING + }) +]; +const METHOD_RETURNS_NUMBER = [ + new Method({ + callsArgs: null, + mutatesArgs: false, + mutatesSelfAsArray: false, + returns: null, + returnsPrimitive: UNKNOWN_LITERAL_NUMBER + }) +]; +const METHOD_RETURNS_UNKNOWN = [ + new Method({ + callsArgs: null, + mutatesArgs: false, + mutatesSelfAsArray: false, + returns: null, + returnsPrimitive: UNKNOWN_EXPRESSION + }) +]; + +const INTEGER_REG_EXP = /^\d+$/; +class ObjectEntity extends ExpressionEntity { + get hasLostTrack() { + return isFlagSet(this.flags, 2048 /* Flag.hasLostTrack */); + } + set hasLostTrack(value) { + this.flags = setFlag(this.flags, 2048 /* Flag.hasLostTrack */, value); + } + get hasUnknownDeoptimizedInteger() { + return isFlagSet(this.flags, 4096 /* Flag.hasUnknownDeoptimizedInteger */); + } + set hasUnknownDeoptimizedInteger(value) { + this.flags = setFlag(this.flags, 4096 /* Flag.hasUnknownDeoptimizedInteger */, value); + } + get hasUnknownDeoptimizedProperty() { + return isFlagSet(this.flags, 8192 /* Flag.hasUnknownDeoptimizedProperty */); + } + set hasUnknownDeoptimizedProperty(value) { + this.flags = setFlag(this.flags, 8192 /* Flag.hasUnknownDeoptimizedProperty */, value); + } + // If a PropertyMap is used, this will be taken as propertiesAndGettersByKey + // and we assume there are no setters or getters + constructor(properties, prototypeExpression, immutable = false) { + super(); + this.prototypeExpression = prototypeExpression; + this.immutable = immutable; + this.additionalExpressionsToBeDeoptimized = new Set(); + this.allProperties = []; + this.deoptimizedPaths = Object.create(null); + this.expressionsToBeDeoptimizedByKey = Object.create(null); + this.gettersByKey = Object.create(null); + this.propertiesAndGettersByKey = Object.create(null); + this.propertiesAndSettersByKey = Object.create(null); + this.settersByKey = Object.create(null); + this.unknownIntegerProps = []; + this.unmatchableGetters = []; + this.unmatchablePropertiesAndGetters = []; + this.unmatchableSetters = []; + if (Array.isArray(properties)) { + this.buildPropertyMaps(properties); + } + else { + this.propertiesAndGettersByKey = this.propertiesAndSettersByKey = properties; + for (const propertiesForKey of Object.values(properties)) { + this.allProperties.push(...propertiesForKey); + } + } + } + deoptimizeAllProperties(noAccessors) { + const isDeoptimized = this.hasLostTrack || this.hasUnknownDeoptimizedProperty; + if (noAccessors) { + this.hasUnknownDeoptimizedProperty = true; + } + else { + this.hasLostTrack = true; + } + if (isDeoptimized) { + return; + } + for (const properties of [ + ...Object.values(this.propertiesAndGettersByKey), + ...Object.values(this.settersByKey) + ]) { + for (const property of properties) { + property.deoptimizePath(UNKNOWN_PATH); + } + } + // While the prototype itself cannot be mutated, each property can + this.prototypeExpression?.deoptimizePath([UnknownKey, UnknownKey]); + this.deoptimizeCachedEntities(); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + const [key, ...subPath] = path; + const { args, type } = interaction; + if (this.hasLostTrack || + // single paths that are deoptimized will not become getters or setters + ((type === INTERACTION_CALLED || path.length > 1) && + (this.hasUnknownDeoptimizedProperty || + (typeof key === 'string' && this.deoptimizedPaths[key])))) { + deoptimizeInteraction(interaction); + return; + } + const [propertiesForExactMatchByKey, relevantPropertiesByKey, relevantUnmatchableProperties] = type === INTERACTION_CALLED || path.length > 1 + ? [ + this.propertiesAndGettersByKey, + this.propertiesAndGettersByKey, + this.unmatchablePropertiesAndGetters + ] + : type === INTERACTION_ACCESSED + ? [this.propertiesAndGettersByKey, this.gettersByKey, this.unmatchableGetters] + : [this.propertiesAndSettersByKey, this.settersByKey, this.unmatchableSetters]; + if (typeof key === 'string') { + if (propertiesForExactMatchByKey[key]) { + const properties = relevantPropertiesByKey[key]; + if (properties) { + for (const property of properties) { + property.deoptimizeArgumentsOnInteractionAtPath(interaction, subPath, recursionTracker); + } + } + if (!this.immutable) { + for (const argument of args) { + if (argument) { + this.additionalExpressionsToBeDeoptimized.add(argument); + } + } + } + return; + } + for (const property of relevantUnmatchableProperties) { + property.deoptimizeArgumentsOnInteractionAtPath(interaction, subPath, recursionTracker); + } + if (INTEGER_REG_EXP.test(key)) { + for (const property of this.unknownIntegerProps) { + property.deoptimizeArgumentsOnInteractionAtPath(interaction, subPath, recursionTracker); + } + } + } + else { + for (const properties of [ + ...Object.values(relevantPropertiesByKey), + relevantUnmatchableProperties + ]) { + for (const property of properties) { + property.deoptimizeArgumentsOnInteractionAtPath(interaction, subPath, recursionTracker); + } + } + for (const property of this.unknownIntegerProps) { + property.deoptimizeArgumentsOnInteractionAtPath(interaction, subPath, recursionTracker); + } + } + if (!this.immutable) { + for (const argument of args) { + if (argument) { + this.additionalExpressionsToBeDeoptimized.add(argument); + } + } + } + this.prototypeExpression?.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizeIntegerProperties() { + if (this.hasLostTrack || + this.hasUnknownDeoptimizedProperty || + this.hasUnknownDeoptimizedInteger) { + return; + } + this.hasUnknownDeoptimizedInteger = true; + for (const [key, propertiesAndGetters] of Object.entries(this.propertiesAndGettersByKey)) { + if (INTEGER_REG_EXP.test(key)) { + for (const property of propertiesAndGetters) { + property.deoptimizePath(UNKNOWN_PATH); + } + } + } + this.deoptimizeCachedIntegerEntities(); + } + // Assumption: If only a specific path is deoptimized, no accessors are created + deoptimizePath(path) { + if (this.hasLostTrack || this.immutable) { + return; + } + const key = path[0]; + if (path.length === 1) { + if (typeof key !== 'string') { + if (key === UnknownInteger) { + return this.deoptimizeIntegerProperties(); + } + return this.deoptimizeAllProperties(key === UnknownNonAccessorKey); + } + if (!this.deoptimizedPaths[key]) { + this.deoptimizedPaths[key] = true; + // we only deoptimizeCache exact matches as in all other cases, + // we do not return a literal value or return expression + const expressionsToBeDeoptimized = this.expressionsToBeDeoptimizedByKey[key]; + if (expressionsToBeDeoptimized) { + for (const expression of expressionsToBeDeoptimized) { + expression.deoptimizeCache(); + } + } + } + } + const subPath = path.length === 1 ? UNKNOWN_PATH : path.slice(1); + for (const property of typeof key === 'string' + ? [ + ...(this.propertiesAndGettersByKey[key] || this.unmatchablePropertiesAndGetters), + ...(this.settersByKey[key] || this.unmatchableSetters) + ] + : this.allProperties) { + property.deoptimizePath(subPath); + } + this.prototypeExpression?.deoptimizePath(path.length === 1 ? [...path, UnknownKey] : path); + } + getLiteralValueAtPath(path, recursionTracker, origin) { + if (path.length === 0) { + return UnknownTruthyValue; + } + const key = path[0]; + const expressionAtPath = this.getMemberExpressionAndTrackDeopt(key, origin); + if (expressionAtPath) { + return expressionAtPath.getLiteralValueAtPath(path.slice(1), recursionTracker, origin); + } + if (this.prototypeExpression) { + return this.prototypeExpression.getLiteralValueAtPath(path, recursionTracker, origin); + } + if (path.length === 1) { + return undefined; + } + return UnknownValue; + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + if (path.length === 0) { + return UNKNOWN_RETURN_EXPRESSION; + } + const [key, ...subPath] = path; + const expressionAtPath = this.getMemberExpressionAndTrackDeopt(key, origin); + if (expressionAtPath) { + return expressionAtPath.getReturnExpressionWhenCalledAtPath(subPath, interaction, recursionTracker, origin); + } + if (this.prototypeExpression) { + return this.prototypeExpression.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + } + return UNKNOWN_RETURN_EXPRESSION; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + const [key, ...subPath] = path; + if (subPath.length > 0 || interaction.type === INTERACTION_CALLED) { + const expressionAtPath = this.getMemberExpression(key); + if (expressionAtPath) { + return expressionAtPath.hasEffectsOnInteractionAtPath(subPath, interaction, context); + } + if (this.prototypeExpression) { + return this.prototypeExpression.hasEffectsOnInteractionAtPath(path, interaction, context); + } + return true; + } + if (key === UnknownNonAccessorKey) + return false; + if (this.hasLostTrack) + return true; + const [propertiesAndAccessorsByKey, accessorsByKey, unmatchableAccessors] = interaction.type === INTERACTION_ACCESSED + ? [this.propertiesAndGettersByKey, this.gettersByKey, this.unmatchableGetters] + : [this.propertiesAndSettersByKey, this.settersByKey, this.unmatchableSetters]; + if (typeof key === 'string') { + if (propertiesAndAccessorsByKey[key]) { + const accessors = accessorsByKey[key]; + if (accessors) { + for (const accessor of accessors) { + if (accessor.hasEffectsOnInteractionAtPath(subPath, interaction, context)) + return true; + } + } + return false; + } + for (const accessor of unmatchableAccessors) { + if (accessor.hasEffectsOnInteractionAtPath(subPath, interaction, context)) { + return true; + } + } + } + else { + for (const accessors of [...Object.values(accessorsByKey), unmatchableAccessors]) { + for (const accessor of accessors) { + if (accessor.hasEffectsOnInteractionAtPath(subPath, interaction, context)) + return true; + } + } + } + if (this.prototypeExpression) { + return this.prototypeExpression.hasEffectsOnInteractionAtPath(path, interaction, context); + } + return false; + } + buildPropertyMaps(properties) { + const { allProperties, propertiesAndGettersByKey, propertiesAndSettersByKey, settersByKey, gettersByKey, unknownIntegerProps, unmatchablePropertiesAndGetters, unmatchableGetters, unmatchableSetters } = this; + const unmatchablePropertiesAndSetters = []; + for (let index = properties.length - 1; index >= 0; index--) { + const { key, kind, property } = properties[index]; + allProperties.push(property); + if (typeof key === 'string') { + if (kind === 'set') { + if (!propertiesAndSettersByKey[key]) { + propertiesAndSettersByKey[key] = [property, ...unmatchablePropertiesAndSetters]; + settersByKey[key] = [property, ...unmatchableSetters]; + } + } + else if (kind === 'get') { + if (!propertiesAndGettersByKey[key]) { + propertiesAndGettersByKey[key] = [property, ...unmatchablePropertiesAndGetters]; + gettersByKey[key] = [property, ...unmatchableGetters]; + } + } + else { + if (!propertiesAndSettersByKey[key]) { + propertiesAndSettersByKey[key] = [property, ...unmatchablePropertiesAndSetters]; + } + if (!propertiesAndGettersByKey[key]) { + propertiesAndGettersByKey[key] = [property, ...unmatchablePropertiesAndGetters]; + } + } + } + else { + if (key === UnknownInteger) { + unknownIntegerProps.push(property); + continue; + } + if (kind === 'set') + unmatchableSetters.push(property); + if (kind === 'get') + unmatchableGetters.push(property); + if (kind !== 'get') + unmatchablePropertiesAndSetters.push(property); + if (kind !== 'set') + unmatchablePropertiesAndGetters.push(property); + } + } + } + deoptimizeCachedEntities() { + for (const expressionsToBeDeoptimized of Object.values(this.expressionsToBeDeoptimizedByKey)) { + for (const expression of expressionsToBeDeoptimized) { + expression.deoptimizeCache(); + } + } + for (const expression of this.additionalExpressionsToBeDeoptimized) { + expression.deoptimizePath(UNKNOWN_PATH); + } + } + deoptimizeCachedIntegerEntities() { + for (const [key, expressionsToBeDeoptimized] of Object.entries(this.expressionsToBeDeoptimizedByKey)) { + if (INTEGER_REG_EXP.test(key)) { + for (const expression of expressionsToBeDeoptimized) { + expression.deoptimizeCache(); + } + } + } + for (const expression of this.additionalExpressionsToBeDeoptimized) { + expression.deoptimizePath(UNKNOWN_INTEGER_PATH); + } + } + getMemberExpression(key) { + if (this.hasLostTrack || + this.hasUnknownDeoptimizedProperty || + typeof key !== 'string' || + (this.hasUnknownDeoptimizedInteger && INTEGER_REG_EXP.test(key)) || + this.deoptimizedPaths[key]) { + return UNKNOWN_EXPRESSION; + } + const properties = this.propertiesAndGettersByKey[key]; + if (properties?.length === 1) { + return properties[0]; + } + if (properties || + this.unmatchablePropertiesAndGetters.length > 0 || + (this.unknownIntegerProps.length > 0 && INTEGER_REG_EXP.test(key))) { + return UNKNOWN_EXPRESSION; + } + return null; + } + getMemberExpressionAndTrackDeopt(key, origin) { + if (typeof key !== 'string') { + return UNKNOWN_EXPRESSION; + } + const expression = this.getMemberExpression(key); + if (!(expression === UNKNOWN_EXPRESSION || this.immutable)) { + const expressionsToBeDeoptimized = (this.expressionsToBeDeoptimizedByKey[key] = + this.expressionsToBeDeoptimizedByKey[key] || []); + expressionsToBeDeoptimized.push(origin); + } + return expression; + } +} + +const isInteger = (property) => typeof property === 'string' && /^\d+$/.test(property); +// This makes sure unknown properties are not handled as "undefined" but as +// "unknown" but without access side effects. An exception is done for numeric +// properties as we do not expect new builtin properties to be numbers, this +// will improve tree-shaking for out-of-bounds array properties +const OBJECT_PROTOTYPE_FALLBACK = new (class ObjectPrototypeFallbackExpression extends ExpressionEntity { + deoptimizeArgumentsOnInteractionAtPath(interaction, path) { + if (interaction.type === INTERACTION_CALLED && path.length === 1 && !isInteger(path[0])) { + deoptimizeInteraction(interaction); + } + } + getLiteralValueAtPath(path) { + // We ignore number properties as we do not expect new properties to be + // numbers and also want to keep handling out-of-bound array elements as + // "undefined" + return path.length === 1 && isInteger(path[0]) ? undefined : UnknownValue; + } + hasEffectsOnInteractionAtPath(path, { type }) { + return path.length > 1 || type === INTERACTION_CALLED; + } +})(); +const OBJECT_PROTOTYPE = new ObjectEntity({ + __proto__: null, + hasOwnProperty: METHOD_RETURNS_BOOLEAN, + isPrototypeOf: METHOD_RETURNS_BOOLEAN, + propertyIsEnumerable: METHOD_RETURNS_BOOLEAN, + toLocaleString: METHOD_RETURNS_STRING, + toString: METHOD_RETURNS_STRING, + valueOf: METHOD_RETURNS_UNKNOWN +}, OBJECT_PROTOTYPE_FALLBACK, true); + +const NEW_ARRAY_PROPERTIES = [ + { key: UnknownInteger, kind: 'init', property: UNKNOWN_EXPRESSION }, + { key: 'length', kind: 'init', property: UNKNOWN_LITERAL_NUMBER } +]; +const METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_BOOLEAN = [ + new Method({ + callsArgs: [0], + mutatesArgs: false, + mutatesSelfAsArray: 'deopt-only', + returns: null, + returnsPrimitive: UNKNOWN_LITERAL_BOOLEAN + }) +]; +const METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NUMBER = [ + new Method({ + callsArgs: [0], + mutatesArgs: false, + mutatesSelfAsArray: 'deopt-only', + returns: null, + returnsPrimitive: UNKNOWN_LITERAL_NUMBER + }) +]; +const METHOD_MUTATES_SELF_RETURNS_NEW_ARRAY = [ + new Method({ + callsArgs: null, + mutatesArgs: false, + mutatesSelfAsArray: true, + returns: () => new ObjectEntity(NEW_ARRAY_PROPERTIES, ARRAY_PROTOTYPE), + returnsPrimitive: null + }) +]; +const METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY = [ + new Method({ + callsArgs: null, + mutatesArgs: false, + mutatesSelfAsArray: 'deopt-only', + returns: () => new ObjectEntity(NEW_ARRAY_PROPERTIES, ARRAY_PROTOTYPE), + returnsPrimitive: null + }) +]; +const METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NEW_ARRAY = [ + new Method({ + callsArgs: [0], + mutatesArgs: false, + mutatesSelfAsArray: 'deopt-only', + returns: () => new ObjectEntity(NEW_ARRAY_PROPERTIES, ARRAY_PROTOTYPE), + returnsPrimitive: null + }) +]; +const METHOD_MUTATES_SELF_AND_ARGS_RETURNS_NUMBER = [ + new Method({ + callsArgs: null, + mutatesArgs: true, + mutatesSelfAsArray: true, + returns: null, + returnsPrimitive: UNKNOWN_LITERAL_NUMBER + }) +]; +const METHOD_MUTATES_SELF_RETURNS_UNKNOWN = [ + new Method({ + callsArgs: null, + mutatesArgs: false, + mutatesSelfAsArray: true, + returns: null, + returnsPrimitive: UNKNOWN_EXPRESSION + }) +]; +const METHOD_DEOPTS_SELF_RETURNS_UNKNOWN = [ + new Method({ + callsArgs: null, + mutatesArgs: false, + mutatesSelfAsArray: 'deopt-only', + returns: null, + returnsPrimitive: UNKNOWN_EXPRESSION + }) +]; +const METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN = [ + new Method({ + callsArgs: [0], + mutatesArgs: false, + mutatesSelfAsArray: 'deopt-only', + returns: null, + returnsPrimitive: UNKNOWN_EXPRESSION + }) +]; +const METHOD_MUTATES_SELF_RETURNS_SELF = [ + new Method({ + callsArgs: null, + mutatesArgs: false, + mutatesSelfAsArray: true, + returns: 'self', + returnsPrimitive: null + }) +]; +const METHOD_CALLS_ARG_MUTATES_SELF_RETURNS_SELF = [ + new Method({ + callsArgs: [0], + mutatesArgs: false, + mutatesSelfAsArray: true, + returns: 'self', + returnsPrimitive: null + }) +]; +const ARRAY_PROTOTYPE = new ObjectEntity({ + __proto__: null, + // We assume that accessors have effects as we do not track the accessed value afterwards + at: METHOD_DEOPTS_SELF_RETURNS_UNKNOWN, + concat: METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY, + copyWithin: METHOD_MUTATES_SELF_RETURNS_SELF, + entries: METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY, + every: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_BOOLEAN, + fill: METHOD_MUTATES_SELF_RETURNS_SELF, + filter: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NEW_ARRAY, + find: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN, + findIndex: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NUMBER, + findLast: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN, + findLastIndex: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NUMBER, + flat: METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY, + flatMap: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NEW_ARRAY, + forEach: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN, + includes: METHOD_RETURNS_BOOLEAN, + indexOf: METHOD_RETURNS_NUMBER, + join: METHOD_RETURNS_STRING, + keys: METHOD_RETURNS_UNKNOWN, + lastIndexOf: METHOD_RETURNS_NUMBER, + map: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NEW_ARRAY, + pop: METHOD_MUTATES_SELF_RETURNS_UNKNOWN, + push: METHOD_MUTATES_SELF_AND_ARGS_RETURNS_NUMBER, + reduce: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN, + reduceRight: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN, + reverse: METHOD_MUTATES_SELF_RETURNS_SELF, + shift: METHOD_MUTATES_SELF_RETURNS_UNKNOWN, + slice: METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY, + some: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_BOOLEAN, + sort: METHOD_CALLS_ARG_MUTATES_SELF_RETURNS_SELF, + splice: METHOD_MUTATES_SELF_RETURNS_NEW_ARRAY, + toLocaleString: METHOD_RETURNS_STRING, + toString: METHOD_RETURNS_STRING, + unshift: METHOD_MUTATES_SELF_AND_ARGS_RETURNS_NUMBER, + values: METHOD_DEOPTS_SELF_RETURNS_UNKNOWN +}, OBJECT_PROTOTYPE, true); + +class ArrayExpression extends NodeBase { + constructor() { + super(...arguments); + this.objectEntity = null; + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.getObjectEntity().deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizePath(path) { + this.getObjectEntity().deoptimizePath(path); + } + getLiteralValueAtPath(path, recursionTracker, origin) { + return this.getObjectEntity().getLiteralValueAtPath(path, recursionTracker, origin); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + return this.getObjectEntity().getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + return this.getObjectEntity().hasEffectsOnInteractionAtPath(path, interaction, context); + } + applyDeoptimizations() { + this.deoptimized = true; + let hasSpread = false; + for (let index = 0; index < this.elements.length; index++) { + const element = this.elements[index]; + if (element && (hasSpread || element instanceof SpreadElement)) { + hasSpread = true; + element.deoptimizePath(UNKNOWN_PATH); + } + } + this.scope.context.requestTreeshakingPass(); + } + getObjectEntity() { + if (this.objectEntity !== null) { + return this.objectEntity; + } + const properties = [ + { key: 'length', kind: 'init', property: UNKNOWN_LITERAL_NUMBER } + ]; + let hasSpread = false; + for (let index = 0; index < this.elements.length; index++) { + const element = this.elements[index]; + if (hasSpread || element instanceof SpreadElement) { + if (element) { + hasSpread = true; + properties.unshift({ key: UnknownInteger, kind: 'init', property: element }); + } + } + else if (element) { + properties.push({ key: String(index), kind: 'init', property: element }); + } + else { + properties.push({ key: String(index), kind: 'init', property: UNDEFINED_EXPRESSION }); + } + } + return (this.objectEntity = new ObjectEntity(properties, ARRAY_PROTOTYPE)); + } +} + +class ArrayPattern extends NodeBase { + addExportedVariables(variables, exportNamesByVariable) { + for (const element of this.elements) { + element?.addExportedVariables(variables, exportNamesByVariable); + } + } + declare(kind) { + const variables = []; + for (const element of this.elements) { + if (element !== null) { + variables.push(...element.declare(kind, UNKNOWN_EXPRESSION)); + } + } + return variables; + } + // Patterns can only be deoptimized at the empty path at the moment + deoptimizePath() { + for (const element of this.elements) { + element?.deoptimizePath(EMPTY_PATH); + } + } + // Patterns are only checked at the emtpy path at the moment + hasEffectsOnInteractionAtPath(_path, interaction, context) { + for (const element of this.elements) { + if (element?.hasEffectsOnInteractionAtPath(EMPTY_PATH, interaction, context)) + return true; + } + return false; + } + markDeclarationReached() { + for (const element of this.elements) { + element?.markDeclarationReached(); + } + } +} + +const ArrowFunctionExpression$1 = 'ArrowFunctionExpression'; +const BlockStatement$1 = 'BlockStatement'; +const CallExpression$1 = 'CallExpression'; +const CatchClause$1 = 'CatchClause'; +const ExpressionStatement$1 = 'ExpressionStatement'; +const Identifier$1 = 'Identifier'; +const Program$1 = 'Program'; +const Property$1 = 'Property'; +const ReturnStatement$1 = 'ReturnStatement'; + +class LocalVariable extends Variable { + constructor(name, declarator, init, context, kind) { + super(name); + this.init = init; + this.calledFromTryStatement = false; + this.additionalInitializers = null; + this.expressionsToBeDeoptimized = []; + this.declarations = declarator ? [declarator] : []; + this.deoptimizationTracker = context.deoptimizationTracker; + this.module = context.module; + this.kind = kind; + } + addDeclaration(identifier, init) { + this.declarations.push(identifier); + this.markInitializersForDeoptimization().push(init); + } + consolidateInitializers() { + if (this.additionalInitializers) { + for (const initializer of this.additionalInitializers) { + initializer.deoptimizePath(UNKNOWN_PATH); + } + this.additionalInitializers = null; + } + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + if (this.isReassigned) { + deoptimizeInteraction(interaction); + return; + } + recursionTracker.withTrackedEntityAtPath(path, this.init, () => this.init.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker), undefined); + } + deoptimizePath(path) { + if (this.isReassigned || + this.deoptimizationTracker.trackEntityAtPathAndGetIfTracked(path, this)) { + return; + } + if (path.length === 0) { + this.isReassigned = true; + const expressionsToBeDeoptimized = this.expressionsToBeDeoptimized; + this.expressionsToBeDeoptimized = EMPTY_ARRAY; + for (const expression of expressionsToBeDeoptimized) { + expression.deoptimizeCache(); + } + this.init.deoptimizePath(UNKNOWN_PATH); + } + else { + this.init.deoptimizePath(path); + } + } + getLiteralValueAtPath(path, recursionTracker, origin) { + if (this.isReassigned) { + return UnknownValue; + } + return recursionTracker.withTrackedEntityAtPath(path, this.init, () => { + this.expressionsToBeDeoptimized.push(origin); + return this.init.getLiteralValueAtPath(path, recursionTracker, origin); + }, UnknownValue); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + if (this.isReassigned) { + return UNKNOWN_RETURN_EXPRESSION; + } + return recursionTracker.withTrackedEntityAtPath(path, this.init, () => { + this.expressionsToBeDeoptimized.push(origin); + return this.init.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + }, UNKNOWN_RETURN_EXPRESSION); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + switch (interaction.type) { + case INTERACTION_ACCESSED: { + if (this.isReassigned) + return true; + return (!context.accessed.trackEntityAtPathAndGetIfTracked(path, this) && + this.init.hasEffectsOnInteractionAtPath(path, interaction, context)); + } + case INTERACTION_ASSIGNED: { + if (this.included) + return true; + if (path.length === 0) + return false; + if (this.isReassigned) + return true; + return (!context.assigned.trackEntityAtPathAndGetIfTracked(path, this) && + this.init.hasEffectsOnInteractionAtPath(path, interaction, context)); + } + case INTERACTION_CALLED: { + if (this.isReassigned) + return true; + return (!(interaction.withNew ? context.instantiated : context.called).trackEntityAtPathAndGetIfTracked(path, interaction.args, this) && + this.init.hasEffectsOnInteractionAtPath(path, interaction, context)); + } + } + } + include() { + if (!this.included) { + super.include(); + for (const declaration of this.declarations) { + // If node is a default export, it can save a tree-shaking run to include the full declaration now + if (!declaration.included) + declaration.include(createInclusionContext(), false); + let node = declaration.parent; + while (!node.included) { + // We do not want to properly include parents in case they are part of a dead branch + // in which case .include() might pull in more dead code + node.included = true; + if (node.type === Program$1) + break; + node = node.parent; + } + } + } + } + includeCallArguments(context, parameters) { + if (this.isReassigned || context.includedCallArguments.has(this.init)) { + for (const argument of parameters) { + argument.include(context, false); + } + } + else { + context.includedCallArguments.add(this.init); + this.init.includeCallArguments(context, parameters); + context.includedCallArguments.delete(this.init); + } + } + markCalledFromTryStatement() { + this.calledFromTryStatement = true; + } + markInitializersForDeoptimization() { + if (this.additionalInitializers === null) { + this.additionalInitializers = [this.init]; + this.init = UNKNOWN_EXPRESSION; + this.isReassigned = true; + } + return this.additionalInitializers; + } +} + +const MAX_TRACKED_INTERACTIONS = 20; +const NO_INTERACTIONS = EMPTY_ARRAY; +const UNKNOWN_DEOPTIMIZED_FIELD = new Set([UnknownKey]); +const EMPTY_PATH_TRACKER = new PathTracker(); +const UNKNOWN_DEOPTIMIZED_ENTITY = new Set([UNKNOWN_EXPRESSION]); +class ParameterVariable extends LocalVariable { + constructor(name, declarator, context) { + super(name, declarator, UNKNOWN_EXPRESSION, context, "parameter" /* VariableKind.parameter */); + this.deoptimizationInteractions = []; + this.deoptimizations = new PathTracker(); + this.deoptimizedFields = new Set(); + this.entitiesToBeDeoptimized = new Set(); + } + addEntityToBeDeoptimized(entity) { + if (entity === UNKNOWN_EXPRESSION) { + // As unknown expressions fully deoptimize all interactions, we can clear + // the interaction cache at this point provided we keep this optimization + // in mind when adding new interactions + if (!this.entitiesToBeDeoptimized.has(UNKNOWN_EXPRESSION)) { + this.entitiesToBeDeoptimized.add(UNKNOWN_EXPRESSION); + for (const { interaction } of this.deoptimizationInteractions) { + deoptimizeInteraction(interaction); + } + this.deoptimizationInteractions = NO_INTERACTIONS; + } + } + else if (this.deoptimizedFields.has(UnknownKey)) { + // This means that we already deoptimized all interactions and no longer + // track them + entity.deoptimizePath(UNKNOWN_PATH); + } + else if (!this.entitiesToBeDeoptimized.has(entity)) { + this.entitiesToBeDeoptimized.add(entity); + for (const field of this.deoptimizedFields) { + entity.deoptimizePath([field]); + } + for (const { interaction, path } of this.deoptimizationInteractions) { + entity.deoptimizeArgumentsOnInteractionAtPath(interaction, path, SHARED_RECURSION_TRACKER); + } + } + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path) { + // For performance reasons, we fully deoptimize all deeper interactions + if (path.length >= 2 || + this.entitiesToBeDeoptimized.has(UNKNOWN_EXPRESSION) || + this.deoptimizationInteractions.length >= MAX_TRACKED_INTERACTIONS || + (path.length === 1 && + (this.deoptimizedFields.has(UnknownKey) || + (interaction.type === INTERACTION_CALLED && this.deoptimizedFields.has(path[0]))))) { + deoptimizeInteraction(interaction); + return; + } + if (!this.deoptimizations.trackEntityAtPathAndGetIfTracked(path, interaction.args)) { + for (const entity of this.entitiesToBeDeoptimized) { + entity.deoptimizeArgumentsOnInteractionAtPath(interaction, path, SHARED_RECURSION_TRACKER); + } + if (!this.entitiesToBeDeoptimized.has(UNKNOWN_EXPRESSION)) { + this.deoptimizationInteractions.push({ + interaction, + path + }); + } + } + } + deoptimizePath(path) { + if (path.length === 0 || this.deoptimizedFields.has(UnknownKey)) { + return; + } + const key = path[0]; + if (this.deoptimizedFields.has(key)) { + return; + } + this.deoptimizedFields.add(key); + for (const entity of this.entitiesToBeDeoptimized) { + // We do not need a recursion tracker here as we already track whether + // this field is deoptimized + entity.deoptimizePath([key]); + } + if (key === UnknownKey) { + // save some memory + this.deoptimizationInteractions = NO_INTERACTIONS; + this.deoptimizations = EMPTY_PATH_TRACKER; + this.deoptimizedFields = UNKNOWN_DEOPTIMIZED_FIELD; + this.entitiesToBeDeoptimized = UNKNOWN_DEOPTIMIZED_ENTITY; + } + } + getReturnExpressionWhenCalledAtPath(path) { + // We deoptimize everything that is called as that will trivially deoptimize + // the corresponding return expressions as well and avoid badly performing + // and complicated alternatives + if (path.length === 0) { + this.deoptimizePath(UNKNOWN_PATH); + } + else if (!this.deoptimizedFields.has(path[0])) { + this.deoptimizePath([path[0]]); + } + return UNKNOWN_RETURN_EXPRESSION; + } +} + +const chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$'; +const base = 64; +function toBase64(value) { + let outString = ''; + do { + const currentDigit = value % base; + value = (value / base) | 0; + outString = chars[currentDigit] + outString; + } while (value !== 0); + return outString; +} + +function getSafeName(baseName, usedNames, forbiddenNames) { + let safeName = baseName; + let count = 1; + while (usedNames.has(safeName) || RESERVED_NAMES.has(safeName) || forbiddenNames?.has(safeName)) { + safeName = `${baseName}$${toBase64(count++)}`; + } + usedNames.add(safeName); + return safeName; +} + +class Scope { + constructor() { + this.children = []; + this.variables = new Map(); + } + /* + Redeclaration rules: + - var can redeclare var + - in function scopes, function and var can redeclare function and var + - var is hoisted across scopes, function remains in the scope it is declared + - var and function can redeclare function parameters, but parameters cannot redeclare parameters + - function cannot redeclare catch scope parameters + - var can redeclare catch scope parameters in a way + - if the parameter is an identifier and not a pattern + - then the variable is still declared in the hoisted outer scope, but the initializer is assigned to the parameter + - const, let, class, and function except in the cases above cannot redeclare anything + */ + addDeclaration(identifier, context, init, kind) { + const name = identifier.name; + const existingVariable = this.hoistedVariables?.get(name) || this.variables.get(name); + if (existingVariable) { + const existingKind = existingVariable.kind; + if (kind === "var" /* VariableKind.var */ && existingKind === "var" /* VariableKind.var */) { + existingVariable.addDeclaration(identifier, init); + return existingVariable; + } + context.error(logRedeclarationError(name), identifier.start); + } + const newVariable = new LocalVariable(identifier.name, identifier, init, context, kind); + this.variables.set(name, newVariable); + return newVariable; + } + addHoistedVariable(name, variable) { + (this.hoistedVariables ||= new Map()).set(name, variable); + } + contains(name) { + return this.variables.has(name); + } + findVariable(_name) { + /* istanbul ignore next */ + throw new Error('Internal Error: findVariable needs to be implemented by a subclass'); + } +} + +class ChildScope extends Scope { + constructor(parent, context) { + super(); + this.parent = parent; + this.context = context; + this.accessedOutsideVariables = new Map(); + parent.children.push(this); + } + addAccessedDynamicImport(importExpression) { + (this.accessedDynamicImports || (this.accessedDynamicImports = new Set())).add(importExpression); + if (this.parent instanceof ChildScope) { + this.parent.addAccessedDynamicImport(importExpression); + } + } + addAccessedGlobals(globals, accessedGlobalsByScope) { + const accessedGlobals = accessedGlobalsByScope.get(this) || new Set(); + for (const name of globals) { + accessedGlobals.add(name); + } + accessedGlobalsByScope.set(this, accessedGlobals); + if (this.parent instanceof ChildScope) { + this.parent.addAccessedGlobals(globals, accessedGlobalsByScope); + } + } + addNamespaceMemberAccess(name, variable) { + this.accessedOutsideVariables.set(name, variable); + this.parent.addNamespaceMemberAccess(name, variable); + } + addReturnExpression(expression) { + this.parent instanceof ChildScope && this.parent.addReturnExpression(expression); + } + addUsedOutsideNames(usedNames, format, exportNamesByVariable, accessedGlobalsByScope) { + for (const variable of this.accessedOutsideVariables.values()) { + if (variable.included) { + usedNames.add(variable.getBaseVariableName()); + if (format === 'system' && exportNamesByVariable.has(variable)) { + usedNames.add('exports'); + } + } + } + const accessedGlobals = accessedGlobalsByScope.get(this); + if (accessedGlobals) { + for (const name of accessedGlobals) { + usedNames.add(name); + } + } + } + contains(name) { + return this.variables.has(name) || this.parent.contains(name); + } + deconflict(format, exportNamesByVariable, accessedGlobalsByScope) { + const usedNames = new Set(); + this.addUsedOutsideNames(usedNames, format, exportNamesByVariable, accessedGlobalsByScope); + if (this.accessedDynamicImports) { + for (const importExpression of this.accessedDynamicImports) { + if (importExpression.inlineNamespace) { + usedNames.add(importExpression.inlineNamespace.getBaseVariableName()); + } + } + } + for (const [name, variable] of this.variables) { + if (variable.included || variable.alwaysRendered) { + variable.setRenderNames(null, getSafeName(name, usedNames, variable.forbiddenNames)); + } + } + for (const scope of this.children) { + scope.deconflict(format, exportNamesByVariable, accessedGlobalsByScope); + } + } + findLexicalBoundary() { + return this.parent.findLexicalBoundary(); + } + findVariable(name) { + const knownVariable = this.variables.get(name) || this.accessedOutsideVariables.get(name); + if (knownVariable) { + return knownVariable; + } + const variable = this.parent.findVariable(name); + this.accessedOutsideVariables.set(name, variable); + return variable; + } +} + +class CatchBodyScope extends ChildScope { + constructor(parent) { + super(parent, parent.context); + this.parent = parent; + } + addDeclaration(identifier, context, init, kind) { + if (kind === "var" /* VariableKind.var */) { + const name = identifier.name; + const existingVariable = this.hoistedVariables?.get(name) || this.variables.get(name); + if (existingVariable) { + const existingKind = existingVariable.kind; + if (existingKind === "parameter" /* VariableKind.parameter */ && + // If this is a destructured parameter, it is forbidden to redeclare + existingVariable.declarations[0].parent.type === CatchClause$1) { + // If this is a var with the same name as the catch scope parameter, + // the assignment actually goes to the parameter and the var is + // hoisted without assignment. Locally, it is shadowed by the + // parameter + const declaredVariable = this.parent.parent.addDeclaration(identifier, context, UNDEFINED_EXPRESSION, kind); + // To avoid the need to rewrite the declaration, we link the variable + // names. If we ever implement a logic that splits initialization and + // assignment for hoisted vars, the "renderLikeHoisted" logic can be + // removed again. + // We do not need to check whether there already is a linked + // variable because then declaredVariable would be that linked + // variable. + existingVariable.renderLikeHoisted(declaredVariable); + this.addHoistedVariable(name, declaredVariable); + return declaredVariable; + } + if (existingKind === "var" /* VariableKind.var */) { + existingVariable.addDeclaration(identifier, init); + return existingVariable; + } + return context.error(logRedeclarationError(name), identifier.start); + } + // We only add parameters to parameter scopes + const declaredVariable = this.parent.parent.addDeclaration(identifier, context, init, kind); + // Necessary to make sure the init is deoptimized for conditional declarations. + // We cannot call deoptimizePath here. + declaredVariable.markInitializersForDeoptimization(); + // We add the variable to this and all parent scopes to reliably detect conflicts + this.addHoistedVariable(name, declaredVariable); + return declaredVariable; + } + return super.addDeclaration(identifier, context, init, kind); + } +} + +class FunctionBodyScope extends ChildScope { + constructor(parent) { + super(parent, parent.context); + } + // There is stuff that is only allowed in function scopes, i.e. functions can + // be redeclared, functions and var can redeclare each other + addDeclaration(identifier, context, init, kind) { + const name = identifier.name; + const existingVariable = this.hoistedVariables?.get(name) || this.variables.get(name); + if (existingVariable) { + const existingKind = existingVariable.kind; + if ((kind === "var" /* VariableKind.var */ || kind === "function" /* VariableKind.function */) && + (existingKind === "var" /* VariableKind.var */ || + existingKind === "function" /* VariableKind.function */ || + existingKind === "parameter" /* VariableKind.parameter */)) { + existingVariable.addDeclaration(identifier, init); + return existingVariable; + } + context.error(logRedeclarationError(name), identifier.start); + } + const newVariable = new LocalVariable(identifier.name, identifier, init, context, kind); + this.variables.set(name, newVariable); + return newVariable; + } +} + +class ParameterScope extends ChildScope { + constructor(parent, isCatchScope) { + super(parent, parent.context); + this.parameters = []; + this.hasRest = false; + this.bodyScope = isCatchScope ? new CatchBodyScope(this) : new FunctionBodyScope(this); + } + /** + * Adds a parameter to this scope. Parameters must be added in the correct + * order, i.e. from left to right. + */ + addParameterDeclaration(identifier) { + const { name, start } = identifier; + const existingParameter = this.variables.get(name); + if (existingParameter) { + return this.context.error(logDuplicateArgumentNameError(name), start); + } + const variable = new ParameterVariable(name, identifier, this.context); + this.variables.set(name, variable); + // We also add it to the body scope to detect name conflicts with local + // variables. We still need the intermediate scope, though, as parameter + // defaults are NOT taken from the body scope but from the parameters or + // outside scope. + this.bodyScope.addHoistedVariable(name, variable); + return variable; + } + addParameterVariables(parameters, hasRest) { + this.parameters = parameters; + for (const parameterList of parameters) { + for (const parameter of parameterList) { + parameter.alwaysRendered = true; + } + } + this.hasRest = hasRest; + } + includeCallArguments(context, parameters) { + let calledFromTryStatement = false; + let argumentIncluded = false; + const restParameter = this.hasRest && this.parameters[this.parameters.length - 1]; + for (const checkedArgument of parameters) { + if (checkedArgument instanceof SpreadElement) { + for (const argument of parameters) { + argument.include(context, false); + } + break; + } + } + for (let index = parameters.length - 1; index >= 0; index--) { + const parameterVariables = this.parameters[index] || restParameter; + const argument = parameters[index]; + if (parameterVariables) { + calledFromTryStatement = false; + if (parameterVariables.length === 0) { + // handle empty destructuring + argumentIncluded = true; + } + else { + for (const variable of parameterVariables) { + if (variable.included) { + argumentIncluded = true; + } + if (variable.calledFromTryStatement) { + calledFromTryStatement = true; + } + } + } + } + if (!argumentIncluded && argument.shouldBeIncluded(context)) { + argumentIncluded = true; + } + if (argumentIncluded) { + argument.include(context, calledFromTryStatement); + } + } + } +} + +class ReturnValueScope extends ParameterScope { + constructor() { + super(...arguments); + this.returnExpression = null; + this.returnExpressions = []; + } + addReturnExpression(expression) { + this.returnExpressions.push(expression); + } + getReturnExpression() { + if (this.returnExpression === null) + this.updateReturnExpression(); + return this.returnExpression; + } + updateReturnExpression() { + if (this.returnExpressions.length === 1) { + this.returnExpression = this.returnExpressions[0]; + } + else { + this.returnExpression = UNKNOWN_EXPRESSION; + for (const expression of this.returnExpressions) { + expression.deoptimizePath(UNKNOWN_PATH); + } + } + } +} + +/** @typedef { import('estree').Node} Node */ +/** @typedef {Node | { + * type: 'PropertyDefinition'; + * computed: boolean; + * value: Node + * }} NodeWithPropertyDefinition */ + +/** + * + * @param {NodeWithPropertyDefinition} node + * @param {NodeWithPropertyDefinition} parent + * @returns {boolean} + */ +function is_reference (node, parent) { + if (node.type === 'MemberExpression') { + return !node.computed && is_reference(node.object, node); + } + + if (node.type === 'Identifier') { + if (!parent) return true; + + switch (parent.type) { + // disregard `bar` in `foo.bar` + case 'MemberExpression': return parent.computed || node === parent.object; + + // disregard the `foo` in `class {foo(){}}` but keep it in `class {[foo](){}}` + case 'MethodDefinition': return parent.computed; + + // disregard the `foo` in `class {foo=bar}` but keep it in `class {[foo]=bar}` and `class {bar=foo}` + case 'PropertyDefinition': return parent.computed || node === parent.value; + + // disregard the `bar` in `{ bar: foo }`, but keep it in `{ [bar]: foo }` + case 'Property': return parent.computed || node === parent.value; + + // disregard the `bar` in `export { foo as bar }` or + // the foo in `import { foo as bar }` + case 'ExportSpecifier': + case 'ImportSpecifier': return node === parent.local; + + // disregard the `foo` in `foo: while (...) { ... break foo; ... continue foo;}` + case 'LabeledStatement': + case 'BreakStatement': + case 'ContinueStatement': return false; + default: return true; + } + } + + return false; +} + +const PureFunctionKey = Symbol('PureFunction'); +const getPureFunctions = ({ treeshake }) => { + const pureFunctions = Object.create(null); + for (const functionName of treeshake ? treeshake.manualPureFunctions : []) { + let currentFunctions = pureFunctions; + for (const pathSegment of functionName.split('.')) { + currentFunctions = currentFunctions[pathSegment] ||= Object.create(null); + } + currentFunctions[PureFunctionKey] = true; + } + return pureFunctions; +}; + +const doNothing = () => { }; + +/* eslint sort-keys: "off" */ +const ValueProperties = Symbol('Value Properties'); +const getTruthyLiteralValue = () => UnknownTruthyValue; +const returnFalse = () => false; +const returnTrue = () => true; +const PURE = { + deoptimizeArgumentsOnCall: doNothing, + getLiteralValue: getTruthyLiteralValue, + hasEffectsWhenCalled: returnFalse +}; +const IMPURE = { + deoptimizeArgumentsOnCall: doNothing, + getLiteralValue: getTruthyLiteralValue, + hasEffectsWhenCalled: returnTrue +}; +const PURE_WITH_ARRAY = { + deoptimizeArgumentsOnCall: doNothing, + getLiteralValue: getTruthyLiteralValue, + hasEffectsWhenCalled({ args }) { + return args.length > 1 && !(args[1] instanceof ArrayExpression); + } +}; +const GETTER_ACCESS = { + deoptimizeArgumentsOnCall: doNothing, + getLiteralValue: getTruthyLiteralValue, + hasEffectsWhenCalled({ args }, context) { + const [_thisArgument, firstArgument] = args; + return (!(firstArgument instanceof ExpressionEntity) || + firstArgument.hasEffectsOnInteractionAtPath(UNKNOWN_PATH, NODE_INTERACTION_UNKNOWN_ACCESS, context)); + } +}; +// We use shortened variables to reduce file size here +/* OBJECT */ +const O = { + __proto__: null, + [ValueProperties]: IMPURE +}; +/* PURE FUNCTION */ +const PF = { + __proto__: null, + [ValueProperties]: PURE +}; +/* PURE FUNCTION IF FIRST ARG DOES NOT CONTAIN A GETTER */ +const PF_NO_GETTER = { + __proto__: null, + [ValueProperties]: GETTER_ACCESS +}; +/* FUNCTION THAT MUTATES FIRST ARG WITHOUT TRIGGERING ACCESSORS */ +const MUTATES_ARG_WITHOUT_ACCESSOR = { + __proto__: null, + [ValueProperties]: { + deoptimizeArgumentsOnCall({ args: [, firstArgument] }) { + firstArgument?.deoptimizePath(UNKNOWN_PATH); + }, + getLiteralValue: getTruthyLiteralValue, + hasEffectsWhenCalled({ args }, context) { + return (args.length <= 1 || + args[1].hasEffectsOnInteractionAtPath(UNKNOWN_NON_ACCESSOR_PATH, NODE_INTERACTION_UNKNOWN_ASSIGNMENT, context)); + } + } +}; +/* CONSTRUCTOR */ +const C = { + __proto__: null, + [ValueProperties]: IMPURE, + prototype: O +}; +/* PURE CONSTRUCTOR */ +const PC = { + __proto__: null, + [ValueProperties]: PURE, + prototype: O +}; +const PC_WITH_ARRAY = { + __proto__: null, + [ValueProperties]: PURE_WITH_ARRAY, + prototype: O +}; +const ARRAY_TYPE = { + __proto__: null, + [ValueProperties]: PURE, + from: O, + of: PF, + prototype: O +}; +const INTL_MEMBER = { + __proto__: null, + [ValueProperties]: PURE, + supportedLocalesOf: PC +}; +const knownGlobals = { + // Placeholders for global objects to avoid shape mutations + global: O, + globalThis: O, + self: O, + window: O, + // Common globals + __proto__: null, + [ValueProperties]: IMPURE, + Array: { + __proto__: null, + [ValueProperties]: IMPURE, + from: O, + isArray: PF, + of: PF, + prototype: O + }, + ArrayBuffer: { + __proto__: null, + [ValueProperties]: PURE, + isView: PF, + prototype: O + }, + Atomics: O, + BigInt: C, + BigInt64Array: C, + BigUint64Array: C, + Boolean: PC, + constructor: C, + DataView: PC, + Date: { + __proto__: null, + [ValueProperties]: PURE, + now: PF, + parse: PF, + prototype: O, + UTC: PF + }, + decodeURI: PF, + decodeURIComponent: PF, + encodeURI: PF, + encodeURIComponent: PF, + Error: PC, + escape: PF, + eval: O, + EvalError: PC, + Float32Array: ARRAY_TYPE, + Float64Array: ARRAY_TYPE, + Function: C, + hasOwnProperty: O, + Infinity: O, + Int16Array: ARRAY_TYPE, + Int32Array: ARRAY_TYPE, + Int8Array: ARRAY_TYPE, + isFinite: PF, + isNaN: PF, + isPrototypeOf: O, + JSON: O, + Map: PC_WITH_ARRAY, + Math: { + __proto__: null, + [ValueProperties]: IMPURE, + abs: PF, + acos: PF, + acosh: PF, + asin: PF, + asinh: PF, + atan: PF, + atan2: PF, + atanh: PF, + cbrt: PF, + ceil: PF, + clz32: PF, + cos: PF, + cosh: PF, + exp: PF, + expm1: PF, + floor: PF, + fround: PF, + hypot: PF, + imul: PF, + log: PF, + log10: PF, + log1p: PF, + log2: PF, + max: PF, + min: PF, + pow: PF, + random: PF, + round: PF, + sign: PF, + sin: PF, + sinh: PF, + sqrt: PF, + tan: PF, + tanh: PF, + trunc: PF + }, + NaN: O, + Number: { + __proto__: null, + [ValueProperties]: PURE, + isFinite: PF, + isInteger: PF, + isNaN: PF, + isSafeInteger: PF, + parseFloat: PF, + parseInt: PF, + prototype: O + }, + Object: { + __proto__: null, + [ValueProperties]: PURE, + create: PF, + // Technically those can throw in certain situations, but we ignore this as + // code that relies on this will hopefully wrap this in a try-catch, which + // deoptimizes everything anyway + defineProperty: MUTATES_ARG_WITHOUT_ACCESSOR, + defineProperties: MUTATES_ARG_WITHOUT_ACCESSOR, + freeze: MUTATES_ARG_WITHOUT_ACCESSOR, + getOwnPropertyDescriptor: PF, + getOwnPropertyDescriptors: PF, + getOwnPropertyNames: PF, + getOwnPropertySymbols: PF, + getPrototypeOf: PF, + hasOwn: PF, + is: PF, + isExtensible: PF, + isFrozen: PF, + isSealed: PF, + keys: PF, + fromEntries: O, + entries: PF_NO_GETTER, + values: PF_NO_GETTER, + prototype: O + }, + parseFloat: PF, + parseInt: PF, + Promise: { + __proto__: null, + [ValueProperties]: IMPURE, + all: O, + allSettled: O, + any: O, + prototype: O, + race: O, + reject: O, + resolve: O + }, + propertyIsEnumerable: O, + Proxy: O, + RangeError: PC, + ReferenceError: PC, + Reflect: O, + RegExp: PC, + Set: PC_WITH_ARRAY, + SharedArrayBuffer: C, + String: { + __proto__: null, + [ValueProperties]: PURE, + fromCharCode: PF, + fromCodePoint: PF, + prototype: O, + raw: PF + }, + Symbol: { + __proto__: null, + [ValueProperties]: PURE, + for: PF, + keyFor: PF, + prototype: O, + toStringTag: { + __proto__: null, + [ValueProperties]: { + deoptimizeArgumentsOnCall: doNothing, + getLiteralValue() { + return SymbolToStringTag; + }, + hasEffectsWhenCalled: returnTrue + } + } + }, + SyntaxError: PC, + toLocaleString: O, + toString: O, + TypeError: PC, + Uint16Array: ARRAY_TYPE, + Uint32Array: ARRAY_TYPE, + Uint8Array: ARRAY_TYPE, + Uint8ClampedArray: ARRAY_TYPE, + // Technically, this is a global, but it needs special handling + // undefined: ?, + unescape: PF, + URIError: PC, + valueOf: O, + WeakMap: PC_WITH_ARRAY, + WeakSet: PC_WITH_ARRAY, + // Additional globals shared by Node and Browser that are not strictly part of the language + clearInterval: C, + clearTimeout: C, + console: { + __proto__: null, + [ValueProperties]: IMPURE, + assert: C, + clear: C, + count: C, + countReset: C, + debug: C, + dir: C, + dirxml: C, + error: C, + exception: C, + group: C, + groupCollapsed: C, + groupEnd: C, + info: C, + log: C, + table: C, + time: C, + timeEnd: C, + timeLog: C, + trace: C, + warn: C + }, + Intl: { + __proto__: null, + [ValueProperties]: IMPURE, + Collator: INTL_MEMBER, + DateTimeFormat: INTL_MEMBER, + DisplayNames: INTL_MEMBER, + ListFormat: INTL_MEMBER, + Locale: INTL_MEMBER, + NumberFormat: INTL_MEMBER, + PluralRules: INTL_MEMBER, + RelativeTimeFormat: INTL_MEMBER, + Segmenter: INTL_MEMBER + }, + setInterval: C, + setTimeout: C, + TextDecoder: C, + TextEncoder: C, + URL: { + __proto__: null, + [ValueProperties]: IMPURE, + prototype: O, + canParse: PF + }, + URLSearchParams: C, + // Browser specific globals + AbortController: C, + AbortSignal: C, + addEventListener: O, + alert: O, + AnalyserNode: C, + Animation: C, + AnimationEvent: C, + applicationCache: O, + ApplicationCache: C, + ApplicationCacheErrorEvent: C, + atob: O, + Attr: C, + Audio: C, + AudioBuffer: C, + AudioBufferSourceNode: C, + AudioContext: C, + AudioDestinationNode: C, + AudioListener: C, + AudioNode: C, + AudioParam: C, + AudioProcessingEvent: C, + AudioScheduledSourceNode: C, + AudioWorkletNode: C, + BarProp: C, + BaseAudioContext: C, + BatteryManager: C, + BeforeUnloadEvent: C, + BiquadFilterNode: C, + Blob: C, + BlobEvent: C, + blur: O, + BroadcastChannel: C, + btoa: O, + ByteLengthQueuingStrategy: C, + Cache: C, + caches: O, + CacheStorage: C, + cancelAnimationFrame: O, + cancelIdleCallback: O, + CanvasCaptureMediaStreamTrack: C, + CanvasGradient: C, + CanvasPattern: C, + CanvasRenderingContext2D: C, + ChannelMergerNode: C, + ChannelSplitterNode: C, + CharacterData: C, + clientInformation: O, + ClipboardEvent: C, + close: O, + closed: O, + CloseEvent: C, + Comment: C, + CompositionEvent: C, + confirm: O, + ConstantSourceNode: C, + ConvolverNode: C, + CountQueuingStrategy: C, + createImageBitmap: O, + Credential: C, + CredentialsContainer: C, + crypto: O, + Crypto: C, + CryptoKey: C, + CSS: C, + CSSConditionRule: C, + CSSFontFaceRule: C, + CSSGroupingRule: C, + CSSImportRule: C, + CSSKeyframeRule: C, + CSSKeyframesRule: C, + CSSMediaRule: C, + CSSNamespaceRule: C, + CSSPageRule: C, + CSSRule: C, + CSSRuleList: C, + CSSStyleDeclaration: C, + CSSStyleRule: C, + CSSStyleSheet: C, + CSSSupportsRule: C, + CustomElementRegistry: C, + customElements: O, + CustomEvent: { + __proto__: null, + [ValueProperties]: { + deoptimizeArgumentsOnCall({ args }) { + args[2]?.deoptimizePath(['detail']); + }, + getLiteralValue: getTruthyLiteralValue, + hasEffectsWhenCalled: returnFalse + }, + prototype: O + }, + DataTransfer: C, + DataTransferItem: C, + DataTransferItemList: C, + defaultstatus: O, + defaultStatus: O, + DelayNode: C, + DeviceMotionEvent: C, + DeviceOrientationEvent: C, + devicePixelRatio: O, + dispatchEvent: O, + document: O, + Document: C, + DocumentFragment: C, + DocumentType: C, + DOMError: C, + DOMException: C, + DOMImplementation: C, + DOMMatrix: C, + DOMMatrixReadOnly: C, + DOMParser: C, + DOMPoint: C, + DOMPointReadOnly: C, + DOMQuad: C, + DOMRect: C, + DOMRectReadOnly: C, + DOMStringList: C, + DOMStringMap: C, + DOMTokenList: C, + DragEvent: C, + DynamicsCompressorNode: C, + Element: C, + ErrorEvent: C, + Event: C, + EventSource: C, + EventTarget: C, + external: O, + fetch: O, + File: C, + FileList: C, + FileReader: C, + find: O, + focus: O, + FocusEvent: C, + FontFace: C, + FontFaceSetLoadEvent: C, + FormData: C, + frames: O, + GainNode: C, + Gamepad: C, + GamepadButton: C, + GamepadEvent: C, + getComputedStyle: O, + getSelection: O, + HashChangeEvent: C, + Headers: C, + history: O, + History: C, + HTMLAllCollection: C, + HTMLAnchorElement: C, + HTMLAreaElement: C, + HTMLAudioElement: C, + HTMLBaseElement: C, + HTMLBodyElement: C, + HTMLBRElement: C, + HTMLButtonElement: C, + HTMLCanvasElement: C, + HTMLCollection: C, + HTMLContentElement: C, + HTMLDataElement: C, + HTMLDataListElement: C, + HTMLDetailsElement: C, + HTMLDialogElement: C, + HTMLDirectoryElement: C, + HTMLDivElement: C, + HTMLDListElement: C, + HTMLDocument: C, + HTMLElement: C, + HTMLEmbedElement: C, + HTMLFieldSetElement: C, + HTMLFontElement: C, + HTMLFormControlsCollection: C, + HTMLFormElement: C, + HTMLFrameElement: C, + HTMLFrameSetElement: C, + HTMLHeadElement: C, + HTMLHeadingElement: C, + HTMLHRElement: C, + HTMLHtmlElement: C, + HTMLIFrameElement: C, + HTMLImageElement: C, + HTMLInputElement: C, + HTMLLabelElement: C, + HTMLLegendElement: C, + HTMLLIElement: C, + HTMLLinkElement: C, + HTMLMapElement: C, + HTMLMarqueeElement: C, + HTMLMediaElement: C, + HTMLMenuElement: C, + HTMLMetaElement: C, + HTMLMeterElement: C, + HTMLModElement: C, + HTMLObjectElement: C, + HTMLOListElement: C, + HTMLOptGroupElement: C, + HTMLOptionElement: C, + HTMLOptionsCollection: C, + HTMLOutputElement: C, + HTMLParagraphElement: C, + HTMLParamElement: C, + HTMLPictureElement: C, + HTMLPreElement: C, + HTMLProgressElement: C, + HTMLQuoteElement: C, + HTMLScriptElement: C, + HTMLSelectElement: C, + HTMLShadowElement: C, + HTMLSlotElement: C, + HTMLSourceElement: C, + HTMLSpanElement: C, + HTMLStyleElement: C, + HTMLTableCaptionElement: C, + HTMLTableCellElement: C, + HTMLTableColElement: C, + HTMLTableElement: C, + HTMLTableRowElement: C, + HTMLTableSectionElement: C, + HTMLTemplateElement: C, + HTMLTextAreaElement: C, + HTMLTimeElement: C, + HTMLTitleElement: C, + HTMLTrackElement: C, + HTMLUListElement: C, + HTMLUnknownElement: C, + HTMLVideoElement: C, + IDBCursor: C, + IDBCursorWithValue: C, + IDBDatabase: C, + IDBFactory: C, + IDBIndex: C, + IDBKeyRange: C, + IDBObjectStore: C, + IDBOpenDBRequest: C, + IDBRequest: C, + IDBTransaction: C, + IDBVersionChangeEvent: C, + IdleDeadline: C, + IIRFilterNode: C, + Image: C, + ImageBitmap: C, + ImageBitmapRenderingContext: C, + ImageCapture: C, + ImageData: C, + indexedDB: O, + innerHeight: O, + innerWidth: O, + InputEvent: C, + IntersectionObserver: C, + IntersectionObserverEntry: C, + isSecureContext: O, + KeyboardEvent: C, + KeyframeEffect: C, + length: O, + localStorage: O, + location: O, + Location: C, + locationbar: O, + matchMedia: O, + MediaDeviceInfo: C, + MediaDevices: C, + MediaElementAudioSourceNode: C, + MediaEncryptedEvent: C, + MediaError: C, + MediaKeyMessageEvent: C, + MediaKeySession: C, + MediaKeyStatusMap: C, + MediaKeySystemAccess: C, + MediaList: C, + MediaQueryList: C, + MediaQueryListEvent: C, + MediaRecorder: C, + MediaSettingsRange: C, + MediaSource: C, + MediaStream: C, + MediaStreamAudioDestinationNode: C, + MediaStreamAudioSourceNode: C, + MediaStreamEvent: C, + MediaStreamTrack: C, + MediaStreamTrackEvent: C, + menubar: O, + MessageChannel: C, + MessageEvent: C, + MessagePort: C, + MIDIAccess: C, + MIDIConnectionEvent: C, + MIDIInput: C, + MIDIInputMap: C, + MIDIMessageEvent: C, + MIDIOutput: C, + MIDIOutputMap: C, + MIDIPort: C, + MimeType: C, + MimeTypeArray: C, + MouseEvent: C, + moveBy: O, + moveTo: O, + MutationEvent: C, + MutationObserver: C, + MutationRecord: C, + name: O, + NamedNodeMap: C, + NavigationPreloadManager: C, + navigator: O, + Navigator: C, + NetworkInformation: C, + Node: C, + NodeFilter: O, + NodeIterator: C, + NodeList: C, + Notification: C, + OfflineAudioCompletionEvent: C, + OfflineAudioContext: C, + offscreenBuffering: O, + OffscreenCanvas: C, + open: O, + openDatabase: O, + Option: C, + origin: O, + OscillatorNode: C, + outerHeight: O, + outerWidth: O, + PageTransitionEvent: C, + pageXOffset: O, + pageYOffset: O, + PannerNode: C, + parent: O, + Path2D: C, + PaymentAddress: C, + PaymentRequest: C, + PaymentRequestUpdateEvent: C, + PaymentResponse: C, + performance: O, + Performance: C, + PerformanceEntry: C, + PerformanceLongTaskTiming: C, + PerformanceMark: C, + PerformanceMeasure: C, + PerformanceNavigation: C, + PerformanceNavigationTiming: C, + PerformanceObserver: C, + PerformanceObserverEntryList: C, + PerformancePaintTiming: C, + PerformanceResourceTiming: C, + PerformanceTiming: C, + PeriodicWave: C, + Permissions: C, + PermissionStatus: C, + personalbar: O, + PhotoCapabilities: C, + Plugin: C, + PluginArray: C, + PointerEvent: C, + PopStateEvent: C, + postMessage: O, + Presentation: C, + PresentationAvailability: C, + PresentationConnection: C, + PresentationConnectionAvailableEvent: C, + PresentationConnectionCloseEvent: C, + PresentationConnectionList: C, + PresentationReceiver: C, + PresentationRequest: C, + print: O, + ProcessingInstruction: C, + ProgressEvent: C, + PromiseRejectionEvent: C, + prompt: O, + PushManager: C, + PushSubscription: C, + PushSubscriptionOptions: C, + queueMicrotask: O, + RadioNodeList: C, + Range: C, + ReadableStream: C, + RemotePlayback: C, + removeEventListener: O, + Request: C, + requestAnimationFrame: O, + requestIdleCallback: O, + resizeBy: O, + ResizeObserver: C, + ResizeObserverEntry: C, + resizeTo: O, + Response: C, + RTCCertificate: C, + RTCDataChannel: C, + RTCDataChannelEvent: C, + RTCDtlsTransport: C, + RTCIceCandidate: C, + RTCIceTransport: C, + RTCPeerConnection: C, + RTCPeerConnectionIceEvent: C, + RTCRtpReceiver: C, + RTCRtpSender: C, + RTCSctpTransport: C, + RTCSessionDescription: C, + RTCStatsReport: C, + RTCTrackEvent: C, + screen: O, + Screen: C, + screenLeft: O, + ScreenOrientation: C, + screenTop: O, + screenX: O, + screenY: O, + ScriptProcessorNode: C, + scroll: O, + scrollbars: O, + scrollBy: O, + scrollTo: O, + scrollX: O, + scrollY: O, + SecurityPolicyViolationEvent: C, + Selection: C, + ServiceWorker: C, + ServiceWorkerContainer: C, + ServiceWorkerRegistration: C, + sessionStorage: O, + ShadowRoot: C, + SharedWorker: C, + SourceBuffer: C, + SourceBufferList: C, + speechSynthesis: O, + SpeechSynthesisEvent: C, + SpeechSynthesisUtterance: C, + StaticRange: C, + status: O, + statusbar: O, + StereoPannerNode: C, + stop: O, + Storage: C, + StorageEvent: C, + StorageManager: C, + styleMedia: O, + StyleSheet: C, + StyleSheetList: C, + SubtleCrypto: C, + SVGAElement: C, + SVGAngle: C, + SVGAnimatedAngle: C, + SVGAnimatedBoolean: C, + SVGAnimatedEnumeration: C, + SVGAnimatedInteger: C, + SVGAnimatedLength: C, + SVGAnimatedLengthList: C, + SVGAnimatedNumber: C, + SVGAnimatedNumberList: C, + SVGAnimatedPreserveAspectRatio: C, + SVGAnimatedRect: C, + SVGAnimatedString: C, + SVGAnimatedTransformList: C, + SVGAnimateElement: C, + SVGAnimateMotionElement: C, + SVGAnimateTransformElement: C, + SVGAnimationElement: C, + SVGCircleElement: C, + SVGClipPathElement: C, + SVGComponentTransferFunctionElement: C, + SVGDefsElement: C, + SVGDescElement: C, + SVGDiscardElement: C, + SVGElement: C, + SVGEllipseElement: C, + SVGFEBlendElement: C, + SVGFEColorMatrixElement: C, + SVGFEComponentTransferElement: C, + SVGFECompositeElement: C, + SVGFEConvolveMatrixElement: C, + SVGFEDiffuseLightingElement: C, + SVGFEDisplacementMapElement: C, + SVGFEDistantLightElement: C, + SVGFEDropShadowElement: C, + SVGFEFloodElement: C, + SVGFEFuncAElement: C, + SVGFEFuncBElement: C, + SVGFEFuncGElement: C, + SVGFEFuncRElement: C, + SVGFEGaussianBlurElement: C, + SVGFEImageElement: C, + SVGFEMergeElement: C, + SVGFEMergeNodeElement: C, + SVGFEMorphologyElement: C, + SVGFEOffsetElement: C, + SVGFEPointLightElement: C, + SVGFESpecularLightingElement: C, + SVGFESpotLightElement: C, + SVGFETileElement: C, + SVGFETurbulenceElement: C, + SVGFilterElement: C, + SVGForeignObjectElement: C, + SVGGElement: C, + SVGGeometryElement: C, + SVGGradientElement: C, + SVGGraphicsElement: C, + SVGImageElement: C, + SVGLength: C, + SVGLengthList: C, + SVGLinearGradientElement: C, + SVGLineElement: C, + SVGMarkerElement: C, + SVGMaskElement: C, + SVGMatrix: C, + SVGMetadataElement: C, + SVGMPathElement: C, + SVGNumber: C, + SVGNumberList: C, + SVGPathElement: C, + SVGPatternElement: C, + SVGPoint: C, + SVGPointList: C, + SVGPolygonElement: C, + SVGPolylineElement: C, + SVGPreserveAspectRatio: C, + SVGRadialGradientElement: C, + SVGRect: C, + SVGRectElement: C, + SVGScriptElement: C, + SVGSetElement: C, + SVGStopElement: C, + SVGStringList: C, + SVGStyleElement: C, + SVGSVGElement: C, + SVGSwitchElement: C, + SVGSymbolElement: C, + SVGTextContentElement: C, + SVGTextElement: C, + SVGTextPathElement: C, + SVGTextPositioningElement: C, + SVGTitleElement: C, + SVGTransform: C, + SVGTransformList: C, + SVGTSpanElement: C, + SVGUnitTypes: C, + SVGUseElement: C, + SVGViewElement: C, + TaskAttributionTiming: C, + Text: C, + TextEvent: C, + TextMetrics: C, + TextTrack: C, + TextTrackCue: C, + TextTrackCueList: C, + TextTrackList: C, + TimeRanges: C, + toolbar: O, + top: O, + Touch: C, + TouchEvent: C, + TouchList: C, + TrackEvent: C, + TransitionEvent: C, + TreeWalker: C, + UIEvent: C, + ValidityState: C, + visualViewport: O, + VisualViewport: C, + VTTCue: C, + WaveShaperNode: C, + WebAssembly: O, + WebGL2RenderingContext: C, + WebGLActiveInfo: C, + WebGLBuffer: C, + WebGLContextEvent: C, + WebGLFramebuffer: C, + WebGLProgram: C, + WebGLQuery: C, + WebGLRenderbuffer: C, + WebGLRenderingContext: C, + WebGLSampler: C, + WebGLShader: C, + WebGLShaderPrecisionFormat: C, + WebGLSync: C, + WebGLTexture: C, + WebGLTransformFeedback: C, + WebGLUniformLocation: C, + WebGLVertexArrayObject: C, + WebSocket: C, + WheelEvent: C, + Window: C, + Worker: C, + WritableStream: C, + XMLDocument: C, + XMLHttpRequest: C, + XMLHttpRequestEventTarget: C, + XMLHttpRequestUpload: C, + XMLSerializer: C, + XPathEvaluator: C, + XPathExpression: C, + XPathResult: C, + XSLTProcessor: C +}; +for (const global of ['window', 'global', 'self', 'globalThis']) { + knownGlobals[global] = knownGlobals; +} +function getGlobalAtPath(path) { + let currentGlobal = knownGlobals; + for (const pathSegment of path) { + if (typeof pathSegment !== 'string') { + return null; + } + currentGlobal = currentGlobal[pathSegment]; + if (!currentGlobal) { + return null; + } + } + return currentGlobal[ValueProperties]; +} + +class GlobalVariable extends Variable { + constructor() { + super(...arguments); + // Ensure we use live-bindings for globals as we do not know if they have + // been reassigned + this.isReassigned = true; + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + switch (interaction.type) { + // While there is no point in testing these cases as at the moment, they + // are also covered via other means, we keep them for completeness + case INTERACTION_ACCESSED: + case INTERACTION_ASSIGNED: { + if (!getGlobalAtPath([this.name, ...path].slice(0, -1))) { + super.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + return; + } + case INTERACTION_CALLED: { + const globalAtPath = getGlobalAtPath([this.name, ...path]); + if (globalAtPath) { + globalAtPath.deoptimizeArgumentsOnCall(interaction); + } + else { + super.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + return; + } + } + } + getLiteralValueAtPath(path, _recursionTracker, _origin) { + const globalAtPath = getGlobalAtPath([this.name, ...path]); + return globalAtPath ? globalAtPath.getLiteralValue() : UnknownValue; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + switch (interaction.type) { + case INTERACTION_ACCESSED: { + if (path.length === 0) { + // Technically, "undefined" is a global variable of sorts + return this.name !== 'undefined' && !getGlobalAtPath([this.name]); + } + return !getGlobalAtPath([this.name, ...path].slice(0, -1)); + } + case INTERACTION_ASSIGNED: { + return true; + } + case INTERACTION_CALLED: { + const globalAtPath = getGlobalAtPath([this.name, ...path]); + return !globalAtPath || globalAtPath.hasEffectsWhenCalled(interaction, context); + } + } + } +} + +const tdzVariableKinds = { + __proto__: null, + class: true, + const: true, + let: true, + var: true +}; +class Identifier extends NodeBase { + constructor() { + super(...arguments); + this.variable = null; + } + get isTDZAccess() { + if (!isFlagSet(this.flags, 4 /* Flag.tdzAccessDefined */)) { + return null; + } + return isFlagSet(this.flags, 8 /* Flag.tdzAccess */); + } + set isTDZAccess(value) { + this.flags = setFlag(this.flags, 4 /* Flag.tdzAccessDefined */, true); + this.flags = setFlag(this.flags, 8 /* Flag.tdzAccess */, value); + } + addExportedVariables(variables, exportNamesByVariable) { + if (exportNamesByVariable.has(this.variable)) { + variables.push(this.variable); + } + } + bind() { + if (!this.variable && is_reference(this, this.parent)) { + this.variable = this.scope.findVariable(this.name); + this.variable.addReference(this); + } + } + declare(kind, init) { + let variable; + const { treeshake } = this.scope.context.options; + switch (kind) { + case "var" /* VariableKind.var */: { + variable = this.scope.addDeclaration(this, this.scope.context, init, kind); + if (treeshake && treeshake.correctVarValueBeforeDeclaration) { + // Necessary to make sure the init is deoptimized. We cannot call deoptimizePath here. + variable.markInitializersForDeoptimization(); + } + break; + } + case "function" /* VariableKind.function */: { + // in strict mode, functions are only hoisted within a scope but not across block scopes + variable = this.scope.addDeclaration(this, this.scope.context, init, kind); + break; + } + case "let" /* VariableKind.let */: + case "const" /* VariableKind.const */: + case "class" /* VariableKind.class */: { + variable = this.scope.addDeclaration(this, this.scope.context, init, kind); + break; + } + case "parameter" /* VariableKind.parameter */: { + variable = this.scope.addParameterDeclaration(this); + break; + } + /* istanbul ignore next */ + default: { + /* istanbul ignore next */ + throw new Error(`Internal Error: Unexpected identifier kind ${kind}.`); + } + } + return [(this.variable = variable)]; + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.variable.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizePath(path) { + if (path.length === 0 && !this.scope.contains(this.name)) { + this.disallowImportReassignment(); + } + // We keep conditional chaining because an unknown Node could have an + // Identifier as property that might be deoptimized by default + this.variable?.deoptimizePath(path); + } + getLiteralValueAtPath(path, recursionTracker, origin) { + return this.getVariableRespectingTDZ().getLiteralValueAtPath(path, recursionTracker, origin); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + const [expression, isPure] = this.getVariableRespectingTDZ().getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + return [expression, isPure || this.isPureFunction(path)]; + } + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + if (this.isPossibleTDZ() && this.variable.kind !== "var" /* VariableKind.var */) { + return true; + } + return (this.scope.context.options.treeshake + .unknownGlobalSideEffects && + this.variable instanceof GlobalVariable && + !this.isPureFunction(EMPTY_PATH) && + this.variable.hasEffectsOnInteractionAtPath(EMPTY_PATH, NODE_INTERACTION_UNKNOWN_ACCESS, context)); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + switch (interaction.type) { + case INTERACTION_ACCESSED: { + return (this.variable !== null && + !this.isPureFunction(path) && + this.getVariableRespectingTDZ().hasEffectsOnInteractionAtPath(path, interaction, context)); + } + case INTERACTION_ASSIGNED: { + return (path.length > 0 ? this.getVariableRespectingTDZ() : this.variable).hasEffectsOnInteractionAtPath(path, interaction, context); + } + case INTERACTION_CALLED: { + return (!this.isPureFunction(path) && + this.getVariableRespectingTDZ().hasEffectsOnInteractionAtPath(path, interaction, context)); + } + } + } + include() { + if (!this.deoptimized) + this.applyDeoptimizations(); + if (!this.included) { + this.included = true; + if (this.variable !== null) { + this.scope.context.includeVariableInModule(this.variable); + } + } + } + includeCallArguments(context, parameters) { + this.variable.includeCallArguments(context, parameters); + } + isPossibleTDZ() { + // return cached value to avoid issues with the next tree-shaking pass + const cachedTdzAccess = this.isTDZAccess; + if (cachedTdzAccess !== null) + return cachedTdzAccess; + if (!(this.variable instanceof LocalVariable && + this.variable.kind && + this.variable.kind in tdzVariableKinds && + // we ignore possible TDZs due to circular module dependencies as + // otherwise we get many false positives + this.variable.module === this.scope.context.module)) { + return (this.isTDZAccess = false); + } + let decl_id; + if (this.variable.declarations && + this.variable.declarations.length === 1 && + (decl_id = this.variable.declarations[0]) && + this.start < decl_id.start && + closestParentFunctionOrProgram(this) === closestParentFunctionOrProgram(decl_id)) { + // a variable accessed before its declaration + // in the same function or at top level of module + return (this.isTDZAccess = true); + } + // We ignore the case where the module is not yet executed because + // moduleSideEffects are false. + if (!this.variable.initReached && this.scope.context.module.isExecuted) { + // Either a const/let TDZ violation or + // var use before declaration was encountered. + return (this.isTDZAccess = true); + } + return (this.isTDZAccess = false); + } + markDeclarationReached() { + this.variable.initReached = true; + } + render(code, { snippets: { getPropertyAccess }, useOriginalName }, { renderedParentType, isCalleeOfRenderedParent, isShorthandProperty } = BLANK) { + if (this.variable) { + const name = this.variable.getName(getPropertyAccess, useOriginalName); + if (name !== this.name) { + code.overwrite(this.start, this.end, name, { + contentOnly: true, + storeName: true + }); + if (isShorthandProperty) { + code.prependRight(this.start, `${this.name}: `); + } + } + // In strict mode, any variable named "eval" must be the actual "eval" function + if (name === 'eval' && + renderedParentType === CallExpression$1 && + isCalleeOfRenderedParent) { + code.appendRight(this.start, '0, '); + } + } + } + disallowImportReassignment() { + return this.scope.context.error(logIllegalImportReassignment(this.name, this.scope.context.module.id), this.start); + } + applyDeoptimizations() { + this.deoptimized = true; + if (this.variable instanceof LocalVariable) { + this.variable.consolidateInitializers(); + this.scope.context.requestTreeshakingPass(); + } + } + getVariableRespectingTDZ() { + if (this.isPossibleTDZ()) { + return UNKNOWN_EXPRESSION; + } + return this.variable; + } + isPureFunction(path) { + let currentPureFunction = this.scope.context.manualPureFunctions[this.name]; + for (const segment of path) { + if (currentPureFunction) { + if (currentPureFunction[PureFunctionKey]) { + return true; + } + currentPureFunction = currentPureFunction[segment]; + } + else { + return false; + } + } + return currentPureFunction?.[PureFunctionKey]; + } +} +function closestParentFunctionOrProgram(node) { + while (node && !/^Program|Function/.test(node.type)) { + node = node.parent; + } + // one of: ArrowFunctionExpression, FunctionDeclaration, FunctionExpression or Program + return node; +} + +function treeshakeNode(node, code, start, end) { + code.remove(start, end); + node.removeAnnotations(code); +} + +const NO_SEMICOLON = { isNoStatement: true }; +// This assumes there are only white-space and comments between start and the string we are looking for +function findFirstOccurrenceOutsideComment(code, searchString, start = 0) { + let searchPos, charCodeAfterSlash; + searchPos = code.indexOf(searchString, start); + while (true) { + start = code.indexOf('/', start); + if (start === -1 || start >= searchPos) + return searchPos; + charCodeAfterSlash = code.charCodeAt(++start); + ++start; + // With our assumption, '/' always starts a comment. Determine comment type: + start = + charCodeAfterSlash === 47 /*"/"*/ + ? code.indexOf('\n', start) + 1 + : code.indexOf('*/', start) + 2; + if (start > searchPos) { + searchPos = code.indexOf(searchString, start); + } + } +} +const NON_WHITESPACE = /\S/g; +function findNonWhiteSpace(code, index) { + NON_WHITESPACE.lastIndex = index; + const result = NON_WHITESPACE.exec(code); + return result.index; +} +// This assumes "code" only contains white-space and comments +// Returns position of line-comment if applicable +function findFirstLineBreakOutsideComment(code) { + let lineBreakPos, charCodeAfterSlash, start = 0; + lineBreakPos = code.indexOf('\n', start); + while (true) { + start = code.indexOf('/', start); + if (start === -1 || start > lineBreakPos) + return [lineBreakPos, lineBreakPos + 1]; + // With our assumption, '/' always starts a comment. Determine comment type: + charCodeAfterSlash = code.charCodeAt(start + 1); + if (charCodeAfterSlash === 47 /*"/"*/) + return [start, lineBreakPos + 1]; + start = code.indexOf('*/', start + 2) + 2; + if (start > lineBreakPos) { + lineBreakPos = code.indexOf('\n', start); + } + } +} +function renderStatementList(statements, code, start, end, options) { + let currentNode, currentNodeStart, currentNodeNeedsBoundaries, nextNodeStart; + let nextNode = statements[0]; + let nextNodeNeedsBoundaries = !nextNode.included || nextNode.needsBoundaries; + if (nextNodeNeedsBoundaries) { + nextNodeStart = + start + findFirstLineBreakOutsideComment(code.original.slice(start, nextNode.start))[1]; + } + for (let nextIndex = 1; nextIndex <= statements.length; nextIndex++) { + currentNode = nextNode; + currentNodeStart = nextNodeStart; + currentNodeNeedsBoundaries = nextNodeNeedsBoundaries; + nextNode = statements[nextIndex]; + nextNodeNeedsBoundaries = + nextNode === undefined ? false : !nextNode.included || nextNode.needsBoundaries; + if (currentNodeNeedsBoundaries || nextNodeNeedsBoundaries) { + nextNodeStart = + currentNode.end + + findFirstLineBreakOutsideComment(code.original.slice(currentNode.end, nextNode === undefined ? end : nextNode.start))[1]; + if (currentNode.included) { + currentNodeNeedsBoundaries + ? currentNode.render(code, options, { + end: nextNodeStart, + start: currentNodeStart + }) + : currentNode.render(code, options); + } + else { + treeshakeNode(currentNode, code, currentNodeStart, nextNodeStart); + } + } + else { + currentNode.render(code, options); + } + } +} +// This assumes that the first character is not part of the first node +function getCommaSeparatedNodesWithBoundaries(nodes, code, start, end) { + const splitUpNodes = []; + let node, nextNodeStart, contentEnd, char; + let separator = start - 1; + for (const nextNode of nodes) { + if (node !== undefined) { + separator = + node.end + + findFirstOccurrenceOutsideComment(code.original.slice(node.end, nextNode.start), ','); + } + nextNodeStart = contentEnd = + separator + + 1 + + findFirstLineBreakOutsideComment(code.original.slice(separator + 1, nextNode.start))[1]; + while (((char = code.original.charCodeAt(nextNodeStart)), + char === 32 /*" "*/ || char === 9 /*"\t"*/ || char === 10 /*"\n"*/ || char === 13) /*"\r"*/) + nextNodeStart++; + if (node !== undefined) { + splitUpNodes.push({ + contentEnd, + end: nextNodeStart, + node, + separator, + start + }); + } + node = nextNode; + start = nextNodeStart; + } + splitUpNodes.push({ + contentEnd: end, + end, + node: node, + separator: null, + start + }); + return splitUpNodes; +} +// This assumes there are only white-space and comments between start and end +function removeLineBreaks(code, start, end) { + while (true) { + const [removeStart, removeEnd] = findFirstLineBreakOutsideComment(code.original.slice(start, end)); + if (removeStart === -1) { + break; + } + code.remove(start + removeStart, (start += removeEnd)); + } +} + +class BlockScope extends ChildScope { + constructor(parent) { + super(parent, parent.context); + } + addDeclaration(identifier, context, init, kind) { + if (kind === "var" /* VariableKind.var */) { + const name = identifier.name; + const existingVariable = this.hoistedVariables?.get(name) || this.variables.get(name); + if (existingVariable) { + if (existingVariable.kind === "var" /* VariableKind.var */ || + (kind === "var" /* VariableKind.var */ && existingVariable.kind === "parameter" /* VariableKind.parameter */)) { + existingVariable.addDeclaration(identifier, init); + return existingVariable; + } + return context.error(logRedeclarationError(name), identifier.start); + } + const declaredVariable = this.parent.addDeclaration(identifier, context, init, kind); + // Necessary to make sure the init is deoptimized for conditional declarations. + // We cannot call deoptimizePath here. + declaredVariable.markInitializersForDeoptimization(); + // We add the variable to this and all parent scopes to reliably detect conflicts + this.addHoistedVariable(name, declaredVariable); + return declaredVariable; + } + return super.addDeclaration(identifier, context, init, kind); + } +} + +class ExpressionStatement extends NodeBase { + initialise() { + if (this.directive && + this.directive !== 'use strict' && + this.parent.type === Program$1) { + this.scope.context.log(LOGLEVEL_WARN, + // This is necessary, because either way (deleting or not) can lead to errors. + logModuleLevelDirective(this.directive, this.scope.context.module.id), this.start); + } + } + removeAnnotations(code) { + this.expression.removeAnnotations(code); + } + render(code, options) { + super.render(code, options); + if (code.original[this.end - 1] !== ';') { + code.appendLeft(this.end, ';'); + } + } + shouldBeIncluded(context) { + if (this.directive && this.directive !== 'use strict') + return this.parent.type !== Program$1; + return super.shouldBeIncluded(context); + } + applyDeoptimizations() { } +} + +class BlockStatement extends NodeBase { + get deoptimizeBody() { + return isFlagSet(this.flags, 32768 /* Flag.deoptimizeBody */); + } + set deoptimizeBody(value) { + this.flags = setFlag(this.flags, 32768 /* Flag.deoptimizeBody */, value); + } + get directlyIncluded() { + return isFlagSet(this.flags, 16384 /* Flag.directlyIncluded */); + } + set directlyIncluded(value) { + this.flags = setFlag(this.flags, 16384 /* Flag.directlyIncluded */, value); + } + addImplicitReturnExpressionToScope() { + const lastStatement = this.body[this.body.length - 1]; + if (!lastStatement || lastStatement.type !== ReturnStatement$1) { + this.scope.addReturnExpression(UNKNOWN_EXPRESSION); + } + } + createScope(parentScope) { + this.scope = this.parent.preventChildBlockScope + ? parentScope + : new BlockScope(parentScope); + } + hasEffects(context) { + if (this.deoptimizeBody) + return true; + for (const node of this.body) { + if (context.brokenFlow) + break; + if (node.hasEffects(context)) + return true; + } + return false; + } + include(context, includeChildrenRecursively) { + if (!(this.deoptimizeBody && this.directlyIncluded)) { + this.included = true; + this.directlyIncluded = true; + if (this.deoptimizeBody) + includeChildrenRecursively = true; + for (const node of this.body) { + if (includeChildrenRecursively || node.shouldBeIncluded(context)) + node.include(context, includeChildrenRecursively); + } + } + } + initialise() { + const firstBodyStatement = this.body[0]; + this.deoptimizeBody = + firstBodyStatement instanceof ExpressionStatement && + firstBodyStatement.directive === 'use asm'; + } + render(code, options) { + if (this.body.length > 0) { + renderStatementList(this.body, code, this.start + 1, this.end - 1, options); + } + else { + super.render(code, options); + } + } +} + +class RestElement extends NodeBase { + constructor() { + super(...arguments); + this.declarationInit = null; + } + addExportedVariables(variables, exportNamesByVariable) { + this.argument.addExportedVariables(variables, exportNamesByVariable); + } + declare(kind, init) { + this.declarationInit = init; + return this.argument.declare(kind, UNKNOWN_EXPRESSION); + } + deoptimizePath(path) { + path.length === 0 && this.argument.deoptimizePath(EMPTY_PATH); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + return (path.length > 0 || + this.argument.hasEffectsOnInteractionAtPath(EMPTY_PATH, interaction, context)); + } + markDeclarationReached() { + this.argument.markDeclarationReached(); + } + applyDeoptimizations() { + this.deoptimized = true; + if (this.declarationInit !== null) { + this.declarationInit.deoptimizePath([UnknownKey, UnknownKey]); + this.scope.context.requestTreeshakingPass(); + } + } +} + +class FunctionBase extends NodeBase { + constructor() { + super(...arguments); + this.objectEntity = null; + } + get async() { + return isFlagSet(this.flags, 256 /* Flag.async */); + } + set async(value) { + this.flags = setFlag(this.flags, 256 /* Flag.async */, value); + } + get deoptimizedReturn() { + return isFlagSet(this.flags, 512 /* Flag.deoptimizedReturn */); + } + set deoptimizedReturn(value) { + this.flags = setFlag(this.flags, 512 /* Flag.deoptimizedReturn */, value); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + if (interaction.type === INTERACTION_CALLED) { + const { parameters } = this.scope; + const { args } = interaction; + let hasRest = false; + for (let position = 0; position < args.length - 1; position++) { + const parameter = this.params[position]; + // Only the "this" argument arg[0] can be null + const argument = args[position + 1]; + if (hasRest || parameter instanceof RestElement) { + hasRest = true; + argument.deoptimizePath(UNKNOWN_PATH); + } + else if (parameter instanceof Identifier) { + parameters[position][0].addEntityToBeDeoptimized(argument); + this.addArgumentToBeDeoptimized(argument); + } + else if (parameter) { + argument.deoptimizePath(UNKNOWN_PATH); + } + else { + this.addArgumentToBeDeoptimized(argument); + } + } + } + else { + this.getObjectEntity().deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + } + deoptimizePath(path) { + this.getObjectEntity().deoptimizePath(path); + if (path.length === 1 && path[0] === UnknownKey) { + // A reassignment of UNKNOWN_PATH is considered equivalent to having lost track + // which means the return expression and parameters need to be reassigned + this.scope.getReturnExpression().deoptimizePath(UNKNOWN_PATH); + for (const parameterList of this.scope.parameters) { + for (const parameter of parameterList) { + parameter.deoptimizePath(UNKNOWN_PATH); + } + } + } + } + getLiteralValueAtPath(path, recursionTracker, origin) { + return this.getObjectEntity().getLiteralValueAtPath(path, recursionTracker, origin); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + if (path.length > 0) { + return this.getObjectEntity().getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + } + if (this.async) { + if (!this.deoptimizedReturn) { + this.deoptimizedReturn = true; + this.scope.getReturnExpression().deoptimizePath(UNKNOWN_PATH); + this.scope.context.requestTreeshakingPass(); + } + return UNKNOWN_RETURN_EXPRESSION; + } + return [this.scope.getReturnExpression(), false]; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + if (path.length > 0 || interaction.type !== INTERACTION_CALLED) { + return this.getObjectEntity().hasEffectsOnInteractionAtPath(path, interaction, context); + } + if (this.annotationNoSideEffects) { + return false; + } + if (this.async) { + const { propertyReadSideEffects } = this.scope.context.options + .treeshake; + const returnExpression = this.scope.getReturnExpression(); + if (returnExpression.hasEffectsOnInteractionAtPath(['then'], NODE_INTERACTION_UNKNOWN_CALL, context) || + (propertyReadSideEffects && + (propertyReadSideEffects === 'always' || + returnExpression.hasEffectsOnInteractionAtPath(['then'], NODE_INTERACTION_UNKNOWN_ACCESS, context)))) { + return true; + } + } + for (const parameter of this.params) { + if (parameter.hasEffects(context)) + return true; + } + return false; + } + include(context, includeChildrenRecursively) { + if (!this.deoptimized) + this.applyDeoptimizations(); + this.included = true; + const { brokenFlow } = context; + context.brokenFlow = false; + this.body.include(context, includeChildrenRecursively); + context.brokenFlow = brokenFlow; + } + includeCallArguments(context, parameters) { + this.scope.includeCallArguments(context, parameters); + } + initialise() { + if (this.body instanceof BlockStatement) { + this.body.addImplicitReturnExpressionToScope(); + } + else { + this.scope.addReturnExpression(this.body); + } + } + parseNode(esTreeNode) { + const { body, params } = esTreeNode; + const parameters = (this.params = []); + const { scope } = this; + const { bodyScope, context } = scope; + // We need to ensure that parameters are declared before the body is parsed + // so that the scope already knows all parameters and can detect conflicts + // when parsing the body. + for (const parameter of params) { + parameters.push(new (context.getNodeConstructor(parameter.type))(parameter, this, scope, false)); + } + scope.addParameterVariables(parameters.map(parameter => parameter.declare("parameter" /* VariableKind.parameter */, UNKNOWN_EXPRESSION)), parameters[parameters.length - 1] instanceof RestElement); + this.body = new (context.getNodeConstructor(body.type))(body, this, bodyScope); + super.parseNode(esTreeNode); + } + addArgumentToBeDeoptimized(_argument) { } + applyDeoptimizations() { } +} +FunctionBase.prototype.preventChildBlockScope = true; + +class ArrowFunctionExpression extends FunctionBase { + constructor() { + super(...arguments); + this.objectEntity = null; + } + createScope(parentScope) { + this.scope = new ReturnValueScope(parentScope, false); + } + hasEffects() { + if (!this.deoptimized) + this.applyDeoptimizations(); + return false; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + if (super.hasEffectsOnInteractionAtPath(path, interaction, context)) { + return true; + } + if (this.annotationNoSideEffects) { + return false; + } + if (interaction.type === INTERACTION_CALLED) { + const { ignore, brokenFlow } = context; + context.ignore = { + breaks: false, + continues: false, + labels: new Set(), + returnYield: true, + this: false + }; + if (this.body.hasEffects(context)) + return true; + context.ignore = ignore; + context.brokenFlow = brokenFlow; + } + return false; + } + include(context, includeChildrenRecursively) { + super.include(context, includeChildrenRecursively); + for (const parameter of this.params) { + if (!(parameter instanceof Identifier)) { + parameter.include(context, includeChildrenRecursively); + } + } + } + getObjectEntity() { + if (this.objectEntity !== null) { + return this.objectEntity; + } + return (this.objectEntity = new ObjectEntity([], OBJECT_PROTOTYPE)); + } +} + +function getSystemExportStatement(exportedVariables, { exportNamesByVariable, snippets: { _, getObject, getPropertyAccess } }, modifier = '') { + if (exportedVariables.length === 1 && + exportNamesByVariable.get(exportedVariables[0]).length === 1) { + const variable = exportedVariables[0]; + return `exports(${JSON.stringify(exportNamesByVariable.get(variable)[0])},${_}${variable.getName(getPropertyAccess)}${modifier})`; + } + else { + const fields = []; + for (const variable of exportedVariables) { + for (const exportName of exportNamesByVariable.get(variable)) { + fields.push([exportName, variable.getName(getPropertyAccess) + modifier]); + } + } + return `exports(${getObject(fields, { lineBreakIndent: null })})`; + } +} +// This is only invoked if there is exactly one export name +function renderSystemExportExpression(exportedVariable, expressionStart, expressionEnd, code, { exportNamesByVariable, snippets: { _ } }) { + code.prependRight(expressionStart, `exports(${JSON.stringify(exportNamesByVariable.get(exportedVariable)[0])},${_}`); + code.appendLeft(expressionEnd, ')'); +} +function renderSystemExportFunction(exportedVariables, expressionStart, expressionEnd, needsParens, code, options) { + const { _, getDirectReturnIifeLeft } = options.snippets; + code.prependRight(expressionStart, getDirectReturnIifeLeft(['v'], `${getSystemExportStatement(exportedVariables, options)},${_}v`, { needsArrowReturnParens: true, needsWrappedFunction: needsParens })); + code.appendLeft(expressionEnd, ')'); +} +function renderSystemExportSequenceAfterExpression(exportedVariable, expressionStart, expressionEnd, needsParens, code, options) { + const { _, getPropertyAccess } = options.snippets; + code.appendLeft(expressionEnd, `,${_}${getSystemExportStatement([exportedVariable], options)},${_}${exportedVariable.getName(getPropertyAccess)}`); + if (needsParens) { + code.prependRight(expressionStart, '('); + code.appendLeft(expressionEnd, ')'); + } +} +function renderSystemExportSequenceBeforeExpression(exportedVariable, expressionStart, expressionEnd, needsParens, code, options, modifier) { + const { _ } = options.snippets; + code.prependRight(expressionStart, `${getSystemExportStatement([exportedVariable], options, modifier)},${_}`); + if (needsParens) { + code.prependRight(expressionStart, '('); + code.appendLeft(expressionEnd, ')'); + } +} + +class ObjectPattern extends NodeBase { + addExportedVariables(variables, exportNamesByVariable) { + for (const property of this.properties) { + if (property.type === Property$1) { + property.value.addExportedVariables(variables, exportNamesByVariable); + } + else { + property.argument.addExportedVariables(variables, exportNamesByVariable); + } + } + } + declare(kind, init) { + const variables = []; + for (const property of this.properties) { + variables.push(...property.declare(kind, init)); + } + return variables; + } + deoptimizePath(path) { + if (path.length === 0) { + for (const property of this.properties) { + property.deoptimizePath(path); + } + } + } + hasEffectsOnInteractionAtPath( + // At the moment, this is only triggered for assignment left-hand sides, + // where the path is empty + _path, interaction, context) { + for (const property of this.properties) { + if (property.hasEffectsOnInteractionAtPath(EMPTY_PATH, interaction, context)) + return true; + } + return false; + } + markDeclarationReached() { + for (const property of this.properties) { + property.markDeclarationReached(); + } + } +} + +class AssignmentExpression extends NodeBase { + hasEffects(context) { + const { deoptimized, left, operator, right } = this; + if (!deoptimized) + this.applyDeoptimizations(); + // MemberExpressions do not access the property before assignments if the + // operator is '='. + return (right.hasEffects(context) || left.hasEffectsAsAssignmentTarget(context, operator !== '=')); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + return this.right.hasEffectsOnInteractionAtPath(path, interaction, context); + } + include(context, includeChildrenRecursively) { + const { deoptimized, left, right, operator } = this; + if (!deoptimized) + this.applyDeoptimizations(); + this.included = true; + if (includeChildrenRecursively || + operator !== '=' || + left.included || + left.hasEffectsAsAssignmentTarget(createHasEffectsContext(), false)) { + left.includeAsAssignmentTarget(context, includeChildrenRecursively, operator !== '='); + } + right.include(context, includeChildrenRecursively); + } + initialise() { + if (this.left instanceof Identifier) { + const variable = this.scope.variables.get(this.left.name); + if (variable?.kind === 'const') { + this.scope.context.error(logConstVariableReassignError(), this.left.start); + } + } + this.left.setAssignedValue(this.right); + } + render(code, options, { preventASI, renderedParentType, renderedSurroundingElement } = BLANK) { + const { left, right, start, end, parent } = this; + if (left.included) { + left.render(code, options); + right.render(code, options); + } + else { + const inclusionStart = findNonWhiteSpace(code.original, findFirstOccurrenceOutsideComment(code.original, '=', left.end) + 1); + code.remove(start, inclusionStart); + if (preventASI) { + removeLineBreaks(code, inclusionStart, right.start); + } + right.render(code, options, { + renderedParentType: renderedParentType || parent.type, + renderedSurroundingElement: renderedSurroundingElement || parent.type + }); + } + if (options.format === 'system') { + if (left instanceof Identifier) { + const variable = left.variable; + const exportNames = options.exportNamesByVariable.get(variable); + if (exportNames) { + if (exportNames.length === 1) { + renderSystemExportExpression(variable, start, end, code, options); + } + else { + renderSystemExportSequenceAfterExpression(variable, start, end, parent.type !== ExpressionStatement$1, code, options); + } + return; + } + } + else { + const systemPatternExports = []; + left.addExportedVariables(systemPatternExports, options.exportNamesByVariable); + if (systemPatternExports.length > 0) { + renderSystemExportFunction(systemPatternExports, start, end, renderedSurroundingElement === ExpressionStatement$1, code, options); + return; + } + } + } + if (left.included && + left instanceof ObjectPattern && + (renderedSurroundingElement === ExpressionStatement$1 || + renderedSurroundingElement === ArrowFunctionExpression$1)) { + code.appendRight(start, '('); + code.prependLeft(end, ')'); + } + } + applyDeoptimizations() { + this.deoptimized = true; + this.left.deoptimizePath(EMPTY_PATH); + this.right.deoptimizePath(UNKNOWN_PATH); + this.scope.context.requestTreeshakingPass(); + } +} + +class AssignmentPattern extends NodeBase { + addExportedVariables(variables, exportNamesByVariable) { + this.left.addExportedVariables(variables, exportNamesByVariable); + } + declare(kind, init) { + return this.left.declare(kind, init); + } + deoptimizePath(path) { + path.length === 0 && this.left.deoptimizePath(path); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + return (path.length > 0 || this.left.hasEffectsOnInteractionAtPath(EMPTY_PATH, interaction, context)); + } + markDeclarationReached() { + this.left.markDeclarationReached(); + } + render(code, options, { isShorthandProperty } = BLANK) { + this.left.render(code, options, { isShorthandProperty }); + this.right.render(code, options); + } + applyDeoptimizations() { + this.deoptimized = true; + this.left.deoptimizePath(EMPTY_PATH); + this.right.deoptimizePath(UNKNOWN_PATH); + this.scope.context.requestTreeshakingPass(); + } +} + +class ArgumentsVariable extends LocalVariable { + constructor(context) { + super('arguments', null, UNKNOWN_EXPRESSION, context, "other" /* VariableKind.other */); + this.deoptimizedArguments = []; + } + addArgumentToBeDeoptimized(argument) { + if (this.included) { + argument.deoptimizePath(UNKNOWN_PATH); + } + else { + this.deoptimizedArguments.push(argument); + } + } + hasEffectsOnInteractionAtPath(path, { type }) { + return type !== INTERACTION_ACCESSED || path.length > 1; + } + include() { + super.include(); + for (const argument of this.deoptimizedArguments) { + argument.deoptimizePath(UNKNOWN_PATH); + } + this.deoptimizedArguments.length = 0; + } +} + +class ThisVariable extends ParameterVariable { + constructor(context) { + super('this', null, context); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + return (context.replacedVariableInits.get(this) || UNKNOWN_EXPRESSION).hasEffectsOnInteractionAtPath(path, interaction, context); + } +} + +class FunctionScope extends ReturnValueScope { + constructor(parent) { + const { context } = parent; + super(parent, false); + this.variables.set('arguments', (this.argumentsVariable = new ArgumentsVariable(context))); + this.variables.set('this', (this.thisVariable = new ThisVariable(context))); + } + findLexicalBoundary() { + return this; + } + includeCallArguments(context, parameters) { + super.includeCallArguments(context, parameters); + if (this.argumentsVariable.included) { + for (const argument of parameters) { + if (!argument.included) { + argument.include(context, false); + } + } + } + } +} + +class FunctionNode extends FunctionBase { + constructor() { + super(...arguments); + this.objectEntity = null; + } + createScope(parentScope) { + this.scope = new FunctionScope(parentScope); + this.constructedEntity = new ObjectEntity(Object.create(null), OBJECT_PROTOTYPE); + // This makes sure that all deoptimizations of "this" are applied to the + // constructed entity. + this.scope.thisVariable.addEntityToBeDeoptimized(this.constructedEntity); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + super.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + if (interaction.type === INTERACTION_CALLED && path.length === 0 && interaction.args[0]) { + // args[0] is the "this" argument + this.scope.thisVariable.addEntityToBeDeoptimized(interaction.args[0]); + } + } + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + if (this.annotationNoSideEffects) { + return false; + } + return !!this.id?.hasEffects(context); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + if (super.hasEffectsOnInteractionAtPath(path, interaction, context)) + return true; + if (this.annotationNoSideEffects) { + return false; + } + if (interaction.type === INTERACTION_CALLED) { + const thisInit = context.replacedVariableInits.get(this.scope.thisVariable); + context.replacedVariableInits.set(this.scope.thisVariable, interaction.withNew ? this.constructedEntity : UNKNOWN_EXPRESSION); + const { brokenFlow, ignore, replacedVariableInits } = context; + context.ignore = { + breaks: false, + continues: false, + labels: new Set(), + returnYield: true, + this: interaction.withNew + }; + if (this.body.hasEffects(context)) + return true; + context.brokenFlow = brokenFlow; + if (thisInit) { + replacedVariableInits.set(this.scope.thisVariable, thisInit); + } + else { + replacedVariableInits.delete(this.scope.thisVariable); + } + context.ignore = ignore; + } + return false; + } + include(context, includeChildrenRecursively) { + super.include(context, includeChildrenRecursively); + this.id?.include(); + const hasArguments = this.scope.argumentsVariable.included; + for (const parameter of this.params) { + if (!(parameter instanceof Identifier) || hasArguments) { + parameter.include(context, includeChildrenRecursively); + } + } + } + initialise() { + super.initialise(); + this.id?.declare("function" /* VariableKind.function */, this); + } + addArgumentToBeDeoptimized(argument) { + this.scope.argumentsVariable.addArgumentToBeDeoptimized(argument); + } + getObjectEntity() { + if (this.objectEntity !== null) { + return this.objectEntity; + } + return (this.objectEntity = new ObjectEntity([ + { + key: 'prototype', + kind: 'init', + property: new ObjectEntity([], OBJECT_PROTOTYPE) + } + ], OBJECT_PROTOTYPE)); + } +} + +class AwaitExpression extends NodeBase { + hasEffects() { + if (!this.deoptimized) + this.applyDeoptimizations(); + return true; + } + include(context, includeChildrenRecursively) { + if (!this.deoptimized) + this.applyDeoptimizations(); + if (!this.included) { + this.included = true; + checkTopLevelAwait: if (!this.scope.context.usesTopLevelAwait) { + let parent = this.parent; + do { + if (parent instanceof FunctionNode || parent instanceof ArrowFunctionExpression) + break checkTopLevelAwait; + } while ((parent = parent.parent)); + this.scope.context.usesTopLevelAwait = true; + } + } + this.argument.include(context, includeChildrenRecursively); + } +} + +const binaryOperators = { + '!=': (left, right) => left != right, + '!==': (left, right) => left !== right, + '%': (left, right) => left % right, + '&': (left, right) => left & right, + '*': (left, right) => left * right, + // At the moment, "**" will be transpiled to Math.pow + '**': (left, right) => left ** right, + '+': (left, right) => left + right, + '-': (left, right) => left - right, + '/': (left, right) => left / right, + '<': (left, right) => left < right, + '<<': (left, right) => left << right, + '<=': (left, right) => left <= right, + '==': (left, right) => left == right, + '===': (left, right) => left === right, + '>': (left, right) => left > right, + '>=': (left, right) => left >= right, + '>>': (left, right) => left >> right, + '>>>': (left, right) => left >>> right, + '^': (left, right) => left ^ right, + '|': (left, right) => left | right + // We use the fallback for cases where we return something unknown + // in: () => UnknownValue, + // instanceof: () => UnknownValue, +}; +class BinaryExpression extends NodeBase { + deoptimizeCache() { } + getLiteralValueAtPath(path, recursionTracker, origin) { + if (path.length > 0) + return UnknownValue; + const leftValue = this.left.getLiteralValueAtPath(EMPTY_PATH, recursionTracker, origin); + if (typeof leftValue === 'symbol') + return UnknownValue; + const rightValue = this.right.getLiteralValueAtPath(EMPTY_PATH, recursionTracker, origin); + if (typeof rightValue === 'symbol') + return UnknownValue; + const operatorFunction = binaryOperators[this.operator]; + if (!operatorFunction) + return UnknownValue; + return operatorFunction(leftValue, rightValue); + } + hasEffects(context) { + // support some implicit type coercion runtime errors + if (this.operator === '+' && + this.parent instanceof ExpressionStatement && + this.left.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this) === '') { + return true; + } + return super.hasEffects(context); + } + hasEffectsOnInteractionAtPath(path, { type }) { + return type !== INTERACTION_ACCESSED || path.length > 1; + } + removeAnnotations(code) { + this.left.removeAnnotations(code); + } + render(code, options, { renderedSurroundingElement } = BLANK) { + this.left.render(code, options, { renderedSurroundingElement }); + this.right.render(code, options); + } +} + +class BreakStatement extends NodeBase { + hasEffects(context) { + if (this.label) { + if (!context.ignore.labels.has(this.label.name)) + return true; + context.includedLabels.add(this.label.name); + } + else { + if (!context.ignore.breaks) + return true; + context.hasBreak = true; + } + context.brokenFlow = true; + return false; + } + include(context) { + this.included = true; + if (this.label) { + this.label.include(); + context.includedLabels.add(this.label.name); + } + else { + context.hasBreak = true; + } + context.brokenFlow = true; + } +} + +function renderCallArguments(code, options, node) { + if (node.arguments.length > 0) { + if (node.arguments[node.arguments.length - 1].included) { + for (const argument of node.arguments) { + argument.render(code, options); + } + } + else { + let lastIncludedIndex = node.arguments.length - 2; + while (lastIncludedIndex >= 0 && !node.arguments[lastIncludedIndex].included) { + lastIncludedIndex--; + } + if (lastIncludedIndex >= 0) { + for (let index = 0; index <= lastIncludedIndex; index++) { + node.arguments[index].render(code, options); + } + code.remove(findFirstOccurrenceOutsideComment(code.original, ',', node.arguments[lastIncludedIndex].end), node.end - 1); + } + else { + code.remove(findFirstOccurrenceOutsideComment(code.original, '(', node.callee.end) + 1, node.end - 1); + } + } + } +} + +class Literal extends NodeBase { + deoptimizeArgumentsOnInteractionAtPath() { } + getLiteralValueAtPath(path) { + if (path.length > 0 || + // unknown literals can also be null but do not start with an "n" + (this.value === null && this.scope.context.code.charCodeAt(this.start) !== 110) || + typeof this.value === 'bigint' || + // to support shims for regular expressions + this.scope.context.code.charCodeAt(this.start) === 47) { + return UnknownValue; + } + return this.value; + } + getReturnExpressionWhenCalledAtPath(path) { + if (path.length !== 1) + return UNKNOWN_RETURN_EXPRESSION; + return getMemberReturnExpressionWhenCalled(this.members, path[0]); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + switch (interaction.type) { + case INTERACTION_ACCESSED: { + return path.length > (this.value === null ? 0 : 1); + } + case INTERACTION_ASSIGNED: { + return true; + } + case INTERACTION_CALLED: { + if (this.included && + this.value instanceof RegExp && + (this.value.global || this.value.sticky)) { + return true; + } + return (path.length !== 1 || + hasMemberEffectWhenCalled(this.members, path[0], interaction, context)); + } + } + } + initialise() { + this.members = getLiteralMembersForValue(this.value); + } + parseNode(esTreeNode) { + this.value = esTreeNode.value; + this.regex = esTreeNode.regex; + super.parseNode(esTreeNode); + } + render(code) { + if (typeof this.value === 'string') { + code.indentExclusionRanges.push([this.start + 1, this.end - 1]); + } + } +} + +// To avoid infinite recursions +const MAX_PATH_DEPTH = 7; +function getResolvablePropertyKey(memberExpression) { + return memberExpression.computed + ? getResolvableComputedPropertyKey(memberExpression.property) + : memberExpression.property.name; +} +function getResolvableComputedPropertyKey(propertyKey) { + if (propertyKey instanceof Literal) { + return String(propertyKey.value); + } + return null; +} +function getPathIfNotComputed(memberExpression) { + const nextPathKey = memberExpression.propertyKey; + const object = memberExpression.object; + if (typeof nextPathKey === 'string') { + if (object instanceof Identifier) { + return [ + { key: object.name, pos: object.start }, + { key: nextPathKey, pos: memberExpression.property.start } + ]; + } + if (object instanceof MemberExpression) { + const parentPath = getPathIfNotComputed(object); + return (parentPath && [...parentPath, { key: nextPathKey, pos: memberExpression.property.start }]); + } + } + return null; +} +function getStringFromPath(path) { + let pathString = path[0].key; + for (let index = 1; index < path.length; index++) { + pathString += '.' + path[index].key; + } + return pathString; +} +class MemberExpression extends NodeBase { + constructor() { + super(...arguments); + this.variable = null; + this.expressionsToBeDeoptimized = []; + } + get computed() { + return isFlagSet(this.flags, 1024 /* Flag.computed */); + } + set computed(value) { + this.flags = setFlag(this.flags, 1024 /* Flag.computed */, value); + } + get optional() { + return isFlagSet(this.flags, 128 /* Flag.optional */); + } + set optional(value) { + this.flags = setFlag(this.flags, 128 /* Flag.optional */, value); + } + get assignmentDeoptimized() { + return isFlagSet(this.flags, 16 /* Flag.assignmentDeoptimized */); + } + set assignmentDeoptimized(value) { + this.flags = setFlag(this.flags, 16 /* Flag.assignmentDeoptimized */, value); + } + get bound() { + return isFlagSet(this.flags, 32 /* Flag.bound */); + } + set bound(value) { + this.flags = setFlag(this.flags, 32 /* Flag.bound */, value); + } + get isUndefined() { + return isFlagSet(this.flags, 64 /* Flag.isUndefined */); + } + set isUndefined(value) { + this.flags = setFlag(this.flags, 64 /* Flag.isUndefined */, value); + } + bind() { + this.bound = true; + const path = getPathIfNotComputed(this); + const baseVariable = path && this.scope.findVariable(path[0].key); + if (baseVariable?.isNamespace) { + const resolvedVariable = resolveNamespaceVariables(baseVariable, path.slice(1), this.scope.context); + if (!resolvedVariable) { + super.bind(); + } + else if (resolvedVariable === 'undefined') { + this.isUndefined = true; + } + else { + this.variable = resolvedVariable; + this.scope.addNamespaceMemberAccess(getStringFromPath(path), resolvedVariable); + } + } + else { + super.bind(); + } + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + if (this.variable) { + this.variable.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + else if (!this.isUndefined) { + if (path.length < MAX_PATH_DEPTH) { + this.object.deoptimizeArgumentsOnInteractionAtPath(interaction, [this.getPropertyKey(), ...path], recursionTracker); + } + else { + deoptimizeInteraction(interaction); + } + } + } + deoptimizeCache() { + const { expressionsToBeDeoptimized, object } = this; + this.expressionsToBeDeoptimized = EMPTY_ARRAY; + this.propertyKey = UnknownKey; + object.deoptimizePath(UNKNOWN_PATH); + for (const expression of expressionsToBeDeoptimized) { + expression.deoptimizeCache(); + } + } + deoptimizePath(path) { + if (path.length === 0) + this.disallowNamespaceReassignment(); + if (this.variable) { + this.variable.deoptimizePath(path); + } + else if (!this.isUndefined && path.length < MAX_PATH_DEPTH) { + const propertyKey = this.getPropertyKey(); + this.object.deoptimizePath([ + propertyKey === UnknownKey ? UnknownNonAccessorKey : propertyKey, + ...path + ]); + } + } + getLiteralValueAtPath(path, recursionTracker, origin) { + if (this.variable) { + return this.variable.getLiteralValueAtPath(path, recursionTracker, origin); + } + if (this.isUndefined) { + return undefined; + } + if (this.propertyKey !== UnknownKey && path.length < MAX_PATH_DEPTH) { + this.expressionsToBeDeoptimized.push(origin); + return this.object.getLiteralValueAtPath([this.getPropertyKey(), ...path], recursionTracker, origin); + } + return UnknownValue; + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + if (this.variable) { + return this.variable.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + } + if (this.isUndefined) { + return [UNDEFINED_EXPRESSION, false]; + } + if (this.propertyKey !== UnknownKey && path.length < MAX_PATH_DEPTH) { + this.expressionsToBeDeoptimized.push(origin); + return this.object.getReturnExpressionWhenCalledAtPath([this.getPropertyKey(), ...path], interaction, recursionTracker, origin); + } + return UNKNOWN_RETURN_EXPRESSION; + } + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + return (this.property.hasEffects(context) || + this.object.hasEffects(context) || + this.hasAccessEffect(context)); + } + hasEffectsAsAssignmentTarget(context, checkAccess) { + if (checkAccess && !this.deoptimized) + this.applyDeoptimizations(); + if (!this.assignmentDeoptimized) + this.applyAssignmentDeoptimization(); + return (this.property.hasEffects(context) || + this.object.hasEffects(context) || + (checkAccess && this.hasAccessEffect(context)) || + this.hasEffectsOnInteractionAtPath(EMPTY_PATH, this.assignmentInteraction, context)); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + if (this.variable) { + return this.variable.hasEffectsOnInteractionAtPath(path, interaction, context); + } + if (this.isUndefined) { + return true; + } + if (path.length < MAX_PATH_DEPTH) { + return this.object.hasEffectsOnInteractionAtPath([this.getPropertyKey(), ...path], interaction, context); + } + return true; + } + include(context, includeChildrenRecursively) { + if (!this.deoptimized) + this.applyDeoptimizations(); + this.includeProperties(context, includeChildrenRecursively); + } + includeAsAssignmentTarget(context, includeChildrenRecursively, deoptimizeAccess) { + if (!this.assignmentDeoptimized) + this.applyAssignmentDeoptimization(); + if (deoptimizeAccess) { + this.include(context, includeChildrenRecursively); + } + else { + this.includeProperties(context, includeChildrenRecursively); + } + } + includeCallArguments(context, parameters) { + if (this.variable) { + this.variable.includeCallArguments(context, parameters); + } + else { + super.includeCallArguments(context, parameters); + } + } + initialise() { + this.propertyKey = getResolvablePropertyKey(this); + this.accessInteraction = { args: [this.object], type: INTERACTION_ACCESSED }; + } + isSkippedAsOptional(origin) { + return (!this.variable && + !this.isUndefined && + (this.object.isSkippedAsOptional?.(origin) || + (this.optional && + this.object.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, origin) == null))); + } + render(code, options, { renderedParentType, isCalleeOfRenderedParent, renderedSurroundingElement } = BLANK) { + if (this.variable || this.isUndefined) { + const { snippets: { getPropertyAccess } } = options; + let replacement = this.variable ? this.variable.getName(getPropertyAccess) : 'undefined'; + if (renderedParentType && isCalleeOfRenderedParent) + replacement = '0, ' + replacement; + code.overwrite(this.start, this.end, replacement, { + contentOnly: true, + storeName: true + }); + } + else { + if (renderedParentType && isCalleeOfRenderedParent) { + code.appendRight(this.start, '0, '); + } + this.object.render(code, options, { renderedSurroundingElement }); + this.property.render(code, options); + } + } + setAssignedValue(value) { + this.assignmentInteraction = { + args: [this.object, value], + type: INTERACTION_ASSIGNED + }; + } + applyDeoptimizations() { + this.deoptimized = true; + const { propertyReadSideEffects } = this.scope.context.options + .treeshake; + if ( + // Namespaces are not bound and should not be deoptimized + this.bound && + propertyReadSideEffects && + !(this.variable || this.isUndefined)) { + const propertyKey = this.getPropertyKey(); + this.object.deoptimizeArgumentsOnInteractionAtPath(this.accessInteraction, [propertyKey], SHARED_RECURSION_TRACKER); + this.scope.context.requestTreeshakingPass(); + } + } + applyAssignmentDeoptimization() { + this.assignmentDeoptimized = true; + const { propertyReadSideEffects } = this.scope.context.options + .treeshake; + if ( + // Namespaces are not bound and should not be deoptimized + this.bound && + propertyReadSideEffects && + !(this.variable || this.isUndefined)) { + this.object.deoptimizeArgumentsOnInteractionAtPath(this.assignmentInteraction, [this.getPropertyKey()], SHARED_RECURSION_TRACKER); + this.scope.context.requestTreeshakingPass(); + } + } + disallowNamespaceReassignment() { + if (this.object instanceof Identifier) { + const variable = this.scope.findVariable(this.object.name); + if (variable.isNamespace) { + if (this.variable) { + this.scope.context.includeVariableInModule(this.variable); + } + this.scope.context.log(LOGLEVEL_WARN, logIllegalImportReassignment(this.object.name, this.scope.context.module.id), this.start); + } + } + } + getPropertyKey() { + if (this.propertyKey === null) { + this.propertyKey = UnknownKey; + const value = this.property.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this); + return (this.propertyKey = + value === SymbolToStringTag + ? value + : typeof value === 'symbol' + ? UnknownKey + : String(value)); + } + return this.propertyKey; + } + hasAccessEffect(context) { + const { propertyReadSideEffects } = this.scope.context.options + .treeshake; + return (!(this.variable || this.isUndefined) && + propertyReadSideEffects && + (propertyReadSideEffects === 'always' || + this.object.hasEffectsOnInteractionAtPath([this.getPropertyKey()], this.accessInteraction, context))); + } + includeProperties(context, includeChildrenRecursively) { + if (!this.included) { + this.included = true; + if (this.variable) { + this.scope.context.includeVariableInModule(this.variable); + } + } + this.object.include(context, includeChildrenRecursively); + this.property.include(context, includeChildrenRecursively); + } +} +function resolveNamespaceVariables(baseVariable, path, astContext) { + if (path.length === 0) + return baseVariable; + if (!baseVariable.isNamespace || baseVariable instanceof ExternalVariable) + return null; + const exportName = path[0].key; + const variable = baseVariable.context.traceExport(exportName); + if (!variable) { + if (path.length === 1) { + const fileName = baseVariable.context.fileName; + astContext.log(LOGLEVEL_WARN, logMissingExport(exportName, astContext.module.id, fileName), path[0].pos); + return 'undefined'; + } + return null; + } + return resolveNamespaceVariables(variable, path.slice(1), astContext); +} + +class CallExpressionBase extends NodeBase { + constructor() { + super(...arguments); + this.returnExpression = null; + this.deoptimizableDependentExpressions = []; + this.expressionsToBeDeoptimized = new Set(); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + const { args } = interaction; + const [returnExpression, isPure] = this.getReturnExpression(recursionTracker); + if (isPure) + return; + const deoptimizedExpressions = args.filter(expression => !!expression && expression !== UNKNOWN_EXPRESSION); + if (deoptimizedExpressions.length === 0) + return; + if (returnExpression === UNKNOWN_EXPRESSION) { + for (const expression of deoptimizedExpressions) { + expression.deoptimizePath(UNKNOWN_PATH); + } + } + else { + recursionTracker.withTrackedEntityAtPath(path, returnExpression, () => { + for (const expression of deoptimizedExpressions) { + this.expressionsToBeDeoptimized.add(expression); + } + returnExpression.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + }, null); + } + } + deoptimizeCache() { + if (this.returnExpression?.[0] !== UNKNOWN_EXPRESSION) { + this.returnExpression = UNKNOWN_RETURN_EXPRESSION; + const { deoptimizableDependentExpressions, expressionsToBeDeoptimized } = this; + this.expressionsToBeDeoptimized = EMPTY_SET; + this.deoptimizableDependentExpressions = EMPTY_ARRAY; + for (const expression of deoptimizableDependentExpressions) { + expression.deoptimizeCache(); + } + for (const expression of expressionsToBeDeoptimized) { + expression.deoptimizePath(UNKNOWN_PATH); + } + } + } + deoptimizePath(path) { + if (path.length === 0 || + this.scope.context.deoptimizationTracker.trackEntityAtPathAndGetIfTracked(path, this)) { + return; + } + const [returnExpression] = this.getReturnExpression(); + if (returnExpression !== UNKNOWN_EXPRESSION) { + returnExpression.deoptimizePath(path); + } + } + getLiteralValueAtPath(path, recursionTracker, origin) { + const [returnExpression] = this.getReturnExpression(recursionTracker); + if (returnExpression === UNKNOWN_EXPRESSION) { + return UnknownValue; + } + return recursionTracker.withTrackedEntityAtPath(path, returnExpression, () => { + this.deoptimizableDependentExpressions.push(origin); + return returnExpression.getLiteralValueAtPath(path, recursionTracker, origin); + }, UnknownValue); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + const returnExpression = this.getReturnExpression(recursionTracker); + if (returnExpression[0] === UNKNOWN_EXPRESSION) { + return returnExpression; + } + return recursionTracker.withTrackedEntityAtPath(path, returnExpression, () => { + this.deoptimizableDependentExpressions.push(origin); + const [expression, isPure] = returnExpression[0].getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + return [expression, isPure || returnExpression[1]]; + }, UNKNOWN_RETURN_EXPRESSION); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + const { type } = interaction; + if (type === INTERACTION_CALLED) { + const { args, withNew } = interaction; + if ((withNew ? context.instantiated : context.called).trackEntityAtPathAndGetIfTracked(path, args, this)) { + return false; + } + } + else if ((type === INTERACTION_ASSIGNED + ? context.assigned + : context.accessed).trackEntityAtPathAndGetIfTracked(path, this)) { + return false; + } + const [returnExpression, isPure] = this.getReturnExpression(); + return ((type === INTERACTION_ASSIGNED || !isPure) && + returnExpression.hasEffectsOnInteractionAtPath(path, interaction, context)); + } +} + +class CallExpression extends CallExpressionBase { + get optional() { + return isFlagSet(this.flags, 128 /* Flag.optional */); + } + set optional(value) { + this.flags = setFlag(this.flags, 128 /* Flag.optional */, value); + } + bind() { + super.bind(); + if (this.callee instanceof Identifier) { + const variable = this.scope.findVariable(this.callee.name); + if (variable.isNamespace) { + this.scope.context.log(LOGLEVEL_WARN, logCannotCallNamespace(this.callee.name), this.start); + } + if (this.callee.name === 'eval') { + this.scope.context.log(LOGLEVEL_WARN, logEval(this.scope.context.module.id), this.start); + } + } + this.interaction = { + args: [ + this.callee instanceof MemberExpression && !this.callee.variable + ? this.callee.object + : null, + ...this.arguments + ], + type: INTERACTION_CALLED, + withNew: false + }; + } + hasEffects(context) { + try { + for (const argument of this.arguments) { + if (argument.hasEffects(context)) + return true; + } + if (this.annotationPure) { + return false; + } + return (this.callee.hasEffects(context) || + this.callee.hasEffectsOnInteractionAtPath(EMPTY_PATH, this.interaction, context)); + } + finally { + if (!this.deoptimized) + this.applyDeoptimizations(); + } + } + include(context, includeChildrenRecursively) { + if (!this.deoptimized) + this.applyDeoptimizations(); + if (includeChildrenRecursively) { + super.include(context, includeChildrenRecursively); + if (includeChildrenRecursively === INCLUDE_PARAMETERS && + this.callee instanceof Identifier && + this.callee.variable) { + this.callee.variable.markCalledFromTryStatement(); + } + } + else { + this.included = true; + this.callee.include(context, false); + } + this.callee.includeCallArguments(context, this.arguments); + } + isSkippedAsOptional(origin) { + return (this.callee.isSkippedAsOptional?.(origin) || + (this.optional && + this.callee.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, origin) == null)); + } + render(code, options, { renderedSurroundingElement } = BLANK) { + this.callee.render(code, options, { + isCalleeOfRenderedParent: true, + renderedSurroundingElement + }); + renderCallArguments(code, options, this); + } + applyDeoptimizations() { + this.deoptimized = true; + this.callee.deoptimizeArgumentsOnInteractionAtPath(this.interaction, EMPTY_PATH, SHARED_RECURSION_TRACKER); + this.scope.context.requestTreeshakingPass(); + } + getReturnExpression(recursionTracker = SHARED_RECURSION_TRACKER) { + if (this.returnExpression === null) { + this.returnExpression = UNKNOWN_RETURN_EXPRESSION; + return (this.returnExpression = this.callee.getReturnExpressionWhenCalledAtPath(EMPTY_PATH, this.interaction, recursionTracker, this)); + } + return this.returnExpression; + } +} + +class CatchClause extends NodeBase { + createScope(parentScope) { + this.scope = new ParameterScope(parentScope, true); + } + parseNode(esTreeNode) { + const { body, param, type } = esTreeNode; + this.type = type; + if (param) { + this.param = new (this.scope.context.getNodeConstructor(param.type))(param, this, this.scope); + this.param.declare("parameter" /* VariableKind.parameter */, UNKNOWN_EXPRESSION); + } + this.body = new BlockStatement(body, this, this.scope.bodyScope); + super.parseNode(esTreeNode); + } +} +CatchClause.prototype.preventChildBlockScope = true; + +class ChainExpression extends NodeBase { + // deoptimizations are not relevant as we are not caching values + deoptimizeCache() { } + getLiteralValueAtPath(path, recursionTracker, origin) { + if (this.expression.isSkippedAsOptional(origin)) + return undefined; + return this.expression.getLiteralValueAtPath(path, recursionTracker, origin); + } + hasEffects(context) { + if (this.expression.isSkippedAsOptional(this)) + return false; + return this.expression.hasEffects(context); + } + removeAnnotations(code) { + this.expression.removeAnnotations(code); + } +} + +class ClassBodyScope extends ChildScope { + constructor(parent, classNode) { + const { context } = parent; + super(parent, context); + this.variables.set('this', (this.thisVariable = new LocalVariable('this', null, classNode, context, "other" /* VariableKind.other */))); + this.instanceScope = new ChildScope(this, context); + this.instanceScope.variables.set('this', new ThisVariable(context)); + } + findLexicalBoundary() { + return this; + } +} + +class ClassBody extends NodeBase { + createScope(parentScope) { + this.scope = new ClassBodyScope(parentScope, this.parent); + } + include(context, includeChildrenRecursively) { + this.included = true; + this.scope.context.includeVariableInModule(this.scope.thisVariable); + for (const definition of this.body) { + definition.include(context, includeChildrenRecursively); + } + } + parseNode(esTreeNode) { + const body = (this.body = []); + for (const definition of esTreeNode.body) { + body.push(new (this.scope.context.getNodeConstructor(definition.type))(definition, this, definition.static ? this.scope : this.scope.instanceScope)); + } + super.parseNode(esTreeNode); + } + applyDeoptimizations() { } +} + +class MethodBase extends NodeBase { + constructor() { + super(...arguments); + this.accessedValue = null; + } + get computed() { + return isFlagSet(this.flags, 1024 /* Flag.computed */); + } + set computed(value) { + this.flags = setFlag(this.flags, 1024 /* Flag.computed */, value); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + if (interaction.type === INTERACTION_ACCESSED && this.kind === 'get' && path.length === 0) { + return this.value.deoptimizeArgumentsOnInteractionAtPath({ + args: interaction.args, + type: INTERACTION_CALLED, + withNew: false + }, EMPTY_PATH, recursionTracker); + } + if (interaction.type === INTERACTION_ASSIGNED && this.kind === 'set' && path.length === 0) { + return this.value.deoptimizeArgumentsOnInteractionAtPath({ + args: interaction.args, + type: INTERACTION_CALLED, + withNew: false + }, EMPTY_PATH, recursionTracker); + } + this.getAccessedValue()[0].deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + // As getter properties directly receive their values from fixed function + // expressions, there is no known situation where a getter is deoptimized. + deoptimizeCache() { } + deoptimizePath(path) { + this.getAccessedValue()[0].deoptimizePath(path); + } + getLiteralValueAtPath(path, recursionTracker, origin) { + return this.getAccessedValue()[0].getLiteralValueAtPath(path, recursionTracker, origin); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + return this.getAccessedValue()[0].getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + } + hasEffects(context) { + return this.key.hasEffects(context); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + if (this.kind === 'get' && interaction.type === INTERACTION_ACCESSED && path.length === 0) { + return this.value.hasEffectsOnInteractionAtPath(EMPTY_PATH, { + args: interaction.args, + type: INTERACTION_CALLED, + withNew: false + }, context); + } + // setters are only called for empty paths + if (this.kind === 'set' && interaction.type === INTERACTION_ASSIGNED) { + return this.value.hasEffectsOnInteractionAtPath(EMPTY_PATH, { + args: interaction.args, + type: INTERACTION_CALLED, + withNew: false + }, context); + } + return this.getAccessedValue()[0].hasEffectsOnInteractionAtPath(path, interaction, context); + } + applyDeoptimizations() { } + getAccessedValue() { + if (this.accessedValue === null) { + if (this.kind === 'get') { + this.accessedValue = UNKNOWN_RETURN_EXPRESSION; + return (this.accessedValue = this.value.getReturnExpressionWhenCalledAtPath(EMPTY_PATH, NODE_INTERACTION_UNKNOWN_CALL, SHARED_RECURSION_TRACKER, this)); + } + else { + return (this.accessedValue = [this.value, false]); + } + } + return this.accessedValue; + } +} + +class MethodDefinition extends MethodBase { + applyDeoptimizations() { } +} + +class ObjectMember extends ExpressionEntity { + constructor(object, key) { + super(); + this.object = object; + this.key = key; + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.object.deoptimizeArgumentsOnInteractionAtPath(interaction, [this.key, ...path], recursionTracker); + } + deoptimizePath(path) { + this.object.deoptimizePath([this.key, ...path]); + } + getLiteralValueAtPath(path, recursionTracker, origin) { + return this.object.getLiteralValueAtPath([this.key, ...path], recursionTracker, origin); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + return this.object.getReturnExpressionWhenCalledAtPath([this.key, ...path], interaction, recursionTracker, origin); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + return this.object.hasEffectsOnInteractionAtPath([this.key, ...path], interaction, context); + } +} + +class ClassNode extends NodeBase { + constructor() { + super(...arguments); + this.objectEntity = null; + } + createScope(parentScope) { + this.scope = new ChildScope(parentScope, parentScope.context); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.getObjectEntity().deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizeCache() { + this.getObjectEntity().deoptimizeAllProperties(); + } + deoptimizePath(path) { + this.getObjectEntity().deoptimizePath(path); + } + getLiteralValueAtPath(path, recursionTracker, origin) { + return this.getObjectEntity().getLiteralValueAtPath(path, recursionTracker, origin); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + return this.getObjectEntity().getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + } + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + const initEffect = this.superClass?.hasEffects(context) || this.body.hasEffects(context); + this.id?.markDeclarationReached(); + return initEffect || super.hasEffects(context); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + return interaction.type === INTERACTION_CALLED && path.length === 0 + ? !interaction.withNew || + (this.classConstructor === null + ? this.superClass?.hasEffectsOnInteractionAtPath(path, interaction, context) + : this.classConstructor.hasEffectsOnInteractionAtPath(path, interaction, context)) || + false + : this.getObjectEntity().hasEffectsOnInteractionAtPath(path, interaction, context); + } + include(context, includeChildrenRecursively) { + if (!this.deoptimized) + this.applyDeoptimizations(); + this.included = true; + this.superClass?.include(context, includeChildrenRecursively); + this.body.include(context, includeChildrenRecursively); + if (this.id) { + this.id.markDeclarationReached(); + this.id.include(); + } + } + initialise() { + this.id?.declare("class" /* VariableKind.class */, this); + for (const method of this.body.body) { + if (method instanceof MethodDefinition && method.kind === 'constructor') { + this.classConstructor = method; + return; + } + } + this.classConstructor = null; + } + applyDeoptimizations() { + this.deoptimized = true; + for (const definition of this.body.body) { + if (!(definition.static || + (definition instanceof MethodDefinition && definition.kind === 'constructor'))) { + // Calls to methods are not tracked, ensure that the return value is deoptimized + definition.deoptimizePath(UNKNOWN_PATH); + } + } + this.scope.context.requestTreeshakingPass(); + } + getObjectEntity() { + if (this.objectEntity !== null) { + return this.objectEntity; + } + const staticProperties = []; + const dynamicMethods = []; + for (const definition of this.body.body) { + const properties = definition.static ? staticProperties : dynamicMethods; + const definitionKind = definition.kind; + // Note that class fields do not end up on the prototype + if (properties === dynamicMethods && !definitionKind) + continue; + const kind = definitionKind === 'set' || definitionKind === 'get' ? definitionKind : 'init'; + let key; + if (definition.computed) { + const keyValue = definition.key.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this); + if (typeof keyValue === 'symbol') { + properties.push({ key: UnknownKey, kind, property: definition }); + continue; + } + else { + key = String(keyValue); + } + } + else { + key = + definition.key instanceof Identifier + ? definition.key.name + : String(definition.key.value); + } + properties.push({ key, kind, property: definition }); + } + staticProperties.unshift({ + key: 'prototype', + kind: 'init', + property: new ObjectEntity(dynamicMethods, this.superClass ? new ObjectMember(this.superClass, 'prototype') : OBJECT_PROTOTYPE) + }); + return (this.objectEntity = new ObjectEntity(staticProperties, this.superClass || OBJECT_PROTOTYPE)); + } +} + +class ClassDeclaration extends ClassNode { + initialise() { + super.initialise(); + if (this.id !== null) { + this.id.variable.isId = true; + } + } + parseNode(esTreeNode) { + if (esTreeNode.id !== null) { + this.id = new Identifier(esTreeNode.id, this, this.scope.parent); + } + super.parseNode(esTreeNode); + } + render(code, options) { + const { exportNamesByVariable, format, snippets: { _, getPropertyAccess } } = options; + if (this.id) { + const { variable, name } = this.id; + if (format === 'system' && exportNamesByVariable.has(variable)) { + code.appendLeft(this.end, `${_}${getSystemExportStatement([variable], options)};`); + } + const renderedVariable = variable.getName(getPropertyAccess); + if (renderedVariable !== name) { + this.superClass?.render(code, options); + this.body.render(code, { + ...options, + useOriginalName: (_variable) => _variable === variable + }); + code.prependRight(this.start, `let ${renderedVariable}${_}=${_}`); + code.prependLeft(this.end, ';'); + return; + } + } + super.render(code, options); + } + applyDeoptimizations() { + super.applyDeoptimizations(); + const { id, scope } = this; + if (id) { + const { name, variable } = id; + for (const accessedVariable of scope.accessedOutsideVariables.values()) { + if (accessedVariable !== variable) { + accessedVariable.forbidName(name); + } + } + } + } +} + +class ClassExpression extends ClassNode { + render(code, options, { renderedSurroundingElement } = BLANK) { + super.render(code, options); + if (renderedSurroundingElement === ExpressionStatement$1) { + code.appendRight(this.start, '('); + code.prependLeft(this.end, ')'); + } + } +} + +class MultiExpression extends ExpressionEntity { + constructor(expressions) { + super(); + this.expressions = expressions; + } + deoptimizePath(path) { + for (const expression of this.expressions) { + expression.deoptimizePath(path); + } + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + return [ + new MultiExpression(this.expressions.map(expression => expression.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)[0])), + false + ]; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + for (const expression of this.expressions) { + if (expression.hasEffectsOnInteractionAtPath(path, interaction, context)) + return true; + } + return false; + } +} + +class ConditionalExpression extends NodeBase { + constructor() { + super(...arguments); + this.expressionsToBeDeoptimized = []; + this.usedBranch = null; + } + get isBranchResolutionAnalysed() { + return isFlagSet(this.flags, 65536 /* Flag.isBranchResolutionAnalysed */); + } + set isBranchResolutionAnalysed(value) { + this.flags = setFlag(this.flags, 65536 /* Flag.isBranchResolutionAnalysed */, value); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.consequent.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + this.alternate.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizeCache() { + if (this.usedBranch !== null) { + const unusedBranch = this.usedBranch === this.consequent ? this.alternate : this.consequent; + this.usedBranch = null; + unusedBranch.deoptimizePath(UNKNOWN_PATH); + const { expressionsToBeDeoptimized } = this; + this.expressionsToBeDeoptimized = EMPTY_ARRAY; + for (const expression of expressionsToBeDeoptimized) { + expression.deoptimizeCache(); + } + } + } + deoptimizePath(path) { + const usedBranch = this.getUsedBranch(); + if (usedBranch) { + usedBranch.deoptimizePath(path); + } + else { + this.consequent.deoptimizePath(path); + this.alternate.deoptimizePath(path); + } + } + getLiteralValueAtPath(path, recursionTracker, origin) { + const usedBranch = this.getUsedBranch(); + if (!usedBranch) + return UnknownValue; + this.expressionsToBeDeoptimized.push(origin); + return usedBranch.getLiteralValueAtPath(path, recursionTracker, origin); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + const usedBranch = this.getUsedBranch(); + if (!usedBranch) + return [ + new MultiExpression([ + this.consequent.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)[0], + this.alternate.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)[0] + ]), + false + ]; + this.expressionsToBeDeoptimized.push(origin); + return usedBranch.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + } + hasEffects(context) { + if (this.test.hasEffects(context)) + return true; + const usedBranch = this.getUsedBranch(); + if (!usedBranch) { + return this.consequent.hasEffects(context) || this.alternate.hasEffects(context); + } + return usedBranch.hasEffects(context); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + const usedBranch = this.getUsedBranch(); + if (!usedBranch) { + return (this.consequent.hasEffectsOnInteractionAtPath(path, interaction, context) || + this.alternate.hasEffectsOnInteractionAtPath(path, interaction, context)); + } + return usedBranch.hasEffectsOnInteractionAtPath(path, interaction, context); + } + include(context, includeChildrenRecursively) { + this.included = true; + const usedBranch = this.getUsedBranch(); + if (includeChildrenRecursively || this.test.shouldBeIncluded(context) || usedBranch === null) { + this.test.include(context, includeChildrenRecursively); + this.consequent.include(context, includeChildrenRecursively); + this.alternate.include(context, includeChildrenRecursively); + } + else { + usedBranch.include(context, includeChildrenRecursively); + } + } + includeCallArguments(context, parameters) { + const usedBranch = this.getUsedBranch(); + if (usedBranch) { + usedBranch.includeCallArguments(context, parameters); + } + else { + this.consequent.includeCallArguments(context, parameters); + this.alternate.includeCallArguments(context, parameters); + } + } + removeAnnotations(code) { + this.test.removeAnnotations(code); + } + render(code, options, { isCalleeOfRenderedParent, preventASI, renderedParentType, renderedSurroundingElement } = BLANK) { + const usedBranch = this.getUsedBranch(); + if (this.test.included) { + this.test.render(code, options, { renderedSurroundingElement }); + this.consequent.render(code, options); + this.alternate.render(code, options); + } + else { + const colonPos = findFirstOccurrenceOutsideComment(code.original, ':', this.consequent.end); + const inclusionStart = findNonWhiteSpace(code.original, (this.consequent.included + ? findFirstOccurrenceOutsideComment(code.original, '?', this.test.end) + : colonPos) + 1); + if (preventASI) { + removeLineBreaks(code, inclusionStart, usedBranch.start); + } + code.remove(this.start, inclusionStart); + if (this.consequent.included) { + code.remove(colonPos, this.end); + } + this.test.removeAnnotations(code); + usedBranch.render(code, options, { + isCalleeOfRenderedParent, + preventASI: true, + renderedParentType: renderedParentType || this.parent.type, + renderedSurroundingElement: renderedSurroundingElement || this.parent.type + }); + } + } + getUsedBranch() { + if (this.isBranchResolutionAnalysed) { + return this.usedBranch; + } + this.isBranchResolutionAnalysed = true; + const testValue = this.test.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this); + return typeof testValue === 'symbol' + ? null + : (this.usedBranch = testValue ? this.consequent : this.alternate); + } +} + +class ContinueStatement extends NodeBase { + hasEffects(context) { + if (this.label) { + if (!context.ignore.labels.has(this.label.name)) + return true; + context.includedLabels.add(this.label.name); + } + else { + if (!context.ignore.continues) + return true; + context.hasContinue = true; + } + context.brokenFlow = true; + return false; + } + include(context) { + this.included = true; + if (this.label) { + this.label.include(); + context.includedLabels.add(this.label.name); + } + else { + context.hasContinue = true; + } + context.brokenFlow = true; + } +} + +function hasLoopBodyEffects(context, body) { + const { brokenFlow, hasBreak, hasContinue, ignore } = context; + const { breaks, continues } = ignore; + ignore.breaks = true; + ignore.continues = true; + context.hasBreak = false; + context.hasContinue = false; + if (body.hasEffects(context)) + return true; + ignore.breaks = breaks; + ignore.continues = continues; + context.hasBreak = hasBreak; + context.hasContinue = hasContinue; + context.brokenFlow = brokenFlow; + return false; +} +function includeLoopBody(context, body, includeChildrenRecursively) { + const { brokenFlow, hasBreak, hasContinue } = context; + context.hasBreak = false; + context.hasContinue = false; + body.include(context, includeChildrenRecursively, { asSingleStatement: true }); + context.hasBreak = hasBreak; + context.hasContinue = hasContinue; + context.brokenFlow = brokenFlow; +} + +class DoWhileStatement extends NodeBase { + hasEffects(context) { + if (this.test.hasEffects(context)) + return true; + return hasLoopBodyEffects(context, this.body); + } + include(context, includeChildrenRecursively) { + this.included = true; + this.test.include(context, includeChildrenRecursively); + includeLoopBody(context, this.body, includeChildrenRecursively); + } +} + +class EmptyStatement extends NodeBase { + hasEffects() { + return false; + } +} + +class ExportAllDeclaration extends NodeBase { + hasEffects() { + return false; + } + initialise() { + this.scope.context.addExport(this); + } + render(code, _options, nodeRenderOptions) { + code.remove(nodeRenderOptions.start, nodeRenderOptions.end); + } + applyDeoptimizations() { } +} +ExportAllDeclaration.prototype.needsBoundaries = true; + +class FunctionDeclaration extends FunctionNode { + initialise() { + super.initialise(); + if (this.id !== null) { + this.id.variable.isId = true; + } + } + parseNode(esTreeNode) { + if (esTreeNode.id !== null) { + this.id = new Identifier(esTreeNode.id, this, this.scope.parent); + } + super.parseNode(esTreeNode); + } +} + +// The header ends at the first non-white-space after "default" +function getDeclarationStart(code, start) { + return findNonWhiteSpace(code, findFirstOccurrenceOutsideComment(code, 'default', start) + 7); +} +function getFunctionIdInsertPosition(code, start) { + const declarationEnd = findFirstOccurrenceOutsideComment(code, 'function', start) + 'function'.length; + code = code.slice(declarationEnd, findFirstOccurrenceOutsideComment(code, '(', declarationEnd)); + const generatorStarPos = findFirstOccurrenceOutsideComment(code, '*'); + if (generatorStarPos === -1) { + return declarationEnd; + } + return declarationEnd + generatorStarPos + 1; +} +class ExportDefaultDeclaration extends NodeBase { + include(context, includeChildrenRecursively) { + super.include(context, includeChildrenRecursively); + if (includeChildrenRecursively) { + this.scope.context.includeVariableInModule(this.variable); + } + } + initialise() { + const declaration = this.declaration; + this.declarationName = + (declaration.id && declaration.id.name) || this.declaration.name; + this.variable = this.scope.addExportDefaultDeclaration(this.declarationName || this.scope.context.getModuleName(), this, this.scope.context); + this.scope.context.addExport(this); + } + removeAnnotations(code) { + this.declaration.removeAnnotations(code); + } + render(code, options, nodeRenderOptions) { + const { start, end } = nodeRenderOptions; + const declarationStart = getDeclarationStart(code.original, this.start); + if (this.declaration instanceof FunctionDeclaration) { + this.renderNamedDeclaration(code, declarationStart, this.declaration.id === null + ? getFunctionIdInsertPosition(code.original, declarationStart) + : null, options); + } + else if (this.declaration instanceof ClassDeclaration) { + this.renderNamedDeclaration(code, declarationStart, this.declaration.id === null + ? findFirstOccurrenceOutsideComment(code.original, 'class', start) + 'class'.length + : null, options); + } + else if (this.variable.getOriginalVariable() !== this.variable) { + // Remove altogether to prevent re-declaring the same variable + treeshakeNode(this, code, start, end); + return; + } + else if (this.variable.included) { + this.renderVariableDeclaration(code, declarationStart, options); + } + else { + code.remove(this.start, declarationStart); + this.declaration.render(code, options, { + renderedSurroundingElement: ExpressionStatement$1 + }); + if (code.original[this.end - 1] !== ';') { + code.appendLeft(this.end, ';'); + } + return; + } + this.declaration.render(code, options); + } + applyDeoptimizations() { } + renderNamedDeclaration(code, declarationStart, idInsertPosition, options) { + const { exportNamesByVariable, format, snippets: { getPropertyAccess } } = options; + const name = this.variable.getName(getPropertyAccess); + // Remove `export default` + code.remove(this.start, declarationStart); + if (idInsertPosition !== null) { + code.appendLeft(idInsertPosition, ` ${name}`); + } + if (format === 'system' && + this.declaration instanceof ClassDeclaration && + exportNamesByVariable.has(this.variable)) { + code.appendLeft(this.end, ` ${getSystemExportStatement([this.variable], options)};`); + } + } + renderVariableDeclaration(code, declarationStart, { format, exportNamesByVariable, snippets: { cnst, getPropertyAccess } }) { + const hasTrailingSemicolon = code.original.charCodeAt(this.end - 1) === 59; /*";"*/ + const systemExportNames = format === 'system' && exportNamesByVariable.get(this.variable); + if (systemExportNames) { + code.overwrite(this.start, declarationStart, `${cnst} ${this.variable.getName(getPropertyAccess)} = exports(${JSON.stringify(systemExportNames[0])}, `); + code.appendRight(hasTrailingSemicolon ? this.end - 1 : this.end, ')' + (hasTrailingSemicolon ? '' : ';')); + } + else { + code.overwrite(this.start, declarationStart, `${cnst} ${this.variable.getName(getPropertyAccess)} = `); + if (!hasTrailingSemicolon) { + code.appendLeft(this.end, ';'); + } + } + } +} +ExportDefaultDeclaration.prototype.needsBoundaries = true; + +class ExportNamedDeclaration extends NodeBase { + bind() { + // Do not bind specifiers + this.declaration?.bind(); + } + hasEffects(context) { + return !!this.declaration?.hasEffects(context); + } + initialise() { + this.scope.context.addExport(this); + } + removeAnnotations(code) { + this.declaration?.removeAnnotations(code); + } + render(code, options, nodeRenderOptions) { + const { start, end } = nodeRenderOptions; + if (this.declaration === null) { + code.remove(start, end); + } + else { + code.remove(this.start, this.declaration.start); + this.declaration.render(code, options, { end, start }); + } + } + applyDeoptimizations() { } +} +ExportNamedDeclaration.prototype.needsBoundaries = true; + +class ExportSpecifier extends NodeBase { + applyDeoptimizations() { } +} + +class ForInStatement extends NodeBase { + createScope(parentScope) { + this.scope = new BlockScope(parentScope); + } + hasEffects(context) { + const { body, deoptimized, left, right } = this; + if (!deoptimized) + this.applyDeoptimizations(); + if (left.hasEffectsAsAssignmentTarget(context, false) || right.hasEffects(context)) + return true; + return hasLoopBodyEffects(context, body); + } + include(context, includeChildrenRecursively) { + const { body, deoptimized, left, right } = this; + if (!deoptimized) + this.applyDeoptimizations(); + this.included = true; + left.includeAsAssignmentTarget(context, includeChildrenRecursively || true, false); + right.include(context, includeChildrenRecursively); + includeLoopBody(context, body, includeChildrenRecursively); + } + initialise() { + this.left.setAssignedValue(UNKNOWN_EXPRESSION); + } + render(code, options) { + this.left.render(code, options, NO_SEMICOLON); + this.right.render(code, options, NO_SEMICOLON); + // handle no space between "in" and the right side + if (code.original.charCodeAt(this.right.start - 1) === 110 /* n */) { + code.prependLeft(this.right.start, ' '); + } + this.body.render(code, options); + } + applyDeoptimizations() { + this.deoptimized = true; + this.left.deoptimizePath(EMPTY_PATH); + this.scope.context.requestTreeshakingPass(); + } +} + +class ForOfStatement extends NodeBase { + get await() { + return isFlagSet(this.flags, 131072 /* Flag.await */); + } + set await(value) { + this.flags = setFlag(this.flags, 131072 /* Flag.await */, value); + } + createScope(parentScope) { + this.scope = new BlockScope(parentScope); + } + hasEffects() { + if (!this.deoptimized) + this.applyDeoptimizations(); + // Placeholder until proper Symbol.Iterator support + return true; + } + include(context, includeChildrenRecursively) { + const { body, deoptimized, left, right } = this; + if (!deoptimized) + this.applyDeoptimizations(); + this.included = true; + left.includeAsAssignmentTarget(context, includeChildrenRecursively || true, false); + right.include(context, includeChildrenRecursively); + includeLoopBody(context, body, includeChildrenRecursively); + } + initialise() { + this.left.setAssignedValue(UNKNOWN_EXPRESSION); + } + render(code, options) { + this.left.render(code, options, NO_SEMICOLON); + this.right.render(code, options, NO_SEMICOLON); + // handle no space between "of" and the right side + if (code.original.charCodeAt(this.right.start - 1) === 102 /* f */) { + code.prependLeft(this.right.start, ' '); + } + this.body.render(code, options); + } + applyDeoptimizations() { + this.deoptimized = true; + this.left.deoptimizePath(EMPTY_PATH); + this.right.deoptimizePath(UNKNOWN_PATH); + this.scope.context.requestTreeshakingPass(); + } +} + +class ForStatement extends NodeBase { + createScope(parentScope) { + this.scope = new BlockScope(parentScope); + } + hasEffects(context) { + if (this.init?.hasEffects(context) || + this.test?.hasEffects(context) || + this.update?.hasEffects(context)) { + return true; + } + return hasLoopBodyEffects(context, this.body); + } + include(context, includeChildrenRecursively) { + this.included = true; + this.init?.include(context, includeChildrenRecursively, { asSingleStatement: true }); + this.test?.include(context, includeChildrenRecursively); + this.update?.include(context, includeChildrenRecursively); + includeLoopBody(context, this.body, includeChildrenRecursively); + } + render(code, options) { + this.init?.render(code, options, NO_SEMICOLON); + this.test?.render(code, options, NO_SEMICOLON); + this.update?.render(code, options, NO_SEMICOLON); + this.body.render(code, options); + } +} + +class FunctionExpression extends FunctionNode { + createScope(parentScope) { + super.createScope((this.idScope = new ChildScope(parentScope, parentScope.context))); + } + parseNode(esTreeNode) { + if (esTreeNode.id !== null) { + this.id = new Identifier(esTreeNode.id, this, this.idScope); + } + super.parseNode(esTreeNode); + } + render(code, options, { renderedSurroundingElement } = BLANK) { + super.render(code, options); + if (renderedSurroundingElement === ExpressionStatement$1) { + code.appendRight(this.start, '('); + code.prependLeft(this.end, ')'); + } + } +} + +class TrackingScope extends BlockScope { + constructor() { + super(...arguments); + this.hoistedDeclarations = []; + } + addDeclaration(identifier, context, init, kind) { + this.hoistedDeclarations.push(identifier); + return super.addDeclaration(identifier, context, init, kind); + } +} + +const unset = Symbol('unset'); +class IfStatement extends NodeBase { + constructor() { + super(...arguments); + this.testValue = unset; + } + deoptimizeCache() { + this.testValue = UnknownValue; + } + hasEffects(context) { + if (this.test.hasEffects(context)) { + return true; + } + const testValue = this.getTestValue(); + if (typeof testValue === 'symbol') { + const { brokenFlow } = context; + if (this.consequent.hasEffects(context)) + return true; + const consequentBrokenFlow = context.brokenFlow; + context.brokenFlow = brokenFlow; + if (this.alternate === null) + return false; + if (this.alternate.hasEffects(context)) + return true; + context.brokenFlow = context.brokenFlow && consequentBrokenFlow; + return false; + } + return testValue ? this.consequent.hasEffects(context) : !!this.alternate?.hasEffects(context); + } + include(context, includeChildrenRecursively) { + this.included = true; + if (includeChildrenRecursively) { + this.includeRecursively(includeChildrenRecursively, context); + } + else { + const testValue = this.getTestValue(); + if (typeof testValue === 'symbol') { + this.includeUnknownTest(context); + } + else { + this.includeKnownTest(context, testValue); + } + } + } + parseNode(esTreeNode) { + this.consequentScope = new TrackingScope(this.scope); + this.consequent = new (this.scope.context.getNodeConstructor(esTreeNode.consequent.type))(esTreeNode.consequent, this, this.consequentScope); + if (esTreeNode.alternate) { + this.alternateScope = new TrackingScope(this.scope); + this.alternate = new (this.scope.context.getNodeConstructor(esTreeNode.alternate.type))(esTreeNode.alternate, this, this.alternateScope); + } + super.parseNode(esTreeNode); + } + render(code, options) { + const { snippets: { getPropertyAccess } } = options; + // Note that unknown test values are always included + const testValue = this.getTestValue(); + const hoistedDeclarations = []; + const includesIfElse = this.test.included; + const noTreeshake = !this.scope.context.options.treeshake; + if (includesIfElse) { + this.test.render(code, options); + } + else { + code.remove(this.start, this.consequent.start); + } + if (this.consequent.included && (noTreeshake || typeof testValue === 'symbol' || testValue)) { + this.consequent.render(code, options); + } + else { + code.overwrite(this.consequent.start, this.consequent.end, includesIfElse ? ';' : ''); + hoistedDeclarations.push(...this.consequentScope.hoistedDeclarations); + } + if (this.alternate) { + if (this.alternate.included && (noTreeshake || typeof testValue === 'symbol' || !testValue)) { + if (includesIfElse) { + if (code.original.charCodeAt(this.alternate.start - 1) === 101) { + code.prependLeft(this.alternate.start, ' '); + } + } + else { + code.remove(this.consequent.end, this.alternate.start); + } + this.alternate.render(code, options); + } + else { + if (includesIfElse && this.shouldKeepAlternateBranch()) { + code.overwrite(this.alternate.start, this.end, ';'); + } + else { + code.remove(this.consequent.end, this.end); + } + hoistedDeclarations.push(...this.alternateScope.hoistedDeclarations); + } + } + this.renderHoistedDeclarations(hoistedDeclarations, code, getPropertyAccess); + } + applyDeoptimizations() { } + getTestValue() { + if (this.testValue === unset) { + return (this.testValue = this.test.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this)); + } + return this.testValue; + } + includeKnownTest(context, testValue) { + if (this.test.shouldBeIncluded(context)) { + this.test.include(context, false); + } + if (testValue && this.consequent.shouldBeIncluded(context)) { + this.consequent.include(context, false, { asSingleStatement: true }); + } + if (!testValue && this.alternate?.shouldBeIncluded(context)) { + this.alternate.include(context, false, { asSingleStatement: true }); + } + } + includeRecursively(includeChildrenRecursively, context) { + this.test.include(context, includeChildrenRecursively); + this.consequent.include(context, includeChildrenRecursively); + this.alternate?.include(context, includeChildrenRecursively); + } + includeUnknownTest(context) { + this.test.include(context, false); + const { brokenFlow } = context; + let consequentBrokenFlow = false; + if (this.consequent.shouldBeIncluded(context)) { + this.consequent.include(context, false, { asSingleStatement: true }); + consequentBrokenFlow = context.brokenFlow; + context.brokenFlow = brokenFlow; + } + if (this.alternate?.shouldBeIncluded(context)) { + this.alternate.include(context, false, { asSingleStatement: true }); + context.brokenFlow = context.brokenFlow && consequentBrokenFlow; + } + } + renderHoistedDeclarations(hoistedDeclarations, code, getPropertyAccess) { + const hoistedVariables = [ + ...new Set(hoistedDeclarations.map(identifier => { + const variable = identifier.variable; + return variable.included ? variable.getName(getPropertyAccess) : ''; + })) + ] + .filter(Boolean) + .join(', '); + if (hoistedVariables) { + const parentType = this.parent.type; + const needsBraces = parentType !== Program$1 && parentType !== BlockStatement$1; + code.prependRight(this.start, `${needsBraces ? '{ ' : ''}var ${hoistedVariables}; `); + if (needsBraces) { + code.appendLeft(this.end, ` }`); + } + } + } + shouldKeepAlternateBranch() { + let currentParent = this.parent; + do { + if (currentParent instanceof IfStatement && currentParent.alternate) { + return true; + } + if (currentParent instanceof BlockStatement) { + return false; + } + currentParent = currentParent.parent; + } while (currentParent); + return false; + } +} + +class ImportAttribute extends NodeBase { +} + +class ImportDeclaration extends NodeBase { + // Do not bind specifiers or attributes + bind() { } + hasEffects() { + return false; + } + initialise() { + this.scope.context.addImport(this); + } + render(code, _options, nodeRenderOptions) { + code.remove(nodeRenderOptions.start, nodeRenderOptions.end); + } + applyDeoptimizations() { } +} +ImportDeclaration.prototype.needsBoundaries = true; + +class ImportDefaultSpecifier extends NodeBase { + applyDeoptimizations() { } +} + +const INTEROP_DEFAULT_VARIABLE = '_interopDefault'; +const INTEROP_DEFAULT_COMPAT_VARIABLE = '_interopDefaultCompat'; +const INTEROP_NAMESPACE_VARIABLE = '_interopNamespace'; +const INTEROP_NAMESPACE_COMPAT_VARIABLE = '_interopNamespaceCompat'; +const INTEROP_NAMESPACE_DEFAULT_VARIABLE = '_interopNamespaceDefault'; +const INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE = '_interopNamespaceDefaultOnly'; +const MERGE_NAMESPACES_VARIABLE = '_mergeNamespaces'; +const DOCUMENT_CURRENT_SCRIPT = '_documentCurrentScript'; +const defaultInteropHelpersByInteropType = { + auto: INTEROP_DEFAULT_VARIABLE, + compat: INTEROP_DEFAULT_COMPAT_VARIABLE, + default: null, + defaultOnly: null, + esModule: null +}; +const isDefaultAProperty = (interopType, externalLiveBindings) => interopType === 'esModule' || + (externalLiveBindings && (interopType === 'auto' || interopType === 'compat')); +const namespaceInteropHelpersByInteropType = { + auto: INTEROP_NAMESPACE_VARIABLE, + compat: INTEROP_NAMESPACE_COMPAT_VARIABLE, + default: INTEROP_NAMESPACE_DEFAULT_VARIABLE, + defaultOnly: INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE, + esModule: null +}; +const canDefaultBeTakenFromNamespace = (interopType, externalLiveBindings) => interopType !== 'esModule' && isDefaultAProperty(interopType, externalLiveBindings); +const getHelpersBlock = (additionalHelpers, accessedGlobals, indent, snippets, liveBindings, freeze, symbols) => { + const usedHelpers = new Set(additionalHelpers); + for (const variable of HELPER_NAMES) { + if (accessedGlobals.has(variable)) { + usedHelpers.add(variable); + } + } + return HELPER_NAMES.map(variable => usedHelpers.has(variable) + ? HELPER_GENERATORS[variable](indent, snippets, liveBindings, freeze, symbols, usedHelpers) + : '').join(''); +}; +const HELPER_GENERATORS = { + [DOCUMENT_CURRENT_SCRIPT](_t, { _, n }) { + return `var${_}${DOCUMENT_CURRENT_SCRIPT}${_}=${_}typeof${_}document${_}!==${_}'undefined'${_}?${_}document.currentScript${_}:${_}null;${n}`; + }, + [INTEROP_DEFAULT_COMPAT_VARIABLE](_t, snippets, liveBindings) { + const { _, getDirectReturnFunction, n } = snippets; + const [left, right] = getDirectReturnFunction(['e'], { + functionReturn: true, + lineBreakIndent: null, + name: INTEROP_DEFAULT_COMPAT_VARIABLE + }); + return (`${left}${getIsCompatNamespace(snippets)}${_}?${_}` + + `${liveBindings ? getDefaultLiveBinding(snippets) : getDefaultStatic(snippets)}${right}${n}${n}`); + }, + [INTEROP_DEFAULT_VARIABLE](_t, snippets, liveBindings) { + const { _, getDirectReturnFunction, n } = snippets; + const [left, right] = getDirectReturnFunction(['e'], { + functionReturn: true, + lineBreakIndent: null, + name: INTEROP_DEFAULT_VARIABLE + }); + return (`${left}e${_}&&${_}e.__esModule${_}?${_}` + + `${liveBindings ? getDefaultLiveBinding(snippets) : getDefaultStatic(snippets)}${right}${n}${n}`); + }, + [INTEROP_NAMESPACE_COMPAT_VARIABLE](t, snippets, liveBindings, freeze, symbols, usedHelpers) { + const { _, getDirectReturnFunction, n } = snippets; + if (usedHelpers.has(INTEROP_NAMESPACE_DEFAULT_VARIABLE)) { + const [left, right] = getDirectReturnFunction(['e'], { + functionReturn: true, + lineBreakIndent: null, + name: INTEROP_NAMESPACE_COMPAT_VARIABLE + }); + return `${left}${getIsCompatNamespace(snippets)}${_}?${_}e${_}:${_}${INTEROP_NAMESPACE_DEFAULT_VARIABLE}(e)${right}${n}${n}`; + } + return (`function ${INTEROP_NAMESPACE_COMPAT_VARIABLE}(e)${_}{${n}` + + `${t}if${_}(${getIsCompatNamespace(snippets)})${_}return e;${n}` + + createNamespaceObject(t, t, snippets, liveBindings, freeze, symbols) + + `}${n}${n}`); + }, + [INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE](_t, snippets, _liveBindings, freeze, symbols) { + const { getDirectReturnFunction, getObject, n, _ } = snippets; + const [left, right] = getDirectReturnFunction(['e'], { + functionReturn: true, + lineBreakIndent: null, + name: INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE + }); + return `${left}${getFrozen(freeze, getWithToStringTag(symbols, getObject([ + [null, `__proto__:${_}null`], + ['default', 'e'] + ], { lineBreakIndent: null }), snippets))}${right}${n}${n}`; + }, + [INTEROP_NAMESPACE_DEFAULT_VARIABLE](t, snippets, liveBindings, freeze, symbols) { + const { _, n } = snippets; + return (`function ${INTEROP_NAMESPACE_DEFAULT_VARIABLE}(e)${_}{${n}` + + createNamespaceObject(t, t, snippets, liveBindings, freeze, symbols) + + `}${n}${n}`); + }, + [INTEROP_NAMESPACE_VARIABLE](t, snippets, liveBindings, freeze, symbols, usedHelpers) { + const { _, getDirectReturnFunction, n } = snippets; + if (usedHelpers.has(INTEROP_NAMESPACE_DEFAULT_VARIABLE)) { + const [left, right] = getDirectReturnFunction(['e'], { + functionReturn: true, + lineBreakIndent: null, + name: INTEROP_NAMESPACE_VARIABLE + }); + return `${left}e${_}&&${_}e.__esModule${_}?${_}e${_}:${_}${INTEROP_NAMESPACE_DEFAULT_VARIABLE}(e)${right}${n}${n}`; + } + return (`function ${INTEROP_NAMESPACE_VARIABLE}(e)${_}{${n}` + + `${t}if${_}(e${_}&&${_}e.__esModule)${_}return e;${n}` + + createNamespaceObject(t, t, snippets, liveBindings, freeze, symbols) + + `}${n}${n}`); + }, + [MERGE_NAMESPACES_VARIABLE](t, snippets, liveBindings, freeze, symbols) { + const { _, cnst, n } = snippets; + const useForEach = cnst === 'var' && liveBindings; + return (`function ${MERGE_NAMESPACES_VARIABLE}(n, m)${_}{${n}` + + `${t}${loopOverNamespaces(`{${n}` + + `${t}${t}${t}if${_}(k${_}!==${_}'default'${_}&&${_}!(k in n))${_}{${n}` + + (liveBindings + ? useForEach + ? copyOwnPropertyLiveBinding + : copyPropertyLiveBinding + : copyPropertyStatic)(t, t + t + t + t, snippets) + + `${t}${t}${t}}${n}` + + `${t}${t}}`, useForEach, t, snippets)}${n}` + + `${t}return ${getFrozen(freeze, getWithToStringTag(symbols, 'n', snippets))};${n}` + + `}${n}${n}`); + } +}; +const getDefaultLiveBinding = ({ _, getObject }) => `e${_}:${_}${getObject([['default', 'e']], { lineBreakIndent: null })}`; +const getDefaultStatic = ({ _, getPropertyAccess }) => `e${getPropertyAccess('default')}${_}:${_}e`; +const getIsCompatNamespace = ({ _ }) => `e${_}&&${_}typeof e${_}===${_}'object'${_}&&${_}'default'${_}in e`; +const createNamespaceObject = (t, index, snippets, liveBindings, freeze, symbols) => { + const { _, cnst, getObject, getPropertyAccess, n, s } = snippets; + const copyProperty = `{${n}` + + (liveBindings ? copyNonDefaultOwnPropertyLiveBinding : copyPropertyStatic)(t, index + t + t, snippets) + + `${index}${t}}`; + return (`${index}${cnst} n${_}=${_}Object.create(null${symbols ? `,${_}{${_}[Symbol.toStringTag]:${_}${getToStringTagValue(getObject)}${_}}` : ''});${n}` + + `${index}if${_}(e)${_}{${n}` + + `${index}${t}${loopOverKeys(copyProperty, !liveBindings, snippets)}${n}` + + `${index}}${n}` + + `${index}n${getPropertyAccess('default')}${_}=${_}e;${n}` + + `${index}return ${getFrozen(freeze, 'n')}${s}${n}`); +}; +const loopOverKeys = (body, allowVariableLoopVariable, { _, cnst, getFunctionIntro, s }) => cnst !== 'var' || allowVariableLoopVariable + ? `for${_}(${cnst} k in e)${_}${body}` + : `Object.keys(e).forEach(${getFunctionIntro(['k'], { + isAsync: false, + name: null + })}${body})${s}`; +const loopOverNamespaces = (body, useForEach, t, { _, cnst, getDirectReturnFunction, getFunctionIntro, n }) => { + if (useForEach) { + const [left, right] = getDirectReturnFunction(['e'], { + functionReturn: false, + lineBreakIndent: { base: t, t }, + name: null + }); + return (`m.forEach(${left}` + + `e${_}&&${_}typeof e${_}!==${_}'string'${_}&&${_}!Array.isArray(e)${_}&&${_}Object.keys(e).forEach(${getFunctionIntro(['k'], { + isAsync: false, + name: null + })}${body})${right});`); + } + return (`for${_}(var i${_}=${_}0;${_}i${_}<${_}m.length;${_}i++)${_}{${n}` + + `${t}${t}${cnst} e${_}=${_}m[i];${n}` + + `${t}${t}if${_}(typeof e${_}!==${_}'string'${_}&&${_}!Array.isArray(e))${_}{${_}for${_}(${cnst} k in e)${_}${body}${_}}${n}${t}}`); +}; +const copyNonDefaultOwnPropertyLiveBinding = (t, index, snippets) => { + const { _, n } = snippets; + return (`${index}if${_}(k${_}!==${_}'default')${_}{${n}` + + copyOwnPropertyLiveBinding(t, index + t, snippets) + + `${index}}${n}`); +}; +const copyOwnPropertyLiveBinding = (t, index, { _, cnst, getDirectReturnFunction, n }) => { + const [left, right] = getDirectReturnFunction([], { + functionReturn: true, + lineBreakIndent: null, + name: null + }); + return (`${index}${cnst} d${_}=${_}Object.getOwnPropertyDescriptor(e,${_}k);${n}` + + `${index}Object.defineProperty(n,${_}k,${_}d.get${_}?${_}d${_}:${_}{${n}` + + `${index}${t}enumerable:${_}true,${n}` + + `${index}${t}get:${_}${left}e[k]${right}${n}` + + `${index}});${n}`); +}; +const copyPropertyLiveBinding = (t, index, { _, cnst, getDirectReturnFunction, n }) => { + const [left, right] = getDirectReturnFunction([], { + functionReturn: true, + lineBreakIndent: null, + name: null + }); + return (`${index}${cnst} d${_}=${_}Object.getOwnPropertyDescriptor(e,${_}k);${n}` + + `${index}if${_}(d)${_}{${n}` + + `${index}${t}Object.defineProperty(n,${_}k,${_}d.get${_}?${_}d${_}:${_}{${n}` + + `${index}${t}${t}enumerable:${_}true,${n}` + + `${index}${t}${t}get:${_}${left}e[k]${right}${n}` + + `${index}${t}});${n}` + + `${index}}${n}`); +}; +const copyPropertyStatic = (_t, index, { _, n }) => `${index}n[k]${_}=${_}e[k];${n}`; +const getFrozen = (freeze, fragment) => freeze ? `Object.freeze(${fragment})` : fragment; +const getWithToStringTag = (symbols, fragment, { _, getObject }) => symbols + ? `Object.defineProperty(${fragment},${_}Symbol.toStringTag,${_}${getToStringTagValue(getObject)})` + : fragment; +const HELPER_NAMES = Object.keys(HELPER_GENERATORS); +function getToStringTagValue(getObject) { + return getObject([['value', "'Module'"]], { + lineBreakIndent: null + }); +} + +function isReassignedExportsMember(variable, exportNamesByVariable) { + return (variable.renderBaseName !== null && exportNamesByVariable.has(variable) && variable.isReassigned); +} + +class VariableDeclarator extends NodeBase { + declareDeclarator(kind) { + this.id.declare(kind, this.init || UNDEFINED_EXPRESSION); + } + deoptimizePath(path) { + this.id.deoptimizePath(path); + } + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + const initEffect = this.init?.hasEffects(context); + this.id.markDeclarationReached(); + return initEffect || this.id.hasEffects(context); + } + include(context, includeChildrenRecursively) { + const { deoptimized, id, init } = this; + if (!deoptimized) + this.applyDeoptimizations(); + this.included = true; + init?.include(context, includeChildrenRecursively); + id.markDeclarationReached(); + if (includeChildrenRecursively || id.shouldBeIncluded(context)) { + id.include(context, includeChildrenRecursively); + } + } + removeAnnotations(code) { + this.init?.removeAnnotations(code); + } + render(code, options) { + const { exportNamesByVariable, snippets: { _, getPropertyAccess } } = options; + const { end, id, init, start } = this; + const renderId = id.included; + if (renderId) { + id.render(code, options); + } + else { + const operatorPos = findFirstOccurrenceOutsideComment(code.original, '=', id.end); + code.remove(start, findNonWhiteSpace(code.original, operatorPos + 1)); + } + if (init) { + if (id instanceof Identifier && init instanceof ClassExpression && !init.id) { + const renderedVariable = id.variable.getName(getPropertyAccess); + if (renderedVariable !== id.name) { + code.appendLeft(init.start + 5, ` ${id.name}`); + } + } + init.render(code, options, renderId ? BLANK : { renderedSurroundingElement: ExpressionStatement$1 }); + } + else if (id instanceof Identifier && + isReassignedExportsMember(id.variable, exportNamesByVariable)) { + code.appendLeft(end, `${_}=${_}void 0`); + } + } + applyDeoptimizations() { + this.deoptimized = true; + const { id, init } = this; + if (init && id instanceof Identifier && init instanceof ClassExpression && !init.id) { + const { name, variable } = id; + for (const accessedVariable of init.scope.accessedOutsideVariables.values()) { + if (accessedVariable !== variable) { + accessedVariable.forbidName(name); + } + } + } + } +} + +class ImportExpression extends NodeBase { + constructor() { + super(...arguments); + this.inlineNamespace = null; + this.attributes = null; + this.mechanism = null; + this.namespaceExportName = undefined; + this.resolution = null; + this.resolutionString = null; + } + // Do not bind attributes + bind() { + this.source.bind(); + } + /** + * Get imported variables for deterministic usage, valid cases are: + * + * - `const { foo } = await import('bar')`. + * - `(await import('bar')).foo` + * - `import('bar').then(({ foo }) => {})` + * + * Returns empty array if it's side-effect only import. + * Returns undefined if it's not fully deterministic. + */ + getDeterministicImportedNames() { + const parent1 = this.parent; + // Side-effect only: import('bar') + if (parent1 instanceof ExpressionStatement) { + return EMPTY_ARRAY; + } + if (parent1 instanceof AwaitExpression) { + const parent2 = parent1.parent; + // Side-effect only: await import('bar') + if (parent2 instanceof ExpressionStatement) { + return EMPTY_ARRAY; + } + // Case 1: const { foo } = await import('bar') + if (parent2 instanceof VariableDeclarator) { + const declaration = parent2.id; + return declaration instanceof ObjectPattern + ? getDeterministicObjectDestructure(declaration) + : undefined; + } + // Case 2: (await import('bar')).foo + if (parent2 instanceof MemberExpression) { + const id = parent2.property; + if (!parent2.computed && id instanceof Identifier) { + return [id.name]; + } + } + return; + } + // Case 3: import('bar').then(({ foo }) => {}) + if (parent1 instanceof MemberExpression) { + const callExpression = parent1.parent; + const property = parent1.property; + if (!(callExpression instanceof CallExpression) || !(property instanceof Identifier)) { + return; + } + const memberName = property.name; + // side-effect only, when only chaining .catch or .finally + if (callExpression.parent instanceof ExpressionStatement && + ['catch', 'finally'].includes(memberName)) { + return EMPTY_ARRAY; + } + if (memberName !== 'then') + return; + // Side-effect only: import('bar').then() + if (callExpression.arguments.length === 0) { + return EMPTY_ARRAY; + } + const argument = callExpression.arguments[0]; + if (callExpression.arguments.length !== 1 || + !(argument instanceof ArrowFunctionExpression || argument instanceof FunctionExpression)) { + return; + } + // Side-effect only: import('bar').then(() => {}) + if (argument.params.length === 0) { + return EMPTY_ARRAY; + } + const declaration = argument.params[0]; + if (argument.params.length === 1 && declaration instanceof ObjectPattern) { + return getDeterministicObjectDestructure(declaration); + } + return; + } + } + hasEffects() { + return true; + } + include(context, includeChildrenRecursively) { + if (!this.included) { + this.included = true; + this.scope.context.includeDynamicImport(this); + this.scope.addAccessedDynamicImport(this); + } + this.source.include(context, includeChildrenRecursively); + } + initialise() { + this.scope.context.addDynamicImport(this); + } + parseNode(esTreeNode) { + // Keep the source AST to be used by renderDynamicImport + super.parseNode(esTreeNode, ['source']); + } + render(code, options) { + const { snippets: { _, getDirectReturnFunction, getObject, getPropertyAccess } } = options; + if (this.inlineNamespace) { + const [left, right] = getDirectReturnFunction([], { + functionReturn: true, + lineBreakIndent: null, + name: null + }); + code.overwrite(this.start, this.end, `Promise.resolve().then(${left}${this.inlineNamespace.getName(getPropertyAccess)}${right})`); + return; + } + if (this.mechanism) { + code.overwrite(this.start, findFirstOccurrenceOutsideComment(code.original, '(', this.start + 6) + 1, this.mechanism.left); + code.overwrite(this.end - 1, this.end, this.mechanism.right); + } + if (this.resolutionString) { + code.overwrite(this.source.start, this.source.end, this.resolutionString); + if (this.namespaceExportName) { + const [left, right] = getDirectReturnFunction(['n'], { + functionReturn: true, + lineBreakIndent: null, + name: null + }); + code.prependLeft(this.end, `.then(${left}n.${this.namespaceExportName}${right})`); + } + } + else { + this.source.render(code, options); + } + if (this.attributes !== true) { + if (this.options) { + code.overwrite(this.source.end, this.end - 1, '', { contentOnly: true }); + } + if (this.attributes) { + code.appendLeft(this.end - 1, `,${_}${getObject([['assert', this.attributes]], { + lineBreakIndent: null + })}`); + } + } + } + setExternalResolution(exportMode, resolution, options, snippets, pluginDriver, accessedGlobalsByScope, resolutionString, namespaceExportName, attributes) { + const { format } = options; + this.inlineNamespace = null; + this.resolution = resolution; + this.resolutionString = resolutionString; + this.namespaceExportName = namespaceExportName; + this.attributes = attributes; + const accessedGlobals = [...(accessedImportGlobals[format] || [])]; + let helper; + ({ helper, mechanism: this.mechanism } = this.getDynamicImportMechanismAndHelper(resolution, exportMode, options, snippets, pluginDriver)); + if (helper) { + accessedGlobals.push(helper); + } + if (accessedGlobals.length > 0) { + this.scope.addAccessedGlobals(accessedGlobals, accessedGlobalsByScope); + } + } + setInternalResolution(inlineNamespace) { + this.inlineNamespace = inlineNamespace; + } + applyDeoptimizations() { } + getDynamicImportMechanismAndHelper(resolution, exportMode, { compact, dynamicImportInCjs, format, generatedCode: { arrowFunctions }, interop }, { _, getDirectReturnFunction, getDirectReturnIifeLeft }, pluginDriver) { + const mechanism = pluginDriver.hookFirstSync('renderDynamicImport', [ + { + customResolution: typeof this.resolution === 'string' ? this.resolution : null, + format, + moduleId: this.scope.context.module.id, + targetModuleId: this.resolution && typeof this.resolution !== 'string' ? this.resolution.id : null + } + ]); + if (mechanism) { + return { helper: null, mechanism }; + } + const hasDynamicTarget = !this.resolution || typeof this.resolution === 'string'; + switch (format) { + case 'cjs': { + if (dynamicImportInCjs && + (!resolution || typeof resolution === 'string' || resolution instanceof ExternalModule)) { + return { helper: null, mechanism: null }; + } + const helper = getInteropHelper(resolution, exportMode, interop); + let left = `require(`; + let right = `)`; + if (helper) { + left = `/*#__PURE__*/${helper}(${left}`; + right += ')'; + } + const [functionLeft, functionRight] = getDirectReturnFunction([], { + functionReturn: true, + lineBreakIndent: null, + name: null + }); + left = `Promise.resolve().then(${functionLeft}${left}`; + right += `${functionRight})`; + if (!arrowFunctions && hasDynamicTarget) { + left = getDirectReturnIifeLeft(['t'], `${left}t${right}`, { + needsArrowReturnParens: false, + needsWrappedFunction: true + }); + right = ')'; + } + return { + helper, + mechanism: { left, right } + }; + } + case 'amd': { + const resolve = compact ? 'c' : 'resolve'; + const reject = compact ? 'e' : 'reject'; + const helper = getInteropHelper(resolution, exportMode, interop); + const [resolveLeft, resolveRight] = getDirectReturnFunction(['m'], { + functionReturn: false, + lineBreakIndent: null, + name: null + }); + const resolveNamespace = helper + ? `${resolveLeft}${resolve}(/*#__PURE__*/${helper}(m))${resolveRight}` + : resolve; + const [handlerLeft, handlerRight] = getDirectReturnFunction([resolve, reject], { + functionReturn: false, + lineBreakIndent: null, + name: null + }); + let left = `new Promise(${handlerLeft}require([`; + let right = `],${_}${resolveNamespace},${_}${reject})${handlerRight})`; + if (!arrowFunctions && hasDynamicTarget) { + left = getDirectReturnIifeLeft(['t'], `${left}t${right}`, { + needsArrowReturnParens: false, + needsWrappedFunction: true + }); + right = ')'; + } + return { + helper, + mechanism: { left, right } + }; + } + case 'system': { + return { + helper: null, + mechanism: { + left: 'module.import(', + right: ')' + } + }; + } + } + return { helper: null, mechanism: null }; + } +} +function getInteropHelper(resolution, exportMode, interop) { + return exportMode === 'external' + ? namespaceInteropHelpersByInteropType[interop(resolution instanceof ExternalModule ? resolution.id : null)] + : exportMode === 'default' + ? INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE + : null; +} +const accessedImportGlobals = { + amd: ['require'], + cjs: ['require'], + system: ['module'] +}; +function getDeterministicObjectDestructure(objectPattern) { + const variables = []; + for (const property of objectPattern.properties) { + if (property.type === 'RestElement' || property.computed || property.key.type !== 'Identifier') + return; + variables.push(property.key.name); + } + return variables; +} + +class ImportNamespaceSpecifier extends NodeBase { + applyDeoptimizations() { } +} + +class ImportSpecifier extends NodeBase { + applyDeoptimizations() { } +} + +class LabeledStatement extends NodeBase { + hasEffects(context) { + const { brokenFlow, includedLabels } = context; + context.ignore.labels.add(this.label.name); + context.includedLabels = new Set(); + let bodyHasEffects = false; + if (this.body.hasEffects(context)) { + bodyHasEffects = true; + } + else { + context.ignore.labels.delete(this.label.name); + if (context.includedLabels.has(this.label.name)) { + context.includedLabels.delete(this.label.name); + context.brokenFlow = brokenFlow; + } + } + context.includedLabels = new Set([...includedLabels, ...context.includedLabels]); + return bodyHasEffects; + } + include(context, includeChildrenRecursively) { + this.included = true; + const { brokenFlow, includedLabels } = context; + context.includedLabels = new Set(); + this.body.include(context, includeChildrenRecursively); + if (includeChildrenRecursively || context.includedLabels.has(this.label.name)) { + this.label.include(); + context.includedLabels.delete(this.label.name); + context.brokenFlow = brokenFlow; + } + context.includedLabels = new Set([...includedLabels, ...context.includedLabels]); + } + render(code, options) { + if (this.label.included) { + this.label.render(code, options); + } + else { + code.remove(this.start, findNonWhiteSpace(code.original, findFirstOccurrenceOutsideComment(code.original, ':', this.label.end) + 1)); + } + this.body.render(code, options); + } +} + +class LogicalExpression extends NodeBase { + constructor() { + super(...arguments); + // We collect deoptimization information if usedBranch !== null + this.expressionsToBeDeoptimized = []; + this.usedBranch = null; + } + //private isBranchResolutionAnalysed = false; + get isBranchResolutionAnalysed() { + return isFlagSet(this.flags, 65536 /* Flag.isBranchResolutionAnalysed */); + } + set isBranchResolutionAnalysed(value) { + this.flags = setFlag(this.flags, 65536 /* Flag.isBranchResolutionAnalysed */, value); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.left.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + this.right.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizeCache() { + if (this.usedBranch) { + const unusedBranch = this.usedBranch === this.left ? this.right : this.left; + this.usedBranch = null; + unusedBranch.deoptimizePath(UNKNOWN_PATH); + const { scope: { context }, expressionsToBeDeoptimized } = this; + this.expressionsToBeDeoptimized = EMPTY_ARRAY; + for (const expression of expressionsToBeDeoptimized) { + expression.deoptimizeCache(); + } + // Request another pass because we need to ensure "include" runs again if + // it is rendered + context.requestTreeshakingPass(); + } + } + deoptimizePath(path) { + const usedBranch = this.getUsedBranch(); + if (usedBranch) { + usedBranch.deoptimizePath(path); + } + else { + this.left.deoptimizePath(path); + this.right.deoptimizePath(path); + } + } + getLiteralValueAtPath(path, recursionTracker, origin) { + const usedBranch = this.getUsedBranch(); + if (!usedBranch) + return UnknownValue; + this.expressionsToBeDeoptimized.push(origin); + return usedBranch.getLiteralValueAtPath(path, recursionTracker, origin); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + const usedBranch = this.getUsedBranch(); + if (!usedBranch) + return [ + new MultiExpression([ + this.left.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)[0], + this.right.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin)[0] + ]), + false + ]; + this.expressionsToBeDeoptimized.push(origin); + return usedBranch.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + } + hasEffects(context) { + if (this.left.hasEffects(context)) { + return true; + } + if (this.getUsedBranch() !== this.left) { + return this.right.hasEffects(context); + } + return false; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + const usedBranch = this.getUsedBranch(); + if (!usedBranch) { + return (this.left.hasEffectsOnInteractionAtPath(path, interaction, context) || + this.right.hasEffectsOnInteractionAtPath(path, interaction, context)); + } + return usedBranch.hasEffectsOnInteractionAtPath(path, interaction, context); + } + include(context, includeChildrenRecursively) { + this.included = true; + const usedBranch = this.getUsedBranch(); + if (includeChildrenRecursively || + (usedBranch === this.right && this.left.shouldBeIncluded(context)) || + !usedBranch) { + this.left.include(context, includeChildrenRecursively); + this.right.include(context, includeChildrenRecursively); + } + else { + usedBranch.include(context, includeChildrenRecursively); + } + } + removeAnnotations(code) { + this.left.removeAnnotations(code); + } + render(code, options, { isCalleeOfRenderedParent, preventASI, renderedParentType, renderedSurroundingElement } = BLANK) { + if (!this.left.included || !this.right.included) { + const operatorPos = findFirstOccurrenceOutsideComment(code.original, this.operator, this.left.end); + if (this.right.included) { + const removePos = findNonWhiteSpace(code.original, operatorPos + 2); + code.remove(this.start, removePos); + if (preventASI) { + removeLineBreaks(code, removePos, this.right.start); + } + this.left.removeAnnotations(code); + } + else { + code.remove(operatorPos, this.end); + } + this.getUsedBranch().render(code, options, { + isCalleeOfRenderedParent, + preventASI, + renderedParentType: renderedParentType || this.parent.type, + renderedSurroundingElement: renderedSurroundingElement || this.parent.type + }); + } + else { + this.left.render(code, options, { + preventASI, + renderedSurroundingElement + }); + this.right.render(code, options); + } + } + getUsedBranch() { + if (!this.isBranchResolutionAnalysed) { + this.isBranchResolutionAnalysed = true; + const leftValue = this.left.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this); + if (typeof leftValue === 'symbol') { + return null; + } + else { + this.usedBranch = + (this.operator === '||' && leftValue) || + (this.operator === '&&' && !leftValue) || + (this.operator === '??' && leftValue != null) + ? this.left + : this.right; + } + } + return this.usedBranch; + } +} + +const FILE_PREFIX = 'ROLLUP_FILE_URL_'; +const IMPORT = 'import'; +class MetaProperty extends NodeBase { + constructor() { + super(...arguments); + this.metaProperty = null; + this.preliminaryChunkId = null; + this.referenceId = null; + } + getReferencedFileName(outputPluginDriver) { + const { meta: { name }, metaProperty } = this; + if (name === IMPORT && metaProperty?.startsWith(FILE_PREFIX)) { + return outputPluginDriver.getFileName(metaProperty.slice(FILE_PREFIX.length)); + } + return null; + } + hasEffects() { + return false; + } + hasEffectsOnInteractionAtPath(path, { type }) { + return path.length > 1 || type !== INTERACTION_ACCESSED; + } + include() { + if (!this.included) { + this.included = true; + if (this.meta.name === IMPORT) { + this.scope.context.addImportMeta(this); + const parent = this.parent; + const metaProperty = (this.metaProperty = + parent instanceof MemberExpression && typeof parent.propertyKey === 'string' + ? parent.propertyKey + : null); + if (metaProperty?.startsWith(FILE_PREFIX)) { + this.referenceId = metaProperty.slice(FILE_PREFIX.length); + } + } + } + } + render(code, renderOptions) { + const { format, pluginDriver, snippets } = renderOptions; + const { scope: { context: { module } }, meta: { name }, metaProperty, parent, preliminaryChunkId, referenceId, start, end } = this; + const { id: moduleId } = module; + if (name !== IMPORT) + return; + const chunkId = preliminaryChunkId; + if (referenceId) { + const fileName = pluginDriver.getFileName(referenceId); + const relativePath = normalize(relative(dirname(chunkId), fileName)); + const replacement = pluginDriver.hookFirstSync('resolveFileUrl', [ + { chunkId, fileName, format, moduleId, referenceId, relativePath } + ]) || relativeUrlMechanisms[format](relativePath); + code.overwrite(parent.start, parent.end, replacement, { contentOnly: true }); + return; + } + let replacement = pluginDriver.hookFirstSync('resolveImportMeta', [ + metaProperty, + { chunkId, format, moduleId } + ]); + if (!replacement) { + replacement = importMetaMechanisms[format]?.(metaProperty, { chunkId, snippets }); + renderOptions.accessedDocumentCurrentScript ||= + formatsMaybeAccessDocumentCurrentScript.includes(format) && replacement !== 'undefined'; + } + if (typeof replacement === 'string') { + if (parent instanceof MemberExpression) { + code.overwrite(parent.start, parent.end, replacement, { contentOnly: true }); + } + else { + code.overwrite(start, end, replacement, { contentOnly: true }); + } + } + } + setResolution(format, accessedGlobalsByScope, preliminaryChunkId) { + this.preliminaryChunkId = preliminaryChunkId; + const accessedGlobals = (this.metaProperty?.startsWith(FILE_PREFIX) ? accessedFileUrlGlobals : accessedMetaUrlGlobals)[format]; + if (accessedGlobals.length > 0) { + this.scope.addAccessedGlobals(accessedGlobals, accessedGlobalsByScope); + } + } +} +const formatsMaybeAccessDocumentCurrentScript = ['cjs', 'iife', 'umd']; +const accessedMetaUrlGlobals = { + amd: ['document', 'module', 'URL'], + cjs: ['document', 'require', 'URL', DOCUMENT_CURRENT_SCRIPT], + es: [], + iife: ['document', 'URL', DOCUMENT_CURRENT_SCRIPT], + system: ['module'], + umd: ['document', 'require', 'URL', DOCUMENT_CURRENT_SCRIPT] +}; +const accessedFileUrlGlobals = { + amd: ['document', 'require', 'URL'], + cjs: ['document', 'require', 'URL'], + es: [], + iife: ['document', 'URL'], + system: ['module', 'URL'], + umd: ['document', 'require', 'URL'] +}; +const getResolveUrl = (path, URL = 'URL') => `new ${URL}(${path}).href`; +const getRelativeUrlFromDocument = (relativePath, umd = false) => getResolveUrl(`'${escapeId(relativePath)}', ${umd ? `typeof document === 'undefined' ? location.href : ` : ''}document.currentScript && document.currentScript.src || document.baseURI`); +const getGenericImportMetaMechanism = (getUrl) => (property, { chunkId }) => { + const urlMechanism = getUrl(chunkId); + return property === null + ? `({ url: ${urlMechanism} })` + : property === 'url' + ? urlMechanism + : 'undefined'; +}; +const getFileUrlFromFullPath = (path) => `require('u' + 'rl').pathToFileURL(${path}).href`; +const getFileUrlFromRelativePath = (path) => getFileUrlFromFullPath(`__dirname + '/${path}'`); +const getUrlFromDocument = (chunkId, umd = false) => `${umd ? `typeof document === 'undefined' ? location.href : ` : ''}(${DOCUMENT_CURRENT_SCRIPT} && ${DOCUMENT_CURRENT_SCRIPT}.src || new URL('${escapeId(chunkId)}', document.baseURI).href)`; +const relativeUrlMechanisms = { + amd: relativePath => { + if (relativePath[0] !== '.') + relativePath = './' + relativePath; + return getResolveUrl(`require.toUrl('${relativePath}'), document.baseURI`); + }, + cjs: relativePath => `(typeof document === 'undefined' ? ${getFileUrlFromRelativePath(relativePath)} : ${getRelativeUrlFromDocument(relativePath)})`, + es: relativePath => getResolveUrl(`'${relativePath}', import.meta.url`), + iife: relativePath => getRelativeUrlFromDocument(relativePath), + system: relativePath => getResolveUrl(`'${relativePath}', module.meta.url`), + umd: relativePath => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromRelativePath(relativePath)} : ${getRelativeUrlFromDocument(relativePath, true)})` +}; +const importMetaMechanisms = { + amd: getGenericImportMetaMechanism(() => getResolveUrl(`module.uri, document.baseURI`)), + cjs: getGenericImportMetaMechanism(chunkId => `(typeof document === 'undefined' ? ${getFileUrlFromFullPath('__filename')} : ${getUrlFromDocument(chunkId)})`), + iife: getGenericImportMetaMechanism(chunkId => getUrlFromDocument(chunkId)), + system: (property, { snippets: { getPropertyAccess } }) => property === null ? `module.meta` : `module.meta${getPropertyAccess(property)}`, + umd: getGenericImportMetaMechanism(chunkId => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromFullPath('__filename')} : ${getUrlFromDocument(chunkId, true)})`) +}; + +class NewExpression extends NodeBase { + hasEffects(context) { + try { + for (const argument of this.arguments) { + if (argument.hasEffects(context)) + return true; + } + if (this.annotationPure) { + return false; + } + return (this.callee.hasEffects(context) || + this.callee.hasEffectsOnInteractionAtPath(EMPTY_PATH, this.interaction, context)); + } + finally { + if (!this.deoptimized) + this.applyDeoptimizations(); + } + } + hasEffectsOnInteractionAtPath(path, { type }) { + return path.length > 0 || type !== INTERACTION_ACCESSED; + } + include(context, includeChildrenRecursively) { + if (!this.deoptimized) + this.applyDeoptimizations(); + if (includeChildrenRecursively) { + super.include(context, includeChildrenRecursively); + } + else { + this.included = true; + this.callee.include(context, false); + } + this.callee.includeCallArguments(context, this.arguments); + } + initialise() { + this.interaction = { + args: [null, ...this.arguments], + type: INTERACTION_CALLED, + withNew: true + }; + } + render(code, options) { + this.callee.render(code, options); + renderCallArguments(code, options, this); + } + applyDeoptimizations() { + this.deoptimized = true; + this.callee.deoptimizeArgumentsOnInteractionAtPath(this.interaction, EMPTY_PATH, SHARED_RECURSION_TRACKER); + this.scope.context.requestTreeshakingPass(); + } +} + +class ObjectExpression extends NodeBase { + constructor() { + super(...arguments); + this.objectEntity = null; + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.getObjectEntity().deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizeCache() { + this.getObjectEntity().deoptimizeAllProperties(); + } + deoptimizePath(path) { + this.getObjectEntity().deoptimizePath(path); + } + getLiteralValueAtPath(path, recursionTracker, origin) { + return this.getObjectEntity().getLiteralValueAtPath(path, recursionTracker, origin); + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + return this.getObjectEntity().getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + return this.getObjectEntity().hasEffectsOnInteractionAtPath(path, interaction, context); + } + render(code, options, { renderedSurroundingElement } = BLANK) { + super.render(code, options); + if (renderedSurroundingElement === ExpressionStatement$1 || + renderedSurroundingElement === ArrowFunctionExpression$1) { + code.appendRight(this.start, '('); + code.prependLeft(this.end, ')'); + } + } + applyDeoptimizations() { } + getObjectEntity() { + if (this.objectEntity !== null) { + return this.objectEntity; + } + let prototype = OBJECT_PROTOTYPE; + const properties = []; + for (const property of this.properties) { + if (property instanceof SpreadElement) { + properties.push({ key: UnknownKey, kind: 'init', property }); + continue; + } + let key; + if (property.computed) { + const keyValue = property.key.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this); + if (typeof keyValue === 'symbol') { + properties.push({ key: UnknownKey, kind: property.kind, property }); + continue; + } + else { + key = String(keyValue); + } + } + else { + key = + property.key instanceof Identifier + ? property.key.name + : String(property.key.value); + if (key === '__proto__' && property.kind === 'init') { + prototype = + property.value instanceof Literal && property.value.value === null + ? null + : property.value; + continue; + } + } + properties.push({ key, kind: property.kind, property }); + } + return (this.objectEntity = new ObjectEntity(properties, prototype)); + } +} + +class PrivateIdentifier extends NodeBase { +} + +class Program extends NodeBase { + constructor() { + super(...arguments); + this.hasCachedEffect = null; + this.hasLoggedEffect = false; + } + hasCachedEffects() { + if (!this.included) { + return false; + } + return this.hasCachedEffect === null + ? (this.hasCachedEffect = this.hasEffects(createHasEffectsContext())) + : this.hasCachedEffect; + } + hasEffects(context) { + for (const node of this.body) { + if (node.hasEffects(context)) { + if (this.scope.context.options.experimentalLogSideEffects && !this.hasLoggedEffect) { + this.hasLoggedEffect = true; + const { code, log, module } = this.scope.context; + log(LOGLEVEL_INFO, logFirstSideEffect(code, module.id, locate(code, node.start, { offsetLine: 1 })), node.start); + } + return (this.hasCachedEffect = true); + } + } + return false; + } + include(context, includeChildrenRecursively) { + this.included = true; + for (const node of this.body) { + if (includeChildrenRecursively || node.shouldBeIncluded(context)) { + node.include(context, includeChildrenRecursively); + } + } + } + render(code, options) { + let start = this.start; + if (code.original.startsWith('#!')) { + start = Math.min(code.original.indexOf('\n') + 1, this.end); + code.remove(0, start); + } + if (this.body.length > 0) { + // Keep all consecutive lines that start with a comment + while (code.original[start] === '/' && /[*/]/.test(code.original[start + 1])) { + const firstLineBreak = findFirstLineBreakOutsideComment(code.original.slice(start, this.body[0].start)); + if (firstLineBreak[0] === -1) { + break; + } + start += firstLineBreak[1]; + } + renderStatementList(this.body, code, start, this.end, options); + } + else { + super.render(code, options); + } + } + applyDeoptimizations() { } +} + +class Property extends MethodBase { + constructor() { + super(...arguments); + this.declarationInit = null; + } + //declare method: boolean; + get method() { + return isFlagSet(this.flags, 262144 /* Flag.method */); + } + set method(value) { + this.flags = setFlag(this.flags, 262144 /* Flag.method */, value); + } + //declare shorthand: boolean; + get shorthand() { + return isFlagSet(this.flags, 524288 /* Flag.shorthand */); + } + set shorthand(value) { + this.flags = setFlag(this.flags, 524288 /* Flag.shorthand */, value); + } + declare(kind, init) { + this.declarationInit = init; + return this.value.declare(kind, UNKNOWN_EXPRESSION); + } + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + const propertyReadSideEffects = this.scope.context.options.treeshake.propertyReadSideEffects; + return ((this.parent.type === 'ObjectPattern' && propertyReadSideEffects === 'always') || + this.key.hasEffects(context) || + this.value.hasEffects(context)); + } + markDeclarationReached() { + this.value.markDeclarationReached(); + } + render(code, options) { + if (!this.shorthand) { + this.key.render(code, options); + } + this.value.render(code, options, { isShorthandProperty: this.shorthand }); + } + applyDeoptimizations() { + this.deoptimized = true; + if (this.declarationInit !== null) { + this.declarationInit.deoptimizePath([UnknownKey, UnknownKey]); + this.scope.context.requestTreeshakingPass(); + } + } +} + +class PropertyDefinition extends NodeBase { + get computed() { + return isFlagSet(this.flags, 1024 /* Flag.computed */); + } + set computed(value) { + this.flags = setFlag(this.flags, 1024 /* Flag.computed */, value); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.value?.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizePath(path) { + this.value?.deoptimizePath(path); + } + getLiteralValueAtPath(path, recursionTracker, origin) { + return this.value + ? this.value.getLiteralValueAtPath(path, recursionTracker, origin) + : UnknownValue; + } + getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) { + return this.value + ? this.value.getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) + : UNKNOWN_RETURN_EXPRESSION; + } + hasEffects(context) { + return this.key.hasEffects(context) || (this.static && !!this.value?.hasEffects(context)); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + return !this.value || this.value.hasEffectsOnInteractionAtPath(path, interaction, context); + } + applyDeoptimizations() { } +} + +class ReturnStatement extends NodeBase { + hasEffects(context) { + if (!context.ignore.returnYield || this.argument?.hasEffects(context)) + return true; + context.brokenFlow = true; + return false; + } + include(context, includeChildrenRecursively) { + this.included = true; + this.argument?.include(context, includeChildrenRecursively); + context.brokenFlow = true; + } + initialise() { + this.scope.addReturnExpression(this.argument || UNKNOWN_EXPRESSION); + } + render(code, options) { + if (this.argument) { + this.argument.render(code, options, { preventASI: true }); + if (this.argument.start === this.start + 6 /* 'return'.length */) { + code.prependLeft(this.start + 6, ' '); + } + } + } +} + +class SequenceExpression extends NodeBase { + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.expressions[this.expressions.length - 1].deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizePath(path) { + this.expressions[this.expressions.length - 1].deoptimizePath(path); + } + getLiteralValueAtPath(path, recursionTracker, origin) { + return this.expressions[this.expressions.length - 1].getLiteralValueAtPath(path, recursionTracker, origin); + } + hasEffects(context) { + for (const expression of this.expressions) { + if (expression.hasEffects(context)) + return true; + } + return false; + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + return this.expressions[this.expressions.length - 1].hasEffectsOnInteractionAtPath(path, interaction, context); + } + include(context, includeChildrenRecursively) { + this.included = true; + const lastExpression = this.expressions[this.expressions.length - 1]; + for (const expression of this.expressions) { + if (includeChildrenRecursively || + (expression === lastExpression && !(this.parent instanceof ExpressionStatement)) || + expression.shouldBeIncluded(context)) + expression.include(context, includeChildrenRecursively); + } + } + removeAnnotations(code) { + this.expressions[0].removeAnnotations(code); + } + render(code, options, { renderedParentType, isCalleeOfRenderedParent, preventASI } = BLANK) { + let includedNodes = 0; + let lastSeparatorPos = null; + const lastNode = this.expressions[this.expressions.length - 1]; + for (const { node, separator, start, end } of getCommaSeparatedNodesWithBoundaries(this.expressions, code, this.start, this.end)) { + if (!node.included) { + treeshakeNode(node, code, start, end); + continue; + } + includedNodes++; + lastSeparatorPos = separator; + if (includedNodes === 1 && preventASI) { + removeLineBreaks(code, start, node.start); + } + if (includedNodes === 1) { + const parentType = renderedParentType || this.parent.type; + node.render(code, options, { + isCalleeOfRenderedParent: isCalleeOfRenderedParent && node === lastNode, + renderedParentType: parentType, + renderedSurroundingElement: parentType + }); + } + else { + node.render(code, options); + } + } + if (lastSeparatorPos) { + code.remove(lastSeparatorPos, this.end); + } + } +} + +class StaticBlock extends NodeBase { + createScope(parentScope) { + this.scope = new BlockScope(parentScope); + } + hasEffects(context) { + for (const node of this.body) { + if (node.hasEffects(context)) + return true; + } + return false; + } + include(context, includeChildrenRecursively) { + this.included = true; + for (const node of this.body) { + if (includeChildrenRecursively || node.shouldBeIncluded(context)) + node.include(context, includeChildrenRecursively); + } + } + render(code, options) { + if (this.body.length > 0) { + const bodyStartPos = findFirstOccurrenceOutsideComment(code.original.slice(this.start, this.end), '{') + 1; + renderStatementList(this.body, code, this.start + bodyStartPos, this.end - 1, options); + } + else { + super.render(code, options); + } + } +} + +class Super extends NodeBase { + bind() { + this.variable = this.scope.findVariable('this'); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.variable.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizePath(path) { + this.variable.deoptimizePath(path); + } + include() { + if (!this.included) { + this.included = true; + this.scope.context.includeVariableInModule(this.variable); + } + } +} + +class SwitchCase extends NodeBase { + hasEffects(context) { + if (this.test?.hasEffects(context)) + return true; + for (const node of this.consequent) { + if (context.brokenFlow) + break; + if (node.hasEffects(context)) + return true; + } + return false; + } + include(context, includeChildrenRecursively) { + this.included = true; + this.test?.include(context, includeChildrenRecursively); + for (const node of this.consequent) { + if (includeChildrenRecursively || node.shouldBeIncluded(context)) + node.include(context, includeChildrenRecursively); + } + } + render(code, options, nodeRenderOptions) { + if (this.consequent.length > 0) { + this.test && this.test.render(code, options); + const testEnd = this.test + ? this.test.end + : findFirstOccurrenceOutsideComment(code.original, 'default', this.start) + 7; + const consequentStart = findFirstOccurrenceOutsideComment(code.original, ':', testEnd) + 1; + renderStatementList(this.consequent, code, consequentStart, nodeRenderOptions.end, options); + } + else { + super.render(code, options); + } + } +} +SwitchCase.prototype.needsBoundaries = true; + +class SwitchStatement extends NodeBase { + createScope(parentScope) { + this.parentScope = parentScope; + this.scope = new BlockScope(parentScope); + } + hasEffects(context) { + if (this.discriminant.hasEffects(context)) + return true; + const { brokenFlow, hasBreak, ignore } = context; + const { breaks } = ignore; + ignore.breaks = true; + context.hasBreak = false; + let onlyHasBrokenFlow = true; + for (const switchCase of this.cases) { + if (switchCase.hasEffects(context)) + return true; + onlyHasBrokenFlow &&= context.brokenFlow && !context.hasBreak; + context.hasBreak = false; + context.brokenFlow = brokenFlow; + } + if (this.defaultCase !== null) { + context.brokenFlow = onlyHasBrokenFlow; + } + ignore.breaks = breaks; + context.hasBreak = hasBreak; + return false; + } + include(context, includeChildrenRecursively) { + this.included = true; + this.discriminant.include(context, includeChildrenRecursively); + const { brokenFlow, hasBreak } = context; + context.hasBreak = false; + let onlyHasBrokenFlow = true; + let isCaseIncluded = includeChildrenRecursively || + (this.defaultCase !== null && this.defaultCase < this.cases.length - 1); + for (let caseIndex = this.cases.length - 1; caseIndex >= 0; caseIndex--) { + const switchCase = this.cases[caseIndex]; + if (switchCase.included) { + isCaseIncluded = true; + } + if (!isCaseIncluded) { + const hasEffectsContext = createHasEffectsContext(); + hasEffectsContext.ignore.breaks = true; + isCaseIncluded = switchCase.hasEffects(hasEffectsContext); + } + if (isCaseIncluded) { + switchCase.include(context, includeChildrenRecursively); + onlyHasBrokenFlow &&= context.brokenFlow && !context.hasBreak; + context.hasBreak = false; + context.brokenFlow = brokenFlow; + } + else { + onlyHasBrokenFlow = brokenFlow; + } + } + if (isCaseIncluded && this.defaultCase !== null) { + context.brokenFlow = onlyHasBrokenFlow; + } + context.hasBreak = hasBreak; + } + initialise() { + for (let caseIndex = 0; caseIndex < this.cases.length; caseIndex++) { + if (this.cases[caseIndex].test === null) { + this.defaultCase = caseIndex; + return; + } + } + this.defaultCase = null; + } + parseNode(esTreeNode) { + this.discriminant = new (this.scope.context.getNodeConstructor(esTreeNode.discriminant.type))(esTreeNode.discriminant, this, this.parentScope); + super.parseNode(esTreeNode); + } + render(code, options) { + this.discriminant.render(code, options); + if (this.cases.length > 0) { + renderStatementList(this.cases, code, this.cases[0].start, this.end - 1, options); + } + } +} + +class TaggedTemplateExpression extends CallExpressionBase { + bind() { + super.bind(); + if (this.tag.type === Identifier$1) { + const name = this.tag.name; + const variable = this.scope.findVariable(name); + if (variable.isNamespace) { + this.scope.context.log(LOGLEVEL_WARN, logCannotCallNamespace(name), this.start); + } + } + } + hasEffects(context) { + try { + for (const argument of this.quasi.expressions) { + if (argument.hasEffects(context)) + return true; + } + return (this.tag.hasEffects(context) || + this.tag.hasEffectsOnInteractionAtPath(EMPTY_PATH, this.interaction, context)); + } + finally { + if (!this.deoptimized) + this.applyDeoptimizations(); + } + } + include(context, includeChildrenRecursively) { + if (!this.deoptimized) + this.applyDeoptimizations(); + if (includeChildrenRecursively) { + super.include(context, includeChildrenRecursively); + } + else { + this.included = true; + this.tag.include(context, includeChildrenRecursively); + this.quasi.include(context, includeChildrenRecursively); + } + this.tag.includeCallArguments(context, this.args); + const [returnExpression] = this.getReturnExpression(); + if (!returnExpression.included) { + returnExpression.include(context, false); + } + } + initialise() { + this.args = [UNKNOWN_EXPRESSION, ...this.quasi.expressions]; + this.interaction = { + args: [ + this.tag instanceof MemberExpression && !this.tag.variable ? this.tag.object : null, + ...this.args + ], + type: INTERACTION_CALLED, + withNew: false + }; + } + render(code, options) { + this.tag.render(code, options, { isCalleeOfRenderedParent: true }); + this.quasi.render(code, options); + } + applyDeoptimizations() { + this.deoptimized = true; + this.tag.deoptimizeArgumentsOnInteractionAtPath(this.interaction, EMPTY_PATH, SHARED_RECURSION_TRACKER); + this.scope.context.requestTreeshakingPass(); + } + getReturnExpression(recursionTracker = SHARED_RECURSION_TRACKER) { + if (this.returnExpression === null) { + this.returnExpression = UNKNOWN_RETURN_EXPRESSION; + return (this.returnExpression = this.tag.getReturnExpressionWhenCalledAtPath(EMPTY_PATH, this.interaction, recursionTracker, this)); + } + return this.returnExpression; + } +} + +class TemplateElement extends NodeBase { + get tail() { + return isFlagSet(this.flags, 1048576 /* Flag.tail */); + } + set tail(value) { + this.flags = setFlag(this.flags, 1048576 /* Flag.tail */, value); + } + // Do not try to bind value + bind() { } + hasEffects() { + return false; + } + include() { + this.included = true; + } + parseNode(esTreeNode) { + this.value = esTreeNode.value; + super.parseNode(esTreeNode); + } + render() { } +} + +class TemplateLiteral extends NodeBase { + deoptimizeArgumentsOnInteractionAtPath() { } + getLiteralValueAtPath(path) { + if (path.length > 0 || this.quasis.length !== 1) { + return UnknownValue; + } + return this.quasis[0].value.cooked; + } + getReturnExpressionWhenCalledAtPath(path) { + if (path.length !== 1) { + return UNKNOWN_RETURN_EXPRESSION; + } + return getMemberReturnExpressionWhenCalled(literalStringMembers, path[0]); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + if (interaction.type === INTERACTION_ACCESSED) { + return path.length > 1; + } + if (interaction.type === INTERACTION_CALLED && path.length === 1) { + return hasMemberEffectWhenCalled(literalStringMembers, path[0], interaction, context); + } + return true; + } + render(code, options) { + code.indentExclusionRanges.push([this.start, this.end]); + super.render(code, options); + } +} + +class UndefinedVariable extends Variable { + constructor() { + super('undefined'); + } + getLiteralValueAtPath() { + return undefined; + } +} + +class ExportDefaultVariable extends LocalVariable { + constructor(name, exportDefaultDeclaration, context) { + super(name, exportDefaultDeclaration, exportDefaultDeclaration.declaration, context, "other" /* VariableKind.other */); + this.hasId = false; + this.originalId = null; + this.originalVariable = null; + const declaration = exportDefaultDeclaration.declaration; + if ((declaration instanceof FunctionDeclaration || declaration instanceof ClassDeclaration) && + declaration.id) { + this.hasId = true; + this.originalId = declaration.id; + } + else if (declaration instanceof Identifier) { + this.originalId = declaration; + } + } + addReference(identifier) { + if (!this.hasId) { + this.name = identifier.name; + } + } + forbidName(name) { + const original = this.getOriginalVariable(); + if (original === this) { + super.forbidName(name); + } + else { + original.forbidName(name); + } + } + getAssignedVariableName() { + return (this.originalId && this.originalId.name) || null; + } + getBaseVariableName() { + const original = this.getOriginalVariable(); + return original === this ? super.getBaseVariableName() : original.getBaseVariableName(); + } + getDirectOriginalVariable() { + return this.originalId && + (this.hasId || + !(this.originalId.isPossibleTDZ() || + this.originalId.variable.isReassigned || + this.originalId.variable instanceof UndefinedVariable || + // this avoids a circular dependency + 'syntheticNamespace' in this.originalId.variable)) + ? this.originalId.variable + : null; + } + getName(getPropertyAccess) { + const original = this.getOriginalVariable(); + return original === this + ? super.getName(getPropertyAccess) + : original.getName(getPropertyAccess); + } + getOriginalVariable() { + if (this.originalVariable) + return this.originalVariable; + // eslint-disable-next-line @typescript-eslint/no-this-alias + let original = this; + let currentVariable; + const checkedVariables = new Set(); + do { + checkedVariables.add(original); + currentVariable = original; + original = currentVariable.getDirectOriginalVariable(); + } while (original instanceof ExportDefaultVariable && !checkedVariables.has(original)); + return (this.originalVariable = original || currentVariable); + } +} + +class ModuleScope extends ChildScope { + constructor(parent, context) { + super(parent, context); + this.variables.set('this', new LocalVariable('this', null, UNDEFINED_EXPRESSION, context, "other" /* VariableKind.other */)); + } + addDeclaration(identifier, context, init, kind) { + if (this.context.module.importDescriptions.has(identifier.name)) { + context.error(logRedeclarationError(identifier.name), identifier.start); + } + return super.addDeclaration(identifier, context, init, kind); + } + addExportDefaultDeclaration(name, exportDefaultDeclaration, context) { + const variable = new ExportDefaultVariable(name, exportDefaultDeclaration, context); + this.variables.set('default', variable); + return variable; + } + addNamespaceMemberAccess() { } + deconflict(format, exportNamesByVariable, accessedGlobalsByScope) { + // all module level variables are already deconflicted when deconflicting the chunk + for (const scope of this.children) + scope.deconflict(format, exportNamesByVariable, accessedGlobalsByScope); + } + findLexicalBoundary() { + return this; + } + findVariable(name) { + const knownVariable = this.variables.get(name) || this.accessedOutsideVariables.get(name); + if (knownVariable) { + return knownVariable; + } + const variable = this.context.traceVariable(name) || this.parent.findVariable(name); + if (variable instanceof GlobalVariable) { + this.accessedOutsideVariables.set(name, variable); + } + return variable; + } +} + +class ThisExpression extends NodeBase { + bind() { + this.variable = this.scope.findVariable('this'); + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + this.variable.deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker); + } + deoptimizePath(path) { + this.variable.deoptimizePath(path); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + if (path.length === 0) { + return interaction.type !== INTERACTION_ACCESSED; + } + return this.variable.hasEffectsOnInteractionAtPath(path, interaction, context); + } + include() { + if (!this.included) { + this.included = true; + this.scope.context.includeVariableInModule(this.variable); + } + } + initialise() { + this.alias = + this.scope.findLexicalBoundary() instanceof ModuleScope + ? this.scope.context.moduleContext + : null; + if (this.alias === 'undefined') { + this.scope.context.log(LOGLEVEL_WARN, logThisIsUndefined(), this.start); + } + } + render(code) { + if (this.alias !== null) { + code.overwrite(this.start, this.end, this.alias, { + contentOnly: false, + storeName: true + }); + } + } +} + +class ThrowStatement extends NodeBase { + hasEffects() { + return true; + } + include(context, includeChildrenRecursively) { + this.included = true; + this.argument.include(context, includeChildrenRecursively); + context.brokenFlow = true; + } + render(code, options) { + this.argument.render(code, options, { preventASI: true }); + if (this.argument.start === this.start + 5 /* 'throw'.length */) { + code.prependLeft(this.start + 5, ' '); + } + } +} + +class TryStatement extends NodeBase { + constructor() { + super(...arguments); + this.directlyIncluded = false; + this.includedLabelsAfterBlock = null; + } + hasEffects(context) { + return ((this.scope.context.options.treeshake.tryCatchDeoptimization + ? this.block.body.length > 0 + : this.block.hasEffects(context)) || !!this.finalizer?.hasEffects(context)); + } + include(context, includeChildrenRecursively) { + const tryCatchDeoptimization = this.scope.context.options.treeshake?.tryCatchDeoptimization; + const { brokenFlow, includedLabels } = context; + if (!this.directlyIncluded || !tryCatchDeoptimization) { + this.included = true; + this.directlyIncluded = true; + this.block.include(context, tryCatchDeoptimization ? INCLUDE_PARAMETERS : includeChildrenRecursively); + if (includedLabels.size > 0) { + this.includedLabelsAfterBlock = [...includedLabels]; + } + context.brokenFlow = brokenFlow; + } + else if (this.includedLabelsAfterBlock) { + for (const label of this.includedLabelsAfterBlock) { + includedLabels.add(label); + } + } + if (this.handler !== null) { + this.handler.include(context, includeChildrenRecursively); + context.brokenFlow = brokenFlow; + } + this.finalizer?.include(context, includeChildrenRecursively); + } +} + +const unaryOperators = { + '!': value => !value, + '+': value => +value, + '-': value => -value, + delete: () => UnknownValue, + typeof: value => typeof value, + void: () => undefined, + '~': value => ~value +}; +class UnaryExpression extends NodeBase { + get prefix() { + return isFlagSet(this.flags, 2097152 /* Flag.prefix */); + } + set prefix(value) { + this.flags = setFlag(this.flags, 2097152 /* Flag.prefix */, value); + } + getLiteralValueAtPath(path, recursionTracker, origin) { + if (path.length > 0) + return UnknownValue; + const argumentValue = this.argument.getLiteralValueAtPath(EMPTY_PATH, recursionTracker, origin); + if (typeof argumentValue === 'symbol') + return UnknownValue; + return unaryOperators[this.operator](argumentValue); + } + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + if (this.operator === 'typeof' && this.argument instanceof Identifier) + return false; + return (this.argument.hasEffects(context) || + (this.operator === 'delete' && + this.argument.hasEffectsOnInteractionAtPath(EMPTY_PATH, NODE_INTERACTION_UNKNOWN_ASSIGNMENT, context))); + } + hasEffectsOnInteractionAtPath(path, { type }) { + return type !== INTERACTION_ACCESSED || path.length > (this.operator === 'void' ? 0 : 1); + } + applyDeoptimizations() { + this.deoptimized = true; + if (this.operator === 'delete') { + this.argument.deoptimizePath(EMPTY_PATH); + this.scope.context.requestTreeshakingPass(); + } + } +} + +class UnknownNode extends NodeBase { + hasEffects() { + return true; + } + include(context) { + super.include(context, true); + } +} + +class UpdateExpression extends NodeBase { + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + return this.argument.hasEffectsAsAssignmentTarget(context, true); + } + hasEffectsOnInteractionAtPath(path, { type }) { + return path.length > 1 || type !== INTERACTION_ACCESSED; + } + include(context, includeChildrenRecursively) { + if (!this.deoptimized) + this.applyDeoptimizations(); + this.included = true; + this.argument.includeAsAssignmentTarget(context, includeChildrenRecursively, true); + } + initialise() { + this.argument.setAssignedValue(UNKNOWN_EXPRESSION); + } + render(code, options) { + const { exportNamesByVariable, format, snippets: { _ } } = options; + this.argument.render(code, options); + if (format === 'system') { + const variable = this.argument.variable; + const exportNames = exportNamesByVariable.get(variable); + if (exportNames) { + if (this.prefix) { + if (exportNames.length === 1) { + renderSystemExportExpression(variable, this.start, this.end, code, options); + } + else { + renderSystemExportSequenceAfterExpression(variable, this.start, this.end, this.parent.type !== ExpressionStatement$1, code, options); + } + } + else { + const operator = this.operator[0]; + renderSystemExportSequenceBeforeExpression(variable, this.start, this.end, this.parent.type !== ExpressionStatement$1, code, options, `${_}${operator}${_}1`); + } + } + } + } + applyDeoptimizations() { + this.deoptimized = true; + this.argument.deoptimizePath(EMPTY_PATH); + if (this.argument instanceof Identifier) { + const variable = this.scope.findVariable(this.argument.name); + variable.isReassigned = true; + } + this.scope.context.requestTreeshakingPass(); + } +} + +function areAllDeclarationsIncludedAndNotExported(declarations, exportNamesByVariable) { + for (const declarator of declarations) { + if (!declarator.id.included) + return false; + if (declarator.id.type === Identifier$1) { + if (exportNamesByVariable.has(declarator.id.variable)) + return false; + } + else { + const exportedVariables = []; + declarator.id.addExportedVariables(exportedVariables, exportNamesByVariable); + if (exportedVariables.length > 0) + return false; + } + } + return true; +} +class VariableDeclaration extends NodeBase { + deoptimizePath() { + for (const declarator of this.declarations) { + declarator.deoptimizePath(EMPTY_PATH); + } + } + hasEffectsOnInteractionAtPath() { + return false; + } + include(context, includeChildrenRecursively, { asSingleStatement } = BLANK) { + this.included = true; + for (const declarator of this.declarations) { + if (includeChildrenRecursively || declarator.shouldBeIncluded(context)) + declarator.include(context, includeChildrenRecursively); + const { id, init } = declarator; + if (asSingleStatement) { + id.include(context, includeChildrenRecursively); + } + if (init && + id.included && + !init.included && + (id instanceof ObjectPattern || id instanceof ArrayPattern)) { + init.include(context, includeChildrenRecursively); + } + } + } + initialise() { + for (const declarator of this.declarations) { + declarator.declareDeclarator(this.kind); + } + } + removeAnnotations(code) { + this.declarations[0].removeAnnotations(code); + } + render(code, options, nodeRenderOptions = BLANK) { + if (areAllDeclarationsIncludedAndNotExported(this.declarations, options.exportNamesByVariable)) { + for (const declarator of this.declarations) { + declarator.render(code, options); + } + if (!nodeRenderOptions.isNoStatement && + code.original.charCodeAt(this.end - 1) !== 59 /*";"*/) { + code.appendLeft(this.end, ';'); + } + } + else { + this.renderReplacedDeclarations(code, options); + } + } + applyDeoptimizations() { } + renderDeclarationEnd(code, separatorString, lastSeparatorPos, actualContentEnd, renderedContentEnd, systemPatternExports, options) { + if (code.original.charCodeAt(this.end - 1) === 59 /*";"*/) { + code.remove(this.end - 1, this.end); + } + separatorString += ';'; + if (lastSeparatorPos === null) { + code.appendLeft(renderedContentEnd, separatorString); + } + else { + if (code.original.charCodeAt(actualContentEnd - 1) === 10 /*"\n"*/ && + (code.original.charCodeAt(this.end) === 10 /*"\n"*/ || + code.original.charCodeAt(this.end) === 13) /*"\r"*/) { + actualContentEnd--; + if (code.original.charCodeAt(actualContentEnd) === 13 /*"\r"*/) { + actualContentEnd--; + } + } + if (actualContentEnd === lastSeparatorPos + 1) { + code.overwrite(lastSeparatorPos, renderedContentEnd, separatorString); + } + else { + code.overwrite(lastSeparatorPos, lastSeparatorPos + 1, separatorString); + code.remove(actualContentEnd, renderedContentEnd); + } + } + if (systemPatternExports.length > 0) { + code.appendLeft(renderedContentEnd, ` ${getSystemExportStatement(systemPatternExports, options)};`); + } + } + renderReplacedDeclarations(code, options) { + const separatedNodes = getCommaSeparatedNodesWithBoundaries(this.declarations, code, this.start + this.kind.length, this.end - (code.original.charCodeAt(this.end - 1) === 59 /*";"*/ ? 1 : 0)); + let actualContentEnd, renderedContentEnd; + renderedContentEnd = findNonWhiteSpace(code.original, this.start + this.kind.length); + let lastSeparatorPos = renderedContentEnd - 1; + code.remove(this.start, lastSeparatorPos); + let isInDeclaration = false; + let hasRenderedContent = false; + let separatorString = '', leadingString, nextSeparatorString; + const aggregatedSystemExports = []; + const singleSystemExport = gatherSystemExportsAndGetSingleExport(separatedNodes, options, aggregatedSystemExports); + for (const { node, start, separator, contentEnd, end } of separatedNodes) { + if (!node.included) { + code.remove(start, end); + node.removeAnnotations(code); + continue; + } + node.render(code, options); + leadingString = ''; + nextSeparatorString = ''; + if (!node.id.included || + (node.id instanceof Identifier && + isReassignedExportsMember(node.id.variable, options.exportNamesByVariable))) { + if (hasRenderedContent) { + separatorString += ';'; + } + isInDeclaration = false; + } + else { + if (singleSystemExport && singleSystemExport === node.id.variable) { + const operatorPos = findFirstOccurrenceOutsideComment(code.original, '=', node.id.end); + renderSystemExportExpression(singleSystemExport, findNonWhiteSpace(code.original, operatorPos + 1), separator === null ? contentEnd : separator, code, options); + } + if (isInDeclaration) { + separatorString += ','; + } + else { + if (hasRenderedContent) { + separatorString += ';'; + } + leadingString += `${this.kind} `; + isInDeclaration = true; + } + } + if (renderedContentEnd === lastSeparatorPos + 1) { + code.overwrite(lastSeparatorPos, renderedContentEnd, separatorString + leadingString); + } + else { + code.overwrite(lastSeparatorPos, lastSeparatorPos + 1, separatorString); + code.appendLeft(renderedContentEnd, leadingString); + } + actualContentEnd = contentEnd; + renderedContentEnd = end; + hasRenderedContent = true; + lastSeparatorPos = separator; + separatorString = nextSeparatorString; + } + this.renderDeclarationEnd(code, separatorString, lastSeparatorPos, actualContentEnd, renderedContentEnd, aggregatedSystemExports, options); + } +} +function gatherSystemExportsAndGetSingleExport(separatedNodes, options, aggregatedSystemExports) { + let singleSystemExport = null; + if (options.format === 'system') { + for (const { node } of separatedNodes) { + if (node.id instanceof Identifier && + node.init && + aggregatedSystemExports.length === 0 && + options.exportNamesByVariable.get(node.id.variable)?.length === 1) { + singleSystemExport = node.id.variable; + aggregatedSystemExports.push(singleSystemExport); + } + else { + node.id.addExportedVariables(aggregatedSystemExports, options.exportNamesByVariable); + } + } + if (aggregatedSystemExports.length > 1) { + singleSystemExport = null; + } + else if (singleSystemExport) { + aggregatedSystemExports.length = 0; + } + } + return singleSystemExport; +} + +class WhileStatement extends NodeBase { + hasEffects(context) { + if (this.test.hasEffects(context)) + return true; + return hasLoopBodyEffects(context, this.body); + } + include(context, includeChildrenRecursively) { + this.included = true; + this.test.include(context, includeChildrenRecursively); + includeLoopBody(context, this.body, includeChildrenRecursively); + } +} + +class YieldExpression extends NodeBase { + hasEffects(context) { + if (!this.deoptimized) + this.applyDeoptimizations(); + return !(context.ignore.returnYield && !this.argument?.hasEffects(context)); + } + render(code, options) { + if (this.argument) { + this.argument.render(code, options, { preventASI: true }); + if (this.argument.start === this.start + 5 /* 'yield'.length */) { + code.prependLeft(this.start + 5, ' '); + } + } + } +} + +const nodeConstructors = { + ArrayExpression, + ArrayPattern, + ArrowFunctionExpression, + AssignmentExpression, + AssignmentPattern, + AwaitExpression, + BinaryExpression, + BlockStatement, + BreakStatement, + CallExpression, + CatchClause, + ChainExpression, + ClassBody, + ClassDeclaration, + ClassExpression, + ConditionalExpression, + ContinueStatement, + DoWhileStatement, + EmptyStatement, + ExportAllDeclaration, + ExportDefaultDeclaration, + ExportNamedDeclaration, + ExportSpecifier, + ExpressionStatement, + ForInStatement, + ForOfStatement, + ForStatement, + FunctionDeclaration, + FunctionExpression, + Identifier, + IfStatement, + ImportAttribute, + ImportDeclaration, + ImportDefaultSpecifier, + ImportExpression, + ImportNamespaceSpecifier, + ImportSpecifier, + LabeledStatement, + Literal, + LogicalExpression, + MemberExpression, + MetaProperty, + MethodDefinition, + NewExpression, + ObjectExpression, + ObjectPattern, + PrivateIdentifier, + Program, + Property, + PropertyDefinition, + RestElement, + ReturnStatement, + SequenceExpression, + SpreadElement, + StaticBlock, + Super, + SwitchCase, + SwitchStatement, + TaggedTemplateExpression, + TemplateElement, + TemplateLiteral, + ThisExpression, + ThrowStatement, + TryStatement, + UnaryExpression, + UnknownNode, + UpdateExpression, + VariableDeclaration, + VariableDeclarator, + WhileStatement, + YieldExpression +}; + +const MISSING_EXPORT_SHIM_VARIABLE = '_missingExportShim'; + +class ExportShimVariable extends Variable { + constructor(module) { + super(MISSING_EXPORT_SHIM_VARIABLE); + this.module = module; + } + include() { + super.include(); + this.module.needsExportShim = true; + } +} + +class NamespaceVariable extends Variable { + constructor(context) { + super(context.getModuleName()); + this.memberVariables = null; + this.mergedNamespaces = []; + this.referencedEarly = false; + this.references = []; + this.context = context; + this.module = context.module; + } + addReference(identifier) { + this.references.push(identifier); + this.name = identifier.name; + } + deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) { + if (path.length > 1 || (path.length === 1 && interaction.type === INTERACTION_CALLED)) { + const key = path[0]; + if (typeof key === 'string') { + this.getMemberVariables()[key]?.deoptimizeArgumentsOnInteractionAtPath(interaction, path.slice(1), recursionTracker); + } + else { + deoptimizeInteraction(interaction); + } + } + } + deoptimizePath(path) { + if (path.length > 1) { + const key = path[0]; + if (typeof key === 'string') { + this.getMemberVariables()[key]?.deoptimizePath(path.slice(1)); + } + } + } + getLiteralValueAtPath(path) { + if (path[0] === SymbolToStringTag) { + return 'Module'; + } + return UnknownValue; + } + getMemberVariables() { + if (this.memberVariables) { + return this.memberVariables; + } + const memberVariables = Object.create(null); + const sortedExports = [...this.context.getExports(), ...this.context.getReexports()].sort(); + for (const name of sortedExports) { + if (name[0] !== '*' && name !== this.module.info.syntheticNamedExports) { + const exportedVariable = this.context.traceExport(name); + if (exportedVariable) { + memberVariables[name] = exportedVariable; + } + } + } + return (this.memberVariables = memberVariables); + } + hasEffectsOnInteractionAtPath(path, interaction, context) { + const { type } = interaction; + if (path.length === 0) { + // This can only be a call anyway + return true; + } + if (path.length === 1 && type !== INTERACTION_CALLED) { + return type === INTERACTION_ASSIGNED; + } + const key = path[0]; + if (typeof key !== 'string') { + return true; + } + const memberVariable = this.getMemberVariables()[key]; + return (!memberVariable || + memberVariable.hasEffectsOnInteractionAtPath(path.slice(1), interaction, context)); + } + include() { + super.include(); + this.context.includeAllExports(); + } + prepare(accessedGlobalsByScope) { + if (this.mergedNamespaces.length > 0) { + this.module.scope.addAccessedGlobals([MERGE_NAMESPACES_VARIABLE], accessedGlobalsByScope); + } + } + renderBlock(options) { + const { exportNamesByVariable, format, freeze, indent: t, symbols, snippets: { _, cnst, getObject, getPropertyAccess, n, s } } = options; + const memberVariables = this.getMemberVariables(); + const members = Object.entries(memberVariables) + .filter(([_, variable]) => variable.included) + .map(([name, variable]) => { + if (this.referencedEarly || variable.isReassigned || variable === this) { + return [ + null, + `get ${stringifyObjectKeyIfNeeded(name)}${_}()${_}{${_}return ${variable.getName(getPropertyAccess)}${s}${_}}` + ]; + } + return [name, variable.getName(getPropertyAccess)]; + }); + members.unshift([null, `__proto__:${_}null`]); + let output = getObject(members, { lineBreakIndent: { base: '', t } }); + if (this.mergedNamespaces.length > 0) { + const assignmentArguments = this.mergedNamespaces.map(variable => variable.getName(getPropertyAccess)); + output = `/*#__PURE__*/${MERGE_NAMESPACES_VARIABLE}(${output},${_}[${assignmentArguments.join(`,${_}`)}])`; + } + else { + // The helper to merge namespaces will also take care of freezing and toStringTag + if (symbols) { + output = `/*#__PURE__*/Object.defineProperty(${output},${_}Symbol.toStringTag,${_}${getToStringTagValue(getObject)})`; + } + if (freeze) { + output = `/*#__PURE__*/Object.freeze(${output})`; + } + } + const name = this.getName(getPropertyAccess); + output = `${cnst} ${name}${_}=${_}${output};`; + if (format === 'system' && exportNamesByVariable.has(this)) { + output += `${n}${getSystemExportStatement([this], options)};`; + } + return output; + } + renderFirst() { + return this.referencedEarly; + } + setMergedNamespaces(mergedNamespaces) { + this.mergedNamespaces = mergedNamespaces; + const moduleExecIndex = this.context.getModuleExecIndex(); + for (const identifier of this.references) { + const { context } = identifier.scope; + if (context.getModuleExecIndex() <= moduleExecIndex) { + this.referencedEarly = true; + break; + } + } + } +} +NamespaceVariable.prototype.isNamespace = true; + +class SyntheticNamedExportVariable extends Variable { + constructor(context, name, syntheticNamespace) { + super(name); + this.baseVariable = null; + this.context = context; + this.module = context.module; + this.syntheticNamespace = syntheticNamespace; + } + getBaseVariable() { + if (this.baseVariable) + return this.baseVariable; + let baseVariable = this.syntheticNamespace; + while (baseVariable instanceof ExportDefaultVariable || + baseVariable instanceof SyntheticNamedExportVariable) { + if (baseVariable instanceof ExportDefaultVariable) { + const original = baseVariable.getOriginalVariable(); + if (original === baseVariable) + break; + baseVariable = original; + } + if (baseVariable instanceof SyntheticNamedExportVariable) { + baseVariable = baseVariable.syntheticNamespace; + } + } + return (this.baseVariable = baseVariable); + } + getBaseVariableName() { + return this.syntheticNamespace.getBaseVariableName(); + } + getName(getPropertyAccess) { + return `${this.syntheticNamespace.getName(getPropertyAccess)}${getPropertyAccess(this.name)}`; + } + include() { + super.include(); + this.context.includeVariableInModule(this.syntheticNamespace); + } + setRenderNames(baseName, name) { + super.setRenderNames(baseName, name); + } +} + +var BuildPhase; +(function (BuildPhase) { + BuildPhase[BuildPhase["LOAD_AND_PARSE"] = 0] = "LOAD_AND_PARSE"; + BuildPhase[BuildPhase["ANALYSE"] = 1] = "ANALYSE"; + BuildPhase[BuildPhase["GENERATE"] = 2] = "GENERATE"; +})(BuildPhase || (BuildPhase = {})); + +const sourceMapCache = new WeakMap(); +/** + * This clears the decoded array and falls back to the encoded string form. + * Sourcemap mappings arrays can be very large and holding on to them for longer + * than is necessary leads to poor heap utilization. + */ +function resetCacheToEncoded(cache) { + if (cache.encodedMappings === undefined && cache.decodedMappings) { + cache.encodedMappings = encode(cache.decodedMappings); + } + cache.decodedMappings = undefined; +} +function resetSourcemapCache(map, sourcemapChain) { + if (map) { + const cache = sourceMapCache.get(map); + if (cache) { + resetCacheToEncoded(cache); + } + } + if (!sourcemapChain) { + return; + } + for (const map of sourcemapChain) { + if (map.missing) + continue; + resetSourcemapCache(map); + } +} +function decodedSourcemap(map) { + if (!map) + return null; + if (typeof map === 'string') { + map = JSON.parse(map); + } + if (!map.mappings) { + return { + mappings: [], + names: [], + sources: [], + version: 3 + }; + } + const originalMappings = map.mappings; + const isAlreadyDecoded = Array.isArray(originalMappings); + const cache = { + decodedMappings: isAlreadyDecoded ? originalMappings : undefined, + encodedMappings: isAlreadyDecoded ? undefined : originalMappings + }; + const decodedMap = { + ...map, + // By moving mappings behind an accessor, we can avoid unneeded computation for cases + // where the mappings field is never actually accessed. This appears to greatly reduce + // the overhead of sourcemap decoding in terms of both compute time and memory usage. + get mappings() { + if (cache.decodedMappings) { + return cache.decodedMappings; + } + // If decodedMappings doesn't exist then encodedMappings should. + // The only scenario where cache.encodedMappings should be undefined is if the map + // this was constructed from was already decoded, or if mappings was set to a new + // decoded string. In either case, this line shouldn't get hit. + cache.decodedMappings = cache.encodedMappings ? decode(cache.encodedMappings) : []; + cache.encodedMappings = undefined; + return cache.decodedMappings; + } + }; + sourceMapCache.set(decodedMap, cache); + return decodedMap; +} + +function getId(m) { + return m.id; +} + +function getOriginalLocation(sourcemapChain, location) { + const filteredSourcemapChain = sourcemapChain.filter((sourcemap) => !sourcemap.missing); + traceSourcemap: while (filteredSourcemapChain.length > 0) { + const sourcemap = filteredSourcemapChain.pop(); + const line = sourcemap.mappings[location.line - 1]; + if (line) { + const filteredLine = line.filter((segment) => segment.length > 1); + const lastSegment = filteredLine[filteredLine.length - 1]; + for (const segment of filteredLine) { + if (segment[0] >= location.column || segment === lastSegment) { + location = { + column: segment[3], + line: segment[2] + 1 + }; + continue traceSourcemap; + } + } + } + throw new Error("Can't resolve original location of error."); + } + return location; +} + +const ATTRIBUTE_KEYWORDS = new Set(['assert', 'with']); +function getAttributesFromImportExpression(node) { + const { scope: { context }, options, start } = node; + if (!(options instanceof ObjectExpression)) { + if (options) { + context.module.log(LOGLEVEL_WARN, logImportAttributeIsInvalid(context.module.id), start); + } + return EMPTY_OBJECT; + } + const assertProperty = options.properties.find((property) => ATTRIBUTE_KEYWORDS.has(getPropertyKey(property)))?.value; + if (!assertProperty) { + return EMPTY_OBJECT; + } + if (!(assertProperty instanceof ObjectExpression)) { + context.module.log(LOGLEVEL_WARN, logImportOptionsAreInvalid(context.module.id), start); + return EMPTY_OBJECT; + } + const assertFields = assertProperty.properties + .map(property => { + const key = getPropertyKey(property); + if (typeof key === 'string' && + typeof property.value.value === 'string') { + return [key, property.value.value]; + } + context.module.log(LOGLEVEL_WARN, logImportAttributeIsInvalid(context.module.id), property.start); + return null; + }) + .filter((property) => !!property); + if (assertFields.length > 0) { + return Object.fromEntries(assertFields); + } + return EMPTY_OBJECT; +} +const getPropertyKey = (property) => { + const key = property.key; + return (key && !property.computed && (key.name || key.value)); +}; +function getAttributesFromImportExportDeclaration(attributes) { + return attributes?.length + ? Object.fromEntries(attributes.map(assertion => [getPropertyKey(assertion), assertion.value.value])) + : EMPTY_OBJECT; +} +function doAttributesDiffer(assertionA, assertionB) { + const keysA = Object.keys(assertionA); + return (keysA.length !== Object.keys(assertionB).length || + keysA.some(key => assertionA[key] !== assertionB[key])); +} + +let timers = new Map(); +function getPersistedLabel(label, level) { + switch (level) { + case 1: { + return `# ${label}`; + } + case 2: { + return `## ${label}`; + } + case 3: { + return label; + } + default: { + return `${' '.repeat(level - 4)}- ${label}`; + } + } +} +function timeStartImpl(label, level = 3) { + label = getPersistedLabel(label, level); + const startMemory = process$1.memoryUsage().heapUsed; + const startTime = performance.now(); + const timer = timers.get(label); + if (timer === undefined) { + timers.set(label, { + memory: 0, + startMemory, + startTime, + time: 0, + totalMemory: 0 + }); + } + else { + timer.startMemory = startMemory; + timer.startTime = startTime; + } +} +function timeEndImpl(label, level = 3) { + label = getPersistedLabel(label, level); + const timer = timers.get(label); + if (timer !== undefined) { + const currentMemory = process$1.memoryUsage().heapUsed; + timer.memory += currentMemory - timer.startMemory; + timer.time += performance.now() - timer.startTime; + timer.totalMemory = Math.max(timer.totalMemory, currentMemory); + } +} +function getTimings() { + const newTimings = {}; + for (const [label, { memory, time, totalMemory }] of timers) { + newTimings[label] = [time, memory, totalMemory]; + } + return newTimings; +} +let timeStart = doNothing; +let timeEnd = doNothing; +const TIMED_PLUGIN_HOOKS = [ + 'augmentChunkHash', + 'buildEnd', + 'buildStart', + 'generateBundle', + 'load', + 'moduleParsed', + 'options', + 'outputOptions', + 'renderChunk', + 'renderDynamicImport', + 'renderStart', + 'resolveDynamicImport', + 'resolveFileUrl', + 'resolveId', + 'resolveImportMeta', + 'shouldTransformCachedModule', + 'transform', + 'writeBundle' +]; +function getPluginWithTimers(plugin, index) { + if (plugin._hasTimer) + return plugin; + plugin._hasTimer = true; + for (const hook of TIMED_PLUGIN_HOOKS) { + if (hook in plugin) { + let timerLabel = `plugin ${index}`; + if (plugin.name) { + timerLabel += ` (${plugin.name})`; + } + timerLabel += ` - ${hook}`; + const handler = function (...parameters) { + timeStart(timerLabel, 4); + const result = hookFunction.apply(this, parameters); + timeEnd(timerLabel, 4); + return result; + }; + let hookFunction; + if (typeof plugin[hook].handler === 'function') { + hookFunction = plugin[hook].handler; + plugin[hook].handler = handler; + } + else { + hookFunction = plugin[hook]; + plugin[hook] = handler; + } + } + } + return plugin; +} +function initialiseTimers(inputOptions) { + if (inputOptions.perf) { + timers = new Map(); + timeStart = timeStartImpl; + timeEnd = timeEndImpl; + inputOptions.plugins = inputOptions.plugins.map(getPluginWithTimers); + } + else { + timeStart = doNothing; + timeEnd = doNothing; + } +} + +function markModuleAndImpureDependenciesAsExecuted(baseModule) { + baseModule.isExecuted = true; + const modules = [baseModule]; + const visitedModules = new Set(); + for (const module of modules) { + for (const dependency of [...module.dependencies, ...module.implicitlyLoadedBefore]) { + if (!(dependency instanceof ExternalModule) && + !dependency.isExecuted && + (dependency.info.moduleSideEffects || module.implicitlyLoadedBefore.has(dependency)) && + !visitedModules.has(dependency.id)) { + dependency.isExecuted = true; + visitedModules.add(dependency.id); + modules.push(dependency); + } + } + } +} + +const MISSING_EXPORT_SHIM_DESCRIPTION = { + identifier: null, + localName: MISSING_EXPORT_SHIM_VARIABLE +}; +function getVariableForExportNameRecursive(target, name, importerForSideEffects, isExportAllSearch, searchedNamesAndModules = new Map()) { + const searchedModules = searchedNamesAndModules.get(name); + if (searchedModules) { + if (searchedModules.has(target)) { + return isExportAllSearch ? [null] : error(logCircularReexport(name, target.id)); + } + searchedModules.add(target); + } + else { + searchedNamesAndModules.set(name, new Set([target])); + } + return target.getVariableForExportName(name, { + importerForSideEffects, + isExportAllSearch, + searchedNamesAndModules + }); +} +function getAndExtendSideEffectModules(variable, module) { + const sideEffectModules = getOrCreate(module.sideEffectDependenciesByVariable, variable, (getNewSet)); + let currentVariable = variable; + const referencedVariables = new Set([currentVariable]); + while (true) { + const importingModule = currentVariable.module; + currentVariable = + currentVariable instanceof ExportDefaultVariable + ? currentVariable.getDirectOriginalVariable() + : currentVariable instanceof SyntheticNamedExportVariable + ? currentVariable.syntheticNamespace + : null; + if (!currentVariable || referencedVariables.has(currentVariable)) { + break; + } + referencedVariables.add(currentVariable); + sideEffectModules.add(importingModule); + const originalSideEffects = importingModule.sideEffectDependenciesByVariable.get(currentVariable); + if (originalSideEffects) { + for (const module of originalSideEffects) { + sideEffectModules.add(module); + } + } + } + return sideEffectModules; +} +class Module { + constructor(graph, id, options, isEntry, moduleSideEffects, syntheticNamedExports, meta, attributes) { + this.graph = graph; + this.id = id; + this.options = options; + this.alternativeReexportModules = new Map(); + this.chunkFileNames = new Set(); + this.chunkNames = []; + this.cycles = new Set(); + this.dependencies = new Set(); + this.dynamicDependencies = new Set(); + this.dynamicImporters = []; + this.dynamicImports = []; + this.execIndex = Infinity; + this.implicitlyLoadedAfter = new Set(); + this.implicitlyLoadedBefore = new Set(); + this.importDescriptions = new Map(); + this.importMetas = []; + this.importedFromNotTreeshaken = false; + this.importers = []; + this.includedDynamicImporters = []; + this.includedImports = new Set(); + this.isExecuted = false; + this.isUserDefinedEntryPoint = false; + this.needsExportShim = false; + this.sideEffectDependenciesByVariable = new Map(); + this.sourcesWithAttributes = new Map(); + this.allExportNames = null; + this.ast = null; + this.exportAllModules = []; + this.exportAllSources = new Set(); + this.exportNamesByVariable = null; + this.exportShimVariable = new ExportShimVariable(this); + this.exports = new Map(); + this.namespaceReexportsByName = new Map(); + this.reexportDescriptions = new Map(); + this.relevantDependencies = null; + this.syntheticExports = new Map(); + this.syntheticNamespace = null; + this.transformDependencies = []; + this.transitiveReexports = null; + this.excludeFromSourcemap = /\0/.test(id); + this.context = options.moduleContext(id); + this.preserveSignature = this.options.preserveEntrySignatures; + // eslint-disable-next-line @typescript-eslint/no-this-alias + const module = this; + const { dynamicImports, dynamicImporters, exportAllSources, exports, implicitlyLoadedAfter, implicitlyLoadedBefore, importers, reexportDescriptions, sourcesWithAttributes } = this; + this.info = { + ast: null, + attributes, + code: null, + get dynamicallyImportedIdResolutions() { + return dynamicImports + .map(({ argument }) => typeof argument === 'string' && module.resolvedIds[argument]) + .filter(Boolean); + }, + get dynamicallyImportedIds() { + // We cannot use this.dynamicDependencies because this is needed before + // dynamicDependencies are populated + return dynamicImports.map(({ id }) => id).filter((id) => id != null); + }, + get dynamicImporters() { + return dynamicImporters.sort(); + }, + get exportedBindings() { + const exportBindings = { '.': [...exports.keys()] }; + for (const [name, { source }] of reexportDescriptions) { + (exportBindings[source] ??= []).push(name); + } + for (const source of exportAllSources) { + (exportBindings[source] ??= []).push('*'); + } + return exportBindings; + }, + get exports() { + return [ + ...exports.keys(), + ...reexportDescriptions.keys(), + ...[...exportAllSources].map(() => '*') + ]; + }, + get hasDefaultExport() { + // This information is only valid after parsing + if (!module.ast) { + return null; + } + return module.exports.has('default') || reexportDescriptions.has('default'); + }, + id, + get implicitlyLoadedAfterOneOf() { + // eslint-disable-next-line unicorn/prefer-spread + return Array.from(implicitlyLoadedAfter, getId).sort(); + }, + get implicitlyLoadedBefore() { + // eslint-disable-next-line unicorn/prefer-spread + return Array.from(implicitlyLoadedBefore, getId).sort(); + }, + get importedIdResolutions() { + // eslint-disable-next-line unicorn/prefer-spread + return Array.from(sourcesWithAttributes.keys(), source => module.resolvedIds[source]).filter(Boolean); + }, + get importedIds() { + // We cannot use this.dependencies because this is needed before + // dependencies are populated + // eslint-disable-next-line unicorn/prefer-spread + return Array.from(sourcesWithAttributes.keys(), source => module.resolvedIds[source]?.id).filter(Boolean); + }, + get importers() { + return importers.sort(); + }, + isEntry, + isExternal: false, + get isIncluded() { + if (graph.phase !== BuildPhase.GENERATE) { + return null; + } + return module.isIncluded(); + }, + meta: { ...meta }, + moduleSideEffects, + syntheticNamedExports + }; + } + basename() { + const base = basename(this.id); + const extension = extname(this.id); + return makeLegal(extension ? base.slice(0, -extension.length) : base); + } + bindReferences() { + this.ast.bind(); + } + error(properties, pos) { + pos !== undefined && this.addLocationToLogProps(properties, pos); + return error(properties); + } + // sum up the length of all ast nodes that are included + estimateSize() { + let size = 0; + for (const node of this.ast.body) { + if (node.included) { + size += node.end - node.start; + } + } + return size; + } + getAllExportNames() { + if (this.allExportNames) { + return this.allExportNames; + } + this.allExportNames = new Set([...this.exports.keys(), ...this.reexportDescriptions.keys()]); + for (const module of this.exportAllModules) { + if (module instanceof ExternalModule) { + this.allExportNames.add(`*${module.id}`); + continue; + } + for (const name of module.getAllExportNames()) { + if (name !== 'default') + this.allExportNames.add(name); + } + } + // We do not count the synthetic namespace as a regular export to hide it + // from entry signatures and namespace objects + if (typeof this.info.syntheticNamedExports === 'string') { + this.allExportNames.delete(this.info.syntheticNamedExports); + } + return this.allExportNames; + } + getDependenciesToBeIncluded() { + if (this.relevantDependencies) + return this.relevantDependencies; + this.relevantDependencies = new Set(); + const necessaryDependencies = new Set(); + const alwaysCheckedDependencies = new Set(); + const dependencyVariables = new Set(this.includedImports); + if (this.info.isEntry || + this.includedDynamicImporters.length > 0 || + this.namespace.included || + this.implicitlyLoadedAfter.size > 0) { + for (const exportName of [...this.getReexports(), ...this.getExports()]) { + const [exportedVariable] = this.getVariableForExportName(exportName); + if (exportedVariable?.included) { + dependencyVariables.add(exportedVariable); + } + } + } + for (let variable of dependencyVariables) { + const sideEffectDependencies = this.sideEffectDependenciesByVariable.get(variable); + if (sideEffectDependencies) { + for (const module of sideEffectDependencies) { + alwaysCheckedDependencies.add(module); + } + } + if (variable instanceof SyntheticNamedExportVariable) { + variable = variable.getBaseVariable(); + } + else if (variable instanceof ExportDefaultVariable) { + variable = variable.getOriginalVariable(); + } + necessaryDependencies.add(variable.module); + } + if (!this.options.treeshake || this.info.moduleSideEffects === 'no-treeshake') { + for (const dependency of this.dependencies) { + this.relevantDependencies.add(dependency); + } + } + else { + this.addRelevantSideEffectDependencies(this.relevantDependencies, necessaryDependencies, alwaysCheckedDependencies); + } + for (const dependency of necessaryDependencies) { + this.relevantDependencies.add(dependency); + } + return this.relevantDependencies; + } + getExportNamesByVariable() { + if (this.exportNamesByVariable) { + return this.exportNamesByVariable; + } + const exportNamesByVariable = new Map(); + for (const exportName of this.getAllExportNames()) { + let [tracedVariable] = this.getVariableForExportName(exportName); + if (tracedVariable instanceof ExportDefaultVariable) { + tracedVariable = tracedVariable.getOriginalVariable(); + } + if (!tracedVariable || + !(tracedVariable.included || tracedVariable instanceof ExternalVariable)) { + continue; + } + const existingExportNames = exportNamesByVariable.get(tracedVariable); + if (existingExportNames) { + existingExportNames.push(exportName); + } + else { + exportNamesByVariable.set(tracedVariable, [exportName]); + } + } + return (this.exportNamesByVariable = exportNamesByVariable); + } + getExports() { + return [...this.exports.keys()]; + } + getReexports() { + if (this.transitiveReexports) { + return this.transitiveReexports; + } + // to avoid infinite recursion when using circular `export * from X` + this.transitiveReexports = []; + const reexports = new Set(this.reexportDescriptions.keys()); + for (const module of this.exportAllModules) { + if (module instanceof ExternalModule) { + reexports.add(`*${module.id}`); + } + else { + for (const name of [...module.getReexports(), ...module.getExports()]) { + if (name !== 'default') + reexports.add(name); + } + } + } + return (this.transitiveReexports = [...reexports]); + } + getRenderedExports() { + // only direct exports are counted here, not reexports at all + const renderedExports = []; + const removedExports = []; + for (const exportName of this.exports.keys()) { + const [variable] = this.getVariableForExportName(exportName); + (variable?.included ? renderedExports : removedExports).push(exportName); + } + return { removedExports, renderedExports }; + } + getSyntheticNamespace() { + if (this.syntheticNamespace === null) { + this.syntheticNamespace = undefined; + [this.syntheticNamespace] = this.getVariableForExportName(typeof this.info.syntheticNamedExports === 'string' + ? this.info.syntheticNamedExports + : 'default', { onlyExplicit: true }); + } + if (!this.syntheticNamespace) { + return error(logSyntheticNamedExportsNeedNamespaceExport(this.id, this.info.syntheticNamedExports)); + } + return this.syntheticNamespace; + } + getVariableForExportName(name, { importerForSideEffects, isExportAllSearch, onlyExplicit, searchedNamesAndModules } = EMPTY_OBJECT) { + if (name[0] === '*') { + if (name.length === 1) { + // export * from './other' + return [this.namespace]; + } + // export * from 'external' + const module = this.graph.modulesById.get(name.slice(1)); + return module.getVariableForExportName('*'); + } + // export { foo } from './other' + const reexportDeclaration = this.reexportDescriptions.get(name); + if (reexportDeclaration) { + const [variable] = getVariableForExportNameRecursive(reexportDeclaration.module, reexportDeclaration.localName, importerForSideEffects, false, searchedNamesAndModules); + if (!variable) { + return this.error(logMissingExport(reexportDeclaration.localName, this.id, reexportDeclaration.module.id), reexportDeclaration.start); + } + if (importerForSideEffects) { + setAlternativeExporterIfCyclic(variable, importerForSideEffects, this); + if (this.info.moduleSideEffects) { + getOrCreate(importerForSideEffects.sideEffectDependenciesByVariable, variable, (getNewSet)).add(this); + } + } + return [variable]; + } + const exportDeclaration = this.exports.get(name); + if (exportDeclaration) { + if (exportDeclaration === MISSING_EXPORT_SHIM_DESCRIPTION) { + return [this.exportShimVariable]; + } + const name = exportDeclaration.localName; + const variable = this.traceVariable(name, { + importerForSideEffects, + searchedNamesAndModules + }); + if (importerForSideEffects) { + setAlternativeExporterIfCyclic(variable, importerForSideEffects, this); + getOrCreate(importerForSideEffects.sideEffectDependenciesByVariable, variable, (getNewSet)).add(this); + } + return [variable]; + } + if (onlyExplicit) { + return [null]; + } + if (name !== 'default') { + const foundNamespaceReexport = this.namespaceReexportsByName.get(name) ?? + this.getVariableFromNamespaceReexports(name, importerForSideEffects, searchedNamesAndModules); + this.namespaceReexportsByName.set(name, foundNamespaceReexport); + if (foundNamespaceReexport[0]) { + return foundNamespaceReexport; + } + } + if (this.info.syntheticNamedExports) { + return [ + getOrCreate(this.syntheticExports, name, () => new SyntheticNamedExportVariable(this.astContext, name, this.getSyntheticNamespace())) + ]; + } + // we don't want to create shims when we are just + // probing export * modules for exports + if (!isExportAllSearch && this.options.shimMissingExports) { + this.shimMissingExport(name); + return [this.exportShimVariable]; + } + return [null]; + } + hasEffects() { + return this.info.moduleSideEffects === 'no-treeshake' || this.ast.hasCachedEffects(); + } + include() { + const context = createInclusionContext(); + if (this.ast.shouldBeIncluded(context)) + this.ast.include(context, false); + } + includeAllExports(includeNamespaceMembers) { + if (!this.isExecuted) { + markModuleAndImpureDependenciesAsExecuted(this); + this.graph.needsTreeshakingPass = true; + } + for (const exportName of this.exports.keys()) { + if (includeNamespaceMembers || exportName !== this.info.syntheticNamedExports) { + const variable = this.getVariableForExportName(exportName)[0]; + if (!variable) { + return error(logMissingEntryExport(exportName, this.id)); + } + variable.deoptimizePath(UNKNOWN_PATH); + if (!variable.included) { + this.includeVariable(variable); + } + } + } + for (const name of this.getReexports()) { + const [variable] = this.getVariableForExportName(name); + if (variable) { + variable.deoptimizePath(UNKNOWN_PATH); + if (!variable.included) { + this.includeVariable(variable); + } + if (variable instanceof ExternalVariable) { + variable.module.reexported = true; + } + } + } + if (includeNamespaceMembers) { + this.namespace.setMergedNamespaces(this.includeAndGetAdditionalMergedNamespaces()); + } + } + includeAllInBundle() { + this.ast.include(createInclusionContext(), true); + this.includeAllExports(false); + } + includeExportsByNames(names) { + if (!this.isExecuted) { + markModuleAndImpureDependenciesAsExecuted(this); + this.graph.needsTreeshakingPass = true; + } + let includeNamespaceMembers = false; + for (const name of names) { + const variable = this.getVariableForExportName(name)[0]; + if (variable) { + variable.deoptimizePath(UNKNOWN_PATH); + if (!variable.included) { + this.includeVariable(variable); + } + } + if (!this.exports.has(name) && !this.reexportDescriptions.has(name)) { + includeNamespaceMembers = true; + } + } + if (includeNamespaceMembers) { + this.namespace.setMergedNamespaces(this.includeAndGetAdditionalMergedNamespaces()); + } + } + isIncluded() { + // Modules where this.ast is missing have been loaded via this.load and are + // not yet fully processed, hence they cannot be included. + return (this.ast && + (this.ast.included || + this.namespace.included || + this.importedFromNotTreeshaken || + this.exportShimVariable.included)); + } + linkImports() { + this.addModulesToImportDescriptions(this.importDescriptions); + this.addModulesToImportDescriptions(this.reexportDescriptions); + const externalExportAllModules = []; + for (const source of this.exportAllSources) { + const module = this.graph.modulesById.get(this.resolvedIds[source].id); + if (module instanceof ExternalModule) { + externalExportAllModules.push(module); + continue; + } + this.exportAllModules.push(module); + } + this.exportAllModules.push(...externalExportAllModules); + } + log(level, properties, pos) { + this.addLocationToLogProps(properties, pos); + this.options.onLog(level, properties); + } + render(options) { + const source = this.magicString.clone(); + this.ast.render(source, options); + source.trim(); + const { usesTopLevelAwait } = this.astContext; + if (usesTopLevelAwait && options.format !== 'es' && options.format !== 'system') { + return error(logInvalidFormatForTopLevelAwait(this.id, options.format)); + } + return { source, usesTopLevelAwait }; + } + async setSource({ ast, code, customTransformCache, originalCode, originalSourcemap, resolvedIds, sourcemapChain, transformDependencies, transformFiles, ...moduleOptions }) { + if (code.startsWith('#!')) { + const shebangEndPosition = code.indexOf('\n'); + this.shebang = code.slice(2, shebangEndPosition); + } + timeStart('generate ast', 3); + this.info.code = code; + this.originalCode = originalCode; + // We need to call decodedSourcemap on the input in case they were hydrated from json in the cache and don't + // have the lazy evaluation cache configured. Right now this isn't enforced by the type system because the + // RollupCache stores `ExistingDecodedSourcemap` instead of `ExistingRawSourcemap` + this.originalSourcemap = decodedSourcemap(originalSourcemap); + this.sourcemapChain = sourcemapChain.map(mapOrMissing => mapOrMissing.missing ? mapOrMissing : decodedSourcemap(mapOrMissing)); + // If coming from cache and this value is already fully decoded, we want to re-encode here to save memory. + resetSourcemapCache(this.originalSourcemap, this.sourcemapChain); + if (transformFiles) { + this.transformFiles = transformFiles; + } + this.transformDependencies = transformDependencies; + this.customTransformCache = customTransformCache; + this.updateOptions(moduleOptions); + const moduleAst = ast ?? (await this.tryParseAsync()); + timeEnd('generate ast', 3); + timeStart('analyze ast', 3); + this.resolvedIds = resolvedIds ?? Object.create(null); + // By default, `id` is the file name. Custom resolvers and loaders + // can change that, but it makes sense to use it for the source file name + const fileName = this.id; + this.magicString = new MagicString(code, { + filename: (this.excludeFromSourcemap ? null : fileName), // don't include plugin helpers in sourcemap + indentExclusionRanges: [] + }); + this.astContext = { + addDynamicImport: this.addDynamicImport.bind(this), + addExport: this.addExport.bind(this), + addImport: this.addImport.bind(this), + addImportMeta: this.addImportMeta.bind(this), + code, // Only needed for debugging + deoptimizationTracker: this.graph.deoptimizationTracker, + error: this.error.bind(this), + fileName, // Needed for warnings + getExports: this.getExports.bind(this), + getModuleExecIndex: () => this.execIndex, + getModuleName: this.basename.bind(this), + getNodeConstructor: (name) => nodeConstructors[name] || nodeConstructors.UnknownNode, + getReexports: this.getReexports.bind(this), + importDescriptions: this.importDescriptions, + includeAllExports: () => this.includeAllExports(true), + includeDynamicImport: this.includeDynamicImport.bind(this), + includeVariableInModule: this.includeVariableInModule.bind(this), + log: this.log.bind(this), + magicString: this.magicString, + manualPureFunctions: this.graph.pureFunctions, + module: this, + moduleContext: this.context, + options: this.options, + requestTreeshakingPass: () => (this.graph.needsTreeshakingPass = true), + traceExport: (name) => this.getVariableForExportName(name)[0], + traceVariable: this.traceVariable.bind(this), + usesTopLevelAwait: false + }; + this.scope = new ModuleScope(this.graph.scope, this.astContext); + this.namespace = new NamespaceVariable(this.astContext); + this.ast = new Program(moduleAst, { context: this.astContext, type: 'Module' }, this.scope); + // Assign AST directly if has existing one as there's no way to drop it from memory. + // If cache is enabled, also assign directly as otherwise it takes more CPU and memory to re-compute. + if (ast || this.options.cache !== false) { + this.info.ast = moduleAst; + } + else { + // Make lazy and apply LRU cache to not hog the memory + Object.defineProperty(this.info, 'ast', { + get: () => { + if (this.graph.astLru.has(fileName)) { + return this.graph.astLru.get(fileName); + } + else { + const parsedAst = this.tryParse(); + this.graph.astLru.set(fileName, parsedAst); + return parsedAst; + } + } + }); + } + timeEnd('analyze ast', 3); + } + toJSON() { + return { + ast: this.info.ast, + attributes: this.info.attributes, + code: this.info.code, + customTransformCache: this.customTransformCache, + // eslint-disable-next-line unicorn/prefer-spread + dependencies: Array.from(this.dependencies, getId), + id: this.id, + meta: this.info.meta, + moduleSideEffects: this.info.moduleSideEffects, + originalCode: this.originalCode, + originalSourcemap: this.originalSourcemap, + resolvedIds: this.resolvedIds, + sourcemapChain: this.sourcemapChain, + syntheticNamedExports: this.info.syntheticNamedExports, + transformDependencies: this.transformDependencies, + transformFiles: this.transformFiles + }; + } + traceVariable(name, { importerForSideEffects, isExportAllSearch, searchedNamesAndModules } = EMPTY_OBJECT) { + const localVariable = this.scope.variables.get(name); + if (localVariable) { + return localVariable; + } + const importDescription = this.importDescriptions.get(name); + if (importDescription) { + const otherModule = importDescription.module; + if (otherModule instanceof Module && importDescription.name === '*') { + return otherModule.namespace; + } + const [declaration] = getVariableForExportNameRecursive(otherModule, importDescription.name, importerForSideEffects || this, isExportAllSearch, searchedNamesAndModules); + if (!declaration) { + return this.error(logMissingExport(importDescription.name, this.id, otherModule.id), importDescription.start); + } + return declaration; + } + return null; + } + updateOptions({ meta, moduleSideEffects, syntheticNamedExports }) { + if (moduleSideEffects != null) { + this.info.moduleSideEffects = moduleSideEffects; + } + if (syntheticNamedExports != null) { + this.info.syntheticNamedExports = syntheticNamedExports; + } + if (meta != null) { + Object.assign(this.info.meta, meta); + } + } + addDynamicImport(node) { + let argument = node.source; + if (argument instanceof TemplateLiteral) { + if (argument.quasis.length === 1 && argument.quasis[0].value.cooked) { + argument = argument.quasis[0].value.cooked; + } + } + else if (argument instanceof Literal && typeof argument.value === 'string') { + argument = argument.value; + } + this.dynamicImports.push({ argument, id: null, node, resolution: null }); + } + assertUniqueExportName(name, nodeStart) { + if (this.exports.has(name) || this.reexportDescriptions.has(name)) { + this.error(logDuplicateExportError(name), nodeStart); + } + } + addExport(node) { + if (node instanceof ExportDefaultDeclaration) { + // export default foo; + this.assertUniqueExportName('default', node.start); + this.exports.set('default', { + identifier: node.variable.getAssignedVariableName(), + localName: 'default' + }); + } + else if (node instanceof ExportAllDeclaration) { + const source = node.source.value; + this.addSource(source, node); + if (node.exported) { + // export * as name from './other' + const name = node.exported instanceof Literal ? node.exported.value : node.exported.name; + this.assertUniqueExportName(name, node.exported.start); + this.reexportDescriptions.set(name, { + localName: '*', + module: null, // filled in later, + source, + start: node.start + }); + } + else { + // export * from './other' + this.exportAllSources.add(source); + } + } + else if (node.source instanceof Literal) { + // export { name } from './other' + const source = node.source.value; + this.addSource(source, node); + for (const { exported, local, start } of node.specifiers) { + const name = exported instanceof Literal ? exported.value : exported.name; + this.assertUniqueExportName(name, start); + this.reexportDescriptions.set(name, { + localName: local instanceof Literal ? local.value : local.name, + module: null, // filled in later, + source, + start + }); + } + } + else if (node.declaration) { + const declaration = node.declaration; + if (declaration instanceof VariableDeclaration) { + // export var { foo, bar } = ... + // export var foo = 1, bar = 2; + for (const declarator of declaration.declarations) { + for (const localName of extractAssignedNames(declarator.id)) { + this.assertUniqueExportName(localName, declarator.id.start); + this.exports.set(localName, { identifier: null, localName }); + } + } + } + else { + // export function foo () {} + const localName = declaration.id.name; + this.assertUniqueExportName(localName, declaration.id.start); + this.exports.set(localName, { identifier: null, localName }); + } + } + else { + // export { foo, bar, baz } + for (const { local, exported } of node.specifiers) { + // except for reexports, local must be an Identifier + const localName = local.name; + const exportedName = exported instanceof Identifier ? exported.name : exported.value; + this.assertUniqueExportName(exportedName, exported.start); + this.exports.set(exportedName, { identifier: null, localName }); + } + } + } + addImport(node) { + const source = node.source.value; + this.addSource(source, node); + for (const specifier of node.specifiers) { + const localName = specifier.local.name; + if (this.scope.variables.has(localName) || this.importDescriptions.has(localName)) { + this.error(logRedeclarationError(localName), specifier.local.start); + } + const name = specifier instanceof ImportDefaultSpecifier + ? 'default' + : specifier instanceof ImportNamespaceSpecifier + ? '*' + : specifier.imported instanceof Identifier + ? specifier.imported.name + : specifier.imported.value; + this.importDescriptions.set(localName, { + module: null, // filled in later + name, + source, + start: specifier.start + }); + } + } + addImportMeta(node) { + this.importMetas.push(node); + } + addLocationToLogProps(properties, pos) { + properties.id = this.id; + properties.pos = pos; + let code = this.info.code; + const location = locate(code, pos, { offsetLine: 1 }); + if (location) { + let { column, line } = location; + try { + ({ column, line } = getOriginalLocation(this.sourcemapChain, { column, line })); + code = this.originalCode; + } + catch (error_) { + this.options.onLog(LOGLEVEL_WARN, logInvalidSourcemapForError(error_, this.id, column, line, pos)); + } + augmentCodeLocation(properties, { column, line }, code, this.id); + } + } + addModulesToImportDescriptions(importDescription) { + for (const specifier of importDescription.values()) { + const { id } = this.resolvedIds[specifier.source]; + specifier.module = this.graph.modulesById.get(id); + } + } + addRelevantSideEffectDependencies(relevantDependencies, necessaryDependencies, alwaysCheckedDependencies) { + const handledDependencies = new Set(); + const addSideEffectDependencies = (possibleDependencies) => { + for (const dependency of possibleDependencies) { + if (handledDependencies.has(dependency)) { + continue; + } + handledDependencies.add(dependency); + if (necessaryDependencies.has(dependency)) { + relevantDependencies.add(dependency); + continue; + } + if (!(dependency.info.moduleSideEffects || alwaysCheckedDependencies.has(dependency))) { + continue; + } + if (dependency instanceof ExternalModule || dependency.hasEffects()) { + relevantDependencies.add(dependency); + continue; + } + addSideEffectDependencies(dependency.dependencies); + } + }; + addSideEffectDependencies(this.dependencies); + addSideEffectDependencies(alwaysCheckedDependencies); + } + addSource(source, declaration) { + const parsedAttributes = getAttributesFromImportExportDeclaration(declaration.attributes); + const existingAttributes = this.sourcesWithAttributes.get(source); + if (existingAttributes) { + if (doAttributesDiffer(existingAttributes, parsedAttributes)) { + this.log(LOGLEVEL_WARN, logInconsistentImportAttributes(existingAttributes, parsedAttributes, source, this.id), declaration.start); + } + } + else { + this.sourcesWithAttributes.set(source, parsedAttributes); + } + } + getVariableFromNamespaceReexports(name, importerForSideEffects, searchedNamesAndModules) { + let foundSyntheticDeclaration = null; + const foundInternalDeclarations = new Map(); + const foundExternalDeclarations = new Set(); + for (const module of this.exportAllModules) { + // Synthetic namespaces should not hide "regular" exports of the same name + if (module.info.syntheticNamedExports === name) { + continue; + } + const [variable, indirectExternal] = getVariableForExportNameRecursive(module, name, importerForSideEffects, true, + // We are creating a copy to handle the case where the same binding is + // imported through different namespace reexports gracefully + copyNameToModulesMap(searchedNamesAndModules)); + if (module instanceof ExternalModule || indirectExternal) { + foundExternalDeclarations.add(variable); + } + else if (variable instanceof SyntheticNamedExportVariable) { + if (!foundSyntheticDeclaration) { + foundSyntheticDeclaration = variable; + } + } + else if (variable) { + foundInternalDeclarations.set(variable, module); + } + } + if (foundInternalDeclarations.size > 0) { + const foundDeclarationList = [...foundInternalDeclarations]; + const usedDeclaration = foundDeclarationList[0][0]; + if (foundDeclarationList.length === 1) { + return [usedDeclaration]; + } + this.options.onLog(LOGLEVEL_WARN, logNamespaceConflict(name, this.id, foundDeclarationList.map(([, module]) => module.id))); + // TODO we are pretending it was not found while it should behave like "undefined" + return [null]; + } + if (foundExternalDeclarations.size > 0) { + const foundDeclarationList = [...foundExternalDeclarations]; + const usedDeclaration = foundDeclarationList[0]; + if (foundDeclarationList.length > 1) { + this.options.onLog(LOGLEVEL_WARN, logAmbiguousExternalNamespaces(name, this.id, usedDeclaration.module.id, foundDeclarationList.map(declaration => declaration.module.id))); + } + return [usedDeclaration, true]; + } + if (foundSyntheticDeclaration) { + return [foundSyntheticDeclaration]; + } + return [null]; + } + includeAndGetAdditionalMergedNamespaces() { + const externalNamespaces = new Set(); + const syntheticNamespaces = new Set(); + for (const module of [this, ...this.exportAllModules]) { + if (module instanceof ExternalModule) { + const [externalVariable] = module.getVariableForExportName('*'); + externalVariable.include(); + this.includedImports.add(externalVariable); + externalNamespaces.add(externalVariable); + } + else if (module.info.syntheticNamedExports) { + const syntheticNamespace = module.getSyntheticNamespace(); + syntheticNamespace.include(); + this.includedImports.add(syntheticNamespace); + syntheticNamespaces.add(syntheticNamespace); + } + } + return [...syntheticNamespaces, ...externalNamespaces]; + } + includeDynamicImport(node) { + const resolution = this.dynamicImports.find(dynamicImport => dynamicImport.node === node).resolution; + if (resolution instanceof Module) { + resolution.includedDynamicImporters.push(this); + const importedNames = this.options.treeshake + ? node.getDeterministicImportedNames() + : undefined; + if (importedNames) { + resolution.includeExportsByNames(importedNames); + } + else { + resolution.includeAllExports(true); + } + } + } + includeVariable(variable) { + const variableModule = variable.module; + if (variable.included) { + if (variableModule instanceof Module && variableModule !== this) { + getAndExtendSideEffectModules(variable, this); + } + } + else { + variable.include(); + this.graph.needsTreeshakingPass = true; + if (variableModule instanceof Module) { + if (!variableModule.isExecuted) { + markModuleAndImpureDependenciesAsExecuted(variableModule); + } + if (variableModule !== this) { + const sideEffectModules = getAndExtendSideEffectModules(variable, this); + for (const module of sideEffectModules) { + if (!module.isExecuted) { + markModuleAndImpureDependenciesAsExecuted(module); + } + } + } + } + } + } + includeVariableInModule(variable) { + this.includeVariable(variable); + const variableModule = variable.module; + if (variableModule && variableModule !== this) { + this.includedImports.add(variable); + } + } + shimMissingExport(name) { + this.options.onLog(LOGLEVEL_WARN, logShimmedExport(this.id, name)); + this.exports.set(name, MISSING_EXPORT_SHIM_DESCRIPTION); + } + tryParse() { + try { + return parseAst(this.info.code); + } + catch (error_) { + return this.error(logModuleParseError(error_, this.id), error_.pos); + } + } + async tryParseAsync() { + try { + return await parseAstAsync(this.info.code); + } + catch (error_) { + return this.error(logModuleParseError(error_, this.id), error_.pos); + } + } +} +// if there is a cyclic import in the reexport chain, we should not +// import from the original module but from the cyclic module to not +// mess up execution order. +function setAlternativeExporterIfCyclic(variable, importer, reexporter) { + if (variable.module instanceof Module && variable.module !== reexporter) { + const exporterCycles = variable.module.cycles; + if (exporterCycles.size > 0) { + const importerCycles = reexporter.cycles; + for (const cycleSymbol of importerCycles) { + if (exporterCycles.has(cycleSymbol)) { + importer.alternativeReexportModules.set(variable, reexporter); + break; + } + } + } + } +} +const copyNameToModulesMap = (searchedNamesAndModules) => searchedNamesAndModules && + // eslint-disable-next-line unicorn/prefer-spread + new Map(Array.from(searchedNamesAndModules, ([name, modules]) => [name, new Set(modules)])); + +function removeJsExtension(name) { + return name.endsWith('.js') ? name.slice(0, -3) : name; +} + +function getCompleteAmdId(options, chunkId) { + if (options.autoId) { + return `${options.basePath ? options.basePath + '/' : ''}${removeJsExtension(chunkId)}`; + } + return options.id ?? ''; +} + +function getExportBlock$1(exports, dependencies, namedExportsMode, interop, snippets, t, externalLiveBindings, reexportProtoFromExternal, mechanism = 'return ') { + const { _, getDirectReturnFunction, getFunctionIntro, getPropertyAccess, n, s } = snippets; + if (!namedExportsMode) { + return `${n}${n}${mechanism}${getSingleDefaultExport(exports, dependencies, interop, externalLiveBindings, getPropertyAccess)};`; + } + let exportBlock = ''; + for (const { defaultVariableName, importPath, isChunk, name, namedExportsMode: depNamedExportsMode, namespaceVariableName, reexports } of dependencies) { + if (reexports && namedExportsMode) { + for (const specifier of reexports) { + if (specifier.reexported !== '*') { + const importName = getReexportedImportName(name, specifier.imported, depNamedExportsMode, isChunk, defaultVariableName, namespaceVariableName, interop, importPath, externalLiveBindings, getPropertyAccess); + if (exportBlock) + exportBlock += n; + if (specifier.imported !== '*' && specifier.needsLiveBinding) { + const [left, right] = getDirectReturnFunction([], { + functionReturn: true, + lineBreakIndent: null, + name: null + }); + exportBlock += + `Object.defineProperty(exports,${_}${JSON.stringify(specifier.reexported)},${_}{${n}` + + `${t}enumerable:${_}true,${n}` + + `${t}get:${_}${left}${importName}${right}${n}});`; + } + else if (specifier.reexported === '__proto__') { + exportBlock += + `Object.defineProperty(exports,${_}"__proto__",${_}{${n}` + + `${t}enumerable:${_}true,${n}` + + `${t}value:${_}${importName}${n}});`; + } + else { + exportBlock += `exports${getPropertyAccess(specifier.reexported)}${_}=${_}${importName};`; + } + } + } + } + } + for (const { exported, local } of exports) { + const lhs = `exports${getPropertyAccess(exported)}`; + const rhs = local; + if (lhs !== rhs) { + if (exportBlock) + exportBlock += n; + exportBlock += + exported === '__proto__' + ? `Object.defineProperty(exports,${_}"__proto__",${_}{${n}` + + `${t}enumerable:${_}true,${n}` + + `${t}value:${_}${rhs}${n}});` + : `${lhs}${_}=${_}${rhs};`; + } + } + for (const { name, reexports } of dependencies) { + if (reexports && namedExportsMode) { + for (const specifier of reexports) { + if (specifier.reexported === '*') { + if (exportBlock) + exportBlock += n; + if (!specifier.needsLiveBinding && reexportProtoFromExternal) { + const protoString = "'__proto__'"; + exportBlock += + `Object.prototype.hasOwnProperty.call(${name},${_}${protoString})${_}&&${n}` + + `${t}!Object.prototype.hasOwnProperty.call(exports,${_}${protoString})${_}&&${n}` + + `${t}Object.defineProperty(exports,${_}${protoString},${_}{${n}` + + `${t}${t}enumerable:${_}true,${n}` + + `${t}${t}value:${_}${name}[${protoString}]${n}` + + `${t}});${n}${n}`; + } + const copyPropertyIfNecessary = `{${n}${t}if${_}(k${_}!==${_}'default'${_}&&${_}!Object.prototype.hasOwnProperty.call(exports,${_}k))${_}${getDefineProperty(name, specifier.needsLiveBinding, t, snippets)}${s}${n}}`; + exportBlock += `Object.keys(${name}).forEach(${getFunctionIntro(['k'], { + isAsync: false, + name: null + })}${copyPropertyIfNecessary});`; + } + } + } + } + if (exportBlock) { + return `${n}${n}${exportBlock}`; + } + return ''; +} +function getSingleDefaultExport(exports, dependencies, interop, externalLiveBindings, getPropertyAccess) { + if (exports.length > 0) { + return exports[0].local; + } + else { + for (const { defaultVariableName, importPath, isChunk, name, namedExportsMode: depNamedExportsMode, namespaceVariableName, reexports } of dependencies) { + if (reexports) { + return getReexportedImportName(name, reexports[0].imported, depNamedExportsMode, isChunk, defaultVariableName, namespaceVariableName, interop, importPath, externalLiveBindings, getPropertyAccess); + } + } + } +} +function getReexportedImportName(moduleVariableName, imported, depNamedExportsMode, isChunk, defaultVariableName, namespaceVariableName, interop, moduleId, externalLiveBindings, getPropertyAccess) { + if (imported === 'default') { + if (!isChunk) { + const moduleInterop = interop(moduleId); + const variableName = defaultInteropHelpersByInteropType[moduleInterop] + ? defaultVariableName + : moduleVariableName; + return isDefaultAProperty(moduleInterop, externalLiveBindings) + ? `${variableName}${getPropertyAccess('default')}` + : variableName; + } + return depNamedExportsMode + ? `${moduleVariableName}${getPropertyAccess('default')}` + : moduleVariableName; + } + if (imported === '*') { + return (isChunk ? !depNamedExportsMode : namespaceInteropHelpersByInteropType[interop(moduleId)]) + ? namespaceVariableName + : moduleVariableName; + } + return `${moduleVariableName}${getPropertyAccess(imported)}`; +} +function getEsModuleValue(getObject) { + return getObject([['value', 'true']], { + lineBreakIndent: null + }); +} +function getNamespaceMarkers(hasNamedExports, addEsModule, addNamespaceToStringTag, { _, getObject }) { + if (hasNamedExports) { + if (addEsModule) { + if (addNamespaceToStringTag) { + return `Object.defineProperties(exports,${_}${getObject([ + ['__esModule', getEsModuleValue(getObject)], + [null, `[Symbol.toStringTag]:${_}${getToStringTagValue(getObject)}`] + ], { + lineBreakIndent: null + })});`; + } + return `Object.defineProperty(exports,${_}'__esModule',${_}${getEsModuleValue(getObject)});`; + } + if (addNamespaceToStringTag) { + return `Object.defineProperty(exports,${_}Symbol.toStringTag,${_}${getToStringTagValue(getObject)});`; + } + } + return ''; +} +const getDefineProperty = (name, needsLiveBinding, t, { _, getDirectReturnFunction, n }) => { + if (needsLiveBinding) { + const [left, right] = getDirectReturnFunction([], { + functionReturn: true, + lineBreakIndent: null, + name: null + }); + return (`Object.defineProperty(exports,${_}k,${_}{${n}` + + `${t}${t}enumerable:${_}true,${n}` + + `${t}${t}get:${_}${left}${name}[k]${right}${n}${t}})`); + } + return `exports[k]${_}=${_}${name}[k]`; +}; + +function getInteropBlock(dependencies, interop, externalLiveBindings, freeze, symbols, accessedGlobals, indent, snippets) { + const { _, cnst, n } = snippets; + const neededInteropHelpers = new Set(); + const interopStatements = []; + const addInteropStatement = (helperVariableName, helper, dependencyVariableName) => { + neededInteropHelpers.add(helper); + interopStatements.push(`${cnst} ${helperVariableName}${_}=${_}/*#__PURE__*/${helper}(${dependencyVariableName});`); + }; + for (const { defaultVariableName, imports, importPath, isChunk, name, namedExportsMode, namespaceVariableName, reexports } of dependencies) { + if (isChunk) { + for (const { imported, reexported } of [ + ...(imports || []), + ...(reexports || []) + ]) { + if (imported === '*' && reexported !== '*') { + if (!namedExportsMode) { + addInteropStatement(namespaceVariableName, INTEROP_NAMESPACE_DEFAULT_ONLY_VARIABLE, name); + } + break; + } + } + } + else { + const moduleInterop = interop(importPath); + let hasDefault = false; + let hasNamespace = false; + for (const { imported, reexported } of [ + ...(imports || []), + ...(reexports || []) + ]) { + let helper; + let variableName; + if (imported === 'default') { + if (!hasDefault) { + hasDefault = true; + if (defaultVariableName !== namespaceVariableName) { + variableName = defaultVariableName; + helper = defaultInteropHelpersByInteropType[moduleInterop]; + } + } + } + else if (imported === '*' && reexported !== '*' && !hasNamespace) { + hasNamespace = true; + helper = namespaceInteropHelpersByInteropType[moduleInterop]; + variableName = namespaceVariableName; + } + if (helper) { + addInteropStatement(variableName, helper, name); + } + } + } + } + return `${getHelpersBlock(neededInteropHelpers, accessedGlobals, indent, snippets, externalLiveBindings, freeze, symbols)}${interopStatements.length > 0 ? `${interopStatements.join(n)}${n}${n}` : ''}`; +} + +function addJsExtension(name) { + return name.endsWith('.js') ? name : name + '.js'; +} + +// AMD resolution will only respect the AMD baseUrl if the .js extension is omitted. +// The assumption is that this makes sense for all relative ids: +// https://requirejs.org/docs/api.html#jsfiles +function updateExtensionForRelativeAmdId(id, forceJsExtensionForImports) { + if (id[0] !== '.') { + return id; + } + return forceJsExtensionForImports ? addJsExtension(id) : removeJsExtension(id); +} + +const require$$0 = [ + "assert", + "async_hooks", + "buffer", + "child_process", + "cluster", + "console", + "constants", + "crypto", + "dgram", + "diagnostics_channel", + "dns", + "domain", + "events", + "fs", + "http", + "http2", + "https", + "inspector", + "module", + "net", + "os", + "path", + "perf_hooks", + "process", + "punycode", + "querystring", + "readline", + "repl", + "stream", + "string_decoder", + "timers", + "tls", + "trace_events", + "tty", + "url", + "util", + "v8", + "vm", + "wasi", + "worker_threads", + "zlib" +]; + +var _static = require$$0; + +const builtinModules = /*@__PURE__*/getDefaultExportFromCjs(_static); + +const nodeBuiltins = new Set([ + ...builtinModules, + // TODO + // remove once builtin-modules includes PR: https://github.com/sindresorhus/builtin-modules/pull/17 + 'assert/strict', + 'dns/promises', + 'fs/promises', + 'path/posix', + 'path/win32', + 'readline/promises', + 'stream/consumers', + 'stream/promises', + 'stream/web', + 'timers/promises', + 'util/types' +]); +function warnOnBuiltins(log, dependencies) { + const externalBuiltins = dependencies + .map(({ importPath }) => importPath) + .filter(importPath => nodeBuiltins.has(importPath) || importPath.startsWith('node:')); + if (externalBuiltins.length === 0) + return; + log(LOGLEVEL_WARN, logMissingNodeBuiltins(externalBuiltins)); +} + +function amd(magicString, { accessedGlobals, dependencies, exports, hasDefaultExport, hasExports, id, indent: t, intro, isEntryFacade, isModuleFacade, namedExportsMode, log, outro, snippets }, { amd, esModule, externalLiveBindings, freeze, generatedCode: { symbols }, interop, reexportProtoFromExternal, strict }) { + warnOnBuiltins(log, dependencies); + const deps = dependencies.map(m => `'${updateExtensionForRelativeAmdId(m.importPath, amd.forceJsExtensionForImports)}'`); + const parameters = dependencies.map(m => m.name); + const { n, getNonArrowFunctionIntro, _ } = snippets; + if (namedExportsMode && hasExports) { + parameters.unshift(`exports`); + deps.unshift(`'exports'`); + } + if (accessedGlobals.has('require')) { + parameters.unshift('require'); + deps.unshift(`'require'`); + } + if (accessedGlobals.has('module')) { + parameters.unshift('module'); + deps.unshift(`'module'`); + } + const completeAmdId = getCompleteAmdId(amd, id); + const defineParameters = (completeAmdId ? `'${completeAmdId}',${_}` : ``) + + (deps.length > 0 ? `[${deps.join(`,${_}`)}],${_}` : ``); + const useStrict = strict ? `${_}'use strict';` : ''; + magicString.prepend(`${intro}${getInteropBlock(dependencies, interop, externalLiveBindings, freeze, symbols, accessedGlobals, t, snippets)}`); + const exportBlock = getExportBlock$1(exports, dependencies, namedExportsMode, interop, snippets, t, externalLiveBindings, reexportProtoFromExternal); + let namespaceMarkers = getNamespaceMarkers(namedExportsMode && hasExports, isEntryFacade && (esModule === true || (esModule === 'if-default-prop' && hasDefaultExport)), isModuleFacade && symbols, snippets); + if (namespaceMarkers) { + namespaceMarkers = n + n + namespaceMarkers; + } + magicString + .append(`${exportBlock}${namespaceMarkers}${outro}`) + .indent(t) + // factory function should be wrapped by parentheses to avoid lazy parsing, + // cf. https://v8.dev/blog/preparser#pife + .prepend(`${amd.define}(${defineParameters}(${getNonArrowFunctionIntro(parameters, { + isAsync: false, + name: null + })}{${useStrict}${n}${n}`) + .append(`${n}${n}}));`); +} + +function cjs(magicString, { accessedGlobals, dependencies, exports, hasDefaultExport, hasExports, indent: t, intro, isEntryFacade, isModuleFacade, namedExportsMode, outro, snippets }, { compact, esModule, externalLiveBindings, freeze, interop, generatedCode: { symbols }, reexportProtoFromExternal, strict }) { + const { _, n } = snippets; + const useStrict = strict ? `'use strict';${n}${n}` : ''; + let namespaceMarkers = getNamespaceMarkers(namedExportsMode && hasExports, isEntryFacade && (esModule === true || (esModule === 'if-default-prop' && hasDefaultExport)), isModuleFacade && symbols, snippets); + if (namespaceMarkers) { + namespaceMarkers += n + n; + } + const importBlock = getImportBlock$1(dependencies, snippets, compact); + const interopBlock = getInteropBlock(dependencies, interop, externalLiveBindings, freeze, symbols, accessedGlobals, t, snippets); + magicString.prepend(`${useStrict}${intro}${namespaceMarkers}${importBlock}${interopBlock}`); + const exportBlock = getExportBlock$1(exports, dependencies, namedExportsMode, interop, snippets, t, externalLiveBindings, reexportProtoFromExternal, `module.exports${_}=${_}`); + magicString.append(`${exportBlock}${outro}`); +} +function getImportBlock$1(dependencies, { _, cnst, n }, compact) { + let importBlock = ''; + let definingVariable = false; + for (const { importPath, name, reexports, imports } of dependencies) { + if (!reexports && !imports) { + if (importBlock) { + importBlock += compact && !definingVariable ? ',' : `;${n}`; + } + definingVariable = false; + importBlock += `require('${importPath}')`; + } + else { + importBlock += compact && definingVariable ? ',' : `${importBlock ? `;${n}` : ''}${cnst} `; + definingVariable = true; + importBlock += `${name}${_}=${_}require('${importPath}')`; + } + } + if (importBlock) { + return `${importBlock};${n}${n}`; + } + return ''; +} + +function es(magicString, { accessedGlobals, indent: t, intro, outro, dependencies, exports, snippets }, { externalLiveBindings, freeze, generatedCode: { symbols } }) { + const { n } = snippets; + const importBlock = getImportBlock(dependencies, snippets); + if (importBlock.length > 0) + intro += importBlock.join(n) + n + n; + intro += getHelpersBlock(null, accessedGlobals, t, snippets, externalLiveBindings, freeze, symbols); + if (intro) + magicString.prepend(intro); + const exportBlock = getExportBlock(exports, snippets); + if (exportBlock.length > 0) + magicString.append(n + n + exportBlock.join(n).trim()); + if (outro) + magicString.append(outro); + magicString.trim(); +} +function getImportBlock(dependencies, { _ }) { + const importBlock = []; + for (const { importPath, reexports, imports, name, attributes } of dependencies) { + const assertion = attributes ? `${_}assert${_}${attributes}` : ''; + const pathWithAssertion = `'${importPath}'${assertion};`; + if (!reexports && !imports) { + importBlock.push(`import${_}${pathWithAssertion}`); + continue; + } + if (imports) { + let defaultImport = null; + let starImport = null; + const importedNames = []; + for (const specifier of imports) { + if (specifier.imported === 'default') { + defaultImport = specifier; + } + else if (specifier.imported === '*') { + starImport = specifier; + } + else { + importedNames.push(specifier); + } + } + if (starImport) { + importBlock.push(`import${_}*${_}as ${starImport.local} from${_}${pathWithAssertion}`); + } + if (defaultImport && importedNames.length === 0) { + importBlock.push(`import ${defaultImport.local} from${_}${pathWithAssertion}`); + } + else if (importedNames.length > 0) { + importBlock.push(`import ${defaultImport ? `${defaultImport.local},${_}` : ''}{${_}${importedNames + .map(specifier => specifier.imported === specifier.local + ? specifier.imported + : `${stringifyIdentifierIfNeeded(specifier.imported)} as ${specifier.local}`) + .join(`,${_}`)}${_}}${_}from${_}${pathWithAssertion}`); + } + } + if (reexports) { + let starExport = null; + const namespaceReexports = []; + const namedReexports = []; + for (const specifier of reexports) { + if (specifier.reexported === '*') { + starExport = specifier; + } + else if (specifier.imported === '*') { + namespaceReexports.push(specifier); + } + else { + namedReexports.push(specifier); + } + } + if (starExport) { + importBlock.push(`export${_}*${_}from${_}${pathWithAssertion}`); + } + if (namespaceReexports.length > 0) { + if (!imports || + !imports.some(specifier => specifier.imported === '*' && specifier.local === name)) { + importBlock.push(`import${_}*${_}as ${name} from${_}${pathWithAssertion}`); + } + for (const specifier of namespaceReexports) { + importBlock.push(`export${_}{${_}${name === specifier.reexported + ? name + : `${name} as ${stringifyIdentifierIfNeeded(specifier.reexported)}`} };`); + } + } + if (namedReexports.length > 0) { + importBlock.push(`export${_}{${_}${namedReexports + .map(specifier => specifier.imported === specifier.reexported + ? stringifyIdentifierIfNeeded(specifier.imported) + : `${stringifyIdentifierIfNeeded(specifier.imported)} as ${stringifyIdentifierIfNeeded(specifier.reexported)}`) + .join(`,${_}`)}${_}}${_}from${_}${pathWithAssertion}`); + } + } + } + return importBlock; +} +function getExportBlock(exports, { _, cnst }) { + const exportBlock = []; + const exportDeclaration = []; + for (const specifier of exports) { + if (specifier.expression) { + exportBlock.push(`${cnst} ${specifier.local}${_}=${_}${specifier.expression};`); + } + exportDeclaration.push(specifier.exported === specifier.local + ? specifier.local + : `${specifier.local} as ${stringifyIdentifierIfNeeded(specifier.exported)}`); + } + if (exportDeclaration.length > 0) { + exportBlock.push(`export${_}{${_}${exportDeclaration.join(`,${_}`)}${_}};`); + } + return exportBlock; +} + +const keypath = (keypath, getPropertyAccess) => keypath.split('.').map(getPropertyAccess).join(''); + +function setupNamespace(name, root, globals, { _, getPropertyAccess, s }, compact) { + const parts = name.split('.'); + parts[0] = (typeof globals === 'function' ? globals(parts[0]) : globals[parts[0]]) || parts[0]; + parts.pop(); + let propertyPath = root; + return (parts + .map(part => { + propertyPath += getPropertyAccess(part); + return `${propertyPath}${_}=${_}${propertyPath}${_}||${_}{}${s}`; + }) + .join(compact ? ',' : '\n') + (compact && parts.length > 0 ? ';' : '\n')); +} +function assignToDeepVariable(deepName, root, globals, assignment, { _, getPropertyAccess }) { + const parts = deepName.split('.'); + parts[0] = (typeof globals === 'function' ? globals(parts[0]) : globals[parts[0]]) || parts[0]; + const last = parts.pop(); + let propertyPath = root; + let deepAssignment = [ + ...parts.map(part => { + propertyPath += getPropertyAccess(part); + return `${propertyPath}${_}=${_}${propertyPath}${_}||${_}{}`; + }), + `${propertyPath}${getPropertyAccess(last)}` + ].join(`,${_}`) + `${_}=${_}${assignment}`; + if (parts.length > 0) { + deepAssignment = `(${deepAssignment})`; + } + return deepAssignment; +} + +function trimEmptyImports(dependencies) { + let index = dependencies.length; + while (index--) { + const { imports, reexports } = dependencies[index]; + if (imports || reexports) { + return dependencies.slice(0, index + 1); + } + } + return []; +} + +function iife(magicString, { accessedGlobals, dependencies, exports, hasDefaultExport, hasExports, indent: t, intro, namedExportsMode, log, outro, snippets }, { compact, esModule, extend, freeze, externalLiveBindings, reexportProtoFromExternal, globals, interop, name, generatedCode: { symbols }, strict }) { + const { _, getNonArrowFunctionIntro, getPropertyAccess, n } = snippets; + const isNamespaced = name && name.includes('.'); + const useVariableAssignment = !extend && !isNamespaced; + if (name && useVariableAssignment && !isLegal(name)) { + return error(logIllegalIdentifierAsName(name)); + } + warnOnBuiltins(log, dependencies); + const external = trimEmptyImports(dependencies); + const deps = external.map(dep => dep.globalName || 'null'); + const parameters = external.map(m => m.name); + if (hasExports && !name) { + log(LOGLEVEL_WARN, logMissingNameOptionForIifeExport()); + } + if (namedExportsMode && hasExports) { + if (extend) { + deps.unshift(`this${keypath(name, getPropertyAccess)}${_}=${_}this${keypath(name, getPropertyAccess)}${_}||${_}{}`); + parameters.unshift('exports'); + } + else { + deps.unshift('{}'); + parameters.unshift('exports'); + } + } + const useStrict = strict ? `${t}'use strict';${n}` : ''; + const interopBlock = getInteropBlock(dependencies, interop, externalLiveBindings, freeze, symbols, accessedGlobals, t, snippets); + magicString.prepend(`${intro}${interopBlock}`); + let wrapperIntro = `(${getNonArrowFunctionIntro(parameters, { + isAsync: false, + name: null + })}{${n}${useStrict}${n}`; + if (hasExports) { + if (name && !(extend && namedExportsMode)) { + wrapperIntro = + (useVariableAssignment ? `var ${name}` : `this${keypath(name, getPropertyAccess)}`) + + `${_}=${_}${wrapperIntro}`; + } + if (isNamespaced) { + wrapperIntro = setupNamespace(name, 'this', globals, snippets, compact) + wrapperIntro; + } + } + let wrapperOutro = `${n}${n}})(${deps.join(`,${_}`)});`; + if (hasExports && !extend && namedExportsMode) { + wrapperOutro = `${n}${n}${t}return exports;${wrapperOutro}`; + } + const exportBlock = getExportBlock$1(exports, dependencies, namedExportsMode, interop, snippets, t, externalLiveBindings, reexportProtoFromExternal); + let namespaceMarkers = getNamespaceMarkers(namedExportsMode && hasExports, esModule === true || (esModule === 'if-default-prop' && hasDefaultExport), symbols, snippets); + if (namespaceMarkers) { + namespaceMarkers = n + n + namespaceMarkers; + } + magicString + .append(`${exportBlock}${namespaceMarkers}${outro}`) + .indent(t) + .prepend(wrapperIntro) + .append(wrapperOutro); +} + +function system(magicString, { accessedGlobals, dependencies, exports, hasExports, indent: t, intro, snippets, outro, usesTopLevelAwait }, { externalLiveBindings, freeze, name, generatedCode: { symbols }, strict, systemNullSetters }) { + const { _, getFunctionIntro, getNonArrowFunctionIntro, n, s } = snippets; + const { importBindings, setters, starExcludes } = analyzeDependencies(dependencies, exports, t, snippets); + const registeredName = name ? `'${name}',${_}` : ''; + const wrapperParameters = accessedGlobals.has('module') + ? ['exports', 'module'] + : hasExports + ? ['exports'] + : []; + // factory function should be wrapped by parentheses to avoid lazy parsing, + // cf. https://v8.dev/blog/preparser#pife + let wrapperStart = `System.register(${registeredName}[` + + dependencies.map(({ importPath }) => `'${importPath}'`).join(`,${_}`) + + `],${_}(${getNonArrowFunctionIntro(wrapperParameters, { + isAsync: false, + name: null + })}{${n}${t}${strict ? "'use strict';" : ''}` + + getStarExcludesBlock(starExcludes, t, snippets) + + getImportBindingsBlock(importBindings, t, snippets) + + `${n}${t}return${_}{${setters.length > 0 + ? `${n}${t}${t}setters:${_}[${setters + .map(setter => setter + ? `${getFunctionIntro(['module'], { + isAsync: false, + name: null + })}{${n}${t}${t}${t}${setter}${n}${t}${t}}` + : systemNullSetters + ? `null` + : `${getFunctionIntro([], { isAsync: false, name: null })}{}`) + .join(`,${_}`)}],` + : ''}${n}`; + wrapperStart += `${t}${t}execute:${_}(${getNonArrowFunctionIntro([], { + isAsync: usesTopLevelAwait, + name: null + })}{${n}${n}`; + const wrapperEnd = `${t}${t}})${n}${t}}${s}${n}}));`; + magicString + .prepend(intro + + getHelpersBlock(null, accessedGlobals, t, snippets, externalLiveBindings, freeze, symbols) + + getHoistedExportsBlock(exports, t, snippets)) + .append(`${outro}${n}${n}` + + getSyntheticExportsBlock(exports, t, snippets) + + getMissingExportsBlock(exports, t, snippets)) + .indent(`${t}${t}${t}`) + .append(wrapperEnd) + .prepend(wrapperStart); +} +function analyzeDependencies(dependencies, exports, t, { _, cnst, getObject, getPropertyAccess, n }) { + const importBindings = []; + const setters = []; + let starExcludes = null; + for (const { imports, reexports } of dependencies) { + const setter = []; + if (imports) { + for (const specifier of imports) { + importBindings.push(specifier.local); + if (specifier.imported === '*') { + setter.push(`${specifier.local}${_}=${_}module;`); + } + else { + setter.push(`${specifier.local}${_}=${_}module${getPropertyAccess(specifier.imported)};`); + } + } + } + if (reexports) { + const reexportedNames = []; + let hasStarReexport = false; + for (const { imported, reexported } of reexports) { + if (reexported === '*') { + hasStarReexport = true; + } + else { + reexportedNames.push([ + reexported, + imported === '*' ? 'module' : `module${getPropertyAccess(imported)}` + ]); + } + } + if (reexportedNames.length > 1 || hasStarReexport) { + if (hasStarReexport) { + if (!starExcludes) { + starExcludes = getStarExcludes({ dependencies, exports }); + } + reexportedNames.unshift([null, `__proto__:${_}null`]); + const exportMapping = getObject(reexportedNames, { lineBreakIndent: null }); + setter.push(`${cnst} setter${_}=${_}${exportMapping};`, `for${_}(${cnst} name in module)${_}{`, `${t}if${_}(!_starExcludes[name])${_}setter[name]${_}=${_}module[name];`, '}', 'exports(setter);'); + } + else { + const exportMapping = getObject(reexportedNames, { lineBreakIndent: null }); + setter.push(`exports(${exportMapping});`); + } + } + else { + const [key, value] = reexportedNames[0]; + setter.push(`exports(${JSON.stringify(key)},${_}${value});`); + } + } + setters.push(setter.join(`${n}${t}${t}${t}`)); + } + return { importBindings, setters, starExcludes }; +} +const getStarExcludes = ({ dependencies, exports }) => { + const starExcludes = new Set(exports.map(expt => expt.exported)); + starExcludes.add('default'); + for (const { reexports } of dependencies) { + if (reexports) { + for (const reexport of reexports) { + if (reexport.reexported !== '*') + starExcludes.add(reexport.reexported); + } + } + } + return starExcludes; +}; +const getStarExcludesBlock = (starExcludes, t, { _, cnst, getObject, n }) => { + if (starExcludes) { + const fields = [...starExcludes].map(property => [ + property, + '1' + ]); + fields.unshift([null, `__proto__:${_}null`]); + return `${n}${t}${cnst} _starExcludes${_}=${_}${getObject(fields, { + lineBreakIndent: { base: t, t } + })};`; + } + return ''; +}; +const getImportBindingsBlock = (importBindings, t, { _, n }) => (importBindings.length > 0 ? `${n}${t}var ${importBindings.join(`,${_}`)};` : ''); +const getHoistedExportsBlock = (exports, t, snippets) => getExportsBlock(exports.filter(expt => expt.hoisted).map(expt => ({ name: expt.exported, value: expt.local })), t, snippets); +function getExportsBlock(exports, t, { _, n }) { + if (exports.length === 0) { + return ''; + } + if (exports.length === 1) { + return `exports(${JSON.stringify(exports[0].name)},${_}${exports[0].value});${n}${n}`; + } + return (`exports({${n}` + + exports + .map(({ name, value }) => `${t}${stringifyObjectKeyIfNeeded(name)}:${_}${value}`) + .join(`,${n}`) + + `${n}});${n}${n}`); +} +const getSyntheticExportsBlock = (exports, t, snippets) => getExportsBlock(exports + .filter(expt => expt.expression) + .map(expt => ({ name: expt.exported, value: expt.local })), t, snippets); +const getMissingExportsBlock = (exports, t, snippets) => getExportsBlock(exports + .filter(expt => expt.local === MISSING_EXPORT_SHIM_VARIABLE) + .map(expt => ({ name: expt.exported, value: MISSING_EXPORT_SHIM_VARIABLE })), t, snippets); + +function globalProperty(name, globalVariable, getPropertyAccess) { + if (!name) + return 'null'; + return `${globalVariable}${keypath(name, getPropertyAccess)}`; +} +function safeAccess(name, globalVariable, { _, getPropertyAccess }) { + let propertyPath = globalVariable; + return name + .split('.') + .map(part => (propertyPath += getPropertyAccess(part))) + .join(`${_}&&${_}`); +} +function umd(magicString, { accessedGlobals, dependencies, exports, hasDefaultExport, hasExports, id, indent: t, intro, namedExportsMode, log, outro, snippets }, { amd, compact, esModule, extend, externalLiveBindings, freeze, interop, name, generatedCode: { symbols }, globals, noConflict, reexportProtoFromExternal, strict }) { + const { _, cnst, getFunctionIntro, getNonArrowFunctionIntro, getPropertyAccess, n, s } = snippets; + const factoryVariable = compact ? 'f' : 'factory'; + const globalVariable = compact ? 'g' : 'global'; + if (hasExports && !name) { + return error(logMissingNameOptionForUmdExport()); + } + warnOnBuiltins(log, dependencies); + const amdDeps = dependencies.map(m => `'${updateExtensionForRelativeAmdId(m.importPath, amd.forceJsExtensionForImports)}'`); + const cjsDeps = dependencies.map(m => `require('${m.importPath}')`); + const trimmedImports = trimEmptyImports(dependencies); + const globalDeps = trimmedImports.map(module => globalProperty(module.globalName, globalVariable, getPropertyAccess)); + const factoryParameters = trimmedImports.map(m => m.name); + if (namedExportsMode && (hasExports || noConflict)) { + amdDeps.unshift(`'exports'`); + cjsDeps.unshift(`exports`); + globalDeps.unshift(assignToDeepVariable(name, globalVariable, globals, `${extend ? `${globalProperty(name, globalVariable, getPropertyAccess)}${_}||${_}` : ''}{}`, snippets)); + factoryParameters.unshift('exports'); + } + const completeAmdId = getCompleteAmdId(amd, id); + const amdParameters = (completeAmdId ? `'${completeAmdId}',${_}` : ``) + + (amdDeps.length > 0 ? `[${amdDeps.join(`,${_}`)}],${_}` : ``); + const define = amd.define; + const cjsExport = !namedExportsMode && hasExports ? `module.exports${_}=${_}` : ``; + const useStrict = strict ? `${_}'use strict';${n}` : ``; + let iifeExport; + if (noConflict) { + const noConflictExportsVariable = compact ? 'e' : 'exports'; + let factory; + if (!namedExportsMode && hasExports) { + factory = `${cnst} ${noConflictExportsVariable}${_}=${_}${assignToDeepVariable(name, globalVariable, globals, `${factoryVariable}(${globalDeps.join(`,${_}`)})`, snippets)};`; + } + else { + const module = globalDeps.shift(); + factory = + `${cnst} ${noConflictExportsVariable}${_}=${_}${module};${n}` + + `${t}${t}${factoryVariable}(${[noConflictExportsVariable, ...globalDeps].join(`,${_}`)});`; + } + iifeExport = + `(${getFunctionIntro([], { isAsync: false, name: null })}{${n}` + + `${t}${t}${cnst} current${_}=${_}${safeAccess(name, globalVariable, snippets)};${n}` + + `${t}${t}${factory}${n}` + + `${t}${t}${noConflictExportsVariable}.noConflict${_}=${_}${getFunctionIntro([], { + isAsync: false, + name: null + })}{${_}` + + `${globalProperty(name, globalVariable, getPropertyAccess)}${_}=${_}current;${_}return ${noConflictExportsVariable}${s}${_}};${n}` + + `${t}})()`; + } + else { + iifeExport = `${factoryVariable}(${globalDeps.join(`,${_}`)})`; + if (!namedExportsMode && hasExports) { + iifeExport = assignToDeepVariable(name, globalVariable, globals, iifeExport, snippets); + } + } + const iifeNeedsGlobal = hasExports || (noConflict && namedExportsMode) || globalDeps.length > 0; + const wrapperParameters = [factoryVariable]; + if (iifeNeedsGlobal) { + wrapperParameters.unshift(globalVariable); + } + const globalArgument = iifeNeedsGlobal ? `this,${_}` : ''; + const iifeStart = iifeNeedsGlobal + ? `(${globalVariable}${_}=${_}typeof globalThis${_}!==${_}'undefined'${_}?${_}globalThis${_}:${_}${globalVariable}${_}||${_}self,${_}` + : ''; + const iifeEnd = iifeNeedsGlobal ? ')' : ''; + const cjsIntro = iifeNeedsGlobal + ? `${t}typeof exports${_}===${_}'object'${_}&&${_}typeof module${_}!==${_}'undefined'${_}?` + + `${_}${cjsExport}${factoryVariable}(${cjsDeps.join(`,${_}`)})${_}:${n}` + : ''; + const wrapperIntro = `(${getNonArrowFunctionIntro(wrapperParameters, { isAsync: false, name: null })}{${n}` + + cjsIntro + + `${t}typeof ${define}${_}===${_}'function'${_}&&${_}${define}.amd${_}?${_}${define}(${amdParameters}${factoryVariable})${_}:${n}` + + `${t}${iifeStart}${iifeExport}${iifeEnd};${n}` + + // factory function should be wrapped by parentheses to avoid lazy parsing, + // cf. https://v8.dev/blog/preparser#pife + `})(${globalArgument}(${getNonArrowFunctionIntro(factoryParameters, { + isAsync: false, + name: null + })}{${useStrict}${n}`; + const wrapperOutro = n + n + '}));'; + magicString.prepend(`${intro}${getInteropBlock(dependencies, interop, externalLiveBindings, freeze, symbols, accessedGlobals, t, snippets)}`); + const exportBlock = getExportBlock$1(exports, dependencies, namedExportsMode, interop, snippets, t, externalLiveBindings, reexportProtoFromExternal); + let namespaceMarkers = getNamespaceMarkers(namedExportsMode && hasExports, esModule === true || (esModule === 'if-default-prop' && hasDefaultExport), symbols, snippets); + if (namespaceMarkers) { + namespaceMarkers = n + n + namespaceMarkers; + } + magicString + .append(`${exportBlock}${namespaceMarkers}${outro}`) + .trim() + .indent(t) + .append(wrapperOutro) + .prepend(wrapperIntro); +} + +const finalisers = { amd, cjs, es, iife, system, umd }; + +const concatSeparator = (out, next) => (next ? `${out}\n${next}` : out); +const concatDblSeparator = (out, next) => (next ? `${out}\n\n${next}` : out); +async function createAddons(options, outputPluginDriver, chunk) { + try { + let [banner, footer, intro, outro] = await Promise.all([ + outputPluginDriver.hookReduceValue('banner', options.banner(chunk), [chunk], concatSeparator), + outputPluginDriver.hookReduceValue('footer', options.footer(chunk), [chunk], concatSeparator), + outputPluginDriver.hookReduceValue('intro', options.intro(chunk), [chunk], concatDblSeparator), + outputPluginDriver.hookReduceValue('outro', options.outro(chunk), [chunk], concatDblSeparator) + ]); + if (intro) + intro += '\n\n'; + if (outro) + outro = `\n\n${outro}`; + if (banner) + banner += '\n'; + if (footer) + footer = '\n' + footer; + return { banner, footer, intro, outro }; + } + catch (error_) { + return error(logAddonNotGenerated(error_.message, error_.hook, error_.plugin)); + } +} + +const DECONFLICT_IMPORTED_VARIABLES_BY_FORMAT = { + amd: deconflictImportsOther, + cjs: deconflictImportsOther, + es: deconflictImportsEsmOrSystem, + iife: deconflictImportsOther, + system: deconflictImportsEsmOrSystem, + umd: deconflictImportsOther +}; +function deconflictChunk(modules, dependenciesToBeDeconflicted, imports, usedNames, format, interop, preserveModules, externalLiveBindings, chunkByModule, externalChunkByModule, syntheticExports, exportNamesByVariable, accessedGlobalsByScope, includedNamespaces) { + const reversedModules = [...modules].reverse(); + for (const module of reversedModules) { + module.scope.addUsedOutsideNames(usedNames, format, exportNamesByVariable, accessedGlobalsByScope); + } + deconflictTopLevelVariables(usedNames, reversedModules, includedNamespaces); + DECONFLICT_IMPORTED_VARIABLES_BY_FORMAT[format](usedNames, imports, dependenciesToBeDeconflicted, interop, preserveModules, externalLiveBindings, chunkByModule, externalChunkByModule, syntheticExports); + for (const module of reversedModules) { + module.scope.deconflict(format, exportNamesByVariable, accessedGlobalsByScope); + } +} +function deconflictImportsEsmOrSystem(usedNames, imports, dependenciesToBeDeconflicted, _interop, preserveModules, _externalLiveBindings, chunkByModule, externalChunkByModule, syntheticExports) { + // This is needed for namespace reexports + for (const dependency of dependenciesToBeDeconflicted.dependencies) { + if (preserveModules || dependency instanceof ExternalChunk) { + dependency.variableName = getSafeName(dependency.suggestedVariableName, usedNames, null); + } + } + for (const variable of imports) { + const module = variable.module; + const name = variable.name; + if (variable.isNamespace && (preserveModules || module instanceof ExternalModule)) { + variable.setRenderNames(null, (module instanceof ExternalModule + ? externalChunkByModule.get(module) + : chunkByModule.get(module)).variableName); + } + else if (module instanceof ExternalModule && name === 'default') { + variable.setRenderNames(null, getSafeName([...module.exportedVariables].some(([exportedVariable, exportedName]) => exportedName === '*' && exportedVariable.included) + ? module.suggestedVariableName + '__default' + : module.suggestedVariableName, usedNames, variable.forbiddenNames)); + } + else { + variable.setRenderNames(null, getSafeName(makeLegal(name), usedNames, variable.forbiddenNames)); + } + } + for (const variable of syntheticExports) { + variable.setRenderNames(null, getSafeName(variable.name, usedNames, variable.forbiddenNames)); + } +} +function deconflictImportsOther(usedNames, imports, { deconflictedDefault, deconflictedNamespace, dependencies }, interop, preserveModules, externalLiveBindings, chunkByModule, externalChunkByModule) { + for (const chunk of dependencies) { + chunk.variableName = getSafeName(chunk.suggestedVariableName, usedNames, null); + } + for (const chunk of deconflictedNamespace) { + chunk.namespaceVariableName = getSafeName(`${chunk.suggestedVariableName}__namespace`, usedNames, null); + } + for (const externalModule of deconflictedDefault) { + externalModule.defaultVariableName = + deconflictedNamespace.has(externalModule) && + canDefaultBeTakenFromNamespace(interop(externalModule.id), externalLiveBindings) + ? externalModule.namespaceVariableName + : getSafeName(`${externalModule.suggestedVariableName}__default`, usedNames, null); + } + for (const variable of imports) { + const module = variable.module; + if (module instanceof ExternalModule) { + const chunk = externalChunkByModule.get(module); + const name = variable.name; + if (name === 'default') { + const moduleInterop = interop(module.id); + const variableName = defaultInteropHelpersByInteropType[moduleInterop] + ? chunk.defaultVariableName + : chunk.variableName; + if (isDefaultAProperty(moduleInterop, externalLiveBindings)) { + variable.setRenderNames(variableName, 'default'); + } + else { + variable.setRenderNames(null, variableName); + } + } + else if (name === '*') { + variable.setRenderNames(null, namespaceInteropHelpersByInteropType[interop(module.id)] + ? chunk.namespaceVariableName + : chunk.variableName); + } + else { + // if the second parameter is `null`, it uses its "name" for the property name + variable.setRenderNames(chunk.variableName, null); + } + } + else { + const chunk = chunkByModule.get(module); + if (preserveModules && variable.isNamespace) { + variable.setRenderNames(null, chunk.exportMode === 'default' ? chunk.namespaceVariableName : chunk.variableName); + } + else if (chunk.exportMode === 'default') { + variable.setRenderNames(null, chunk.variableName); + } + else { + variable.setRenderNames(chunk.variableName, chunk.getVariableExportName(variable)); + } + } + } +} +function deconflictTopLevelVariables(usedNames, modules, includedNamespaces) { + for (const module of modules) { + for (const variable of module.scope.variables.values()) { + if (variable.included && + // this will only happen for exports in some formats + !(variable.renderBaseName || + (variable instanceof ExportDefaultVariable && variable.getOriginalVariable() !== variable))) { + variable.setRenderNames(null, getSafeName(variable.name, usedNames, variable.forbiddenNames)); + } + } + if (includedNamespaces.has(module)) { + const namespace = module.namespace; + namespace.setRenderNames(null, getSafeName(namespace.name, usedNames, namespace.forbiddenNames)); + } + } +} + +function assignExportsToMangledNames(exports, exportsByName, exportNamesByVariable) { + let nameIndex = 0; + for (const variable of exports) { + let [exportName] = variable.name; + if (exportsByName.has(exportName)) { + do { + exportName = toBase64(++nameIndex); + // skip past leading number identifiers + if (exportName.charCodeAt(0) === 49 /* '1' */) { + nameIndex += 9 * 64 ** (exportName.length - 1); + exportName = toBase64(nameIndex); + } + } while (RESERVED_NAMES.has(exportName) || exportsByName.has(exportName)); + } + exportsByName.set(exportName, variable); + exportNamesByVariable.set(variable, [exportName]); + } +} +function assignExportsToNames(exports, exportsByName, exportNamesByVariable) { + for (const variable of exports) { + let nameIndex = 0; + let exportName = variable.name; + while (exportsByName.has(exportName)) { + exportName = variable.name + '$' + ++nameIndex; + } + exportsByName.set(exportName, variable); + exportNamesByVariable.set(variable, [exportName]); + } +} + +function getExportMode(chunk, { exports: exportMode, name, format }, facadeModuleId, log) { + const exportKeys = chunk.getExportNames(); + if (exportMode === 'default') { + if (exportKeys.length !== 1 || exportKeys[0] !== 'default') { + return error(logIncompatibleExportOptionValue('default', exportKeys, facadeModuleId)); + } + } + else if (exportMode === 'none' && exportKeys.length > 0) { + return error(logIncompatibleExportOptionValue('none', exportKeys, facadeModuleId)); + } + if (exportMode === 'auto') { + if (exportKeys.length === 0) { + exportMode = 'none'; + } + else if (exportKeys.length === 1 && exportKeys[0] === 'default') { + exportMode = 'default'; + } + else { + if (format !== 'es' && format !== 'system' && exportKeys.includes('default')) { + log(LOGLEVEL_WARN, logMixedExport(facadeModuleId, name)); + } + exportMode = 'named'; + } + } + return exportMode; +} + +function guessIndentString(code) { + const lines = code.split('\n'); + const tabbed = lines.filter(line => /^\t+/.test(line)); + const spaced = lines.filter(line => /^ {2,}/.test(line)); + if (tabbed.length === 0 && spaced.length === 0) { + return null; + } + // More lines tabbed than spaced? Assume tabs, and + // default to tabs in the case of a tie (or nothing + // to go on) + if (tabbed.length >= spaced.length) { + return '\t'; + } + // Otherwise, we need to guess the multiple + const min = spaced.reduce((previous, current) => { + const numberSpaces = /^ +/.exec(current)[0].length; + return Math.min(numberSpaces, previous); + }, Infinity); + return ' '.repeat(min); +} +function getIndentString(modules, options) { + if (options.indent !== true) + return options.indent; + for (const module of modules) { + const indent = guessIndentString(module.originalCode); + if (indent !== null) + return indent; + } + return '\t'; +} + +function getStaticDependencies(chunk, orderedModules, chunkByModule, externalChunkByModule) { + const staticDependencyBlocks = []; + const handledDependencies = new Set(); + for (let modulePos = orderedModules.length - 1; modulePos >= 0; modulePos--) { + const module = orderedModules[modulePos]; + if (!handledDependencies.has(module)) { + const staticDependencies = []; + addStaticDependencies(module, staticDependencies, handledDependencies, chunk, chunkByModule, externalChunkByModule); + staticDependencyBlocks.unshift(staticDependencies); + } + } + const dependencies = new Set(); + for (const block of staticDependencyBlocks) { + for (const dependency of block) { + dependencies.add(dependency); + } + } + return dependencies; +} +function addStaticDependencies(module, staticDependencies, handledModules, chunk, chunkByModule, externalChunkByModule) { + const dependencies = module.getDependenciesToBeIncluded(); + for (const dependency of dependencies) { + if (dependency instanceof ExternalModule) { + staticDependencies.push(externalChunkByModule.get(dependency)); + continue; + } + const dependencyChunk = chunkByModule.get(dependency); + if (dependencyChunk !== chunk) { + staticDependencies.push(dependencyChunk); + continue; + } + if (!handledModules.has(dependency)) { + handledModules.add(dependency); + addStaticDependencies(dependency, staticDependencies, handledModules, chunk, chunkByModule, externalChunkByModule); + } + } +} + +// Four random characters from the private use area to minimize risk of +// conflicts +const hashPlaceholderLeft = '!~{'; +const hashPlaceholderRight = '}~'; +const hashPlaceholderOverhead = hashPlaceholderLeft.length + hashPlaceholderRight.length; +// This is the size of a 128-bits xxhash with base64url encoding +const MAX_HASH_SIZE = 22; +const DEFAULT_HASH_SIZE = 8; +const getHashPlaceholderGenerator = () => { + let nextIndex = 0; + return (optionName, hashSize) => { + if (hashSize > MAX_HASH_SIZE) { + return error(logFailedValidation(`Hashes cannot be longer than ${MAX_HASH_SIZE} characters, received ${hashSize}. Check the "${optionName}" option.`)); + } + const placeholder = `${hashPlaceholderLeft}${toBase64(++nextIndex).padStart(hashSize - hashPlaceholderOverhead, '0')}${hashPlaceholderRight}`; + if (placeholder.length > hashSize) { + return error(logFailedValidation(`To generate hashes for this number of chunks (currently ${nextIndex}), you need a minimum hash size of ${placeholder.length}, received ${hashSize}. Check the "${optionName}" option.`)); + } + return placeholder; + }; +}; +const REPLACER_REGEX = new RegExp(`${hashPlaceholderLeft}[0-9a-zA-Z_$]{1,${MAX_HASH_SIZE - hashPlaceholderOverhead}}${hashPlaceholderRight}`, 'g'); +const replacePlaceholders = (code, hashesByPlaceholder) => code.replace(REPLACER_REGEX, placeholder => hashesByPlaceholder.get(placeholder) || placeholder); +const replaceSinglePlaceholder = (code, placeholder, value) => code.replace(REPLACER_REGEX, match => (match === placeholder ? value : match)); +const replacePlaceholdersWithDefaultAndGetContainedPlaceholders = (code, placeholders) => { + const containedPlaceholders = new Set(); + const transformedCode = code.replace(REPLACER_REGEX, placeholder => { + if (placeholders.has(placeholder)) { + containedPlaceholders.add(placeholder); + return `${hashPlaceholderLeft}${'0'.repeat(placeholder.length - hashPlaceholderOverhead)}${hashPlaceholderRight}`; + } + return placeholder; + }); + return { containedPlaceholders, transformedCode }; +}; + +const lowercaseBundleKeys = Symbol('bundleKeys'); +const FILE_PLACEHOLDER = { + type: 'placeholder' +}; +const getOutputBundle = (outputBundleBase) => { + const reservedLowercaseBundleKeys = new Set(); + return new Proxy(outputBundleBase, { + deleteProperty(target, key) { + if (typeof key === 'string') { + reservedLowercaseBundleKeys.delete(key.toLowerCase()); + } + return Reflect.deleteProperty(target, key); + }, + get(target, key) { + if (key === lowercaseBundleKeys) { + return reservedLowercaseBundleKeys; + } + return Reflect.get(target, key); + }, + set(target, key, value) { + if (typeof key === 'string') { + reservedLowercaseBundleKeys.add(key.toLowerCase()); + } + return Reflect.set(target, key, value); + } + }); +}; +const removeUnreferencedAssets = (outputBundle) => { + const unreferencedAssets = new Set(); + const bundleEntries = Object.values(outputBundle); + for (const asset of bundleEntries) { + asset.type === 'asset' && asset.needsCodeReference && unreferencedAssets.add(asset.fileName); + } + for (const chunk of bundleEntries) { + if (chunk.type === 'chunk') { + for (const referencedFile of chunk.referencedFiles) { + unreferencedAssets.has(referencedFile) && unreferencedAssets.delete(referencedFile); + } + } + } + for (const file of unreferencedAssets) { + delete outputBundle[file]; + } +}; + +function renderNamePattern(pattern, patternName, replacements) { + if (isPathFragment(pattern)) + return error(logFailedValidation(`Invalid pattern "${pattern}" for "${patternName}", patterns can be neither absolute nor relative paths. If you want your files to be stored in a subdirectory, write its name without a leading slash like this: subdirectory/pattern.`)); + return pattern.replace(/\[(\w+)(:\d+)?]/g, (_match, type, size) => { + if (!replacements.hasOwnProperty(type) || (size && type !== 'hash')) { + return error(logFailedValidation(`"[${type}${size || ''}]" is not a valid placeholder in the "${patternName}" pattern.`)); + } + const replacement = replacements[type](size && Number.parseInt(size.slice(1))); + if (isPathFragment(replacement)) + return error(logFailedValidation(`Invalid substitution "${replacement}" for placeholder "[${type}]" in "${patternName}" pattern, can be neither absolute nor relative path.`)); + return replacement; + }); +} +function makeUnique(name, { [lowercaseBundleKeys]: reservedLowercaseBundleKeys }) { + if (!reservedLowercaseBundleKeys.has(name.toLowerCase())) + return name; + const extension = extname(name); + name = name.slice(0, Math.max(0, name.length - extension.length)); + let uniqueName, uniqueIndex = 1; + while (reservedLowercaseBundleKeys.has((uniqueName = name + ++uniqueIndex + extension).toLowerCase())) + ; + return uniqueName; +} + +const NON_ASSET_EXTENSIONS = new Set([ + '.js', + '.jsx', + '.ts', + '.tsx', + '.mjs', + '.mts', + '.cjs', + '.cts' +]); +function getGlobalName(chunk, globals, hasExports, log) { + const globalName = typeof globals === 'function' ? globals(chunk.id) : globals[chunk.id]; + if (globalName) { + return globalName; + } + if (hasExports) { + log(LOGLEVEL_WARN, logMissingGlobalName(chunk.id, chunk.variableName)); + return chunk.variableName; + } +} +class Chunk { + constructor(orderedModules, inputOptions, outputOptions, unsetOptions, pluginDriver, modulesById, chunkByModule, externalChunkByModule, facadeChunkByModule, includedNamespaces, manualChunkAlias, getPlaceholder, bundle, inputBase, snippets) { + this.orderedModules = orderedModules; + this.inputOptions = inputOptions; + this.outputOptions = outputOptions; + this.unsetOptions = unsetOptions; + this.pluginDriver = pluginDriver; + this.modulesById = modulesById; + this.chunkByModule = chunkByModule; + this.externalChunkByModule = externalChunkByModule; + this.facadeChunkByModule = facadeChunkByModule; + this.includedNamespaces = includedNamespaces; + this.manualChunkAlias = manualChunkAlias; + this.getPlaceholder = getPlaceholder; + this.bundle = bundle; + this.inputBase = inputBase; + this.snippets = snippets; + this.entryModules = []; + this.exportMode = 'named'; + this.facadeModule = null; + this.namespaceVariableName = ''; + this.variableName = ''; + this.accessedGlobalsByScope = new Map(); + this.dependencies = new Set(); + this.dynamicEntryModules = []; + this.dynamicName = null; + this.exportNamesByVariable = new Map(); + this.exports = new Set(); + this.exportsByName = new Map(); + this.fileName = null; + this.implicitEntryModules = []; + this.implicitlyLoadedBefore = new Set(); + this.imports = new Set(); + this.includedDynamicImports = null; + this.includedReexportsByModule = new Map(); + // This may be updated in the constructor + this.isEmpty = true; + this.name = null; + this.needsExportsShim = false; + this.preRenderedChunkInfo = null; + this.preliminaryFileName = null; + this.preliminarySourcemapFileName = null; + this.renderedChunkInfo = null; + this.renderedDependencies = null; + this.renderedModules = Object.create(null); + this.sortedExportNames = null; + this.strictFacade = false; + this.execIndex = orderedModules.length > 0 ? orderedModules[0].execIndex : Infinity; + const chunkModules = new Set(orderedModules); + for (const module of orderedModules) { + chunkByModule.set(module, this); + if (module.namespace.included && !outputOptions.preserveModules) { + includedNamespaces.add(module); + } + if (this.isEmpty && module.isIncluded()) { + this.isEmpty = false; + } + if (module.info.isEntry || outputOptions.preserveModules) { + this.entryModules.push(module); + } + for (const importer of module.includedDynamicImporters) { + if (!chunkModules.has(importer)) { + this.dynamicEntryModules.push(module); + // Modules with synthetic exports need an artificial namespace for dynamic imports + if (module.info.syntheticNamedExports) { + includedNamespaces.add(module); + this.exports.add(module.namespace); + } + } + } + if (module.implicitlyLoadedAfter.size > 0) { + this.implicitEntryModules.push(module); + } + } + this.suggestedVariableName = makeLegal(this.generateVariableName()); + } + static generateFacade(inputOptions, outputOptions, unsetOptions, pluginDriver, modulesById, chunkByModule, externalChunkByModule, facadeChunkByModule, includedNamespaces, facadedModule, facadeName, getPlaceholder, bundle, inputBase, snippets) { + const chunk = new Chunk([], inputOptions, outputOptions, unsetOptions, pluginDriver, modulesById, chunkByModule, externalChunkByModule, facadeChunkByModule, includedNamespaces, null, getPlaceholder, bundle, inputBase, snippets); + chunk.assignFacadeName(facadeName, facadedModule); + if (!facadeChunkByModule.has(facadedModule)) { + facadeChunkByModule.set(facadedModule, chunk); + } + for (const dependency of facadedModule.getDependenciesToBeIncluded()) { + chunk.dependencies.add(dependency instanceof Module + ? chunkByModule.get(dependency) + : externalChunkByModule.get(dependency)); + } + if (!chunk.dependencies.has(chunkByModule.get(facadedModule)) && + facadedModule.info.moduleSideEffects && + facadedModule.hasEffects()) { + chunk.dependencies.add(chunkByModule.get(facadedModule)); + } + chunk.ensureReexportsAreAvailableForModule(facadedModule); + chunk.facadeModule = facadedModule; + chunk.strictFacade = true; + return chunk; + } + canModuleBeFacade(module, exposedVariables) { + const moduleExportNamesByVariable = module.getExportNamesByVariable(); + // All exports of this chunk need to be exposed by the candidate module + for (const exposedVariable of this.exports) { + if (!moduleExportNamesByVariable.has(exposedVariable)) { + return false; + } + } + // Additionally, we need to expose namespaces of dynamic entries that are not the facade module and exports from other entry modules + for (const exposedVariable of exposedVariables) { + if (!(exposedVariable.module === module || + moduleExportNamesByVariable.has(exposedVariable) || + (exposedVariable instanceof SyntheticNamedExportVariable && + moduleExportNamesByVariable.has(exposedVariable.getBaseVariable())))) { + return false; + } + } + return true; + } + finalizeChunk(code, map, sourcemapFileName, hashesByPlaceholder) { + const renderedChunkInfo = this.getRenderedChunkInfo(); + const finalize = (code) => replacePlaceholders(code, hashesByPlaceholder); + const preliminaryFileName = renderedChunkInfo.fileName; + const fileName = (this.fileName = finalize(preliminaryFileName)); + return { + ...renderedChunkInfo, + code, + dynamicImports: renderedChunkInfo.dynamicImports.map(finalize), + fileName, + implicitlyLoadedBefore: renderedChunkInfo.implicitlyLoadedBefore.map(finalize), + importedBindings: Object.fromEntries(Object.entries(renderedChunkInfo.importedBindings).map(([fileName, bindings]) => [ + finalize(fileName), + bindings + ])), + imports: renderedChunkInfo.imports.map(finalize), + map, + preliminaryFileName, + referencedFiles: renderedChunkInfo.referencedFiles.map(finalize), + sourcemapFileName + }; + } + generateExports() { + this.sortedExportNames = null; + const remainingExports = new Set(this.exports); + if (this.facadeModule !== null && + (this.facadeModule.preserveSignature !== false || this.strictFacade)) { + const exportNamesByVariable = this.facadeModule.getExportNamesByVariable(); + for (const [variable, exportNames] of exportNamesByVariable) { + this.exportNamesByVariable.set(variable, [...exportNames]); + for (const exportName of exportNames) { + this.exportsByName.set(exportName, variable); + } + remainingExports.delete(variable); + } + } + if (this.outputOptions.minifyInternalExports) { + assignExportsToMangledNames(remainingExports, this.exportsByName, this.exportNamesByVariable); + } + else { + assignExportsToNames(remainingExports, this.exportsByName, this.exportNamesByVariable); + } + if (this.outputOptions.preserveModules || (this.facadeModule && this.facadeModule.info.isEntry)) + this.exportMode = getExportMode(this, this.outputOptions, this.facadeModule.id, this.inputOptions.onLog); + } + generateFacades() { + const facades = []; + const entryModules = new Set([...this.entryModules, ...this.implicitEntryModules]); + const exposedVariables = new Set(this.dynamicEntryModules.map(({ namespace }) => namespace)); + for (const module of entryModules) { + if (module.preserveSignature) { + for (const exportedVariable of module.getExportNamesByVariable().keys()) { + // We need to expose all entry exports from this chunk + if (this.chunkByModule.get(exportedVariable.module) === this) { + exposedVariables.add(exportedVariable); + } + } + } + } + for (const module of entryModules) { + // eslint-disable-next-line unicorn/prefer-spread + const requiredFacades = Array.from(new Set(module.chunkNames.filter(({ isUserDefined }) => isUserDefined).map(({ name }) => name)), + // mapping must run after Set 'name' dedupe + name => ({ + name + })); + if (requiredFacades.length === 0 && module.isUserDefinedEntryPoint) { + requiredFacades.push({}); + } + // eslint-disable-next-line unicorn/prefer-spread + requiredFacades.push(...Array.from(module.chunkFileNames, fileName => ({ fileName }))); + if (requiredFacades.length === 0) { + requiredFacades.push({}); + } + if (!this.facadeModule) { + const needsStrictFacade = !this.outputOptions.preserveModules && + (module.preserveSignature === 'strict' || + (module.preserveSignature === 'exports-only' && + module.getExportNamesByVariable().size > 0)); + if (!needsStrictFacade || this.canModuleBeFacade(module, exposedVariables)) { + this.facadeModule = module; + this.facadeChunkByModule.set(module, this); + if (module.preserveSignature) { + this.strictFacade = needsStrictFacade; + } + this.assignFacadeName(requiredFacades.shift(), module, this.outputOptions.preserveModules); + } + } + for (const facadeName of requiredFacades) { + facades.push(Chunk.generateFacade(this.inputOptions, this.outputOptions, this.unsetOptions, this.pluginDriver, this.modulesById, this.chunkByModule, this.externalChunkByModule, this.facadeChunkByModule, this.includedNamespaces, module, facadeName, this.getPlaceholder, this.bundle, this.inputBase, this.snippets)); + } + } + for (const module of this.dynamicEntryModules) { + if (module.info.syntheticNamedExports) + continue; + if (!this.facadeModule && this.canModuleBeFacade(module, exposedVariables)) { + this.facadeModule = module; + this.facadeChunkByModule.set(module, this); + this.strictFacade = true; + this.dynamicName = getChunkNameFromModule(module); + } + else if (this.facadeModule === module && + !this.strictFacade && + this.canModuleBeFacade(module, exposedVariables)) { + this.strictFacade = true; + } + else if (!this.facadeChunkByModule.get(module)?.strictFacade) { + this.includedNamespaces.add(module); + this.exports.add(module.namespace); + } + } + if (!this.outputOptions.preserveModules) { + this.addNecessaryImportsForFacades(); + } + return facades; + } + getChunkName() { + return (this.name ??= this.outputOptions.sanitizeFileName(this.getFallbackChunkName())); + } + getExportNames() { + return (this.sortedExportNames ??= [...this.exportsByName.keys()].sort()); + } + getFileName() { + return this.fileName || this.getPreliminaryFileName().fileName; + } + getImportPath(importer) { + return escapeId(getImportPath(importer, this.getFileName(), this.outputOptions.format === 'amd' && !this.outputOptions.amd.forceJsExtensionForImports, true)); + } + getPreliminaryFileName() { + if (this.preliminaryFileName) { + return this.preliminaryFileName; + } + let fileName; + let hashPlaceholder = null; + const { chunkFileNames, entryFileNames, file, format, preserveModules } = this.outputOptions; + if (file) { + fileName = basename(file); + } + else if (this.fileName === null) { + const [pattern, patternName] = preserveModules || this.facadeModule?.isUserDefinedEntryPoint + ? [entryFileNames, 'output.entryFileNames'] + : [chunkFileNames, 'output.chunkFileNames']; + fileName = renderNamePattern(typeof pattern === 'function' ? pattern(this.getPreRenderedChunkInfo()) : pattern, patternName, { + format: () => format, + hash: size => hashPlaceholder || + (hashPlaceholder = this.getPlaceholder(patternName, size || DEFAULT_HASH_SIZE)), + name: () => this.getChunkName() + }); + if (!hashPlaceholder) { + fileName = makeUnique(fileName, this.bundle); + } + } + else { + fileName = this.fileName; + } + if (!hashPlaceholder) { + this.bundle[fileName] = FILE_PLACEHOLDER; + } + // Caching is essential to not conflict with the file name reservation above + return (this.preliminaryFileName = { fileName, hashPlaceholder }); + } + getPreliminarySourcemapFileName() { + if (this.preliminarySourcemapFileName) { + return this.preliminarySourcemapFileName; + } + let sourcemapFileName = null; + let hashPlaceholder = null; + const { sourcemapFileNames, format } = this.outputOptions; + if (sourcemapFileNames) { + const [pattern, patternName] = [sourcemapFileNames, 'output.sourcemapFileNames']; + sourcemapFileName = renderNamePattern(typeof pattern === 'function' ? pattern(this.getPreRenderedChunkInfo()) : pattern, patternName, { + chunkhash: () => this.getPreliminaryFileName().hashPlaceholder || '', + format: () => format, + hash: size => hashPlaceholder || + (hashPlaceholder = this.getPlaceholder(patternName, size || DEFAULT_HASH_SIZE)), + name: () => this.getChunkName() + }); + if (!hashPlaceholder) { + sourcemapFileName = makeUnique(sourcemapFileName, this.bundle); + } + } + else { + return null; + } + return (this.preliminarySourcemapFileName = { fileName: sourcemapFileName, hashPlaceholder }); + } + getRenderedChunkInfo() { + if (this.renderedChunkInfo) { + return this.renderedChunkInfo; + } + return (this.renderedChunkInfo = { + ...this.getPreRenderedChunkInfo(), + dynamicImports: this.getDynamicDependencies().map(resolveFileName), + fileName: this.getFileName(), + // eslint-disable-next-line unicorn/prefer-spread + implicitlyLoadedBefore: Array.from(this.implicitlyLoadedBefore, resolveFileName), + importedBindings: getImportedBindingsPerDependency(this.getRenderedDependencies(), resolveFileName), + // eslint-disable-next-line unicorn/prefer-spread + imports: Array.from(this.dependencies, resolveFileName), + modules: this.renderedModules, + referencedFiles: this.getReferencedFiles() + }); + } + getVariableExportName(variable) { + if (this.outputOptions.preserveModules && variable instanceof NamespaceVariable) { + return '*'; + } + return this.exportNamesByVariable.get(variable)[0]; + } + link() { + this.dependencies = getStaticDependencies(this, this.orderedModules, this.chunkByModule, this.externalChunkByModule); + for (const module of this.orderedModules) { + this.addImplicitlyLoadedBeforeFromModule(module); + this.setUpChunkImportsAndExportsForModule(module); + } + } + async render() { + const { dependencies, exportMode, facadeModule, inputOptions: { onLog }, outputOptions, pluginDriver, snippets } = this; + const { format, hoistTransitiveImports, preserveModules } = outputOptions; + // for static and dynamic entry points, add transitive dependencies to this + // chunk's dependencies to avoid loading latency + if (hoistTransitiveImports && !preserveModules && facadeModule !== null) { + for (const dep of dependencies) { + if (dep instanceof Chunk) + this.inlineChunkDependencies(dep); + } + } + const preliminaryFileName = this.getPreliminaryFileName(); + const preliminarySourcemapFileName = this.getPreliminarySourcemapFileName(); + const { accessedGlobals, indent, magicString, renderedSource, usedModules, usesTopLevelAwait } = this.renderModules(preliminaryFileName.fileName); + const renderedDependencies = [...this.getRenderedDependencies().values()]; + const renderedExports = exportMode === 'none' ? [] : this.getChunkExportDeclarations(format); + let hasExports = renderedExports.length > 0; + let hasDefaultExport = false; + for (const renderedDependence of renderedDependencies) { + const { reexports } = renderedDependence; + if (reexports?.length) { + hasExports = true; + if (!hasDefaultExport && reexports.some(reexport => reexport.reexported === 'default')) { + hasDefaultExport = true; + } + if (format === 'es') { + renderedDependence.reexports = reexports.filter( + // eslint-disable-next-line unicorn/prefer-array-some + ({ reexported }) => !renderedExports.find(({ exported }) => exported === reexported)); + } + } + } + if (!hasDefaultExport) { + for (const { exported } of renderedExports) { + if (exported === 'default') { + hasDefaultExport = true; + break; + } + } + } + const { intro, outro, banner, footer } = await createAddons(outputOptions, pluginDriver, this.getRenderedChunkInfo()); + finalisers[format](renderedSource, { + accessedGlobals, + dependencies: renderedDependencies, + exports: renderedExports, + hasDefaultExport, + hasExports, + id: preliminaryFileName.fileName, + indent, + intro, + isEntryFacade: preserveModules || (facadeModule !== null && facadeModule.info.isEntry), + isModuleFacade: facadeModule !== null, + log: onLog, + namedExportsMode: exportMode !== 'default', + outro, + snippets, + usesTopLevelAwait + }, outputOptions); + if (banner) + magicString.prepend(banner); + if (format === 'es' || format === 'cjs') { + const shebang = facadeModule !== null && facadeModule.info.isEntry && facadeModule.shebang; + shebang && magicString.prepend(`#!${shebang}\n`); + } + if (footer) + magicString.append(footer); + return { + chunk: this, + magicString, + preliminaryFileName, + preliminarySourcemapFileName, + usedModules + }; + } + addImplicitlyLoadedBeforeFromModule(baseModule) { + const { chunkByModule, implicitlyLoadedBefore } = this; + for (const module of baseModule.implicitlyLoadedBefore) { + const chunk = chunkByModule.get(module); + if (chunk && chunk !== this) { + implicitlyLoadedBefore.add(chunk); + } + } + } + addNecessaryImportsForFacades() { + for (const [module, variables] of this.includedReexportsByModule) { + if (this.includedNamespaces.has(module)) { + for (const variable of variables) { + this.imports.add(variable); + } + } + } + } + assignFacadeName({ fileName, name }, facadedModule, preservePath) { + if (fileName) { + this.fileName = fileName; + } + else { + this.name = this.outputOptions.sanitizeFileName(name || + (preservePath + ? this.getPreserveModulesChunkNameFromModule(facadedModule) + : getChunkNameFromModule(facadedModule))); + } + } + checkCircularDependencyImport(variable, importingModule) { + const variableModule = variable.module; + if (variableModule instanceof Module) { + const exportChunk = this.chunkByModule.get(variableModule); + let alternativeReexportModule; + do { + alternativeReexportModule = importingModule.alternativeReexportModules.get(variable); + if (alternativeReexportModule) { + const exportingChunk = this.chunkByModule.get(alternativeReexportModule); + if (exportingChunk !== exportChunk) { + this.inputOptions.onLog(LOGLEVEL_WARN, logCyclicCrossChunkReexport( + // Namespaces do not have an export name + variableModule.getExportNamesByVariable().get(variable)?.[0] || '*', variableModule.id, alternativeReexportModule.id, importingModule.id, this.outputOptions.preserveModules)); + } + importingModule = alternativeReexportModule; + } + } while (alternativeReexportModule); + } + } + ensureReexportsAreAvailableForModule(module) { + const includedReexports = []; + const map = module.getExportNamesByVariable(); + for (const exportedVariable of map.keys()) { + const isSynthetic = exportedVariable instanceof SyntheticNamedExportVariable; + const importedVariable = isSynthetic ? exportedVariable.getBaseVariable() : exportedVariable; + this.checkCircularDependencyImport(importedVariable, module); + // When preserving modules, we do not create namespace objects but directly + // use the actual namespaces, which would be broken by this logic. + if (!(importedVariable instanceof NamespaceVariable && this.outputOptions.preserveModules)) { + const exportingModule = importedVariable.module; + if (exportingModule instanceof Module) { + const chunk = this.chunkByModule.get(exportingModule); + if (chunk && chunk !== this) { + chunk.exports.add(importedVariable); + includedReexports.push(importedVariable); + if (isSynthetic) { + this.imports.add(importedVariable); + } + } + } + } + } + if (includedReexports.length > 0) { + this.includedReexportsByModule.set(module, includedReexports); + } + } + generateVariableName() { + if (this.manualChunkAlias) { + return this.manualChunkAlias; + } + const moduleForNaming = this.entryModules[0] || + this.implicitEntryModules[0] || + this.dynamicEntryModules[0] || + this.orderedModules[this.orderedModules.length - 1]; + if (moduleForNaming) { + return getChunkNameFromModule(moduleForNaming); + } + return 'chunk'; + } + getChunkExportDeclarations(format) { + const exports = []; + for (const exportName of this.getExportNames()) { + if (exportName[0] === '*') + continue; + const variable = this.exportsByName.get(exportName); + if (!(variable instanceof SyntheticNamedExportVariable)) { + const module = variable.module; + if (module) { + const chunk = this.chunkByModule.get(module); + if (chunk !== this) { + if (!chunk || format !== 'es') { + continue; + } + const chunkDep = this.renderedDependencies.get(chunk); + if (!chunkDep) { + continue; + } + const { imports, reexports } = chunkDep; + const importedByReexported = reexports?.find(({ reexported }) => reexported === exportName); + const isImported = imports?.find(({ imported }) => imported === importedByReexported?.imported); + if (!isImported) { + continue; + } + } + } + } + let expression = null; + let hoisted = false; + let local = variable.getName(this.snippets.getPropertyAccess); + if (variable instanceof LocalVariable) { + for (const declaration of variable.declarations) { + if (declaration.parent instanceof FunctionDeclaration || + (declaration instanceof ExportDefaultDeclaration && + declaration.declaration instanceof FunctionDeclaration)) { + hoisted = true; + break; + } + } + } + else if (variable instanceof SyntheticNamedExportVariable) { + expression = local; + if (format === 'es') { + local = variable.renderName; + } + } + exports.push({ + exported: exportName, + expression, + hoisted, + local + }); + } + return exports; + } + getDependenciesToBeDeconflicted(addNonNamespacesAndInteropHelpers, addDependenciesWithoutBindings, interop) { + const dependencies = new Set(); + const deconflictedDefault = new Set(); + const deconflictedNamespace = new Set(); + for (const variable of [...this.exportNamesByVariable.keys(), ...this.imports]) { + if (addNonNamespacesAndInteropHelpers || variable.isNamespace) { + const module = variable.module; + if (module instanceof ExternalModule) { + const chunk = this.externalChunkByModule.get(module); + dependencies.add(chunk); + if (addNonNamespacesAndInteropHelpers) { + if (variable.name === 'default') { + if (defaultInteropHelpersByInteropType[interop(module.id)]) { + deconflictedDefault.add(chunk); + } + } + else if (variable.name === '*' && + namespaceInteropHelpersByInteropType[interop(module.id)]) { + deconflictedNamespace.add(chunk); + } + } + } + else { + const chunk = this.chunkByModule.get(module); + if (chunk !== this) { + dependencies.add(chunk); + if (addNonNamespacesAndInteropHelpers && + chunk.exportMode === 'default' && + variable.isNamespace) { + deconflictedNamespace.add(chunk); + } + } + } + } + } + if (addDependenciesWithoutBindings) { + for (const dependency of this.dependencies) { + dependencies.add(dependency); + } + } + return { deconflictedDefault, deconflictedNamespace, dependencies }; + } + getDynamicDependencies() { + return this.getIncludedDynamicImports() + .map(resolvedDynamicImport => resolvedDynamicImport.facadeChunk || + resolvedDynamicImport.chunk || + resolvedDynamicImport.externalChunk || + resolvedDynamicImport.resolution) + .filter((resolution) => resolution !== this && + (resolution instanceof Chunk || resolution instanceof ExternalChunk)); + } + getDynamicImportStringAndAttributes(resolution, fileName) { + if (resolution instanceof ExternalModule) { + const chunk = this.externalChunkByModule.get(resolution); + return [`'${chunk.getImportPath(fileName)}'`, chunk.getImportAttributes(this.snippets)]; + } + return [ + resolution || '', + (this.outputOptions.format === 'es' && this.outputOptions.externalImportAttributes) || null + ]; + } + getFallbackChunkName() { + if (this.manualChunkAlias) { + return this.manualChunkAlias; + } + if (this.dynamicName) { + return this.dynamicName; + } + if (this.fileName) { + return getAliasName(this.fileName); + } + return getAliasName(this.orderedModules[this.orderedModules.length - 1].id); + } + getImportSpecifiers() { + const { interop } = this.outputOptions; + const importsByDependency = new Map(); + for (const variable of this.imports) { + const module = variable.module; + let dependency; + let imported; + if (module instanceof ExternalModule) { + dependency = this.externalChunkByModule.get(module); + imported = variable.name; + if (imported !== 'default' && imported !== '*' && interop(module.id) === 'defaultOnly') { + return error(logUnexpectedNamedImport(module.id, imported, false)); + } + } + else { + dependency = this.chunkByModule.get(module); + imported = dependency.getVariableExportName(variable); + } + getOrCreate(importsByDependency, dependency, getNewArray).push({ + imported, + local: variable.getName(this.snippets.getPropertyAccess) + }); + } + return importsByDependency; + } + getIncludedDynamicImports() { + if (this.includedDynamicImports) { + return this.includedDynamicImports; + } + const includedDynamicImports = []; + for (const module of this.orderedModules) { + for (const { node, resolution } of module.dynamicImports) { + if (!node.included) { + continue; + } + includedDynamicImports.push(resolution instanceof Module + ? { + chunk: this.chunkByModule.get(resolution), + externalChunk: null, + facadeChunk: this.facadeChunkByModule.get(resolution), + node, + resolution + } + : resolution instanceof ExternalModule + ? { + chunk: null, + externalChunk: this.externalChunkByModule.get(resolution), + facadeChunk: null, + node, + resolution + } + : { chunk: null, externalChunk: null, facadeChunk: null, node, resolution }); + } + } + return (this.includedDynamicImports = includedDynamicImports); + } + getPreRenderedChunkInfo() { + if (this.preRenderedChunkInfo) { + return this.preRenderedChunkInfo; + } + const { dynamicEntryModules, facadeModule, implicitEntryModules, orderedModules } = this; + return (this.preRenderedChunkInfo = { + exports: this.getExportNames(), + facadeModuleId: facadeModule && facadeModule.id, + isDynamicEntry: dynamicEntryModules.length > 0, + isEntry: !!facadeModule?.info.isEntry, + isImplicitEntry: implicitEntryModules.length > 0, + moduleIds: orderedModules.map(({ id }) => id), + name: this.getChunkName(), + type: 'chunk' + }); + } + getPreserveModulesChunkNameFromModule(module) { + const predefinedChunkName = getPredefinedChunkNameFromModule(module); + if (predefinedChunkName) + return predefinedChunkName; + const { preserveModulesRoot, sanitizeFileName } = this.outputOptions; + const sanitizedId = sanitizeFileName(normalize(module.id.split(QUERY_HASH_REGEX, 1)[0])); + const extensionName = extname(sanitizedId); + const idWithoutExtension = NON_ASSET_EXTENSIONS.has(extensionName) + ? sanitizedId.slice(0, -extensionName.length) + : sanitizedId; + if (isAbsolute$1(idWithoutExtension)) { + return preserveModulesRoot && resolve$1(idWithoutExtension).startsWith(preserveModulesRoot) + ? idWithoutExtension.slice(preserveModulesRoot.length).replace(/^[/\\]/, '') + : relative$1(this.inputBase, idWithoutExtension); + } + else { + return `_virtual/${basename(idWithoutExtension)}`; + } + } + getReexportSpecifiers() { + const { externalLiveBindings, interop } = this.outputOptions; + const reexportSpecifiers = new Map(); + for (let exportName of this.getExportNames()) { + let dependency; + let imported; + let needsLiveBinding = false; + if (exportName[0] === '*') { + const id = exportName.slice(1); + if (interop(id) === 'defaultOnly') { + this.inputOptions.onLog(LOGLEVEL_WARN, logUnexpectedNamespaceReexport(id)); + } + needsLiveBinding = externalLiveBindings; + dependency = this.externalChunkByModule.get(this.modulesById.get(id)); + imported = exportName = '*'; + } + else { + const variable = this.exportsByName.get(exportName); + if (variable instanceof SyntheticNamedExportVariable) + continue; + const module = variable.module; + if (module instanceof Module) { + dependency = this.chunkByModule.get(module); + if (dependency === this) + continue; + imported = dependency.getVariableExportName(variable); + needsLiveBinding = variable.isReassigned; + } + else { + dependency = this.externalChunkByModule.get(module); + imported = variable.name; + if (imported !== 'default' && imported !== '*' && interop(module.id) === 'defaultOnly') { + return error(logUnexpectedNamedImport(module.id, imported, true)); + } + needsLiveBinding = + externalLiveBindings && + (imported !== 'default' || isDefaultAProperty(interop(module.id), true)); + } + } + getOrCreate(reexportSpecifiers, dependency, getNewArray).push({ + imported, + needsLiveBinding, + reexported: exportName + }); + } + return reexportSpecifiers; + } + getReferencedFiles() { + const referencedFiles = new Set(); + for (const module of this.orderedModules) { + for (const meta of module.importMetas) { + const fileName = meta.getReferencedFileName(this.pluginDriver); + if (fileName) { + referencedFiles.add(fileName); + } + } + } + return [...referencedFiles]; + } + getRenderedDependencies() { + if (this.renderedDependencies) { + return this.renderedDependencies; + } + const importSpecifiers = this.getImportSpecifiers(); + const reexportSpecifiers = this.getReexportSpecifiers(); + const renderedDependencies = new Map(); + const fileName = this.getFileName(); + for (const dep of this.dependencies) { + const imports = importSpecifiers.get(dep) || null; + const reexports = reexportSpecifiers.get(dep) || null; + const namedExportsMode = dep instanceof ExternalChunk || dep.exportMode !== 'default'; + const importPath = dep.getImportPath(fileName); + renderedDependencies.set(dep, { + attributes: dep instanceof ExternalChunk ? dep.getImportAttributes(this.snippets) : null, + defaultVariableName: dep.defaultVariableName, + globalName: dep instanceof ExternalChunk && + (this.outputOptions.format === 'umd' || this.outputOptions.format === 'iife') && + getGlobalName(dep, this.outputOptions.globals, (imports || reexports) !== null, this.inputOptions.onLog), + importPath, + imports, + isChunk: dep instanceof Chunk, + name: dep.variableName, + namedExportsMode, + namespaceVariableName: dep.namespaceVariableName, + reexports + }); + } + return (this.renderedDependencies = renderedDependencies); + } + inlineChunkDependencies(chunk) { + for (const dep of chunk.dependencies) { + if (this.dependencies.has(dep)) + continue; + this.dependencies.add(dep); + if (dep instanceof Chunk) { + this.inlineChunkDependencies(dep); + } + } + } + // This method changes properties on the AST before rendering and must not be async + renderModules(fileName) { + const { accessedGlobalsByScope, dependencies, exportNamesByVariable, includedNamespaces, inputOptions: { onLog }, isEmpty, orderedModules, outputOptions, pluginDriver, renderedModules, snippets } = this; + const { compact, format, freeze, generatedCode: { symbols } } = outputOptions; + const { _, cnst, n } = snippets; + this.setDynamicImportResolutions(fileName); + this.setImportMetaResolutions(fileName); + this.setIdentifierRenderResolutions(); + const magicString = new Bundle$1({ separator: `${n}${n}` }); + const indent = getIndentString(orderedModules, outputOptions); + const usedModules = []; + let hoistedSource = ''; + const accessedGlobals = new Set(); + const renderedModuleSources = new Map(); + const renderOptions = { + accessedDocumentCurrentScript: false, + exportNamesByVariable, + format, + freeze, + indent, + pluginDriver, + snippets, + symbols, + useOriginalName: null + }; + let usesTopLevelAwait = false; + for (const module of orderedModules) { + let renderedLength = 0; + let source; + if (module.isIncluded() || includedNamespaces.has(module)) { + const rendered = module.render(renderOptions); + if (!renderOptions.accessedDocumentCurrentScript && + formatsMaybeAccessDocumentCurrentScript.includes(format)) { + // eslint-disable-next-line unicorn/consistent-destructuring + this.accessedGlobalsByScope.get(module.scope)?.delete(DOCUMENT_CURRENT_SCRIPT); + } + renderOptions.accessedDocumentCurrentScript = false; + ({ source } = rendered); + usesTopLevelAwait ||= rendered.usesTopLevelAwait; + renderedLength = source.length(); + if (renderedLength) { + if (compact && source.lastLine().includes('//')) + source.append('\n'); + renderedModuleSources.set(module, source); + magicString.addSource(source); + usedModules.push(module); + } + const namespace = module.namespace; + if (includedNamespaces.has(module)) { + const rendered = namespace.renderBlock(renderOptions); + if (namespace.renderFirst()) + hoistedSource += n + rendered; + else + magicString.addSource(new MagicString(rendered)); + } + const accessedGlobalVariables = accessedGlobalsByScope.get(module.scope); + if (accessedGlobalVariables) { + for (const name of accessedGlobalVariables) { + accessedGlobals.add(name); + } + } + } + const { renderedExports, removedExports } = module.getRenderedExports(); + renderedModules[module.id] = { + get code() { + return source?.toString() ?? null; + }, + originalLength: module.originalCode.length, + removedExports, + renderedExports, + renderedLength + }; + } + if (hoistedSource) + magicString.prepend(hoistedSource + n + n); + // eslint-disable-next-line unicorn/consistent-destructuring + if (this.needsExportsShim) { + magicString.prepend(`${n}${cnst} ${MISSING_EXPORT_SHIM_VARIABLE}${_}=${_}void 0;${n}${n}`); + } + const renderedSource = compact ? magicString : magicString.trim(); + if (isEmpty && this.getExportNames().length === 0 && dependencies.size === 0) { + onLog(LOGLEVEL_WARN, logEmptyChunk(this.getChunkName())); + } + return { accessedGlobals, indent, magicString, renderedSource, usedModules, usesTopLevelAwait }; + } + setDynamicImportResolutions(fileName) { + const { accessedGlobalsByScope, outputOptions, pluginDriver, snippets } = this; + for (const resolvedDynamicImport of this.getIncludedDynamicImports()) { + if (resolvedDynamicImport.chunk) { + const { chunk, facadeChunk, node, resolution } = resolvedDynamicImport; + if (chunk === this) { + node.setInternalResolution(resolution.namespace); + } + else { + node.setExternalResolution((facadeChunk || chunk).exportMode, resolution, outputOptions, snippets, pluginDriver, accessedGlobalsByScope, `'${(facadeChunk || chunk).getImportPath(fileName)}'`, !facadeChunk?.strictFacade && chunk.exportNamesByVariable.get(resolution.namespace)[0], null); + } + } + else { + const { node, resolution } = resolvedDynamicImport; + const [resolutionString, attributes] = this.getDynamicImportStringAndAttributes(resolution, fileName); + node.setExternalResolution('external', resolution, outputOptions, snippets, pluginDriver, accessedGlobalsByScope, resolutionString, false, attributes); + } + } + } + setIdentifierRenderResolutions() { + const { format, generatedCode: { symbols }, interop, preserveModules, externalLiveBindings } = this.outputOptions; + const syntheticExports = new Set(); + for (const exportName of this.getExportNames()) { + const exportVariable = this.exportsByName.get(exportName); + if (format !== 'es' && + format !== 'system' && + exportVariable.isReassigned && + !exportVariable.isId) { + exportVariable.setRenderNames('exports', exportName); + } + else if (exportVariable instanceof SyntheticNamedExportVariable) { + syntheticExports.add(exportVariable); + } + else { + exportVariable.setRenderNames(null, null); + } + } + for (const module of this.orderedModules) { + if (module.needsExportShim) { + this.needsExportsShim = true; + break; + } + } + const usedNames = new Set(['Object', 'Promise']); + if (this.needsExportsShim) { + usedNames.add(MISSING_EXPORT_SHIM_VARIABLE); + } + if (symbols) { + usedNames.add('Symbol'); + } + switch (format) { + case 'system': { + usedNames.add('module').add('exports'); + break; + } + case 'es': { + break; + } + case 'cjs': { + usedNames.add('module').add('require').add('__filename').add('__dirname'); + } + // fallthrough + default: { + usedNames.add('exports'); + for (const helper of HELPER_NAMES) { + usedNames.add(helper); + } + } + } + deconflictChunk(this.orderedModules, this.getDependenciesToBeDeconflicted(format !== 'es' && format !== 'system', format === 'amd' || format === 'umd' || format === 'iife', interop), this.imports, usedNames, format, interop, preserveModules, externalLiveBindings, this.chunkByModule, this.externalChunkByModule, syntheticExports, this.exportNamesByVariable, this.accessedGlobalsByScope, this.includedNamespaces); + } + setImportMetaResolutions(fileName) { + const { accessedGlobalsByScope, includedNamespaces, orderedModules, outputOptions: { format } } = this; + for (const module of orderedModules) { + for (const importMeta of module.importMetas) { + importMeta.setResolution(format, accessedGlobalsByScope, fileName); + } + if (includedNamespaces.has(module)) { + module.namespace.prepare(accessedGlobalsByScope); + } + } + } + setUpChunkImportsAndExportsForModule(module) { + const moduleImports = new Set(module.includedImports); + // when we are not preserving modules, we need to make all namespace variables available for + // rendering the namespace object + if (!this.outputOptions.preserveModules && this.includedNamespaces.has(module)) { + const memberVariables = module.namespace.getMemberVariables(); + for (const variable of Object.values(memberVariables)) { + if (variable.included) { + moduleImports.add(variable); + } + } + } + for (let variable of moduleImports) { + if (variable instanceof ExportDefaultVariable) { + variable = variable.getOriginalVariable(); + } + if (variable instanceof SyntheticNamedExportVariable) { + variable = variable.getBaseVariable(); + } + const chunk = this.chunkByModule.get(variable.module); + if (chunk !== this) { + this.imports.add(variable); + if (variable.module instanceof Module) { + this.checkCircularDependencyImport(variable, module); + // When preserving modules, we do not create namespace objects but directly + // use the actual namespaces, which would be broken by this logic. + if (!(variable instanceof NamespaceVariable && this.outputOptions.preserveModules)) { + chunk.exports.add(variable); + } + } + } + } + if (this.includedNamespaces.has(module) || + (module.info.isEntry && module.preserveSignature !== false) || + module.includedDynamicImporters.some(importer => this.chunkByModule.get(importer) !== this)) { + this.ensureReexportsAreAvailableForModule(module); + } + for (const { node, resolution } of module.dynamicImports) { + if (node.included && + resolution instanceof Module && + this.chunkByModule.get(resolution) === this && + !this.includedNamespaces.has(resolution)) { + this.includedNamespaces.add(resolution); + this.ensureReexportsAreAvailableForModule(resolution); + } + } + } +} +function getChunkNameFromModule(module) { + return getPredefinedChunkNameFromModule(module) ?? getAliasName(module.id); +} +function getPredefinedChunkNameFromModule(module) { + return (module.chunkNames.find(({ isUserDefined }) => isUserDefined)?.name ?? module.chunkNames[0]?.name); +} +function getImportedBindingsPerDependency(renderedDependencies, resolveFileName) { + const importedBindingsPerDependency = {}; + for (const [dependency, declaration] of renderedDependencies) { + const specifiers = new Set(); + if (declaration.imports) { + for (const { imported } of declaration.imports) { + specifiers.add(imported); + } + } + if (declaration.reexports) { + for (const { imported } of declaration.reexports) { + specifiers.add(imported); + } + } + importedBindingsPerDependency[resolveFileName(dependency)] = [...specifiers]; + } + return importedBindingsPerDependency; +} +const QUERY_HASH_REGEX = /[#?]/; +const resolveFileName = (dependency) => dependency.getFileName(); + +/** + * Concatenate a number of iterables to a new iterable without fully evaluating + * their iterators. Useful when e.g. working with large sets or lists and when + * there is a chance that the iterators will not be fully exhausted. + */ +function* concatLazy(iterables) { + for (const iterable of iterables) { + yield* iterable; + } +} + +/** + * At its core, the algorithm first starts from each static or dynamic entry + * point and then assigns that entry point to all modules than can be reached + * via static imports. We call this the *dependent entry points* of that + * module. + * + * Then we group all modules with the same dependent entry points into chunks + * as those modules will always be loaded together. + * + * One non-trivial optimization we can apply is that dynamic entries are + * different from static entries in so far as when a dynamic import occurs, + * some + * modules are already in memory. If some of these modules are also + * dependencies + * of the dynamic entry, then it does not make sense to create a separate chunk + * for them. Instead, the dynamic import target can load them from the + * importing + * chunk. + * + * With regard to chunking, if B is implicitly loaded after A, then this can be + * handled the same way as if there was a dynamic import A => B. + * + * Example: + * Assume A -> B (A imports B), A => C (A dynamically imports C) and C -> B. + * Then the initial algorithm would assign A into the A chunk, C into the C + * chunk and B into the AC chunk, i.e. the chunk with the dependent entry + * points + * A and C. + * However we know that C can only be loaded from A, so A and its dependency B + * must already be in memory when C is loaded. So it is enough to create only + * two chunks A containing [AB] and C containing [C]. + * + * So we do not assign the dynamic entry C as dependent entry point to modules + * that are already loaded. + * + * In a more complex example, let us assume that we have entry points X and Y. + * Further, let us assume + * X -> A, X -> B, X -> C, + * Y -> A, Y -> B, + * A => D, + * D -> B, D -> C + * So without dynamic import optimization, the dependent entry points are + * A: XY, B: DXY, C: DX, D: D, X: X, Y: Y, + * so we would for now create six chunks. + * + * Now D is loaded only after A is loaded. But A is loaded if either X is + * loaded + * or Y is loaded. So the modules that are already in memory when D is loaded + * are the intersection of all modules that X depends on with all modules that + * Y + * depends on, which in this case are the modules A and B. + * We could also say they are all modules that have both X and Y as dependent + * entry points. + * + * So we can remove D as dependent entry point from A and B, which means they + * both now have only XY as dependent entry points and can be merged into the + * same chunk. + * + * Now let us extend this to the most general case where we have several + * dynamic + * importers for one dynamic entry point. + * + * In the most general form, it works like this: + * For each dynamic entry point, we have a number of dynamic importers, which + * are the modules importing it. Using the previous ideas, we can determine + * the modules already in memory for each dynamic importer by looking for all + * modules that have all the dependent entry points of the dynamic importer as + * dependent entry points. + * So the modules that are guaranteed to be in memory when the dynamic entry + * point is loaded are the intersection of the modules already in memory for + * each dynamic importer. + * + * Assuming that A => D and B => D and A has dependent entry points XY and B + * has + * dependent entry points YZ, then the modules guaranteed to be in memory are + * all modules that have at least XYZ as dependent entry points. + * We call XYZ the *dynamically dependent entry points* of D. + * + * Now there is one last case to consider: If one of the dynamically dependent + * entries is itself a dynamic entry, then any module is in memory that either + * is a dependency of that dynamic entry or again has the dynamic dependent + * entries of that dynamic entry as dependent entry points. + * + * A naive algorithm for this proved to be costly as it contained an O(n^3) + * complexity with regard to dynamic entries that blew up for very large + * projects. + * + * If we have an efficient way to do Set operations, an alternative approach + * would be to instead collect already loaded modules per dynamic entry. And as + * all chunks from the initial grouping would behave the same, we can instead + * collect already loaded chunks for a performance improvement. + * + * To do that efficiently, need + * - a Map of dynamic imports per dynamic entry, which contains all dynamic + * imports that can be triggered by a dynamic entry + * - a Map of static dependencies per entry + * - a Map of already loaded chunks per entry that we initially populate with + * empty Sets for static entries and Sets containing all entries for dynamic + * entries + * + * For efficient operations, we assign each entry a numerical index and + * represent Sets of Chunks as BigInt values where each chunk corresponds to a + * bit index. Then thw last two maps can be represented as arrays of BigInt + * values. + * + * Then we iterate through each dynamic entry. We set the already loaded modules + * to the intersection of the previously already loaded modules with the union + * of the already loaded modules of that chunk with its static dependencies. + * + * If the already loaded modules changed, then we use the Map of dynamic imports + * per dynamic entry to marks all dynamic entry dependencies as "dirty" and put + * them back into the iteration. As an additional optimization, we note for + * each dynamic entry which dynamic dependent entries have changed and only + * intersect those entries again on subsequent interations. + * + * Then we remove the dynamic entries from the list of dependent entries for + * those chunks that are already loaded for that dynamic entry and create + * another round of chunks. + */ +function getChunkAssignments(entries, manualChunkAliasByEntry, minChunkSize, log) { + const { chunkDefinitions, modulesInManualChunks } = getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry); + const { allEntries, dependentEntriesByModule, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry } = analyzeModuleGraph(entries); + // Each chunk is identified by its position in this array + const chunkAtoms = getChunksWithSameDependentEntries(getModulesWithDependentEntries(dependentEntriesByModule, modulesInManualChunks)); + const staticDependencyAtomsByEntry = getStaticDependencyAtomsByEntry(allEntries, chunkAtoms); + // Warning: This will consume dynamicallyDependentEntriesByDynamicEntry. + // If we no longer want this, we should make a copy here. + const alreadyLoadedAtomsByEntry = getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, allEntries); + // This mutates the dependentEntries in chunkAtoms + removeUnnecessaryDependentEntries(chunkAtoms, alreadyLoadedAtomsByEntry); + const { chunks, sideEffectAtoms, sizeByAtom } = getChunksWithSameDependentEntriesAndCorrelatedAtoms(chunkAtoms, staticDependencyAtomsByEntry, alreadyLoadedAtomsByEntry, minChunkSize); + chunkDefinitions.push(...getOptimizedChunks(chunks, minChunkSize, sideEffectAtoms, sizeByAtom, log).map(({ modules }) => ({ + alias: null, + modules + }))); + return chunkDefinitions; +} +function getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry) { + const chunkDefinitions = []; + const modulesInManualChunks = new Set(manualChunkAliasByEntry.keys()); + const manualChunkModulesByAlias = Object.create(null); + for (const [entry, alias] of manualChunkAliasByEntry) { + addStaticDependenciesToManualChunk(entry, (manualChunkModulesByAlias[alias] ||= []), modulesInManualChunks); + } + for (const [alias, modules] of Object.entries(manualChunkModulesByAlias)) { + chunkDefinitions.push({ alias, modules }); + } + return { chunkDefinitions, modulesInManualChunks }; +} +function addStaticDependenciesToManualChunk(entry, manualChunkModules, modulesInManualChunks) { + const modulesToHandle = new Set([entry]); + for (const module of modulesToHandle) { + modulesInManualChunks.add(module); + manualChunkModules.push(module); + for (const dependency of module.dependencies) { + if (!(dependency instanceof ExternalModule || modulesInManualChunks.has(dependency))) { + modulesToHandle.add(dependency); + } + } + } +} +function analyzeModuleGraph(entries) { + const dynamicEntryModules = new Set(); + const dependentEntriesByModule = new Map(); + const dynamicImportModulesByEntry = []; + const allEntriesSet = new Set(entries); + let entryIndex = 0; + for (const currentEntry of allEntriesSet) { + const dynamicImportsForCurrentEntry = new Set(); + dynamicImportModulesByEntry.push(dynamicImportsForCurrentEntry); + const modulesToHandle = new Set([currentEntry]); + for (const module of modulesToHandle) { + getOrCreate(dependentEntriesByModule, module, (getNewSet)).add(entryIndex); + for (const dependency of module.getDependenciesToBeIncluded()) { + if (!(dependency instanceof ExternalModule)) { + modulesToHandle.add(dependency); + } + } + for (const { resolution } of module.dynamicImports) { + if (resolution instanceof Module && + resolution.includedDynamicImporters.length > 0 && + !allEntriesSet.has(resolution)) { + dynamicEntryModules.add(resolution); + allEntriesSet.add(resolution); + dynamicImportsForCurrentEntry.add(resolution); + } + } + for (const dependency of module.implicitlyLoadedBefore) { + if (!allEntriesSet.has(dependency)) { + dynamicEntryModules.add(dependency); + allEntriesSet.add(dependency); + } + } + } + entryIndex++; + } + const allEntries = [...allEntriesSet]; + const { dynamicEntries, dynamicImportsByEntry } = getDynamicEntries(allEntries, dynamicEntryModules, dynamicImportModulesByEntry); + return { + allEntries, + dependentEntriesByModule, + dynamicallyDependentEntriesByDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntries), + dynamicImportsByEntry + }; +} +function getDynamicEntries(allEntries, dynamicEntryModules, dynamicImportModulesByEntry) { + const entryIndexByModule = new Map(); + const dynamicEntries = new Set(); + for (const [entryIndex, entry] of allEntries.entries()) { + entryIndexByModule.set(entry, entryIndex); + if (dynamicEntryModules.has(entry)) { + dynamicEntries.add(entryIndex); + } + } + const dynamicImportsByEntry = []; + for (const dynamicImportModules of dynamicImportModulesByEntry) { + const dynamicImports = new Set(); + for (const dynamicEntry of dynamicImportModules) { + dynamicImports.add(entryIndexByModule.get(dynamicEntry)); + } + dynamicImportsByEntry.push(dynamicImports); + } + return { dynamicEntries, dynamicImportsByEntry }; +} +function getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntries) { + const dynamicallyDependentEntriesByDynamicEntry = new Map(); + for (const dynamicEntryIndex of dynamicEntries) { + const dynamicallyDependentEntries = getOrCreate(dynamicallyDependentEntriesByDynamicEntry, dynamicEntryIndex, (getNewSet)); + const dynamicEntry = allEntries[dynamicEntryIndex]; + for (const importer of concatLazy([ + dynamicEntry.includedDynamicImporters, + dynamicEntry.implicitlyLoadedAfter + ])) { + for (const entry of dependentEntriesByModule.get(importer)) { + dynamicallyDependentEntries.add(entry); + } + } + } + return dynamicallyDependentEntriesByDynamicEntry; +} +function getChunksWithSameDependentEntries(modulesWithDependentEntries) { + const chunkModules = Object.create(null); + for (const { dependentEntries, modules } of modulesWithDependentEntries) { + let chunkSignature = 0n; + for (const entryIndex of dependentEntries) { + chunkSignature |= 1n << BigInt(entryIndex); + } + (chunkModules[String(chunkSignature)] ||= { + dependentEntries: new Set(dependentEntries), + modules: [] + }).modules.push(...modules); + } + return Object.values(chunkModules); +} +function* getModulesWithDependentEntries(dependentEntriesByModule, modulesInManualChunks) { + for (const [module, dependentEntries] of dependentEntriesByModule) { + if (!modulesInManualChunks.has(module)) { + yield { dependentEntries, modules: [module] }; + } + } +} +function getStaticDependencyAtomsByEntry(allEntries, chunkAtoms) { + // The indices correspond to the indices in allEntries. The atoms correspond + // to bits in the bigint values where chunk 0 is the lowest bit. + const staticDependencyAtomsByEntry = allEntries.map(() => 0n); + // This toggles the bits for each atom that is a dependency of an entry + let atomMask = 1n; + for (const { dependentEntries } of chunkAtoms) { + for (const entryIndex of dependentEntries) { + staticDependencyAtomsByEntry[entryIndex] |= atomMask; + } + atomMask <<= 1n; + } + return staticDependencyAtomsByEntry; +} +// Warning: This will consume dynamicallyDependentEntriesByDynamicEntry. +function getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, allEntries) { + // Dynamic entries have all atoms as already loaded initially because we then + // intersect with the static dependency atoms of all dynamic importers. + // Static entries cannot have already loaded atoms. + const alreadyLoadedAtomsByEntry = allEntries.map((_entry, entryIndex) => dynamicallyDependentEntriesByDynamicEntry.has(entryIndex) ? -1n : 0n); + for (const [dynamicEntryIndex, dynamicallyDependentEntries] of dynamicallyDependentEntriesByDynamicEntry) { + // We delete here so that they can be added again if necessary to be handled + // again by the loop + dynamicallyDependentEntriesByDynamicEntry.delete(dynamicEntryIndex); + const knownLoadedAtoms = alreadyLoadedAtomsByEntry[dynamicEntryIndex]; + let updatedLoadedAtoms = knownLoadedAtoms; + for (const entryIndex of dynamicallyDependentEntries) { + updatedLoadedAtoms &= + staticDependencyAtomsByEntry[entryIndex] | alreadyLoadedAtomsByEntry[entryIndex]; + } + // If the knownLoadedAtoms changed, all dependent dynamic entries need to be + // updated again + if (updatedLoadedAtoms !== knownLoadedAtoms) { + alreadyLoadedAtomsByEntry[dynamicEntryIndex] = updatedLoadedAtoms; + for (const dynamicImport of dynamicImportsByEntry[dynamicEntryIndex]) { + // If this adds an entry that was deleted before, it will be handled + // again. This is the reason why we delete every entry from this map + // that we processed. + getOrCreate(dynamicallyDependentEntriesByDynamicEntry, dynamicImport, (getNewSet)).add(dynamicEntryIndex); + } + } + } + return alreadyLoadedAtomsByEntry; +} +/** + * This removes all unnecessary dynamic entries from the dependentEntries in its + * first argument if a chunk is already loaded without that entry. + */ +function removeUnnecessaryDependentEntries(chunkAtoms, alreadyLoadedAtomsByEntry) { + // Remove entries from dependent entries if a chunk is already loaded without + // that entry. + let chunkMask = 1n; + for (const { dependentEntries } of chunkAtoms) { + for (const entryIndex of dependentEntries) { + if ((alreadyLoadedAtomsByEntry[entryIndex] & chunkMask) === chunkMask) { + dependentEntries.delete(entryIndex); + } + } + chunkMask <<= 1n; + } +} +function getChunksWithSameDependentEntriesAndCorrelatedAtoms(chunkAtoms, staticDependencyAtomsByEntry, alreadyLoadedAtomsByEntry, minChunkSize) { + const chunksBySignature = Object.create(null); + const chunkByModule = new Map(); + const sizeByAtom = []; + let sideEffectAtoms = 0n; + let atomMask = 1n; + for (const { dependentEntries, modules } of chunkAtoms) { + let chunkSignature = 0n; + let correlatedAtoms = -1n; + for (const entryIndex of dependentEntries) { + chunkSignature |= 1n << BigInt(entryIndex); + // Correlated atoms are the atoms that are guaranteed to be loaded as + // well when a given atom is loaded. It is the intersection of the already + // loaded modules of each chunk merged with its static dependencies. + correlatedAtoms &= + staticDependencyAtomsByEntry[entryIndex] | alreadyLoadedAtomsByEntry[entryIndex]; + } + const chunk = (chunksBySignature[String(chunkSignature)] ||= { + containedAtoms: 0n, + correlatedAtoms, + dependencies: new Set(), + dependentChunks: new Set(), + dependentEntries: new Set(dependentEntries), + modules: [], + pure: true, + size: 0 + }); + let atomSize = 0; + let pure = true; + for (const module of modules) { + chunkByModule.set(module, chunk); + // Unfortunately, we cannot take tree-shaking into account here because + // rendering did not happen yet, but we can detect empty modules + if (module.isIncluded()) { + pure &&= !module.hasEffects(); + // we use a trivial size for the default minChunkSize to improve + // performance + atomSize += minChunkSize > 1 ? module.estimateSize() : 1; + } + } + if (!pure) { + sideEffectAtoms |= atomMask; + } + sizeByAtom.push(atomSize); + chunk.containedAtoms |= atomMask; + chunk.modules.push(...modules); + chunk.pure &&= pure; + chunk.size += atomSize; + atomMask <<= 1n; + } + const chunks = Object.values(chunksBySignature); + sideEffectAtoms |= addChunkDependenciesAndGetExternalSideEffectAtoms(chunks, chunkByModule, atomMask); + return { chunks, sideEffectAtoms, sizeByAtom }; +} +function addChunkDependenciesAndGetExternalSideEffectAtoms(chunks, chunkByModule, nextAvailableAtomMask) { + const signatureByExternalModule = new Map(); + let externalSideEffectAtoms = 0n; + for (const chunk of chunks) { + const { dependencies, modules } = chunk; + for (const module of modules) { + for (const dependency of module.getDependenciesToBeIncluded()) { + if (dependency instanceof ExternalModule) { + if (dependency.info.moduleSideEffects) { + const signature = getOrCreate(signatureByExternalModule, dependency, () => { + const signature = nextAvailableAtomMask; + nextAvailableAtomMask <<= 1n; + externalSideEffectAtoms |= signature; + return signature; + }); + chunk.containedAtoms |= signature; + chunk.correlatedAtoms |= signature; + } + } + else { + const dependencyChunk = chunkByModule.get(dependency); + if (dependencyChunk && dependencyChunk !== chunk) { + dependencies.add(dependencyChunk); + dependencyChunk.dependentChunks.add(chunk); + } + } + } + } + } + return externalSideEffectAtoms; +} +/** + * This function tries to get rid of small chunks by merging them with other + * chunks. + * + * We can only merge chunks safely if after the merge, loading any entry point + * in any allowed order will not trigger side effects that should not have been + * triggered. While side effects are usually things like global function calls, + * global variable mutations or potentially thrown errors, details do not + * matter here, and we just discern chunks without side effects (pure chunks) + * from other chunks. + * + * As a first step, we assign each pre-generated chunk with side effects a + * label. I.e. we have side effect "A" if the non-pure chunk "A" is loaded. + * + * Now to determine the side effects of loading a chunk, one also has to take + * the side effects of its dependencies into account. So if A depends on B + * (A -> B) and both have side effects, loading A triggers effects AB. + * + * Now from the previous step we know that each chunk is uniquely determine by + * the entry points that depend on it and cause it to load, which we will call + * its dependent entry points. + * + * E.g. if X -> A and Y -> A, then the dependent entry points of A are XY. + * Starting from that idea, we can determine a set of chunks—and thus a set + * of side effects—that must have been triggered if a certain chunk has been + * loaded. Basically, it is the intersection of all chunks loaded by the + * dependent entry points of a given chunk. We call the corresponding side + * effects the correlated side effects of that chunk. + * + * Example: + * X -> ABC, Y -> ADE, A-> F, B -> D + * Then taking dependencies into account, X -> ABCDF, Y -> ADEF + * The intersection is ADF. So we know that when A is loaded, D and F must also + * be in memory even though neither D nor A is a dependency of the other. + * If all have side effects, we call ADF the correlated side effects of A. The + * correlated side effects need to remain constant when merging chunks. + * + * In contrast, we have the dependency side effects of A, which represents + * the side effects we trigger if we directly load A. In this example, the + * dependency side effects are AF. + * For entry chunks, dependency and correlated side effects are the same. + * + * With these concepts, merging chunks is allowed if the correlated side + * effects of each entry do not change. Thus, we are allowed to merge two + * chunks if + * + * a) the dependency side effects of each chunk are a subset of the correlated + * side effects of the other chunk, so no additional side effects are + * triggered for any entry, or + * b) The dependent entry points of chunk A are a subset of the dependent entry + * points of chunk B while the dependency side effects of A are a subset of + * the correlated side effects of B. Because in that scenario, whenever A is + * loaded, B is loaded as well. But there are cases when B is loaded where A + * is not loaded. So if we merge the chunks, all dependency side effects of + * A will be added to the correlated side effects of B, and as the latter is + * not allowed to change, the former need to be a subset of the latter. + * + * Another consideration when merging small chunks into other chunks is to + * avoid + * that too much additional code is loaded. This is achieved when the dependent + * entries of the small chunk are a subset of the dependent entries of the + * other + * chunk. Because then when the small chunk is loaded, the other chunk was + * loaded/in memory anyway, so at most when the other chunk is loaded, the + * additional size of the small chunk is loaded unnecessarily. + * + * So the algorithm performs merges in two passes: + * + * 1. First we try to merge small chunks A only into other chunks B if the + * dependent entries of A are a subset of the dependent entries of B and the + * dependency side effects of A are a subset of the correlated side effects + * of B. + * 2. Only then for all remaining small chunks, we look for arbitrary merges + * following the rule (a), starting with the smallest chunks to look for + * possible merge targets. + */ +function getOptimizedChunks(chunks, minChunkSize, sideEffectAtoms, sizeByAtom, log) { + timeStart('optimize chunks', 3); + const chunkPartition = getPartitionedChunks(chunks, minChunkSize); + if (!chunkPartition) { + timeEnd('optimize chunks', 3); + return chunks; // the actual modules + } + minChunkSize > 1 && + log('info', logOptimizeChunkStatus(chunks.length, chunkPartition.small.size, 'Initially')); + mergeChunks(chunkPartition, minChunkSize, sideEffectAtoms, sizeByAtom); + minChunkSize > 1 && + log('info', logOptimizeChunkStatus(chunkPartition.small.size + chunkPartition.big.size, chunkPartition.small.size, 'After merging chunks')); + timeEnd('optimize chunks', 3); + return [...chunkPartition.small, ...chunkPartition.big]; +} +function getPartitionedChunks(chunks, minChunkSize) { + const smallChunks = []; + const bigChunks = []; + for (const chunk of chunks) { + (chunk.size < minChunkSize ? smallChunks : bigChunks).push(chunk); + } + if (smallChunks.length === 0) { + return null; + } + smallChunks.sort(compareChunkSize); + bigChunks.sort(compareChunkSize); + return { + big: new Set(bigChunks), + small: new Set(smallChunks) + }; +} +function compareChunkSize({ size: sizeA }, { size: sizeB }) { + return sizeA - sizeB; +} +function mergeChunks(chunkPartition, minChunkSize, sideEffectAtoms, sizeByAtom) { + const { small } = chunkPartition; + for (const mergedChunk of small) { + const bestTargetChunk = findBestMergeTarget(mergedChunk, chunkPartition, sideEffectAtoms, sizeByAtom, + // In the default case, we do not accept size increases + minChunkSize <= 1 ? 1 : Infinity); + if (bestTargetChunk) { + const { containedAtoms, correlatedAtoms, modules, pure, size } = mergedChunk; + small.delete(mergedChunk); + getChunksInPartition(bestTargetChunk, minChunkSize, chunkPartition).delete(bestTargetChunk); + bestTargetChunk.modules.push(...modules); + bestTargetChunk.size += size; + bestTargetChunk.pure &&= pure; + const { dependencies, dependentChunks, dependentEntries } = bestTargetChunk; + bestTargetChunk.correlatedAtoms &= correlatedAtoms; + bestTargetChunk.containedAtoms |= containedAtoms; + for (const entry of mergedChunk.dependentEntries) { + dependentEntries.add(entry); + } + for (const dependency of mergedChunk.dependencies) { + dependencies.add(dependency); + dependency.dependentChunks.delete(mergedChunk); + dependency.dependentChunks.add(bestTargetChunk); + } + for (const dependentChunk of mergedChunk.dependentChunks) { + dependentChunks.add(dependentChunk); + dependentChunk.dependencies.delete(mergedChunk); + dependentChunk.dependencies.add(bestTargetChunk); + } + dependencies.delete(bestTargetChunk); + dependentChunks.delete(bestTargetChunk); + getChunksInPartition(bestTargetChunk, minChunkSize, chunkPartition).add(bestTargetChunk); + } + } +} +function findBestMergeTarget(mergedChunk, { big, small }, sideEffectAtoms, sizeByAtom, smallestAdditionalSize) { + let bestTargetChunk = null; + // In the default case, we do not accept size increases + for (const targetChunk of concatLazy([small, big])) { + if (mergedChunk === targetChunk) + continue; + const additionalSizeAfterMerge = getAdditionalSizeAfterMerge(mergedChunk, targetChunk, smallestAdditionalSize, sideEffectAtoms, sizeByAtom); + if (additionalSizeAfterMerge < smallestAdditionalSize) { + bestTargetChunk = targetChunk; + if (additionalSizeAfterMerge === 0) + break; + smallestAdditionalSize = additionalSizeAfterMerge; + } + } + return bestTargetChunk; +} +/** + * Determine the additional unused code size that would be added by merging the + * two chunks. This is not an exact measurement but rather an upper bound. If + * the merge produces cycles or adds non-correlated side effects, `Infinity` + * is returned. + * Merging will not produce cycles if none of the direct non-merged + * dependencies of a chunk have the other chunk as a transitive dependency. + */ +function getAdditionalSizeAfterMerge(mergedChunk, targetChunk, +// The maximum additional unused code size allowed to be added by the merge, +// taking dependencies into account, needs to be below this number +currentAdditionalSize, sideEffectAtoms, sizeByAtom) { + const firstSize = getAdditionalSizeIfNoTransitiveDependencyOrNonCorrelatedSideEffect(mergedChunk, targetChunk, currentAdditionalSize, sideEffectAtoms, sizeByAtom); + return firstSize < currentAdditionalSize + ? firstSize + + getAdditionalSizeIfNoTransitiveDependencyOrNonCorrelatedSideEffect(targetChunk, mergedChunk, currentAdditionalSize - firstSize, sideEffectAtoms, sizeByAtom) + : Infinity; +} +function getAdditionalSizeIfNoTransitiveDependencyOrNonCorrelatedSideEffect(dependentChunk, dependencyChunk, currentAdditionalSize, sideEffectAtoms, sizeByAtom) { + const { correlatedAtoms } = dependencyChunk; + let dependencyAtoms = dependentChunk.containedAtoms; + const dependentContainedSideEffects = dependencyAtoms & sideEffectAtoms; + if ((correlatedAtoms & dependentContainedSideEffects) !== dependentContainedSideEffects) { + return Infinity; + } + const chunksToCheck = new Set(dependentChunk.dependencies); + for (const { dependencies, containedAtoms } of chunksToCheck) { + dependencyAtoms |= containedAtoms; + const containedSideEffects = containedAtoms & sideEffectAtoms; + if ((correlatedAtoms & containedSideEffects) !== containedSideEffects) { + return Infinity; + } + for (const dependency of dependencies) { + if (dependency === dependencyChunk) { + return Infinity; + } + chunksToCheck.add(dependency); + } + } + return getAtomsSizeIfBelowLimit(dependencyAtoms & ~correlatedAtoms, currentAdditionalSize, sizeByAtom); +} +function getAtomsSizeIfBelowLimit(atoms, currentAdditionalSize, sizeByAtom) { + let size = 0; + let atomIndex = 0; + let atomSignature = 1n; + const { length } = sizeByAtom; + for (; atomIndex < length; atomIndex++) { + if ((atoms & atomSignature) === atomSignature) { + size += sizeByAtom[atomIndex]; + } + atomSignature <<= 1n; + if (size >= currentAdditionalSize) { + return Infinity; + } + } + return size; +} +function getChunksInPartition(chunk, minChunkSize, chunkPartition) { + return chunk.size < minChunkSize ? chunkPartition.small : chunkPartition.big; +} + +// ported from https://github.com/substack/node-commondir +function commondir(files) { + if (files.length === 0) + return '/'; + if (files.length === 1) + return dirname(files[0]); + const commonSegments = files.slice(1).reduce((commonSegments, file) => { + const pathSegments = file.split(/\/+|\\+/); + let index; + for (index = 0; commonSegments[index] === pathSegments[index] && + index < Math.min(commonSegments.length, pathSegments.length); index++) + ; + return commonSegments.slice(0, index); + }, files[0].split(/\/+|\\+/)); + // Windows correctly handles paths with forward-slashes + return commonSegments.length > 1 ? commonSegments.join('/') : '/'; +} + +const compareExecIndex = (unitA, unitB) => unitA.execIndex > unitB.execIndex ? 1 : -1; +function sortByExecutionOrder(units) { + units.sort(compareExecIndex); +} +function analyseModuleExecution(entryModules) { + let nextExecIndex = 0; + const cyclePaths = []; + const analysedModules = new Set(); + const dynamicImports = new Set(); + const parents = new Map(); + const orderedModules = []; + const analyseModule = (module) => { + if (module instanceof Module) { + for (const dependency of module.dependencies) { + if (parents.has(dependency)) { + if (!analysedModules.has(dependency)) { + cyclePaths.push(getCyclePath(dependency, module, parents)); + } + continue; + } + parents.set(dependency, module); + analyseModule(dependency); + } + for (const dependency of module.implicitlyLoadedBefore) { + dynamicImports.add(dependency); + } + for (const { resolution } of module.dynamicImports) { + if (resolution instanceof Module) { + dynamicImports.add(resolution); + } + } + orderedModules.push(module); + } + module.execIndex = nextExecIndex++; + analysedModules.add(module); + }; + for (const currentEntry of entryModules) { + if (!parents.has(currentEntry)) { + parents.set(currentEntry, null); + analyseModule(currentEntry); + } + } + for (const currentEntry of dynamicImports) { + if (!parents.has(currentEntry)) { + parents.set(currentEntry, null); + analyseModule(currentEntry); + } + } + return { cyclePaths, orderedModules }; +} +function getCyclePath(module, parent, parents) { + const cycleSymbol = Symbol(module.id); + const path = [module.id]; + let nextModule = parent; + module.cycles.add(cycleSymbol); + while (nextModule !== module) { + nextModule.cycles.add(cycleSymbol); + path.push(nextModule.id); + nextModule = parents.get(nextModule); + } + path.push(path[0]); + path.reverse(); + return path; +} + +function getGenerateCodeSnippets({ compact, generatedCode: { arrowFunctions, constBindings, objectShorthand, reservedNamesAsProps } }) { + const { _, n, s } = compact ? { _: '', n: '', s: '' } : { _: ' ', n: '\n', s: ';' }; + const cnst = constBindings ? 'const' : 'var'; + const getNonArrowFunctionIntro = (parameters, { isAsync, name }) => `${isAsync ? `async ` : ''}function${name ? ` ${name}` : ''}${_}(${parameters.join(`,${_}`)})${_}`; + const getFunctionIntro = arrowFunctions + ? (parameters, { isAsync, name }) => { + const singleParameter = parameters.length === 1; + const asyncString = isAsync ? `async${singleParameter ? ' ' : _}` : ''; + return `${name ? `${cnst} ${name}${_}=${_}` : ''}${asyncString}${singleParameter ? parameters[0] : `(${parameters.join(`,${_}`)})`}${_}=>${_}`; + } + : getNonArrowFunctionIntro; + const getDirectReturnFunction = (parameters, { functionReturn, lineBreakIndent, name }) => [ + `${getFunctionIntro(parameters, { + isAsync: false, + name + })}${arrowFunctions + ? lineBreakIndent + ? `${n}${lineBreakIndent.base}${lineBreakIndent.t}` + : '' + : `{${lineBreakIndent ? `${n}${lineBreakIndent.base}${lineBreakIndent.t}` : _}${functionReturn ? 'return ' : ''}`}`, + arrowFunctions + ? `${name ? ';' : ''}${lineBreakIndent ? `${n}${lineBreakIndent.base}` : ''}` + : `${s}${lineBreakIndent ? `${n}${lineBreakIndent.base}` : _}}` + ]; + const isValidPropertyName = reservedNamesAsProps + ? (name) => VALID_IDENTIFIER_REGEXP.test(name) + : (name) => !RESERVED_NAMES.has(name) && VALID_IDENTIFIER_REGEXP.test(name); + return { + _, + cnst, + getDirectReturnFunction, + getDirectReturnIifeLeft: (parameters, returned, { needsArrowReturnParens, needsWrappedFunction }) => { + const [left, right] = getDirectReturnFunction(parameters, { + functionReturn: true, + lineBreakIndent: null, + name: null + }); + return `${wrapIfNeeded(`${left}${wrapIfNeeded(returned, arrowFunctions && needsArrowReturnParens)}${right}`, arrowFunctions || needsWrappedFunction)}(`; + }, + getFunctionIntro, + getNonArrowFunctionIntro, + getObject(fields, { lineBreakIndent }) { + const prefix = lineBreakIndent ? `${n}${lineBreakIndent.base}${lineBreakIndent.t}` : _; + return `{${fields + .map(([key, value]) => { + if (key === null) + return `${prefix}${value}`; + const keyInObject = stringifyObjectKeyIfNeeded(key); + return key === value && objectShorthand && key === keyInObject + ? prefix + key + : `${prefix}${keyInObject}:${_}${value}`; + }) + .join(`,`)}${fields.length === 0 ? '' : lineBreakIndent ? `${n}${lineBreakIndent.base}` : _}}`; + }, + getPropertyAccess: (name) => isValidPropertyName(name) ? `.${name}` : `[${JSON.stringify(name)}]`, + n, + s + }; +} +const wrapIfNeeded = (code, needsParens) => needsParens ? `(${code})` : code; + +class Source { + constructor(filename, content) { + this.isOriginal = true; + this.filename = filename; + this.content = content; + } + traceSegment(line, column, name) { + return { column, line, name, source: this }; + } +} +class Link { + constructor(map, sources) { + this.sources = sources; + this.names = map.names; + this.mappings = map.mappings; + } + traceMappings() { + const sources = []; + const sourceIndexMap = new Map(); + const sourcesContent = []; + const names = []; + const nameIndexMap = new Map(); + const mappings = []; + for (const line of this.mappings) { + const tracedLine = []; + for (const segment of line) { + if (segment.length === 1) + continue; + const source = this.sources[segment[1]]; + if (!source) + continue; + const traced = source.traceSegment(segment[2], segment[3], segment.length === 5 ? this.names[segment[4]] : ''); + if (traced) { + const { column, line, name, source: { content, filename } } = traced; + let sourceIndex = sourceIndexMap.get(filename); + if (sourceIndex === undefined) { + sourceIndex = sources.length; + sources.push(filename); + sourceIndexMap.set(filename, sourceIndex); + sourcesContent[sourceIndex] = content; + } + else if (sourcesContent[sourceIndex] == null) { + sourcesContent[sourceIndex] = content; + } + else if (content != null && sourcesContent[sourceIndex] !== content) { + return error(logConflictingSourcemapSources(filename)); + } + const tracedSegment = [segment[0], sourceIndex, line, column]; + if (name) { + let nameIndex = nameIndexMap.get(name); + if (nameIndex === undefined) { + nameIndex = names.length; + names.push(name); + nameIndexMap.set(name, nameIndex); + } + tracedSegment[4] = nameIndex; + } + tracedLine.push(tracedSegment); + } + } + mappings.push(tracedLine); + } + return { mappings, names, sources, sourcesContent }; + } + traceSegment(line, column, name) { + const segments = this.mappings[line]; + if (!segments) + return null; + // binary search through segments for the given column + let searchStart = 0; + let searchEnd = segments.length - 1; + while (searchStart <= searchEnd) { + const m = (searchStart + searchEnd) >> 1; + const segment = segments[m]; + // If a sourcemap does not have sufficient resolution to contain a + // necessary mapping, e.g. because it only contains line information, we + // use the best approximation we could find + if (segment[0] === column || searchStart === searchEnd) { + if (segment.length == 1) + return null; + const source = this.sources[segment[1]]; + if (!source) + return null; + return source.traceSegment(segment[2], segment[3], segment.length === 5 ? this.names[segment[4]] : name); + } + if (segment[0] > column) { + searchEnd = m - 1; + } + else { + searchStart = m + 1; + } + } + return null; + } +} +function getLinkMap(log) { + return function linkMap(source, map) { + if (!map.missing) { + return new Link(map, [source]); + } + log(LOGLEVEL_WARN, logSourcemapBroken(map.plugin)); + return new Link({ + mappings: [], + names: [] + }, [source]); + }; +} +function getCollapsedSourcemap(id, originalCode, originalSourcemap, sourcemapChain, linkMap) { + let source; + if (originalSourcemap) { + const sources = originalSourcemap.sources; + const sourcesContent = originalSourcemap.sourcesContent || []; + const directory = dirname(id) || '.'; + const sourceRoot = originalSourcemap.sourceRoot || '.'; + const baseSources = sources.map((source, index) => new Source(resolve$1(directory, sourceRoot, source), sourcesContent[index])); + source = new Link(originalSourcemap, baseSources); + } + else { + source = new Source(id, originalCode); + } + return sourcemapChain.reduce(linkMap, source); +} +function collapseSourcemaps(file, map, modules, bundleSourcemapChain, excludeContent, log) { + const linkMap = getLinkMap(log); + const moduleSources = modules + .filter(module => !module.excludeFromSourcemap) + .map(module => getCollapsedSourcemap(module.id, module.originalCode, module.originalSourcemap, module.sourcemapChain, linkMap)); + const link = new Link(map, moduleSources); + const source = bundleSourcemapChain.reduce(linkMap, link); + let { sources, sourcesContent, names, mappings } = source.traceMappings(); + if (file) { + const directory = dirname(file); + sources = sources.map((source) => relative(directory, source)); + file = basename(file); + } + sourcesContent = (excludeContent ? null : sourcesContent); + for (const module of modules) { + resetSourcemapCache(module.originalSourcemap, module.sourcemapChain); + } + return new SourceMap({ file, mappings, names, sources, sourcesContent }); +} +function collapseSourcemap(id, originalCode, originalSourcemap, sourcemapChain, log) { + if (sourcemapChain.length === 0) { + return originalSourcemap; + } + const source = getCollapsedSourcemap(id, originalCode, originalSourcemap, sourcemapChain, getLinkMap(log)); + const map = source.traceMappings(); + return decodedSourcemap({ version: 3, ...map }); +} + +let textEncoder; +const getHash64 = input => xxhashBase64Url(ensureBuffer(input)); +const getHash36 = input => xxhashBase36(ensureBuffer(input)); +const getHash16 = input => xxhashBase16(ensureBuffer(input)); +const hasherByType = { + base36: getHash36, + base64: getHash64, + hex: getHash16 +}; +function ensureBuffer(input) { + if (typeof input === 'string') { + if (typeof Buffer === 'undefined') { + textEncoder ??= new TextEncoder(); + return textEncoder.encode(input); + } + return Buffer.from(input); + } + return input; +} + +// this looks ridiculous, but it prevents sourcemap tooling from mistaking +// this for an actual sourceMappingURL +let SOURCEMAPPING_URL = 'sourceMa'; +SOURCEMAPPING_URL += 'ppingURL'; + +async function renderChunks(chunks, bundle, pluginDriver, outputOptions, log) { + timeStart('render chunks', 2); + reserveEntryChunksInBundle(chunks); + const renderedChunks = await Promise.all(chunks.map(chunk => chunk.render())); + timeEnd('render chunks', 2); + timeStart('transform chunks', 2); + const getHash = hasherByType[outputOptions.hashCharacters]; + const chunkGraph = getChunkGraph(chunks); + const { initialHashesByPlaceholder, nonHashedChunksWithPlaceholders, renderedChunksByPlaceholder, hashDependenciesByPlaceholder } = await transformChunksAndGenerateContentHashes(renderedChunks, chunkGraph, outputOptions, pluginDriver, getHash, log); + const hashesByPlaceholder = generateFinalHashes(renderedChunksByPlaceholder, hashDependenciesByPlaceholder, initialHashesByPlaceholder, bundle, getHash); + addChunksToBundle(renderedChunksByPlaceholder, hashesByPlaceholder, bundle, nonHashedChunksWithPlaceholders, pluginDriver, outputOptions); + timeEnd('transform chunks', 2); +} +function reserveEntryChunksInBundle(chunks) { + for (const chunk of chunks) { + if (chunk.facadeModule && chunk.facadeModule.isUserDefinedEntryPoint) { + // reserves name in bundle as side effect if it does not contain a hash + chunk.getPreliminaryFileName(); + } + } +} +function getChunkGraph(chunks) { + return Object.fromEntries(chunks.map(chunk => { + const renderedChunkInfo = chunk.getRenderedChunkInfo(); + return [renderedChunkInfo.fileName, renderedChunkInfo]; + })); +} +async function transformChunk(magicString, fileName, usedModules, chunkGraph, options, outputPluginDriver, log) { + let map = null; + const sourcemapChain = []; + let code = await outputPluginDriver.hookReduceArg0('renderChunk', [magicString.toString(), chunkGraph[fileName], options, { chunks: chunkGraph }], (code, result, plugin) => { + if (result == null) + return code; + if (typeof result === 'string') + result = { + code: result, + map: undefined + }; + // strict null check allows 'null' maps to not be pushed to the chain, while 'undefined' gets the missing map warning + if (result.map !== null) { + const map = decodedSourcemap(result.map); + sourcemapChain.push(map || { missing: true, plugin: plugin.name }); + } + return result.code; + }); + const { compact, dir, file, sourcemap, sourcemapExcludeSources, sourcemapFile, sourcemapPathTransform, sourcemapIgnoreList } = options; + if (!compact && code[code.length - 1] !== '\n') + code += '\n'; + if (sourcemap) { + timeStart('sourcemaps', 3); + let resultingFile; + if (file) + resultingFile = resolve$1(sourcemapFile || file); + else if (dir) + resultingFile = resolve$1(dir, fileName); + else + resultingFile = resolve$1(fileName); + const decodedMap = magicString.generateDecodedMap({}); + map = collapseSourcemaps(resultingFile, decodedMap, usedModules, sourcemapChain, sourcemapExcludeSources, log); + for (let sourcesIndex = 0; sourcesIndex < map.sources.length; ++sourcesIndex) { + let sourcePath = map.sources[sourcesIndex]; + const sourcemapPath = `${resultingFile}.map`; + const ignoreList = sourcemapIgnoreList(sourcePath, sourcemapPath); + if (typeof ignoreList !== 'boolean') { + error(logFailedValidation('sourcemapIgnoreList function must return a boolean.')); + } + if (ignoreList) { + if (map.x_google_ignoreList === undefined) { + map.x_google_ignoreList = []; + } + if (!map.x_google_ignoreList.includes(sourcesIndex)) { + map.x_google_ignoreList.push(sourcesIndex); + } + } + if (sourcemapPathTransform) { + sourcePath = sourcemapPathTransform(sourcePath, sourcemapPath); + if (typeof sourcePath !== 'string') { + error(logFailedValidation(`sourcemapPathTransform function must return a string.`)); + } + } + map.sources[sourcesIndex] = normalize(sourcePath); + } + timeEnd('sourcemaps', 3); + } + return { + code, + map + }; +} +async function transformChunksAndGenerateContentHashes(renderedChunks, chunkGraph, outputOptions, pluginDriver, getHash, log) { + const nonHashedChunksWithPlaceholders = []; + const renderedChunksByPlaceholder = new Map(); + const hashDependenciesByPlaceholder = new Map(); + const initialHashesByPlaceholder = new Map(); + const placeholders = new Set(); + for (const { preliminaryFileName: { hashPlaceholder } } of renderedChunks) { + if (hashPlaceholder) + placeholders.add(hashPlaceholder); + } + await Promise.all(renderedChunks.map(async ({ chunk, preliminaryFileName: { fileName, hashPlaceholder }, preliminarySourcemapFileName, magicString, usedModules }) => { + const transformedChunk = { + chunk, + fileName, + sourcemapFileName: preliminarySourcemapFileName?.fileName ?? null, + ...(await transformChunk(magicString, fileName, usedModules, chunkGraph, outputOptions, pluginDriver, log)) + }; + const { code, map } = transformedChunk; + if (hashPlaceholder) { + // To create a reproducible content-only hash, all placeholders are + // replaced with the same value before hashing + const { containedPlaceholders, transformedCode } = replacePlaceholdersWithDefaultAndGetContainedPlaceholders(code, placeholders); + let contentToHash = transformedCode; + const hashAugmentation = pluginDriver.hookReduceValueSync('augmentChunkHash', '', [chunk.getRenderedChunkInfo()], (augmentation, pluginHash) => { + if (pluginHash) { + augmentation += pluginHash; + } + return augmentation; + }); + if (hashAugmentation) { + contentToHash += hashAugmentation; + } + renderedChunksByPlaceholder.set(hashPlaceholder, transformedChunk); + hashDependenciesByPlaceholder.set(hashPlaceholder, { + containedPlaceholders, + contentHash: getHash(contentToHash) + }); + } + else { + nonHashedChunksWithPlaceholders.push(transformedChunk); + } + const sourcemapHashPlaceholder = preliminarySourcemapFileName?.hashPlaceholder; + if (map && sourcemapHashPlaceholder) { + initialHashesByPlaceholder.set(preliminarySourcemapFileName.hashPlaceholder, getHash(map.toString()).slice(0, preliminarySourcemapFileName.hashPlaceholder.length)); + } + })); + return { + hashDependenciesByPlaceholder, + initialHashesByPlaceholder, + nonHashedChunksWithPlaceholders, + renderedChunksByPlaceholder + }; +} +function generateFinalHashes(renderedChunksByPlaceholder, hashDependenciesByPlaceholder, initialHashesByPlaceholder, bundle, getHash) { + const hashesByPlaceholder = new Map(initialHashesByPlaceholder); + for (const [placeholder, { fileName }] of renderedChunksByPlaceholder) { + let contentToHash = ''; + const hashDependencyPlaceholders = new Set([placeholder]); + for (const dependencyPlaceholder of hashDependencyPlaceholders) { + const { containedPlaceholders, contentHash } = hashDependenciesByPlaceholder.get(dependencyPlaceholder); + contentToHash += contentHash; + for (const containedPlaceholder of containedPlaceholders) { + // When looping over a map, setting an entry only causes a new iteration if the key is new + hashDependencyPlaceholders.add(containedPlaceholder); + } + } + let finalFileName; + let finalHash; + do { + // In case of a hash collision, create a hash of the hash + if (finalHash) { + contentToHash = finalHash; + } + finalHash = getHash(contentToHash).slice(0, placeholder.length); + finalFileName = replaceSinglePlaceholder(fileName, placeholder, finalHash); + } while (bundle[lowercaseBundleKeys].has(finalFileName.toLowerCase())); + bundle[finalFileName] = FILE_PLACEHOLDER; + hashesByPlaceholder.set(placeholder, finalHash); + } + return hashesByPlaceholder; +} +function addChunksToBundle(renderedChunksByPlaceholder, hashesByPlaceholder, bundle, nonHashedChunksWithPlaceholders, pluginDriver, options) { + for (const { chunk, code, fileName, sourcemapFileName, map } of renderedChunksByPlaceholder.values()) { + let updatedCode = replacePlaceholders(code, hashesByPlaceholder); + const finalFileName = replacePlaceholders(fileName, hashesByPlaceholder); + let finalSourcemapFileName = null; + if (map) { + finalSourcemapFileName = sourcemapFileName + ? replacePlaceholders(sourcemapFileName, hashesByPlaceholder) + : `${finalFileName}.map`; + map.file = replacePlaceholders(map.file, hashesByPlaceholder); + updatedCode += emitSourceMapAndGetComment(finalSourcemapFileName, map, pluginDriver, options); + } + bundle[finalFileName] = chunk.finalizeChunk(updatedCode, map, finalSourcemapFileName, hashesByPlaceholder); + } + for (const { chunk, code, fileName, sourcemapFileName, map } of nonHashedChunksWithPlaceholders) { + let updatedCode = hashesByPlaceholder.size > 0 ? replacePlaceholders(code, hashesByPlaceholder) : code; + let finalSourcemapFileName = null; + if (map) { + finalSourcemapFileName = sourcemapFileName + ? replacePlaceholders(sourcemapFileName, hashesByPlaceholder) + : `${fileName}.map`; + updatedCode += emitSourceMapAndGetComment(finalSourcemapFileName, map, pluginDriver, options); + } + bundle[fileName] = chunk.finalizeChunk(updatedCode, map, finalSourcemapFileName, hashesByPlaceholder); + } +} +function emitSourceMapAndGetComment(fileName, map, pluginDriver, { sourcemap, sourcemapBaseUrl }) { + let url; + if (sourcemap === 'inline') { + url = map.toUrl(); + } + else { + const sourcemapFileName = basename(fileName); + url = sourcemapBaseUrl + ? new URL(sourcemapFileName, sourcemapBaseUrl).toString() + : sourcemapFileName; + pluginDriver.emitFile({ fileName, source: map.toString(), type: 'asset' }); + } + return sourcemap === 'hidden' ? '' : `//# ${SOURCEMAPPING_URL}=${url}\n`; +} + +class Bundle { + constructor(outputOptions, unsetOptions, inputOptions, pluginDriver, graph) { + this.outputOptions = outputOptions; + this.unsetOptions = unsetOptions; + this.inputOptions = inputOptions; + this.pluginDriver = pluginDriver; + this.graph = graph; + this.facadeChunkByModule = new Map(); + this.includedNamespaces = new Set(); + } + async generate(isWrite) { + timeStart('GENERATE', 1); + const outputBundleBase = Object.create(null); + const outputBundle = getOutputBundle(outputBundleBase); + this.pluginDriver.setOutputBundle(outputBundle, this.outputOptions); + try { + timeStart('initialize render', 2); + await this.pluginDriver.hookParallel('renderStart', [this.outputOptions, this.inputOptions]); + timeEnd('initialize render', 2); + timeStart('generate chunks', 2); + const getHashPlaceholder = getHashPlaceholderGenerator(); + const chunks = await this.generateChunks(outputBundle, getHashPlaceholder); + if (chunks.length > 1) { + validateOptionsForMultiChunkOutput(this.outputOptions, this.inputOptions.onLog); + } + this.pluginDriver.setChunkInformation(this.facadeChunkByModule); + for (const chunk of chunks) { + chunk.generateExports(); + } + timeEnd('generate chunks', 2); + await renderChunks(chunks, outputBundle, this.pluginDriver, this.outputOptions, this.inputOptions.onLog); + } + catch (error_) { + await this.pluginDriver.hookParallel('renderError', [error_]); + throw error_; + } + removeUnreferencedAssets(outputBundle); + timeStart('generate bundle', 2); + await this.pluginDriver.hookSeq('generateBundle', [ + this.outputOptions, + outputBundle, + isWrite + ]); + this.finaliseAssets(outputBundle); + timeEnd('generate bundle', 2); + timeEnd('GENERATE', 1); + return outputBundleBase; + } + async addManualChunks(manualChunks) { + const manualChunkAliasByEntry = new Map(); + const chunkEntries = await Promise.all(Object.entries(manualChunks).map(async ([alias, files]) => ({ + alias, + entries: await this.graph.moduleLoader.addAdditionalModules(files, true) + }))); + for (const { alias, entries } of chunkEntries) { + for (const entry of entries) { + addModuleToManualChunk(alias, entry, manualChunkAliasByEntry); + } + } + return manualChunkAliasByEntry; + } + assignManualChunks(getManualChunk) { + // eslint-disable-next-line unicorn/prefer-module + const manualChunkAliasesWithEntry = []; + const manualChunksApi = { + getModuleIds: () => this.graph.modulesById.keys(), + getModuleInfo: this.graph.getModuleInfo + }; + for (const module of this.graph.modulesById.values()) { + if (module instanceof Module) { + const manualChunkAlias = getManualChunk(module.id, manualChunksApi); + if (typeof manualChunkAlias === 'string') { + manualChunkAliasesWithEntry.push([manualChunkAlias, module]); + } + } + } + manualChunkAliasesWithEntry.sort(([aliasA], [aliasB]) => aliasA > aliasB ? 1 : aliasA < aliasB ? -1 : 0); + const manualChunkAliasByEntry = new Map(); + for (const [alias, module] of manualChunkAliasesWithEntry) { + addModuleToManualChunk(alias, module, manualChunkAliasByEntry); + } + return manualChunkAliasByEntry; + } + finaliseAssets(bundle) { + if (this.outputOptions.validate) { + for (const file of Object.values(bundle)) { + if ('code' in file) { + try { + parseAst(file.code); + } + catch (error_) { + this.inputOptions.onLog(LOGLEVEL_WARN, logChunkInvalid(file, error_)); + } + } + } + } + this.pluginDriver.finaliseAssets(); + } + async generateChunks(bundle, getHashPlaceholder) { + const { experimentalMinChunkSize, inlineDynamicImports, manualChunks, preserveModules } = this.outputOptions; + const manualChunkAliasByEntry = typeof manualChunks === 'object' + ? await this.addManualChunks(manualChunks) + : this.assignManualChunks(manualChunks); + const snippets = getGenerateCodeSnippets(this.outputOptions); + const includedModules = getIncludedModules(this.graph.modulesById); + const inputBase = commondir(getAbsoluteEntryModulePaths(includedModules, preserveModules)); + const externalChunkByModule = getExternalChunkByModule(this.graph.modulesById, this.outputOptions, inputBase); + const chunks = []; + const chunkByModule = new Map(); + for (const { alias, modules } of inlineDynamicImports + ? [{ alias: null, modules: includedModules }] + : preserveModules + ? includedModules.map(module => ({ alias: null, modules: [module] })) + : getChunkAssignments(this.graph.entryModules, manualChunkAliasByEntry, experimentalMinChunkSize, this.inputOptions.onLog)) { + sortByExecutionOrder(modules); + const chunk = new Chunk(modules, this.inputOptions, this.outputOptions, this.unsetOptions, this.pluginDriver, this.graph.modulesById, chunkByModule, externalChunkByModule, this.facadeChunkByModule, this.includedNamespaces, alias, getHashPlaceholder, bundle, inputBase, snippets); + chunks.push(chunk); + } + for (const chunk of chunks) { + chunk.link(); + } + const facades = []; + for (const chunk of chunks) { + facades.push(...chunk.generateFacades()); + } + return [...chunks, ...facades]; + } +} +function validateOptionsForMultiChunkOutput(outputOptions, log) { + if (outputOptions.format === 'umd' || outputOptions.format === 'iife') + return error(logInvalidOption('output.format', URL_OUTPUT_FORMAT, 'UMD and IIFE output formats are not supported for code-splitting builds', outputOptions.format)); + if (typeof outputOptions.file === 'string') + return error(logInvalidOption('output.file', URL_OUTPUT_DIR, 'when building multiple chunks, the "output.dir" option must be used, not "output.file". To inline dynamic imports, set the "inlineDynamicImports" option')); + if (outputOptions.sourcemapFile) + return error(logInvalidOption('output.sourcemapFile', URL_OUTPUT_SOURCEMAPFILE, '"output.sourcemapFile" is only supported for single-file builds')); + if (!outputOptions.amd.autoId && outputOptions.amd.id) + log(LOGLEVEL_WARN, logInvalidOption('output.amd.id', URL_OUTPUT_AMD_ID, 'this option is only properly supported for single-file builds. Use "output.amd.autoId" and "output.amd.basePath" instead')); +} +function getIncludedModules(modulesById) { + const includedModules = []; + for (const module of modulesById.values()) { + if (module instanceof Module && + (module.isIncluded() || module.info.isEntry || module.includedDynamicImporters.length > 0)) { + includedModules.push(module); + } + } + return includedModules; +} +function getAbsoluteEntryModulePaths(includedModules, preserveModules) { + const absoluteEntryModulePaths = []; + for (const module of includedModules) { + if ((module.info.isEntry || preserveModules) && isAbsolute$1(module.id)) { + absoluteEntryModulePaths.push(module.id); + } + } + return absoluteEntryModulePaths; +} +function getExternalChunkByModule(modulesById, outputOptions, inputBase) { + const externalChunkByModule = new Map(); + for (const module of modulesById.values()) { + if (module instanceof ExternalModule) { + externalChunkByModule.set(module, new ExternalChunk(module, outputOptions, inputBase)); + } + } + return externalChunkByModule; +} +function addModuleToManualChunk(alias, module, manualChunkAliasByEntry) { + const existingAlias = manualChunkAliasByEntry.get(module); + if (typeof existingAlias === 'string' && existingAlias !== alias) { + return error(logCannotAssignModuleToChunk(module.id, alias, existingAlias)); + } + manualChunkAliasByEntry.set(module, alias); +} + +function flru (max) { + var num, curr, prev; + var limit = max || 1; + + function keep(key, value) { + if (++num > limit) { + prev = curr; + reset(1); + ++num; + } + curr[key] = value; + } + + function reset(isPartial) { + num = 0; + curr = Object.create(null); + isPartial || (prev=Object.create(null)); + } + + reset(); + + return { + clear: reset, + has: function (key) { + return curr[key] !== void 0 || prev[key] !== void 0; + }, + get: function (key) { + var val = curr[key]; + if (val !== void 0) return val; + if ((val=prev[key]) !== void 0) { + keep(key, val); + return val; + } + }, + set: function (key, value) { + if (curr[key] !== void 0) { + curr[key] = value; + } else { + keep(key, value); + } + } + }; +} + +function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes) { + let skipped = null; + let replaceContext = null; + if (skip) { + skipped = new Set(); + for (const skippedCall of skip) { + if (source === skippedCall.source && importer === skippedCall.importer) { + skipped.add(skippedCall.plugin); + } + } + replaceContext = (pluginContext, plugin) => ({ + ...pluginContext, + resolve: (source, importer, { attributes, custom, isEntry, skipSelf } = BLANK) => { + skipSelf ??= true; + return moduleLoaderResolveId(source, importer, custom, isEntry, attributes || EMPTY_OBJECT, skipSelf ? [...skip, { importer, plugin, source }] : skip); + } + }); + } + return pluginDriver.hookFirstAndGetPlugin('resolveId', [source, importer, { attributes, custom: customOptions, isEntry }], replaceContext, skipped); +} + +async function resolveId(source, importer, preserveSymlinks, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes) { + const pluginResult = await resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes); + if (pluginResult != null) { + const [resolveIdResult, plugin] = pluginResult; + if (typeof resolveIdResult === 'object' && !resolveIdResult.resolvedBy) { + return { + ...resolveIdResult, + resolvedBy: plugin.name + }; + } + if (typeof resolveIdResult === 'string') { + return { + id: resolveIdResult, + resolvedBy: plugin.name + }; + } + return resolveIdResult; + } + // external modules (non-entry modules that start with neither '.' or '/') + // are skipped at this stage. + if (importer !== undefined && !isAbsolute$1(source) && source[0] !== '.') + return null; + // `resolve` processes paths from right to left, prepending them until an + // absolute path is created. Absolute importees therefore shortcircuit the + // resolve call and require no special handing on our part. + // See https://nodejs.org/api/path.html#path_path_resolve_paths + return addJsExtensionIfNecessary(importer ? resolve$1(dirname(importer), source) : resolve$1(source), preserveSymlinks); +} +async function addJsExtensionIfNecessary(file, preserveSymlinks) { + return ((await findFile(file, preserveSymlinks)) ?? + (await findFile(file + '.mjs', preserveSymlinks)) ?? + (await findFile(file + '.js', preserveSymlinks))); +} +async function findFile(file, preserveSymlinks) { + try { + const stats = await lstat(file); + if (!preserveSymlinks && stats.isSymbolicLink()) + return await findFile(await realpath(file), preserveSymlinks); + if ((preserveSymlinks && stats.isSymbolicLink()) || stats.isFile()) { + // check case + const name = basename(file); + const files = await readdir(dirname(file)); + if (files.includes(name)) + return file; + } + } + catch { + // suppress + } +} + +const ANONYMOUS_PLUGIN_PREFIX = 'at position '; +const ANONYMOUS_OUTPUT_PLUGIN_PREFIX = 'at output position '; + +function createPluginCache(cache) { + return { + delete(id) { + return delete cache[id]; + }, + get(id) { + const item = cache[id]; + if (!item) + return; + item[0] = 0; + return item[1]; + }, + has(id) { + const item = cache[id]; + if (!item) + return false; + item[0] = 0; + return true; + }, + set(id, value) { + cache[id] = [0, value]; + } + }; +} +function getTrackedPluginCache(pluginCache, onUse) { + return { + delete(id) { + onUse(); + return pluginCache.delete(id); + }, + get(id) { + onUse(); + return pluginCache.get(id); + }, + has(id) { + onUse(); + return pluginCache.has(id); + }, + set(id, value) { + onUse(); + return pluginCache.set(id, value); + } + }; +} +const NO_CACHE = { + delete() { + return false; + }, + get() { + return undefined; + }, + has() { + return false; + }, + set() { } +}; +function uncacheablePluginError(pluginName) { + if (pluginName.startsWith(ANONYMOUS_PLUGIN_PREFIX) || + pluginName.startsWith(ANONYMOUS_OUTPUT_PLUGIN_PREFIX)) { + return error(logAnonymousPluginCache()); + } + return error(logDuplicatePluginName(pluginName)); +} +function getCacheForUncacheablePlugin(pluginName) { + return { + delete() { + return uncacheablePluginError(pluginName); + }, + get() { + return uncacheablePluginError(pluginName); + }, + has() { + return uncacheablePluginError(pluginName); + }, + set() { + return uncacheablePluginError(pluginName); + } + }; +} + +async function asyncFlatten(array) { + do { + array = (await Promise.all(array)).flat(Infinity); + } while (array.some((v) => v?.then)); + return array; +} + +const getOnLog = (config, logLevel, printLog = defaultPrintLog) => { + const { onwarn, onLog } = config; + const defaultOnLog = getDefaultOnLog(printLog, onwarn); + if (onLog) { + const minimalPriority = logLevelPriority[logLevel]; + return (level, log) => onLog(level, addLogToString(log), (level, handledLog) => { + if (level === LOGLEVEL_ERROR) { + return error(normalizeLog(handledLog)); + } + if (logLevelPriority[level] >= minimalPriority) { + defaultOnLog(level, normalizeLog(handledLog)); + } + }); + } + return defaultOnLog; +}; +const getDefaultOnLog = (printLog, onwarn) => onwarn + ? (level, log) => { + if (level === LOGLEVEL_WARN) { + onwarn(addLogToString(log), warning => printLog(LOGLEVEL_WARN, normalizeLog(warning))); + } + else { + printLog(level, log); + } + } + : printLog; +const addLogToString = (log) => { + Object.defineProperty(log, 'toString', { + value: () => getExtendedLogMessage(log), + writable: true + }); + return log; +}; +const normalizeLog = (log) => typeof log === 'string' + ? { message: log } + : typeof log === 'function' + ? normalizeLog(log()) + : log; +const getExtendedLogMessage = (log) => { + let prefix = ''; + if (log.plugin) { + prefix += `(${log.plugin} plugin) `; + } + if (log.loc) { + prefix += `${relativeId(log.loc.file)} (${log.loc.line}:${log.loc.column}) `; + } + return prefix + log.message; +}; +const defaultPrintLog = (level, log) => { + const message = getExtendedLogMessage(log); + switch (level) { + case LOGLEVEL_WARN: { + return console.warn(message); + } + case LOGLEVEL_DEBUG: { + return console.debug(message); + } + default: { + return console.info(message); + } + } +}; +function warnUnknownOptions(passedOptions, validOptions, optionType, log, ignoredKeys = /$./) { + const validOptionSet = new Set(validOptions); + const unknownOptions = Object.keys(passedOptions).filter(key => !(validOptionSet.has(key) || ignoredKeys.test(key))); + if (unknownOptions.length > 0) { + log(LOGLEVEL_WARN, logUnknownOption(optionType, unknownOptions, [...validOptionSet].sort())); + } +} +const treeshakePresets = { + recommended: { + annotations: true, + correctVarValueBeforeDeclaration: false, + manualPureFunctions: EMPTY_ARRAY, + moduleSideEffects: () => true, + propertyReadSideEffects: true, + tryCatchDeoptimization: true, + unknownGlobalSideEffects: false + }, + safest: { + annotations: true, + correctVarValueBeforeDeclaration: true, + manualPureFunctions: EMPTY_ARRAY, + moduleSideEffects: () => true, + propertyReadSideEffects: true, + tryCatchDeoptimization: true, + unknownGlobalSideEffects: true + }, + smallest: { + annotations: true, + correctVarValueBeforeDeclaration: false, + manualPureFunctions: EMPTY_ARRAY, + moduleSideEffects: () => false, + propertyReadSideEffects: false, + tryCatchDeoptimization: false, + unknownGlobalSideEffects: false + } +}; +const generatedCodePresets = { + es2015: { + arrowFunctions: true, + constBindings: true, + objectShorthand: true, + reservedNamesAsProps: true, + symbols: true + }, + es5: { + arrowFunctions: false, + constBindings: false, + objectShorthand: false, + reservedNamesAsProps: true, + symbols: false + } +}; +const objectifyOption = (value) => value && typeof value === 'object' ? value : {}; +const objectifyOptionWithPresets = (presets, optionName, urlSnippet, additionalValues) => (value) => { + if (typeof value === 'string') { + const preset = presets[value]; + if (preset) { + return preset; + } + error(logInvalidOption(optionName, urlSnippet, `valid values are ${additionalValues}${printQuotedStringList(Object.keys(presets))}. You can also supply an object for more fine-grained control`, value)); + } + return objectifyOption(value); +}; +const getOptionWithPreset = (value, presets, optionName, urlSnippet, additionalValues) => { + const presetName = value?.preset; + if (presetName) { + const preset = presets[presetName]; + if (preset) { + return { ...preset, ...value }; + } + else { + error(logInvalidOption(`${optionName}.preset`, urlSnippet, `valid values are ${printQuotedStringList(Object.keys(presets))}`, presetName)); + } + } + return objectifyOptionWithPresets(presets, optionName, urlSnippet, additionalValues)(value); +}; +const normalizePluginOption = async (plugins) => (await asyncFlatten([plugins])).filter(Boolean); + +async function transform(source, module, pluginDriver, log) { + const id = module.id; + const sourcemapChain = []; + let originalSourcemap = source.map === null ? null : decodedSourcemap(source.map); + const originalCode = source.code; + let ast = source.ast; + const transformDependencies = []; + const emittedFiles = []; + let customTransformCache = false; + const useCustomTransformCache = () => (customTransformCache = true); + let pluginName = ''; + let currentSource = source.code; + function transformReducer(previousCode, result, plugin) { + let code; + let map; + if (typeof result === 'string') { + code = result; + } + else if (result && typeof result === 'object') { + module.updateOptions(result); + if (result.code == null) { + if (result.map || result.ast) { + log(LOGLEVEL_WARN, logNoTransformMapOrAstWithoutCode(plugin.name)); + } + return previousCode; + } + ({ code, map, ast } = result); + } + else { + return previousCode; + } + // strict null check allows 'null' maps to not be pushed to the chain, + // while 'undefined' gets the missing map warning + if (map !== null) { + sourcemapChain.push(decodedSourcemap(typeof map === 'string' ? JSON.parse(map) : map) || { + missing: true, + plugin: plugin.name + }); + } + currentSource = code; + return code; + } + const getLogHandler = (handler) => (log, pos) => { + log = normalizeLog(log); + if (pos) + augmentCodeLocation(log, pos, currentSource, id); + log.id = id; + log.hook = 'transform'; + handler(log); + }; + let code; + try { + code = await pluginDriver.hookReduceArg0('transform', [currentSource, id], transformReducer, (pluginContext, plugin) => { + pluginName = plugin.name; + return { + ...pluginContext, + addWatchFile(id) { + transformDependencies.push(id); + pluginContext.addWatchFile(id); + }, + cache: customTransformCache + ? pluginContext.cache + : getTrackedPluginCache(pluginContext.cache, useCustomTransformCache), + debug: getLogHandler(pluginContext.debug), + emitFile(emittedFile) { + emittedFiles.push(emittedFile); + return pluginDriver.emitFile(emittedFile); + }, + error(error_, pos) { + if (typeof error_ === 'string') + error_ = { message: error_ }; + if (pos) + augmentCodeLocation(error_, pos, currentSource, id); + error_.id = id; + error_.hook = 'transform'; + return pluginContext.error(error_); + }, + getCombinedSourcemap() { + const combinedMap = collapseSourcemap(id, originalCode, originalSourcemap, sourcemapChain, log); + if (!combinedMap) { + const magicString = new MagicString(originalCode); + return magicString.generateMap({ hires: true, includeContent: true, source: id }); + } + if (originalSourcemap !== combinedMap) { + originalSourcemap = combinedMap; + sourcemapChain.length = 0; + } + return new SourceMap({ + ...combinedMap, + file: null, + sourcesContent: combinedMap.sourcesContent + }); + }, + info: getLogHandler(pluginContext.info), + setAssetSource() { + return this.error(logInvalidSetAssetSourceCall()); + }, + warn: getLogHandler(pluginContext.warn) + }; + }); + } + catch (error_) { + return error(logPluginError(error_, pluginName, { hook: 'transform', id })); + } + if (!customTransformCache && // files emitted by a transform hook need to be emitted again if the hook is skipped + emittedFiles.length > 0) + module.transformFiles = emittedFiles; + return { + ast, + code, + customTransformCache, + originalCode, + originalSourcemap, + sourcemapChain, + transformDependencies + }; +} + +const RESOLVE_DEPENDENCIES = 'resolveDependencies'; +class ModuleLoader { + constructor(graph, modulesById, options, pluginDriver) { + this.graph = graph; + this.modulesById = modulesById; + this.options = options; + this.pluginDriver = pluginDriver; + this.implicitEntryModules = new Set(); + this.indexedEntryModules = []; + this.latestLoadModulesPromise = Promise.resolve(); + this.moduleLoadPromises = new Map(); + this.modulesWithLoadedDependencies = new Set(); + this.nextChunkNamePriority = 0; + this.nextEntryModuleIndex = 0; + this.resolveId = async (source, importer, customOptions, isEntry, attributes, skip = null) => this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(this.options.external(source, importer, false) + ? false + : await resolveId(source, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, skip, customOptions, typeof isEntry === 'boolean' ? isEntry : !importer, attributes), importer, source), attributes); + this.hasModuleSideEffects = options.treeshake + ? options.treeshake.moduleSideEffects + : () => true; + } + async addAdditionalModules(unresolvedModules, isAddForManualChunks) { + const result = this.extendLoadModulesPromise(Promise.all(unresolvedModules.map(id => this.loadEntryModule(id, false, undefined, null, isAddForManualChunks)))); + await this.awaitLoadModulesPromise(); + return result; + } + async addEntryModules(unresolvedEntryModules, isUserDefined) { + const firstEntryModuleIndex = this.nextEntryModuleIndex; + this.nextEntryModuleIndex += unresolvedEntryModules.length; + const firstChunkNamePriority = this.nextChunkNamePriority; + this.nextChunkNamePriority += unresolvedEntryModules.length; + const newEntryModules = await this.extendLoadModulesPromise(Promise.all(unresolvedEntryModules.map(({ id, importer }) => this.loadEntryModule(id, true, importer, null))).then(entryModules => { + for (const [index, entryModule] of entryModules.entries()) { + entryModule.isUserDefinedEntryPoint = + entryModule.isUserDefinedEntryPoint || isUserDefined; + addChunkNamesToModule(entryModule, unresolvedEntryModules[index], isUserDefined, firstChunkNamePriority + index); + const existingIndexedModule = this.indexedEntryModules.find(indexedModule => indexedModule.module === entryModule); + if (existingIndexedModule) { + existingIndexedModule.index = Math.min(existingIndexedModule.index, firstEntryModuleIndex + index); + } + else { + this.indexedEntryModules.push({ + index: firstEntryModuleIndex + index, + module: entryModule + }); + } + } + this.indexedEntryModules.sort(({ index: indexA }, { index: indexB }) => indexA > indexB ? 1 : -1); + return entryModules; + })); + await this.awaitLoadModulesPromise(); + return { + entryModules: this.indexedEntryModules.map(({ module }) => module), + implicitEntryModules: [...this.implicitEntryModules], + newEntryModules + }; + } + async emitChunk({ fileName, id, importer, name, implicitlyLoadedAfterOneOf, preserveSignature }) { + const unresolvedModule = { + fileName: fileName || null, + id, + importer, + name: name || null + }; + const module = implicitlyLoadedAfterOneOf + ? await this.addEntryWithImplicitDependants(unresolvedModule, implicitlyLoadedAfterOneOf) + : (await this.addEntryModules([unresolvedModule], false)).newEntryModules[0]; + if (preserveSignature != null) { + module.preserveSignature = preserveSignature; + } + return module; + } + async preloadModule(resolvedId) { + const module = await this.fetchModule(this.getResolvedIdWithDefaults(resolvedId, EMPTY_OBJECT), undefined, false, resolvedId.resolveDependencies ? RESOLVE_DEPENDENCIES : true); + return module.info; + } + addEntryWithImplicitDependants(unresolvedModule, implicitlyLoadedAfter) { + const chunkNamePriority = this.nextChunkNamePriority++; + return this.extendLoadModulesPromise(this.loadEntryModule(unresolvedModule.id, false, unresolvedModule.importer, null).then(async (entryModule) => { + addChunkNamesToModule(entryModule, unresolvedModule, false, chunkNamePriority); + if (!entryModule.info.isEntry) { + const implicitlyLoadedAfterModules = await Promise.all(implicitlyLoadedAfter.map(id => this.loadEntryModule(id, false, unresolvedModule.importer, entryModule.id))); + // We need to check again if this is still an entry module as these + // changes need to be performed atomically to avoid race conditions + // if the same module is re-emitted as an entry module. + // The inverse changes happen in "handleExistingModule" + if (!entryModule.info.isEntry) { + this.implicitEntryModules.add(entryModule); + for (const module of implicitlyLoadedAfterModules) { + entryModule.implicitlyLoadedAfter.add(module); + } + for (const dependant of entryModule.implicitlyLoadedAfter) { + dependant.implicitlyLoadedBefore.add(entryModule); + } + } + } + return entryModule; + })); + } + async addModuleSource(id, importer, module) { + let source; + try { + source = await this.graph.fileOperationQueue.run(async () => { + const content = await this.pluginDriver.hookFirst('load', [id]); + if (content !== null) + return content; + this.graph.watchFiles[id] = true; + return await readFile(id, 'utf8'); + }); + } + catch (error_) { + let message = `Could not load ${id}`; + if (importer) + message += ` (imported by ${relativeId(importer)})`; + message += `: ${error_.message}`; + error_.message = message; + throw error_; + } + const sourceDescription = typeof source === 'string' + ? { code: source } + : source != null && typeof source === 'object' && typeof source.code === 'string' + ? source + : error(logBadLoader(id)); + const code = sourceDescription.code; + /* eslint-disable-next-line unicorn/number-literal-case */ + if (code.charCodeAt(0) === 65279) { + sourceDescription.code = code.slice(1); + } + const cachedModule = this.graph.cachedModules.get(id); + if (cachedModule && + !cachedModule.customTransformCache && + cachedModule.originalCode === sourceDescription.code && + !(await this.pluginDriver.hookFirst('shouldTransformCachedModule', [ + { + ast: cachedModule.ast, + code: cachedModule.code, + id: cachedModule.id, + meta: cachedModule.meta, + moduleSideEffects: cachedModule.moduleSideEffects, + resolvedSources: cachedModule.resolvedIds, + syntheticNamedExports: cachedModule.syntheticNamedExports + } + ]))) { + if (cachedModule.transformFiles) { + for (const emittedFile of cachedModule.transformFiles) + this.pluginDriver.emitFile(emittedFile); + } + await module.setSource(cachedModule); + } + else { + module.updateOptions(sourceDescription); + await module.setSource(await transform(sourceDescription, module, this.pluginDriver, this.options.onLog)); + } + } + async awaitLoadModulesPromise() { + let startingPromise; + do { + startingPromise = this.latestLoadModulesPromise; + await startingPromise; + } while (startingPromise !== this.latestLoadModulesPromise); + } + extendLoadModulesPromise(loadNewModulesPromise) { + this.latestLoadModulesPromise = Promise.all([ + loadNewModulesPromise, + this.latestLoadModulesPromise + ]); + this.latestLoadModulesPromise.catch(() => { + /* Avoid unhandled Promise rejections */ + }); + return loadNewModulesPromise; + } + async fetchDynamicDependencies(module, resolveDynamicImportPromises) { + const dependencies = await Promise.all(resolveDynamicImportPromises.map(resolveDynamicImportPromise => resolveDynamicImportPromise.then(async ([dynamicImport, resolvedId]) => { + if (resolvedId === null) + return null; + if (typeof resolvedId === 'string') { + dynamicImport.resolution = resolvedId; + return null; + } + return (dynamicImport.resolution = await this.fetchResolvedDependency(relativeId(resolvedId.id), module.id, resolvedId)); + }))); + for (const dependency of dependencies) { + if (dependency) { + module.dynamicDependencies.add(dependency); + dependency.dynamicImporters.push(module.id); + } + } + } + // If this is a preload, then this method always waits for the dependencies of + // the module to be resolved. + // Otherwise, if the module does not exist, it waits for the module and all + // its dependencies to be loaded. + // Otherwise, it returns immediately. + async fetchModule({ attributes, id, meta, moduleSideEffects, syntheticNamedExports }, importer, isEntry, isPreload) { + const existingModule = this.modulesById.get(id); + if (existingModule instanceof Module) { + if (importer && doAttributesDiffer(attributes, existingModule.info.attributes)) { + this.options.onLog(LOGLEVEL_WARN, logInconsistentImportAttributes(existingModule.info.attributes, attributes, id, importer)); + } + await this.handleExistingModule(existingModule, isEntry, isPreload); + return existingModule; + } + if (existingModule instanceof ExternalModule) { + return error(logExternalModulesCannotBeTransformedToModules(existingModule.id)); + } + const module = new Module(this.graph, id, this.options, isEntry, moduleSideEffects, syntheticNamedExports, meta, attributes); + this.modulesById.set(id, module); + const loadPromise = this.addModuleSource(id, importer, module).then(() => [ + this.getResolveStaticDependencyPromises(module), + this.getResolveDynamicImportPromises(module), + loadAndResolveDependenciesPromise + ]); + const loadAndResolveDependenciesPromise = waitForDependencyResolution(loadPromise).then(() => this.pluginDriver.hookParallel('moduleParsed', [module.info])); + loadAndResolveDependenciesPromise.catch(() => { + /* avoid unhandled promise rejections */ + }); + this.moduleLoadPromises.set(module, loadPromise); + const resolveDependencyPromises = await loadPromise; + if (!isPreload) { + await this.fetchModuleDependencies(module, ...resolveDependencyPromises); + } + else if (isPreload === RESOLVE_DEPENDENCIES) { + await loadAndResolveDependenciesPromise; + } + return module; + } + async fetchModuleDependencies(module, resolveStaticDependencyPromises, resolveDynamicDependencyPromises, loadAndResolveDependenciesPromise) { + if (this.modulesWithLoadedDependencies.has(module)) { + return; + } + this.modulesWithLoadedDependencies.add(module); + await Promise.all([ + this.fetchStaticDependencies(module, resolveStaticDependencyPromises), + this.fetchDynamicDependencies(module, resolveDynamicDependencyPromises) + ]); + module.linkImports(); + // To handle errors when resolving dependencies or in moduleParsed + await loadAndResolveDependenciesPromise; + } + fetchResolvedDependency(source, importer, resolvedId) { + if (resolvedId.external) { + const { attributes, external, id, moduleSideEffects, meta } = resolvedId; + let externalModule = this.modulesById.get(id); + if (!externalModule) { + externalModule = new ExternalModule(this.options, id, moduleSideEffects, meta, external !== 'absolute' && isAbsolute$1(id), attributes); + this.modulesById.set(id, externalModule); + } + else if (!(externalModule instanceof ExternalModule)) { + return error(logInternalIdCannotBeExternal(source, importer)); + } + else if (doAttributesDiffer(externalModule.info.attributes, attributes)) { + this.options.onLog(LOGLEVEL_WARN, logInconsistentImportAttributes(externalModule.info.attributes, attributes, source, importer)); + } + return Promise.resolve(externalModule); + } + return this.fetchModule(resolvedId, importer, false, false); + } + async fetchStaticDependencies(module, resolveStaticDependencyPromises) { + for (const dependency of await Promise.all(resolveStaticDependencyPromises.map(resolveStaticDependencyPromise => resolveStaticDependencyPromise.then(([source, resolvedId]) => this.fetchResolvedDependency(source, module.id, resolvedId))))) { + module.dependencies.add(dependency); + dependency.importers.push(module.id); + } + if (!this.options.treeshake || module.info.moduleSideEffects === 'no-treeshake') { + for (const dependency of module.dependencies) { + if (dependency instanceof Module) { + dependency.importedFromNotTreeshaken = true; + } + } + } + } + getNormalizedResolvedIdWithoutDefaults(resolveIdResult, importer, source) { + const { makeAbsoluteExternalsRelative } = this.options; + if (resolveIdResult) { + if (typeof resolveIdResult === 'object') { + const external = resolveIdResult.external || this.options.external(resolveIdResult.id, importer, true); + return { + ...resolveIdResult, + external: external && + (external === 'relative' || + !isAbsolute$1(resolveIdResult.id) || + (external === true && + isNotAbsoluteExternal(resolveIdResult.id, source, makeAbsoluteExternalsRelative)) || + 'absolute') + }; + } + const external = this.options.external(resolveIdResult, importer, true); + return { + external: external && + (isNotAbsoluteExternal(resolveIdResult, source, makeAbsoluteExternalsRelative) || + 'absolute'), + id: external && makeAbsoluteExternalsRelative + ? normalizeRelativeExternalId(resolveIdResult, importer) + : resolveIdResult + }; + } + const id = makeAbsoluteExternalsRelative + ? normalizeRelativeExternalId(source, importer) + : source; + if (resolveIdResult !== false && !this.options.external(id, importer, true)) { + return null; + } + return { + external: isNotAbsoluteExternal(id, source, makeAbsoluteExternalsRelative) || 'absolute', + id + }; + } + getResolveDynamicImportPromises(module) { + return module.dynamicImports.map(async (dynamicImport) => { + const resolvedId = await this.resolveDynamicImport(module, typeof dynamicImport.argument === 'string' + ? dynamicImport.argument + : dynamicImport.argument.esTreeNode, module.id, getAttributesFromImportExpression(dynamicImport.node)); + if (resolvedId && typeof resolvedId === 'object') { + dynamicImport.id = resolvedId.id; + } + return [dynamicImport, resolvedId]; + }); + } + getResolveStaticDependencyPromises(module) { + // eslint-disable-next-line unicorn/prefer-spread + return Array.from(module.sourcesWithAttributes, async ([source, attributes]) => [ + source, + (module.resolvedIds[source] = + module.resolvedIds[source] || + this.handleInvalidResolvedId(await this.resolveId(source, module.id, EMPTY_OBJECT, false, attributes), source, module.id, attributes)) + ]); + } + getResolvedIdWithDefaults(resolvedId, attributes) { + if (!resolvedId) { + return null; + } + const external = resolvedId.external || false; + return { + attributes: resolvedId.attributes || attributes, + external, + id: resolvedId.id, + meta: resolvedId.meta || {}, + moduleSideEffects: resolvedId.moduleSideEffects ?? this.hasModuleSideEffects(resolvedId.id, !!external), + resolvedBy: resolvedId.resolvedBy ?? 'rollup', + syntheticNamedExports: resolvedId.syntheticNamedExports ?? false + }; + } + async handleExistingModule(module, isEntry, isPreload) { + const loadPromise = this.moduleLoadPromises.get(module); + if (isPreload) { + return isPreload === RESOLVE_DEPENDENCIES + ? waitForDependencyResolution(loadPromise) + : loadPromise; + } + if (isEntry) { + // This reverts the changes in addEntryWithImplicitDependants and needs to + // be performed atomically + module.info.isEntry = true; + this.implicitEntryModules.delete(module); + for (const dependant of module.implicitlyLoadedAfter) { + dependant.implicitlyLoadedBefore.delete(module); + } + module.implicitlyLoadedAfter.clear(); + } + return this.fetchModuleDependencies(module, ...(await loadPromise)); + } + handleInvalidResolvedId(resolvedId, source, importer, attributes) { + if (resolvedId === null) { + if (isRelative(source)) { + return error(logUnresolvedImport(source, importer)); + } + this.options.onLog(LOGLEVEL_WARN, logUnresolvedImportTreatedAsExternal(source, importer)); + return { + attributes, + external: true, + id: source, + meta: {}, + moduleSideEffects: this.hasModuleSideEffects(source, true), + resolvedBy: 'rollup', + syntheticNamedExports: false + }; + } + else if (resolvedId.external && resolvedId.syntheticNamedExports) { + this.options.onLog(LOGLEVEL_WARN, logExternalSyntheticExports(source, importer)); + } + return resolvedId; + } + async loadEntryModule(unresolvedId, isEntry, importer, implicitlyLoadedBefore, isLoadForManualChunks = false) { + const resolveIdResult = await resolveId(unresolvedId, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, null, EMPTY_OBJECT, true, EMPTY_OBJECT); + if (resolveIdResult == null) { + return error(implicitlyLoadedBefore === null + ? logUnresolvedEntry(unresolvedId) + : logUnresolvedImplicitDependant(unresolvedId, implicitlyLoadedBefore)); + } + const isExternalModules = typeof resolveIdResult === 'object' && resolveIdResult.external; + if (resolveIdResult === false || isExternalModules) { + return error(implicitlyLoadedBefore === null + ? isExternalModules && isLoadForManualChunks + ? logExternalModulesCannotBeIncludedInManualChunks(unresolvedId) + : logEntryCannotBeExternal(unresolvedId) + : logImplicitDependantCannotBeExternal(unresolvedId, implicitlyLoadedBefore)); + } + return this.fetchModule(this.getResolvedIdWithDefaults(typeof resolveIdResult === 'object' + ? resolveIdResult + : { id: resolveIdResult }, EMPTY_OBJECT), undefined, isEntry, false); + } + async resolveDynamicImport(module, specifier, importer, attributes) { + const resolution = await this.pluginDriver.hookFirst('resolveDynamicImport', [ + specifier, + importer, + { attributes } + ]); + if (typeof specifier !== 'string') { + if (typeof resolution === 'string') { + return resolution; + } + if (!resolution) { + return null; + } + return this.getResolvedIdWithDefaults(resolution, attributes); + } + if (resolution == null) { + const existingResolution = module.resolvedIds[specifier]; + if (existingResolution) { + if (doAttributesDiffer(existingResolution.attributes, attributes)) { + this.options.onLog(LOGLEVEL_WARN, logInconsistentImportAttributes(existingResolution.attributes, attributes, specifier, importer)); + } + return existingResolution; + } + return (module.resolvedIds[specifier] = this.handleInvalidResolvedId(await this.resolveId(specifier, module.id, EMPTY_OBJECT, false, attributes), specifier, module.id, attributes)); + } + return this.handleInvalidResolvedId(this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(resolution, importer, specifier), attributes), specifier, importer, attributes); + } +} +function normalizeRelativeExternalId(source, importer) { + return isRelative(source) + ? importer + ? resolve$1(importer, '..', source) + : resolve$1(source) + : source; +} +function addChunkNamesToModule(module, { fileName, name }, isUserDefined, priority) { + if (fileName !== null) { + module.chunkFileNames.add(fileName); + } + else if (name !== null) { + // Always keep chunkNames sorted by priority + let namePosition = 0; + while (module.chunkNames[namePosition]?.priority < priority) + namePosition++; + module.chunkNames.splice(namePosition, 0, { isUserDefined, name, priority }); + } +} +function isNotAbsoluteExternal(id, source, makeAbsoluteExternalsRelative) { + return (makeAbsoluteExternalsRelative === true || + (makeAbsoluteExternalsRelative === 'ifRelativeSource' && isRelative(source)) || + !isAbsolute$1(id)); +} +async function waitForDependencyResolution(loadPromise) { + const [resolveStaticDependencyPromises, resolveDynamicImportPromises] = await loadPromise; + return Promise.all([...resolveStaticDependencyPromises, ...resolveDynamicImportPromises]); +} + +class GlobalScope extends Scope { + constructor() { + super(); + this.parent = null; + this.variables.set('undefined', new UndefinedVariable()); + } + findVariable(name) { + let variable = this.variables.get(name); + if (!variable) { + variable = new GlobalVariable(name); + this.variables.set(name, variable); + } + return variable; + } +} + +function generateAssetFileName(name, source, sourceHash, outputOptions, bundle) { + const emittedName = outputOptions.sanitizeFileName(name || 'asset'); + return makeUnique(renderNamePattern(typeof outputOptions.assetFileNames === 'function' + ? outputOptions.assetFileNames({ name, source, type: 'asset' }) + : outputOptions.assetFileNames, 'output.assetFileNames', { + ext: () => extname(emittedName).slice(1), + extname: () => extname(emittedName), + hash: size => sourceHash.slice(0, Math.max(0, size || DEFAULT_HASH_SIZE)), + name: () => emittedName.slice(0, Math.max(0, emittedName.length - extname(emittedName).length)) + }), bundle); +} +function reserveFileNameInBundle(fileName, { bundle }, log) { + if (bundle[lowercaseBundleKeys].has(fileName.toLowerCase())) { + log(LOGLEVEL_WARN, logFileNameConflict(fileName)); + } + else { + bundle[fileName] = FILE_PLACEHOLDER; + } +} +const emittedFileTypes = new Set(['chunk', 'asset', 'prebuilt-chunk']); +function hasValidType(emittedFile) { + return Boolean(emittedFile && + emittedFileTypes.has(emittedFile.type)); +} +function hasValidName(emittedFile) { + const validatedName = emittedFile.fileName || emittedFile.name; + return !validatedName || (typeof validatedName === 'string' && !isPathFragment(validatedName)); +} +function getValidSource(source, emittedFile, fileReferenceId) { + if (!(typeof source === 'string' || source instanceof Uint8Array)) { + const assetName = emittedFile.fileName || emittedFile.name || fileReferenceId; + return error(logFailedValidation(`Could not set source for ${typeof assetName === 'string' ? `asset "${assetName}"` : 'unnamed asset'}, asset source needs to be a string, Uint8Array or Buffer.`)); + } + return source; +} +function getAssetFileName(file, referenceId) { + if (typeof file.fileName !== 'string') { + return error(logAssetNotFinalisedForFileName(file.name || referenceId)); + } + return file.fileName; +} +function getChunkFileName(file, facadeChunkByModule) { + if (file.fileName) { + return file.fileName; + } + if (facadeChunkByModule) { + return facadeChunkByModule.get(file.module).getFileName(); + } + return error(logChunkNotGeneratedForFileName(file.fileName || file.name)); +} +class FileEmitter { + constructor(graph, options, baseFileEmitter) { + this.graph = graph; + this.options = options; + this.facadeChunkByModule = null; + this.nextIdBase = 1; + this.output = null; + this.outputFileEmitters = []; + this.emitFile = (emittedFile) => { + if (!hasValidType(emittedFile)) { + return error(logFailedValidation(`Emitted files must be of type "asset", "chunk" or "prebuilt-chunk", received "${emittedFile && emittedFile.type}".`)); + } + if (emittedFile.type === 'prebuilt-chunk') { + return this.emitPrebuiltChunk(emittedFile); + } + if (!hasValidName(emittedFile)) { + return error(logFailedValidation(`The "fileName" or "name" properties of emitted chunks and assets must be strings that are neither absolute nor relative paths, received "${emittedFile.fileName || emittedFile.name}".`)); + } + if (emittedFile.type === 'chunk') { + return this.emitChunk(emittedFile); + } + return this.emitAsset(emittedFile); + }; + this.finaliseAssets = () => { + for (const [referenceId, emittedFile] of this.filesByReferenceId) { + if (emittedFile.type === 'asset' && typeof emittedFile.fileName !== 'string') + return error(logNoAssetSourceSet(emittedFile.name || referenceId)); + } + }; + this.getFileName = (fileReferenceId) => { + const emittedFile = this.filesByReferenceId.get(fileReferenceId); + if (!emittedFile) + return error(logFileReferenceIdNotFoundForFilename(fileReferenceId)); + if (emittedFile.type === 'chunk') { + return getChunkFileName(emittedFile, this.facadeChunkByModule); + } + if (emittedFile.type === 'prebuilt-chunk') { + return emittedFile.fileName; + } + return getAssetFileName(emittedFile, fileReferenceId); + }; + this.setAssetSource = (referenceId, requestedSource) => { + const consumedFile = this.filesByReferenceId.get(referenceId); + if (!consumedFile) + return error(logAssetReferenceIdNotFoundForSetSource(referenceId)); + if (consumedFile.type !== 'asset') { + return error(logFailedValidation(`Asset sources can only be set for emitted assets but "${referenceId}" is an emitted chunk.`)); + } + if (consumedFile.source !== undefined) { + return error(logAssetSourceAlreadySet(consumedFile.name || referenceId)); + } + const source = getValidSource(requestedSource, consumedFile, referenceId); + if (this.output) { + this.finalizeAdditionalAsset(consumedFile, source, this.output); + } + else { + consumedFile.source = source; + for (const emitter of this.outputFileEmitters) { + emitter.finalizeAdditionalAsset(consumedFile, source, emitter.output); + } + } + }; + this.setChunkInformation = (facadeChunkByModule) => { + this.facadeChunkByModule = facadeChunkByModule; + }; + this.setOutputBundle = (bundle, outputOptions) => { + const getHash = hasherByType[outputOptions.hashCharacters]; + const output = (this.output = { + bundle, + fileNamesBySource: new Map(), + getHash, + outputOptions + }); + for (const emittedFile of this.filesByReferenceId.values()) { + if (emittedFile.fileName) { + reserveFileNameInBundle(emittedFile.fileName, output, this.options.onLog); + } + } + const consumedAssetsByHash = new Map(); + for (const consumedFile of this.filesByReferenceId.values()) { + if (consumedFile.type === 'asset' && consumedFile.source !== undefined) { + if (consumedFile.fileName) { + this.finalizeAdditionalAsset(consumedFile, consumedFile.source, output); + } + else { + const sourceHash = getHash(consumedFile.source); + getOrCreate(consumedAssetsByHash, sourceHash, () => []).push(consumedFile); + } + } + else if (consumedFile.type === 'prebuilt-chunk') { + this.output.bundle[consumedFile.fileName] = this.createPrebuiltChunk(consumedFile); + } + } + for (const [sourceHash, consumedFiles] of consumedAssetsByHash) { + this.finalizeAssetsWithSameSource(consumedFiles, sourceHash, output); + } + }; + this.filesByReferenceId = baseFileEmitter + ? new Map(baseFileEmitter.filesByReferenceId) + : new Map(); + baseFileEmitter?.addOutputFileEmitter(this); + } + addOutputFileEmitter(outputFileEmitter) { + this.outputFileEmitters.push(outputFileEmitter); + } + assignReferenceId(file, idBase) { + let referenceId = idBase; + do { + referenceId = getHash64(referenceId).slice(0, 8).replaceAll('-', '$'); + } while (this.filesByReferenceId.has(referenceId) || + this.outputFileEmitters.some(({ filesByReferenceId }) => filesByReferenceId.has(referenceId))); + file.referenceId = referenceId; + this.filesByReferenceId.set(referenceId, file); + for (const { filesByReferenceId } of this.outputFileEmitters) { + filesByReferenceId.set(referenceId, file); + } + return referenceId; + } + createPrebuiltChunk(prebuiltChunk) { + return { + code: prebuiltChunk.code, + dynamicImports: [], + exports: prebuiltChunk.exports || [], + facadeModuleId: null, + fileName: prebuiltChunk.fileName, + implicitlyLoadedBefore: [], + importedBindings: {}, + imports: [], + isDynamicEntry: false, + isEntry: false, + isImplicitEntry: false, + map: prebuiltChunk.map || null, + moduleIds: [], + modules: {}, + name: prebuiltChunk.fileName, + preliminaryFileName: prebuiltChunk.fileName, + referencedFiles: [], + sourcemapFileName: prebuiltChunk.sourcemapFileName || null, + type: 'chunk' + }; + } + emitAsset(emittedAsset) { + const source = emittedAsset.source === undefined + ? undefined + : getValidSource(emittedAsset.source, emittedAsset, null); + const consumedAsset = { + fileName: emittedAsset.fileName, + name: emittedAsset.name, + needsCodeReference: !!emittedAsset.needsCodeReference, + referenceId: '', + source, + type: 'asset' + }; + const referenceId = this.assignReferenceId(consumedAsset, emittedAsset.fileName || emittedAsset.name || String(this.nextIdBase++)); + if (this.output) { + this.emitAssetWithReferenceId(consumedAsset, this.output); + } + else { + for (const fileEmitter of this.outputFileEmitters) { + fileEmitter.emitAssetWithReferenceId(consumedAsset, fileEmitter.output); + } + } + return referenceId; + } + emitAssetWithReferenceId(consumedAsset, output) { + const { fileName, source } = consumedAsset; + if (fileName) { + reserveFileNameInBundle(fileName, output, this.options.onLog); + } + if (source !== undefined) { + this.finalizeAdditionalAsset(consumedAsset, source, output); + } + } + emitChunk(emittedChunk) { + if (this.graph.phase > BuildPhase.LOAD_AND_PARSE) { + return error(logInvalidRollupPhaseForChunkEmission()); + } + if (typeof emittedChunk.id !== 'string') { + return error(logFailedValidation(`Emitted chunks need to have a valid string id, received "${emittedChunk.id}"`)); + } + const consumedChunk = { + fileName: emittedChunk.fileName, + module: null, + name: emittedChunk.name || emittedChunk.id, + referenceId: '', + type: 'chunk' + }; + this.graph.moduleLoader + .emitChunk(emittedChunk) + .then(module => (consumedChunk.module = module)) + .catch(() => { + // Avoid unhandled Promise rejection as the error will be thrown later + // once module loading has finished + }); + return this.assignReferenceId(consumedChunk, emittedChunk.id); + } + emitPrebuiltChunk(emitPrebuiltChunk) { + if (typeof emitPrebuiltChunk.code !== 'string') { + return error(logFailedValidation(`Emitted prebuilt chunks need to have a valid string code, received "${emitPrebuiltChunk.code}".`)); + } + if (typeof emitPrebuiltChunk.fileName !== 'string' || + isPathFragment(emitPrebuiltChunk.fileName)) { + return error(logFailedValidation(`The "fileName" property of emitted prebuilt chunks must be strings that are neither absolute nor relative paths, received "${emitPrebuiltChunk.fileName}".`)); + } + const consumedPrebuiltChunk = { + code: emitPrebuiltChunk.code, + exports: emitPrebuiltChunk.exports, + fileName: emitPrebuiltChunk.fileName, + map: emitPrebuiltChunk.map, + referenceId: '', + type: 'prebuilt-chunk' + }; + const referenceId = this.assignReferenceId(consumedPrebuiltChunk, consumedPrebuiltChunk.fileName); + if (this.output) { + this.output.bundle[consumedPrebuiltChunk.fileName] = + this.createPrebuiltChunk(consumedPrebuiltChunk); + } + return referenceId; + } + finalizeAdditionalAsset(consumedFile, source, { bundle, fileNamesBySource, getHash, outputOptions }) { + let { fileName, needsCodeReference, referenceId } = consumedFile; + // Deduplicate assets if an explicit fileName is not provided + if (!fileName) { + const sourceHash = getHash(source); + fileName = fileNamesBySource.get(sourceHash); + if (!fileName) { + fileName = generateAssetFileName(consumedFile.name, source, sourceHash, outputOptions, bundle); + fileNamesBySource.set(sourceHash, fileName); + } + } + // We must not modify the original assets to avoid interaction between outputs + const assetWithFileName = { ...consumedFile, fileName, source }; + this.filesByReferenceId.set(referenceId, assetWithFileName); + const existingAsset = bundle[fileName]; + if (existingAsset?.type === 'asset') { + existingAsset.needsCodeReference &&= needsCodeReference; + } + else { + bundle[fileName] = { + fileName, + name: consumedFile.name, + needsCodeReference, + source, + type: 'asset' + }; + } + } + finalizeAssetsWithSameSource(consumedFiles, sourceHash, { bundle, fileNamesBySource, outputOptions }) { + let fileName = ''; + let usedConsumedFile; + let needsCodeReference = true; + for (const consumedFile of consumedFiles) { + needsCodeReference &&= consumedFile.needsCodeReference; + const assetFileName = generateAssetFileName(consumedFile.name, consumedFile.source, sourceHash, outputOptions, bundle); + if (!fileName || + assetFileName.length < fileName.length || + (assetFileName.length === fileName.length && assetFileName < fileName)) { + fileName = assetFileName; + usedConsumedFile = consumedFile; + } + } + fileNamesBySource.set(sourceHash, fileName); + for (const consumedFile of consumedFiles) { + // We must not modify the original assets to avoid interaction between outputs + const assetWithFileName = { ...consumedFile, fileName }; + this.filesByReferenceId.set(consumedFile.referenceId, assetWithFileName); + } + bundle[fileName] = { + fileName, + name: usedConsumedFile.name, + needsCodeReference, + source: usedConsumedFile.source, + type: 'asset' + }; + } +} + +function getLogHandler(level, code, logger, pluginName, logLevel) { + if (logLevelPriority[level] < logLevelPriority[logLevel]) { + return doNothing; + } + return (log, pos) => { + if (pos != null) { + logger(LOGLEVEL_WARN, logInvalidLogPosition(pluginName)); + } + log = normalizeLog(log); + if (log.code && !log.pluginCode) { + log.pluginCode = log.code; + } + log.code = code; + log.plugin = pluginName; + logger(level, log); + }; +} + +function getPluginContext(plugin, pluginCache, graph, options, fileEmitter, existingPluginNames) { + const { logLevel, onLog } = options; + let cacheable = true; + if (typeof plugin.cacheKey !== 'string') { + if (plugin.name.startsWith(ANONYMOUS_PLUGIN_PREFIX) || + plugin.name.startsWith(ANONYMOUS_OUTPUT_PLUGIN_PREFIX) || + existingPluginNames.has(plugin.name)) { + cacheable = false; + } + else { + existingPluginNames.add(plugin.name); + } + } + let cacheInstance; + if (!pluginCache) { + cacheInstance = NO_CACHE; + } + else if (cacheable) { + const cacheKey = plugin.cacheKey || plugin.name; + cacheInstance = createPluginCache(pluginCache[cacheKey] || (pluginCache[cacheKey] = Object.create(null))); + } + else { + cacheInstance = getCacheForUncacheablePlugin(plugin.name); + } + return { + addWatchFile(id) { + graph.watchFiles[id] = true; + }, + cache: cacheInstance, + debug: getLogHandler(LOGLEVEL_DEBUG, 'PLUGIN_LOG', onLog, plugin.name, logLevel), + emitFile: fileEmitter.emitFile.bind(fileEmitter), + error(error_) { + return error(logPluginError(normalizeLog(error_), plugin.name)); + }, + getFileName: fileEmitter.getFileName, + getModuleIds: () => graph.modulesById.keys(), + getModuleInfo: graph.getModuleInfo, + getWatchFiles: () => Object.keys(graph.watchFiles), + info: getLogHandler(LOGLEVEL_INFO, 'PLUGIN_LOG', onLog, plugin.name, logLevel), + load(resolvedId) { + return graph.moduleLoader.preloadModule(resolvedId); + }, + meta: { + rollupVersion: version, + watchMode: graph.watchMode + }, + parse: parseAst, + resolve(source, importer, { attributes, custom, isEntry, skipSelf } = BLANK) { + skipSelf ??= true; + return graph.moduleLoader.resolveId(source, importer, custom, isEntry, attributes || EMPTY_OBJECT, skipSelf ? [{ importer, plugin, source }] : null); + }, + setAssetSource: fileEmitter.setAssetSource, + warn: getLogHandler(LOGLEVEL_WARN, 'PLUGIN_WARNING', onLog, plugin.name, logLevel) + }; +} + +// This will make sure no input hook is omitted +const inputHookNames = { + buildEnd: 1, + buildStart: 1, + closeBundle: 1, + closeWatcher: 1, + load: 1, + moduleParsed: 1, + onLog: 1, + options: 1, + resolveDynamicImport: 1, + resolveId: 1, + shouldTransformCachedModule: 1, + transform: 1, + watchChange: 1 +}; +const inputHooks = Object.keys(inputHookNames); +class PluginDriver { + constructor(graph, options, userPlugins, pluginCache, basePluginDriver) { + this.graph = graph; + this.options = options; + this.pluginCache = pluginCache; + this.sortedPlugins = new Map(); + this.unfulfilledActions = new Set(); + this.fileEmitter = new FileEmitter(graph, options, basePluginDriver && basePluginDriver.fileEmitter); + this.emitFile = this.fileEmitter.emitFile.bind(this.fileEmitter); + this.getFileName = this.fileEmitter.getFileName.bind(this.fileEmitter); + this.finaliseAssets = this.fileEmitter.finaliseAssets.bind(this.fileEmitter); + this.setChunkInformation = this.fileEmitter.setChunkInformation.bind(this.fileEmitter); + this.setOutputBundle = this.fileEmitter.setOutputBundle.bind(this.fileEmitter); + this.plugins = [...(basePluginDriver ? basePluginDriver.plugins : []), ...userPlugins]; + const existingPluginNames = new Set(); + this.pluginContexts = new Map(this.plugins.map(plugin => [ + plugin, + getPluginContext(plugin, pluginCache, graph, options, this.fileEmitter, existingPluginNames) + ])); + if (basePluginDriver) { + for (const plugin of userPlugins) { + for (const hook of inputHooks) { + if (hook in plugin) { + options.onLog(LOGLEVEL_WARN, logInputHookInOutputPlugin(plugin.name, hook)); + } + } + } + } + } + createOutputPluginDriver(plugins) { + return new PluginDriver(this.graph, this.options, plugins, this.pluginCache, this); + } + getUnfulfilledHookActions() { + return this.unfulfilledActions; + } + // chains, first non-null result stops and returns + hookFirst(hookName, parameters, replaceContext, skipped) { + return this.hookFirstAndGetPlugin(hookName, parameters, replaceContext, skipped).then(result => result && result[0]); + } + // chains, first non-null result stops and returns result and last plugin + async hookFirstAndGetPlugin(hookName, parameters, replaceContext, skipped) { + for (const plugin of this.getSortedPlugins(hookName)) { + if (skipped?.has(plugin)) + continue; + const result = await this.runHook(hookName, parameters, plugin, replaceContext); + if (result != null) + return [result, plugin]; + } + return null; + } + // chains synchronously, first non-null result stops and returns + hookFirstSync(hookName, parameters, replaceContext) { + for (const plugin of this.getSortedPlugins(hookName)) { + const result = this.runHookSync(hookName, parameters, plugin, replaceContext); + if (result != null) + return result; + } + return null; + } + // parallel, ignores returns + async hookParallel(hookName, parameters, replaceContext) { + const parallelPromises = []; + for (const plugin of this.getSortedPlugins(hookName)) { + if (plugin[hookName].sequential) { + await Promise.all(parallelPromises); + parallelPromises.length = 0; + await this.runHook(hookName, parameters, plugin, replaceContext); + } + else { + parallelPromises.push(this.runHook(hookName, parameters, plugin, replaceContext)); + } + } + await Promise.all(parallelPromises); + } + // chains, reduces returned value, handling the reduced value as the first hook argument + hookReduceArg0(hookName, [argument0, ...rest], reduce, replaceContext) { + let promise = Promise.resolve(argument0); + for (const plugin of this.getSortedPlugins(hookName)) { + promise = promise.then(argument0 => this.runHook(hookName, [argument0, ...rest], plugin, replaceContext).then(result => reduce.call(this.pluginContexts.get(plugin), argument0, result, plugin))); + } + return promise; + } + // chains synchronously, reduces returned value, handling the reduced value as the first hook argument + hookReduceArg0Sync(hookName, [argument0, ...rest], reduce, replaceContext) { + for (const plugin of this.getSortedPlugins(hookName)) { + const parameters = [argument0, ...rest]; + const result = this.runHookSync(hookName, parameters, plugin, replaceContext); + argument0 = reduce.call(this.pluginContexts.get(plugin), argument0, result, plugin); + } + return argument0; + } + // chains, reduces returned value to type string, handling the reduced value separately. permits hooks as values. + async hookReduceValue(hookName, initialValue, parameters, reducer) { + const results = []; + const parallelResults = []; + for (const plugin of this.getSortedPlugins(hookName, validateAddonPluginHandler)) { + if (plugin[hookName].sequential) { + results.push(...(await Promise.all(parallelResults))); + parallelResults.length = 0; + results.push(await this.runHook(hookName, parameters, plugin)); + } + else { + parallelResults.push(this.runHook(hookName, parameters, plugin)); + } + } + results.push(...(await Promise.all(parallelResults))); + return results.reduce(reducer, await initialValue); + } + // chains synchronously, reduces returned value to type T, handling the reduced value separately. permits hooks as values. + hookReduceValueSync(hookName, initialValue, parameters, reduce, replaceContext) { + let accumulator = initialValue; + for (const plugin of this.getSortedPlugins(hookName)) { + const result = this.runHookSync(hookName, parameters, plugin, replaceContext); + accumulator = reduce.call(this.pluginContexts.get(plugin), accumulator, result, plugin); + } + return accumulator; + } + // chains, ignores returns + hookSeq(hookName, parameters, replaceContext) { + let promise = Promise.resolve(); + for (const plugin of this.getSortedPlugins(hookName)) { + promise = promise.then(() => this.runHook(hookName, parameters, plugin, replaceContext)); + } + return promise.then(noReturn); + } + getSortedPlugins(hookName, validateHandler) { + return getOrCreate(this.sortedPlugins, hookName, () => getSortedValidatedPlugins(hookName, this.plugins, validateHandler)); + } + // Implementation signature + runHook(hookName, parameters, plugin, replaceContext) { + // We always filter for plugins that support the hook before running it + const hook = plugin[hookName]; + const handler = typeof hook === 'object' ? hook.handler : hook; + let context = this.pluginContexts.get(plugin); + if (replaceContext) { + context = replaceContext(context, plugin); + } + let action = null; + return Promise.resolve() + .then(() => { + if (typeof handler !== 'function') { + return handler; + } + // eslint-disable-next-line @typescript-eslint/ban-types + const hookResult = handler.apply(context, parameters); + if (!hookResult?.then) { + // short circuit for non-thenables and non-Promises + return hookResult; + } + // Track pending hook actions to properly error out when + // unfulfilled promises cause rollup to abruptly and confusingly + // exit with a successful 0 return code but without producing any + // output, errors or warnings. + action = [plugin.name, hookName, parameters]; + this.unfulfilledActions.add(action); + // Although it would be more elegant to just return hookResult here + // and put the .then() handler just above the .catch() handler below, + // doing so would subtly change the defacto async event dispatch order + // which at least one test and some plugins in the wild may depend on. + return Promise.resolve(hookResult).then(result => { + // action was fulfilled + this.unfulfilledActions.delete(action); + return result; + }); + }) + .catch(error_ => { + if (action !== null) { + // action considered to be fulfilled since error being handled + this.unfulfilledActions.delete(action); + } + return error(logPluginError(error_, plugin.name, { hook: hookName })); + }); + } + /** + * Run a sync plugin hook and return the result. + * @param hookName Name of the plugin hook. Must be in `PluginHooks`. + * @param args Arguments passed to the plugin hook. + * @param plugin The acutal plugin + * @param replaceContext When passed, the plugin context can be overridden. + */ + runHookSync(hookName, parameters, plugin, replaceContext) { + const hook = plugin[hookName]; + const handler = typeof hook === 'object' ? hook.handler : hook; + let context = this.pluginContexts.get(plugin); + if (replaceContext) { + context = replaceContext(context, plugin); + } + try { + // eslint-disable-next-line @typescript-eslint/ban-types + return handler.apply(context, parameters); + } + catch (error_) { + return error(logPluginError(error_, plugin.name, { hook: hookName })); + } + } +} +function getSortedValidatedPlugins(hookName, plugins, validateHandler = validateFunctionPluginHandler) { + const pre = []; + const normal = []; + const post = []; + for (const plugin of plugins) { + const hook = plugin[hookName]; + if (hook) { + if (typeof hook === 'object') { + validateHandler(hook.handler, hookName, plugin); + if (hook.order === 'pre') { + pre.push(plugin); + continue; + } + if (hook.order === 'post') { + post.push(plugin); + continue; + } + } + else { + validateHandler(hook, hookName, plugin); + } + normal.push(plugin); + } + } + return [...pre, ...normal, ...post]; +} +function validateFunctionPluginHandler(handler, hookName, plugin) { + if (typeof handler !== 'function') { + error(logInvalidFunctionPluginHook(hookName, plugin.name)); + } +} +function validateAddonPluginHandler(handler, hookName, plugin) { + if (typeof handler !== 'string' && typeof handler !== 'function') { + return error(logInvalidAddonPluginHook(hookName, plugin.name)); + } +} +function noReturn() { } + +class Queue { + constructor(maxParallel) { + this.maxParallel = maxParallel; + this.queue = []; + this.workerCount = 0; + } + run(task) { + return new Promise((resolve, reject) => { + this.queue.push({ reject, resolve, task }); + this.work(); + }); + } + async work() { + if (this.workerCount >= this.maxParallel) + return; + this.workerCount++; + let entry; + while ((entry = this.queue.shift())) { + const { reject, resolve, task } = entry; + try { + const result = await task(); + resolve(result); + } + catch (error) { + reject(error); + } + } + this.workerCount--; + } +} + +function normalizeEntryModules(entryModules) { + if (Array.isArray(entryModules)) { + return entryModules.map(id => ({ + fileName: null, + id, + implicitlyLoadedAfter: [], + importer: undefined, + name: null + })); + } + return Object.entries(entryModules).map(([name, id]) => ({ + fileName: null, + id, + implicitlyLoadedAfter: [], + importer: undefined, + name + })); +} +class Graph { + constructor(options, watcher) { + this.options = options; + this.astLru = flru(5); + this.cachedModules = new Map(); + this.deoptimizationTracker = new PathTracker(); + this.entryModules = []; + this.modulesById = new Map(); + this.needsTreeshakingPass = false; + this.phase = BuildPhase.LOAD_AND_PARSE; + this.scope = new GlobalScope(); + this.watchFiles = Object.create(null); + this.watchMode = false; + this.externalModules = []; + this.implicitEntryModules = []; + this.modules = []; + this.getModuleInfo = (moduleId) => { + const foundModule = this.modulesById.get(moduleId); + if (!foundModule) + return null; + return foundModule.info; + }; + if (options.cache !== false) { + if (options.cache?.modules) { + for (const module of options.cache.modules) + this.cachedModules.set(module.id, module); + } + this.pluginCache = options.cache?.plugins || Object.create(null); + // increment access counter + for (const name in this.pluginCache) { + const cache = this.pluginCache[name]; + for (const value of Object.values(cache)) + value[0]++; + } + } + if (watcher) { + this.watchMode = true; + const handleChange = (...parameters) => this.pluginDriver.hookParallel('watchChange', parameters); + const handleClose = () => this.pluginDriver.hookParallel('closeWatcher', []); + watcher.onCurrentRun('change', handleChange); + watcher.onCurrentRun('close', handleClose); + } + this.pluginDriver = new PluginDriver(this, options, options.plugins, this.pluginCache); + this.moduleLoader = new ModuleLoader(this, this.modulesById, this.options, this.pluginDriver); + this.fileOperationQueue = new Queue(options.maxParallelFileOps); + this.pureFunctions = getPureFunctions(options); + } + async build() { + timeStart('generate module graph', 2); + await this.generateModuleGraph(); + timeEnd('generate module graph', 2); + timeStart('sort and bind modules', 2); + this.phase = BuildPhase.ANALYSE; + this.sortModules(); + timeEnd('sort and bind modules', 2); + timeStart('mark included statements', 2); + this.includeStatements(); + timeEnd('mark included statements', 2); + this.phase = BuildPhase.GENERATE; + } + getCache() { + // handle plugin cache eviction + for (const name in this.pluginCache) { + const cache = this.pluginCache[name]; + let allDeleted = true; + for (const [key, value] of Object.entries(cache)) { + if (value[0] >= this.options.experimentalCacheExpiry) + delete cache[key]; + else + allDeleted = false; + } + if (allDeleted) + delete this.pluginCache[name]; + } + return { + modules: this.modules.map(module => module.toJSON()), + plugins: this.pluginCache + }; + } + async generateModuleGraph() { + ({ entryModules: this.entryModules, implicitEntryModules: this.implicitEntryModules } = + await this.moduleLoader.addEntryModules(normalizeEntryModules(this.options.input), true)); + if (this.entryModules.length === 0) { + throw new Error('You must supply options.input to rollup'); + } + for (const module of this.modulesById.values()) { + if (module instanceof Module) { + this.modules.push(module); + } + else { + this.externalModules.push(module); + } + } + } + includeStatements() { + const entryModules = [...this.entryModules, ...this.implicitEntryModules]; + for (const module of entryModules) { + markModuleAndImpureDependenciesAsExecuted(module); + } + if (this.options.treeshake) { + let treeshakingPass = 1; + do { + timeStart(`treeshaking pass ${treeshakingPass}`, 3); + this.needsTreeshakingPass = false; + for (const module of this.modules) { + if (module.isExecuted) { + if (module.info.moduleSideEffects === 'no-treeshake') { + module.includeAllInBundle(); + } + else { + module.include(); + } + } + } + if (treeshakingPass === 1) { + // We only include exports after the first pass to avoid issues with + // the TDZ detection logic + for (const module of entryModules) { + if (module.preserveSignature !== false) { + module.includeAllExports(false); + this.needsTreeshakingPass = true; + } + } + } + timeEnd(`treeshaking pass ${treeshakingPass++}`, 3); + } while (this.needsTreeshakingPass); + } + else { + for (const module of this.modules) + module.includeAllInBundle(); + } + for (const externalModule of this.externalModules) + externalModule.warnUnusedImports(); + for (const module of this.implicitEntryModules) { + for (const dependant of module.implicitlyLoadedAfter) { + if (!(dependant.info.isEntry || dependant.isIncluded())) { + error(logImplicitDependantIsNotIncluded(dependant)); + } + } + } + } + sortModules() { + const { orderedModules, cyclePaths } = analyseModuleExecution(this.entryModules); + for (const cyclePath of cyclePaths) { + this.options.onLog(LOGLEVEL_WARN, logCircularDependency(cyclePath)); + } + this.modules = orderedModules; + for (const module of this.modules) { + module.bindReferences(); + } + this.warnForMissingExports(); + } + warnForMissingExports() { + for (const module of this.modules) { + for (const importDescription of module.importDescriptions.values()) { + if (importDescription.name !== '*' && + !importDescription.module.getVariableForExportName(importDescription.name)[0]) { + module.log(LOGLEVEL_WARN, logMissingExport(importDescription.name, module.id, importDescription.module.id), importDescription.start); + } + } + } + } +} + +function formatAction([pluginName, hookName, parameters]) { + const action = `(${pluginName}) ${hookName}`; + const s = JSON.stringify; + switch (hookName) { + case 'resolveId': { + return `${action} ${s(parameters[0])} ${s(parameters[1])}`; + } + case 'load': { + return `${action} ${s(parameters[0])}`; + } + case 'transform': { + return `${action} ${s(parameters[1])}`; + } + case 'shouldTransformCachedModule': { + return `${action} ${s(parameters[0].id)}`; + } + case 'moduleParsed': { + return `${action} ${s(parameters[0].id)}`; + } + } + return action; +} +let handleBeforeExit = null; +const rejectByPluginDriver = new Map(); +async function catchUnfinishedHookActions(pluginDriver, callback) { + const emptyEventLoopPromise = new Promise((_, reject) => { + rejectByPluginDriver.set(pluginDriver, reject); + if (!handleBeforeExit) { + // We only ever create a single event listener to avoid max listener and + // other issues + handleBeforeExit = () => { + for (const [pluginDriver, reject] of rejectByPluginDriver) { + const unfulfilledActions = pluginDriver.getUnfulfilledHookActions(); + reject(new Error(`Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:\n` + + [...unfulfilledActions].map(formatAction).join('\n'))); + } + }; + process$1.once('beforeExit', handleBeforeExit); + } + }); + try { + return await Promise.race([callback(), emptyEventLoopPromise]); + } + finally { + rejectByPluginDriver.delete(pluginDriver); + if (rejectByPluginDriver.size === 0) { + process$1.off('beforeExit', handleBeforeExit); + handleBeforeExit = null; + } + } +} + +async function initWasm() { } + +function getLogger(plugins, onLog, watchMode, logLevel) { + plugins = getSortedValidatedPlugins('onLog', plugins); + const minimalPriority = logLevelPriority[logLevel]; + const logger = (level, log, skipped = EMPTY_SET) => { + const logPriority = logLevelPriority[level]; + if (logPriority < minimalPriority) { + return; + } + for (const plugin of plugins) { + if (skipped.has(plugin)) + continue; + const { onLog: pluginOnLog } = plugin; + const getLogHandler = (level) => { + if (logLevelPriority[level] < minimalPriority) { + return doNothing; + } + return log => logger(level, normalizeLog(log), new Set(skipped).add(plugin)); + }; + const handler = 'handler' in pluginOnLog ? pluginOnLog.handler : pluginOnLog; + if (handler.call({ + debug: getLogHandler(LOGLEVEL_DEBUG), + error: (log) => error(normalizeLog(log)), + info: getLogHandler(LOGLEVEL_INFO), + meta: { rollupVersion: version, watchMode }, + warn: getLogHandler(LOGLEVEL_WARN) + }, level, log) === false) { + return; + } + } + onLog(level, log); + }; + return logger; +} + +function ensureArray(items) { + if (Array.isArray(items)) { + return items.filter(Boolean); + } + if (items) { + return [items]; + } + return []; +} + +async function normalizeInputOptions(config, watchMode) { + // These are options that may trigger special warnings or behaviour later + // if the user did not select an explicit value + const unsetOptions = new Set(); + const context = config.context ?? 'undefined'; + const plugins = await normalizePluginOption(config.plugins); + const logLevel = config.logLevel || LOGLEVEL_INFO; + const onLog = getLogger(plugins, getOnLog(config, logLevel), watchMode, logLevel); + const strictDeprecations = config.strictDeprecations || false; + const maxParallelFileOps = getMaxParallelFileOps(config); + const options = { + cache: getCache(config), + context, + experimentalCacheExpiry: config.experimentalCacheExpiry ?? 10, + experimentalLogSideEffects: config.experimentalLogSideEffects || false, + external: getIdMatcher(config.external), + input: getInput(config), + logLevel, + makeAbsoluteExternalsRelative: config.makeAbsoluteExternalsRelative ?? 'ifRelativeSource', + maxParallelFileOps, + moduleContext: getModuleContext(config, context), + onLog, + perf: config.perf || false, + plugins, + preserveEntrySignatures: config.preserveEntrySignatures ?? 'exports-only', + preserveSymlinks: config.preserveSymlinks || false, + shimMissingExports: config.shimMissingExports || false, + strictDeprecations, + treeshake: getTreeshake(config) + }; + warnUnknownOptions(config, [...Object.keys(options), 'onwarn', 'watch'], 'input options', onLog, /^(output)$/); + return { options, unsetOptions }; +} +const getCache = (config) => config.cache === true // `true` is the default + ? undefined + : config.cache?.cache || config.cache; +const getIdMatcher = (option) => { + if (option === true) { + return () => true; + } + if (typeof option === 'function') { + return (id, ...parameters) => (!id.startsWith('\0') && option(id, ...parameters)) || false; + } + if (option) { + const ids = new Set(); + const matchers = []; + for (const value of ensureArray(option)) { + if (value instanceof RegExp) { + matchers.push(value); + } + else { + ids.add(value); + } + } + return (id, ..._arguments) => ids.has(id) || matchers.some(matcher => matcher.test(id)); + } + return () => false; +}; +const getInput = (config) => { + const configInput = config.input; + return configInput == null ? [] : typeof configInput === 'string' ? [configInput] : configInput; +}; +const getMaxParallelFileOps = (config) => { + const maxParallelFileOps = config.maxParallelFileOps; + if (typeof maxParallelFileOps === 'number') { + if (maxParallelFileOps <= 0) + return Infinity; + return maxParallelFileOps; + } + return 20; +}; +const getModuleContext = (config, context) => { + const configModuleContext = config.moduleContext; + if (typeof configModuleContext === 'function') { + return id => configModuleContext(id) ?? context; + } + if (configModuleContext) { + const contextByModuleId = Object.create(null); + for (const [key, moduleContext] of Object.entries(configModuleContext)) { + contextByModuleId[resolve$1(key)] = moduleContext; + } + return id => contextByModuleId[id] ?? context; + } + return () => context; +}; +const getTreeshake = (config) => { + const configTreeshake = config.treeshake; + if (configTreeshake === false) { + return false; + } + const configWithPreset = getOptionWithPreset(config.treeshake, treeshakePresets, 'treeshake', URL_TREESHAKE, 'false, true, '); + return { + annotations: configWithPreset.annotations !== false, + correctVarValueBeforeDeclaration: configWithPreset.correctVarValueBeforeDeclaration === true, + manualPureFunctions: configWithPreset.manualPureFunctions ?? EMPTY_ARRAY, + moduleSideEffects: getHasModuleSideEffects(configWithPreset.moduleSideEffects), + propertyReadSideEffects: configWithPreset.propertyReadSideEffects === 'always' + ? 'always' + : configWithPreset.propertyReadSideEffects !== false, + tryCatchDeoptimization: configWithPreset.tryCatchDeoptimization !== false, + unknownGlobalSideEffects: configWithPreset.unknownGlobalSideEffects !== false + }; +}; +const getHasModuleSideEffects = (moduleSideEffectsOption) => { + if (typeof moduleSideEffectsOption === 'boolean') { + return () => moduleSideEffectsOption; + } + if (moduleSideEffectsOption === 'no-external') { + return (_id, external) => !external; + } + if (typeof moduleSideEffectsOption === 'function') { + return (id, external) => id.startsWith('\0') ? true : moduleSideEffectsOption(id, external) !== false; + } + if (Array.isArray(moduleSideEffectsOption)) { + const ids = new Set(moduleSideEffectsOption); + return id => ids.has(id); + } + if (moduleSideEffectsOption) { + error(logInvalidOption('treeshake.moduleSideEffects', URL_TREESHAKE_MODULESIDEEFFECTS, 'please use one of false, "no-external", a function or an array')); + } + return () => true; +}; + +// https://datatracker.ietf.org/doc/html/rfc2396 +// eslint-disable-next-line no-control-regex +const INVALID_CHAR_REGEX = /[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g; +const DRIVE_LETTER_REGEX = /^[a-z]:/i; +function sanitizeFileName(name) { + const match = DRIVE_LETTER_REGEX.exec(name); + const driveLetter = match ? match[0] : ''; + // A `:` is only allowed as part of a windows drive letter (ex: C:\foo) + // Otherwise, avoid them because they can refer to NTFS alternate data streams. + return driveLetter + name.slice(driveLetter.length).replace(INVALID_CHAR_REGEX, '_'); +} + +async function normalizeOutputOptions(config, inputOptions, unsetInputOptions) { + // These are options that may trigger special warnings or behaviour later + // if the user did not select an explicit value + const unsetOptions = new Set(unsetInputOptions); + const compact = config.compact || false; + const format = getFormat(config); + const inlineDynamicImports = getInlineDynamicImports(config, inputOptions); + const preserveModules = getPreserveModules(config, inlineDynamicImports, inputOptions); + const file = getFile(config, preserveModules, inputOptions); + const generatedCode = getGeneratedCode(config); + const externalImportAttributes = getExternalImportAttributes(config, inputOptions); + const outputOptions = { + amd: getAmd(config), + assetFileNames: config.assetFileNames ?? 'assets/[name]-[hash][extname]', + banner: getAddon(config, 'banner'), + chunkFileNames: config.chunkFileNames ?? '[name]-[hash].js', + compact, + dir: getDir(config, file), + dynamicImportInCjs: config.dynamicImportInCjs ?? true, + entryFileNames: getEntryFileNames(config, unsetOptions), + esModule: config.esModule ?? 'if-default-prop', + experimentalMinChunkSize: config.experimentalMinChunkSize ?? 1, + exports: getExports(config, unsetOptions), + extend: config.extend || false, + externalImportAssertions: externalImportAttributes, + externalImportAttributes, + externalLiveBindings: config.externalLiveBindings ?? true, + file, + footer: getAddon(config, 'footer'), + format, + freeze: config.freeze ?? true, + generatedCode, + globals: config.globals || {}, + hashCharacters: config.hashCharacters ?? 'base64', + hoistTransitiveImports: config.hoistTransitiveImports ?? true, + indent: getIndent(config, compact), + inlineDynamicImports, + interop: getInterop(config), + intro: getAddon(config, 'intro'), + manualChunks: getManualChunks(config, inlineDynamicImports, preserveModules), + minifyInternalExports: getMinifyInternalExports(config, format, compact), + name: config.name, + noConflict: config.noConflict || false, + outro: getAddon(config, 'outro'), + paths: config.paths || {}, + plugins: await normalizePluginOption(config.plugins), + preserveModules, + preserveModulesRoot: getPreserveModulesRoot(config), + reexportProtoFromExternal: config.reexportProtoFromExternal ?? true, + sanitizeFileName: typeof config.sanitizeFileName === 'function' + ? config.sanitizeFileName + : config.sanitizeFileName === false + ? id => id + : sanitizeFileName, + sourcemap: config.sourcemap || false, + sourcemapBaseUrl: getSourcemapBaseUrl(config), + sourcemapExcludeSources: config.sourcemapExcludeSources || false, + sourcemapFile: config.sourcemapFile, + sourcemapFileNames: getSourcemapFileNames(config, unsetOptions), + sourcemapIgnoreList: typeof config.sourcemapIgnoreList === 'function' + ? config.sourcemapIgnoreList + : config.sourcemapIgnoreList === false + ? () => false + : relativeSourcePath => relativeSourcePath.includes('node_modules'), + sourcemapPathTransform: config.sourcemapPathTransform, + strict: config.strict ?? true, + systemNullSetters: config.systemNullSetters ?? true, + validate: config.validate || false + }; + warnUnknownOptions(config, Object.keys(outputOptions), 'output options', inputOptions.onLog); + return { options: outputOptions, unsetOptions }; +} +const getFile = (config, preserveModules, inputOptions) => { + const { file } = config; + if (typeof file === 'string') { + if (preserveModules) { + return error(logInvalidOption('output.file', URL_OUTPUT_DIR, 'you must set "output.dir" instead of "output.file" when using the "output.preserveModules" option')); + } + if (!Array.isArray(inputOptions.input)) + return error(logInvalidOption('output.file', URL_OUTPUT_DIR, 'you must set "output.dir" instead of "output.file" when providing named inputs')); + } + return file; +}; +const getFormat = (config) => { + const configFormat = config.format; + switch (configFormat) { + case undefined: + case 'es': + case 'esm': + case 'module': { + return 'es'; + } + case 'cjs': + case 'commonjs': { + return 'cjs'; + } + case 'system': + case 'systemjs': { + return 'system'; + } + case 'amd': + case 'iife': + case 'umd': { + return configFormat; + } + default: { + return error(logInvalidOption('output.format', URL_OUTPUT_FORMAT, `Valid values are "amd", "cjs", "system", "es", "iife" or "umd"`, configFormat)); + } + } +}; +const getInlineDynamicImports = (config, inputOptions) => { + const inlineDynamicImports = config.inlineDynamicImports || false; + const { input } = inputOptions; + if (inlineDynamicImports && (Array.isArray(input) ? input : Object.keys(input)).length > 1) { + return error(logInvalidOption('output.inlineDynamicImports', URL_OUTPUT_INLINEDYNAMICIMPORTS, 'multiple inputs are not supported when "output.inlineDynamicImports" is true')); + } + return inlineDynamicImports; +}; +const getPreserveModules = (config, inlineDynamicImports, inputOptions) => { + const preserveModules = config.preserveModules || false; + if (preserveModules) { + if (inlineDynamicImports) { + return error(logInvalidOption('output.inlineDynamicImports', URL_OUTPUT_INLINEDYNAMICIMPORTS, `this option is not supported for "output.preserveModules"`)); + } + if (inputOptions.preserveEntrySignatures === false) { + return error(logInvalidOption('preserveEntrySignatures', URL_PRESERVEENTRYSIGNATURES, 'setting this option to false is not supported for "output.preserveModules"')); + } + } + return preserveModules; +}; +const getPreserveModulesRoot = (config) => { + const { preserveModulesRoot } = config; + if (preserveModulesRoot === null || preserveModulesRoot === undefined) { + return undefined; + } + return resolve$1(preserveModulesRoot); +}; +const getAmd = (config) => { + const mergedOption = { + autoId: false, + basePath: '', + define: 'define', + forceJsExtensionForImports: false, + ...config.amd + }; + if ((mergedOption.autoId || mergedOption.basePath) && mergedOption.id) { + return error(logInvalidOption('output.amd.id', URL_OUTPUT_AMD_ID, 'this option cannot be used together with "output.amd.autoId"/"output.amd.basePath"')); + } + if (mergedOption.basePath && !mergedOption.autoId) { + return error(logInvalidOption('output.amd.basePath', URL_OUTPUT_AMD_BASEPATH, 'this option only works with "output.amd.autoId"')); + } + return mergedOption.autoId + ? { + autoId: true, + basePath: mergedOption.basePath, + define: mergedOption.define, + forceJsExtensionForImports: mergedOption.forceJsExtensionForImports + } + : { + autoId: false, + define: mergedOption.define, + forceJsExtensionForImports: mergedOption.forceJsExtensionForImports, + id: mergedOption.id + }; +}; +const getAddon = (config, name) => { + const configAddon = config[name]; + if (typeof configAddon === 'function') { + return configAddon; + } + return () => configAddon || ''; +}; +// eslint-disable-next-line unicorn/prevent-abbreviations +const getDir = (config, file) => { + const { dir } = config; + if (typeof dir === 'string' && typeof file === 'string') { + return error(logInvalidOption('output.dir', URL_OUTPUT_DIR, 'you must set either "output.file" for a single-file build or "output.dir" when generating multiple chunks')); + } + return dir; +}; +const getEntryFileNames = (config, unsetOptions) => { + const configEntryFileNames = config.entryFileNames; + if (configEntryFileNames == null) { + unsetOptions.add('entryFileNames'); + } + return configEntryFileNames ?? '[name].js'; +}; +function getExports(config, unsetOptions) { + const configExports = config.exports; + if (configExports == null) { + unsetOptions.add('exports'); + } + else if (!['default', 'named', 'none', 'auto'].includes(configExports)) { + return error(logInvalidExportOptionValue(configExports)); + } + return configExports || 'auto'; +} +const getExternalImportAttributes = (config, inputOptions) => { + if (config.externalImportAssertions != undefined) { + warnDeprecation(`The "output.externalImportAssertions" option is deprecated. Use the "output.externalImportAttributes" option instead.`, URL_OUTPUT_EXTERNALIMPORTATTRIBUTES, true, inputOptions); + } + return config.externalImportAttributes ?? config.externalImportAssertions ?? true; +}; +const getGeneratedCode = (config) => { + const configWithPreset = getOptionWithPreset(config.generatedCode, generatedCodePresets, 'output.generatedCode', URL_OUTPUT_GENERATEDCODE, ''); + return { + arrowFunctions: configWithPreset.arrowFunctions === true, + constBindings: configWithPreset.constBindings === true, + objectShorthand: configWithPreset.objectShorthand === true, + reservedNamesAsProps: configWithPreset.reservedNamesAsProps !== false, + symbols: configWithPreset.symbols === true + }; +}; +const getIndent = (config, compact) => { + if (compact) { + return ''; + } + const configIndent = config.indent; + return configIndent === false ? '' : configIndent ?? true; +}; +const ALLOWED_INTEROP_TYPES = new Set([ + 'compat', + 'auto', + 'esModule', + 'default', + 'defaultOnly' +]); +const getInterop = (config) => { + const configInterop = config.interop; + if (typeof configInterop === 'function') { + const interopPerId = Object.create(null); + let defaultInterop = null; + return id => id === null + ? defaultInterop || validateInterop((defaultInterop = configInterop(id))) + : id in interopPerId + ? interopPerId[id] + : validateInterop((interopPerId[id] = configInterop(id))); + } + return configInterop === undefined ? () => 'default' : () => validateInterop(configInterop); +}; +const validateInterop = (interop) => { + if (!ALLOWED_INTEROP_TYPES.has(interop)) { + return error(logInvalidOption('output.interop', URL_OUTPUT_INTEROP, + // eslint-disable-next-line unicorn/prefer-spread + `use one of ${Array.from(ALLOWED_INTEROP_TYPES, value => JSON.stringify(value)).join(', ')}`, interop)); + } + return interop; +}; +const getManualChunks = (config, inlineDynamicImports, preserveModules) => { + const configManualChunks = config.manualChunks; + if (configManualChunks) { + if (inlineDynamicImports) { + return error(logInvalidOption('output.manualChunks', URL_OUTPUT_MANUALCHUNKS, 'this option is not supported for "output.inlineDynamicImports"')); + } + if (preserveModules) { + return error(logInvalidOption('output.manualChunks', URL_OUTPUT_MANUALCHUNKS, 'this option is not supported for "output.preserveModules"')); + } + } + return configManualChunks || {}; +}; +const getMinifyInternalExports = (config, format, compact) => config.minifyInternalExports ?? (compact || format === 'es' || format === 'system'); +const getSourcemapFileNames = (config, unsetOptions) => { + const configSourcemapFileNames = config.sourcemapFileNames; + if (configSourcemapFileNames == null) { + unsetOptions.add('sourcemapFileNames'); + } + return configSourcemapFileNames; +}; +const getSourcemapBaseUrl = (config) => { + const { sourcemapBaseUrl } = config; + if (sourcemapBaseUrl) { + if (isValidUrl(sourcemapBaseUrl)) { + return addTrailingSlashIfMissed(sourcemapBaseUrl); + } + return error(logInvalidOption('output.sourcemapBaseUrl', URL_OUTPUT_SOURCEMAPBASEURL, `must be a valid URL, received ${JSON.stringify(sourcemapBaseUrl)}`)); + } +}; + +function rollup(rawInputOptions) { + return rollupInternal(rawInputOptions, null); +} +async function rollupInternal(rawInputOptions, watcher) { + const { options: inputOptions, unsetOptions: unsetInputOptions } = await getInputOptions(rawInputOptions, watcher !== null); + initialiseTimers(inputOptions); + await initWasm(); + const graph = new Graph(inputOptions, watcher); + // remove the cache object from the memory after graph creation (cache is not used anymore) + const useCache = rawInputOptions.cache !== false; + if (rawInputOptions.cache) { + inputOptions.cache = undefined; + rawInputOptions.cache = undefined; + } + timeStart('BUILD', 1); + await catchUnfinishedHookActions(graph.pluginDriver, async () => { + try { + timeStart('initialize', 2); + await graph.pluginDriver.hookParallel('buildStart', [inputOptions]); + timeEnd('initialize', 2); + await graph.build(); + } + catch (error_) { + const watchFiles = Object.keys(graph.watchFiles); + if (watchFiles.length > 0) { + error_.watchFiles = watchFiles; + } + await graph.pluginDriver.hookParallel('buildEnd', [error_]); + await graph.pluginDriver.hookParallel('closeBundle', []); + throw error_; + } + await graph.pluginDriver.hookParallel('buildEnd', []); + }); + timeEnd('BUILD', 1); + const result = { + cache: useCache ? graph.getCache() : undefined, + async close() { + if (result.closed) + return; + result.closed = true; + await graph.pluginDriver.hookParallel('closeBundle', []); + }, + closed: false, + async generate(rawOutputOptions) { + if (result.closed) + return error(logAlreadyClosed()); + return handleGenerateWrite(false, inputOptions, unsetInputOptions, rawOutputOptions, graph); + }, + get watchFiles() { + return Object.keys(graph.watchFiles); + }, + async write(rawOutputOptions) { + if (result.closed) + return error(logAlreadyClosed()); + return handleGenerateWrite(true, inputOptions, unsetInputOptions, rawOutputOptions, graph); + } + }; + if (inputOptions.perf) + result.getTimings = getTimings; + return result; +} +async function getInputOptions(initialInputOptions, watchMode) { + if (!initialInputOptions) { + throw new Error('You must supply an options object to rollup'); + } + const processedInputOptions = await getProcessedInputOptions(initialInputOptions, watchMode); + const { options, unsetOptions } = await normalizeInputOptions(processedInputOptions, watchMode); + normalizePlugins(options.plugins, ANONYMOUS_PLUGIN_PREFIX); + return { options, unsetOptions }; +} +async function getProcessedInputOptions(inputOptions, watchMode) { + const plugins = getSortedValidatedPlugins('options', await normalizePluginOption(inputOptions.plugins)); + const logLevel = inputOptions.logLevel || LOGLEVEL_INFO; + const logger = getLogger(plugins, getOnLog(inputOptions, logLevel), watchMode, logLevel); + for (const plugin of plugins) { + const { name, options } = plugin; + const handler = 'handler' in options ? options.handler : options; + const processedOptions = await handler.call({ + debug: getLogHandler(LOGLEVEL_DEBUG, 'PLUGIN_LOG', logger, name, logLevel), + error: (error_) => error(logPluginError(normalizeLog(error_), name, { hook: 'onLog' })), + info: getLogHandler(LOGLEVEL_INFO, 'PLUGIN_LOG', logger, name, logLevel), + meta: { rollupVersion: version, watchMode }, + warn: getLogHandler(LOGLEVEL_WARN, 'PLUGIN_WARNING', logger, name, logLevel) + }, inputOptions); + if (processedOptions) { + inputOptions = processedOptions; + } + } + return inputOptions; +} +function normalizePlugins(plugins, anonymousPrefix) { + for (const [index, plugin] of plugins.entries()) { + if (!plugin.name) { + plugin.name = `${anonymousPrefix}${index + 1}`; + } + } +} +async function handleGenerateWrite(isWrite, inputOptions, unsetInputOptions, rawOutputOptions, graph) { + const { options: outputOptions, outputPluginDriver, unsetOptions } = await getOutputOptionsAndPluginDriver(rawOutputOptions, graph.pluginDriver, inputOptions, unsetInputOptions); + return catchUnfinishedHookActions(outputPluginDriver, async () => { + const bundle = new Bundle(outputOptions, unsetOptions, inputOptions, outputPluginDriver, graph); + const generated = await bundle.generate(isWrite); + if (isWrite) { + timeStart('WRITE', 1); + if (!outputOptions.dir && !outputOptions.file) { + return error(logMissingFileOrDirOption()); + } + await Promise.all(Object.values(generated).map(chunk => graph.fileOperationQueue.run(() => writeOutputFile(chunk, outputOptions)))); + await outputPluginDriver.hookParallel('writeBundle', [outputOptions, generated]); + timeEnd('WRITE', 1); + } + return createOutput(generated); + }); +} +async function getOutputOptionsAndPluginDriver(rawOutputOptions, inputPluginDriver, inputOptions, unsetInputOptions) { + if (!rawOutputOptions) { + throw new Error('You must supply an options object'); + } + const rawPlugins = await normalizePluginOption(rawOutputOptions.plugins); + normalizePlugins(rawPlugins, ANONYMOUS_OUTPUT_PLUGIN_PREFIX); + const outputPluginDriver = inputPluginDriver.createOutputPluginDriver(rawPlugins); + return { + ...(await getOutputOptions(inputOptions, unsetInputOptions, rawOutputOptions, outputPluginDriver)), + outputPluginDriver + }; +} +function getOutputOptions(inputOptions, unsetInputOptions, rawOutputOptions, outputPluginDriver) { + return normalizeOutputOptions(outputPluginDriver.hookReduceArg0Sync('outputOptions', [rawOutputOptions], (outputOptions, result) => result || outputOptions, pluginContext => { + const emitError = () => pluginContext.error(logCannotEmitFromOptionsHook()); + return { + ...pluginContext, + emitFile: emitError, + setAssetSource: emitError + }; + }), inputOptions, unsetInputOptions); +} +function createOutput(outputBundle) { + return { + output: Object.values(outputBundle).filter(outputFile => Object.keys(outputFile).length > 0).sort((outputFileA, outputFileB) => getSortingFileType(outputFileA) - getSortingFileType(outputFileB)) + }; +} +var SortingFileType; +(function (SortingFileType) { + SortingFileType[SortingFileType["ENTRY_CHUNK"] = 0] = "ENTRY_CHUNK"; + SortingFileType[SortingFileType["SECONDARY_CHUNK"] = 1] = "SECONDARY_CHUNK"; + SortingFileType[SortingFileType["ASSET"] = 2] = "ASSET"; +})(SortingFileType || (SortingFileType = {})); +function getSortingFileType(file) { + if (file.type === 'asset') { + return SortingFileType.ASSET; + } + if (file.isEntry) { + return SortingFileType.ENTRY_CHUNK; + } + return SortingFileType.SECONDARY_CHUNK; +} +async function writeOutputFile(outputFile, outputOptions) { + const fileName = resolve$1(outputOptions.dir || dirname(outputOptions.file), outputFile.fileName); + // 'recursive: true' does not throw if the folder structure, or parts of it, already exist + await mkdir(dirname(fileName), { recursive: true }); + return writeFile(fileName, outputFile.type === 'asset' ? outputFile.source : outputFile.code); +} +/** + * Auxiliary function for defining rollup configuration + * Mainly to facilitate IDE code prompts, after all, export default does not + * prompt, even if you add @type annotations, it is not accurate + * @param options + */ +function defineConfig(options) { + return options; +} + +const { + env = {}, + argv = [], + platform = "", +} = typeof process === "undefined" ? {} : process; + +const isDisabled = "NO_COLOR" in env || argv.includes("--no-color"); +const isForced = "FORCE_COLOR" in env || argv.includes("--color"); +const isWindows = platform === "win32"; +const isDumbTerminal = env.TERM === "dumb"; + +const isCompatibleTerminal = + tty && tty.isatty && tty.isatty(1) && env.TERM && !isDumbTerminal; + +const isCI = + "CI" in env && + ("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env); + +const isColorSupported = + !isDisabled && + (isForced || (isWindows && !isDumbTerminal) || isCompatibleTerminal || isCI); + +const replaceClose = ( + index, + string, + close, + replace, + head = string.substring(0, index) + replace, + tail = string.substring(index + close.length), + next = tail.indexOf(close) +) => head + (next < 0 ? tail : replaceClose(next, tail, close, replace)); + +const clearBleed = (index, string, open, close, replace) => + index < 0 + ? open + string + close + : open + replaceClose(index, string, close, replace) + close; + +const filterEmpty = + (open, close, replace = open, at = open.length + 1) => + (string) => + string || !(string === "" || string === undefined) + ? clearBleed( + ("" + string).indexOf(close, at), + string, + open, + close, + replace + ) + : ""; + +const init = (open, close, replace) => + filterEmpty(`\x1b[${open}m`, `\x1b[${close}m`, replace); + +const colors = { + reset: init(0, 0), + bold: init(1, 22, "\x1b[22m\x1b[1m"), + dim: init(2, 22, "\x1b[22m\x1b[2m"), + italic: init(3, 23), + underline: init(4, 24), + inverse: init(7, 27), + hidden: init(8, 28), + strikethrough: init(9, 29), + black: init(30, 39), + red: init(31, 39), + green: init(32, 39), + yellow: init(33, 39), + blue: init(34, 39), + magenta: init(35, 39), + cyan: init(36, 39), + white: init(37, 39), + gray: init(90, 39), + bgBlack: init(40, 49), + bgRed: init(41, 49), + bgGreen: init(42, 49), + bgYellow: init(43, 49), + bgBlue: init(44, 49), + bgMagenta: init(45, 49), + bgCyan: init(46, 49), + bgWhite: init(47, 49), + blackBright: init(90, 39), + redBright: init(91, 39), + greenBright: init(92, 39), + yellowBright: init(93, 39), + blueBright: init(94, 39), + magentaBright: init(95, 39), + cyanBright: init(96, 39), + whiteBright: init(97, 39), + bgBlackBright: init(100, 49), + bgRedBright: init(101, 49), + bgGreenBright: init(102, 49), + bgYellowBright: init(103, 49), + bgBlueBright: init(104, 49), + bgMagentaBright: init(105, 49), + bgCyanBright: init(106, 49), + bgWhiteBright: init(107, 49), +}; + +const createColors = ({ useColor = isColorSupported } = {}) => + useColor + ? colors + : Object.keys(colors).reduce( + (colors, key) => ({ ...colors, [key]: String }), + {} + ); + +createColors(); + +// @see https://no-color.org +// @see https://www.npmjs.com/package/chalk +const { bold, cyan, dim, gray, green, red, underline, yellow } = createColors({ + useColor: env$1.FORCE_COLOR !== '0' && !env$1.NO_COLOR +}); + +// log to stderr to keep `rollup main.js > bundle.js` from breaking +const stderr = (...parameters) => process$1.stderr.write(`${parameters.join('')}\n`); +function handleError(error, recover = false) { + const name = error.name || error.cause?.name; + const nameSection = name ? `${name}: ` : ''; + const pluginSection = error.plugin ? `(plugin ${error.plugin}) ` : ''; + const message = `${pluginSection}${nameSection}${error.message}`; + const outputLines = [bold(red(`[!] ${bold(message.toString())}`))]; + if (error.url) { + outputLines.push(cyan(error.url)); + } + if (error.loc) { + outputLines.push(`${relativeId((error.loc.file || error.id))} (${error.loc.line}:${error.loc.column})`); + } + else if (error.id) { + outputLines.push(relativeId(error.id)); + } + if (error.frame) { + outputLines.push(dim(error.frame)); + } + if (error.stack) { + outputLines.push(dim(error.stack?.replace(`${nameSection}${error.message}\n`, ''))); + } + outputLines.push('', ''); + stderr(outputLines.join('\n')); + if (!recover) + process$1.exit(1); +} + +const commandAliases = { + c: 'config', + d: 'dir', + e: 'external', + f: 'format', + g: 'globals', + h: 'help', + i: 'input', + m: 'sourcemap', + n: 'name', + o: 'file', + p: 'plugin', + v: 'version', + w: 'watch' +}; +const EMPTY_COMMAND_OPTIONS = { external: [], globals: undefined }; +async function mergeOptions(config, watchMode, rawCommandOptions = EMPTY_COMMAND_OPTIONS, printLog) { + const command = getCommandOptions(rawCommandOptions); + const plugins = await normalizePluginOption(config.plugins); + const logLevel = config.logLevel || LOGLEVEL_INFO; + const onLog = getOnLog(config, logLevel, printLog); + const log = getLogger(plugins, onLog, watchMode, logLevel); + const inputOptions = mergeInputOptions(config, command, plugins, log, onLog); + if (command.output) { + Object.assign(command, command.output); + } + const outputOptionsArray = ensureArray(config.output); + if (outputOptionsArray.length === 0) + outputOptionsArray.push({}); + const outputOptions = await Promise.all(outputOptionsArray.map(singleOutputOptions => mergeOutputOptions(singleOutputOptions, command, log))); + warnUnknownOptions(command, [ + ...Object.keys(inputOptions), + ...Object.keys(outputOptions[0]).filter(option => option !== 'sourcemapIgnoreList' && option !== 'sourcemapPathTransform'), + ...Object.keys(commandAliases), + 'bundleConfigAsCjs', + 'config', + 'configPlugin', + 'environment', + 'failAfterWarnings', + 'filterLogs', + 'forceExit', + 'plugin', + 'silent', + 'stdin', + 'waitForBundleInput' + ], 'CLI flags', log, /^_$|output$|config/); + inputOptions.output = outputOptions; + return inputOptions; +} +function getCommandOptions(rawCommandOptions) { + const external = rawCommandOptions.external && typeof rawCommandOptions.external === 'string' + ? rawCommandOptions.external.split(',') + : []; + return { + ...rawCommandOptions, + external, + globals: typeof rawCommandOptions.globals === 'string' + ? rawCommandOptions.globals.split(',').reduce((globals, globalDefinition) => { + const [id, variableName] = globalDefinition.split(':'); + globals[id] = variableName; + if (!external.includes(id)) { + external.push(id); + } + return globals; + }, Object.create(null)) + : undefined + }; +} +function mergeInputOptions(config, overrides, plugins, log, onLog) { + const getOption = (name) => overrides[name] ?? config[name]; + const inputOptions = { + cache: config.cache, + context: getOption('context'), + experimentalCacheExpiry: getOption('experimentalCacheExpiry'), + experimentalLogSideEffects: getOption('experimentalLogSideEffects'), + external: getExternal(config, overrides), + input: getOption('input') || [], + logLevel: getOption('logLevel'), + makeAbsoluteExternalsRelative: getOption('makeAbsoluteExternalsRelative'), + maxParallelFileOps: getOption('maxParallelFileOps'), + moduleContext: getOption('moduleContext'), + onLog, + onwarn: undefined, + perf: getOption('perf'), + plugins, + preserveEntrySignatures: getOption('preserveEntrySignatures'), + preserveSymlinks: getOption('preserveSymlinks'), + shimMissingExports: getOption('shimMissingExports'), + strictDeprecations: getOption('strictDeprecations'), + treeshake: getObjectOption(config, overrides, 'treeshake', objectifyOptionWithPresets(treeshakePresets, 'treeshake', URL_TREESHAKE, 'false, true, ')), + watch: getWatch(config, overrides) + }; + warnUnknownOptions(config, Object.keys(inputOptions), 'input options', log, /^output$/); + return inputOptions; +} +const getExternal = (config, overrides) => { + const configExternal = config.external; + return typeof configExternal === 'function' + ? (source, importer, isResolved) => configExternal(source, importer, isResolved) || overrides.external.includes(source) + : [...ensureArray(configExternal), ...overrides.external]; +}; +const getObjectOption = (config, overrides, name, objectifyValue = objectifyOption) => { + const commandOption = normalizeObjectOptionValue(overrides[name], objectifyValue); + const configOption = normalizeObjectOptionValue(config[name], objectifyValue); + if (commandOption !== undefined) { + return commandOption && { ...configOption, ...commandOption }; + } + return configOption; +}; +const getWatch = (config, overrides) => config.watch !== false && getObjectOption(config, overrides, 'watch'); +const normalizeObjectOptionValue = (optionValue, objectifyValue) => { + if (!optionValue) { + return optionValue; + } + if (Array.isArray(optionValue)) { + return optionValue.reduce((result, value) => value && result && { ...result, ...objectifyValue(value) }, {}); + } + return objectifyValue(optionValue); +}; +async function mergeOutputOptions(config, overrides, log) { + const getOption = (name) => overrides[name] ?? config[name]; + const outputOptions = { + amd: getObjectOption(config, overrides, 'amd'), + assetFileNames: getOption('assetFileNames'), + banner: getOption('banner'), + chunkFileNames: getOption('chunkFileNames'), + compact: getOption('compact'), + dir: getOption('dir'), + dynamicImportInCjs: getOption('dynamicImportInCjs'), + entryFileNames: getOption('entryFileNames'), + esModule: getOption('esModule'), + experimentalMinChunkSize: getOption('experimentalMinChunkSize'), + exports: getOption('exports'), + extend: getOption('extend'), + externalImportAssertions: getOption('externalImportAssertions'), + externalImportAttributes: getOption('externalImportAttributes'), + externalLiveBindings: getOption('externalLiveBindings'), + file: getOption('file'), + footer: getOption('footer'), + format: getOption('format'), + freeze: getOption('freeze'), + generatedCode: getObjectOption(config, overrides, 'generatedCode', objectifyOptionWithPresets(generatedCodePresets, 'output.generatedCode', URL_OUTPUT_GENERATEDCODE, '')), + globals: getOption('globals'), + hashCharacters: getOption('hashCharacters'), + hoistTransitiveImports: getOption('hoistTransitiveImports'), + indent: getOption('indent'), + inlineDynamicImports: getOption('inlineDynamicImports'), + interop: getOption('interop'), + intro: getOption('intro'), + manualChunks: getOption('manualChunks'), + minifyInternalExports: getOption('minifyInternalExports'), + name: getOption('name'), + noConflict: getOption('noConflict'), + outro: getOption('outro'), + paths: getOption('paths'), + plugins: await normalizePluginOption(config.plugins), + preserveModules: getOption('preserveModules'), + preserveModulesRoot: getOption('preserveModulesRoot'), + reexportProtoFromExternal: getOption('reexportProtoFromExternal'), + sanitizeFileName: getOption('sanitizeFileName'), + sourcemap: getOption('sourcemap'), + sourcemapBaseUrl: getOption('sourcemapBaseUrl'), + sourcemapExcludeSources: getOption('sourcemapExcludeSources'), + sourcemapFile: getOption('sourcemapFile'), + sourcemapFileNames: getOption('sourcemapFileNames'), + sourcemapIgnoreList: getOption('sourcemapIgnoreList'), + sourcemapPathTransform: getOption('sourcemapPathTransform'), + strict: getOption('strict'), + systemNullSetters: getOption('systemNullSetters'), + validate: getOption('validate') + }; + warnUnknownOptions(config, Object.keys(outputOptions), 'output options', log); + return outputOptions; +} + +class WatchEmitter { + constructor() { + this.currentHandlers = Object.create(null); + this.persistentHandlers = Object.create(null); + } + // Will be overwritten by Rollup + async close() { } + emit(event, ...parameters) { + return Promise.all([...this.getCurrentHandlers(event), ...this.getPersistentHandlers(event)].map(handler => handler(...parameters))); + } + off(event, listener) { + const listeners = this.persistentHandlers[event]; + if (listeners) { + // A hack stolen from "mitt": ">>> 0" does not change numbers >= 0, but -1 + // (which would remove the last array element if used unchanged) is turned + // into max_int, which is outside the array and does not change anything. + listeners.splice(listeners.indexOf(listener) >>> 0, 1); + } + return this; + } + on(event, listener) { + this.getPersistentHandlers(event).push(listener); + return this; + } + onCurrentRun(event, listener) { + this.getCurrentHandlers(event).push(listener); + return this; + } + once(event, listener) { + const selfRemovingListener = (...parameters) => { + this.off(event, selfRemovingListener); + return listener(...parameters); + }; + this.on(event, selfRemovingListener); + return this; + } + removeAllListeners() { + this.removeListenersForCurrentRun(); + this.persistentHandlers = Object.create(null); + return this; + } + removeListenersForCurrentRun() { + this.currentHandlers = Object.create(null); + return this; + } + getCurrentHandlers(event) { + return this.currentHandlers[event] || (this.currentHandlers[event] = []); + } + getPersistentHandlers(event) { + return this.persistentHandlers[event] || (this.persistentHandlers[event] = []); + } +} + +let fsEvents; +let fsEventsImportError; +async function loadFsEvents() { + try { + ({ default: fsEvents } = await import('fsevents')); + } + catch (error) { + fsEventsImportError = error; + } +} +// A call to this function will be injected into the chokidar code +function getFsEvents() { + if (fsEventsImportError) + throw fsEventsImportError; + return fsEvents; +} + +const fseventsImporter = /*#__PURE__*/Object.defineProperty({ + __proto__: null, + getFsEvents, + loadFsEvents +}, Symbol.toStringTag, { value: 'Module' }); + +function watch(configs) { + const emitter = new WatchEmitter(); + watchInternal(configs, emitter).catch(error => { + handleError(error); + }); + return emitter; +} +async function watchInternal(configs, emitter) { + const optionsList = await Promise.all(ensureArray(configs).map(config => mergeOptions(config, true))); + const watchOptionsList = optionsList.filter(config => config.watch !== false); + if (watchOptionsList.length === 0) { + return error(logInvalidOption('watch', URL_WATCH, 'there must be at least one config where "watch" is not set to "false"')); + } + await loadFsEvents(); + const { Watcher } = await import('./watch.js'); + new Watcher(watchOptionsList, emitter); +} + +export { createFilter, defineConfig, fseventsImporter, getAugmentedNamespace, picomatch, rollup, rollupInternal, version, watch }; diff --git a/.pnpm-store/v3/files/62/9d88cc8ff40a15e14112c9a0375c86c23c9c33cf7e457eade74597950ed0c02ca574014361c23bb99f3ca6c8c4ae28a280f44509333564408220a157fbf577 b/.pnpm-store/v3/files/62/9d88cc8ff40a15e14112c9a0375c86c23c9c33cf7e457eade74597950ed0c02ca574014361c23bb99f3ca6c8c4ae28a280f44509333564408220a157fbf577 new file mode 100644 index 00000000..218d2482 --- /dev/null +++ b/.pnpm-store/v3/files/62/9d88cc8ff40a15e14112c9a0375c86c23c9c33cf7e457eade74597950ed0c02ca574014361c23bb99f3ca6c8c4ae28a280f44509333564408220a157fbf577 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J SC","2340":"D E F A B"},B:{"2":"C K L G M N O","1025":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC","513":"oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b","545":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB WC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","1025":"0 1 2 3 4 5 6 7 8 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC","164":"J","4644":"D E F ZC aC bC"},F:{"2":"F B G M N O AB q r s t BB CB DB EB iC jC kC lC 2B QC","545":"C mC 3B","1025":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC","4260":"oC pC","4644":"E qC rC sC tC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","1025":"H"},J:{"2":"D","4260":"A"},K:{"2":"A B 2B QC","545":"C 3B","1025":"u"},L:{"1025":"H"},M:{"1":"1B"},N:{"2340":"A B"},O:{"1025":"4B"},P:{"1025":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1025":"FC"},R:{"1025":"SD"},S:{"1":"UD","4097":"TD"}},B:4,C:"Crisp edges/pixelated images",D:true}; diff --git a/.pnpm-store/v3/files/62/9fb50370d9c41e9ed34d2de8e83a3ed946c4c075b6b9f66cd7dbcd3c21124f2725dfba3f573bc4b578577546e985979a52141b5a6eae4e0367e63876f9effa b/.pnpm-store/v3/files/62/9fb50370d9c41e9ed34d2de8e83a3ed946c4c075b6b9f66cd7dbcd3c21124f2725dfba3f573bc4b578577546e985979a52141b5a6eae4e0367e63876f9effa new file mode 100644 index 00000000..7ba5b723 --- /dev/null +++ b/.pnpm-store/v3/files/62/9fb50370d9c41e9ed34d2de8e83a3ed946c4c075b6b9f66cd7dbcd3c21124f2725dfba3f573bc4b578577546e985979a52141b5a6eae4e0367e63876f9effa @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","420":"A B"},B:{"2":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","420":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","36":"G M N O","66":"AB q r s t BB CB DB EB FB GB HB IB JB KB LB"},E:{"2":"9 I J C K L G XC DC YC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","33":"D E F A B ZC aC bC EC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"DC nC RC oC pC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","33":"E qC rC sC tC uC vC wC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"420":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"CSS Regions",D:true}; diff --git a/.pnpm-store/v3/files/63/1cf2d1aa897c34c65ee286583c5e3d4f8bd9e81802fd1c77a26845429068d55f658ae3d4bb04d688d330262a0ec01b40b8721200c3c74ff129bec7e0f3e6e0 b/.pnpm-store/v3/files/63/1cf2d1aa897c34c65ee286583c5e3d4f8bd9e81802fd1c77a26845429068d55f658ae3d4bb04d688d330262a0ec01b40b8721200c3c74ff129bec7e0f3e6e0 new file mode 100644 index 00000000..4ef4aeeb --- /dev/null +++ b/.pnpm-store/v3/files/63/1cf2d1aa897c34c65ee286583c5e3d4f8bd9e81802fd1c77a26845429068d55f658ae3d4bb04d688d330262a0ec01b40b8721200c3c74ff129bec7e0f3e6e0 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB VC WC","194":"PB QB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"L G cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC","16":"A","33":"B C K EC 2B 3B FC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB iC jC kC lC 2B QC mC 3B"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS text-orientation",D:true}; diff --git a/.pnpm-store/v3/files/63/2caa7dfe0f2057d2bad84266a2e53c84935879a7431a0fb80be49a0cec244986dc27ac748bfa5f079aca5d09902649481db2608749c84cfdeeda713618236e-index.json b/.pnpm-store/v3/files/63/2caa7dfe0f2057d2bad84266a2e53c84935879a7431a0fb80be49a0cec244986dc27ac748bfa5f079aca5d09902649481db2608749c84cfdeeda713618236e-index.json new file mode 100644 index 00000000..ba626855 --- /dev/null +++ b/.pnpm-store/v3/files/63/2caa7dfe0f2057d2bad84266a2e53c84935879a7431a0fb80be49a0cec244986dc27ac748bfa5f079aca5d09902649481db2608749c84cfdeeda713618236e-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001725480,"integrity":"sha512-3Gto0TuM+VlkS5NfEZKwLHGqelz2U71DtEgPqJ7sjU0/FqInjsjDtAqx/bIzsxc6eP2DWQ1vc54Mno/1bCglVw==","mode":420,"size":11357},"lib/errors.js":{"checkedAt":1708001725480,"integrity":"sha512-oPDfsDLmvWg0krGAUyTPrFfYW0AY4R9w/Wf0aCh2KZHkvF2vKOT/paVe7DIQwVl8K8SXQ91eePIH7h0hSQeKaw==","mode":420,"size":487},"index.js":{"checkedAt":1708001725481,"integrity":"sha512-5jcxbfFWVIM1Y/s6B0QHq6bCGYDqCqsNQz7hBGGyYCOIMnnjqZWNfGZr6n5ePBy5sdMMNQrIJ84Z8R4imH/TdQ==","mode":420,"size":5530},"package.json":{"checkedAt":1708001725481,"integrity":"sha512-Bxahs9L+w0eR0QWJb+o38eO9nVdPc4QMmMJikMnMyonenBYRyjDhZ01KfuoZKhOKEbJGMfiaSOAB7uhItiyWDA==","mode":420,"size":609},"README.md":{"checkedAt":1708001725481,"integrity":"sha512-iHslTVxFccZ2UCItk7ajNlfxUaNqaT2JzdaekOqq7seJv2J8xydhtnIrcnwagIzKFQpsSWwmoMDYKIYi8VwK5A==","mode":420,"size":281}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/63/8a3e8523190ab7bf89d98b60a8e479550bd29019ca26d6bf38b6622bb1357ffc4cbd142d303dfd57cbec6f96b548c3d152d151aa2d15db134e8e534a8e6dfe b/.pnpm-store/v3/files/63/8a3e8523190ab7bf89d98b60a8e479550bd29019ca26d6bf38b6622bb1357ffc4cbd142d303dfd57cbec6f96b548c3d152d151aa2d15db134e8e534a8e6dfe new file mode 100644 index 00000000..b911ba04 --- /dev/null +++ b/.pnpm-store/v3/files/63/8a3e8523190ab7bf89d98b60a8e479550bd29019ca26d6bf38b6622bb1357ffc4cbd142d303dfd57cbec6f96b548c3d152d151aa2d15db134e8e534a8e6dfe @@ -0,0 +1 @@ +module.exports={C:{"78":0.00373,"115":0.07078,"120":0.01118,"121":1.64273,"122":0.40603,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 123 124 125 3.5 3.6"},D:{"29":0.4023,"49":0.00373,"58":0.03725,"62":0.00373,"65":0.00373,"70":0.00745,"74":0.0149,"75":0.00373,"76":0.01863,"79":0.01118,"81":0.0149,"83":0.11548,"85":0.00373,"87":0.01863,"88":0.00373,"89":0.00373,"91":0.01863,"92":0.00373,"93":0.07823,"95":0.00373,"96":0.00745,"99":0.00373,"102":0.00373,"103":0.1043,"104":0.00373,"105":0.0149,"106":0.00745,"109":0.6556,"110":0.00373,"111":0.00373,"112":0.00745,"113":0.00373,"114":0.01863,"115":0.00373,"116":0.08568,"117":0.03725,"118":0.65188,"119":1.34845,"120":13.05985,"121":0.60718,"122":0.03353,"123":0.00373,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 59 60 61 63 64 66 67 68 69 71 72 73 77 78 80 84 86 90 94 97 98 100 101 107 108 124"},F:{"28":0.0149,"85":0.01118,"95":0.03353,"105":0.12665,"106":0.26075,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.01118,"90":0.00373,"92":0.01118,"109":0.0298,"110":0.00745,"114":0.00373,"115":0.95733,"117":0.00745,"118":0.00373,"119":0.0894,"120":5.73278,"121":0.8195,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 111 112 113 116"},E:{"12":0.07823,"14":0.01118,_:"0 4 5 6 7 8 9 10 11 13 15 3.1 3.2 5.1 6.1 7.1 10.1 11.1 15.1 17.4","9.1":0.00373,"12.1":0.00373,"13.1":0.00373,"14.1":0.08195,"15.2-15.3":0.00373,"15.4":0.00373,"15.5":0.0149,"15.6":0.5364,"16.0":0.0298,"16.1":0.03353,"16.2":0.14155,"16.3":0.21605,"16.4":0.0745,"16.5":0.07823,"16.6":0.1788,"17.0":0.02608,"17.1":0.37995,"17.2":0.44328,"17.3":0.32408},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00279,"5.0-5.1":0.00419,"6.0-6.1":0.00698,"7.0-7.1":0.00977,"8.1-8.4":0.0014,"9.0-9.2":0.00837,"9.3":0.03209,"10.0-10.2":0.00279,"10.3":0.05023,"11.0-11.2":0.01953,"11.3-11.4":0.02093,"12.0-12.1":0.01256,"12.2-12.5":0.24837,"13.0-13.1":0.00419,"13.2":0.04605,"13.3":0.01256,"13.4-13.7":0.05581,"14.0-14.4":0.09767,"14.5-14.8":0.1493,"15.0-15.1":0.06419,"15.2-15.3":0.07395,"15.4":0.08651,"15.5":0.11442,"15.6-15.8":0.89162,"16.0":0.2679,"16.1":0.57069,"16.2":0.25953,"16.3":0.48279,"16.4":0.10744,"16.5":0.22884,"16.6-16.7":1.87254,"17.0":0.31116,"17.1":3.20788,"17.2":4.34229,"17.3":0.27907},P:{"4":0.11652,"20":0.05826,"21":0.10487,"22":0.09321,"23":3.00614,"5.0-5.4":0.01165,_:"6.2-6.4 8.2 9.2 10.1 12.0 15.0 18.0","7.2-7.4":0.20973,"11.1-11.2":0.0233,"13.0":0.03496,"14.0":0.01165,"16.0":0.0233,"17.0":0.03496,"19.0":0.0233},I:{"0":0.05622,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00015},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.75288,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.08784},H:{"0":0},L:{"0":50.40851},R:{_:"0"},M:{"0":0.23214}}; diff --git a/.pnpm-store/v3/files/64/02c01f1707dd2101590d99c21a153b2a5d796141ed1d215ec00ae6595871c2af6fc6bf7ec0d4de263d96efad48ddac1a3743de78b766cfce2f2bfd5f4a3ef7 b/.pnpm-store/v3/files/64/02c01f1707dd2101590d99c21a153b2a5d796141ed1d215ec00ae6595871c2af6fc6bf7ec0d4de263d96efad48ddac1a3743de78b766cfce2f2bfd5f4a3ef7 new file mode 100644 index 00000000..fab1b54f --- /dev/null +++ b/.pnpm-store/v3/files/64/02c01f1707dd2101590d99c21a153b2a5d796141ed1d215ec00ae6595871c2af6fc6bf7ec0d4de263d96efad48ddac1a3743de78b766cfce2f2bfd5f4a3ef7 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D VC WC","132":"E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T","450":"0 1 2 3 4 5 6 7 8 U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","66":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","66":"MB NB OB PB QB RB SB TB UB VB WB XB"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"450":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"Context menu item (menuitem element)",D:true}; diff --git a/.pnpm-store/v3/files/64/1d783060ec8637e90387cafeed5496fc42d4cdd6330b5eb9e2a3ee279ed6d281cbee4bfd04e403b8ce105d620458e142e7f8a6375abda9f007c1022f610ee5 b/.pnpm-store/v3/files/64/1d783060ec8637e90387cafeed5496fc42d4cdd6330b5eb9e2a3ee279ed6d281cbee4bfd04e403b8ce105d620458e142e7f8a6375abda9f007c1022f610ee5 new file mode 100644 index 00000000..40170be5 --- /dev/null +++ b/.pnpm-store/v3/files/64/1d783060ec8637e90387cafeed5496fc42d4cdd6330b5eb9e2a3ee279ed6d281cbee4bfd04e403b8ce105d620458e142e7f8a6375abda9f007c1022f610ee5 @@ -0,0 +1 @@ +module.exports={C:{"68":0.00229,"72":0.00229,"81":0.00115,"90":0.00115,"98":0.00115,"102":0.00115,"104":0.00229,"105":0.00344,"115":0.11355,"117":0.00115,"118":0.00115,"120":0.00574,"121":0.39342,"122":0.1147,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 78 79 80 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 99 100 101 103 106 107 108 109 110 111 112 113 114 116 119 123 124 125 3.5 3.6"},D:{"11":0.00574,"38":0.00229,"49":0.00688,"50":0.00115,"54":0.00459,"55":0.00459,"56":0.00115,"60":0.00115,"64":0.00344,"65":0.02638,"68":0.00115,"69":0.03441,"70":0.00229,"72":0.00115,"74":0.02982,"75":0.00918,"76":0.02179,"77":0.00229,"79":0.00803,"80":0.00115,"81":0.00229,"83":0.00344,"85":0.00574,"86":0.00229,"87":0.00459,"88":0.00229,"89":0.00115,"90":0.00229,"92":0.00115,"93":0.01147,"95":0.02409,"96":0.00115,"99":0.02638,"100":0.00229,"102":0.00229,"103":0.01262,"104":0.00229,"105":0.00115,"106":0.12617,"107":0.02179,"108":0.00115,"109":1.12177,"110":0.00115,"111":0.00344,"113":0.00115,"114":0.00918,"115":0.00344,"116":0.05735,"117":0.00344,"118":0.00918,"119":0.21793,"120":3.39971,"121":0.26955,"122":0.00344,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 51 52 53 57 58 59 61 62 63 66 67 71 73 78 84 91 94 97 98 101 112 123 124"},F:{"31":0.00459,"46":0.00459,"73":0.00229,"89":0.00115,"93":0.01147,"95":0.00115,"102":0.00115,"104":0.00115,"105":0.01835,"106":0.09061,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00344,"13":0.00115,"15":0.00115,"16":0.00115,"18":0.01721,"83":0.00344,"84":0.00115,"89":0.00229,"92":0.01262,"103":0.00115,"104":0.00115,"109":0.00918,"110":0.00344,"111":0.00115,"112":0.00115,"113":0.00115,"114":0.00918,"116":0.00229,"117":0.00229,"118":0.00574,"119":0.04588,"120":0.89466,"121":0.06882,_:"14 17 79 80 81 85 86 87 88 90 91 93 94 95 96 97 98 99 100 101 102 105 106 107 108 115"},E:{"11":0.00344,"12":0.00115,"13":0.00459,"14":0.00344,_:"0 4 5 6 7 8 9 10 15 3.1 3.2 6.1 7.1 15.1 15.4 15.5 17.4","5.1":0.00229,"9.1":0.04015,"10.1":0.00115,"11.1":0.00115,"12.1":0.00229,"13.1":0.01606,"14.1":0.02409,"15.2-15.3":0.00115,"15.6":0.05391,"16.0":0.00229,"16.1":0.00688,"16.2":0.01606,"16.3":0.03556,"16.4":0.00344,"16.5":0.02294,"16.6":0.04817,"17.0":0.00229,"17.1":0.11241,"17.2":0.078,"17.3":0.00344},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00423,"5.0-5.1":0.00635,"6.0-6.1":0.01058,"7.0-7.1":0.01482,"8.1-8.4":0.00212,"9.0-9.2":0.0127,"9.3":0.04868,"10.0-10.2":0.00423,"10.3":0.07619,"11.0-11.2":0.02963,"11.3-11.4":0.03175,"12.0-12.1":0.01905,"12.2-12.5":0.37674,"13.0-13.1":0.00635,"13.2":0.06984,"13.3":0.01905,"13.4-13.7":0.08466,"14.0-14.4":0.14816,"14.5-14.8":0.22647,"15.0-15.1":0.09736,"15.2-15.3":0.11218,"15.4":0.13122,"15.5":0.17355,"15.6-15.8":1.35245,"16.0":0.40637,"16.1":0.86565,"16.2":0.39367,"16.3":0.73231,"16.4":0.16297,"16.5":0.34711,"16.6-16.7":2.84036,"17.0":0.47198,"17.1":4.86586,"17.2":6.58659,"17.3":0.4233},P:{"4":0.2267,"20":0.03091,"21":0.05152,"22":0.17518,"23":0.71102,"5.0-5.4":0.03091,"6.2-6.4":0.13396,"7.2-7.4":0.25762,_:"8.2 10.1 14.0 15.0 17.0","9.2":0.0103,"11.1-11.2":0.02061,"12.0":0.0103,"13.0":0.0103,"16.0":0.20609,"18.0":0.04122,"19.0":0.09274},I:{"0":0.01763,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"11":0.00115,_:"6 7 8 9 10 5.5"},K:{"0":0.65816,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.33638},H:{"0":0.05},L:{"0":67.7032},R:{_:"0"},M:{"0":0.02656}}; diff --git a/.pnpm-store/v3/files/64/2add28d8907cbc4e4a38667d31da9e9a54ddb003d5c7eaf1b01cf2203da2155fbe2cb1d7a532f02f8857c83dd894e786ecdf0a57e0c95a554770f6afa32f96 b/.pnpm-store/v3/files/64/2add28d8907cbc4e4a38667d31da9e9a54ddb003d5c7eaf1b01cf2203da2155fbe2cb1d7a532f02f8857c83dd894e786ecdf0a57e0c95a554770f6afa32f96 new file mode 100644 index 00000000..5c3b8506 --- /dev/null +++ b/.pnpm-store/v3/files/64/2add28d8907cbc4e4a38667d31da9e9a54ddb003d5c7eaf1b01cf2203da2155fbe2cb1d7a532f02f8857c83dd894e786ecdf0a57e0c95a554770f6afa32f96 @@ -0,0 +1,2255 @@ +module.exports = { + "0.20.0": "39.0.2171.65", + "0.20.1": "39.0.2171.65", + "0.20.2": "39.0.2171.65", + "0.20.3": "39.0.2171.65", + "0.20.4": "39.0.2171.65", + "0.20.5": "39.0.2171.65", + "0.20.6": "39.0.2171.65", + "0.20.7": "39.0.2171.65", + "0.20.8": "39.0.2171.65", + "0.21.0": "40.0.2214.91", + "0.21.1": "40.0.2214.91", + "0.21.2": "40.0.2214.91", + "0.21.3": "41.0.2272.76", + "0.22.1": "41.0.2272.76", + "0.22.2": "41.0.2272.76", + "0.22.3": "41.0.2272.76", + "0.23.0": "41.0.2272.76", + "0.24.0": "41.0.2272.76", + "0.25.0": "42.0.2311.107", + "0.25.1": "42.0.2311.107", + "0.25.2": "42.0.2311.107", + "0.25.3": "42.0.2311.107", + "0.26.0": "42.0.2311.107", + "0.26.1": "42.0.2311.107", + "0.27.0": "42.0.2311.107", + "0.27.1": "42.0.2311.107", + "0.27.2": "43.0.2357.65", + "0.27.3": "43.0.2357.65", + "0.28.0": "43.0.2357.65", + "0.28.1": "43.0.2357.65", + "0.28.2": "43.0.2357.65", + "0.28.3": "43.0.2357.65", + "0.29.1": "43.0.2357.65", + "0.29.2": "43.0.2357.65", + "0.30.4": "44.0.2403.125", + "0.31.0": "44.0.2403.125", + "0.31.2": "45.0.2454.85", + "0.32.2": "45.0.2454.85", + "0.32.3": "45.0.2454.85", + "0.33.0": "45.0.2454.85", + "0.33.1": "45.0.2454.85", + "0.33.2": "45.0.2454.85", + "0.33.3": "45.0.2454.85", + "0.33.4": "45.0.2454.85", + "0.33.6": "45.0.2454.85", + "0.33.7": "45.0.2454.85", + "0.33.8": "45.0.2454.85", + "0.33.9": "45.0.2454.85", + "0.34.0": "45.0.2454.85", + "0.34.1": "45.0.2454.85", + "0.34.2": "45.0.2454.85", + "0.34.3": "45.0.2454.85", + "0.34.4": "45.0.2454.85", + "0.35.1": "45.0.2454.85", + "0.35.2": "45.0.2454.85", + "0.35.3": "45.0.2454.85", + "0.35.4": "45.0.2454.85", + "0.35.5": "45.0.2454.85", + "0.36.0": "47.0.2526.73", + "0.36.2": "47.0.2526.73", + "0.36.3": "47.0.2526.73", + "0.36.4": "47.0.2526.73", + "0.36.5": "47.0.2526.110", + "0.36.6": "47.0.2526.110", + "0.36.7": "47.0.2526.110", + "0.36.8": "47.0.2526.110", + "0.36.9": "47.0.2526.110", + "0.36.10": "47.0.2526.110", + "0.36.11": "47.0.2526.110", + "0.36.12": "47.0.2526.110", + "0.37.0": "49.0.2623.75", + "0.37.1": "49.0.2623.75", + "0.37.3": "49.0.2623.75", + "0.37.4": "49.0.2623.75", + "0.37.5": "49.0.2623.75", + "0.37.6": "49.0.2623.75", + "0.37.7": "49.0.2623.75", + "0.37.8": "49.0.2623.75", + "1.0.0": "49.0.2623.75", + "1.0.1": "49.0.2623.75", + "1.0.2": "49.0.2623.75", + "1.1.0": "50.0.2661.102", + "1.1.1": "50.0.2661.102", + "1.1.2": "50.0.2661.102", + "1.1.3": "50.0.2661.102", + "1.2.0": "51.0.2704.63", + "1.2.1": "51.0.2704.63", + "1.2.2": "51.0.2704.84", + "1.2.3": "51.0.2704.84", + "1.2.4": "51.0.2704.103", + "1.2.5": "51.0.2704.103", + "1.2.6": "51.0.2704.106", + "1.2.7": "51.0.2704.106", + "1.2.8": "51.0.2704.106", + "1.3.0": "52.0.2743.82", + "1.3.1": "52.0.2743.82", + "1.3.2": "52.0.2743.82", + "1.3.3": "52.0.2743.82", + "1.3.4": "52.0.2743.82", + "1.3.5": "52.0.2743.82", + "1.3.6": "52.0.2743.82", + "1.3.7": "52.0.2743.82", + "1.3.9": "52.0.2743.82", + "1.3.10": "52.0.2743.82", + "1.3.13": "52.0.2743.82", + "1.3.14": "52.0.2743.82", + "1.3.15": "52.0.2743.82", + "1.4.0": "53.0.2785.113", + "1.4.1": "53.0.2785.113", + "1.4.2": "53.0.2785.113", + "1.4.3": "53.0.2785.113", + "1.4.4": "53.0.2785.113", + "1.4.5": "53.0.2785.113", + "1.4.6": "53.0.2785.143", + "1.4.7": "53.0.2785.143", + "1.4.8": "53.0.2785.143", + "1.4.10": "53.0.2785.143", + "1.4.11": "53.0.2785.143", + "1.4.12": "54.0.2840.51", + "1.4.13": "53.0.2785.143", + "1.4.14": "53.0.2785.143", + "1.4.15": "53.0.2785.143", + "1.4.16": "53.0.2785.143", + "1.5.0": "54.0.2840.101", + "1.5.1": "54.0.2840.101", + "1.6.0": "56.0.2924.87", + "1.6.1": "56.0.2924.87", + "1.6.2": "56.0.2924.87", + "1.6.3": "56.0.2924.87", + "1.6.4": "56.0.2924.87", + "1.6.5": "56.0.2924.87", + "1.6.6": "56.0.2924.87", + "1.6.7": "56.0.2924.87", + "1.6.8": "56.0.2924.87", + "1.6.9": "56.0.2924.87", + "1.6.10": "56.0.2924.87", + "1.6.11": "56.0.2924.87", + "1.6.12": "56.0.2924.87", + "1.6.13": "56.0.2924.87", + "1.6.14": "56.0.2924.87", + "1.6.15": "56.0.2924.87", + "1.6.16": "56.0.2924.87", + "1.6.17": "56.0.2924.87", + "1.6.18": "56.0.2924.87", + "1.7.0": "58.0.3029.110", + "1.7.1": "58.0.3029.110", + "1.7.2": "58.0.3029.110", + "1.7.3": "58.0.3029.110", + "1.7.4": "58.0.3029.110", + "1.7.5": "58.0.3029.110", + "1.7.6": "58.0.3029.110", + "1.7.7": "58.0.3029.110", + "1.7.8": "58.0.3029.110", + "1.7.9": "58.0.3029.110", + "1.7.10": "58.0.3029.110", + "1.7.11": "58.0.3029.110", + "1.7.12": "58.0.3029.110", + "1.7.13": "58.0.3029.110", + "1.7.14": "58.0.3029.110", + "1.7.15": "58.0.3029.110", + "1.7.16": "58.0.3029.110", + "1.8.0": "59.0.3071.115", + "1.8.1": "59.0.3071.115", + "1.8.2-beta.1": "59.0.3071.115", + "1.8.2-beta.2": "59.0.3071.115", + "1.8.2-beta.3": "59.0.3071.115", + "1.8.2-beta.4": "59.0.3071.115", + "1.8.2-beta.5": "59.0.3071.115", + "1.8.2": "59.0.3071.115", + "1.8.3": "59.0.3071.115", + "1.8.4": "59.0.3071.115", + "1.8.5": "59.0.3071.115", + "1.8.6": "59.0.3071.115", + "1.8.7": "59.0.3071.115", + "1.8.8": "59.0.3071.115", + "2.0.0-beta.1": "61.0.3163.100", + "2.0.0-beta.2": "61.0.3163.100", + "2.0.0-beta.3": "61.0.3163.100", + "2.0.0-beta.4": "61.0.3163.100", + "2.0.0-beta.5": "61.0.3163.100", + "2.0.0-beta.6": "61.0.3163.100", + "2.0.0-beta.7": "61.0.3163.100", + "2.0.0-beta.8": "61.0.3163.100", + "2.0.0": "61.0.3163.100", + "2.0.1": "61.0.3163.100", + "2.0.2": "61.0.3163.100", + "2.0.3": "61.0.3163.100", + "2.0.4": "61.0.3163.100", + "2.0.5": "61.0.3163.100", + "2.0.6": "61.0.3163.100", + "2.0.7": "61.0.3163.100", + "2.0.8-nightly.20180819": "61.0.3163.100", + "2.0.8-nightly.20180820": "61.0.3163.100", + "2.0.8": "61.0.3163.100", + "2.0.9": "61.0.3163.100", + "2.0.10": "61.0.3163.100", + "2.0.11": "61.0.3163.100", + "2.0.12": "61.0.3163.100", + "2.0.13": "61.0.3163.100", + "2.0.14": "61.0.3163.100", + "2.0.15": "61.0.3163.100", + "2.0.16": "61.0.3163.100", + "2.0.17": "61.0.3163.100", + "2.0.18": "61.0.3163.100", + "2.1.0-unsupported.20180809": "61.0.3163.100", + "3.0.0-beta.1": "66.0.3359.181", + "3.0.0-beta.2": "66.0.3359.181", + "3.0.0-beta.3": "66.0.3359.181", + "3.0.0-beta.4": "66.0.3359.181", + "3.0.0-beta.5": "66.0.3359.181", + "3.0.0-beta.6": "66.0.3359.181", + "3.0.0-beta.7": "66.0.3359.181", + "3.0.0-beta.8": "66.0.3359.181", + "3.0.0-beta.9": "66.0.3359.181", + "3.0.0-beta.10": "66.0.3359.181", + "3.0.0-beta.11": "66.0.3359.181", + "3.0.0-beta.12": "66.0.3359.181", + "3.0.0-beta.13": "66.0.3359.181", + "3.0.0-nightly.20180818": "66.0.3359.181", + "3.0.0-nightly.20180821": "66.0.3359.181", + "3.0.0-nightly.20180823": "66.0.3359.181", + "3.0.0-nightly.20180904": "66.0.3359.181", + "3.0.0": "66.0.3359.181", + "3.0.1": "66.0.3359.181", + "3.0.2": "66.0.3359.181", + "3.0.3": "66.0.3359.181", + "3.0.4": "66.0.3359.181", + "3.0.5": "66.0.3359.181", + "3.0.6": "66.0.3359.181", + "3.0.7": "66.0.3359.181", + "3.0.8": "66.0.3359.181", + "3.0.9": "66.0.3359.181", + "3.0.10": "66.0.3359.181", + "3.0.11": "66.0.3359.181", + "3.0.12": "66.0.3359.181", + "3.0.13": "66.0.3359.181", + "3.0.14": "66.0.3359.181", + "3.0.15": "66.0.3359.181", + "3.0.16": "66.0.3359.181", + "3.1.0-beta.1": "66.0.3359.181", + "3.1.0-beta.2": "66.0.3359.181", + "3.1.0-beta.3": "66.0.3359.181", + "3.1.0-beta.4": "66.0.3359.181", + "3.1.0-beta.5": "66.0.3359.181", + "3.1.0": "66.0.3359.181", + "3.1.1": "66.0.3359.181", + "3.1.2": "66.0.3359.181", + "3.1.3": "66.0.3359.181", + "3.1.4": "66.0.3359.181", + "3.1.5": "66.0.3359.181", + "3.1.6": "66.0.3359.181", + "3.1.7": "66.0.3359.181", + "3.1.8": "66.0.3359.181", + "3.1.9": "66.0.3359.181", + "3.1.10": "66.0.3359.181", + "3.1.11": "66.0.3359.181", + "3.1.12": "66.0.3359.181", + "3.1.13": "66.0.3359.181", + "4.0.0-beta.1": "69.0.3497.106", + "4.0.0-beta.2": "69.0.3497.106", + "4.0.0-beta.3": "69.0.3497.106", + "4.0.0-beta.4": "69.0.3497.106", + "4.0.0-beta.5": "69.0.3497.106", + "4.0.0-beta.6": "69.0.3497.106", + "4.0.0-beta.7": "69.0.3497.106", + "4.0.0-beta.8": "69.0.3497.106", + "4.0.0-beta.9": "69.0.3497.106", + "4.0.0-beta.10": "69.0.3497.106", + "4.0.0-beta.11": "69.0.3497.106", + "4.0.0-nightly.20180817": "66.0.3359.181", + "4.0.0-nightly.20180819": "66.0.3359.181", + "4.0.0-nightly.20180821": "66.0.3359.181", + "4.0.0-nightly.20180929": "67.0.3396.99", + "4.0.0-nightly.20181006": "68.0.3440.128", + "4.0.0-nightly.20181010": "69.0.3497.106", + "4.0.0": "69.0.3497.106", + "4.0.1": "69.0.3497.106", + "4.0.2": "69.0.3497.106", + "4.0.3": "69.0.3497.106", + "4.0.4": "69.0.3497.106", + "4.0.5": "69.0.3497.106", + "4.0.6": "69.0.3497.106", + "4.0.7": "69.0.3497.128", + "4.0.8": "69.0.3497.128", + "4.1.0": "69.0.3497.128", + "4.1.1": "69.0.3497.128", + "4.1.2": "69.0.3497.128", + "4.1.3": "69.0.3497.128", + "4.1.4": "69.0.3497.128", + "4.1.5": "69.0.3497.128", + "4.2.0": "69.0.3497.128", + "4.2.1": "69.0.3497.128", + "4.2.2": "69.0.3497.128", + "4.2.3": "69.0.3497.128", + "4.2.4": "69.0.3497.128", + "4.2.5": "69.0.3497.128", + "4.2.6": "69.0.3497.128", + "4.2.7": "69.0.3497.128", + "4.2.8": "69.0.3497.128", + "4.2.9": "69.0.3497.128", + "4.2.10": "69.0.3497.128", + "4.2.11": "69.0.3497.128", + "4.2.12": "69.0.3497.128", + "5.0.0-beta.1": "72.0.3626.52", + "5.0.0-beta.2": "72.0.3626.52", + "5.0.0-beta.3": "73.0.3683.27", + "5.0.0-beta.4": "73.0.3683.54", + "5.0.0-beta.5": "73.0.3683.61", + "5.0.0-beta.6": "73.0.3683.84", + "5.0.0-beta.7": "73.0.3683.94", + "5.0.0-beta.8": "73.0.3683.104", + "5.0.0-beta.9": "73.0.3683.117", + "5.0.0-nightly.20190107": "70.0.3538.110", + "5.0.0-nightly.20190121": "71.0.3578.98", + "5.0.0-nightly.20190122": "71.0.3578.98", + "5.0.0": "73.0.3683.119", + "5.0.1": "73.0.3683.121", + "5.0.2": "73.0.3683.121", + "5.0.3": "73.0.3683.121", + "5.0.4": "73.0.3683.121", + "5.0.5": "73.0.3683.121", + "5.0.6": "73.0.3683.121", + "5.0.7": "73.0.3683.121", + "5.0.8": "73.0.3683.121", + "5.0.9": "73.0.3683.121", + "5.0.10": "73.0.3683.121", + "5.0.11": "73.0.3683.121", + "5.0.12": "73.0.3683.121", + "5.0.13": "73.0.3683.121", + "6.0.0-beta.1": "76.0.3774.1", + "6.0.0-beta.2": "76.0.3783.1", + "6.0.0-beta.3": "76.0.3783.1", + "6.0.0-beta.4": "76.0.3783.1", + "6.0.0-beta.5": "76.0.3805.4", + "6.0.0-beta.6": "76.0.3809.3", + "6.0.0-beta.7": "76.0.3809.22", + "6.0.0-beta.8": "76.0.3809.26", + "6.0.0-beta.9": "76.0.3809.26", + "6.0.0-beta.10": "76.0.3809.37", + "6.0.0-beta.11": "76.0.3809.42", + "6.0.0-beta.12": "76.0.3809.54", + "6.0.0-beta.13": "76.0.3809.60", + "6.0.0-beta.14": "76.0.3809.68", + "6.0.0-beta.15": "76.0.3809.74", + "6.0.0-nightly.20190123": "72.0.3626.52", + "6.0.0-nightly.20190212": "72.0.3626.107", + "6.0.0-nightly.20190213": "72.0.3626.110", + "6.0.0-nightly.20190311": "74.0.3724.8", + "6.0.0": "76.0.3809.88", + "6.0.1": "76.0.3809.102", + "6.0.2": "76.0.3809.110", + "6.0.3": "76.0.3809.126", + "6.0.4": "76.0.3809.131", + "6.0.5": "76.0.3809.136", + "6.0.6": "76.0.3809.138", + "6.0.7": "76.0.3809.139", + "6.0.8": "76.0.3809.146", + "6.0.9": "76.0.3809.146", + "6.0.10": "76.0.3809.146", + "6.0.11": "76.0.3809.146", + "6.0.12": "76.0.3809.146", + "6.1.0": "76.0.3809.146", + "6.1.1": "76.0.3809.146", + "6.1.2": "76.0.3809.146", + "6.1.3": "76.0.3809.146", + "6.1.4": "76.0.3809.146", + "6.1.5": "76.0.3809.146", + "6.1.6": "76.0.3809.146", + "6.1.7": "76.0.3809.146", + "6.1.8": "76.0.3809.146", + "6.1.9": "76.0.3809.146", + "6.1.10": "76.0.3809.146", + "6.1.11": "76.0.3809.146", + "6.1.12": "76.0.3809.146", + "7.0.0-beta.1": "78.0.3866.0", + "7.0.0-beta.2": "78.0.3866.0", + "7.0.0-beta.3": "78.0.3866.0", + "7.0.0-beta.4": "78.0.3896.6", + "7.0.0-beta.5": "78.0.3905.1", + "7.0.0-beta.6": "78.0.3905.1", + "7.0.0-beta.7": "78.0.3905.1", + "7.0.0-nightly.20190521": "76.0.3784.0", + "7.0.0-nightly.20190529": "76.0.3806.0", + "7.0.0-nightly.20190530": "76.0.3806.0", + "7.0.0-nightly.20190531": "76.0.3806.0", + "7.0.0-nightly.20190602": "76.0.3806.0", + "7.0.0-nightly.20190603": "76.0.3806.0", + "7.0.0-nightly.20190604": "77.0.3814.0", + "7.0.0-nightly.20190605": "77.0.3815.0", + "7.0.0-nightly.20190606": "77.0.3815.0", + "7.0.0-nightly.20190607": "77.0.3815.0", + "7.0.0-nightly.20190608": "77.0.3815.0", + "7.0.0-nightly.20190609": "77.0.3815.0", + "7.0.0-nightly.20190611": "77.0.3815.0", + "7.0.0-nightly.20190612": "77.0.3815.0", + "7.0.0-nightly.20190613": "77.0.3815.0", + "7.0.0-nightly.20190615": "77.0.3815.0", + "7.0.0-nightly.20190616": "77.0.3815.0", + "7.0.0-nightly.20190618": "77.0.3815.0", + "7.0.0-nightly.20190619": "77.0.3815.0", + "7.0.0-nightly.20190622": "77.0.3815.0", + "7.0.0-nightly.20190623": "77.0.3815.0", + "7.0.0-nightly.20190624": "77.0.3815.0", + "7.0.0-nightly.20190627": "77.0.3815.0", + "7.0.0-nightly.20190629": "77.0.3815.0", + "7.0.0-nightly.20190630": "77.0.3815.0", + "7.0.0-nightly.20190701": "77.0.3815.0", + "7.0.0-nightly.20190702": "77.0.3815.0", + "7.0.0-nightly.20190704": "77.0.3843.0", + "7.0.0-nightly.20190705": "77.0.3843.0", + "7.0.0-nightly.20190719": "77.0.3848.0", + "7.0.0-nightly.20190720": "77.0.3848.0", + "7.0.0-nightly.20190721": "77.0.3848.0", + "7.0.0-nightly.20190726": "77.0.3864.0", + "7.0.0-nightly.20190727": "78.0.3866.0", + "7.0.0-nightly.20190728": "78.0.3866.0", + "7.0.0-nightly.20190729": "78.0.3866.0", + "7.0.0-nightly.20190730": "78.0.3866.0", + "7.0.0-nightly.20190731": "78.0.3866.0", + "7.0.0": "78.0.3905.1", + "7.0.1": "78.0.3904.92", + "7.1.0": "78.0.3904.94", + "7.1.1": "78.0.3904.99", + "7.1.2": "78.0.3904.113", + "7.1.3": "78.0.3904.126", + "7.1.4": "78.0.3904.130", + "7.1.5": "78.0.3904.130", + "7.1.6": "78.0.3904.130", + "7.1.7": "78.0.3904.130", + "7.1.8": "78.0.3904.130", + "7.1.9": "78.0.3904.130", + "7.1.10": "78.0.3904.130", + "7.1.11": "78.0.3904.130", + "7.1.12": "78.0.3904.130", + "7.1.13": "78.0.3904.130", + "7.1.14": "78.0.3904.130", + "7.2.0": "78.0.3904.130", + "7.2.1": "78.0.3904.130", + "7.2.2": "78.0.3904.130", + "7.2.3": "78.0.3904.130", + "7.2.4": "78.0.3904.130", + "7.3.0": "78.0.3904.130", + "7.3.1": "78.0.3904.130", + "7.3.2": "78.0.3904.130", + "7.3.3": "78.0.3904.130", + "8.0.0-beta.1": "79.0.3931.0", + "8.0.0-beta.2": "79.0.3931.0", + "8.0.0-beta.3": "80.0.3955.0", + "8.0.0-beta.4": "80.0.3955.0", + "8.0.0-beta.5": "80.0.3987.14", + "8.0.0-beta.6": "80.0.3987.51", + "8.0.0-beta.7": "80.0.3987.59", + "8.0.0-beta.8": "80.0.3987.75", + "8.0.0-beta.9": "80.0.3987.75", + "8.0.0-nightly.20190801": "78.0.3866.0", + "8.0.0-nightly.20190802": "78.0.3866.0", + "8.0.0-nightly.20190803": "78.0.3871.0", + "8.0.0-nightly.20190806": "78.0.3871.0", + "8.0.0-nightly.20190807": "78.0.3871.0", + "8.0.0-nightly.20190808": "78.0.3871.0", + "8.0.0-nightly.20190809": "78.0.3871.0", + "8.0.0-nightly.20190810": "78.0.3871.0", + "8.0.0-nightly.20190811": "78.0.3871.0", + "8.0.0-nightly.20190812": "78.0.3871.0", + "8.0.0-nightly.20190813": "78.0.3871.0", + "8.0.0-nightly.20190814": "78.0.3871.0", + "8.0.0-nightly.20190815": "78.0.3871.0", + "8.0.0-nightly.20190816": "78.0.3881.0", + "8.0.0-nightly.20190817": "78.0.3881.0", + "8.0.0-nightly.20190818": "78.0.3881.0", + "8.0.0-nightly.20190819": "78.0.3881.0", + "8.0.0-nightly.20190820": "78.0.3881.0", + "8.0.0-nightly.20190824": "78.0.3892.0", + "8.0.0-nightly.20190825": "78.0.3892.0", + "8.0.0-nightly.20190827": "78.0.3892.0", + "8.0.0-nightly.20190828": "78.0.3892.0", + "8.0.0-nightly.20190830": "78.0.3892.0", + "8.0.0-nightly.20190901": "78.0.3892.0", + "8.0.0-nightly.20190902": "78.0.3892.0", + "8.0.0-nightly.20190907": "78.0.3892.0", + "8.0.0-nightly.20190909": "78.0.3892.0", + "8.0.0-nightly.20190910": "78.0.3892.0", + "8.0.0-nightly.20190911": "78.0.3892.0", + "8.0.0-nightly.20190912": "78.0.3892.0", + "8.0.0-nightly.20190913": "78.0.3892.0", + "8.0.0-nightly.20190914": "78.0.3892.0", + "8.0.0-nightly.20190915": "78.0.3892.0", + "8.0.0-nightly.20190917": "78.0.3892.0", + "8.0.0-nightly.20190919": "79.0.3915.0", + "8.0.0-nightly.20190920": "79.0.3915.0", + "8.0.0-nightly.20190922": "79.0.3919.0", + "8.0.0-nightly.20190923": "79.0.3919.0", + "8.0.0-nightly.20190924": "79.0.3919.0", + "8.0.0-nightly.20190926": "79.0.3919.0", + "8.0.0-nightly.20190928": "79.0.3919.0", + "8.0.0-nightly.20190929": "79.0.3919.0", + "8.0.0-nightly.20190930": "79.0.3919.0", + "8.0.0-nightly.20191001": "79.0.3919.0", + "8.0.0-nightly.20191004": "79.0.3919.0", + "8.0.0-nightly.20191005": "79.0.3919.0", + "8.0.0-nightly.20191006": "79.0.3919.0", + "8.0.0-nightly.20191009": "79.0.3919.0", + "8.0.0-nightly.20191011": "79.0.3919.0", + "8.0.0-nightly.20191012": "79.0.3919.0", + "8.0.0-nightly.20191017": "79.0.3919.0", + "8.0.0-nightly.20191019": "79.0.3931.0", + "8.0.0-nightly.20191020": "79.0.3931.0", + "8.0.0-nightly.20191021": "79.0.3931.0", + "8.0.0-nightly.20191023": "79.0.3931.0", + "8.0.0-nightly.20191101": "80.0.3952.0", + "8.0.0-nightly.20191103": "80.0.3952.0", + "8.0.0-nightly.20191105": "80.0.3952.0", + "8.0.0": "80.0.3987.86", + "8.0.1": "80.0.3987.86", + "8.0.2": "80.0.3987.86", + "8.0.3": "80.0.3987.134", + "8.1.0": "80.0.3987.137", + "8.1.1": "80.0.3987.141", + "8.2.0": "80.0.3987.158", + "8.2.1": "80.0.3987.163", + "8.2.2": "80.0.3987.163", + "8.2.3": "80.0.3987.163", + "8.2.4": "80.0.3987.165", + "8.2.5": "80.0.3987.165", + "8.3.0": "80.0.3987.165", + "8.3.1": "80.0.3987.165", + "8.3.2": "80.0.3987.165", + "8.3.3": "80.0.3987.165", + "8.3.4": "80.0.3987.165", + "8.4.0": "80.0.3987.165", + "8.4.1": "80.0.3987.165", + "8.5.0": "80.0.3987.165", + "8.5.1": "80.0.3987.165", + "8.5.2": "80.0.3987.165", + "8.5.3": "80.0.3987.163", + "8.5.4": "80.0.3987.163", + "8.5.5": "80.0.3987.163", + "9.0.0-beta.1": "82.0.4048.0", + "9.0.0-beta.2": "82.0.4048.0", + "9.0.0-beta.3": "82.0.4048.0", + "9.0.0-beta.4": "82.0.4048.0", + "9.0.0-beta.5": "82.0.4048.0", + "9.0.0-beta.6": "82.0.4058.2", + "9.0.0-beta.7": "82.0.4058.2", + "9.0.0-beta.9": "82.0.4058.2", + "9.0.0-beta.10": "82.0.4085.10", + "9.0.0-beta.11": "82.0.4085.14", + "9.0.0-beta.12": "82.0.4085.14", + "9.0.0-beta.13": "82.0.4085.14", + "9.0.0-beta.14": "82.0.4085.27", + "9.0.0-beta.15": "83.0.4102.3", + "9.0.0-beta.16": "83.0.4102.3", + "9.0.0-beta.17": "83.0.4103.14", + "9.0.0-beta.18": "83.0.4103.16", + "9.0.0-beta.19": "83.0.4103.24", + "9.0.0-beta.20": "83.0.4103.26", + "9.0.0-beta.21": "83.0.4103.26", + "9.0.0-beta.22": "83.0.4103.34", + "9.0.0-beta.23": "83.0.4103.44", + "9.0.0-beta.24": "83.0.4103.45", + "9.0.0-nightly.20191121": "80.0.3954.0", + "9.0.0-nightly.20191122": "80.0.3954.0", + "9.0.0-nightly.20191123": "80.0.3954.0", + "9.0.0-nightly.20191124": "80.0.3954.0", + "9.0.0-nightly.20191126": "80.0.3954.0", + "9.0.0-nightly.20191128": "80.0.3954.0", + "9.0.0-nightly.20191129": "80.0.3954.0", + "9.0.0-nightly.20191130": "80.0.3954.0", + "9.0.0-nightly.20191201": "80.0.3954.0", + "9.0.0-nightly.20191202": "80.0.3954.0", + "9.0.0-nightly.20191203": "80.0.3954.0", + "9.0.0-nightly.20191204": "80.0.3954.0", + "9.0.0-nightly.20191205": "80.0.3954.0", + "9.0.0-nightly.20191210": "80.0.3954.0", + "9.0.0-nightly.20191220": "81.0.3994.0", + "9.0.0-nightly.20191221": "81.0.3994.0", + "9.0.0-nightly.20191222": "81.0.3994.0", + "9.0.0-nightly.20191223": "81.0.3994.0", + "9.0.0-nightly.20191224": "81.0.3994.0", + "9.0.0-nightly.20191225": "81.0.3994.0", + "9.0.0-nightly.20191226": "81.0.3994.0", + "9.0.0-nightly.20191228": "81.0.3994.0", + "9.0.0-nightly.20191229": "81.0.3994.0", + "9.0.0-nightly.20191230": "81.0.3994.0", + "9.0.0-nightly.20191231": "81.0.3994.0", + "9.0.0-nightly.20200101": "81.0.3994.0", + "9.0.0-nightly.20200103": "81.0.3994.0", + "9.0.0-nightly.20200104": "81.0.3994.0", + "9.0.0-nightly.20200105": "81.0.3994.0", + "9.0.0-nightly.20200106": "81.0.3994.0", + "9.0.0-nightly.20200108": "81.0.3994.0", + "9.0.0-nightly.20200109": "81.0.3994.0", + "9.0.0-nightly.20200110": "81.0.3994.0", + "9.0.0-nightly.20200111": "81.0.3994.0", + "9.0.0-nightly.20200113": "81.0.3994.0", + "9.0.0-nightly.20200115": "81.0.3994.0", + "9.0.0-nightly.20200116": "81.0.3994.0", + "9.0.0-nightly.20200117": "81.0.3994.0", + "9.0.0-nightly.20200119": "81.0.4030.0", + "9.0.0-nightly.20200121": "81.0.4030.0", + "9.0.0": "83.0.4103.64", + "9.0.1": "83.0.4103.94", + "9.0.2": "83.0.4103.94", + "9.0.3": "83.0.4103.100", + "9.0.4": "83.0.4103.104", + "9.0.5": "83.0.4103.119", + "9.1.0": "83.0.4103.122", + "9.1.1": "83.0.4103.122", + "9.1.2": "83.0.4103.122", + "9.2.0": "83.0.4103.122", + "9.2.1": "83.0.4103.122", + "9.3.0": "83.0.4103.122", + "9.3.1": "83.0.4103.122", + "9.3.2": "83.0.4103.122", + "9.3.3": "83.0.4103.122", + "9.3.4": "83.0.4103.122", + "9.3.5": "83.0.4103.122", + "9.4.0": "83.0.4103.122", + "9.4.1": "83.0.4103.122", + "9.4.2": "83.0.4103.122", + "9.4.3": "83.0.4103.122", + "9.4.4": "83.0.4103.122", + "10.0.0-beta.1": "84.0.4129.0", + "10.0.0-beta.2": "84.0.4129.0", + "10.0.0-beta.3": "85.0.4161.2", + "10.0.0-beta.4": "85.0.4161.2", + "10.0.0-beta.8": "85.0.4181.1", + "10.0.0-beta.9": "85.0.4181.1", + "10.0.0-beta.10": "85.0.4183.19", + "10.0.0-beta.11": "85.0.4183.20", + "10.0.0-beta.12": "85.0.4183.26", + "10.0.0-beta.13": "85.0.4183.39", + "10.0.0-beta.14": "85.0.4183.39", + "10.0.0-beta.15": "85.0.4183.39", + "10.0.0-beta.17": "85.0.4183.39", + "10.0.0-beta.19": "85.0.4183.39", + "10.0.0-beta.20": "85.0.4183.39", + "10.0.0-beta.21": "85.0.4183.39", + "10.0.0-beta.23": "85.0.4183.70", + "10.0.0-beta.24": "85.0.4183.78", + "10.0.0-beta.25": "85.0.4183.80", + "10.0.0-nightly.20200209": "82.0.4050.0", + "10.0.0-nightly.20200210": "82.0.4050.0", + "10.0.0-nightly.20200211": "82.0.4050.0", + "10.0.0-nightly.20200216": "82.0.4050.0", + "10.0.0-nightly.20200217": "82.0.4050.0", + "10.0.0-nightly.20200218": "82.0.4050.0", + "10.0.0-nightly.20200221": "82.0.4050.0", + "10.0.0-nightly.20200222": "82.0.4050.0", + "10.0.0-nightly.20200223": "82.0.4050.0", + "10.0.0-nightly.20200226": "82.0.4050.0", + "10.0.0-nightly.20200303": "82.0.4050.0", + "10.0.0-nightly.20200304": "82.0.4076.0", + "10.0.0-nightly.20200305": "82.0.4076.0", + "10.0.0-nightly.20200306": "82.0.4076.0", + "10.0.0-nightly.20200309": "82.0.4076.0", + "10.0.0-nightly.20200310": "82.0.4076.0", + "10.0.0-nightly.20200311": "82.0.4083.0", + "10.0.0-nightly.20200316": "83.0.4086.0", + "10.0.0-nightly.20200317": "83.0.4087.0", + "10.0.0-nightly.20200318": "83.0.4087.0", + "10.0.0-nightly.20200320": "83.0.4087.0", + "10.0.0-nightly.20200323": "83.0.4087.0", + "10.0.0-nightly.20200324": "83.0.4087.0", + "10.0.0-nightly.20200325": "83.0.4087.0", + "10.0.0-nightly.20200326": "83.0.4087.0", + "10.0.0-nightly.20200327": "83.0.4087.0", + "10.0.0-nightly.20200330": "83.0.4087.0", + "10.0.0-nightly.20200331": "83.0.4087.0", + "10.0.0-nightly.20200401": "83.0.4087.0", + "10.0.0-nightly.20200402": "83.0.4087.0", + "10.0.0-nightly.20200403": "83.0.4087.0", + "10.0.0-nightly.20200406": "83.0.4087.0", + "10.0.0-nightly.20200408": "83.0.4095.0", + "10.0.0-nightly.20200410": "83.0.4095.0", + "10.0.0-nightly.20200413": "83.0.4095.0", + "10.0.0-nightly.20200414": "84.0.4114.0", + "10.0.0-nightly.20200415": "84.0.4115.0", + "10.0.0-nightly.20200416": "84.0.4115.0", + "10.0.0-nightly.20200417": "84.0.4115.0", + "10.0.0-nightly.20200422": "84.0.4121.0", + "10.0.0-nightly.20200423": "84.0.4121.0", + "10.0.0-nightly.20200427": "84.0.4125.0", + "10.0.0-nightly.20200428": "84.0.4125.0", + "10.0.0-nightly.20200429": "84.0.4125.0", + "10.0.0-nightly.20200430": "84.0.4125.0", + "10.0.0-nightly.20200501": "84.0.4129.0", + "10.0.0-nightly.20200504": "84.0.4129.0", + "10.0.0-nightly.20200505": "84.0.4129.0", + "10.0.0-nightly.20200506": "84.0.4129.0", + "10.0.0-nightly.20200507": "84.0.4129.0", + "10.0.0-nightly.20200508": "84.0.4129.0", + "10.0.0-nightly.20200511": "84.0.4129.0", + "10.0.0-nightly.20200512": "84.0.4129.0", + "10.0.0-nightly.20200513": "84.0.4129.0", + "10.0.0-nightly.20200514": "84.0.4129.0", + "10.0.0-nightly.20200515": "84.0.4129.0", + "10.0.0-nightly.20200518": "84.0.4129.0", + "10.0.0-nightly.20200519": "84.0.4129.0", + "10.0.0-nightly.20200520": "84.0.4129.0", + "10.0.0-nightly.20200521": "84.0.4129.0", + "10.0.0": "85.0.4183.84", + "10.0.1": "85.0.4183.86", + "10.1.0": "85.0.4183.87", + "10.1.1": "85.0.4183.93", + "10.1.2": "85.0.4183.98", + "10.1.3": "85.0.4183.121", + "10.1.4": "85.0.4183.121", + "10.1.5": "85.0.4183.121", + "10.1.6": "85.0.4183.121", + "10.1.7": "85.0.4183.121", + "10.2.0": "85.0.4183.121", + "10.3.0": "85.0.4183.121", + "10.3.1": "85.0.4183.121", + "10.3.2": "85.0.4183.121", + "10.4.0": "85.0.4183.121", + "10.4.1": "85.0.4183.121", + "10.4.2": "85.0.4183.121", + "10.4.3": "85.0.4183.121", + "10.4.4": "85.0.4183.121", + "10.4.5": "85.0.4183.121", + "10.4.6": "85.0.4183.121", + "10.4.7": "85.0.4183.121", + "11.0.0-beta.1": "86.0.4234.0", + "11.0.0-beta.3": "86.0.4234.0", + "11.0.0-beta.4": "86.0.4234.0", + "11.0.0-beta.5": "86.0.4234.0", + "11.0.0-beta.6": "86.0.4234.0", + "11.0.0-beta.7": "86.0.4234.0", + "11.0.0-beta.8": "87.0.4251.1", + "11.0.0-beta.9": "87.0.4251.1", + "11.0.0-beta.11": "87.0.4251.1", + "11.0.0-beta.12": "87.0.4280.11", + "11.0.0-beta.13": "87.0.4280.11", + "11.0.0-beta.16": "87.0.4280.27", + "11.0.0-beta.17": "87.0.4280.27", + "11.0.0-beta.18": "87.0.4280.27", + "11.0.0-beta.19": "87.0.4280.27", + "11.0.0-beta.20": "87.0.4280.40", + "11.0.0-beta.22": "87.0.4280.47", + "11.0.0-beta.23": "87.0.4280.47", + "11.0.0-nightly.20200525": "84.0.4129.0", + "11.0.0-nightly.20200526": "84.0.4129.0", + "11.0.0-nightly.20200529": "85.0.4156.0", + "11.0.0-nightly.20200602": "85.0.4162.0", + "11.0.0-nightly.20200603": "85.0.4162.0", + "11.0.0-nightly.20200604": "85.0.4162.0", + "11.0.0-nightly.20200609": "85.0.4162.0", + "11.0.0-nightly.20200610": "85.0.4162.0", + "11.0.0-nightly.20200611": "85.0.4162.0", + "11.0.0-nightly.20200615": "85.0.4162.0", + "11.0.0-nightly.20200616": "85.0.4162.0", + "11.0.0-nightly.20200617": "85.0.4162.0", + "11.0.0-nightly.20200618": "85.0.4162.0", + "11.0.0-nightly.20200619": "85.0.4162.0", + "11.0.0-nightly.20200701": "85.0.4179.0", + "11.0.0-nightly.20200702": "85.0.4179.0", + "11.0.0-nightly.20200703": "85.0.4179.0", + "11.0.0-nightly.20200706": "85.0.4179.0", + "11.0.0-nightly.20200707": "85.0.4179.0", + "11.0.0-nightly.20200708": "85.0.4179.0", + "11.0.0-nightly.20200709": "85.0.4179.0", + "11.0.0-nightly.20200716": "86.0.4203.0", + "11.0.0-nightly.20200717": "86.0.4203.0", + "11.0.0-nightly.20200720": "86.0.4203.0", + "11.0.0-nightly.20200721": "86.0.4203.0", + "11.0.0-nightly.20200723": "86.0.4209.0", + "11.0.0-nightly.20200724": "86.0.4209.0", + "11.0.0-nightly.20200729": "86.0.4209.0", + "11.0.0-nightly.20200730": "86.0.4209.0", + "11.0.0-nightly.20200731": "86.0.4209.0", + "11.0.0-nightly.20200803": "86.0.4209.0", + "11.0.0-nightly.20200804": "86.0.4209.0", + "11.0.0-nightly.20200805": "86.0.4209.0", + "11.0.0-nightly.20200811": "86.0.4209.0", + "11.0.0-nightly.20200812": "86.0.4209.0", + "11.0.0-nightly.20200822": "86.0.4234.0", + "11.0.0-nightly.20200824": "86.0.4234.0", + "11.0.0-nightly.20200825": "86.0.4234.0", + "11.0.0-nightly.20200826": "86.0.4234.0", + "11.0.0": "87.0.4280.60", + "11.0.1": "87.0.4280.60", + "11.0.2": "87.0.4280.67", + "11.0.3": "87.0.4280.67", + "11.0.4": "87.0.4280.67", + "11.0.5": "87.0.4280.88", + "11.1.0": "87.0.4280.88", + "11.1.1": "87.0.4280.88", + "11.2.0": "87.0.4280.141", + "11.2.1": "87.0.4280.141", + "11.2.2": "87.0.4280.141", + "11.2.3": "87.0.4280.141", + "11.3.0": "87.0.4280.141", + "11.4.0": "87.0.4280.141", + "11.4.1": "87.0.4280.141", + "11.4.2": "87.0.4280.141", + "11.4.3": "87.0.4280.141", + "11.4.4": "87.0.4280.141", + "11.4.5": "87.0.4280.141", + "11.4.6": "87.0.4280.141", + "11.4.7": "87.0.4280.141", + "11.4.8": "87.0.4280.141", + "11.4.9": "87.0.4280.141", + "11.4.10": "87.0.4280.141", + "11.4.11": "87.0.4280.141", + "11.4.12": "87.0.4280.141", + "11.5.0": "87.0.4280.141", + "12.0.0-beta.1": "89.0.4328.0", + "12.0.0-beta.3": "89.0.4328.0", + "12.0.0-beta.4": "89.0.4328.0", + "12.0.0-beta.5": "89.0.4328.0", + "12.0.0-beta.6": "89.0.4328.0", + "12.0.0-beta.7": "89.0.4328.0", + "12.0.0-beta.8": "89.0.4328.0", + "12.0.0-beta.9": "89.0.4328.0", + "12.0.0-beta.10": "89.0.4328.0", + "12.0.0-beta.11": "89.0.4328.0", + "12.0.0-beta.12": "89.0.4328.0", + "12.0.0-beta.14": "89.0.4328.0", + "12.0.0-beta.16": "89.0.4348.1", + "12.0.0-beta.18": "89.0.4348.1", + "12.0.0-beta.19": "89.0.4348.1", + "12.0.0-beta.20": "89.0.4348.1", + "12.0.0-beta.21": "89.0.4388.2", + "12.0.0-beta.22": "89.0.4388.2", + "12.0.0-beta.23": "89.0.4388.2", + "12.0.0-beta.24": "89.0.4388.2", + "12.0.0-beta.25": "89.0.4388.2", + "12.0.0-beta.26": "89.0.4388.2", + "12.0.0-beta.27": "89.0.4389.23", + "12.0.0-beta.28": "89.0.4389.23", + "12.0.0-beta.29": "89.0.4389.23", + "12.0.0-beta.30": "89.0.4389.58", + "12.0.0-beta.31": "89.0.4389.58", + "12.0.0-nightly.20200827": "86.0.4234.0", + "12.0.0-nightly.20200831": "86.0.4234.0", + "12.0.0-nightly.20200902": "86.0.4234.0", + "12.0.0-nightly.20200903": "86.0.4234.0", + "12.0.0-nightly.20200907": "86.0.4234.0", + "12.0.0-nightly.20200910": "86.0.4234.0", + "12.0.0-nightly.20200911": "86.0.4234.0", + "12.0.0-nightly.20200914": "86.0.4234.0", + "12.0.0-nightly.20201002": "87.0.4268.0", + "12.0.0-nightly.20201007": "87.0.4268.0", + "12.0.0-nightly.20201009": "87.0.4268.0", + "12.0.0-nightly.20201012": "87.0.4268.0", + "12.0.0-nightly.20201013": "87.0.4268.0", + "12.0.0-nightly.20201014": "87.0.4268.0", + "12.0.0-nightly.20201015": "87.0.4268.0", + "12.0.0-nightly.20201023": "88.0.4292.0", + "12.0.0-nightly.20201026": "88.0.4292.0", + "12.0.0-nightly.20201030": "88.0.4306.0", + "12.0.0-nightly.20201102": "88.0.4306.0", + "12.0.0-nightly.20201103": "88.0.4306.0", + "12.0.0-nightly.20201104": "88.0.4306.0", + "12.0.0-nightly.20201105": "88.0.4306.0", + "12.0.0-nightly.20201106": "88.0.4306.0", + "12.0.0-nightly.20201111": "88.0.4306.0", + "12.0.0-nightly.20201112": "88.0.4306.0", + "12.0.0-nightly.20201116": "88.0.4324.0", + "12.0.0": "89.0.4389.69", + "12.0.1": "89.0.4389.82", + "12.0.2": "89.0.4389.90", + "12.0.3": "89.0.4389.114", + "12.0.4": "89.0.4389.114", + "12.0.5": "89.0.4389.128", + "12.0.6": "89.0.4389.128", + "12.0.7": "89.0.4389.128", + "12.0.8": "89.0.4389.128", + "12.0.9": "89.0.4389.128", + "12.0.10": "89.0.4389.128", + "12.0.11": "89.0.4389.128", + "12.0.12": "89.0.4389.128", + "12.0.13": "89.0.4389.128", + "12.0.14": "89.0.4389.128", + "12.0.15": "89.0.4389.128", + "12.0.16": "89.0.4389.128", + "12.0.17": "89.0.4389.128", + "12.0.18": "89.0.4389.128", + "12.1.0": "89.0.4389.128", + "12.1.1": "89.0.4389.128", + "12.1.2": "89.0.4389.128", + "12.2.0": "89.0.4389.128", + "12.2.1": "89.0.4389.128", + "12.2.2": "89.0.4389.128", + "12.2.3": "89.0.4389.128", + "13.0.0-beta.2": "90.0.4402.0", + "13.0.0-beta.3": "90.0.4402.0", + "13.0.0-beta.4": "90.0.4415.0", + "13.0.0-beta.5": "90.0.4415.0", + "13.0.0-beta.6": "90.0.4415.0", + "13.0.0-beta.7": "90.0.4415.0", + "13.0.0-beta.8": "90.0.4415.0", + "13.0.0-beta.9": "90.0.4415.0", + "13.0.0-beta.10": "90.0.4415.0", + "13.0.0-beta.11": "90.0.4415.0", + "13.0.0-beta.12": "90.0.4415.0", + "13.0.0-beta.13": "90.0.4415.0", + "13.0.0-beta.14": "91.0.4448.0", + "13.0.0-beta.16": "91.0.4448.0", + "13.0.0-beta.17": "91.0.4448.0", + "13.0.0-beta.18": "91.0.4448.0", + "13.0.0-beta.20": "91.0.4448.0", + "13.0.0-beta.21": "91.0.4472.33", + "13.0.0-beta.22": "91.0.4472.33", + "13.0.0-beta.23": "91.0.4472.33", + "13.0.0-beta.24": "91.0.4472.38", + "13.0.0-beta.25": "91.0.4472.38", + "13.0.0-beta.26": "91.0.4472.38", + "13.0.0-beta.27": "91.0.4472.38", + "13.0.0-beta.28": "91.0.4472.38", + "13.0.0-nightly.20201119": "89.0.4328.0", + "13.0.0-nightly.20201123": "89.0.4328.0", + "13.0.0-nightly.20201124": "89.0.4328.0", + "13.0.0-nightly.20201126": "89.0.4328.0", + "13.0.0-nightly.20201127": "89.0.4328.0", + "13.0.0-nightly.20201130": "89.0.4328.0", + "13.0.0-nightly.20201201": "89.0.4328.0", + "13.0.0-nightly.20201202": "89.0.4328.0", + "13.0.0-nightly.20201203": "89.0.4328.0", + "13.0.0-nightly.20201204": "89.0.4328.0", + "13.0.0-nightly.20201207": "89.0.4328.0", + "13.0.0-nightly.20201208": "89.0.4328.0", + "13.0.0-nightly.20201209": "89.0.4328.0", + "13.0.0-nightly.20201210": "89.0.4328.0", + "13.0.0-nightly.20201211": "89.0.4328.0", + "13.0.0-nightly.20201214": "89.0.4328.0", + "13.0.0-nightly.20201215": "89.0.4349.0", + "13.0.0-nightly.20201216": "89.0.4349.0", + "13.0.0-nightly.20201221": "89.0.4349.0", + "13.0.0-nightly.20201222": "89.0.4349.0", + "13.0.0-nightly.20201223": "89.0.4359.0", + "13.0.0-nightly.20210104": "89.0.4359.0", + "13.0.0-nightly.20210108": "89.0.4359.0", + "13.0.0-nightly.20210111": "89.0.4359.0", + "13.0.0-nightly.20210113": "89.0.4386.0", + "13.0.0-nightly.20210114": "89.0.4386.0", + "13.0.0-nightly.20210118": "89.0.4386.0", + "13.0.0-nightly.20210122": "89.0.4386.0", + "13.0.0-nightly.20210125": "89.0.4386.0", + "13.0.0-nightly.20210127": "89.0.4389.0", + "13.0.0-nightly.20210128": "89.0.4389.0", + "13.0.0-nightly.20210129": "89.0.4389.0", + "13.0.0-nightly.20210201": "89.0.4389.0", + "13.0.0-nightly.20210202": "89.0.4389.0", + "13.0.0-nightly.20210203": "89.0.4389.0", + "13.0.0-nightly.20210205": "89.0.4389.0", + "13.0.0-nightly.20210208": "89.0.4389.0", + "13.0.0-nightly.20210209": "89.0.4389.0", + "13.0.0-nightly.20210210": "90.0.4402.0", + "13.0.0-nightly.20210211": "90.0.4402.0", + "13.0.0-nightly.20210212": "90.0.4402.0", + "13.0.0-nightly.20210216": "90.0.4402.0", + "13.0.0-nightly.20210217": "90.0.4402.0", + "13.0.0-nightly.20210218": "90.0.4402.0", + "13.0.0-nightly.20210219": "90.0.4402.0", + "13.0.0-nightly.20210222": "90.0.4402.0", + "13.0.0-nightly.20210225": "90.0.4402.0", + "13.0.0-nightly.20210226": "90.0.4402.0", + "13.0.0-nightly.20210301": "90.0.4402.0", + "13.0.0-nightly.20210302": "90.0.4402.0", + "13.0.0-nightly.20210303": "90.0.4402.0", + "13.0.0": "91.0.4472.69", + "13.0.1": "91.0.4472.69", + "13.1.0": "91.0.4472.77", + "13.1.1": "91.0.4472.77", + "13.1.2": "91.0.4472.77", + "13.1.3": "91.0.4472.106", + "13.1.4": "91.0.4472.106", + "13.1.5": "91.0.4472.124", + "13.1.6": "91.0.4472.124", + "13.1.7": "91.0.4472.124", + "13.1.8": "91.0.4472.164", + "13.1.9": "91.0.4472.164", + "13.2.0": "91.0.4472.164", + "13.2.1": "91.0.4472.164", + "13.2.2": "91.0.4472.164", + "13.2.3": "91.0.4472.164", + "13.3.0": "91.0.4472.164", + "13.4.0": "91.0.4472.164", + "13.5.0": "91.0.4472.164", + "13.5.1": "91.0.4472.164", + "13.5.2": "91.0.4472.164", + "13.6.0": "91.0.4472.164", + "13.6.1": "91.0.4472.164", + "13.6.2": "91.0.4472.164", + "13.6.3": "91.0.4472.164", + "13.6.6": "91.0.4472.164", + "13.6.7": "91.0.4472.164", + "13.6.8": "91.0.4472.164", + "13.6.9": "91.0.4472.164", + "14.0.0-beta.1": "92.0.4511.0", + "14.0.0-beta.2": "92.0.4511.0", + "14.0.0-beta.3": "92.0.4511.0", + "14.0.0-beta.5": "93.0.4536.0", + "14.0.0-beta.6": "93.0.4536.0", + "14.0.0-beta.7": "93.0.4536.0", + "14.0.0-beta.8": "93.0.4536.0", + "14.0.0-beta.9": "93.0.4539.0", + "14.0.0-beta.10": "93.0.4539.0", + "14.0.0-beta.11": "93.0.4557.4", + "14.0.0-beta.12": "93.0.4557.4", + "14.0.0-beta.13": "93.0.4566.0", + "14.0.0-beta.14": "93.0.4566.0", + "14.0.0-beta.15": "93.0.4566.0", + "14.0.0-beta.16": "93.0.4566.0", + "14.0.0-beta.17": "93.0.4566.0", + "14.0.0-beta.18": "93.0.4577.15", + "14.0.0-beta.19": "93.0.4577.15", + "14.0.0-beta.20": "93.0.4577.15", + "14.0.0-beta.21": "93.0.4577.15", + "14.0.0-beta.22": "93.0.4577.25", + "14.0.0-beta.23": "93.0.4577.25", + "14.0.0-beta.24": "93.0.4577.51", + "14.0.0-beta.25": "93.0.4577.51", + "14.0.0-nightly.20210304": "90.0.4402.0", + "14.0.0-nightly.20210305": "90.0.4415.0", + "14.0.0-nightly.20210308": "90.0.4415.0", + "14.0.0-nightly.20210309": "90.0.4415.0", + "14.0.0-nightly.20210311": "90.0.4415.0", + "14.0.0-nightly.20210315": "90.0.4415.0", + "14.0.0-nightly.20210316": "90.0.4415.0", + "14.0.0-nightly.20210317": "90.0.4415.0", + "14.0.0-nightly.20210318": "90.0.4415.0", + "14.0.0-nightly.20210319": "90.0.4415.0", + "14.0.0-nightly.20210323": "90.0.4415.0", + "14.0.0-nightly.20210324": "90.0.4415.0", + "14.0.0-nightly.20210325": "90.0.4415.0", + "14.0.0-nightly.20210326": "90.0.4415.0", + "14.0.0-nightly.20210329": "90.0.4415.0", + "14.0.0-nightly.20210330": "90.0.4415.0", + "14.0.0-nightly.20210331": "91.0.4448.0", + "14.0.0-nightly.20210401": "91.0.4448.0", + "14.0.0-nightly.20210402": "91.0.4448.0", + "14.0.0-nightly.20210406": "91.0.4448.0", + "14.0.0-nightly.20210407": "91.0.4448.0", + "14.0.0-nightly.20210408": "91.0.4448.0", + "14.0.0-nightly.20210409": "91.0.4448.0", + "14.0.0-nightly.20210413": "91.0.4448.0", + "14.0.0-nightly.20210426": "92.0.4475.0", + "14.0.0-nightly.20210427": "92.0.4475.0", + "14.0.0-nightly.20210430": "92.0.4488.0", + "14.0.0-nightly.20210503": "92.0.4488.0", + "14.0.0-nightly.20210505": "92.0.4496.0", + "14.0.0-nightly.20210506": "92.0.4498.0", + "14.0.0-nightly.20210507": "92.0.4499.0", + "14.0.0-nightly.20210510": "92.0.4499.0", + "14.0.0-nightly.20210511": "92.0.4499.0", + "14.0.0-nightly.20210512": "92.0.4499.0", + "14.0.0-nightly.20210513": "92.0.4499.0", + "14.0.0-nightly.20210514": "92.0.4505.0", + "14.0.0-nightly.20210517": "92.0.4505.0", + "14.0.0-nightly.20210518": "92.0.4505.0", + "14.0.0-nightly.20210519": "92.0.4505.0", + "14.0.0-nightly.20210520": "92.0.4511.0", + "14.0.0-nightly.20210523": "92.0.4511.0", + "14.0.0-nightly.20210524": "92.0.4511.0", + "14.0.0": "93.0.4577.58", + "14.0.1": "93.0.4577.63", + "14.0.2": "93.0.4577.82", + "14.1.0": "93.0.4577.82", + "14.1.1": "93.0.4577.82", + "14.2.0": "93.0.4577.82", + "14.2.1": "93.0.4577.82", + "14.2.2": "93.0.4577.82", + "14.2.3": "93.0.4577.82", + "14.2.4": "93.0.4577.82", + "14.2.5": "93.0.4577.82", + "14.2.6": "93.0.4577.82", + "14.2.7": "93.0.4577.82", + "14.2.8": "93.0.4577.82", + "14.2.9": "93.0.4577.82", + "15.0.0-alpha.1": "93.0.4566.0", + "15.0.0-alpha.2": "93.0.4566.0", + "15.0.0-alpha.3": "94.0.4584.0", + "15.0.0-alpha.4": "94.0.4584.0", + "15.0.0-alpha.5": "94.0.4584.0", + "15.0.0-alpha.6": "94.0.4584.0", + "15.0.0-alpha.7": "94.0.4590.2", + "15.0.0-alpha.8": "94.0.4590.2", + "15.0.0-alpha.9": "94.0.4590.2", + "15.0.0-alpha.10": "94.0.4606.12", + "15.0.0-beta.1": "94.0.4606.20", + "15.0.0-beta.2": "94.0.4606.20", + "15.0.0-beta.3": "94.0.4606.31", + "15.0.0-beta.4": "94.0.4606.31", + "15.0.0-beta.5": "94.0.4606.31", + "15.0.0-beta.6": "94.0.4606.31", + "15.0.0-beta.7": "94.0.4606.31", + "15.0.0-nightly.20210527": "92.0.4511.0", + "15.0.0-nightly.20210528": "92.0.4511.0", + "15.0.0-nightly.20210531": "92.0.4511.0", + "15.0.0-nightly.20210601": "92.0.4511.0", + "15.0.0-nightly.20210602": "92.0.4511.0", + "15.0.0-nightly.20210603": "93.0.4530.0", + "15.0.0-nightly.20210604": "93.0.4530.0", + "15.0.0-nightly.20210608": "93.0.4535.0", + "15.0.0-nightly.20210609": "93.0.4536.0", + "15.0.0-nightly.20210610": "93.0.4536.0", + "15.0.0-nightly.20210611": "93.0.4536.0", + "15.0.0-nightly.20210614": "93.0.4536.0", + "15.0.0-nightly.20210615": "93.0.4536.0", + "15.0.0-nightly.20210616": "93.0.4536.0", + "15.0.0-nightly.20210617": "93.0.4539.0", + "15.0.0-nightly.20210618": "93.0.4539.0", + "15.0.0-nightly.20210621": "93.0.4539.0", + "15.0.0-nightly.20210622": "93.0.4539.0", + "15.0.0-nightly.20210623": "93.0.4550.0", + "15.0.0-nightly.20210624": "93.0.4550.0", + "15.0.0-nightly.20210625": "93.0.4552.0", + "15.0.0-nightly.20210628": "93.0.4552.0", + "15.0.0-nightly.20210629": "93.0.4552.0", + "15.0.0-nightly.20210630": "93.0.4558.0", + "15.0.0-nightly.20210701": "93.0.4558.0", + "15.0.0-nightly.20210702": "93.0.4558.0", + "15.0.0-nightly.20210705": "93.0.4558.0", + "15.0.0-nightly.20210706": "93.0.4566.0", + "15.0.0-nightly.20210707": "93.0.4566.0", + "15.0.0-nightly.20210708": "93.0.4566.0", + "15.0.0-nightly.20210709": "93.0.4566.0", + "15.0.0-nightly.20210712": "93.0.4566.0", + "15.0.0-nightly.20210713": "93.0.4566.0", + "15.0.0-nightly.20210714": "93.0.4566.0", + "15.0.0-nightly.20210715": "93.0.4566.0", + "15.0.0-nightly.20210716": "93.0.4566.0", + "15.0.0-nightly.20210719": "93.0.4566.0", + "15.0.0-nightly.20210720": "93.0.4566.0", + "15.0.0-nightly.20210721": "93.0.4566.0", + "15.0.0": "94.0.4606.51", + "15.1.0": "94.0.4606.61", + "15.1.1": "94.0.4606.61", + "15.1.2": "94.0.4606.71", + "15.2.0": "94.0.4606.81", + "15.3.0": "94.0.4606.81", + "15.3.1": "94.0.4606.81", + "15.3.2": "94.0.4606.81", + "15.3.3": "94.0.4606.81", + "15.3.4": "94.0.4606.81", + "15.3.5": "94.0.4606.81", + "15.3.6": "94.0.4606.81", + "15.3.7": "94.0.4606.81", + "15.4.0": "94.0.4606.81", + "15.4.1": "94.0.4606.81", + "15.4.2": "94.0.4606.81", + "15.5.0": "94.0.4606.81", + "15.5.1": "94.0.4606.81", + "15.5.2": "94.0.4606.81", + "15.5.3": "94.0.4606.81", + "15.5.4": "94.0.4606.81", + "15.5.5": "94.0.4606.81", + "15.5.6": "94.0.4606.81", + "15.5.7": "94.0.4606.81", + "16.0.0-alpha.1": "95.0.4629.0", + "16.0.0-alpha.2": "95.0.4629.0", + "16.0.0-alpha.3": "95.0.4629.0", + "16.0.0-alpha.4": "95.0.4629.0", + "16.0.0-alpha.5": "95.0.4629.0", + "16.0.0-alpha.6": "95.0.4629.0", + "16.0.0-alpha.7": "95.0.4629.0", + "16.0.0-alpha.8": "96.0.4647.0", + "16.0.0-alpha.9": "96.0.4647.0", + "16.0.0-beta.1": "96.0.4647.0", + "16.0.0-beta.2": "96.0.4647.0", + "16.0.0-beta.3": "96.0.4647.0", + "16.0.0-beta.4": "96.0.4664.18", + "16.0.0-beta.5": "96.0.4664.18", + "16.0.0-beta.6": "96.0.4664.27", + "16.0.0-beta.7": "96.0.4664.27", + "16.0.0-beta.8": "96.0.4664.35", + "16.0.0-beta.9": "96.0.4664.35", + "16.0.0-nightly.20210722": "93.0.4566.0", + "16.0.0-nightly.20210723": "93.0.4566.0", + "16.0.0-nightly.20210726": "93.0.4566.0", + "16.0.0-nightly.20210727": "94.0.4584.0", + "16.0.0-nightly.20210728": "94.0.4584.0", + "16.0.0-nightly.20210729": "94.0.4584.0", + "16.0.0-nightly.20210730": "94.0.4584.0", + "16.0.0-nightly.20210802": "94.0.4584.0", + "16.0.0-nightly.20210803": "94.0.4584.0", + "16.0.0-nightly.20210804": "94.0.4584.0", + "16.0.0-nightly.20210805": "94.0.4584.0", + "16.0.0-nightly.20210806": "94.0.4584.0", + "16.0.0-nightly.20210809": "94.0.4584.0", + "16.0.0-nightly.20210810": "94.0.4584.0", + "16.0.0-nightly.20210811": "94.0.4584.0", + "16.0.0-nightly.20210812": "94.0.4590.2", + "16.0.0-nightly.20210813": "94.0.4590.2", + "16.0.0-nightly.20210816": "94.0.4590.2", + "16.0.0-nightly.20210817": "94.0.4590.2", + "16.0.0-nightly.20210818": "94.0.4590.2", + "16.0.0-nightly.20210819": "94.0.4590.2", + "16.0.0-nightly.20210820": "94.0.4590.2", + "16.0.0-nightly.20210823": "94.0.4590.2", + "16.0.0-nightly.20210824": "95.0.4612.5", + "16.0.0-nightly.20210825": "95.0.4612.5", + "16.0.0-nightly.20210826": "95.0.4612.5", + "16.0.0-nightly.20210827": "95.0.4612.5", + "16.0.0-nightly.20210830": "95.0.4612.5", + "16.0.0-nightly.20210831": "95.0.4612.5", + "16.0.0-nightly.20210901": "95.0.4612.5", + "16.0.0-nightly.20210902": "95.0.4629.0", + "16.0.0-nightly.20210903": "95.0.4629.0", + "16.0.0-nightly.20210906": "95.0.4629.0", + "16.0.0-nightly.20210907": "95.0.4629.0", + "16.0.0-nightly.20210908": "95.0.4629.0", + "16.0.0-nightly.20210909": "95.0.4629.0", + "16.0.0-nightly.20210910": "95.0.4629.0", + "16.0.0-nightly.20210913": "95.0.4629.0", + "16.0.0-nightly.20210914": "95.0.4629.0", + "16.0.0-nightly.20210915": "95.0.4629.0", + "16.0.0-nightly.20210916": "95.0.4629.0", + "16.0.0-nightly.20210917": "95.0.4629.0", + "16.0.0-nightly.20210920": "95.0.4629.0", + "16.0.0-nightly.20210921": "95.0.4629.0", + "16.0.0-nightly.20210922": "95.0.4629.0", + "16.0.0": "96.0.4664.45", + "16.0.1": "96.0.4664.45", + "16.0.2": "96.0.4664.55", + "16.0.3": "96.0.4664.55", + "16.0.4": "96.0.4664.55", + "16.0.5": "96.0.4664.55", + "16.0.6": "96.0.4664.110", + "16.0.7": "96.0.4664.110", + "16.0.8": "96.0.4664.110", + "16.0.9": "96.0.4664.174", + "16.0.10": "96.0.4664.174", + "16.1.0": "96.0.4664.174", + "16.1.1": "96.0.4664.174", + "16.2.0": "96.0.4664.174", + "16.2.1": "96.0.4664.174", + "16.2.2": "96.0.4664.174", + "16.2.3": "96.0.4664.174", + "16.2.4": "96.0.4664.174", + "16.2.5": "96.0.4664.174", + "16.2.6": "96.0.4664.174", + "16.2.7": "96.0.4664.174", + "16.2.8": "96.0.4664.174", + "17.0.0-alpha.1": "96.0.4664.4", + "17.0.0-alpha.2": "96.0.4664.4", + "17.0.0-alpha.3": "96.0.4664.4", + "17.0.0-alpha.4": "98.0.4706.0", + "17.0.0-alpha.5": "98.0.4706.0", + "17.0.0-alpha.6": "98.0.4706.0", + "17.0.0-beta.1": "98.0.4706.0", + "17.0.0-beta.2": "98.0.4706.0", + "17.0.0-beta.3": "98.0.4758.9", + "17.0.0-beta.4": "98.0.4758.11", + "17.0.0-beta.5": "98.0.4758.11", + "17.0.0-beta.6": "98.0.4758.11", + "17.0.0-beta.7": "98.0.4758.11", + "17.0.0-beta.8": "98.0.4758.11", + "17.0.0-beta.9": "98.0.4758.11", + "17.0.0-nightly.20210923": "95.0.4629.0", + "17.0.0-nightly.20210924": "95.0.4629.0", + "17.0.0-nightly.20210927": "95.0.4629.0", + "17.0.0-nightly.20210928": "95.0.4629.0", + "17.0.0-nightly.20210929": "95.0.4629.0", + "17.0.0-nightly.20210930": "95.0.4629.0", + "17.0.0-nightly.20211001": "95.0.4629.0", + "17.0.0-nightly.20211004": "95.0.4629.0", + "17.0.0-nightly.20211005": "95.0.4629.0", + "17.0.0-nightly.20211006": "96.0.4647.0", + "17.0.0-nightly.20211007": "96.0.4647.0", + "17.0.0-nightly.20211008": "96.0.4647.0", + "17.0.0-nightly.20211011": "96.0.4647.0", + "17.0.0-nightly.20211012": "96.0.4647.0", + "17.0.0-nightly.20211013": "96.0.4647.0", + "17.0.0-nightly.20211014": "96.0.4647.0", + "17.0.0-nightly.20211015": "96.0.4647.0", + "17.0.0-nightly.20211018": "96.0.4647.0", + "17.0.0-nightly.20211019": "96.0.4647.0", + "17.0.0-nightly.20211020": "96.0.4647.0", + "17.0.0-nightly.20211021": "96.0.4647.0", + "17.0.0-nightly.20211022": "96.0.4664.4", + "17.0.0-nightly.20211025": "96.0.4664.4", + "17.0.0-nightly.20211026": "96.0.4664.4", + "17.0.0-nightly.20211027": "96.0.4664.4", + "17.0.0-nightly.20211028": "96.0.4664.4", + "17.0.0-nightly.20211029": "96.0.4664.4", + "17.0.0-nightly.20211101": "96.0.4664.4", + "17.0.0-nightly.20211102": "96.0.4664.4", + "17.0.0-nightly.20211103": "96.0.4664.4", + "17.0.0-nightly.20211104": "96.0.4664.4", + "17.0.0-nightly.20211105": "96.0.4664.4", + "17.0.0-nightly.20211108": "96.0.4664.4", + "17.0.0-nightly.20211109": "96.0.4664.4", + "17.0.0-nightly.20211110": "96.0.4664.4", + "17.0.0-nightly.20211111": "96.0.4664.4", + "17.0.0-nightly.20211112": "96.0.4664.4", + "17.0.0-nightly.20211115": "96.0.4664.4", + "17.0.0-nightly.20211116": "96.0.4664.4", + "17.0.0-nightly.20211117": "96.0.4664.4", + "17.0.0": "98.0.4758.74", + "17.0.1": "98.0.4758.82", + "17.1.0": "98.0.4758.102", + "17.1.1": "98.0.4758.109", + "17.1.2": "98.0.4758.109", + "17.2.0": "98.0.4758.109", + "17.3.0": "98.0.4758.141", + "17.3.1": "98.0.4758.141", + "17.4.0": "98.0.4758.141", + "17.4.1": "98.0.4758.141", + "17.4.2": "98.0.4758.141", + "17.4.3": "98.0.4758.141", + "17.4.4": "98.0.4758.141", + "17.4.5": "98.0.4758.141", + "17.4.6": "98.0.4758.141", + "17.4.7": "98.0.4758.141", + "17.4.8": "98.0.4758.141", + "17.4.9": "98.0.4758.141", + "17.4.10": "98.0.4758.141", + "17.4.11": "98.0.4758.141", + "18.0.0-alpha.1": "99.0.4767.0", + "18.0.0-alpha.2": "99.0.4767.0", + "18.0.0-alpha.3": "99.0.4767.0", + "18.0.0-alpha.4": "99.0.4767.0", + "18.0.0-alpha.5": "99.0.4767.0", + "18.0.0-beta.1": "100.0.4894.0", + "18.0.0-beta.2": "100.0.4894.0", + "18.0.0-beta.3": "100.0.4894.0", + "18.0.0-beta.4": "100.0.4894.0", + "18.0.0-beta.5": "100.0.4894.0", + "18.0.0-beta.6": "100.0.4894.0", + "18.0.0-nightly.20211118": "96.0.4664.4", + "18.0.0-nightly.20211119": "96.0.4664.4", + "18.0.0-nightly.20211122": "96.0.4664.4", + "18.0.0-nightly.20211123": "96.0.4664.4", + "18.0.0-nightly.20211124": "98.0.4706.0", + "18.0.0-nightly.20211125": "98.0.4706.0", + "18.0.0-nightly.20211126": "98.0.4706.0", + "18.0.0-nightly.20211129": "98.0.4706.0", + "18.0.0-nightly.20211130": "98.0.4706.0", + "18.0.0-nightly.20211201": "98.0.4706.0", + "18.0.0-nightly.20211202": "98.0.4706.0", + "18.0.0-nightly.20211203": "98.0.4706.0", + "18.0.0-nightly.20211206": "98.0.4706.0", + "18.0.0-nightly.20211207": "98.0.4706.0", + "18.0.0-nightly.20211208": "98.0.4706.0", + "18.0.0-nightly.20211209": "98.0.4706.0", + "18.0.0-nightly.20211210": "98.0.4706.0", + "18.0.0-nightly.20211213": "98.0.4706.0", + "18.0.0-nightly.20211214": "98.0.4706.0", + "18.0.0-nightly.20211215": "98.0.4706.0", + "18.0.0-nightly.20211216": "98.0.4706.0", + "18.0.0-nightly.20211217": "98.0.4706.0", + "18.0.0-nightly.20211220": "98.0.4706.0", + "18.0.0-nightly.20211221": "98.0.4706.0", + "18.0.0-nightly.20211222": "98.0.4706.0", + "18.0.0-nightly.20211223": "98.0.4706.0", + "18.0.0-nightly.20211228": "98.0.4706.0", + "18.0.0-nightly.20211229": "98.0.4706.0", + "18.0.0-nightly.20211231": "98.0.4706.0", + "18.0.0-nightly.20220103": "98.0.4706.0", + "18.0.0-nightly.20220104": "98.0.4706.0", + "18.0.0-nightly.20220105": "98.0.4706.0", + "18.0.0-nightly.20220106": "98.0.4706.0", + "18.0.0-nightly.20220107": "98.0.4706.0", + "18.0.0-nightly.20220110": "98.0.4706.0", + "18.0.0-nightly.20220111": "99.0.4767.0", + "18.0.0-nightly.20220112": "99.0.4767.0", + "18.0.0-nightly.20220113": "99.0.4767.0", + "18.0.0-nightly.20220114": "99.0.4767.0", + "18.0.0-nightly.20220117": "99.0.4767.0", + "18.0.0-nightly.20220118": "99.0.4767.0", + "18.0.0-nightly.20220119": "99.0.4767.0", + "18.0.0-nightly.20220121": "99.0.4767.0", + "18.0.0-nightly.20220124": "99.0.4767.0", + "18.0.0-nightly.20220125": "99.0.4767.0", + "18.0.0-nightly.20220127": "99.0.4767.0", + "18.0.0-nightly.20220128": "99.0.4767.0", + "18.0.0-nightly.20220131": "99.0.4767.0", + "18.0.0-nightly.20220201": "99.0.4767.0", + "18.0.0": "100.0.4896.56", + "18.0.1": "100.0.4896.60", + "18.0.2": "100.0.4896.60", + "18.0.3": "100.0.4896.75", + "18.0.4": "100.0.4896.75", + "18.1.0": "100.0.4896.127", + "18.2.0": "100.0.4896.143", + "18.2.1": "100.0.4896.143", + "18.2.2": "100.0.4896.143", + "18.2.3": "100.0.4896.143", + "18.2.4": "100.0.4896.160", + "18.3.0": "100.0.4896.160", + "18.3.1": "100.0.4896.160", + "18.3.2": "100.0.4896.160", + "18.3.3": "100.0.4896.160", + "18.3.4": "100.0.4896.160", + "18.3.5": "100.0.4896.160", + "18.3.6": "100.0.4896.160", + "18.3.7": "100.0.4896.160", + "18.3.8": "100.0.4896.160", + "18.3.9": "100.0.4896.160", + "18.3.11": "100.0.4896.160", + "18.3.12": "100.0.4896.160", + "18.3.13": "100.0.4896.160", + "18.3.14": "100.0.4896.160", + "18.3.15": "100.0.4896.160", + "19.0.0-alpha.1": "102.0.4962.3", + "19.0.0-alpha.2": "102.0.4971.0", + "19.0.0-alpha.3": "102.0.4971.0", + "19.0.0-alpha.4": "102.0.4989.0", + "19.0.0-alpha.5": "102.0.4989.0", + "19.0.0-beta.1": "102.0.4999.0", + "19.0.0-beta.2": "102.0.4999.0", + "19.0.0-beta.3": "102.0.4999.0", + "19.0.0-beta.4": "102.0.5005.27", + "19.0.0-beta.5": "102.0.5005.40", + "19.0.0-beta.6": "102.0.5005.40", + "19.0.0-beta.7": "102.0.5005.40", + "19.0.0-beta.8": "102.0.5005.49", + "19.0.0-nightly.20220202": "99.0.4767.0", + "19.0.0-nightly.20220203": "99.0.4767.0", + "19.0.0-nightly.20220204": "99.0.4767.0", + "19.0.0-nightly.20220207": "99.0.4767.0", + "19.0.0-nightly.20220208": "99.0.4767.0", + "19.0.0-nightly.20220209": "99.0.4767.0", + "19.0.0-nightly.20220308": "100.0.4894.0", + "19.0.0-nightly.20220309": "100.0.4894.0", + "19.0.0-nightly.20220310": "100.0.4894.0", + "19.0.0-nightly.20220311": "100.0.4894.0", + "19.0.0-nightly.20220314": "100.0.4894.0", + "19.0.0-nightly.20220315": "100.0.4894.0", + "19.0.0-nightly.20220316": "100.0.4894.0", + "19.0.0-nightly.20220317": "100.0.4894.0", + "19.0.0-nightly.20220318": "100.0.4894.0", + "19.0.0-nightly.20220321": "100.0.4894.0", + "19.0.0-nightly.20220322": "100.0.4894.0", + "19.0.0-nightly.20220323": "100.0.4894.0", + "19.0.0-nightly.20220324": "100.0.4894.0", + "19.0.0-nightly.20220325": "102.0.4961.0", + "19.0.0-nightly.20220328": "102.0.4962.3", + "19.0.0-nightly.20220329": "102.0.4962.3", + "19.0.0": "102.0.5005.61", + "19.0.1": "102.0.5005.61", + "19.0.2": "102.0.5005.63", + "19.0.3": "102.0.5005.63", + "19.0.4": "102.0.5005.63", + "19.0.5": "102.0.5005.115", + "19.0.6": "102.0.5005.115", + "19.0.7": "102.0.5005.134", + "19.0.8": "102.0.5005.148", + "19.0.9": "102.0.5005.167", + "19.0.10": "102.0.5005.167", + "19.0.11": "102.0.5005.167", + "19.0.12": "102.0.5005.167", + "19.0.13": "102.0.5005.167", + "19.0.14": "102.0.5005.167", + "19.0.15": "102.0.5005.167", + "19.0.16": "102.0.5005.167", + "19.0.17": "102.0.5005.167", + "19.1.0": "102.0.5005.167", + "19.1.1": "102.0.5005.167", + "19.1.2": "102.0.5005.167", + "19.1.3": "102.0.5005.167", + "19.1.4": "102.0.5005.167", + "19.1.5": "102.0.5005.167", + "19.1.6": "102.0.5005.167", + "19.1.7": "102.0.5005.167", + "19.1.8": "102.0.5005.167", + "19.1.9": "102.0.5005.167", + "20.0.0-alpha.1": "103.0.5044.0", + "20.0.0-alpha.2": "104.0.5073.0", + "20.0.0-alpha.3": "104.0.5073.0", + "20.0.0-alpha.4": "104.0.5073.0", + "20.0.0-alpha.5": "104.0.5073.0", + "20.0.0-alpha.6": "104.0.5073.0", + "20.0.0-alpha.7": "104.0.5073.0", + "20.0.0-beta.1": "104.0.5073.0", + "20.0.0-beta.2": "104.0.5073.0", + "20.0.0-beta.3": "104.0.5073.0", + "20.0.0-beta.4": "104.0.5073.0", + "20.0.0-beta.5": "104.0.5073.0", + "20.0.0-beta.6": "104.0.5073.0", + "20.0.0-beta.7": "104.0.5073.0", + "20.0.0-beta.8": "104.0.5073.0", + "20.0.0-beta.9": "104.0.5112.39", + "20.0.0-beta.10": "104.0.5112.48", + "20.0.0-beta.11": "104.0.5112.48", + "20.0.0-beta.12": "104.0.5112.48", + "20.0.0-beta.13": "104.0.5112.57", + "20.0.0-nightly.20220330": "102.0.4962.3", + "20.0.0-nightly.20220411": "102.0.4971.0", + "20.0.0-nightly.20220414": "102.0.4989.0", + "20.0.0-nightly.20220415": "102.0.4989.0", + "20.0.0-nightly.20220418": "102.0.4989.0", + "20.0.0-nightly.20220419": "102.0.4989.0", + "20.0.0-nightly.20220420": "102.0.4989.0", + "20.0.0-nightly.20220421": "102.0.4989.0", + "20.0.0-nightly.20220425": "102.0.4999.0", + "20.0.0-nightly.20220426": "102.0.4999.0", + "20.0.0-nightly.20220427": "102.0.4999.0", + "20.0.0-nightly.20220428": "102.0.4999.0", + "20.0.0-nightly.20220429": "102.0.4999.0", + "20.0.0-nightly.20220502": "102.0.4999.0", + "20.0.0-nightly.20220503": "102.0.4999.0", + "20.0.0-nightly.20220504": "102.0.4999.0", + "20.0.0-nightly.20220505": "102.0.4999.0", + "20.0.0-nightly.20220506": "102.0.4999.0", + "20.0.0-nightly.20220509": "102.0.4999.0", + "20.0.0-nightly.20220511": "102.0.4999.0", + "20.0.0-nightly.20220512": "102.0.4999.0", + "20.0.0-nightly.20220513": "102.0.4999.0", + "20.0.0-nightly.20220516": "102.0.4999.0", + "20.0.0-nightly.20220517": "102.0.4999.0", + "20.0.0-nightly.20220518": "103.0.5044.0", + "20.0.0-nightly.20220519": "103.0.5044.0", + "20.0.0-nightly.20220520": "103.0.5044.0", + "20.0.0-nightly.20220523": "103.0.5044.0", + "20.0.0-nightly.20220524": "103.0.5044.0", + "20.0.0": "104.0.5112.65", + "20.0.1": "104.0.5112.81", + "20.0.2": "104.0.5112.81", + "20.0.3": "104.0.5112.81", + "20.1.0": "104.0.5112.102", + "20.1.1": "104.0.5112.102", + "20.1.2": "104.0.5112.114", + "20.1.3": "104.0.5112.114", + "20.1.4": "104.0.5112.114", + "20.2.0": "104.0.5112.124", + "20.3.0": "104.0.5112.124", + "20.3.1": "104.0.5112.124", + "20.3.2": "104.0.5112.124", + "20.3.3": "104.0.5112.124", + "20.3.4": "104.0.5112.124", + "20.3.5": "104.0.5112.124", + "20.3.6": "104.0.5112.124", + "20.3.7": "104.0.5112.124", + "20.3.8": "104.0.5112.124", + "20.3.9": "104.0.5112.124", + "20.3.10": "104.0.5112.124", + "20.3.11": "104.0.5112.124", + "20.3.12": "104.0.5112.124", + "21.0.0-alpha.1": "105.0.5187.0", + "21.0.0-alpha.2": "105.0.5187.0", + "21.0.0-alpha.3": "105.0.5187.0", + "21.0.0-alpha.4": "105.0.5187.0", + "21.0.0-alpha.5": "105.0.5187.0", + "21.0.0-alpha.6": "106.0.5216.0", + "21.0.0-beta.1": "106.0.5216.0", + "21.0.0-beta.2": "106.0.5216.0", + "21.0.0-beta.3": "106.0.5216.0", + "21.0.0-beta.4": "106.0.5216.0", + "21.0.0-beta.5": "106.0.5216.0", + "21.0.0-beta.6": "106.0.5249.40", + "21.0.0-beta.7": "106.0.5249.40", + "21.0.0-beta.8": "106.0.5249.40", + "21.0.0-nightly.20220526": "103.0.5044.0", + "21.0.0-nightly.20220527": "103.0.5044.0", + "21.0.0-nightly.20220530": "103.0.5044.0", + "21.0.0-nightly.20220531": "103.0.5044.0", + "21.0.0-nightly.20220602": "104.0.5073.0", + "21.0.0-nightly.20220603": "104.0.5073.0", + "21.0.0-nightly.20220606": "104.0.5073.0", + "21.0.0-nightly.20220607": "104.0.5073.0", + "21.0.0-nightly.20220608": "104.0.5073.0", + "21.0.0-nightly.20220609": "104.0.5073.0", + "21.0.0-nightly.20220610": "104.0.5073.0", + "21.0.0-nightly.20220613": "104.0.5073.0", + "21.0.0-nightly.20220614": "104.0.5073.0", + "21.0.0-nightly.20220615": "104.0.5073.0", + "21.0.0-nightly.20220616": "104.0.5073.0", + "21.0.0-nightly.20220617": "104.0.5073.0", + "21.0.0-nightly.20220620": "104.0.5073.0", + "21.0.0-nightly.20220621": "104.0.5073.0", + "21.0.0-nightly.20220622": "104.0.5073.0", + "21.0.0-nightly.20220623": "104.0.5073.0", + "21.0.0-nightly.20220624": "104.0.5073.0", + "21.0.0-nightly.20220627": "104.0.5073.0", + "21.0.0-nightly.20220628": "105.0.5129.0", + "21.0.0-nightly.20220629": "105.0.5129.0", + "21.0.0-nightly.20220630": "105.0.5129.0", + "21.0.0-nightly.20220701": "105.0.5129.0", + "21.0.0-nightly.20220704": "105.0.5129.0", + "21.0.0-nightly.20220705": "105.0.5129.0", + "21.0.0-nightly.20220706": "105.0.5129.0", + "21.0.0-nightly.20220707": "105.0.5129.0", + "21.0.0-nightly.20220708": "105.0.5129.0", + "21.0.0-nightly.20220711": "105.0.5129.0", + "21.0.0-nightly.20220712": "105.0.5129.0", + "21.0.0-nightly.20220713": "105.0.5129.0", + "21.0.0-nightly.20220715": "105.0.5173.0", + "21.0.0-nightly.20220718": "105.0.5173.0", + "21.0.0-nightly.20220719": "105.0.5173.0", + "21.0.0-nightly.20220720": "105.0.5187.0", + "21.0.0-nightly.20220721": "105.0.5187.0", + "21.0.0-nightly.20220722": "105.0.5187.0", + "21.0.0-nightly.20220725": "105.0.5187.0", + "21.0.0-nightly.20220726": "105.0.5187.0", + "21.0.0-nightly.20220727": "105.0.5187.0", + "21.0.0-nightly.20220728": "105.0.5187.0", + "21.0.0-nightly.20220801": "105.0.5187.0", + "21.0.0-nightly.20220802": "105.0.5187.0", + "21.0.0": "106.0.5249.51", + "21.0.1": "106.0.5249.61", + "21.1.0": "106.0.5249.91", + "21.1.1": "106.0.5249.103", + "21.2.0": "106.0.5249.119", + "21.2.1": "106.0.5249.165", + "21.2.2": "106.0.5249.168", + "21.2.3": "106.0.5249.168", + "21.3.0": "106.0.5249.181", + "21.3.1": "106.0.5249.181", + "21.3.3": "106.0.5249.199", + "21.3.4": "106.0.5249.199", + "21.3.5": "106.0.5249.199", + "21.4.0": "106.0.5249.199", + "21.4.1": "106.0.5249.199", + "21.4.2": "106.0.5249.199", + "21.4.3": "106.0.5249.199", + "21.4.4": "106.0.5249.199", + "22.0.0-alpha.1": "107.0.5286.0", + "22.0.0-alpha.3": "108.0.5329.0", + "22.0.0-alpha.4": "108.0.5329.0", + "22.0.0-alpha.5": "108.0.5329.0", + "22.0.0-alpha.6": "108.0.5329.0", + "22.0.0-alpha.7": "108.0.5355.0", + "22.0.0-alpha.8": "108.0.5359.10", + "22.0.0-beta.1": "108.0.5359.10", + "22.0.0-beta.2": "108.0.5359.10", + "22.0.0-beta.3": "108.0.5359.10", + "22.0.0-beta.4": "108.0.5359.29", + "22.0.0-beta.5": "108.0.5359.40", + "22.0.0-beta.6": "108.0.5359.40", + "22.0.0-beta.7": "108.0.5359.48", + "22.0.0-beta.8": "108.0.5359.48", + "22.0.0-nightly.20220808": "105.0.5187.0", + "22.0.0-nightly.20220809": "105.0.5187.0", + "22.0.0-nightly.20220810": "105.0.5187.0", + "22.0.0-nightly.20220811": "105.0.5187.0", + "22.0.0-nightly.20220812": "105.0.5187.0", + "22.0.0-nightly.20220815": "105.0.5187.0", + "22.0.0-nightly.20220816": "105.0.5187.0", + "22.0.0-nightly.20220817": "105.0.5187.0", + "22.0.0-nightly.20220822": "106.0.5216.0", + "22.0.0-nightly.20220823": "106.0.5216.0", + "22.0.0-nightly.20220824": "106.0.5216.0", + "22.0.0-nightly.20220825": "106.0.5216.0", + "22.0.0-nightly.20220829": "106.0.5216.0", + "22.0.0-nightly.20220830": "106.0.5216.0", + "22.0.0-nightly.20220831": "106.0.5216.0", + "22.0.0-nightly.20220901": "106.0.5216.0", + "22.0.0-nightly.20220902": "106.0.5216.0", + "22.0.0-nightly.20220905": "106.0.5216.0", + "22.0.0-nightly.20220908": "107.0.5274.0", + "22.0.0-nightly.20220909": "107.0.5286.0", + "22.0.0-nightly.20220912": "107.0.5286.0", + "22.0.0-nightly.20220913": "107.0.5286.0", + "22.0.0-nightly.20220914": "107.0.5286.0", + "22.0.0-nightly.20220915": "107.0.5286.0", + "22.0.0-nightly.20220916": "107.0.5286.0", + "22.0.0-nightly.20220919": "107.0.5286.0", + "22.0.0-nightly.20220920": "107.0.5286.0", + "22.0.0-nightly.20220921": "107.0.5286.0", + "22.0.0-nightly.20220922": "107.0.5286.0", + "22.0.0-nightly.20220923": "107.0.5286.0", + "22.0.0-nightly.20220926": "107.0.5286.0", + "22.0.0-nightly.20220927": "107.0.5286.0", + "22.0.0-nightly.20220928": "107.0.5286.0", + "22.0.0": "108.0.5359.62", + "22.0.1": "108.0.5359.125", + "22.0.2": "108.0.5359.179", + "22.0.3": "108.0.5359.179", + "22.1.0": "108.0.5359.179", + "22.2.0": "108.0.5359.215", + "22.2.1": "108.0.5359.215", + "22.3.0": "108.0.5359.215", + "22.3.1": "108.0.5359.215", + "22.3.2": "108.0.5359.215", + "22.3.3": "108.0.5359.215", + "22.3.4": "108.0.5359.215", + "22.3.5": "108.0.5359.215", + "22.3.6": "108.0.5359.215", + "22.3.7": "108.0.5359.215", + "22.3.8": "108.0.5359.215", + "22.3.9": "108.0.5359.215", + "22.3.10": "108.0.5359.215", + "22.3.11": "108.0.5359.215", + "22.3.12": "108.0.5359.215", + "22.3.13": "108.0.5359.215", + "22.3.14": "108.0.5359.215", + "22.3.15": "108.0.5359.215", + "22.3.16": "108.0.5359.215", + "22.3.17": "108.0.5359.215", + "22.3.18": "108.0.5359.215", + "22.3.20": "108.0.5359.215", + "22.3.21": "108.0.5359.215", + "22.3.22": "108.0.5359.215", + "22.3.23": "108.0.5359.215", + "22.3.24": "108.0.5359.215", + "22.3.25": "108.0.5359.215", + "22.3.26": "108.0.5359.215", + "22.3.27": "108.0.5359.215", + "23.0.0-alpha.1": "110.0.5415.0", + "23.0.0-alpha.2": "110.0.5451.0", + "23.0.0-alpha.3": "110.0.5451.0", + "23.0.0-beta.1": "110.0.5478.5", + "23.0.0-beta.2": "110.0.5478.5", + "23.0.0-beta.3": "110.0.5478.5", + "23.0.0-beta.4": "110.0.5481.30", + "23.0.0-beta.5": "110.0.5481.38", + "23.0.0-beta.6": "110.0.5481.52", + "23.0.0-beta.8": "110.0.5481.52", + "23.0.0-nightly.20220929": "107.0.5286.0", + "23.0.0-nightly.20220930": "107.0.5286.0", + "23.0.0-nightly.20221003": "107.0.5286.0", + "23.0.0-nightly.20221004": "108.0.5329.0", + "23.0.0-nightly.20221005": "108.0.5329.0", + "23.0.0-nightly.20221006": "108.0.5329.0", + "23.0.0-nightly.20221007": "108.0.5329.0", + "23.0.0-nightly.20221010": "108.0.5329.0", + "23.0.0-nightly.20221011": "108.0.5329.0", + "23.0.0-nightly.20221012": "108.0.5329.0", + "23.0.0-nightly.20221013": "108.0.5329.0", + "23.0.0-nightly.20221014": "108.0.5329.0", + "23.0.0-nightly.20221017": "108.0.5329.0", + "23.0.0-nightly.20221018": "108.0.5355.0", + "23.0.0-nightly.20221019": "108.0.5355.0", + "23.0.0-nightly.20221020": "108.0.5355.0", + "23.0.0-nightly.20221021": "108.0.5355.0", + "23.0.0-nightly.20221024": "108.0.5355.0", + "23.0.0-nightly.20221026": "108.0.5355.0", + "23.0.0-nightly.20221027": "109.0.5382.0", + "23.0.0-nightly.20221028": "109.0.5382.0", + "23.0.0-nightly.20221031": "109.0.5382.0", + "23.0.0-nightly.20221101": "109.0.5382.0", + "23.0.0-nightly.20221102": "109.0.5382.0", + "23.0.0-nightly.20221103": "109.0.5382.0", + "23.0.0-nightly.20221104": "109.0.5382.0", + "23.0.0-nightly.20221107": "109.0.5382.0", + "23.0.0-nightly.20221108": "109.0.5382.0", + "23.0.0-nightly.20221109": "109.0.5382.0", + "23.0.0-nightly.20221110": "109.0.5382.0", + "23.0.0-nightly.20221111": "109.0.5382.0", + "23.0.0-nightly.20221114": "109.0.5382.0", + "23.0.0-nightly.20221115": "109.0.5382.0", + "23.0.0-nightly.20221116": "109.0.5382.0", + "23.0.0-nightly.20221117": "109.0.5382.0", + "23.0.0-nightly.20221118": "110.0.5415.0", + "23.0.0-nightly.20221121": "110.0.5415.0", + "23.0.0-nightly.20221122": "110.0.5415.0", + "23.0.0-nightly.20221123": "110.0.5415.0", + "23.0.0-nightly.20221124": "110.0.5415.0", + "23.0.0-nightly.20221125": "110.0.5415.0", + "23.0.0-nightly.20221128": "110.0.5415.0", + "23.0.0-nightly.20221129": "110.0.5415.0", + "23.0.0-nightly.20221130": "110.0.5415.0", + "23.0.0": "110.0.5481.77", + "23.1.0": "110.0.5481.100", + "23.1.1": "110.0.5481.104", + "23.1.2": "110.0.5481.177", + "23.1.3": "110.0.5481.179", + "23.1.4": "110.0.5481.192", + "23.2.0": "110.0.5481.192", + "23.2.1": "110.0.5481.208", + "23.2.2": "110.0.5481.208", + "23.2.3": "110.0.5481.208", + "23.2.4": "110.0.5481.208", + "23.3.0": "110.0.5481.208", + "23.3.1": "110.0.5481.208", + "23.3.2": "110.0.5481.208", + "23.3.3": "110.0.5481.208", + "23.3.4": "110.0.5481.208", + "23.3.5": "110.0.5481.208", + "23.3.6": "110.0.5481.208", + "23.3.7": "110.0.5481.208", + "23.3.8": "110.0.5481.208", + "23.3.9": "110.0.5481.208", + "23.3.10": "110.0.5481.208", + "23.3.11": "110.0.5481.208", + "23.3.12": "110.0.5481.208", + "23.3.13": "110.0.5481.208", + "24.0.0-alpha.1": "111.0.5560.0", + "24.0.0-alpha.2": "111.0.5560.0", + "24.0.0-alpha.3": "111.0.5560.0", + "24.0.0-alpha.4": "111.0.5560.0", + "24.0.0-alpha.5": "111.0.5560.0", + "24.0.0-alpha.6": "111.0.5560.0", + "24.0.0-alpha.7": "111.0.5560.0", + "24.0.0-beta.1": "111.0.5563.50", + "24.0.0-beta.2": "111.0.5563.50", + "24.0.0-beta.3": "112.0.5615.20", + "24.0.0-beta.4": "112.0.5615.20", + "24.0.0-beta.5": "112.0.5615.29", + "24.0.0-beta.6": "112.0.5615.39", + "24.0.0-beta.7": "112.0.5615.39", + "24.0.0-nightly.20221201": "110.0.5415.0", + "24.0.0-nightly.20221202": "110.0.5415.0", + "24.0.0-nightly.20221205": "110.0.5415.0", + "24.0.0-nightly.20221206": "110.0.5451.0", + "24.0.0-nightly.20221207": "110.0.5451.0", + "24.0.0-nightly.20221208": "110.0.5451.0", + "24.0.0-nightly.20221213": "110.0.5451.0", + "24.0.0-nightly.20221214": "110.0.5451.0", + "24.0.0-nightly.20221215": "110.0.5451.0", + "24.0.0-nightly.20221216": "110.0.5451.0", + "24.0.0-nightly.20230109": "111.0.5518.0", + "24.0.0-nightly.20230110": "111.0.5518.0", + "24.0.0-nightly.20230111": "111.0.5518.0", + "24.0.0-nightly.20230112": "111.0.5518.0", + "24.0.0-nightly.20230113": "111.0.5518.0", + "24.0.0-nightly.20230116": "111.0.5518.0", + "24.0.0-nightly.20230117": "111.0.5518.0", + "24.0.0-nightly.20230118": "111.0.5518.0", + "24.0.0-nightly.20230119": "111.0.5518.0", + "24.0.0-nightly.20230120": "111.0.5518.0", + "24.0.0-nightly.20230123": "111.0.5518.0", + "24.0.0-nightly.20230124": "111.0.5518.0", + "24.0.0-nightly.20230125": "111.0.5518.0", + "24.0.0-nightly.20230126": "111.0.5518.0", + "24.0.0-nightly.20230127": "111.0.5518.0", + "24.0.0-nightly.20230131": "111.0.5518.0", + "24.0.0-nightly.20230201": "111.0.5518.0", + "24.0.0-nightly.20230202": "111.0.5518.0", + "24.0.0-nightly.20230203": "111.0.5560.0", + "24.0.0-nightly.20230206": "111.0.5560.0", + "24.0.0-nightly.20230207": "111.0.5560.0", + "24.0.0-nightly.20230208": "111.0.5560.0", + "24.0.0-nightly.20230209": "111.0.5560.0", + "24.0.0": "112.0.5615.49", + "24.1.0": "112.0.5615.50", + "24.1.1": "112.0.5615.50", + "24.1.2": "112.0.5615.87", + "24.1.3": "112.0.5615.165", + "24.2.0": "112.0.5615.165", + "24.3.0": "112.0.5615.165", + "24.3.1": "112.0.5615.183", + "24.4.0": "112.0.5615.204", + "24.4.1": "112.0.5615.204", + "24.5.0": "112.0.5615.204", + "24.5.1": "112.0.5615.204", + "24.6.0": "112.0.5615.204", + "24.6.1": "112.0.5615.204", + "24.6.2": "112.0.5615.204", + "24.6.3": "112.0.5615.204", + "24.6.4": "112.0.5615.204", + "24.6.5": "112.0.5615.204", + "24.7.0": "112.0.5615.204", + "24.7.1": "112.0.5615.204", + "24.8.0": "112.0.5615.204", + "24.8.1": "112.0.5615.204", + "24.8.2": "112.0.5615.204", + "24.8.3": "112.0.5615.204", + "24.8.4": "112.0.5615.204", + "24.8.5": "112.0.5615.204", + "24.8.6": "112.0.5615.204", + "24.8.7": "112.0.5615.204", + "24.8.8": "112.0.5615.204", + "25.0.0-alpha.1": "114.0.5694.0", + "25.0.0-alpha.2": "114.0.5694.0", + "25.0.0-alpha.3": "114.0.5710.0", + "25.0.0-alpha.4": "114.0.5710.0", + "25.0.0-alpha.5": "114.0.5719.0", + "25.0.0-alpha.6": "114.0.5719.0", + "25.0.0-beta.1": "114.0.5719.0", + "25.0.0-beta.2": "114.0.5719.0", + "25.0.0-beta.3": "114.0.5719.0", + "25.0.0-beta.4": "114.0.5735.16", + "25.0.0-beta.5": "114.0.5735.16", + "25.0.0-beta.6": "114.0.5735.16", + "25.0.0-beta.7": "114.0.5735.16", + "25.0.0-beta.8": "114.0.5735.35", + "25.0.0-beta.9": "114.0.5735.45", + "25.0.0-nightly.20230210": "111.0.5560.0", + "25.0.0-nightly.20230214": "111.0.5560.0", + "25.0.0-nightly.20230215": "111.0.5560.0", + "25.0.0-nightly.20230216": "111.0.5560.0", + "25.0.0-nightly.20230217": "111.0.5560.0", + "25.0.0-nightly.20230220": "111.0.5560.0", + "25.0.0-nightly.20230221": "111.0.5560.0", + "25.0.0-nightly.20230222": "111.0.5560.0", + "25.0.0-nightly.20230223": "111.0.5560.0", + "25.0.0-nightly.20230224": "111.0.5560.0", + "25.0.0-nightly.20230227": "111.0.5560.0", + "25.0.0-nightly.20230228": "111.0.5560.0", + "25.0.0-nightly.20230301": "111.0.5560.0", + "25.0.0-nightly.20230302": "111.0.5560.0", + "25.0.0-nightly.20230303": "111.0.5560.0", + "25.0.0-nightly.20230306": "111.0.5560.0", + "25.0.0-nightly.20230307": "111.0.5560.0", + "25.0.0-nightly.20230308": "111.0.5560.0", + "25.0.0-nightly.20230309": "111.0.5560.0", + "25.0.0-nightly.20230310": "111.0.5560.0", + "25.0.0-nightly.20230314": "113.0.5636.0", + "25.0.0-nightly.20230315": "113.0.5651.0", + "25.0.0-nightly.20230317": "113.0.5653.0", + "25.0.0-nightly.20230320": "113.0.5660.0", + "25.0.0-nightly.20230321": "113.0.5664.0", + "25.0.0-nightly.20230322": "113.0.5666.0", + "25.0.0-nightly.20230323": "113.0.5668.0", + "25.0.0-nightly.20230324": "113.0.5670.0", + "25.0.0-nightly.20230327": "113.0.5670.0", + "25.0.0-nightly.20230328": "113.0.5670.0", + "25.0.0-nightly.20230329": "113.0.5670.0", + "25.0.0-nightly.20230330": "113.0.5670.0", + "25.0.0-nightly.20230331": "114.0.5684.0", + "25.0.0-nightly.20230403": "114.0.5684.0", + "25.0.0-nightly.20230404": "114.0.5692.0", + "25.0.0-nightly.20230405": "114.0.5694.0", + "25.0.0": "114.0.5735.45", + "25.0.1": "114.0.5735.45", + "25.1.0": "114.0.5735.106", + "25.1.1": "114.0.5735.106", + "25.2.0": "114.0.5735.134", + "25.3.0": "114.0.5735.199", + "25.3.1": "114.0.5735.243", + "25.3.2": "114.0.5735.248", + "25.4.0": "114.0.5735.248", + "25.5.0": "114.0.5735.289", + "25.6.0": "114.0.5735.289", + "25.7.0": "114.0.5735.289", + "25.8.0": "114.0.5735.289", + "25.8.1": "114.0.5735.289", + "25.8.2": "114.0.5735.289", + "25.8.3": "114.0.5735.289", + "25.8.4": "114.0.5735.289", + "25.9.0": "114.0.5735.289", + "25.9.1": "114.0.5735.289", + "25.9.2": "114.0.5735.289", + "25.9.3": "114.0.5735.289", + "25.9.4": "114.0.5735.289", + "25.9.5": "114.0.5735.289", + "25.9.6": "114.0.5735.289", + "25.9.7": "114.0.5735.289", + "25.9.8": "114.0.5735.289", + "26.0.0-alpha.1": "116.0.5791.0", + "26.0.0-alpha.2": "116.0.5791.0", + "26.0.0-alpha.3": "116.0.5791.0", + "26.0.0-alpha.4": "116.0.5791.0", + "26.0.0-alpha.5": "116.0.5791.0", + "26.0.0-alpha.6": "116.0.5815.0", + "26.0.0-alpha.7": "116.0.5831.0", + "26.0.0-alpha.8": "116.0.5845.0", + "26.0.0-beta.1": "116.0.5845.0", + "26.0.0-beta.2": "116.0.5845.14", + "26.0.0-beta.3": "116.0.5845.14", + "26.0.0-beta.4": "116.0.5845.14", + "26.0.0-beta.5": "116.0.5845.14", + "26.0.0-beta.6": "116.0.5845.14", + "26.0.0-beta.7": "116.0.5845.14", + "26.0.0-beta.8": "116.0.5845.42", + "26.0.0-beta.9": "116.0.5845.42", + "26.0.0-beta.10": "116.0.5845.49", + "26.0.0-beta.11": "116.0.5845.49", + "26.0.0-beta.12": "116.0.5845.62", + "26.0.0-nightly.20230406": "114.0.5694.0", + "26.0.0-nightly.20230407": "114.0.5694.0", + "26.0.0-nightly.20230410": "114.0.5694.0", + "26.0.0-nightly.20230411": "114.0.5694.0", + "26.0.0-nightly.20230412": "114.0.5708.0", + "26.0.0-nightly.20230413": "114.0.5710.0", + "26.0.0-nightly.20230414": "114.0.5710.0", + "26.0.0-nightly.20230417": "114.0.5710.0", + "26.0.0-nightly.20230418": "114.0.5715.0", + "26.0.0-nightly.20230421": "114.0.5719.0", + "26.0.0-nightly.20230424": "114.0.5719.0", + "26.0.0-nightly.20230425": "114.0.5719.0", + "26.0.0-nightly.20230426": "114.0.5719.0", + "26.0.0-nightly.20230427": "114.0.5719.0", + "26.0.0-nightly.20230428": "114.0.5719.0", + "26.0.0-nightly.20230501": "114.0.5719.0", + "26.0.0-nightly.20230502": "114.0.5719.0", + "26.0.0-nightly.20230503": "114.0.5719.0", + "26.0.0-nightly.20230504": "114.0.5719.0", + "26.0.0-nightly.20230505": "114.0.5719.0", + "26.0.0-nightly.20230508": "114.0.5719.0", + "26.0.0-nightly.20230509": "114.0.5719.0", + "26.0.0-nightly.20230510": "114.0.5719.0", + "26.0.0-nightly.20230511": "115.0.5760.0", + "26.0.0-nightly.20230512": "115.0.5760.0", + "26.0.0-nightly.20230515": "115.0.5760.0", + "26.0.0-nightly.20230516": "115.0.5760.0", + "26.0.0-nightly.20230517": "115.0.5760.0", + "26.0.0-nightly.20230518": "115.0.5760.0", + "26.0.0-nightly.20230519": "115.0.5760.0", + "26.0.0-nightly.20230522": "115.0.5760.0", + "26.0.0-nightly.20230523": "115.0.5760.0", + "26.0.0-nightly.20230524": "115.0.5786.0", + "26.0.0-nightly.20230525": "115.0.5790.0", + "26.0.0-nightly.20230526": "116.0.5791.0", + "26.0.0-nightly.20230529": "116.0.5791.0", + "26.0.0-nightly.20230530": "116.0.5791.0", + "26.0.0-nightly.20230531": "116.0.5791.0", + "26.0.0": "116.0.5845.82", + "26.1.0": "116.0.5845.97", + "26.2.0": "116.0.5845.179", + "26.2.1": "116.0.5845.188", + "26.2.2": "116.0.5845.190", + "26.2.3": "116.0.5845.190", + "26.2.4": "116.0.5845.190", + "26.3.0": "116.0.5845.228", + "26.4.0": "116.0.5845.228", + "26.4.1": "116.0.5845.228", + "26.4.2": "116.0.5845.228", + "26.4.3": "116.0.5845.228", + "26.5.0": "116.0.5845.228", + "26.6.0": "116.0.5845.228", + "26.6.1": "116.0.5845.228", + "26.6.2": "116.0.5845.228", + "26.6.3": "116.0.5845.228", + "26.6.4": "116.0.5845.228", + "26.6.5": "116.0.5845.228", + "26.6.6": "116.0.5845.228", + "26.6.7": "116.0.5845.228", + "26.6.8": "116.0.5845.228", + "26.6.9": "116.0.5845.228", + "27.0.0-alpha.1": "118.0.5949.0", + "27.0.0-alpha.2": "118.0.5949.0", + "27.0.0-alpha.3": "118.0.5949.0", + "27.0.0-alpha.4": "118.0.5949.0", + "27.0.0-alpha.5": "118.0.5949.0", + "27.0.0-alpha.6": "118.0.5949.0", + "27.0.0-beta.1": "118.0.5993.5", + "27.0.0-beta.2": "118.0.5993.5", + "27.0.0-beta.3": "118.0.5993.5", + "27.0.0-beta.4": "118.0.5993.11", + "27.0.0-beta.5": "118.0.5993.18", + "27.0.0-beta.6": "118.0.5993.18", + "27.0.0-beta.7": "118.0.5993.18", + "27.0.0-beta.8": "118.0.5993.18", + "27.0.0-beta.9": "118.0.5993.18", + "27.0.0-nightly.20230601": "116.0.5791.0", + "27.0.0-nightly.20230602": "116.0.5791.0", + "27.0.0-nightly.20230605": "116.0.5791.0", + "27.0.0-nightly.20230606": "116.0.5791.0", + "27.0.0-nightly.20230607": "116.0.5791.0", + "27.0.0-nightly.20230609": "116.0.5791.0", + "27.0.0-nightly.20230612": "116.0.5815.0", + "27.0.0-nightly.20230613": "116.0.5815.0", + "27.0.0-nightly.20230614": "116.0.5829.0", + "27.0.0-nightly.20230615": "116.0.5831.0", + "27.0.0-nightly.20230616": "116.0.5833.0", + "27.0.0-nightly.20230619": "116.0.5833.0", + "27.0.0-nightly.20230620": "116.0.5833.0", + "27.0.0-nightly.20230621": "116.0.5833.0", + "27.0.0-nightly.20230622": "116.0.5845.0", + "27.0.0-nightly.20230623": "116.0.5845.0", + "27.0.0-nightly.20230626": "116.0.5845.0", + "27.0.0-nightly.20230627": "116.0.5845.0", + "27.0.0-nightly.20230628": "116.0.5845.0", + "27.0.0-nightly.20230629": "116.0.5845.0", + "27.0.0-nightly.20230630": "116.0.5845.0", + "27.0.0-nightly.20230703": "117.0.5852.0", + "27.0.0-nightly.20230704": "117.0.5852.0", + "27.0.0-nightly.20230705": "117.0.5852.0", + "27.0.0-nightly.20230706": "117.0.5852.0", + "27.0.0-nightly.20230707": "117.0.5852.0", + "27.0.0-nightly.20230710": "117.0.5852.0", + "27.0.0-nightly.20230711": "117.0.5852.0", + "27.0.0-nightly.20230712": "117.0.5852.0", + "27.0.0-nightly.20230713": "117.0.5852.0", + "27.0.0-nightly.20230714": "117.0.5852.0", + "27.0.0-nightly.20230717": "117.0.5884.1", + "27.0.0-nightly.20230718": "117.0.5884.1", + "27.0.0-nightly.20230719": "117.0.5892.0", + "27.0.0-nightly.20230720": "117.0.5897.0", + "27.0.0-nightly.20230721": "117.0.5897.0", + "27.0.0-nightly.20230724": "117.0.5897.0", + "27.0.0-nightly.20230725": "117.0.5897.0", + "27.0.0-nightly.20230726": "117.0.5897.0", + "27.0.0-nightly.20230727": "117.0.5897.0", + "27.0.0-nightly.20230728": "117.0.5897.0", + "27.0.0-nightly.20230731": "117.0.5897.0", + "27.0.0-nightly.20230801": "117.0.5911.0", + "27.0.0-nightly.20230802": "117.0.5911.0", + "27.0.0-nightly.20230803": "117.0.5911.0", + "27.0.0-nightly.20230804": "117.0.5921.0", + "27.0.0-nightly.20230807": "117.0.5921.0", + "27.0.0-nightly.20230808": "117.0.5921.0", + "27.0.0-nightly.20230814": "117.0.5921.0", + "27.0.0-nightly.20230815": "117.0.5921.0", + "27.0.0-nightly.20230816": "118.0.5949.0", + "27.0.0": "118.0.5993.54", + "27.0.1": "118.0.5993.89", + "27.0.2": "118.0.5993.89", + "27.0.3": "118.0.5993.120", + "27.0.4": "118.0.5993.129", + "27.1.0": "118.0.5993.144", + "27.1.2": "118.0.5993.144", + "27.1.3": "118.0.5993.159", + "27.2.0": "118.0.5993.159", + "27.2.1": "118.0.5993.159", + "27.2.2": "118.0.5993.159", + "27.2.3": "118.0.5993.159", + "27.2.4": "118.0.5993.159", + "27.3.0": "118.0.5993.159", + "27.3.1": "118.0.5993.159", + "27.3.2": "118.0.5993.159", + "28.0.0-alpha.1": "119.0.6045.0", + "28.0.0-alpha.2": "119.0.6045.0", + "28.0.0-alpha.3": "119.0.6045.21", + "28.0.0-alpha.4": "119.0.6045.21", + "28.0.0-alpha.5": "119.0.6045.33", + "28.0.0-alpha.6": "119.0.6045.33", + "28.0.0-alpha.7": "119.0.6045.33", + "28.0.0-beta.1": "119.0.6045.33", + "28.0.0-beta.2": "120.0.6099.0", + "28.0.0-beta.3": "120.0.6099.5", + "28.0.0-beta.4": "120.0.6099.5", + "28.0.0-beta.5": "120.0.6099.18", + "28.0.0-beta.6": "120.0.6099.18", + "28.0.0-beta.7": "120.0.6099.18", + "28.0.0-beta.8": "120.0.6099.18", + "28.0.0-beta.9": "120.0.6099.18", + "28.0.0-beta.10": "120.0.6099.18", + "28.0.0-beta.11": "120.0.6099.35", + "28.0.0-nightly.20230817": "118.0.5949.0", + "28.0.0-nightly.20230818": "118.0.5949.0", + "28.0.0-nightly.20230821": "118.0.5949.0", + "28.0.0-nightly.20230822": "118.0.5949.0", + "28.0.0-nightly.20230823": "118.0.5949.0", + "28.0.0-nightly.20230824": "118.0.5949.0", + "28.0.0-nightly.20230825": "118.0.5949.0", + "28.0.0-nightly.20230828": "118.0.5949.0", + "28.0.0-nightly.20230829": "118.0.5949.0", + "28.0.0-nightly.20230830": "118.0.5949.0", + "28.0.0-nightly.20230831": "118.0.5949.0", + "28.0.0-nightly.20230906": "118.0.5991.0", + "28.0.0-nightly.20230907": "118.0.5993.0", + "28.0.0-nightly.20230908": "118.0.5993.0", + "28.0.0-nightly.20230911": "118.0.5993.0", + "28.0.0-nightly.20230912": "118.0.5993.0", + "28.0.0-nightly.20230913": "118.0.5993.0", + "28.0.0-nightly.20230914": "118.0.5993.0", + "28.0.0-nightly.20230915": "118.0.5993.0", + "28.0.0-nightly.20230919": "119.0.6006.0", + "28.0.0-nightly.20230920": "119.0.6017.0", + "28.0.0-nightly.20230921": "119.0.6019.2", + "28.0.0-nightly.20230925": "119.0.6019.2", + "28.0.0-nightly.20230926": "119.0.6019.2", + "28.0.0-nightly.20230927": "119.0.6019.2", + "28.0.0-nightly.20230928": "119.0.6019.2", + "28.0.0-nightly.20230929": "119.0.6029.0", + "28.0.0-nightly.20231002": "119.0.6029.0", + "28.0.0-nightly.20231003": "119.0.6043.0", + "28.0.0-nightly.20231004": "119.0.6043.0", + "28.0.0-nightly.20231005": "119.0.6043.0", + "28.0.0-nightly.20231006": "119.0.6045.0", + "28.0.0-nightly.20231009": "119.0.6045.0", + "28.0.0-nightly.20231010": "119.0.6045.0", + "28.0.0-nightly.20231011": "119.0.6045.0", + "28.0.0": "120.0.6099.56", + "28.1.0": "120.0.6099.109", + "28.1.1": "120.0.6099.109", + "28.1.2": "120.0.6099.199", + "28.1.3": "120.0.6099.199", + "28.1.4": "120.0.6099.216", + "28.2.0": "120.0.6099.227", + "28.2.1": "120.0.6099.268", + "28.2.2": "120.0.6099.276", + "28.2.3": "120.0.6099.283", + "29.0.0-alpha.1": "121.0.6147.0", + "29.0.0-alpha.2": "121.0.6147.0", + "29.0.0-alpha.3": "121.0.6147.0", + "29.0.0-alpha.4": "121.0.6159.0", + "29.0.0-alpha.5": "121.0.6159.0", + "29.0.0-alpha.6": "121.0.6159.0", + "29.0.0-alpha.7": "121.0.6159.0", + "29.0.0-alpha.8": "122.0.6194.0", + "29.0.0-alpha.9": "122.0.6236.2", + "29.0.0-alpha.10": "122.0.6236.2", + "29.0.0-alpha.11": "122.0.6236.2", + "29.0.0-beta.1": "122.0.6236.2", + "29.0.0-beta.2": "122.0.6236.2", + "29.0.0-beta.3": "122.0.6261.6", + "29.0.0-beta.4": "122.0.6261.6", + "29.0.0-beta.5": "122.0.6261.18", + "29.0.0-beta.6": "122.0.6261.18", + "29.0.0-beta.7": "122.0.6261.18", + "29.0.0-beta.8": "122.0.6261.18", + "29.0.0-beta.9": "122.0.6261.18", + "29.0.0-beta.10": "122.0.6261.18", + "29.0.0-beta.11": "122.0.6261.18", + "29.0.0-nightly.20231012": "119.0.6045.0", + "29.0.0-nightly.20231013": "119.0.6045.0", + "29.0.0-nightly.20231016": "119.0.6045.0", + "29.0.0-nightly.20231017": "119.0.6045.0", + "29.0.0-nightly.20231018": "119.0.6045.0", + "29.0.0-nightly.20231019": "119.0.6045.0", + "29.0.0-nightly.20231020": "119.0.6045.0", + "29.0.0-nightly.20231023": "119.0.6045.0", + "29.0.0-nightly.20231024": "119.0.6045.0", + "29.0.0-nightly.20231025": "120.0.6078.0", + "29.0.0-nightly.20231026": "120.0.6078.0", + "29.0.0-nightly.20231027": "120.0.6078.0", + "29.0.0-nightly.20231030": "120.0.6078.0", + "29.0.0-nightly.20231031": "120.0.6078.0", + "29.0.0-nightly.20231101": "120.0.6078.0", + "29.0.0-nightly.20231102": "121.0.6100.0", + "29.0.0-nightly.20231103": "121.0.6100.0", + "29.0.0-nightly.20231106": "121.0.6104.0", + "29.0.0-nightly.20231107": "121.0.6110.0", + "29.0.0-nightly.20231108": "121.0.6110.0", + "29.0.0-nightly.20231109": "121.0.6110.0", + "29.0.0-nightly.20231110": "121.0.6110.0", + "29.0.0-nightly.20231113": "121.0.6110.0", + "29.0.0-nightly.20231114": "121.0.6110.0", + "29.0.0-nightly.20231115": "121.0.6116.0", + "29.0.0-nightly.20231116": "121.0.6116.0", + "29.0.0-nightly.20231117": "121.0.6116.0", + "29.0.0-nightly.20231120": "121.0.6116.0", + "29.0.0-nightly.20231121": "121.0.6116.0", + "29.0.0-nightly.20231122": "121.0.6116.0", + "29.0.0-nightly.20231123": "121.0.6116.0", + "29.0.0-nightly.20231124": "121.0.6116.0", + "29.0.0-nightly.20231127": "121.0.6116.0", + "29.0.0-nightly.20231128": "121.0.6116.0", + "29.0.0-nightly.20231129": "121.0.6147.0", + "29.0.0-nightly.20231130": "121.0.6147.0", + "29.0.0-nightly.20231201": "121.0.6147.0", + "29.0.0-nightly.20231204": "121.0.6147.0", + "29.0.0-nightly.20231205": "121.0.6147.0", + "29.0.0-nightly.20231206": "121.0.6147.0", + "30.0.0-nightly.20231207": "121.0.6147.0", + "30.0.0-nightly.20231208": "121.0.6147.0", + "30.0.0-nightly.20231211": "121.0.6147.0", + "30.0.0-nightly.20231212": "121.0.6159.0", + "30.0.0-nightly.20231213": "121.0.6159.0", + "30.0.0-nightly.20231214": "121.0.6159.0", + "30.0.0-nightly.20231215": "121.0.6159.0", + "30.0.0-nightly.20231218": "121.0.6159.0", + "30.0.0-nightly.20240102": "121.0.6159.0", + "30.0.0-nightly.20240103": "122.0.6194.0", + "30.0.0-nightly.20240104": "122.0.6194.0", + "30.0.0-nightly.20240105": "122.0.6194.0", + "30.0.0-nightly.20240108": "122.0.6194.0", + "30.0.0-nightly.20240109": "122.0.6194.0", + "30.0.0-nightly.20240110": "122.0.6194.0", + "30.0.0-nightly.20240111": "122.0.6236.2", + "30.0.0-nightly.20240112": "122.0.6236.2", + "30.0.0-nightly.20240115": "122.0.6236.2", + "30.0.0-nightly.20240116": "122.0.6236.2", + "30.0.0-nightly.20240117": "122.0.6236.2", + "30.0.0-nightly.20240118": "122.0.6236.2", + "30.0.0-nightly.20240119": "122.0.6236.2", + "30.0.0-nightly.20240122": "122.0.6236.2", + "30.0.0-nightly.20240123": "122.0.6236.2", + "30.0.0-nightly.20240124": "122.0.6236.2", + "30.0.0-nightly.20240125": "122.0.6236.2", + "30.0.0-nightly.20240126": "123.0.6264.0", + "30.0.0-nightly.20240129": "123.0.6264.0", + "30.0.0-nightly.20240130": "123.0.6264.0", + "30.0.0-nightly.20240131": "123.0.6264.0", + "30.0.0-nightly.20240201": "123.0.6272.0", + "30.0.0-nightly.20240202": "123.0.6272.0", + "30.0.0-nightly.20240205": "123.0.6272.0", + "30.0.0-nightly.20240206": "123.0.6272.0", + "30.0.0-nightly.20240207": "123.0.6272.0", + "30.0.0-nightly.20240208": "123.0.6272.0", + "30.0.0-nightly.20240209": "123.0.6272.0", + "30.0.0-nightly.20240212": "123.0.6272.0", + "30.0.0-nightly.20240213": "123.0.6272.0", + "30.0.0-nightly.20240214": "123.0.6272.0" +}; \ No newline at end of file diff --git a/.pnpm-store/v3/files/64/35a97446572ff61d6b17e8757cc0837db46deebee1a2879cbeb44bbaeea31c04952160850ced191ded0930e290ca61370193354f5912de101c7e57bd942e18 b/.pnpm-store/v3/files/64/35a97446572ff61d6b17e8757cc0837db46deebee1a2879cbeb44bbaeea31c04952160850ced191ded0930e290ca61370193354f5912de101c7e57bd942e18 new file mode 100644 index 00000000..39650196 --- /dev/null +++ b/.pnpm-store/v3/files/64/35a97446572ff61d6b17e8757cc0837db46deebee1a2879cbeb44bbaeea31c04952160850ced191ded0930e290ca61370193354f5912de101c7e57bd942e18 @@ -0,0 +1 @@ +module.exports={C:{"4":0.02084,"33":0.00347,"40":0.01042,"44":0.00695,"50":0.04168,"51":0.07641,"52":0.07641,"56":0.01042,"67":0.00347,"68":0.00695,"72":0.00695,"75":0.02431,"78":0.0903,"80":0.00695,"81":0.00695,"84":0.00347,"99":0.00347,"102":0.00347,"103":0.00347,"105":0.01737,"106":0.03126,"109":0.00347,"110":0.00347,"111":0.02084,"112":0.04862,"113":0.00347,"114":0.00347,"115":0.1285,"116":0.00347,"117":0.00695,"118":0.00695,"119":0.00347,"120":0.02431,"121":1.00717,"122":0.23269,"123":0.00347,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 41 42 43 45 46 47 48 49 53 54 55 57 58 59 60 61 62 63 64 65 66 69 70 71 73 74 76 77 79 82 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 104 107 108 124 125 3.5 3.6"},D:{"38":0.07293,"41":0.04168,"43":0.00347,"44":0.00347,"45":0.00347,"46":0.00347,"47":0.00347,"49":0.01389,"51":0.00695,"56":0.33341,"57":0.03473,"58":0.02778,"69":0.00695,"70":0.00695,"71":0.00347,"72":0.01389,"74":0.01042,"75":0.00347,"76":0.00695,"78":0.01389,"79":0.06599,"80":0.01042,"81":0.02778,"83":0.00695,"84":0.00695,"85":0.09377,"86":0.06599,"87":0.14239,"88":0.00695,"89":0.00347,"90":0.00695,"91":0.00695,"92":0.00347,"94":0.02084,"95":0.00695,"96":0.00695,"97":0.0382,"98":0.01737,"99":0.02431,"100":0.01389,"101":0.00695,"102":0.02778,"103":0.05557,"104":0.01389,"105":0.02431,"106":0.13197,"107":0.18407,"108":0.09724,"109":0.89256,"110":0.05557,"111":0.12156,"112":0.11114,"113":0.02084,"114":0.05904,"115":0.04515,"116":0.1806,"117":0.0382,"118":0.04515,"119":0.5279,"120":17.7644,"121":1.19471,"122":0.03126,"123":0.01389,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 48 50 52 53 54 55 59 60 61 62 63 64 65 66 67 68 73 77 93 124"},F:{"28":0.00695,"31":0.00347,"40":0.00347,"44":0.03473,"65":0.00347,"82":0.00347,"85":0.00347,"86":0.00695,"91":0.00347,"94":0.00695,"95":0.02084,"102":0.00347,"105":0.33341,"106":0.60778,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 32 33 34 35 36 37 38 39 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 87 88 89 90 92 93 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00347},B:{"12":0.00347,"14":0.02084,"15":0.00347,"17":0.00347,"18":0.02084,"85":0.00347,"86":0.00347,"89":0.00347,"92":0.02778,"100":0.00347,"103":0.00347,"107":0.0382,"108":0.04862,"109":0.02431,"110":0.01042,"111":0.00695,"112":0.01042,"113":0.00347,"114":0.01042,"115":0.00347,"116":0.00347,"117":0.00695,"118":0.00695,"119":0.04168,"120":1.80596,"121":0.25353,_:"13 16 79 80 81 83 84 87 88 90 91 93 94 95 96 97 98 99 101 102 104 105 106"},E:{"8":0.01389,"9":0.00695,"10":0.05557,"13":0.02778,"14":0.02778,"15":0.00695,_:"0 4 5 6 7 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.00347,"12.1":0.00695,"13.1":0.02431,"14.1":0.05557,"15.1":0.01389,"15.2-15.3":0.00695,"15.4":0.02778,"15.5":0.04515,"15.6":0.21533,"16.0":0.0382,"16.1":0.0382,"16.2":0.0521,"16.3":0.10419,"16.4":0.03126,"16.5":0.08683,"16.6":0.30562,"17.0":0.04862,"17.1":0.3994,"17.2":0.62514,"17.3":0.04862},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00468,"5.0-5.1":0.00702,"6.0-6.1":0.0117,"7.0-7.1":0.01638,"8.1-8.4":0.00234,"9.0-9.2":0.01404,"9.3":0.05382,"10.0-10.2":0.00468,"10.3":0.08424,"11.0-11.2":0.03276,"11.3-11.4":0.0351,"12.0-12.1":0.02106,"12.2-12.5":0.41651,"13.0-13.1":0.00702,"13.2":0.07722,"13.3":0.02106,"13.4-13.7":0.0936,"14.0-14.4":0.1638,"14.5-14.8":0.25037,"15.0-15.1":0.10764,"15.2-15.3":0.12402,"15.4":0.14508,"15.5":0.19187,"15.6-15.8":1.49521,"16.0":0.44927,"16.1":0.95703,"16.2":0.43523,"16.3":0.80962,"16.4":0.18017,"16.5":0.38375,"16.6-16.7":3.14019,"17.0":0.5218,"17.1":5.3795,"17.2":7.28186,"17.3":0.46799},P:{"4":0.04271,"20":0.03203,"21":0.05338,"22":0.10677,"23":1.29187,"5.0-5.4":0.01068,_:"6.2-6.4 7.2-7.4 8.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0","9.2":0.02135,"16.0":0.01068,"17.0":0.01068,"18.0":0.01068,"19.0":0.02135},I:{"0":0.09747,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00025},A:{"7":0.00362,"8":0.05069,"9":0.00362,"10":0.00362,"11":2.15422,_:"6 5.5"},K:{"0":0.62007,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.03916},O:{"0":0.966},H:{"0":0},L:{"0":39.56723},R:{_:"0"},M:{"0":0.2415}}; diff --git a/.pnpm-store/v3/files/64/3d92138ab6d8550b0d71bf16b38dbe396417a7201ef01a9d57fa946d76c47342d904de51aa37bf31f54334c4dbca252532b29fc12a9ae9c47d4ed6a3db9430 b/.pnpm-store/v3/files/64/3d92138ab6d8550b0d71bf16b38dbe396417a7201ef01a9d57fa946d76c47342d904de51aa37bf31f54334c4dbca252532b29fc12a9ae9c47d4ed6a3db9430 new file mode 100644 index 00000000..ae24e733 --- /dev/null +++ b/.pnpm-store/v3/files/64/3d92138ab6d8550b0d71bf16b38dbe396417a7201ef01a9d57fa946d76c47342d904de51aa37bf31f54334c4dbca252532b29fc12a9ae9c47d4ed6a3db9430 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","16":"VB WB XB","388":"YB ZB aB bB cB dB eB fB gB"},E:{"1":"K L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC","516":"B C 2B 3B"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB iC jC kC lC 2B QC mC 3B"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC"},H:{"2":"9C"},I:{"1":"H","2":"AD BD CD","16":"7B I DD RC ED FD"},J:{"1":"A","2":"D"},K:{"1":"u 3B","16":"A B C 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","129":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:6,C:"FLAC audio format",D:true}; diff --git a/.pnpm-store/v3/files/64/42abafe8ca9b424388522a3446738ff0318e7f7e573f3b6deaf7bf7d8c1e6e6c1b58abc2e48873283dd2384fa4e8214a9d9c108528fa724e957a56aa515a00 b/.pnpm-store/v3/files/64/42abafe8ca9b424388522a3446738ff0318e7f7e573f3b6deaf7bf7d8c1e6e6c1b58abc2e48873283dd2384fa4e8214a9d9c108528fa724e957a56aa515a00 new file mode 100644 index 00000000..e1d33475 --- /dev/null +++ b/.pnpm-store/v3/files/64/42abafe8ca9b424388522a3446738ff0318e7f7e573f3b6deaf7bf7d8c1e6e6c1b58abc2e48873283dd2384fa4e8214a9d9c108528fa724e957a56aa515a00 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"SC","8":"J D E F"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","8":"TC 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","8":"XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p lC 2B QC mC 3B","2":"F iC","8":"jC kC"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"2":"9C"},I:{"1":"H AD ED FD","2":"7B I BD CD DD RC"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","8":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Web Workers",D:true}; diff --git a/.pnpm-store/v3/files/64/5898c095dd9aed3c01057c486cf7c4780158e7133c0682b6fbf5b4c9388ed11709417a1b2a979df240cd76ba0a8a4a55ad5cc90d0836a3d99902e7f46e4a5b b/.pnpm-store/v3/files/64/5898c095dd9aed3c01057c486cf7c4780158e7133c0682b6fbf5b4c9388ed11709417a1b2a979df240cd76ba0a8a4a55ad5cc90d0836a3d99902e7f46e4a5b new file mode 100644 index 00000000..a855c300 --- /dev/null +++ b/.pnpm-store/v3/files/64/5898c095dd9aed3c01057c486cf7c4780158e7133c0682b6fbf5b4c9388ed11709417a1b2a979df240cd76ba0a8a4a55ad5cc90d0836a3d99902e7f46e4a5b @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E SC","8":"F","292":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","292":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O VC WC","8":"AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","584":"RB SB TB UB VB WB XB YB ZB aB bB cB","1025":"dB eB"},D:{"1":"0 1 2 3 4 5 6 7 8 jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB","8":"CB DB EB FB","200":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","1025":"iB"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC","8":"J D E F A ZC aC bC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB iC jC kC lC 2B QC mC 3B","200":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC","8":"E pC qC rC sC tC uC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD","8":"RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"292":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"GD","8":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS Grid Layout (level 1)",D:true}; diff --git a/.pnpm-store/v3/files/64/b91316b19b66f9fd92ee12aba9f75c011123a5db508fd264a109ac09ae9bf423282310e9e4602935f93d6222c67741bef4404252696aebe79ffee7efbec597 b/.pnpm-store/v3/files/64/b91316b19b66f9fd92ee12aba9f75c011123a5db508fd264a109ac09ae9bf423282310e9e4602935f93d6222c67741bef4404252696aebe79ffee7efbec597 new file mode 100644 index 00000000..92d1185f --- /dev/null +++ b/.pnpm-store/v3/files/64/b91316b19b66f9fd92ee12aba9f75c011123a5db508fd264a109ac09ae9bf423282310e9e4602935f93d6222c67741bef4404252696aebe79ffee7efbec597 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","2":"SC","8":"J D"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","4":"TC 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p kC lC 2B QC mC 3B","2":"F iC jC"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Web Storage - name/value pairs",D:true}; diff --git a/.pnpm-store/v3/files/64/cd598fed7edfc6b8010b03a7c520f082a7dcc2b1f827b5d1e03b24598ff1617c91c4ef8e1907251f5978e5287ead83ca7d43548391a885952f38e2f1efbc98 b/.pnpm-store/v3/files/64/cd598fed7edfc6b8010b03a7c520f082a7dcc2b1f827b5d1e03b24598ff1617c91c4ef8e1907251f5978e5287ead83ca7d43548391a885952f38e2f1efbc98 new file mode 100644 index 00000000..e5ec7504 --- /dev/null +++ b/.pnpm-store/v3/files/64/cd598fed7edfc6b8010b03a7c520f082a7dcc2b1f827b5d1e03b24598ff1617c91c4ef8e1907251f5978e5287ead83ca7d43548391a885952f38e2f1efbc98 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"UB VB WB XB YB ZB aB bB cB","2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","132":"M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","164":"A B C K L G"},D:{"1":"0 1 2 3 4 5 6 7 8 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB","66":"OB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD","2":"UD"}},B:4,C:"Battery Status API",D:true}; diff --git a/.pnpm-store/v3/files/64/defe58d422e108f75a85eadb70a3f4ca5c36943192b7431696d0fc51402fb001e8ad8eb23ef44def9adbf959ac7056373939b8cb7668d28f003f6474a3b211 b/.pnpm-store/v3/files/64/defe58d422e108f75a85eadb70a3f4ca5c36943192b7431696d0fc51402fb001e8ad8eb23ef44def9adbf959ac7056373939b8cb7668d28f003f6474a3b211 new file mode 100644 index 00000000..60c4cfeb --- /dev/null +++ b/.pnpm-store/v3/files/64/defe58d422e108f75a85eadb70a3f4ca5c36943192b7431696d0fc51402fb001e8ad8eb23ef44def9adbf959ac7056373939b8cb7668d28f003f6474a3b211 @@ -0,0 +1 @@ +module.exports={C:{"103":0.00277,"111":0.0083,"115":0.38185,"118":0.01107,"119":0.00277,"120":0.12175,"121":1.97564,"122":0.64748,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 112 113 114 116 117 123 124 125 3.5 3.6"},D:{"43":0.01384,"49":0.0083,"62":0.00277,"63":0.00277,"65":0.00277,"69":0.01937,"73":0.02214,"76":0.00277,"78":0.0083,"79":0.01107,"81":0.01107,"83":0.0083,"86":0.00553,"87":0.00277,"88":0.00277,"89":0.00553,"92":0.00277,"93":0.01384,"94":0.0083,"95":0.00277,"99":0.00553,"102":0.00277,"103":0.14942,"104":0.00553,"105":0.01384,"106":0.00277,"107":0.00553,"108":0.0249,"109":0.82457,"110":0.0083,"111":0.08854,"112":0.0249,"113":0.01384,"114":0.15772,"115":0.00277,"116":0.03874,"117":0.0249,"118":0.0166,"119":0.20753,"120":13.62748,"121":1.02102,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 64 66 67 68 70 71 72 74 75 77 80 84 85 90 91 96 97 98 100 101 122 123 124"},F:{"95":0.01107,"102":0.01384,"105":0.60874,"106":0.66408,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00277,"15":0.00277,"16":0.00277,"17":0.00277,"18":0.0083,"92":0.01384,"101":0.00277,"109":0.04981,"110":0.00277,"111":0.0166,"112":0.00277,"114":0.00553,"115":0.0166,"116":0.0166,"117":0.01107,"118":0.00277,"119":0.03874,"120":2.66462,"121":0.34864,_:"13 14 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 113"},E:{"14":0.00553,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3 17.4","12.1":0.00553,"13.1":0.00553,"14.1":0.05811,"15.1":0.0083,"15.4":0.00277,"15.5":0.00277,"15.6":0.55063,"16.0":0.01107,"16.1":0.01937,"16.2":0.00277,"16.3":0.04151,"16.4":0.01937,"16.5":0.03874,"16.6":0.16325,"17.0":0.05534,"17.1":0.20199,"17.2":0.24903,"17.3":0.02767},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00281,"5.0-5.1":0.00422,"6.0-6.1":0.00704,"7.0-7.1":0.00985,"8.1-8.4":0.00141,"9.0-9.2":0.00844,"9.3":0.03236,"10.0-10.2":0.00281,"10.3":0.05065,"11.0-11.2":0.0197,"11.3-11.4":0.02111,"12.0-12.1":0.01266,"12.2-12.5":0.25045,"13.0-13.1":0.00422,"13.2":0.04643,"13.3":0.01266,"13.4-13.7":0.05628,"14.0-14.4":0.09849,"14.5-14.8":0.15055,"15.0-15.1":0.06472,"15.2-15.3":0.07457,"15.4":0.08723,"15.5":0.11538,"15.6-15.8":0.89908,"16.0":0.27015,"16.1":0.57547,"16.2":0.2617,"16.3":0.48683,"16.4":0.10834,"16.5":0.23075,"16.6-16.7":1.88821,"17.0":0.31376,"17.1":3.23472,"17.2":4.37862,"17.3":0.2814},P:{"4":1.33137,"20":0.17682,"21":0.18722,"22":0.20803,"23":6.24079,_:"5.0-5.4 6.2-6.4 8.2 10.1 12.0","7.2-7.4":0.65528,"9.2":0.0104,"11.1-11.2":0.0104,"13.0":0.09361,"14.0":0.05201,"15.0":0.0208,"16.0":0.13522,"17.0":0.11441,"18.0":0.08321,"19.0":0.30164},I:{"0":0.0144,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"11":0.11068,_:"6 7 8 9 10 5.5"},K:{"0":0.32553,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.83191},H:{"0":0},L:{"0":49.11472},R:{_:"0"},M:{"0":0.16638}}; diff --git a/.pnpm-store/v3/files/64/ff7bd46f839fd56493a16e49510dd1045cb6691f1ebb4fd78112df5f4a22bbc775617cc49136c89869f6f8cf6935be71d084072cc36c04ab3f6cb6055f91f8 b/.pnpm-store/v3/files/64/ff7bd46f839fd56493a16e49510dd1045cb6691f1ebb4fd78112df5f4a22bbc775617cc49136c89869f6f8cf6935be71d084072cc36c04ab3f6cb6055f91f8 new file mode 100644 index 00000000..2e3a2532 --- /dev/null +++ b/.pnpm-store/v3/files/64/ff7bd46f839fd56493a16e49510dd1045cb6691f1ebb4fd78112df5f4a22bbc775617cc49136c89869f6f8cf6935be71d084072cc36c04ab3f6cb6055f91f8 @@ -0,0 +1 @@ +module.exports={C:{"52":0.00421,"59":0.00421,"75":0.00421,"78":0.03787,"84":0.00421,"88":0.00421,"91":0.00421,"102":0.0505,"107":0.01262,"109":0.00842,"110":0.00842,"112":0.02525,"114":0.02104,"115":0.87526,"116":0.02525,"117":0.00421,"118":0.01683,"119":0.13045,"120":0.13886,"121":3.79141,"122":0.6312,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 79 80 81 82 83 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 103 104 105 106 108 111 113 123 124 125 3.5 3.6"},D:{"47":0.00842,"69":0.00842,"70":0.00842,"76":0.00421,"79":0.00421,"86":0.06733,"87":0.02525,"89":0.00421,"92":0.01262,"94":0.00421,"96":0.00842,"98":0.00421,"99":0.01683,"102":0.00842,"103":0.08837,"105":0.01683,"107":0.00421,"108":0.00421,"109":1.06042,"111":0.0547,"113":0.00842,"114":0.27352,"116":0.06733,"117":0.0547,"118":0.07574,"119":0.31139,"120":16.08718,"121":0.98888,"122":0.00421,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 71 72 73 74 75 77 78 80 81 83 84 85 88 90 91 93 95 97 100 101 104 106 110 112 115 123 124"},F:{"36":0.00421,"40":0.00421,"46":0.00421,"95":0.02946,"99":0.00421,"102":0.00421,"104":0.00421,"105":0.65645,"106":0.61437,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.00421,"18":0.00421,"80":0.0505,"84":0.00842,"92":0.09678,"95":0.01262,"100":0.00421,"107":0.00842,"108":0.00421,"109":0.01262,"110":0.00421,"113":0.00421,"114":0.00842,"115":0.02104,"116":0.00421,"117":0.01683,"118":0.01262,"119":0.14728,"120":8.01624,"121":0.77427,_:"12 13 14 16 17 79 81 83 85 86 87 88 89 90 91 93 94 96 97 98 99 101 102 103 104 105 106 111 112"},E:{"13":0.00421,"14":0.02525,"15":0.00421,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1 11.1 17.4","5.1":0.00421,"12.1":0.00421,"13.1":0.03366,"14.1":0.16832,"15.1":0.00842,"15.2-15.3":0.04208,"15.4":0.01262,"15.5":0.04629,"15.6":0.13886,"16.0":0.02104,"16.1":0.04208,"16.2":0.01262,"16.3":0.42922,"16.4":0.03787,"16.5":0.07995,"16.6":0.83739,"17.0":0.10941,"17.1":2.53322,"17.2":0.90051,"17.3":0.0547},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00251,"5.0-5.1":0.00376,"6.0-6.1":0.00627,"7.0-7.1":0.00877,"8.1-8.4":0.00125,"9.0-9.2":0.00752,"9.3":0.02883,"10.0-10.2":0.00251,"10.3":0.04512,"11.0-11.2":0.01755,"11.3-11.4":0.0188,"12.0-12.1":0.01128,"12.2-12.5":0.2231,"13.0-13.1":0.00376,"13.2":0.04136,"13.3":0.01128,"13.4-13.7":0.05014,"14.0-14.4":0.08774,"14.5-14.8":0.13411,"15.0-15.1":0.05766,"15.2-15.3":0.06643,"15.4":0.07771,"15.5":0.10278,"15.6-15.8":0.80092,"16.0":0.24065,"16.1":0.51264,"16.2":0.23313,"16.3":0.43367,"16.4":0.09651,"16.5":0.20556,"16.6-16.7":1.68205,"17.0":0.27951,"17.1":2.88154,"17.2":3.90055,"17.3":0.25068},P:{"4":0.0313,"20":0.01043,"21":0.0313,"22":1.64873,"23":2.97397,"5.0-5.4":0.01043,_:"6.2-6.4 8.2 9.2 10.1 12.0 16.0 18.0","7.2-7.4":0.07304,"11.1-11.2":0.16696,"13.0":0.07304,"14.0":0.02087,"15.0":0.0313,"17.0":0.01043,"19.0":0.07304},I:{"0":0.0346,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"11":0.00842,_:"6 7 8 9 10 5.5"},K:{"0":0.09846,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00579},O:{"0":0.05213},H:{"0":0},L:{"0":40.30096},R:{_:"0"},M:{"0":0.26643}}; diff --git a/.pnpm-store/v3/files/66/e5e8c19871d0b7b38201bb530c748255ee60e49c67b1ae5db3ac8461e81771b66f835e27f72153893415aaecee088e21a77f0dbaf2380168b47fd8d8239b86 b/.pnpm-store/v3/files/66/e5e8c19871d0b7b38201bb530c748255ee60e49c67b1ae5db3ac8461e81771b66f835e27f72153893415aaecee088e21a77f0dbaf2380168b47fd8d8239b86 new file mode 100644 index 00000000..e1f865c3 --- /dev/null +++ b/.pnpm-store/v3/files/66/e5e8c19871d0b7b38201bb530c748255ee60e49c67b1ae5db3ac8461e81771b66f835e27f72153893415aaecee088e21a77f0dbaf2380168b47fd8d8239b86 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","132":"B"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L G"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC"},H:{"2":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Link type \"noreferrer\"",D:true}; diff --git a/.pnpm-store/v3/files/66/eb6d3734b0d9028cb46c11d01b2e18d1793f98d1ed53352909d76c606bb46de060f1ae43e6b92de4ef995e448aae5dcf4dd662b611ff2ef292f392d69c7a09 b/.pnpm-store/v3/files/66/eb6d3734b0d9028cb46c11d01b2e18d1793f98d1ed53352909d76c606bb46de060f1ae43e6b92de4ef995e448aae5dcf4dd662b611ff2ef292f392d69c7a09 new file mode 100644 index 00000000..2a05e562 --- /dev/null +++ b/.pnpm-store/v3/files/66/eb6d3734b0d9028cb46c11d01b2e18d1793f98d1ed53352909d76c606bb46de060f1ae43e6b92de4ef995e448aae5dcf4dd662b611ff2ef292f392d69c7a09 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00602,"36":0.00301,"43":0.01506,"52":0.05723,"54":0.00904,"56":0.03012,"72":0.00301,"78":0.00301,"88":0.00602,"91":0.0241,"102":0.0241,"106":0.00301,"107":0.00301,"108":0.00301,"109":0.00301,"110":0.00602,"111":0.00301,"113":0.00602,"115":0.24698,"116":0.00301,"117":0.00301,"118":0.02711,"119":0.15964,"120":0.14759,"121":0.63553,"122":0.13554,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 37 38 39 40 41 42 44 45 46 47 48 49 50 51 53 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 103 104 105 112 114 123 124 125 3.5 3.6"},D:{"34":0.00904,"38":0.0241,"41":0.00301,"47":0.00301,"48":0.00904,"49":0.02108,"50":0.02108,"53":0.01205,"55":0.00602,"56":0.00904,"57":0.01205,"61":0.00602,"63":0.00301,"65":0.00301,"66":0.00602,"67":0.00301,"68":0.00301,"69":0.06626,"70":0.01205,"71":0.00602,"72":0.00301,"73":0.01506,"74":0.00904,"75":0.00602,"76":0.00301,"77":0.01506,"78":0.01506,"79":0.13253,"80":0.01506,"81":0.01506,"83":0.03012,"84":0.00904,"85":0.02108,"86":0.04217,"87":0.09036,"88":0.00904,"89":0.01205,"90":0.03313,"91":0.01506,"92":0.03916,"93":0.00904,"94":0.03916,"95":0.01205,"96":0.01506,"97":0.02108,"98":0.14156,"99":0.0512,"100":0.02711,"101":0.02711,"102":0.02108,"103":0.05422,"104":0.01807,"105":0.03916,"106":0.03916,"107":0.04217,"108":0.08434,"109":1.95178,"110":0.03012,"111":0.07831,"112":0.0512,"113":0.03614,"114":0.07229,"115":0.06024,"116":0.11446,"117":0.08434,"118":0.12349,"119":1.11444,"120":13.42147,"121":0.93974,"122":0.01506,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 42 43 44 45 46 51 52 54 58 59 60 62 64 123 124"},F:{"28":0.00602,"36":0.00602,"40":0.00301,"46":0.02711,"95":0.0241,"105":0.1747,"106":0.19578,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.01205,"92":0.01506,"100":0.00301,"106":0.00301,"107":0.00904,"108":0.01205,"109":0.06325,"110":0.01205,"111":0.00904,"112":0.00904,"113":0.0241,"114":0.02108,"115":0.01506,"116":0.01506,"117":0.01506,"118":0.0241,"119":0.08434,"120":2.61743,"121":0.35542,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105"},E:{"13":0.00904,"14":0.03313,"15":0.00602,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 10.1 11.1 17.4","5.1":0.00301,"9.1":0.00301,"12.1":0.00602,"13.1":0.03012,"14.1":0.0753,"15.1":0.01205,"15.2-15.3":0.00904,"15.4":0.02711,"15.5":0.04217,"15.6":0.16566,"16.0":0.01205,"16.1":0.04518,"16.2":0.03313,"16.3":0.08735,"16.4":0.0241,"16.5":0.05723,"16.6":0.29819,"17.0":0.03916,"17.1":0.31626,"17.2":0.39758,"17.3":0.0241},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00349,"5.0-5.1":0.00465,"6.0-6.1":0.00233,"7.0-7.1":0.01396,"8.1-8.4":0.00349,"9.0-9.2":0.00698,"9.3":0.03142,"10.0-10.2":0.00465,"10.3":0.06167,"11.0-11.2":0.01629,"11.3-11.4":0.01047,"12.0-12.1":0.01396,"12.2-12.5":0.31419,"13.0-13.1":0.00465,"13.2":0.01746,"13.3":0.01746,"13.4-13.7":0.08029,"14.0-14.4":0.1408,"14.5-14.8":0.19666,"15.0-15.1":0.08262,"15.2-15.3":0.09658,"15.4":0.12568,"15.5":0.14429,"15.6-15.8":1.04032,"16.0":0.27812,"16.1":0.45383,"16.2":0.25601,"16.3":0.44103,"16.4":0.15244,"16.5":0.28394,"16.6-16.7":1.58375,"17.0":0.33514,"17.1":2.17373,"17.2":3.03834,"17.3":0.19782},P:{"4":0.22252,"20":0.04238,"21":0.08477,"22":0.11656,"23":1.91792,"5.0-5.4":0.02119,_:"6.2-6.4 8.2 9.2 10.1 12.0 15.0","7.2-7.4":0.06358,"11.1-11.2":0.0106,"13.0":0.02119,"14.0":0.0106,"16.0":0.0106,"17.0":0.04238,"18.0":0.02119,"19.0":0.04238},I:{"0":0.36266,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00058},A:{"9":0.0456,"11":0.92727,_:"6 7 8 10 5.5"},K:{"0":1.43371,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.20268,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.4473},O:{"0":1.69134},H:{"0":0.02},L:{"0":52.24442},R:{_:"0"},M:{"0":0.16075}}; diff --git a/.pnpm-store/v3/files/67/558a1cc4929e09e3569cb30d7b477c30f93ef52b6a60d13749adfb60bedfaba4ee3f2b9aa51d0af115bee4f3efa41108d722c892a39381da2bfd93e0fb9d4f b/.pnpm-store/v3/files/67/558a1cc4929e09e3569cb30d7b477c30f93ef52b6a60d13749adfb60bedfaba4ee3f2b9aa51d0af115bee4f3efa41108d722c892a39381da2bfd93e0fb9d4f new file mode 100644 index 00000000..b740e32d --- /dev/null +++ b/.pnpm-store/v3/files/67/558a1cc4929e09e3569cb30d7b477c30f93ef52b6a60d13749adfb60bedfaba4ee3f2b9aa51d0af115bee4f3efa41108d722c892a39381da2bfd93e0fb9d4f @@ -0,0 +1 @@ +module.exports={A:{A:{"4":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","4":"C K L G M N"},C:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B","4":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","4":"9 I J D E F A B C K L G M N O AB q r s"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","4":"9 I J XC DC YC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F iC jC","4":"B C kC lC 2B QC mC"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","4":"DC nC RC oC pC"},H:{"4":"9C"},I:{"1":"H ED FD","4":"7B I AD BD CD DD RC"},J:{"1":"A","4":"D"},K:{"1":"u","4":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"4":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","4":"TD"}},B:4,C:"CSS3 Overflow-wrap",D:true}; diff --git a/.pnpm-store/v3/files/68/3d5ba25536a534f0102892487c90b24b117f1a5c3eb5084a5d68b81f52424e33fbfaeba742fac63582bb176775a164a69ac11c35c6ca7e404070b1f500b093 b/.pnpm-store/v3/files/68/3d5ba25536a534f0102892487c90b24b117f1a5c3eb5084a5d68b81f52424e33fbfaeba742fac63582bb176775a164a69ac11c35c6ca7e404070b1f500b093 new file mode 100644 index 00000000..e40a66bd --- /dev/null +++ b/.pnpm-store/v3/files/68/3d5ba25536a534f0102892487c90b24b117f1a5c3eb5084a5d68b81f52424e33fbfaeba742fac63582bb176775a164a69ac11c35c6ca7e404070b1f500b093 @@ -0,0 +1,55 @@ +/** + * MIT License + * + * Copyright (c) 2014-present, Lee Byron and other contributors. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Immutable={})}(this,function(t){"use strict";var e="delete",d=5,l=1<>>0;if(""+r!==e||4294967295==r)return NaN;e=r}return e<0?c(t)+e:e}function r(){return!0}function p(t,e,r){return(0===t&&!i(t)||void 0!==r&&t<=-r)&&(void 0===e||void 0!==r&&r<=e)}function y(t,e){return n(t,e,0)}function w(t,e){return n(t,e,e)}function n(t,e,r){return void 0===t?r:i(t)?e===1/0?e:0|Math.max(0,e+t):void 0===e||e===t?t:0|Math.min(e,t)}function i(t){return t<0||0===t&&1/t==-1/0}var o="@@__IMMUTABLE_ITERABLE__@@";function f(t){return!(!t||!t[o])}var s="@@__IMMUTABLE_KEYED__@@";function a(t){return!(!t||!t[s])}var S="@@__IMMUTABLE_INDEXED__@@";function z(t){return!(!t||!t[S])}function b(t){return a(t)||z(t)}function I(t){return f(t)?t:F(t)}var O=function(t){function e(t){return a(t)?t:G(t)}return e.__proto__=t,(e.prototype=Object.create(t.prototype)).constructor=e}(I),E=function(t){function e(t){return z(t)?t:Z(t)}return e.__proto__=t,(e.prototype=Object.create(t.prototype)).constructor=e}(I),j=function(t){function e(t){return f(t)&&!b(t)?t:$(t)}return e.__proto__=t,(e.prototype=Object.create(t.prototype)).constructor=e}(I);I.Keyed=O,I.Indexed=E,I.Set=j;var q="@@__IMMUTABLE_SEQ__@@";function M(t){return!(!t||!t[q])}var D="@@__IMMUTABLE_RECORD__@@";function x(t){return!(!t||!t[D])}function A(t){return f(t)||x(t)}var k="@@__IMMUTABLE_ORDERED__@@";function R(t){return!(!t||!t[k])}var U=0,T=1,K=2,L="function"==typeof Symbol&&Symbol.iterator,C="@@iterator",B=L||C,P=function(t){this.next=t};function W(t,e,r,n){r=0===t?e:1===t?r:[e,r];return n?n.value=r:n={value:r,done:!1},n}function N(){return{value:void 0,done:!0}}function H(t){return Array.isArray(t +)||Y(t)}function J(t){return t&&"function"==typeof t.next}function V(t){var e=Y(t);return e&&e.call(t)}function Y(t){t=t&&(L&&t[L]||t[C]);if("function"==typeof t)return t}P.prototype.toString=function(){return"[Iterator]"},P.KEYS=U,P.VALUES=T,P.ENTRIES=K,P.prototype.inspect=P.prototype.toSource=function(){return""+this},P.prototype[B]=function(){return this};var Q=Object.prototype.hasOwnProperty;function X(t){return Array.isArray(t)||"string"==typeof t||t&&"object"==typeof t&&Number.isInteger(t.length)&&0<=t.length&&(0===t.length?1===Object.keys(t).length:t.hasOwnProperty(t.length-1))}var F=function(t){function e(t){return null==t?it():A(t)?t.toSeq():function(t){var e=st(t);if(e)return function(t){var e=Y(t);return e&&e===t.entries}(t)?e.fromEntrySeq():function(t){var e=Y(t);return e&&e===t.keys}(t)?e.toSetSeq():e;if("object"!=typeof t)throw new TypeError("Expected Array or collection object of values, or keyed object: "+t);return new et(t)}(t)}return e.__proto__=t,((e.prototype=Object.create(t.prototype)).constructor=e).prototype.toSeq=function(){return this},e.prototype.toString=function(){return this.__toString("Seq {","}")},e.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},e.prototype.__iterate=function(t,e){var r=this._cache;if(r){for(var n=r.length,i=0;i!==n;){var o=r[e?n-++i:i++];if(!1===t(o[1],o[0],this))break}return i}return this.__iterateUncached(t,e)},e.prototype.__iterator=function(e,r){var n=this._cache;if(n){var i=n.length,o=0;return new P(function(){if(o===i)return N();var t=n[r?i-++o:o++];return W(e,t[0],t[1])})}return this.__iteratorUncached(e,r)},e}(I),G=function(t){function e(t){return null==t?it().toKeyedSeq():f(t)?a(t)?t.toSeq():t.fromEntrySeq():x(t)?t.toSeq():ot(t)}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.toKeyedSeq=function(){return this},e}(F),Z=function(t){function e(t){return null==t?it():f(t)?a(t)?t.entrySeq():t.toIndexedSeq():x(t +)?t.toSeq().entrySeq():ut(t)}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).of=function(){return e(arguments)},e.prototype.toIndexedSeq=function(){return this},e.prototype.toString=function(){return this.__toString("Seq [","]")},e}(F),$=function(t){function e(t){return(f(t)&&!b(t)?t:Z(t)).toSetSeq()}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).of=function(){return e(arguments)},e.prototype.toSetSeq=function(){return this},e}(F);F.isSeq=M,F.Keyed=G,F.Set=$,F.Indexed=Z,F.prototype[q]=!0;var tt=function(t){function e(t){this._array=t,this.size=t.length}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.get=function(t,e){return this.has(t)?this._array[h(this,t)]:e},e.prototype.__iterate=function(t,e){for(var r=this._array,n=r.length,i=0;i!==n;){var o=e?n-++i:i++;if(!1===t(r[o],o,this))break}return i},e.prototype.__iterator=function(e,r){var n=this._array,i=n.length,o=0;return new P(function(){if(o===i)return N();var t=r?i-++o:o++;return W(e,t,n[t])})},e}(Z),et=function(t){function e(t){var e=Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[]);this._object=t,this._keys=e,this.size=e.length}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.get=function(t,e){return void 0===e||this.has(t)?this._object[t]:e},e.prototype.has=function(t){return Q.call(this._object,t)},e.prototype.__iterate=function(t,e){for(var r=this._object,n=this._keys,i=n.length,o=0;o!==i;){var u=n[e?i-++o:o++];if(!1===t(r[u],u,this))break}return o},e.prototype.__iterator=function(e,r){var n=this._object,i=this._keys,o=i.length,u=0;return new P(function(){if(u===o)return N();var t=i[r?o-++u:u++];return W(e,t,n[t])})},e}(G);et.prototype[k]=!0;var rt,nt=function(t){function e(t){this._collection=t,this.size=t.length||t.size}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.__iterateUncached=function(t,e){ +if(e)return this.cacheResult().__iterate(t,e);var r,n=V(this._collection),i=0;if(J(n))for(;!(r=n.next()).done&&!1!==t(r.value,i++,this););return i},e.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var r=V(this._collection);if(!J(r))return new P(N);var n=0;return new P(function(){var t=r.next();return t.done?t:W(e,n++,t.value)})},e}(Z);function it(){return rt=rt||new tt([])}function ot(t){var e=st(t);if(e)return e.fromEntrySeq();if("object"==typeof t)return new et(t);throw new TypeError("Expected Array or collection object of [k, v] entries, or keyed object: "+t)}function ut(t){var e=st(t);if(e)return e;throw new TypeError("Expected Array or collection object of values: "+t)}function st(t){return X(t)?new tt(t):H(t)?new nt(t):void 0}var at="@@__IMMUTABLE_MAP__@@";function ct(t){return!(!t||!t[at])}function ft(t){return ct(t)&&R(t)}function ht(t){return!(!t||"function"!=typeof t.equals||"function"!=typeof t.hashCode)}function _t(t,e){if(t===e||t!=t&&e!=e)return!0;if(!t||!e)return!1;if("function"==typeof t.valueOf&&"function"==typeof e.valueOf){if((t=t.valueOf())===(e=e.valueOf())||t!=t&&e!=e)return!0;if(!t||!e)return!1}return!!(ht(t)&&ht(e)&&t.equals(e))}var pt="function"==typeof Math.imul&&-2==Math.imul(4294967295,2)?Math.imul:function(t,e){var r=65535&(t|=0),n=65535&(e|=0);return r*n+((t>>>16)*n+r*(e>>>16)<<16>>>0)|0};function lt(t){return t>>>1&1073741824|3221225471&t}var vt=Object.prototype.valueOf;function yt(t){if(null==t)return dt(t);if("function"==typeof t.hashCode)return lt(t.hashCode(t));var e,r=(e=t).valueOf!==vt&&"function"==typeof e.valueOf?e.valueOf(e):e;if(null==r)return dt(r);switch(typeof r){case"boolean":return r?1108378657:1108378656;case"number":return function(t){if(t!=t||t===1/0)return 0;var e=0|t;e!==t&&(e^=4294967295*t);for(;4294967295f)return N();var t=r.next();return a||e===T||t.done?t:W(e,i-1,e===U?void 0:t.value[1],t)})},r}function Bt(e,c,f,h){var t=Xt(e);return t.__iterateUncached=function(n,t){var i=this;if(t)return this.cacheResult().__iterate(n,t);var o=!0,u=0;return e.__iterate(function(t,e,r){if(!(o=o&&c.call(f,t,e,r)))return u++,n(t,h?e:u-1,i)}),u},t.__iteratorUncached=function(i,t){var o=this;if(t)return this.cacheResult().__iterator(i,t);var u=e.__iterator(K,t),s=!0,a=0;return new P(function(){var t;do{if((t=u.next()).done)return h||i===T?t:W(i,a++,i===U?void 0:t.value[1],t);var e=t.value,r=e[0],n=e[1];s=s&&c.call(f,n,r,o)}while(s);return i===K?t:W(i,r,n,t)})},t}function Pt(t,s,a){var c=Xt(t);return c.__iterateUncached=function(i,e){if(e)return this.cacheResult().__iterate(i,e);var o=0,u=!1;return function r(t,n){t.__iterate(function(t,e){return(!s||n>>t)&g),o=this.bitmap;return 0==(o&i)?n:this.nodes[$e(o&i-1)].get(t+d,e,r,n)},Ce.prototype.update=function(t,e,r,n,i,o,u){void 0===r&&(r=yt(n));var s=(0===e?r:r>>>e)&g,a=1<>>=1)u[s]=1&r?e[o++]:void 0;return u[n]=i,new Be(t,o+1,u)}(t,_,c,s,u);if(f&&!u&&2===_.length&&Ge(_[1^h]))return _[1^h];if(f&&u&&1===_.length&&Ge(u))return u;s=t&&t===this.ownerID,a=f?u?c:c^a:c|a,u=f?u?tr(_,h,u,s):function(t,e,r){var n=t.length-1;if(r&&e===n)return t.pop(),t;for(var i=Array(n),o=0,u=0;u>>t)&g];return i?i.get(t+d,e,r,n):n},Be.prototype.update=function(t,e,r,n,i,o,u){void 0===r&&(r=yt(n));var s=(0===e?r:r>>>e)&g,a=this.nodes,c=a[s];if(i===v&&!c)return this;o=Fe(c,t,e+d,r,n,i,o,u);if(o===c)return this;u=this.count;if(c){if(!o&&--u>>r)&g,u=(0===r?n:n>>>r)&g,t=o==u?[Ze(t,e,r+d,n,i)]:(i=new We(e,n,i),o>1&1431655765))+(t>>2&858993459))+(t>>4)&252645135,t+=t>>8,127&(t+=t>>16)}function tr(t,e,r,n){t=n?t:Zt(t);return t[e]=r,t}var er=l/4,rr=l/2,nr=l/4,ir="@@__IMMUTABLE_LIST__@@";function or(t){return!(!t||!t[ir])}var ur=function(o){function t(t){var e=pr();if(null==t)return e;if(or(t))return t;var n=o(t),i=n.size;return 0===i?e:(te(i),0=gr(t._capacity)?n=lr(n,t.__ownerID,0,e,r,o):i=lr(i,t.__ownerID,t._level,e,r,o);if(!o.value)return t;if(t.__ownerID)return t._root=i,t._tail=n,t.__hash=void 0,t.__altered=!0,t;return _r(t._origin,t._capacity,t._level,i,n)}(this,t,e)},t.prototype.remove=function(t){return this.has(t)?0===t?this.shift():t===this.size-1?this.pop():this.splice(t,1):this},t.prototype.insert=function(t,e){return this.splice(t,0,e)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=d,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this):pr()},t.prototype.push=function(){var r=arguments,n=this.size;return this.withMutations(function(t){dr(t,0,n+r.length);for(var e=0;e>>e&g;if(this.array.length<=n)return new ar([],t);var i=0==n;if(0>>e&g;if(this.array.length<=n)return this;if(0>e,u=1+(c-r>>e);l>>r&g,a=t&&s=gr(t._capacity))return t._tail;if(e<1<>>n&g],n-=d;return r}}function dr(t,e,r){void 0!==e&&(e|=0),void 0!==r&&(r|=0);var n=t.__ownerID||new m,i=t._origin,o=t._capacity,u=i+e,s=void 0===r?o:r<0?o+r:i+r;if(u===i&&s===o)return t;if(s<=u)return t.clear();for(var a=t._level,c=t._root,f=0;u+f<0;)c=new ar(c&&c.array.length?[void 0,c]:[],n),f+=1<<(a+=d);f&&(u+=f,i+=f,s+=f,o+=f);for(var h=gr(o),_=gr(s);1<>>l&g,p=p.array[v]=vr(p.array[v],n);p.array[h>>>d&g]=e}if(s>>a&g;if(y!=_>>>a&g)break;y&&(f+=(1<>>d<>>-15,461845907),e=pt(e<<13|e>>>-13,5),e=pt((e=(e+3864292196|0)^t)^e>>>16,2246822507),e=lt((e=pt(e^e>>>13,3266489909))^e>>>16)}(t.__iterate(r?e?function(t,e){n=31*n+sn(yt(t),yt(e))|0}:function(t,e){n=n+sn(yt(t),yt(e))|0}:e?function(t){n=31*n+yt(t)|0}:function(t){n=n+yt(t)|0}),n)}(this))}});var Xr=I.prototype;Xr[o]=!0,Xr[B]=Xr.values,Xr.toJSON=Xr.toArray,Xr.__toStringMapper=oe,Xr.inspect=Xr.toSource=function(){return""+this},Xr.chain=Xr.flatMap,Xr.contains=Xr.includes,Ur(O,{flip:function(){return Vt(this,Ut(this))},mapEntries:function(r,n){var i=this,o=0;return Vt(this,this.toSeq().map(function(t,e){return r.call(n,[e,t],o++,i)}).fromEntrySeq())},mapKeys:function(r,n){var i=this;return Vt(this,this.toSeq().flip().map(function(t,e){return r.call(n,t,e,i)}).flip())}});var Fr=O.prototype;Fr[s]=!0,Fr[B]=Xr.entries,Fr.toJSON=Qr,Fr.__toStringMapper=function(t,e){return oe(e)+": "+oe(t)},Ur(E,{toKeyedSeq:function(){return new xt(this,!1)},filter:function(t,e){return Vt(this,Lt(this,t,e,!1))},findIndex:function(t,e){e=this.findEntry(t,e);return e?e[0]:-1},indexOf:function(t){t=this.keyOf(t);return void 0===t?-1:t},lastIndexOf:function(t){t=this.lastKeyOf(t);return void 0===t?-1:t},reverse:function(){return Vt(this,Kt(this,!1))},slice:function(t,e){return Vt(this,Ct(this,t,e,!1))},splice:function(t,e){ +var r=arguments.length;if(e=Math.max(e||0,0),0===r||2===r&&!e)return this;t=y(t,t<0?this.count():this.size);var n=this.slice(0,t);return Vt(this,1===r?n:n.concat(Zt(arguments,2),this.slice(t+e)))},findLastIndex:function(t,e){e=this.findLastEntry(t,e);return e?e[0]:-1},first:function(t){return this.get(0,t)},flatten:function(t){return Vt(this,Pt(this,t,!1))},get:function(r,t){return(r=h(this,r))<0||this.size===1/0||void 0!==this.size&&this.size>2)|0}Zr.has=Xr.includes,Zr.contains=Zr.includes,Zr.keys=Zr.values,Ur(G,Fr),Ur(Z,Gr),Ur($,Zr);var an=function(t){function e(r){return null==r?_n():kr(r)?r:_n().withMutations(function(e){var t=j(r);te(t.size),t.forEach(function(t){return e.add(t)})})}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).of=function(){return this(arguments)},e.fromKeys=function(t){return this(O(t).keySeq())},e.prototype.toString=function(){return this.__toString("OrderedSet {","}")},e}(Kr);an.isOrderedSet=kr;var cn,fn=an.prototype;function hn(t,e){var r=Object.create(fn);return r.size=t?t.size:0,r._map=t,r.__ownerID=e,r}function _n(){return cn=cn||hn(zr())}fn[k]=!0,fn.zip=Gr.zip,fn.zipWith=Gr.zipWith,fn.zipAll=Gr.zipAll,fn.__empty=_n,fn.__make=hn;Zr={LeftThenRight:-1,RightThenLeft:1};Gr=function(u,s){var a;!function(t){if(x(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(A(t))throw Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(null===t||"object"!=typeof t)throw Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}(u);var c=function(t){var n=this;if(t instanceof c)return t;if(!(this instanceof c))return new c(t);if(!a){a=!0;var e=Object.keys(u),r=f._indices={};f._name=s,f._keys=e,f._defaultValues=u;for(var i=0;i {}; +exports.IDENTITY_FN = val => val; + +exports.isWindows = platform === 'win32'; +exports.isMacos = platform === 'darwin'; +exports.isLinux = platform === 'linux'; +exports.isIBMi = os.type() === 'OS400'; diff --git a/.pnpm-store/v3/files/69/2237878bce6ad8263192b7fbea0958274a4b91b20acdfe144de5ef1a53118d96b156abf8e6dcc9e22b3d9efdc0e7d037c23e9615eb70f67091df079db0d17c b/.pnpm-store/v3/files/69/2237878bce6ad8263192b7fbea0958274a4b91b20acdfe144de5ef1a53118d96b156abf8e6dcc9e22b3d9efdc0e7d037c23e9615eb70f67091df079db0d17c new file mode 100644 index 00000000..b1c78802 --- /dev/null +++ b/.pnpm-store/v3/files/69/2237878bce6ad8263192b7fbea0958274a4b91b20acdfe144de5ef1a53118d96b156abf8e6dcc9e22b3d9efdc0e7d037c23e9615eb70f67091df079db0d17c @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","16":"SC","132":"J D E"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","132":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC","132":"9 I J DC YC"},F:{"1":"N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","16":"F iC","132":"B C G M jC kC lC 2B QC mC 3B"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC"},H:{"2":"9C"},I:{"1":"H ED FD","16":"AD BD","132":"7B I CD DD RC"},J:{"132":"D A"},K:{"1":"u","132":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"letter-spacing CSS property",D:true}; diff --git a/.pnpm-store/v3/files/69/813a0beeddec708214fb27cbd30f53837ce017ab0a812a9c7932eb2954efb51889d027477d6c096bc28e762e95f630e01ef0b02423e223dfb601e9d3e19593 b/.pnpm-store/v3/files/69/813a0beeddec708214fb27cbd30f53837ce017ab0a812a9c7932eb2954efb51889d027477d6c096bc28e762e95f630e01ef0b02423e223dfb601e9d3e19593 new file mode 100644 index 00000000..c2fd3a67 --- /dev/null +++ b/.pnpm-store/v3/files/69/813a0beeddec708214fb27cbd30f53837ce017ab0a812a9c7932eb2954efb51889d027477d6c096bc28e762e95f630e01ef0b02423e223dfb601e9d3e19593 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","33":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB VC WC"},D:{"16":"9 I J D E F A B C K L G M N O","33":"0 1 2 3 4 5 6 7 8 AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC","33":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC"},H:{"2":"9C"},I:{"16":"7B I AD BD CD DD RC ED FD","33":"H"},J:{"16":"D A"},K:{"2":"A B C 2B QC 3B","33":"u"},L:{"16":"H"},M:{"1":"1B"},N:{"16":"A B"},O:{"16":"4B"},P:{"16":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"33":"FC"},R:{"16":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS print-color-adjust",D:true}; diff --git a/.pnpm-store/v3/files/69/ac4a205b8618ae6f63386463668745e46b69374109ef4769bbce8d274888bb77d1af350e90eeda0ced241e666c42b884fc59ea1c292945db592fb7023748b1 b/.pnpm-store/v3/files/69/ac4a205b8618ae6f63386463668745e46b69374109ef4769bbce8d274888bb77d1af350e90eeda0ced241e666c42b884fc59ea1c292945db592fb7023748b1 new file mode 100644 index 00000000..ce33088d --- /dev/null +++ b/.pnpm-store/v3/files/69/ac4a205b8618ae6f63386463668745e46b69374109ef4769bbce8d274888bb77d1af350e90eeda0ced241e666c42b884fc59ea1c292945db592fb7023748b1 @@ -0,0 +1,38 @@ +{ + "name": "bare-fs", + "version": "2.1.5", + "description": "Native file system for Javascript", + "main": "index.js", + "files": [ + "index.js", + "promises.js", + "binding.c", + "binding.js", + "CMakeLists.txt", + "prebuilds" + ], + "addon": true, + "scripts": { + "test": "standard && bare test.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/holepunchto/bare-fs.git" + }, + "author": "Holepunch", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/holepunchto/bare-fs/issues" + }, + "homepage": "https://github.com/holepunchto/bare-fs#readme", + "dependencies": { + "bare-events": "^2.0.0", + "bare-os": "^2.0.0", + "bare-path": "^2.0.0", + "streamx": "^2.13.0" + }, + "devDependencies": { + "brittle": "^3.1.1", + "standard": "^17.0.0" + } +} diff --git a/.pnpm-store/v3/files/69/eecfba686354ef80864c01e3fbee564a288557e408984be18765c103e22ccbe4473377cceaebb29d80c1f821a347ac386e17c617d011371605424daa821403 b/.pnpm-store/v3/files/69/eecfba686354ef80864c01e3fbee564a288557e408984be18765c103e22ccbe4473377cceaebb29d80c1f821a347ac386e17c617d011371605424daa821403 new file mode 100644 index 00000000..26d7869b --- /dev/null +++ b/.pnpm-store/v3/files/69/eecfba686354ef80864c01e3fbee564a288557e408984be18765c103e22ccbe4473377cceaebb29d80c1f821a347ac386e17c617d011371605424daa821403 @@ -0,0 +1 @@ +module.exports={C:{"52":0.02839,"78":0.02129,"88":0.0071,"97":0.0071,"104":0.02129,"109":0.0071,"112":0.0071,"114":0.0071,"115":0.17743,"116":0.0071,"118":0.0071,"119":0.0071,"120":3.02332,"121":1.20649,"122":0.26969,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 98 99 100 101 102 103 105 106 107 108 110 111 113 117 123 124 125 3.5 3.6"},D:{"44":0.01419,"49":0.01419,"52":0.0071,"66":0.02129,"70":0.0071,"76":0.0071,"78":0.0071,"79":0.02129,"85":0.01419,"86":0.0071,"87":0.02839,"88":0.0071,"89":0.02129,"92":0.0071,"93":0.06387,"94":0.0071,"95":0.0071,"96":0.0071,"97":0.0071,"98":0.0071,"99":0.0071,"100":0.0071,"102":0.0071,"103":0.21291,"104":0.03549,"105":0.06387,"106":0.01419,"107":0.03549,"108":0.01419,"109":1.29165,"110":0.04968,"111":0.04968,"112":0.04258,"113":0.02839,"114":0.15613,"115":0.08516,"116":0.56776,"117":0.17743,"118":0.28388,"119":7.95574,"120":35.09467,"121":2.03684,"122":0.0071,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 71 72 73 74 75 77 80 81 83 84 90 91 101 123 124"},F:{"46":0.0071,"95":0.01419,"102":0.0071,"104":0.0071,"105":0.85164,"106":0.53228,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"96":0.0071,"107":0.0071,"108":0.0071,"109":0.07097,"110":0.0071,"112":0.01419,"113":0.0071,"114":0.01419,"115":0.01419,"116":0.15613,"117":0.02129,"118":0.02129,"119":0.08516,"120":6.25955,"121":0.82325,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 102 103 104 105 106 111"},E:{"13":0.0071,"14":0.05678,"15":0.01419,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.0071,"12.1":0.0071,"13.1":0.05678,"14.1":0.21291,"15.1":0.03549,"15.2-15.3":0.02839,"15.4":0.04968,"15.5":0.07807,"15.6":0.50389,"16.0":0.07097,"16.1":0.09226,"16.2":0.09936,"16.3":0.29098,"16.4":0.12065,"16.5":0.17743,"16.6":0.78777,"17.0":0.2342,"17.1":0.86583,"17.2":1.1923,"17.3":0.08516},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00332,"5.0-5.1":0.00498,"6.0-6.1":0.0083,"7.0-7.1":0.01162,"8.1-8.4":0.00166,"9.0-9.2":0.00996,"9.3":0.03818,"10.0-10.2":0.00332,"10.3":0.05976,"11.0-11.2":0.02324,"11.3-11.4":0.0249,"12.0-12.1":0.01494,"12.2-12.5":0.29547,"13.0-13.1":0.00498,"13.2":0.05478,"13.3":0.01494,"13.4-13.7":0.0664,"14.0-14.4":0.1162,"14.5-14.8":0.17761,"15.0-15.1":0.07636,"15.2-15.3":0.08798,"15.4":0.10292,"15.5":0.13612,"15.6-15.8":1.0607,"16.0":0.31871,"16.1":0.67892,"16.2":0.30875,"16.3":0.57434,"16.4":0.12782,"16.5":0.27223,"16.6-16.7":2.22764,"17.0":0.37017,"17.1":3.81621,"17.2":5.16575,"17.3":0.33199},P:{"4":0.02143,"20":0.01072,"21":0.02143,"22":0.03215,"23":1.29652,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","19.0":0.01072},I:{"0":0.05201,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00014},A:{"8":0.0071,"11":0.09936,_:"6 7 9 10 5.5"},K:{"0":0.12188,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.01161},H:{"0":0},L:{"0":13.68085},R:{_:"0"},M:{"0":0.18863}}; diff --git a/.pnpm-store/v3/files/69/fb34a3d4e3a27ba846a3c4c0b5f0a2c8ae05d2e3f6a42e04c88cae4e932a44ad0b1d1bfe2ba29bd38e813ba6889377b6222afa0e42bcab39d586a9707199b7 b/.pnpm-store/v3/files/69/fb34a3d4e3a27ba846a3c4c0b5f0a2c8ae05d2e3f6a42e04c88cae4e932a44ad0b1d1bfe2ba29bd38e813ba6889377b6222afa0e42bcab39d586a9707199b7 new file mode 100644 index 00000000..8207a4d6 --- /dev/null +++ b/.pnpm-store/v3/files/69/fb34a3d4e3a27ba846a3c4c0b5f0a2c8ae05d2e3f6a42e04c88cae4e932a44ad0b1d1bfe2ba29bd38e813ba6889377b6222afa0e42bcab39d586a9707199b7 @@ -0,0 +1,112 @@ +import { importJWK } from '../key/import.js'; +import { JWKSInvalid, JOSENotSupported, JWKSNoMatchingKey, JWKSMultipleMatchingKeys, } from '../util/errors.js'; +import isObject from '../lib/is_object.js'; +function getKtyFromAlg(alg) { + switch (typeof alg === 'string' && alg.slice(0, 2)) { + case 'RS': + case 'PS': + return 'RSA'; + case 'ES': + return 'EC'; + case 'Ed': + return 'OKP'; + default: + throw new JOSENotSupported('Unsupported "alg" value for a JSON Web Key Set'); + } +} +export function isJWKSLike(jwks) { + return (jwks && + typeof jwks === 'object' && + Array.isArray(jwks.keys) && + jwks.keys.every(isJWKLike)); +} +function isJWKLike(key) { + return isObject(key); +} +function clone(obj) { + if (typeof structuredClone === 'function') { + return structuredClone(obj); + } + return JSON.parse(JSON.stringify(obj)); +} +export class LocalJWKSet { + constructor(jwks) { + this._cached = new WeakMap(); + if (!isJWKSLike(jwks)) { + throw new JWKSInvalid('JSON Web Key Set malformed'); + } + this._jwks = clone(jwks); + } + async getKey(protectedHeader, token) { + const { alg, kid } = { ...protectedHeader, ...token?.header }; + const kty = getKtyFromAlg(alg); + const candidates = this._jwks.keys.filter((jwk) => { + let candidate = kty === jwk.kty; + if (candidate && typeof kid === 'string') { + candidate = kid === jwk.kid; + } + if (candidate && typeof jwk.alg === 'string') { + candidate = alg === jwk.alg; + } + if (candidate && typeof jwk.use === 'string') { + candidate = jwk.use === 'sig'; + } + if (candidate && Array.isArray(jwk.key_ops)) { + candidate = jwk.key_ops.includes('verify'); + } + if (candidate && alg === 'EdDSA') { + candidate = jwk.crv === 'Ed25519' || jwk.crv === 'Ed448'; + } + if (candidate) { + switch (alg) { + case 'ES256': + candidate = jwk.crv === 'P-256'; + break; + case 'ES256K': + candidate = jwk.crv === 'secp256k1'; + break; + case 'ES384': + candidate = jwk.crv === 'P-384'; + break; + case 'ES512': + candidate = jwk.crv === 'P-521'; + break; + } + } + return candidate; + }); + const { 0: jwk, length } = candidates; + if (length === 0) { + throw new JWKSNoMatchingKey(); + } + if (length !== 1) { + const error = new JWKSMultipleMatchingKeys(); + const { _cached } = this; + error[Symbol.asyncIterator] = async function* () { + for (const jwk of candidates) { + try { + yield await importWithAlgCache(_cached, jwk, alg); + } + catch { } + } + }; + throw error; + } + return importWithAlgCache(this._cached, jwk, alg); + } +} +async function importWithAlgCache(cache, jwk, alg) { + const cached = cache.get(jwk) || cache.set(jwk, {}).get(jwk); + if (cached[alg] === undefined) { + const key = await importJWK({ ...jwk, ext: true }, alg); + if (key instanceof Uint8Array || key.type !== 'public') { + throw new JWKSInvalid('JSON Web Key Set members must be public keys'); + } + cached[alg] = key; + } + return cached[alg]; +} +export function createLocalJWKSet(jwks) { + const set = new LocalJWKSet(jwks); + return async (protectedHeader, token) => set.getKey(protectedHeader, token); +} diff --git a/.pnpm-store/v3/files/6a/a048e568cd6d021a69675c98d25034a8e98e585058d035fce95ab929fcfc095148b3e6992ee92a710df7d81a4f6dfaf9d134fe90d4d9f256c94ffd54a11a38 b/.pnpm-store/v3/files/6a/a048e568cd6d021a69675c98d25034a8e98e585058d035fce95ab929fcfc095148b3e6992ee92a710df7d81a4f6dfaf9d134fe90d4d9f256c94ffd54a11a38 new file mode 100644 index 00000000..1e23e57f --- /dev/null +++ b/.pnpm-store/v3/files/6a/a048e568cd6d021a69675c98d25034a8e98e585058d035fce95ab929fcfc095148b3e6992ee92a710df7d81a4f6dfaf9d134fe90d4d9f256c94ffd54a11a38 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","16":"SC","129":"F A","130":"J D E"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","16":"F"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC"},H:{"1":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","129":"A"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"EventTarget.dispatchEvent",D:true}; diff --git a/.pnpm-store/v3/files/6a/b24e4ae82c8f788502312471bb912fd3ff534f3459a349f9be8d31cac4534f3c749188481328044d5b81f3698e4f1363d8e3ed7c0abaecc2581613ac859973 b/.pnpm-store/v3/files/6a/b24e4ae82c8f788502312471bb912fd3ff534f3459a349f9be8d31cac4534f3c749188481328044d5b81f3698e4f1363d8e3ed7c0abaecc2581613ac859973 new file mode 100644 index 00000000..1d59611d --- /dev/null +++ b/.pnpm-store/v3/files/6a/b24e4ae82c8f788502312471bb912fd3ff534f3459a349f9be8d31cac4534f3c749188481328044d5b81f3698e4f1363d8e3ed7c0abaecc2581613ac859973 @@ -0,0 +1 @@ +module.exports={C:{"3":0.00505,"4":0.00505,"5":0.00505,"8":0.00505,"10":0.00505,"21":0.00505,"28":0.00505,"31":0.00505,"32":0.00505,"34":0.00505,"37":0.00505,"38":0.00505,"39":0.01009,"40":0.01514,"41":0.00505,"48":0.00505,"70":0.00505,"78":0.00505,"96":0.01514,"102":0.00505,"104":0.00505,"105":0.06054,"109":0.00505,"115":0.24721,"116":0.01009,"117":0.00505,"120":0.04036,"121":1.19567,"122":0.26739,"123":0.00505,_:"2 6 7 9 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 29 30 33 35 36 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 103 106 107 108 110 111 112 113 114 118 119 124 125","3.5":0.00505,"3.6":0.01009},D:{"4":0.00505,"12":0.00505,"17":0.00505,"19":0.00505,"20":0.00505,"21":0.01009,"27":0.00505,"28":0.00505,"31":0.00505,"32":0.00505,"33":0.00505,"35":0.00505,"36":0.00505,"37":0.01009,"38":0.00505,"39":0.01514,"40":0.00505,"41":0.01514,"42":0.01009,"43":0.02018,"44":0.03027,"45":0.02523,"46":0.02523,"47":0.02018,"49":0.00505,"51":0.05045,"65":0.00505,"70":0.01514,"76":0.00505,"79":0.01009,"81":0.00505,"85":0.00505,"86":0.00505,"87":0.02018,"88":0.01009,"93":0.01514,"94":0.00505,"98":0.03532,"99":0.01009,"102":0.00505,"103":0.05045,"105":0.02523,"108":0.01009,"109":0.79207,"111":0.01514,"112":0.00505,"113":0.01009,"114":0.03532,"115":0.02018,"116":0.82234,"117":0.08072,"118":0.13117,"119":0.50955,"120":18.36885,"121":1.23603,_:"5 6 7 8 9 10 11 13 14 15 16 18 22 23 24 25 26 29 30 34 48 50 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 71 72 73 74 75 77 78 80 83 84 89 90 91 92 95 96 97 100 101 104 106 107 110 122 123 124"},F:{"31":0.00505,"33":0.00505,"70":0.00505,"105":0.14631,"106":0.48937,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.6","11.5":0.00505,"12.1":0.00505},B:{"12":0.01009,"92":0.00505,"106":0.01514,"107":0.05045,"109":0.02523,"112":0.01009,"116":0.00505,"117":0.00505,"118":0.01514,"119":0.09586,"120":7.70372,"121":0.98882,_:"13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 108 110 111 113 114 115"},E:{"5":0.00505,"7":0.00505,"8":0.00505,"9":0.07568,"11":0.01009,"12":0.04036,"13":0.00505,"14":0.07568,"15":0.00505,_:"0 4 6 10 3.1 3.2 6.1 10.1 11.1 17.4","5.1":0.00505,"7.1":0.00505,"9.1":0.00505,"12.1":0.11099,"13.1":0.11099,"14.1":0.13622,"15.1":0.01514,"15.2-15.3":0.0555,"15.4":0.06559,"15.5":0.11604,"15.6":3.13295,"16.0":0.02018,"16.1":0.07568,"16.2":0.10595,"16.3":0.23207,"16.4":0.03532,"16.5":0.25225,"16.6":1.9171,"17.0":0.21189,"17.1":2.30557,"17.2":5.72608,"17.3":0.11604},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00537,"5.0-5.1":0.00805,"6.0-6.1":0.01342,"7.0-7.1":0.01879,"8.1-8.4":0.00268,"9.0-9.2":0.01611,"9.3":0.06175,"10.0-10.2":0.00537,"10.3":0.09664,"11.0-11.2":0.03758,"11.3-11.4":0.04027,"12.0-12.1":0.02416,"12.2-12.5":0.47785,"13.0-13.1":0.00805,"13.2":0.08859,"13.3":0.02416,"13.4-13.7":0.10738,"14.0-14.4":0.18792,"14.5-14.8":0.28725,"15.0-15.1":0.12349,"15.2-15.3":0.14228,"15.4":0.16644,"15.5":0.22013,"15.6-15.8":1.71544,"16.0":0.51544,"16.1":1.09799,"16.2":0.49933,"16.3":0.92886,"16.4":0.20671,"16.5":0.44027,"16.6-16.7":3.6027,"17.0":0.59866,"17.1":6.17183,"17.2":8.35439,"17.3":0.53691},P:{"4":0.05673,"20":0.04539,"21":0.05673,"22":0.04539,"23":2.54156,_:"5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 17.0 18.0 19.0","6.2-6.4":0.05673,"13.0":0.01135},I:{"0":0.41924,"3":0,"4":0.00008,"2.1":0,"2.2":0.00004,"2.3":0,"4.1":0.00008,"4.2-4.3":0.00029,"4.4":0,"4.4.3-4.4.4":0.00109},A:{"6":0.00505,"7":0.01514,"8":0.19676,"9":0.03027,"10":0.03532,"11":0.13622,_:"5.5"},K:{"0":0.10899,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01486,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.04954},H:{"0":0},L:{"0":18.72522},R:{_:"0"},M:{"0":0.60439}}; diff --git a/.pnpm-store/v3/files/6a/b4df283355476a3aa6847a002b902c4a5cbee97d01e14ab4598da5cd9ab82a0ad3b2e0e52603fe9b3bd5e289cd84a10f0d0056ade467eeef8bd4bcb5072118 b/.pnpm-store/v3/files/6a/b4df283355476a3aa6847a002b902c4a5cbee97d01e14ab4598da5cd9ab82a0ad3b2e0e52603fe9b3bd5e289cd84a10f0d0056ade467eeef8bd4bcb5072118 new file mode 100644 index 00000000..3aa6621f --- /dev/null +++ b/.pnpm-store/v3/files/6a/b4df283355476a3aa6847a002b902c4a5cbee97d01e14ab4598da5cd9ab82a0ad3b2e0e52603fe9b3bd5e289cd84a10f0d0056ade467eeef8bd4bcb5072118 @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;GAKG;AACH,0BAHa,QAAQ,CAoEpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,iCAPW,UAAU,YAEV,QAAQ,GAEN,GAAG,CAuEf;;;;gCAzMqB,KAAK,GAAG,IAAI,GAAG,SAAS,aAAa,MAAM,GAAG,CAAC,KAAK,IAAI;;;;oCAGtD,MAAM,GAAG,CAAC,KAAK,GAAG;;;;;;;;SAK5B,GAAG;;;;SAEH,GAAG;;;;;;;;;;;;6BAGO,MAAM,GAAG,CAAC,KAAK,IAAI;;;;uBAWzB,UAAU,KAAK,QAAQ"} \ No newline at end of file diff --git a/.pnpm-store/v3/files/6a/e13ed6a766eccebd190f2f23e1cab7e853042ef90bbd7edebbb18502927d71633355a917a171ce1072becdb58226a48e08c7d93c9f56bac3a5a0541239ccba b/.pnpm-store/v3/files/6a/e13ed6a766eccebd190f2f23e1cab7e853042ef90bbd7edebbb18502927d71633355a917a171ce1072becdb58226a48e08c7d93c9f56bac3a5a0541239ccba new file mode 100644 index 00000000..965f65a2 --- /dev/null +++ b/.pnpm-store/v3/files/6a/e13ed6a766eccebd190f2f23e1cab7e853042ef90bbd7edebbb18502927d71633355a917a171ce1072becdb58226a48e08c7d93c9f56bac3a5a0541239ccba @@ -0,0 +1 @@ +module.exports={C:{"52":0.00253,"78":0.0152,"88":0.00507,"91":0.0152,"94":0.01267,"104":0.03294,"107":0.01267,"112":0.01267,"115":0.20272,"118":0.00253,"119":0.00507,"120":0.01267,"121":1.36329,"122":0.60056,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 95 96 97 98 99 100 101 102 103 105 106 108 109 110 111 113 114 116 117 123 124 125 3.5 3.6"},D:{"11":0.0152,"37":0.0076,"43":0.00507,"49":0.00253,"50":0.00507,"57":0.00253,"58":0.00507,"65":0.00253,"66":0.02281,"68":0.00507,"69":0.02281,"70":0.00253,"73":0.05321,"74":0.03041,"75":0.04308,"76":0.00253,"79":0.03041,"81":0.03041,"83":0.05828,"84":0.01014,"86":0.02027,"87":0.11656,"88":0.05321,"89":0.05321,"90":0.02027,"93":0.00507,"94":0.00253,"95":0.02534,"96":0.01267,"98":0.02534,"99":0.01267,"101":0.00507,"102":0.0152,"103":0.06588,"105":0.00253,"106":0.03041,"108":0.00507,"109":2.40477,"110":0.20272,"111":0.00253,"112":0.15711,"113":0.00507,"114":0.02027,"115":0.00507,"116":0.04561,"117":0.01774,"118":0.01267,"119":0.1343,"120":9.33019,"121":0.99079,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 44 45 46 47 48 51 52 53 54 55 56 59 60 61 62 63 64 67 71 72 77 78 80 85 91 92 97 100 104 107 122 123 124"},F:{"79":0.01267,"80":0.01774,"89":0.00253,"95":0.03548,"102":0.01267,"105":0.17485,"106":0.56762,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 81 82 83 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"13":0.00253,"17":0.00253,"18":0.00507,"84":0.00507,"90":0.00253,"92":0.02281,"100":0.00253,"103":0.00253,"109":0.10643,"112":0.00253,"113":0.01267,"117":0.0076,"118":0.00507,"119":0.0152,"120":3.01546,"121":0.46119,_:"12 14 15 16 79 80 81 83 85 86 87 88 89 91 93 94 95 96 97 98 99 101 102 104 105 106 107 108 110 111 114 115 116"},E:{"15":0.00507,_:"0 4 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 16.0 17.4","13.1":0.00507,"14.1":0.13177,"15.5":0.00253,"15.6":0.04815,"16.1":0.01267,"16.2":0.00507,"16.3":0.00507,"16.4":0.00253,"16.5":0.00253,"16.6":0.02027,"17.0":0.01014,"17.1":0.06842,"17.2":0.04561,"17.3":0.01267},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00245,"5.0-5.1":0.00368,"6.0-6.1":0.00614,"7.0-7.1":0.00859,"8.1-8.4":0.00123,"9.0-9.2":0.00736,"9.3":0.02823,"10.0-10.2":0.00245,"10.3":0.04419,"11.0-11.2":0.01718,"11.3-11.4":0.01841,"12.0-12.1":0.01105,"12.2-12.5":0.21848,"13.0-13.1":0.00368,"13.2":0.0405,"13.3":0.01105,"13.4-13.7":0.0491,"14.0-14.4":0.08592,"14.5-14.8":0.13133,"15.0-15.1":0.05646,"15.2-15.3":0.06505,"15.4":0.0761,"15.5":0.10065,"15.6-15.8":0.78432,"16.0":0.23566,"16.1":0.50201,"16.2":0.2283,"16.3":0.42468,"16.4":0.09451,"16.5":0.2013,"16.6-16.7":1.64718,"17.0":0.27371,"17.1":2.82182,"17.2":3.8197,"17.3":0.24548},P:{"4":0.20382,"20":0.26497,"21":0.05096,"22":0.18344,"23":1.20257,"5.0-5.4":0.01019,"6.2-6.4":0.01019,"7.2-7.4":0.37708,_:"8.2 9.2 10.1 12.0 14.0","11.1-11.2":0.10191,"13.0":0.01019,"15.0":0.01019,"16.0":0.15287,"17.0":0.02038,"18.0":0.01019,"19.0":0.07134},I:{"0":0.01487,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"11":0.02027,_:"6 7 8 9 10 5.5"},K:{"0":1.74143,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01493,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.06719},H:{"0":0.14},L:{"0":61.08857},R:{_:"0"},M:{"0":0.11199}}; diff --git a/.pnpm-store/v3/files/6b/06d063fdd2ced7a910fe3508c64c032b159a891440444cf0949bf9c44fefeb2ec021c741f3e60f20c8845de02c3bd63c113d980c16a0ebbc39d6d6ebbd57aa b/.pnpm-store/v3/files/6b/06d063fdd2ced7a910fe3508c64c032b159a891440444cf0949bf9c44fefeb2ec021c741f3e60f20c8845de02c3bd63c113d980c16a0ebbc39d6d6ebbd57aa new file mode 100644 index 00000000..c331c53c --- /dev/null +++ b/.pnpm-store/v3/files/6b/06d063fdd2ced7a910fe3508c64c032b159a891440444cf0949bf9c44fefeb2ec021c741f3e60f20c8845de02c3bd63c113d980c16a0ebbc39d6d6ebbd57aa @@ -0,0 +1 @@ +module.exports={C:{"52":0.00515,"59":0.03089,"78":0.01544,"84":0.00515,"91":0.0103,"93":0.0103,"102":0.0103,"104":0.00515,"107":0.00515,"109":0.0103,"111":0.00515,"113":0.0103,"115":0.3758,"116":0.00515,"117":0.0103,"118":0.0103,"119":0.02059,"120":0.04633,"121":1.50836,"122":0.34492,"123":0.00515,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 86 87 88 89 90 92 94 95 96 97 98 99 100 101 103 105 106 108 110 112 114 124 125 3.5 3.6"},D:{"38":0.00515,"41":0.00515,"49":0.02059,"52":0.01544,"66":0.139,"77":0.0103,"79":0.02059,"80":0.00515,"81":0.00515,"85":0.0103,"86":0.01544,"87":0.04633,"89":0.02059,"90":0.00515,"91":0.00515,"93":0.01544,"94":0.00515,"96":0.00515,"97":0.0103,"98":0.00515,"99":0.0103,"100":0.0103,"101":0.02059,"102":0.02059,"103":0.08237,"104":0.02574,"105":0.01544,"106":0.0103,"107":0.03604,"108":0.03604,"109":1.85843,"110":0.02059,"111":0.03604,"112":0.04633,"113":0.01544,"114":0.05148,"115":0.04633,"116":0.28829,"117":0.15444,"118":7.25353,"119":1.18919,"120":20.32945,"121":1.23552,"122":0.00515,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 45 46 47 48 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 78 83 84 88 92 95 123 124"},F:{"69":0.00515,"86":0.00515,"95":0.02059,"97":0.00515,"101":0.00515,"102":0.01544,"104":0.02059,"105":1.24582,"106":0.83398,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 87 88 89 90 91 92 93 94 96 98 99 100 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.01544,"18":0.00515,"92":0.00515,"100":0.00515,"108":0.00515,"109":0.08237,"110":0.00515,"111":0.00515,"112":0.00515,"113":0.0103,"114":0.01544,"115":0.0103,"116":0.06178,"117":0.09266,"118":0.01544,"119":0.14929,"120":5.24066,"121":0.72587,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107"},E:{"13":0.0103,"14":0.04633,"15":0.0103,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1 17.4","5.1":0.00515,"11.1":0.03089,"12.1":0.01544,"13.1":0.09781,"14.1":0.21107,"15.1":0.03089,"15.2-15.3":0.02574,"15.4":0.06692,"15.5":0.07207,"15.6":0.49936,"16.0":0.04118,"16.1":0.1287,"16.2":0.14414,"16.3":0.27284,"16.4":0.1184,"16.5":0.19048,"16.6":1.04504,"17.0":0.18018,"17.1":1.10167,"17.2":2.01802,"17.3":0.19562},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00563,"5.0-5.1":0.00845,"6.0-6.1":0.01408,"7.0-7.1":0.01971,"8.1-8.4":0.00282,"9.0-9.2":0.01689,"9.3":0.06475,"10.0-10.2":0.00563,"10.3":0.10134,"11.0-11.2":0.03941,"11.3-11.4":0.04223,"12.0-12.1":0.02534,"12.2-12.5":0.50109,"13.0-13.1":0.00845,"13.2":0.0929,"13.3":0.02534,"13.4-13.7":0.11261,"14.0-14.4":0.19706,"14.5-14.8":0.30122,"15.0-15.1":0.1295,"15.2-15.3":0.1492,"15.4":0.17454,"15.5":0.23084,"15.6-15.8":1.79887,"16.0":0.54051,"16.1":1.15139,"16.2":0.52361,"16.3":0.97404,"16.4":0.21677,"16.5":0.46168,"16.6-16.7":3.7779,"17.0":0.62777,"17.1":6.47198,"17.2":8.76069,"17.3":0.56303},P:{"4":0.0417,"20":0.01042,"21":0.03127,"22":0.05212,"23":3.06465,"5.0-5.4":0.01042,_:"6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","17.0":0.01042,"19.0":0.01042},I:{"0":0.03381,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"8":0.00515,"11":0.09266,_:"6 7 9 10 5.5"},K:{"0":0.26201,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.03396},H:{"0":0},L:{"0":16.50912},R:{_:"0"},M:{"0":0.3639}}; diff --git a/.pnpm-store/v3/files/6b/4c4887d721e7220a61a6783b5e6991c1353d4b55b5a90dc6f1f1cb7e94d9f29b6c2116896793f841ce3239aac32c7c1bf9bb4cc3f57266cc02d31a03522e93 b/.pnpm-store/v3/files/6b/4c4887d721e7220a61a6783b5e6991c1353d4b55b5a90dc6f1f1cb7e94d9f29b6c2116896793f841ce3239aac32c7c1bf9bb4cc3f57266cc02d31a03522e93 new file mode 100644 index 00000000..2e5b31e0 --- /dev/null +++ b/.pnpm-store/v3/files/6b/4c4887d721e7220a61a6783b5e6991c1353d4b55b5a90dc6f1f1cb7e94d9f29b6c2116896793f841ce3239aac32c7c1bf9bb4cc3f57266cc02d31a03522e93 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","132":"9 J D E F A YC ZC aC bC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p jC kC lC 2B QC mC 3B","2":"F iC"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC","132":"E nC RC oC pC qC rC sC tC uC"},H:{"516":"9C"},I:{"1":"H FD","2":"7B AD BD CD","132":"I DD RC ED"},J:{"1":"A","132":"D"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"260":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","132":"TD"}},B:1,C:"Form validation",D:true}; diff --git a/.pnpm-store/v3/files/6b/6c8d02496ef530bca2bb1ec43777ad8115c14d5dd258421663fa082da54bca9ed0c8f1f6e14b81e0ad706d7a38278b942536eac81233cb8ce0e70c6d305c24 b/.pnpm-store/v3/files/6b/6c8d02496ef530bca2bb1ec43777ad8115c14d5dd258421663fa082da54bca9ed0c8f1f6e14b81e0ad706d7a38278b942536eac81233cb8ce0e70c6d305c24 new file mode 100644 index 00000000..9ac11f7d --- /dev/null +++ b/.pnpm-store/v3/files/6b/6c8d02496ef530bca2bb1ec43777ad8115c14d5dd258421663fa082da54bca9ed0c8f1f6e14b81e0ad706d7a38278b942536eac81233cb8ce0e70c6d305c24 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"C K L G M N O","2":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"1":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:6,C:"JPEG XR image format",D:true}; diff --git a/.pnpm-store/v3/files/6b/6f08e11d2f67bbad69f713afcb2e3368d84dab3286fd8eb68e98a087ea101146dc05abdac4b52e669a5300723168aab0dbdfe489b399af904ef0819a642be8 b/.pnpm-store/v3/files/6b/6f08e11d2f67bbad69f713afcb2e3368d84dab3286fd8eb68e98a087ea101146dc05abdac4b52e669a5300723168aab0dbdfe489b399af904ef0819a642be8 new file mode 100644 index 00000000..5829aa35 --- /dev/null +++ b/.pnpm-store/v3/files/6b/6f08e11d2f67bbad69f713afcb2e3368d84dab3286fd8eb68e98a087ea101146dc05abdac4b52e669a5300723168aab0dbdfe489b399af904ef0819a642be8 @@ -0,0 +1 @@ +module.exports={A:{D:{"1":"0 1 2 3 4 5 6 7 8 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB","33":"JB KB LB MB NB"},L:{"1":"H"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","33":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB VC WC"},M:{"1":"1B"},A:{"2":"J D E F A SC","33":"B"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O iC jC kC lC 2B QC mC 3B","33":"AB q r s t"},K:{"1":"u","2":"A B C 2B QC 3B"},E:{"1":"HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC hC"},G:{"1":"HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},I:{"1":"H","2":"7B I AD BD CD DD RC","33":"ED FD"}},B:6,C:"CSS ::backdrop pseudo-element",D:undefined}; diff --git a/.pnpm-store/v3/files/6b/755a59ce76cb1e263727c36aa0f9dfec6b6ada557d7653bb7f9b061bfe66ccf2b74e48ccf21f93ff01e8d6dc778308c018065a650e9bc90e737518dd7d69fc b/.pnpm-store/v3/files/6b/755a59ce76cb1e263727c36aa0f9dfec6b6ada557d7653bb7f9b061bfe66ccf2b74e48ccf21f93ff01e8d6dc778308c018065a650e9bc90e737518dd7d69fc new file mode 100644 index 00000000..00bb36ad --- /dev/null +++ b/.pnpm-store/v3/files/6b/755a59ce76cb1e263727c36aa0f9dfec6b6ada557d7653bb7f9b061bfe66ccf2b74e48ccf21f93ff01e8d6dc778308c018065a650e9bc90e737518dd7d69fc @@ -0,0 +1,96 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createRemoteJWKSet = void 0; +const fetch_jwks_js_1 = require("../runtime/fetch_jwks.js"); +const errors_js_1 = require("../util/errors.js"); +const local_js_1 = require("./local.js"); +function isCloudflareWorkers() { + return (typeof WebSocketPair !== 'undefined' || + (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') || + (typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel')); +} +let USER_AGENT; +if (typeof navigator === 'undefined' || !navigator.userAgent?.startsWith?.('Mozilla/5.0 ')) { + const NAME = 'jose'; + const VERSION = 'v5.2.2'; + USER_AGENT = `${NAME}/${VERSION}`; +} +class RemoteJWKSet extends local_js_1.LocalJWKSet { + _url; + _timeoutDuration; + _cooldownDuration; + _cacheMaxAge; + _jwksTimestamp; + _pendingFetch; + _options; + constructor(url, options) { + super({ keys: [] }); + this._jwks = undefined; + if (!(url instanceof URL)) { + throw new TypeError('url must be an instance of URL'); + } + this._url = new URL(url.href); + this._options = { agent: options?.agent, headers: options?.headers }; + this._timeoutDuration = + typeof options?.timeoutDuration === 'number' ? options?.timeoutDuration : 5000; + this._cooldownDuration = + typeof options?.cooldownDuration === 'number' ? options?.cooldownDuration : 30000; + this._cacheMaxAge = typeof options?.cacheMaxAge === 'number' ? options?.cacheMaxAge : 600000; + } + coolingDown() { + return typeof this._jwksTimestamp === 'number' + ? Date.now() < this._jwksTimestamp + this._cooldownDuration + : false; + } + fresh() { + return typeof this._jwksTimestamp === 'number' + ? Date.now() < this._jwksTimestamp + this._cacheMaxAge + : false; + } + async getKey(protectedHeader, token) { + if (!this._jwks || !this.fresh()) { + await this.reload(); + } + try { + return await super.getKey(protectedHeader, token); + } + catch (err) { + if (err instanceof errors_js_1.JWKSNoMatchingKey) { + if (this.coolingDown() === false) { + await this.reload(); + return super.getKey(protectedHeader, token); + } + } + throw err; + } + } + async reload() { + if (this._pendingFetch && isCloudflareWorkers()) { + this._pendingFetch = undefined; + } + const headers = new Headers(this._options.headers); + if (USER_AGENT && !headers.has('User-Agent')) { + headers.set('User-Agent', USER_AGENT); + this._options.headers = Object.fromEntries(headers.entries()); + } + this._pendingFetch ||= (0, fetch_jwks_js_1.default)(this._url, this._timeoutDuration, this._options) + .then((json) => { + if (!(0, local_js_1.isJWKSLike)(json)) { + throw new errors_js_1.JWKSInvalid('JSON Web Key Set malformed'); + } + this._jwks = { keys: json.keys }; + this._jwksTimestamp = Date.now(); + this._pendingFetch = undefined; + }) + .catch((err) => { + this._pendingFetch = undefined; + throw err; + }); + await this._pendingFetch; + } +} +function createRemoteJWKSet(url, options) { + const set = new RemoteJWKSet(url, options); + return async (protectedHeader, token) => set.getKey(protectedHeader, token); +} +exports.createRemoteJWKSet = createRemoteJWKSet; diff --git a/.pnpm-store/v3/files/6b/bb32a9c7e988079691a3d4136d472fbfafcfb91f4afe867b0728f4d29f9cfde9a230d0c321326a08023188999bd9e6581673d83e916843e84194af9114b9aa b/.pnpm-store/v3/files/6b/bb32a9c7e988079691a3d4136d472fbfafcfb91f4afe867b0728f4d29f9cfde9a230d0c321326a08023188999bd9e6581673d83e916843e84194af9114b9aa new file mode 100644 index 00000000..80dbea32 --- /dev/null +++ b/.pnpm-store/v3/files/6b/bb32a9c7e988079691a3d4136d472fbfafcfb91f4afe867b0728f4d29f9cfde9a230d0c321326a08023188999bd9e6581673d83e916843e84194af9114b9aa @@ -0,0 +1 @@ +module.exports={C:{"41":0.00117,"43":0.00117,"44":0.00234,"47":0.00351,"48":0.00234,"50":0.00117,"52":0.01053,"55":0.00117,"56":0.00117,"57":0.00117,"58":0.00117,"59":0.00117,"65":0.01053,"66":0.00117,"72":0.00351,"75":0.00117,"77":0.00117,"78":0.01755,"81":0.00117,"84":0.00117,"85":0.00117,"87":0.00117,"89":0.00234,"90":0.00117,"92":0.00117,"95":0.00117,"96":0.00117,"98":0.00117,"99":0.00117,"101":0.00585,"102":0.00351,"103":0.00234,"104":0.00234,"105":0.00117,"106":0.00936,"107":0.00117,"108":0.00117,"109":0.00117,"110":0.01053,"111":0.00117,"112":0.00117,"113":0.01053,"114":0.00351,"115":0.35685,"116":0.00351,"117":0.00702,"118":0.00468,"119":0.03627,"120":0.02574,"121":0.44694,"122":0.07722,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 45 46 49 51 53 54 60 61 62 63 64 67 68 69 70 71 73 74 76 79 80 82 83 86 88 91 93 94 97 100 123 124 125 3.5 3.6"},D:{"11":0.00234,"25":0.00117,"31":0.00117,"33":0.00117,"38":0.00936,"39":0.00234,"40":0.00117,"42":0.00117,"43":0.01872,"44":0.00234,"46":0.00117,"47":0.00117,"49":0.00351,"50":0.00351,"52":0.00234,"53":0.00117,"55":0.00234,"56":0.00585,"57":0.00117,"58":0.08424,"59":0.01053,"60":0.01053,"62":0.00117,"63":0.01053,"64":0.00702,"65":0.00234,"66":0.00468,"67":0.00234,"68":0.01638,"69":0.00468,"70":0.01404,"71":0.00585,"72":0.00468,"73":0.00468,"74":0.00468,"75":0.00234,"76":0.00468,"77":0.00351,"78":0.00936,"79":0.0351,"80":0.01053,"81":0.00936,"83":0.01287,"84":0.00234,"85":0.00585,"86":0.01287,"87":0.01404,"88":0.01755,"89":0.01053,"90":0.00702,"91":0.00468,"92":0.01521,"93":0.00351,"94":0.00585,"95":0.00585,"96":0.00351,"97":0.00468,"98":0.01989,"99":0.0117,"100":0.00819,"101":0.00819,"102":0.02808,"103":0.0234,"104":0.01053,"105":0.0117,"106":0.01521,"107":0.01521,"108":0.03627,"109":1.41102,"110":0.01053,"111":0.03159,"112":0.01521,"113":0.01053,"114":0.02223,"115":0.00936,"116":0.03042,"117":0.02223,"118":0.0234,"119":0.12987,"120":4.41441,"121":0.2457,"122":0.00234,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 32 34 35 36 37 41 45 48 51 54 61 123 124"},F:{"36":0.00117,"57":0.00117,"58":0.00117,"73":0.00117,"79":0.00819,"82":0.00117,"85":0.0117,"86":0.00117,"89":0.00702,"94":0.00117,"95":0.02691,"98":0.00117,"100":0.00117,"101":0.00234,"102":0.00117,"104":0.00234,"105":0.06903,"106":0.13104,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 80 81 83 84 87 88 90 91 92 93 96 97 99 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00117,"14":0.00117,"15":0.00234,"16":0.00468,"17":0.00468,"18":0.01404,"84":0.00234,"89":0.00234,"90":0.00234,"92":0.02457,"100":0.00702,"103":0.00117,"105":0.00351,"106":0.00117,"107":0.00117,"108":0.00234,"109":0.02457,"110":0.00234,"111":0.00234,"113":0.00468,"114":0.00468,"115":0.00351,"116":0.00234,"117":0.00585,"118":0.01053,"119":0.01521,"120":0.7137,"121":0.08307,_:"13 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 104 112"},E:{"7":0.00117,"13":0.00117,"14":0.02457,"15":0.00117,_:"0 4 5 6 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 17.4","5.1":0.6669,"13.1":0.00351,"14.1":0.00819,"15.1":0.00117,"15.4":0.00351,"15.5":0.00819,"15.6":0.0468,"16.0":0.00117,"16.1":0.00351,"16.2":0.00117,"16.3":0.00351,"16.4":0.01053,"16.5":0.00351,"16.6":0.01638,"17.0":0.00819,"17.1":0.00936,"17.2":0.01053,"17.3":0.00117},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00112,"5.0-5.1":0.00169,"6.0-6.1":0.00281,"7.0-7.1":0.00394,"8.1-8.4":0.00056,"9.0-9.2":0.00337,"9.3":0.01294,"10.0-10.2":0.00112,"10.3":0.02025,"11.0-11.2":0.00787,"11.3-11.4":0.00844,"12.0-12.1":0.00506,"12.2-12.5":0.10012,"13.0-13.1":0.00169,"13.2":0.01856,"13.3":0.00506,"13.4-13.7":0.0225,"14.0-14.4":0.03937,"14.5-14.8":0.06018,"15.0-15.1":0.02587,"15.2-15.3":0.02981,"15.4":0.03487,"15.5":0.04612,"15.6-15.8":0.35942,"16.0":0.10799,"16.1":0.23005,"16.2":0.10462,"16.3":0.19461,"16.4":0.04331,"16.5":0.09225,"16.6-16.7":0.75484,"17.0":0.12543,"17.1":1.29312,"17.2":1.75041,"17.3":0.11249},P:{"4":1.67431,"20":0.13272,"21":0.27565,"22":0.31649,"23":1.36804,"5.0-5.4":0.06126,"6.2-6.4":0.21439,"7.2-7.4":0.28586,"8.2":0.04084,"9.2":0.16335,"10.1":0.06126,"11.1-11.2":0.12251,"12.0":0.06126,"13.0":0.16335,"14.0":0.21439,"15.0":0.07146,"16.0":0.16335,"17.0":0.27565,"18.0":0.10209,"19.0":0.24502},I:{"0":0.12308,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00009,"4.4":0,"4.4.3-4.4.4":0.00032},A:{"11":0.02457,_:"6 7 8 9 10 5.5"},K:{"0":0.95801,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":1.00662},H:{"0":0.34},L:{"0":75.41205},R:{_:"0"},M:{"0":0.0883}}; diff --git a/.pnpm-store/v3/files/6b/d78c9dc72ee493154762702db38326eeba93b48beb3cf1657e5f19b60479d09a4304949948fd6380482b0fc4981a60a17c848b4508a30cf93eb887884f651a b/.pnpm-store/v3/files/6b/d78c9dc72ee493154762702db38326eeba93b48beb3cf1657e5f19b60479d09a4304949948fd6380482b0fc4981a60a17c848b4508a30cf93eb887884f651a new file mode 100644 index 00000000..02eba56c --- /dev/null +++ b/.pnpm-store/v3/files/6b/d78c9dc72ee493154762702db38326eeba93b48beb3cf1657e5f19b60479d09a4304949948fd6380482b0fc4981a60a17c848b4508a30cf93eb887884f651a @@ -0,0 +1,85 @@ +import fetchJwks from '../runtime/fetch_jwks.js'; +import { JWKSInvalid, JWKSNoMatchingKey } from '../util/errors.js'; +import { isJWKSLike, LocalJWKSet } from './local.js'; +function isCloudflareWorkers() { + return (typeof WebSocketPair !== 'undefined' || + (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') || + (typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel')); +} +let USER_AGENT; +if (typeof navigator === 'undefined' || !navigator.userAgent?.startsWith?.('Mozilla/5.0 ')) { + const NAME = 'jose'; + const VERSION = 'v5.2.2'; + USER_AGENT = `${NAME}/${VERSION}`; +} +class RemoteJWKSet extends LocalJWKSet { + constructor(url, options) { + super({ keys: [] }); + this._jwks = undefined; + if (!(url instanceof URL)) { + throw new TypeError('url must be an instance of URL'); + } + this._url = new URL(url.href); + this._options = { agent: options?.agent, headers: options?.headers }; + this._timeoutDuration = + typeof options?.timeoutDuration === 'number' ? options?.timeoutDuration : 5000; + this._cooldownDuration = + typeof options?.cooldownDuration === 'number' ? options?.cooldownDuration : 30000; + this._cacheMaxAge = typeof options?.cacheMaxAge === 'number' ? options?.cacheMaxAge : 600000; + } + coolingDown() { + return typeof this._jwksTimestamp === 'number' + ? Date.now() < this._jwksTimestamp + this._cooldownDuration + : false; + } + fresh() { + return typeof this._jwksTimestamp === 'number' + ? Date.now() < this._jwksTimestamp + this._cacheMaxAge + : false; + } + async getKey(protectedHeader, token) { + if (!this._jwks || !this.fresh()) { + await this.reload(); + } + try { + return await super.getKey(protectedHeader, token); + } + catch (err) { + if (err instanceof JWKSNoMatchingKey) { + if (this.coolingDown() === false) { + await this.reload(); + return super.getKey(protectedHeader, token); + } + } + throw err; + } + } + async reload() { + if (this._pendingFetch && isCloudflareWorkers()) { + this._pendingFetch = undefined; + } + const headers = new Headers(this._options.headers); + if (USER_AGENT && !headers.has('User-Agent')) { + headers.set('User-Agent', USER_AGENT); + this._options.headers = Object.fromEntries(headers.entries()); + } + this._pendingFetch || (this._pendingFetch = fetchJwks(this._url, this._timeoutDuration, this._options) + .then((json) => { + if (!isJWKSLike(json)) { + throw new JWKSInvalid('JSON Web Key Set malformed'); + } + this._jwks = { keys: json.keys }; + this._jwksTimestamp = Date.now(); + this._pendingFetch = undefined; + }) + .catch((err) => { + this._pendingFetch = undefined; + throw err; + })); + await this._pendingFetch; + } +} +export function createRemoteJWKSet(url, options) { + const set = new RemoteJWKSet(url, options); + return async (protectedHeader, token) => set.getKey(protectedHeader, token); +} diff --git a/.pnpm-store/v3/files/6c/1bf923dcee505f013738e45520b1f62f90417a93a72ff0b858911a04fc2c4baf5e28c2bcdf9221fd382cee1ed4d5a3819b969a0d9eb4a2e5d2b5ff41cc71ca b/.pnpm-store/v3/files/6c/1bf923dcee505f013738e45520b1f62f90417a93a72ff0b858911a04fc2c4baf5e28c2bcdf9221fd382cee1ed4d5a3819b969a0d9eb4a2e5d2b5ff41cc71ca new file mode 100644 index 00000000..c17d619c --- /dev/null +++ b/.pnpm-store/v3/files/6c/1bf923dcee505f013738e45520b1f62f90417a93a72ff0b858911a04fc2c4baf5e28c2bcdf9221fd382cee1ed4d5a3819b969a0d9eb4a2e5d2b5ff41cc71ca @@ -0,0 +1 @@ +module.exports={C:{"90":0.01785,"93":0.02678,"113":0.00446,"115":0.04017,"117":0.00446,"118":0.00446,"119":0.00893,"120":0.0357,"121":1.2541,"122":0.51325,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 91 92 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 116 123 124 125 3.5 3.6"},D:{"56":0.00446,"65":0.00446,"69":0.00446,"70":0.01339,"73":0.00446,"74":0.00893,"76":0.00893,"79":0.02232,"80":0.09819,"81":0.00446,"83":0.00893,"84":0.02232,"85":0.01339,"86":0.00446,"87":0.04017,"88":0.00446,"89":0.01339,"93":0.00893,"94":0.00446,"95":0.00893,"97":0.00446,"98":0.00446,"100":0.00446,"101":0.00446,"102":0.00446,"103":0.241,"106":0.00446,"108":0.00446,"109":1.30766,"110":0.00446,"111":0.00446,"112":0.06248,"113":0.0357,"114":0.02232,"115":0.00446,"116":0.06248,"117":0.02678,"118":0.14282,"119":0.70515,"120":24.33228,"121":1.48618,"122":0.00893,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64 66 67 68 71 72 75 77 78 90 91 92 96 99 104 105 107 123 124"},F:{"83":0.00446,"89":0.00893,"95":0.00446,"105":0.47754,"106":0.4106,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00446,"16":0.00893,"18":0.00446,"90":0.00446,"92":0.00446,"107":0.00446,"109":0.02232,"114":0.00446,"116":0.01339,"117":0.01785,"118":0.01339,"119":0.11604,"120":6.04737,"121":2.02174,_:"13 14 15 17 79 80 81 83 84 85 86 87 88 89 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 110 111 112 113 115"},E:{"13":0.00893,"14":0.01339,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00893,"13.1":0.02678,"14.1":0.13835,"15.1":0.00893,"15.2-15.3":0.00446,"15.4":0.02232,"15.5":0.0357,"15.6":0.19191,"16.0":0.02678,"16.1":0.09372,"16.2":0.04463,"16.3":0.16513,"16.4":0.07587,"16.5":0.05802,"16.6":0.49093,"17.0":0.10711,"17.1":0.71854,"17.2":1.30766,"17.3":0.06695},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00312,"5.0-5.1":0.00467,"6.0-6.1":0.00779,"7.0-7.1":0.01091,"8.1-8.4":0.00156,"9.0-9.2":0.00935,"9.3":0.03584,"10.0-10.2":0.00312,"10.3":0.05609,"11.0-11.2":0.02181,"11.3-11.4":0.02337,"12.0-12.1":0.01402,"12.2-12.5":0.27734,"13.0-13.1":0.00467,"13.2":0.05142,"13.3":0.01402,"13.4-13.7":0.06232,"14.0-14.4":0.10907,"14.5-14.8":0.16672,"15.0-15.1":0.07167,"15.2-15.3":0.08258,"15.4":0.0966,"15.5":0.12777,"15.6-15.8":0.99563,"16.0":0.29916,"16.1":0.63727,"16.2":0.28981,"16.3":0.53911,"16.4":0.11997,"16.5":0.25553,"16.6-16.7":2.09099,"17.0":0.34746,"17.1":3.5821,"17.2":4.84884,"17.3":0.31162},P:{"4":0.22851,"20":0.03428,"21":0.0914,"22":0.17138,"23":4.90156,"5.0-5.4":0.01143,"6.2-6.4":0.01143,"7.2-7.4":0.12568,_:"8.2 9.2 10.1 15.0","11.1-11.2":0.01143,"12.0":0.01143,"13.0":0.0457,"14.0":0.01143,"16.0":0.01143,"17.0":0.0457,"18.0":0.01143,"19.0":0.03428},I:{"0":0.01103,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.00446,_:"6 7 8 9 10 5.5"},K:{"0":0.28239,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.1052},H:{"0":0},L:{"0":33.89701},R:{_:"0"},M:{"0":0.42081}}; diff --git a/.pnpm-store/v3/files/6c/3f5d1248955254a59f7c44b07acacdd66b8fda22bd143e2603f76255ca76938c1bedcb02e139f0c21fcd0e52d75c400246fce89c1feb595a16f9553a1c3c67 b/.pnpm-store/v3/files/6c/3f5d1248955254a59f7c44b07acacdd66b8fda22bd143e2603f76255ca76938c1bedcb02e139f0c21fcd0e52d75c400246fce89c1feb595a16f9553a1c3c67 new file mode 100644 index 00000000..0586bd11 --- /dev/null +++ b/.pnpm-store/v3/files/6c/3f5d1248955254a59f7c44b07acacdd66b8fda22bd143e2603f76255ca76938c1bedcb02e139f0c21fcd0e52d75c400246fce89c1feb595a16f9553a1c3c67 @@ -0,0 +1,107 @@ +{ + "name": "jose", + "version": "5.2.2", + "description": "JWA, JWS, JWE, JWT, JWK, JWKS for Node.js, Browser, Cloudflare Workers, Deno, Bun, and other Web-interoperable runtimes", + "keywords": [ + "browser", + "bun", + "cloudflare", + "compact", + "decode", + "decrypt", + "deno", + "detached", + "ec", + "ecdsa", + "eddsa", + "edge", + "electron", + "embedded", + "encrypt", + "flattened", + "general", + "jose", + "json web token", + "jsonwebtoken", + "jwa", + "jwe", + "jwk", + "jwks", + "jws", + "jwt", + "netlify", + "next", + "nextjs", + "oct", + "okp", + "payload", + "pem", + "pkcs8", + "rsa", + "secp256k1", + "sign", + "signature", + "spki", + "validate", + "vercel", + "verify", + "webcrypto", + "workerd", + "workers", + "x509" + ], + "homepage": "https://github.com/panva/jose", + "repository": "panva/jose", + "funding": { + "url": "https://github.com/sponsors/panva" + }, + "license": "MIT", + "author": "Filip Skokan ", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/types/index.d.ts", + "bun": "./dist/browser/index.js", + "deno": "./dist/browser/index.js", + "browser": "./dist/browser/index.js", + "worker": "./dist/browser/index.js", + "import": "./dist/node/esm/index.js", + "require": "./dist/node/cjs/index.js" + }, + "./errors": { + "types": "./dist/types/util/errors.d.ts", + "bun": "./dist/browser/util/errors.js", + "deno": "./dist/browser/util/errors.js", + "browser": "./dist/browser/util/errors.js", + "worker": "./dist/browser/util/errors.js", + "import": "./dist/node/esm/util/errors.js", + "require": "./dist/node/cjs/util/errors.js" + }, + "./base64url": { + "types": "./dist/types/util/base64url.d.ts", + "bun": "./dist/browser/util/base64url.js", + "deno": "./dist/browser/util/base64url.js", + "browser": "./dist/browser/util/base64url.js", + "worker": "./dist/browser/util/base64url.js", + "import": "./dist/node/esm/util/base64url.js", + "require": "./dist/node/cjs/util/base64url.js" + }, + "./package.json": "./package.json" + }, + "main": "./dist/node/cjs/index.js", + "browser": "./dist/browser/index.js", + "types": "./dist/types/index.d.ts", + "files": [ + "dist/**/package.json", + "dist/**/*.js", + "dist/types/**/*.d.ts", + "!dist/**/*.bundle.js", + "!dist/**/*.umd.js", + "!dist/**/*.min.js", + "!dist/node/webcrypto/**/*", + "!dist/types/runtime/*", + "!dist/types/lib/*", + "!dist/deno/**/*" + ], + "deno": "./dist/browser/index.js" +} diff --git a/.pnpm-store/v3/files/6c/58879dfbd68e9af30fd8546aa84c2eeeb27dafdf09c9d5da78ab2dc13949f2e1f04dfc798374fc73945d4755eebf21f8e13faeb38a1a0fa782668e7a63894c b/.pnpm-store/v3/files/6c/58879dfbd68e9af30fd8546aa84c2eeeb27dafdf09c9d5da78ab2dc13949f2e1f04dfc798374fc73945d4755eebf21f8e13faeb38a1a0fa782668e7a63894c new file mode 100644 index 00000000..cbdebdb7 --- /dev/null +++ b/.pnpm-store/v3/files/6c/58879dfbd68e9af30fd8546aa84c2eeeb27dafdf09c9d5da78ab2dc13949f2e1f04dfc798374fc73945d4755eebf21f8e13faeb38a1a0fa782668e7a63894c @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E SC","257":"F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O y z H","513":"P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x"},C:{"1":"0 1 2 3 4 5 6 7 8 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB","513":"uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x"},E:{"1":"L G cC dC GC HC 4B eC 5B IC JC KC LC MC fC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC","129":"B C K 2B 3B FC","1026":"6B NC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB iC jC kC lC 2B QC mC 3B","513":"jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC","1026":"6B NC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"16":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"16":"A B"},O:{"1":"4B"},P:{"1":"q r s t EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD KD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"COLR/CPAL(v0) Font Formats",D:true}; diff --git a/.pnpm-store/v3/files/6c/5c75458dc9933fe2bb7f5148b177c8759296283efd11ead2c9c1f2bf94147cc321d4145c97aacbe2b824108e987cba9902595511c0fa3b436e195cececbc35 b/.pnpm-store/v3/files/6c/5c75458dc9933fe2bb7f5148b177c8759296283efd11ead2c9c1f2bf94147cc321d4145c97aacbe2b824108e987cba9902595511c0fa3b436e195cececbc35 new file mode 100644 index 00000000..6a9fe261 --- /dev/null +++ b/.pnpm-store/v3/files/6c/5c75458dc9933fe2bb7f5148b177c8759296283efd11ead2c9c1f2bf94147cc321d4145c97aacbe2b824108e987cba9902595511c0fa3b436e195cececbc35 @@ -0,0 +1,69 @@ +{ + "name": "tsconfck", + "version": "3.0.2", + "description": "A utility to work with tsconfig.json without typescript", + "license": "MIT", + "author": "dominikg", + "files": [ + "bin", + "src", + "types", + "README.md", + "LICENSE", + "package.json" + ], + "type": "module", + "bin": "bin/tsconfck.js", + "types": "types/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./types/index.d.ts", + "default": "./src/index.js" + } + } + }, + "repository": { + "type": "git", + "url": "git+https://github.com/dominikg/tsconfck.git", + "directory": "packages/tsconfck" + }, + "keywords": [ + "typescript", + "tsconfig", + "tsconfig.json", + "jsconfig", + "jsconfig.json" + ], + "bugs": { + "url": "https://github.com/dominikg/tsconfck/issues" + }, + "homepage": "https://github.com/dominikg/tsconfck/tree/main/packages/tsconfck#readme", + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + }, + "devDependencies": { + "@tsconfig/node18": "^18.2.2", + "@vitest/coverage-v8": "^1.2.2", + "esbuild": "^0.20.0", + "tiny-glob": "^0.2.9", + "typescript": "^5.3.3", + "vitest": "^1.2.2" + }, + "engines": { + "node": "^18 || >=20" + }, + "scripts": { + "check:publint": "publint --strict", + "check:types": "tsc --noEmit", + "test": "vitest run", + "test:coverage": "vitest run --coverage", + "test:watch": "vitest", + "dts-buddy": "dts-buddy -m \"tsconfck:src/index.js\"" + } +} \ No newline at end of file diff --git a/.pnpm-store/v3/files/6c/84c9373573f68cee5045e67fdedff2ffff66abdfc5b0d827bdac2306939e6adcaad15021680401cf7f4252b1269cd4ebc3edca62ec1561b7b1bd2d036bc3f6 b/.pnpm-store/v3/files/6c/84c9373573f68cee5045e67fdedff2ffff66abdfc5b0d827bdac2306939e6adcaad15021680401cf7f4252b1269cd4ebc3edca62ec1561b7b1bd2d036bc3f6 new file mode 100644 index 00000000..12172eee --- /dev/null +++ b/.pnpm-store/v3/files/6c/84c9373573f68cee5045e67fdedff2ffff66abdfc5b0d827bdac2306939e6adcaad15021680401cf7f4252b1269cd4ebc3edca62ec1561b7b1bd2d036bc3f6 @@ -0,0 +1 @@ +module.exports={C:{"46":0.00162,"57":0.00162,"60":0.00162,"61":0.00486,"72":0.00324,"82":0.00162,"85":0.00486,"102":0.00162,"103":0.00162,"106":0.02269,"115":0.16048,"116":0.00648,"118":0.00486,"119":0.00648,"120":0.01135,"121":0.25288,"122":0.08429,"123":0.00486,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 58 59 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 83 84 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 107 108 109 110 111 112 113 114 117 124 125 3.5 3.6"},D:{"11":0.00162,"33":0.00162,"43":0.00648,"47":0.00648,"49":0.00162,"51":0.00162,"57":0.00324,"58":0.02269,"67":0.01621,"68":0.01135,"70":0.00324,"74":0.00162,"76":0.00324,"78":0.00486,"79":0.00811,"80":0.00162,"83":0.00162,"84":0.00162,"86":0.00162,"87":0.00324,"88":0.00162,"89":0.00811,"90":0.00486,"91":0.00162,"94":0.00648,"96":0.00324,"97":0.00162,"98":0.00486,"99":0.04053,"100":0.04377,"101":0.00324,"102":0.00162,"103":0.00811,"104":0.00162,"105":0.00648,"106":0.00486,"107":0.00162,"108":0.00973,"109":0.56087,"111":0.04539,"112":0.01135,"113":0.00648,"114":0.01945,"115":0.00973,"116":0.00648,"117":0.04539,"118":0.03728,"119":0.11671,"120":3.97469,"121":0.30961,"122":0.00162,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 44 45 46 48 50 52 53 54 55 56 59 60 61 62 63 64 65 66 69 71 72 73 75 77 81 85 92 93 95 110 123 124"},F:{"53":0.01783,"68":0.00162,"80":0.00486,"87":0.00324,"95":0.00162,"102":0.00973,"105":0.00648,"106":0.02269,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 79 81 82 83 84 85 86 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"13":0.00486,"18":0.00811,"81":0.00162,"89":0.00162,"90":0.00162,"92":0.00324,"100":0.00162,"105":0.00162,"109":0.01135,"110":0.00973,"112":0.00162,"114":0.04377,"116":0.00162,"117":0.00811,"118":0.0389,"119":0.01783,"120":0.93208,"121":0.16696,_:"12 14 15 16 17 79 80 83 84 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 106 107 108 111 113 115"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 13.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 17.3 17.4","5.1":0.04863,"14.1":0.00162,"16.1":0.00162,"16.2":0.00648,"16.3":0.00486,"16.4":0.00162,"16.5":0.00324,"16.6":0.01297,"17.0":0.00162,"17.1":0.00324,"17.2":0.01297},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00078,"5.0-5.1":0.00118,"6.0-6.1":0.00196,"7.0-7.1":0.00274,"8.1-8.4":0.00039,"9.0-9.2":0.00235,"9.3":0.00902,"10.0-10.2":0.00078,"10.3":0.01412,"11.0-11.2":0.00549,"11.3-11.4":0.00588,"12.0-12.1":0.00353,"12.2-12.5":0.0698,"13.0-13.1":0.00118,"13.2":0.01294,"13.3":0.00353,"13.4-13.7":0.01569,"14.0-14.4":0.02745,"14.5-14.8":0.04196,"15.0-15.1":0.01804,"15.2-15.3":0.02078,"15.4":0.02431,"15.5":0.03216,"15.6-15.8":0.25058,"16.0":0.07529,"16.1":0.16038,"16.2":0.07294,"16.3":0.13568,"16.4":0.03019,"16.5":0.06431,"16.6-16.7":0.52625,"17.0":0.08745,"17.1":0.90152,"17.2":1.22033,"17.3":0.07843},P:{"4":0.06052,"20":0.04035,"21":0.11095,"22":0.18156,"23":1.7853,_:"5.0-5.4 6.2-6.4 8.2 10.1 12.0","7.2-7.4":0.03026,"9.2":0.02017,"11.1-11.2":0.03026,"13.0":0.04035,"14.0":0.02017,"15.0":0.04035,"16.0":0.09078,"17.0":0.17147,"18.0":0.02017,"19.0":0.03026},I:{"0":0.01668,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"11":0.00324,_:"6 7 8 9 10 5.5"},K:{"0":3.06889,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":6.80375},H:{"0":18.44},L:{"0":56.85767},R:{_:"0"},M:{"0":0.11731}}; diff --git a/.pnpm-store/v3/files/6c/898ae786c95b198f58e228c4c68042d957f3553f0dacedb685ea6cd4d929cea750f8a411f2311e2d5c1c49fba0e9767e740c9babf3be9ef9d8209380540159 b/.pnpm-store/v3/files/6c/898ae786c95b198f58e228c4c68042d957f3553f0dacedb685ea6cd4d929cea750f8a411f2311e2d5c1c49fba0e9767e740c9babf3be9ef9d8209380540159 new file mode 100644 index 00000000..d97b2c2c --- /dev/null +++ b/.pnpm-store/v3/files/6c/898ae786c95b198f58e228c4c68042d957f3553f0dacedb685ea6cd4d929cea750f8a411f2311e2d5c1c49fba0e9767e740c9babf3be9ef9d8209380540159 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB iC jC kC lC 2B QC mC 3B"},G:{"1":"xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC","194":"wC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"Subresource Integrity",D:true}; diff --git a/.pnpm-store/v3/files/6d/12128022233f6d3fb5b5923d63048b9e1054f45913192e0fd9492fe508c542adc15240f305b54eb6f58ccb354455e8d42053359ff98690bd42f98a59da292b-index.json b/.pnpm-store/v3/files/6d/12128022233f6d3fb5b5923d63048b9e1054f45913192e0fd9492fe508c542adc15240f305b54eb6f58ccb354455e8d42053359ff98690bd42f98a59da292b-index.json new file mode 100644 index 00000000..5175d8fa --- /dev/null +++ b/.pnpm-store/v3/files/6d/12128022233f6d3fb5b5923d63048b9e1054f45913192e0fd9492fe508c542adc15240f305b54eb6f58ccb354455e8d42053359ff98690bd42f98a59da292b-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001724927,"integrity":"sha512-wOwPpHtjnxygZkohTraXz1QrdoL1PWwEHVKEWJtpLlZVRg4jf0O3Dk7gUAaQ0iNEhd/1J3TuDeeC5M/yl+Jm1g==","mode":420,"size":1079},"dist/resolve-uri.umd.js":{"checkedAt":1708001724927,"integrity":"sha512-gTgySyQ0DmPFe2mNdIbEjRfhMUWz3Jo6zUoULy70y7QKAxoQmD5UgLbzWNNe++nVk9Zb50KifOUJBAN3koMLnw==","mode":420,"size":9866},"package.json":{"checkedAt":1708001724927,"integrity":"sha512-6MCx2HgSBvipgP3/i2HfjJAV6bIW/mj6YEFw3fKu72BqtBb1Q/txeWrJy1FDFSlCjtQuszh/iGBEmdmFWSMweg==","mode":420,"size":2063},"dist/resolve-uri.mjs.map":{"checkedAt":1708001724928,"integrity":"sha512-IsZGs5tpBiWvO4nQ6YNYHb2uF8tbpNrAUR46qeD9JdsLRzcx4DGuGvFsilAlQlmInr0z1xwSx5CcLTd1Nazw+Q==","mode":420,"size":14262},"dist/resolve-uri.umd.js.map":{"checkedAt":1708001724928,"integrity":"sha512-t1rHjiIsphkd2Km2JkV2fKsJQxK9nIr0ABGYtRiJG70GeMP4/KVTOf62qjBJGGFGLQFKPTTjYotu/Ou6JOW1tw==","mode":420,"size":14298},"README.md":{"checkedAt":1708001724928,"integrity":"sha512-p4MJJQWCeDdNMVSWtscCgd2a2DWB4tCBmaCNDtVfo3nVLdojdHAHWt6TMBc6bf1qASmE1psDpLdwAuCz98qUWw==","mode":420,"size":2826},"dist/resolve-uri.mjs":{"checkedAt":1708001724928,"integrity":"sha512-FcVCiCniVkWkviHWSwia/SGngje2PelKi6UAUAHyIL9lzukqZvmo7nlakylCg5hKkdfni3UEtgPioMMyevNFpQ==","mode":420,"size":8609},"dist/types/resolve-uri.d.ts":{"checkedAt":1708001724929,"integrity":"sha512-Q9+2KeIaGY5RvKRLAKw6QiDm7dYPV+m6ID1tQ58QE7IasEOGaXxDmiu0c5EesdbOlH88KjhDZxGAk/8PjPIIsA==","mode":420,"size":150}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/6d/58c2d5793a26792782302df368367e8455c0c93f2ee0d444683edb4a1d504a6c210bdb97f4cdc640143341ec6b1da127d2385128588dbcb21f94a75e2e80ff b/.pnpm-store/v3/files/6d/58c2d5793a26792782302df368367e8455c0c93f2ee0d444683edb4a1d504a6c210bdb97f4cdc640143341ec6b1da127d2385128588dbcb21f94a75e2e80ff new file mode 100644 index 00000000..8ee1239f --- /dev/null +++ b/.pnpm-store/v3/files/6d/58c2d5793a26792782302df368367e8455c0c93f2ee0d444683edb4a1d504a6c210bdb97f4cdc640143341ec6b1da127d2385128588dbcb21f94a75e2e80ff @@ -0,0 +1 @@ +module.exports={A:{A:{"8":"J D E F SC","1924":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","8":"TC 7B VC","516":"BB CB","772":"9 I J D E F A B C K L G M N O AB q r s t WC"},D:{"1":"0 1 2 3 4 5 6 7 8 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","8":"9 I J D","516":"BB CB DB EB","772":"t","900":"E F A B C K L G M N O AB q r s"},E:{"1":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","8":"9 I XC DC","900":"J YC ZC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","8":"F B iC jC kC lC 2B","900":"C QC mC 3B"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","8":"DC nC RC","900":"oC pC"},H:{"900":"9C"},I:{"1":"H ED FD","8":"AD BD CD","900":"7B I DD RC"},J:{"1":"A","900":"D"},K:{"1":"u","8":"A B","900":"C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"900":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"classList (DOMTokenList)",D:true}; diff --git a/.pnpm-store/v3/files/6d/98d03b050c548cb4ac1c57eb72dd1c46741ab86d3154dee2b35c69e78248f04ee9825ca8388033d26de97dcf751f35f603f8317b69bdbd2e4bb4af5ac26c13 b/.pnpm-store/v3/files/6d/98d03b050c548cb4ac1c57eb72dd1c46741ab86d3154dee2b35c69e78248f04ee9825ca8388033d26de97dcf751f35f603f8317b69bdbd2e4bb4af5ac26c13 new file mode 100644 index 00000000..26610480 --- /dev/null +++ b/.pnpm-store/v3/files/6d/98d03b050c548cb4ac1c57eb72dd1c46741ab86d3154dee2b35c69e78248f04ee9825ca8388033d26de97dcf751f35f603f8317b69bdbd2e4bb4af5ac26c13 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB VC WC","194":"MB NB OB PB QB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC"},F:{"1":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r iC jC kC lC 2B QC mC 3B"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"CSS Font Loading",D:true}; diff --git a/.pnpm-store/v3/files/6d/cfbd6486372d3b1273733db489da938c29c6b3a1ca523b70bd7e9d52a1fb24c45868b333f80db8d84e76f504a022e8e1b86cfabdacb87186a703ee683a1d35 b/.pnpm-store/v3/files/6d/cfbd6486372d3b1273733db489da938c29c6b3a1ca523b70bd7e9d52a1fb24c45868b333f80db8d84e76f504a022e8e1b86cfabdacb87186a703ee683a1d35 new file mode 100644 index 00000000..a40fa617 --- /dev/null +++ b/.pnpm-store/v3/files/6d/cfbd6486372d3b1273733db489da938c29c6b3a1ca523b70bd7e9d52a1fb24c45868b333f80db8d84e76f504a022e8e1b86cfabdacb87186a703ee683a1d35 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","4":"J D E F A SC"},B:{"1":"C K L G M","129":"0 1 2 3 4 5 6 7 8 N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","4":"9 TC 7B I VC WC","129":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"WB XB YB ZB aB bB cB dB eB fB","4":"9 I J","129":"0 1 2 3 4 5 6 7 8 D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"4":"9 I XC DC","129":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"C JB KB LB MB NB OB PB QB RB SB 2B QC mC 3B","4":"F B iC jC kC lC","129":"G M N O AB q r s t BB CB DB EB FB GB HB IB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"4":"DC nC RC","129":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"4":"9C"},I:{"4":"AD BD CD","129":"7B I H DD RC ED FD"},J:{"129":"D A"},K:{"1":"C 2B QC 3B","4":"A B","129":"u"},L:{"129":"H"},M:{"129":"1B"},N:{"1":"B","4":"A"},O:{"129":"4B"},P:{"129":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"129":"FC"},R:{"129":"SD"},S:{"1":"TD","129":"UD"}},B:1,C:"dataset & data-* attributes",D:true}; diff --git a/.pnpm-store/v3/files/6d/fb9d911d94e8cb942107738842ef19f91ebdaf1c04bb3fff86e6ffb195c8a205a94fba988cccfceaa6ffcf24a1b6e172b8c9299c865c0609db634582c2bc2a b/.pnpm-store/v3/files/6d/fb9d911d94e8cb942107738842ef19f91ebdaf1c04bb3fff86e6ffb195c8a205a94fba988cccfceaa6ffcf24a1b6e172b8c9299c865c0609db634582c2bc2a new file mode 100644 index 00000000..09c5d78e --- /dev/null +++ b/.pnpm-store/v3/files/6d/fb9d911d94e8cb942107738842ef19f91ebdaf1c04bb3fff86e6ffb195c8a205a94fba988cccfceaa6ffcf24a1b6e172b8c9299c865c0609db634582c2bc2a @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"IntersectionObserver V2",D:true}; diff --git a/.pnpm-store/v3/files/6e/4404ff60e1f8a30f409e78dce268a10c4a1215e9d11914f3b3309b04fcc73fb050cb9b6d3cbaac00ef81098bf8d3411d51485c687360a3aab0b0e864bfe51f b/.pnpm-store/v3/files/6e/4404ff60e1f8a30f409e78dce268a10c4a1215e9d11914f3b3309b04fcc73fb050cb9b6d3cbaac00ef81098bf8d3411d51485c687360a3aab0b0e864bfe51f new file mode 100644 index 00000000..38e106ed --- /dev/null +++ b/.pnpm-store/v3/files/6e/4404ff60e1f8a30f409e78dce268a10c4a1215e9d11914f3b3309b04fcc73fb050cb9b6d3cbaac00ef81098bf8d3411d51485c687360a3aab0b0e864bfe51f @@ -0,0 +1,61 @@ +{ + "name": "tar-fs", + "version": "3.0.5", + "description": "filesystem bindings for tar-stream", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0" + }, + "imports": { + "fs": { + "bare": "bare-fs", + "default": "fs" + }, + "path": { + "bare": "bare-path", + "default": "path" + } + }, + "files": [ + "index.js" + ], + "standard": { + "ignore": [ + "test/fixtures/**" + ] + }, + "keywords": [ + "tar", + "fs", + "file", + "tarball", + "directory", + "stream" + ], + "devDependencies": { + "brittle": "^3.1.3", + "rimraf": "^2.6.3", + "standard": "^17.0.1" + }, + "scripts": { + "test": "standard && brittle test/index.js" + }, + "bugs": { + "url": "https://github.com/mafintosh/tar-fs/issues" + }, + "homepage": "https://github.com/mafintosh/tar-fs", + "main": "index.js", + "directories": { + "test": "test" + }, + "author": "Mathias Buus", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/mafintosh/tar-fs.git" + } +} diff --git a/.pnpm-store/v3/files/6e/98199b722257ff00bd0aa6ebb59938e1266601b6f233d8f2ffe9a660a716018d5d946a5a7fa1b976cead8b621290112c0cf2ba579dd052398885bce0240c88 b/.pnpm-store/v3/files/6e/98199b722257ff00bd0aa6ebb59938e1266601b6f233d8f2ffe9a660a716018d5d946a5a7fa1b976cead8b621290112c0cf2ba579dd052398885bce0240c88 new file mode 100644 index 00000000..2d4fa836 --- /dev/null +++ b/.pnpm-store/v3/files/6e/98199b722257ff00bd0aa6ebb59938e1266601b6f233d8f2ffe9a660a716018d5d946a5a7fa1b976cead8b621290112c0cf2ba579dd052398885bce0240c88 @@ -0,0 +1 @@ +module.exports={C:{"78":0.01137,"102":0.00569,"114":0.00569,"115":0.11939,"119":0.01137,"120":0.0398,"121":0.50028,"122":0.05117,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 113 116 117 118 123 124 125 3.5 3.6"},D:{"79":0.02274,"85":0.02274,"87":0.01137,"91":0.00569,"93":0.06822,"96":0.01137,"99":0.00569,"100":0.00569,"103":0.08528,"105":0.02274,"106":0.01706,"107":0.04548,"109":1.05741,"112":0.02843,"114":0.13644,"115":0.16487,"116":0.57987,"117":0.09665,"118":0.41501,"119":1.86468,"120":31.3812,"121":2.4275,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 86 88 89 90 92 94 95 97 98 101 102 104 108 110 111 113 122 123 124"},F:{"102":0.00569,"104":0.02843,"105":0.52871,"106":0.20466,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"108":0.00569,"109":0.02274,"116":0.00569,"117":0.00569,"118":0.01706,"119":0.32973,"120":9.75546,"121":1.23365,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110 111 112 113 114 115"},E:{"9":0.00569,"14":0.15918,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 16.0 17.4","13.1":0.06822,"14.1":1.2507,"15.1":0.00569,"15.2-15.3":0.0398,"15.4":0.07959,"15.5":0.00569,"15.6":0.23309,"16.1":0.03411,"16.2":0.09096,"16.3":0.23309,"16.4":0.03411,"16.5":0.07959,"16.6":0.75611,"17.0":0.02274,"17.1":0.23877,"17.2":0.32405,"17.3":0.03411},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00239,"5.0-5.1":0.00359,"6.0-6.1":0.00598,"7.0-7.1":0.00837,"8.1-8.4":0.0012,"9.0-9.2":0.00717,"9.3":0.02749,"10.0-10.2":0.00239,"10.3":0.04303,"11.0-11.2":0.01673,"11.3-11.4":0.01793,"12.0-12.1":0.01076,"12.2-12.5":0.21276,"13.0-13.1":0.00359,"13.2":0.03944,"13.3":0.01076,"13.4-13.7":0.04781,"14.0-14.4":0.08367,"14.5-14.8":0.12789,"15.0-15.1":0.05498,"15.2-15.3":0.06335,"15.4":0.07411,"15.5":0.09801,"15.6-15.8":0.76377,"16.0":0.22949,"16.1":0.48886,"16.2":0.22232,"16.3":0.41356,"16.4":0.09203,"16.5":0.19602,"16.6-16.7":1.60403,"17.0":0.26654,"17.1":2.74789,"17.2":3.71963,"17.3":0.23905},P:{"20":0.02122,"21":0.01061,"22":0.04245,"23":6.4311,_:"4 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0","7.2-7.4":0.01061,"18.0":0.01061,"19.0":0.01061},I:{"0":0.07733,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.0002},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.15966,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00863},O:{"0":0.0863},H:{"0":0},L:{"0":25.21115},R:{_:"0"},M:{"0":0.36246}}; diff --git a/.pnpm-store/v3/files/6e/a27993bd756428862464c56d51eb5341f33d5bb45d2d2864af430c26f8f177ef7c4accf3446e8e3bd084a7a578d3bb33b5481955bc1ed527d63546e2b6b514 b/.pnpm-store/v3/files/6e/a27993bd756428862464c56d51eb5341f33d5bb45d2d2864af430c26f8f177ef7c4accf3446e8e3bd084a7a578d3bb33b5481955bc1ed527d63546e2b6b514 new file mode 100644 index 00000000..022fc916 --- /dev/null +++ b/.pnpm-store/v3/files/6e/a27993bd756428862464c56d51eb5341f33d5bb45d2d2864af430c26f8f177ef7c4accf3446e8e3bd084a7a578d3bb33b5481955bc1ed527d63546e2b6b514 @@ -0,0 +1,97 @@ +import { createSecretKey, generateKeyPair as generateKeyPairCb } from 'node:crypto'; +import { promisify } from 'node:util'; +import random from './random.js'; +import { JOSENotSupported } from '../util/errors.js'; +const generate = promisify(generateKeyPairCb); +export async function generateSecret(alg, options) { + let length; + switch (alg) { + case 'HS256': + case 'HS384': + case 'HS512': + case 'A128CBC-HS256': + case 'A192CBC-HS384': + case 'A256CBC-HS512': + length = parseInt(alg.slice(-3), 10); + break; + case 'A128KW': + case 'A192KW': + case 'A256KW': + case 'A128GCMKW': + case 'A192GCMKW': + case 'A256GCMKW': + case 'A128GCM': + case 'A192GCM': + case 'A256GCM': + length = parseInt(alg.slice(1, 4), 10); + break; + default: + throw new JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value'); + } + return createSecretKey(random(new Uint8Array(length >> 3))); +} +export async function generateKeyPair(alg, options) { + switch (alg) { + case 'RS256': + case 'RS384': + case 'RS512': + case 'PS256': + case 'PS384': + case 'PS512': + case 'RSA-OAEP': + case 'RSA-OAEP-256': + case 'RSA-OAEP-384': + case 'RSA-OAEP-512': + case 'RSA1_5': { + const modulusLength = options?.modulusLength ?? 2048; + if (typeof modulusLength !== 'number' || modulusLength < 2048) { + throw new JOSENotSupported('Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used'); + } + const keypair = await generate('rsa', { + modulusLength, + publicExponent: 0x10001, + }); + return keypair; + } + case 'ES256': + return generate('ec', { namedCurve: 'P-256' }); + case 'ES256K': + return generate('ec', { namedCurve: 'secp256k1' }); + case 'ES384': + return generate('ec', { namedCurve: 'P-384' }); + case 'ES512': + return generate('ec', { namedCurve: 'P-521' }); + case 'EdDSA': { + switch (options?.crv) { + case undefined: + case 'Ed25519': + return generate('ed25519'); + case 'Ed448': + return generate('ed448'); + default: + throw new JOSENotSupported('Invalid or unsupported crv option provided, supported values are Ed25519 and Ed448'); + } + } + case 'ECDH-ES': + case 'ECDH-ES+A128KW': + case 'ECDH-ES+A192KW': + case 'ECDH-ES+A256KW': { + const crv = options?.crv ?? 'P-256'; + switch (crv) { + case undefined: + case 'P-256': + case 'P-384': + case 'P-521': + return generate('ec', { namedCurve: crv }); + case 'X25519': + return generate('x25519'); + case 'X448': + return generate('x448'); + default: + throw new JOSENotSupported('Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448'); + } + } + default: + throw new JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value'); + } +} diff --git a/.pnpm-store/v3/files/6e/afa9780a1588693ec2dcf056d472197b754e9ea437cd0de179b7684d9e22772fccbe7f777484625987c7ad763a09e00f604a7c76899795f5179f07a7b7c4d6 b/.pnpm-store/v3/files/6e/afa9780a1588693ec2dcf056d472197b754e9ea437cd0de179b7684d9e22772fccbe7f777484625987c7ad763a09e00f604a7c76899795f5179f07a7b7c4d6 new file mode 100644 index 00000000..fff1c3ae --- /dev/null +++ b/.pnpm-store/v3/files/6e/afa9780a1588693ec2dcf056d472197b754e9ea437cd0de179b7684d9e22772fccbe7f777484625987c7ad763a09e00f604a7c76899795f5179f07a7b7c4d6 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D SC","66":"E F A"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s VC WC","66":"t","129":"rB sB tB uB vB u wB xB yB zB","388":"0 1 2 3 4 5 6 7 8 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T","2":"9 I J D E F A B C K L G M N O AB q r","1540":"0 1 2 3 4 5 6 7 8 U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"D E F A B C K aC bC EC 2B 3B","2":"9 I J XC DC YC ZC","513":"L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB 3B","2":"F B C iC jC kC lC 2B QC mC","1540":"u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"1":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"1":"A","2":"D"},K:{"1":"u 3B","2":"A B C 2B QC"},L:{"1":"H"},M:{"129":"1B"},N:{"1":"B","66":"A"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"TLS 1.1",D:true}; diff --git a/.pnpm-store/v3/files/6e/fd08758936afa76e45d2615b063119dc1bfa3fe47535c13b6b5ac82b3c4bed79b9817ea01ae55dd3c2e87c2831f4ae680e257febe072e24a661a00ec3389a1 b/.pnpm-store/v3/files/6e/fd08758936afa76e45d2615b063119dc1bfa3fe47535c13b6b5ac82b3c4bed79b9817ea01ae55dd3c2e87c2831f4ae680e257febe072e24a661a00ec3389a1 new file mode 100644 index 00000000..4c4dca16 --- /dev/null +++ b/.pnpm-store/v3/files/6e/fd08758936afa76e45d2615b063119dc1bfa3fe47535c13b6b5ac82b3c4bed79b9817ea01ae55dd3c2e87c2831f4ae680e257febe072e24a661a00ec3389a1 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB iC jC kC lC 2B QC mC 3B"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"Case-insensitive CSS attribute selectors",D:true}; diff --git a/.pnpm-store/v3/files/6f/0c07978604927297a460446c4ac3b0fffba59a3a52f9a83160da21e081df51f87dbe089e6a54c3b445f279eb17b0314857002a974cb0f377149d0d6e15c43a b/.pnpm-store/v3/files/6f/0c07978604927297a460446c4ac3b0fffba59a3a52f9a83160da21e081df51f87dbe089e6a54c3b445f279eb17b0314857002a974cb0f377149d0d6e15c43a new file mode 100644 index 00000000..c86983e4 --- /dev/null +++ b/.pnpm-store/v3/files/6f/0c07978604927297a460446c4ac3b0fffba59a3a52f9a83160da21e081df51f87dbe089e6a54c3b445f279eb17b0314857002a974cb0f377149d0d6e15c43a @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","1156":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","1028":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B","1028":"C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","1284":"A B","1412":"J D E F","1924":"9 I VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J","1028":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","1156":"GB HB","1412":"D E F A B C K L G M N O AB q r s t BB CB DB EB FB"},E:{"1":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","1028":"E F A B aC bC EC","1156":"D ZC","1412":"9 J YC"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B iC jC kC lC 2B QC mC","132":"G M N","1028":"C O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB 3B"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC","1028":"E rC sC tC uC vC","1156":"qC","1412":"oC pC"},H:{"2":"9C"},I:{"1":"H","2":"AD BD CD","1028":"FD","1412":"ED","1924":"7B I DD RC"},J:{"1156":"A","1412":"D"},K:{"1":"u","2":"A B 2B QC","1028":"C 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1156":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","1028":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"XMLHttpRequest advanced features",D:true}; diff --git a/.pnpm-store/v3/files/6f/2e0c0d7fbaa11c1b65a3624728d8116da1c8407585b6302870accb0e50ca8739e82325ed3b1167039e10a4951310da55ce4f8a845053c15e6fda6035d6a6a3 b/.pnpm-store/v3/files/6f/2e0c0d7fbaa11c1b65a3624728d8116da1c8407585b6302870accb0e50ca8739e82325ed3b1167039e10a4951310da55ce4f8a845053c15e6fda6035d6a6a3 new file mode 100644 index 00000000..f3459905 --- /dev/null +++ b/.pnpm-store/v3/files/6f/2e0c0d7fbaa11c1b65a3624728d8116da1c8407585b6302870accb0e50ca8739e82325ed3b1167039e10a4951310da55ce4f8a845053c15e6fda6035d6a6a3 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G VC WC","132":"M N O AB q r s t BB","260":"CB DB EB FB GB HB","516":"IB"},D:{"1":"0 1 2 3 4 5 6 7 8 LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O","1028":"AB q r s t BB CB DB EB FB GB HB IB JB KB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC"},F:{"1":"r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","1028":"G M N O AB q"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD","1028":"DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"ES6 Number",D:true}; diff --git a/.pnpm-store/v3/files/6f/9391b828690503375ed0fa50df401b1f257a2b2049025577cb68c9af43aa597bb83da9d820a8ff29ddcaf3a748b5fe8c902c6ae7ac4c9875abc5426f7e8dc3 b/.pnpm-store/v3/files/6f/9391b828690503375ed0fa50df401b1f257a2b2049025577cb68c9af43aa597bb83da9d820a8ff29ddcaf3a748b5fe8c902c6ae7ac4c9875abc5426f7e8dc3 new file mode 100644 index 00000000..1715082f --- /dev/null +++ b/.pnpm-store/v3/files/6f/9391b828690503375ed0fa50df401b1f257a2b2049025577cb68c9af43aa597bb83da9d820a8ff29ddcaf3a748b5fe8c902c6ae7ac4c9875abc5426f7e8dc3 @@ -0,0 +1 @@ +module.exports={C:{"52":0.01188,"100":0.00594,"107":0.00594,"108":0.05348,"115":0.19014,"119":0.00594,"120":0.04159,"121":3.80882,"122":1.05173,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 101 102 103 104 105 106 109 110 111 112 113 114 116 117 118 123 124 125 3.5 3.6"},D:{"38":0.00594,"49":0.03565,"76":0.10101,"81":0.01188,"85":0.01188,"87":0.01188,"90":0.00594,"92":0.01188,"93":0.1129,"97":0.00594,"103":0.04754,"108":0.00594,"109":1.67564,"111":0.01188,"113":0.00594,"114":0.05348,"116":0.11884,"117":0.01188,"118":0.01188,"119":0.13072,"120":29.5258,"121":2.11535,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 83 84 86 88 89 91 94 95 96 98 99 100 101 102 104 105 106 107 110 112 115 122 123 124"},F:{"97":0.00594,"105":1.68753,"106":1.92521,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.01188,"92":0.04754,"102":0.01188,"104":0.02377,"109":0.13072,"113":0.07725,"114":0.2258,"115":0.01188,"116":0.02971,"118":0.01188,"120":8.81199,"121":1.47362,_:"12 13 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 103 105 106 107 108 110 111 112 117 119"},E:{"12":0.01188,"14":0.95072,"15":0.01783,_:"0 4 5 6 7 8 9 10 11 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 15.2-15.3 17.4","11.1":0.14855,"12.1":0.03565,"13.1":0.04159,"14.1":0.19014,"15.1":0.01188,"15.4":0.03565,"15.5":0.04754,"15.6":0.24362,"16.0":0.02377,"16.1":0.02971,"16.2":0.10101,"16.3":0.0713,"16.4":0.06536,"16.5":0.05942,"16.6":0.64174,"17.0":0.01783,"17.1":0.80811,"17.2":1.17057,"17.3":0.01188},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00178,"5.0-5.1":0.00267,"6.0-6.1":0.00444,"7.0-7.1":0.00622,"8.1-8.4":0.00089,"9.0-9.2":0.00533,"9.3":0.02044,"10.0-10.2":0.00178,"10.3":0.032,"11.0-11.2":0.01244,"11.3-11.4":0.01333,"12.0-12.1":0.008,"12.2-12.5":0.15822,"13.0-13.1":0.00267,"13.2":0.02933,"13.3":0.008,"13.4-13.7":0.03556,"14.0-14.4":0.06222,"14.5-14.8":0.09511,"15.0-15.1":0.04089,"15.2-15.3":0.04711,"15.4":0.05511,"15.5":0.07289,"15.6-15.8":0.568,"16.0":0.17067,"16.1":0.36356,"16.2":0.16533,"16.3":0.30756,"16.4":0.06844,"16.5":0.14578,"16.6-16.7":1.19289,"17.0":0.19822,"17.1":2.04356,"17.2":2.76622,"17.3":0.17778},P:{"4":0.01216,"20":0.01216,"21":0.13377,"22":0.03648,"23":4.76717,"5.0-5.4":0.02432,_:"6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 13.0 14.0 15.0 16.0 17.0 18.0","12.0":0.01216,"19.0":0.01216},I:{"0":0.04443,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00012},A:{"11":0.01188,_:"6 7 8 9 10 5.5"},K:{"0":0.02434,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{_:"0"},H:{"0":0},L:{"0":24.00157},R:{_:"0"},M:{"0":3.26589}}; diff --git a/.pnpm-store/v3/files/6f/960f6b436dbe02dfa2c5c0259dd8bf5e4f942188d21e95418c553eccdff18ee6a5073a18c769ac84ad5279dc63f73367ba2b927429bcb7342a6b2fbb2ff92c b/.pnpm-store/v3/files/6f/960f6b436dbe02dfa2c5c0259dd8bf5e4f942188d21e95418c553eccdff18ee6a5073a18c769ac84ad5279dc63f73367ba2b927429bcb7342a6b2fbb2ff92c new file mode 100644 index 00000000..ccbeb4ee --- /dev/null +++ b/.pnpm-store/v3/files/6f/960f6b436dbe02dfa2c5c0259dd8bf5e4f942188d21e95418c553eccdff18ee6a5073a18c769ac84ad5279dc63f73367ba2b927429bcb7342a6b2fbb2ff92c @@ -0,0 +1 @@ +module.exports={C:{"41":0.00734,"52":0.00734,"67":0.01835,"78":0.01468,"88":0.00367,"102":0.00367,"103":0.00367,"104":0.00367,"107":0.02935,"108":0.00367,"110":0.00367,"111":0.00734,"113":0.00367,"115":0.11374,"118":0.00734,"119":0.01468,"120":0.03302,"121":1.05667,"122":0.22014,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 105 106 109 112 114 116 117 123 124 125 3.5 3.6"},D:{"17":0.00367,"38":0.00367,"49":0.00734,"53":0.00734,"56":0.00367,"63":0.00734,"65":0.00367,"67":0.00367,"69":0.46229,"74":0.01101,"75":0.00367,"76":0.01101,"79":0.03669,"80":0.00367,"81":0.04036,"83":0.00367,"85":0.00367,"86":0.00367,"87":0.03669,"88":0.02201,"89":0.01835,"90":0.01101,"91":0.01101,"92":0.00734,"93":0.0587,"94":0.00734,"95":0.00367,"96":0.00367,"97":0.00367,"98":0.00734,"99":0.01101,"100":0.00734,"101":0.00367,"102":0.00734,"103":0.10273,"104":0.01101,"105":0.01101,"106":0.01835,"107":0.01468,"108":0.01468,"109":0.41093,"110":0.02568,"111":0.01835,"112":0.01101,"113":0.01835,"114":0.14676,"115":0.04403,"116":0.22381,"117":0.12475,"118":0.09906,"119":4.9825,"120":13.93853,"121":1.07502,"122":0.00734,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 57 58 59 60 61 62 64 66 68 70 71 72 73 77 78 84 123 124"},F:{"46":0.00734,"95":0.01101,"104":0.00367,"105":0.46596,"106":0.3082,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00367,"92":0.00367,"106":0.00367,"107":0.00367,"108":0.00734,"109":0.02201,"110":0.00367,"111":0.00367,"112":0.00367,"113":0.00367,"114":0.00367,"115":0.00734,"116":0.00734,"117":0.02201,"118":0.01101,"119":0.17978,"120":3.33879,"121":0.47697,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105"},E:{"8":0.00734,"9":0.00367,"13":0.01101,"14":0.08072,"15":0.01101,_:"0 4 5 6 7 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.01101,"13.1":0.0587,"14.1":0.13208,"15.1":0.02201,"15.2-15.3":0.01835,"15.4":0.06237,"15.5":0.06604,"15.6":0.35222,"16.0":0.06971,"16.1":0.07338,"16.2":0.08806,"16.3":0.27884,"16.4":0.05137,"16.5":0.11741,"16.6":0.59438,"17.0":0.10273,"17.1":0.63107,"17.2":0.87689,"17.3":0.0477,"17.4":0.00367},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00538,"5.0-5.1":0.00807,"6.0-6.1":0.01344,"7.0-7.1":0.01882,"8.1-8.4":0.00269,"9.0-9.2":0.01613,"9.3":0.06184,"10.0-10.2":0.00538,"10.3":0.0968,"11.0-11.2":0.03764,"11.3-11.4":0.04033,"12.0-12.1":0.0242,"12.2-12.5":0.4786,"13.0-13.1":0.00807,"13.2":0.08873,"13.3":0.0242,"13.4-13.7":0.10755,"14.0-14.4":0.18821,"14.5-14.8":0.2877,"15.0-15.1":0.12368,"15.2-15.3":0.14251,"15.4":0.1667,"15.5":0.22048,"15.6-15.8":1.71813,"16.0":0.51624,"16.1":1.09971,"16.2":0.50011,"16.3":0.93032,"16.4":0.20704,"16.5":0.44096,"16.6-16.7":3.60834,"17.0":0.5996,"17.1":6.1815,"17.2":8.36747,"17.3":0.53776},P:{"4":0.03169,"20":0.05281,"21":0.09506,"22":0.11619,"23":3.69682,_:"5.0-5.4 8.2 9.2 10.1 14.0 15.0","6.2-6.4":0.01056,"7.2-7.4":0.02112,"11.1-11.2":0.01056,"12.0":0.01056,"13.0":0.01056,"16.0":0.02112,"17.0":0.01056,"18.0":0.03169,"19.0":0.05281},I:{"0":0.10715,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00008,"4.4":0,"4.4.3-4.4.4":0.00028},A:{"8":0.00378,"9":0.06798,"11":0.05665,_:"6 7 10 5.5"},K:{"0":0.20525,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.02532},H:{"0":0.01},L:{"0":35.2873},R:{_:"0"},M:{"0":0.31655}}; diff --git a/.pnpm-store/v3/files/6f/a1c720dd98c8a2e65f9b3d6fc54bd5064d3401a239ecd15eff53741454635a734377669228a5525a1026c5593d51020715fd2397f230187dbcc28b21105a2b b/.pnpm-store/v3/files/6f/a1c720dd98c8a2e65f9b3d6fc54bd5064d3401a239ecd15eff53741454635a734377669228a5525a1026c5593d51020715fd2397f230187dbcc28b21105a2b new file mode 100644 index 00000000..fd98ad24 --- /dev/null +++ b/.pnpm-store/v3/files/6f/a1c720dd98c8a2e65f9b3d6fc54bd5064d3401a239ecd15eff53741454635a734377669228a5525a1026c5593d51020715fd2397f230187dbcc28b21105a2b @@ -0,0 +1,2205 @@ +var __accessCheck = (obj, member, msg) => { + if (!member.has(obj)) + throw TypeError("Cannot " + msg); +}; +var __privateGet = (obj, member, getter) => { + __accessCheck(obj, member, "read from private field"); + return getter ? getter.call(obj) : member.get(obj); +}; +var __privateAdd = (obj, member, value) => { + if (member.has(obj)) + throw TypeError("Cannot add the same private member more than once"); + member instanceof WeakSet ? member.add(obj) : member.set(obj, value); +}; +var __privateSet = (obj, member, value, setter) => { + __accessCheck(obj, member, "write to private field"); + setter ? setter.call(obj, value) : member.set(obj, value); + return value; +}; +var __privateMethod = (obj, member, method) => { + __accessCheck(obj, member, "access private method"); + return method; +}; + +// src/comments.ts +import ts2 from "typescript"; + +// src/tokens.ts +import ts from "typescript"; +function forEachToken(node, callback, sourceFile = node.getSourceFile()) { + const queue = []; + while (true) { + if (ts.isTokenKind(node.kind)) { + callback(node); + } else if ( + // eslint-disable-next-line deprecation/deprecation -- need for support of TS < 4.7 + node.kind !== ts.SyntaxKind.JSDocComment + ) { + const children = node.getChildren(sourceFile); + if (children.length === 1) { + node = children[0]; + continue; + } + for (let i = children.length - 1; i >= 0; --i) { + queue.push(children[i]); + } + } + if (queue.length === 0) { + break; + } + node = queue.pop(); + } +} + +// src/comments.ts +function canHaveTrailingTrivia(token) { + switch (token.kind) { + case ts2.SyntaxKind.CloseBraceToken: + return token.parent.kind !== ts2.SyntaxKind.JsxExpression || !isJsxElementOrFragment(token.parent.parent); + case ts2.SyntaxKind.GreaterThanToken: + switch (token.parent.kind) { + case ts2.SyntaxKind.JsxOpeningElement: + return token.end !== token.parent.end; + case ts2.SyntaxKind.JsxOpeningFragment: + return false; + case ts2.SyntaxKind.JsxSelfClosingElement: + return token.end !== token.parent.end || // if end is not equal, this is part of the type arguments list + !isJsxElementOrFragment(token.parent.parent); + case ts2.SyntaxKind.JsxClosingElement: + case ts2.SyntaxKind.JsxClosingFragment: + return !isJsxElementOrFragment(token.parent.parent.parent); + } + } + return true; +} +function isJsxElementOrFragment(node) { + return node.kind === ts2.SyntaxKind.JsxElement || node.kind === ts2.SyntaxKind.JsxFragment; +} +function forEachComment(node, callback, sourceFile = node.getSourceFile()) { + const fullText = sourceFile.text; + const notJsx = sourceFile.languageVariant !== ts2.LanguageVariant.JSX; + return forEachToken( + node, + (token) => { + if (token.pos === token.end) { + return; + } + if (token.kind !== ts2.SyntaxKind.JsxText) { + ts2.forEachLeadingCommentRange( + fullText, + // skip shebang at position 0 + token.pos === 0 ? (ts2.getShebang(fullText) ?? "").length : token.pos, + commentCallback + ); + } + if (notJsx || canHaveTrailingTrivia(token)) { + return ts2.forEachTrailingCommentRange( + fullText, + token.end, + commentCallback + ); + } + }, + sourceFile + ); + function commentCallback(pos, end, kind) { + callback(fullText, { end, kind, pos }); + } +} + +// src/compilerOptions.ts +import ts3 from "typescript"; +function isCompilerOptionEnabled(options, option) { + switch (option) { + case "stripInternal": + case "declarationMap": + case "emitDeclarationOnly": + return options[option] === true && isCompilerOptionEnabled(options, "declaration"); + case "declaration": + return options.declaration || isCompilerOptionEnabled(options, "composite"); + case "incremental": + return options.incremental === void 0 ? isCompilerOptionEnabled(options, "composite") : options.incremental; + case "skipDefaultLibCheck": + return options.skipDefaultLibCheck || isCompilerOptionEnabled(options, "skipLibCheck"); + case "suppressImplicitAnyIndexErrors": + return options.suppressImplicitAnyIndexErrors === true && isCompilerOptionEnabled(options, "noImplicitAny"); + case "allowSyntheticDefaultImports": + return options.allowSyntheticDefaultImports !== void 0 ? options.allowSyntheticDefaultImports : isCompilerOptionEnabled(options, "esModuleInterop") || options.module === ts3.ModuleKind.System; + case "noUncheckedIndexedAccess": + return options.noUncheckedIndexedAccess === true && isCompilerOptionEnabled(options, "strictNullChecks"); + case "allowJs": + return options.allowJs === void 0 ? isCompilerOptionEnabled(options, "checkJs") : options.allowJs; + case "noImplicitAny": + case "noImplicitThis": + case "strictNullChecks": + case "strictFunctionTypes": + case "strictPropertyInitialization": + case "alwaysStrict": + case "strictBindCallApply": + return isStrictCompilerOptionEnabled( + options, + option + ); + } + return options[option] === true; +} +function isStrictCompilerOptionEnabled(options, option) { + return (options.strict ? options[option] !== false : options[option] === true) && (option !== "strictPropertyInitialization" || isStrictCompilerOptionEnabled(options, "strictNullChecks")); +} + +// src/flags.ts +import ts4 from "typescript"; +function isFlagSet(allFlags, flag) { + return (allFlags & flag) !== 0; +} +function isFlagSetOnObject(obj, flag) { + return isFlagSet(obj.flags, flag); +} +function isModifierFlagSet(node, flag) { + return isFlagSet(ts4.getCombinedModifierFlags(node), flag); +} +var isNodeFlagSet = isFlagSetOnObject; +function isObjectFlagSet(objectType, flag) { + return isFlagSet(objectType.objectFlags, flag); +} +var isSymbolFlagSet = isFlagSetOnObject; +var isTypeFlagSet = isFlagSetOnObject; + +// src/modifiers.ts +function includesModifier(modifiers, ...kinds) { + if (modifiers === void 0) { + return false; + } + for (const modifier of modifiers) { + if (kinds.includes(modifier.kind)) { + return true; + } + } + return false; +} + +// src/nodes/typeGuards/compound.ts +import ts8 from "typescript"; + +// src/nodes/typeGuards/single.ts +import ts5 from "typescript"; +function isAbstractKeyword(node) { + return node.kind === ts5.SyntaxKind.AbstractKeyword; +} +function isAccessorKeyword(node) { + return node.kind === ts5.SyntaxKind.AccessorKeyword; +} +function isAnyKeyword(node) { + return node.kind === ts5.SyntaxKind.AnyKeyword; +} +function isAssertKeyword(node) { + return node.kind === ts5.SyntaxKind.AssertKeyword; +} +function isAssertsKeyword(node) { + return node.kind === ts5.SyntaxKind.AssertsKeyword; +} +function isAsyncKeyword(node) { + return node.kind === ts5.SyntaxKind.AsyncKeyword; +} +function isAwaitKeyword(node) { + return node.kind === ts5.SyntaxKind.AwaitKeyword; +} +function isBigIntKeyword(node) { + return node.kind === ts5.SyntaxKind.BigIntKeyword; +} +function isBooleanKeyword(node) { + return node.kind === ts5.SyntaxKind.BooleanKeyword; +} +function isColonToken(node) { + return node.kind === ts5.SyntaxKind.ColonToken; +} +function isConstKeyword(node) { + return node.kind === ts5.SyntaxKind.ConstKeyword; +} +function isDeclareKeyword(node) { + return node.kind === ts5.SyntaxKind.DeclareKeyword; +} +function isDefaultKeyword(node) { + return node.kind === ts5.SyntaxKind.DefaultKeyword; +} +function isDotToken(node) { + return node.kind === ts5.SyntaxKind.DotToken; +} +function isEndOfFileToken(node) { + return node.kind === ts5.SyntaxKind.EndOfFileToken; +} +function isEqualsGreaterThanToken(node) { + return node.kind === ts5.SyntaxKind.EqualsGreaterThanToken; +} +function isEqualsToken(node) { + return node.kind === ts5.SyntaxKind.EqualsToken; +} +function isExclamationToken(node) { + return node.kind === ts5.SyntaxKind.ExclamationToken; +} +function isExportKeyword(node) { + return node.kind === ts5.SyntaxKind.ExportKeyword; +} +function isFalseKeyword(node) { + return node.kind === ts5.SyntaxKind.FalseKeyword; +} +function isFalseLiteral(node) { + return node.kind === ts5.SyntaxKind.FalseKeyword; +} +function isImportExpression(node) { + return node.kind === ts5.SyntaxKind.ImportKeyword; +} +function isImportKeyword(node) { + return node.kind === ts5.SyntaxKind.ImportKeyword; +} +function isInKeyword(node) { + return node.kind === ts5.SyntaxKind.InKeyword; +} +function isInputFiles(node) { + return node.kind === ts5.SyntaxKind.InputFiles; +} +function isJSDocText(node) { + return node.kind === ts5.SyntaxKind.JSDocText; +} +function isJsonMinusNumericLiteral(node) { + return node.kind === ts5.SyntaxKind.PrefixUnaryExpression; +} +function isNeverKeyword(node) { + return node.kind === ts5.SyntaxKind.NeverKeyword; +} +function isNullKeyword(node) { + return node.kind === ts5.SyntaxKind.NullKeyword; +} +function isNullLiteral(node) { + return node.kind === ts5.SyntaxKind.NullKeyword; +} +function isNumberKeyword(node) { + return node.kind === ts5.SyntaxKind.NumberKeyword; +} +function isObjectKeyword(node) { + return node.kind === ts5.SyntaxKind.ObjectKeyword; +} +function isOutKeyword(node) { + return node.kind === ts5.SyntaxKind.OutKeyword; +} +function isOverrideKeyword(node) { + return node.kind === ts5.SyntaxKind.OverrideKeyword; +} +function isPrivateKeyword(node) { + return node.kind === ts5.SyntaxKind.PrivateKeyword; +} +function isProtectedKeyword(node) { + return node.kind === ts5.SyntaxKind.ProtectedKeyword; +} +function isPublicKeyword(node) { + return node.kind === ts5.SyntaxKind.PublicKeyword; +} +function isQuestionDotToken(node) { + return node.kind === ts5.SyntaxKind.QuestionDotToken; +} +function isQuestionToken(node) { + return node.kind === ts5.SyntaxKind.QuestionToken; +} +function isReadonlyKeyword(node) { + return node.kind === ts5.SyntaxKind.ReadonlyKeyword; +} +function isStaticKeyword(node) { + return node.kind === ts5.SyntaxKind.StaticKeyword; +} +function isStringKeyword(node) { + return node.kind === ts5.SyntaxKind.StringKeyword; +} +function isSuperExpression(node) { + return node.kind === ts5.SyntaxKind.SuperKeyword; +} +function isSuperKeyword(node) { + return node.kind === ts5.SyntaxKind.SuperKeyword; +} +function isSymbolKeyword(node) { + return node.kind === ts5.SyntaxKind.SymbolKeyword; +} +function isSyntaxList(node) { + return node.kind === ts5.SyntaxKind.SyntaxList; +} +function isThisExpression(node) { + return node.kind === ts5.SyntaxKind.ThisKeyword; +} +function isThisKeyword(node) { + return node.kind === ts5.SyntaxKind.ThisKeyword; +} +function isTrueKeyword(node) { + return node.kind === ts5.SyntaxKind.TrueKeyword; +} +function isTrueLiteral(node) { + return node.kind === ts5.SyntaxKind.TrueKeyword; +} +function isUndefinedKeyword(node) { + return node.kind === ts5.SyntaxKind.UndefinedKeyword; +} +function isUnknownKeyword(node) { + return node.kind === ts5.SyntaxKind.UnknownKeyword; +} +function isUnparsedPrologue(node) { + return node.kind === ts5.SyntaxKind.UnparsedPrologue; +} +function isUnparsedSyntheticReference(node) { + return node.kind === ts5.SyntaxKind.UnparsedSyntheticReference; +} +function isVoidKeyword(node) { + return node.kind === ts5.SyntaxKind.VoidKeyword; +} + +// src/nodes/typeGuards/union.ts +import ts7 from "typescript"; + +// src/utils.ts +import ts6 from "typescript"; +var [tsMajor, tsMinor] = ts6.versionMajorMinor.split(".").map((raw) => Number.parseInt(raw, 10)); +function isTsVersionAtLeast(major, minor = 0) { + return tsMajor > major || tsMajor === major && tsMinor >= minor; +} + +// src/nodes/typeGuards/union.ts +function isAccessExpression(node) { + return ts7.isPropertyAccessExpression(node) || ts7.isElementAccessExpression(node); +} +function isAccessibilityModifier(node) { + return isPublicKeyword(node) || isPrivateKeyword(node) || isProtectedKeyword(node); +} +function isAccessorDeclaration(node) { + return ts7.isGetAccessorDeclaration(node) || ts7.isSetAccessorDeclaration(node); +} +function isArrayBindingElement(node) { + return ts7.isBindingElement(node) || ts7.isOmittedExpression(node); +} +function isArrayBindingOrAssignmentPattern(node) { + return ts7.isArrayBindingPattern(node) || ts7.isArrayLiteralExpression(node); +} +function isAssignmentPattern(node) { + return ts7.isObjectLiteralExpression(node) || ts7.isArrayLiteralExpression(node); +} +function isBindingOrAssignmentElementRestIndicator(node) { + if (ts7.isSpreadElement(node) || ts7.isSpreadAssignment(node)) { + return true; + } + if (isTsVersionAtLeast(4, 4)) { + return ts7.isDotDotDotToken(node); + } + return false; +} +function isBindingOrAssignmentElementTarget(node) { + return isBindingOrAssignmentPattern(node) || ts7.isIdentifier(node) || ts7.isPropertyAccessExpression(node) || ts7.isElementAccessExpression(node) || ts7.isOmittedExpression(node); +} +function isBindingOrAssignmentPattern(node) { + return isObjectBindingOrAssignmentPattern(node) || isArrayBindingOrAssignmentPattern(node); +} +function isBindingPattern(node) { + return ts7.isObjectBindingPattern(node) || ts7.isArrayBindingPattern(node); +} +function isBlockLike(node) { + return ts7.isSourceFile(node) || ts7.isBlock(node) || ts7.isModuleBlock(node) || ts7.isCaseOrDefaultClause(node); +} +function isBooleanLiteral(node) { + return isTrueLiteral(node) || isFalseLiteral(node); +} +function isClassLikeDeclaration(node) { + return ts7.isClassDeclaration(node) || ts7.isClassExpression(node); +} +function isClassMemberModifier(node) { + return isAccessibilityModifier(node) || isReadonlyKeyword(node) || isStaticKeyword(node) || isAccessorKeyword(node); +} +function isDeclarationName(node) { + return ts7.isIdentifier(node) || ts7.isPrivateIdentifier(node) || ts7.isStringLiteralLike(node) || ts7.isNumericLiteral(node) || ts7.isComputedPropertyName(node) || ts7.isElementAccessExpression(node) || isBindingPattern(node) || isEntityNameExpression(node); +} +function isDeclarationWithTypeParameterChildren(node) { + return isSignatureDeclaration(node) || // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5 + isClassLikeDeclaration(node) || ts7.isInterfaceDeclaration(node) || ts7.isTypeAliasDeclaration(node) || ts7.isJSDocTemplateTag(node); +} +function isDeclarationWithTypeParameters(node) { + return isDeclarationWithTypeParameterChildren(node) || ts7.isJSDocTypedefTag(node) || ts7.isJSDocCallbackTag(node) || ts7.isJSDocSignature(node); +} +function isDestructuringPattern(node) { + return isBindingPattern(node) || ts7.isObjectLiteralExpression(node) || ts7.isArrayLiteralExpression(node); +} +function isEntityNameExpression(node) { + return ts7.isIdentifier(node) || isPropertyAccessEntityNameExpression(node); +} +function isEntityNameOrEntityNameExpression(node) { + return ts7.isEntityName(node) || isEntityNameExpression(node); +} +function isForInOrOfStatement(node) { + return ts7.isForInStatement(node) || ts7.isForOfStatement(node); +} +function isFunctionLikeDeclaration(node) { + return ts7.isFunctionDeclaration(node) || ts7.isMethodDeclaration(node) || ts7.isGetAccessorDeclaration(node) || ts7.isSetAccessorDeclaration(node) || ts7.isConstructorDeclaration(node) || ts7.isFunctionExpression(node) || ts7.isArrowFunction(node); +} +function hasDecorators(node) { + return ts7.isParameter(node) || ts7.isPropertyDeclaration(node) || ts7.isMethodDeclaration(node) || ts7.isGetAccessorDeclaration(node) || ts7.isSetAccessorDeclaration(node) || ts7.isClassExpression(node) || ts7.isClassDeclaration(node); +} +function hasExpressionInitializer(node) { + return ts7.isVariableDeclaration(node) || ts7.isParameter(node) || ts7.isBindingElement(node) || ts7.isPropertyDeclaration(node) || ts7.isPropertyAssignment(node) || ts7.isEnumMember(node); +} +function hasInitializer(node) { + return hasExpressionInitializer(node) || ts7.isForStatement(node) || ts7.isForInStatement(node) || ts7.isForOfStatement(node) || ts7.isJsxAttribute(node); +} +function hasJSDoc(node) { + if ( + // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5 + isAccessorDeclaration(node) || ts7.isArrowFunction(node) || ts7.isBlock(node) || ts7.isBreakStatement(node) || ts7.isCallSignatureDeclaration(node) || ts7.isCaseClause(node) || // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5 + isClassLikeDeclaration(node) || ts7.isConstructorDeclaration(node) || ts7.isConstructorTypeNode(node) || ts7.isConstructSignatureDeclaration(node) || ts7.isContinueStatement(node) || ts7.isDebuggerStatement(node) || ts7.isDoStatement(node) || ts7.isEmptyStatement(node) || isEndOfFileToken(node) || ts7.isEnumDeclaration(node) || ts7.isEnumMember(node) || ts7.isExportAssignment(node) || ts7.isExportDeclaration(node) || ts7.isExportSpecifier(node) || ts7.isExpressionStatement(node) || ts7.isForInStatement(node) || ts7.isForOfStatement(node) || ts7.isForStatement(node) || ts7.isFunctionDeclaration(node) || ts7.isFunctionExpression(node) || ts7.isFunctionTypeNode(node) || ts7.isIfStatement(node) || ts7.isImportDeclaration(node) || ts7.isImportEqualsDeclaration(node) || ts7.isIndexSignatureDeclaration(node) || ts7.isInterfaceDeclaration(node) || ts7.isJSDocFunctionType(node) || ts7.isLabeledStatement(node) || ts7.isMethodDeclaration(node) || ts7.isMethodSignature(node) || ts7.isModuleDeclaration(node) || ts7.isNamedTupleMember(node) || ts7.isNamespaceExportDeclaration(node) || ts7.isParameter(node) || ts7.isParenthesizedExpression(node) || ts7.isPropertyAssignment(node) || ts7.isPropertyDeclaration(node) || ts7.isPropertySignature(node) || ts7.isReturnStatement(node) || ts7.isShorthandPropertyAssignment(node) || ts7.isSpreadAssignment(node) || ts7.isSwitchStatement(node) || ts7.isThrowStatement(node) || ts7.isTryStatement(node) || ts7.isTypeAliasDeclaration(node) || ts7.isVariableDeclaration(node) || ts7.isVariableStatement(node) || ts7.isWhileStatement(node) || ts7.isWithStatement(node) + ) { + return true; + } + if (isTsVersionAtLeast(4, 4) && ts7.isClassStaticBlockDeclaration(node)) { + return true; + } + if (isTsVersionAtLeast(5, 0) && (ts7.isBinaryExpression(node) || ts7.isElementAccessExpression(node) || ts7.isIdentifier(node) || ts7.isJSDocSignature(node) || ts7.isObjectLiteralExpression(node) || ts7.isPropertyAccessExpression(node) || ts7.isTypeParameterDeclaration(node))) { + return true; + } + return false; +} +function hasModifiers(node) { + return ts7.isTypeParameterDeclaration(node) || ts7.isParameter(node) || ts7.isConstructorTypeNode(node) || ts7.isPropertySignature(node) || ts7.isPropertyDeclaration(node) || ts7.isMethodSignature(node) || ts7.isMethodDeclaration(node) || ts7.isConstructorDeclaration(node) || ts7.isGetAccessorDeclaration(node) || ts7.isSetAccessorDeclaration(node) || ts7.isIndexSignatureDeclaration(node) || ts7.isFunctionExpression(node) || ts7.isArrowFunction(node) || ts7.isClassExpression(node) || ts7.isVariableStatement(node) || ts7.isFunctionDeclaration(node) || ts7.isClassDeclaration(node) || ts7.isInterfaceDeclaration(node) || ts7.isTypeAliasDeclaration(node) || ts7.isEnumDeclaration(node) || ts7.isModuleDeclaration(node) || ts7.isImportEqualsDeclaration(node) || ts7.isImportDeclaration(node) || ts7.isExportAssignment(node) || ts7.isExportDeclaration(node); +} +function hasType(node) { + return isSignatureDeclaration(node) || ts7.isVariableDeclaration(node) || ts7.isParameter(node) || ts7.isPropertySignature(node) || ts7.isPropertyDeclaration(node) || ts7.isTypePredicateNode(node) || ts7.isParenthesizedTypeNode(node) || ts7.isTypeOperatorNode(node) || ts7.isMappedTypeNode(node) || ts7.isAssertionExpression(node) || ts7.isTypeAliasDeclaration(node) || ts7.isJSDocTypeExpression(node) || ts7.isJSDocNonNullableType(node) || ts7.isJSDocNullableType(node) || ts7.isJSDocOptionalType(node) || ts7.isJSDocVariadicType(node); +} +function hasTypeArguments(node) { + return ts7.isCallExpression(node) || ts7.isNewExpression(node) || ts7.isTaggedTemplateExpression(node) || ts7.isJsxOpeningElement(node) || ts7.isJsxSelfClosingElement(node); +} +function isJSDocComment(node) { + if (isJSDocText(node)) { + return true; + } + if (isTsVersionAtLeast(4, 4)) { + return ts7.isJSDocLink(node) || ts7.isJSDocLinkCode(node) || ts7.isJSDocLinkPlain(node); + } + return false; +} +function isJSDocNamespaceBody(node) { + return ts7.isIdentifier(node) || isJSDocNamespaceDeclaration(node); +} +function isJSDocTypeReferencingNode(node) { + return ts7.isJSDocVariadicType(node) || ts7.isJSDocOptionalType(node) || ts7.isJSDocNullableType(node) || ts7.isJSDocNonNullableType(node); +} +function isJsonObjectExpression(node) { + return ts7.isObjectLiteralExpression(node) || ts7.isArrayLiteralExpression(node) || isJsonMinusNumericLiteral(node) || ts7.isNumericLiteral(node) || ts7.isStringLiteral(node) || isBooleanLiteral(node) || isNullLiteral(node); +} +function isJsxAttributeLike(node) { + return ts7.isJsxAttribute(node) || ts7.isJsxSpreadAttribute(node); +} +function isJsxAttributeValue(node) { + return ts7.isStringLiteral(node) || ts7.isJsxExpression(node) || ts7.isJsxElement(node) || ts7.isJsxSelfClosingElement(node) || ts7.isJsxFragment(node); +} +function isJsxChild(node) { + return ts7.isJsxText(node) || ts7.isJsxExpression(node) || ts7.isJsxElement(node) || ts7.isJsxSelfClosingElement(node) || ts7.isJsxFragment(node); +} +function isJsxTagNameExpression(node) { + return ts7.isIdentifier(node) || isThisExpression(node) || isJsxTagNamePropertyAccess(node); +} +function isLiteralToken(node) { + return ts7.isNumericLiteral(node) || ts7.isBigIntLiteral(node) || ts7.isStringLiteral(node) || ts7.isJsxText(node) || ts7.isRegularExpressionLiteral(node) || ts7.isNoSubstitutionTemplateLiteral(node); +} +function isModuleBody(node) { + return isNamespaceBody(node) || isJSDocNamespaceBody(node); +} +function isModuleName(node) { + return ts7.isIdentifier(node) || ts7.isStringLiteral(node); +} +function isModuleReference(node) { + return ts7.isEntityName(node) || ts7.isExternalModuleReference(node); +} +function isNamedImportBindings(node) { + return ts7.isNamespaceImport(node) || ts7.isNamedImports(node); +} +function isNamedImportsOrExports(node) { + return ts7.isNamedImports(node) || ts7.isNamedExports(node); +} +function isNamespaceBody(node) { + return ts7.isModuleBlock(node) || isNamespaceDeclaration(node); +} +function isObjectBindingOrAssignmentElement(node) { + return ts7.isBindingElement(node) || ts7.isPropertyAssignment(node) || ts7.isShorthandPropertyAssignment(node) || ts7.isSpreadAssignment(node); +} +function isObjectBindingOrAssignmentPattern(node) { + return ts7.isObjectBindingPattern(node) || ts7.isObjectLiteralExpression(node); +} +function isObjectTypeDeclaration(node) { + return ( + // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5 + isClassLikeDeclaration(node) || ts7.isInterfaceDeclaration(node) || ts7.isTypeLiteralNode(node) + ); +} +function isParameterPropertyModifier(node) { + return isAccessibilityModifier(node) || isReadonlyKeyword(node); +} +function isPropertyNameLiteral(node) { + return ts7.isIdentifier(node) || ts7.isStringLiteralLike(node) || ts7.isNumericLiteral(node); +} +function isPseudoLiteralToken(node) { + return ts7.isTemplateHead(node) || ts7.isTemplateMiddle(node) || ts7.isTemplateTail(node); +} +function isSignatureDeclaration(node) { + return ts7.isCallSignatureDeclaration(node) || ts7.isConstructSignatureDeclaration(node) || ts7.isMethodSignature(node) || ts7.isIndexSignatureDeclaration(node) || ts7.isFunctionTypeNode(node) || ts7.isConstructorTypeNode(node) || ts7.isJSDocFunctionType(node) || ts7.isFunctionDeclaration(node) || ts7.isMethodDeclaration(node) || ts7.isConstructorDeclaration(node) || // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5 + isAccessorDeclaration(node) || ts7.isFunctionExpression(node) || ts7.isArrowFunction(node); +} +function isSuperProperty(node) { + return isSuperPropertyAccessExpression(node) || isSuperElementAccessExpression(node); +} +function isTypeOnlyCompatibleAliasDeclaration(node) { + if (ts7.isImportClause(node) || ts7.isImportEqualsDeclaration(node) || ts7.isNamespaceImport(node) || ts7.isImportOrExportSpecifier(node)) { + return true; + } + if (isTsVersionAtLeast(5, 0) && (ts7.isExportDeclaration(node) || ts7.isNamespaceExport(node))) { + return true; + } + return false; +} +function isTypeReferenceType(node) { + return ts7.isTypeReferenceNode(node) || ts7.isExpressionWithTypeArguments(node); +} +function isUnionOrIntersectionTypeNode(node) { + return ts7.isUnionTypeNode(node) || ts7.isIntersectionTypeNode(node); +} +function isUnparsedSourceText(node) { + return ts7.isUnparsedPrepend(node) || ts7.isUnparsedTextLike(node); +} +function isVariableLikeDeclaration(node) { + return ts7.isVariableDeclaration(node) || ts7.isParameter(node) || ts7.isBindingElement(node) || ts7.isPropertyDeclaration(node) || ts7.isPropertyAssignment(node) || ts7.isPropertySignature(node) || ts7.isJsxAttribute(node) || ts7.isShorthandPropertyAssignment(node) || ts7.isEnumMember(node) || ts7.isJSDocPropertyTag(node) || ts7.isJSDocParameterTag(node); +} + +// src/nodes/typeGuards/compound.ts +function isConstAssertionExpression(node) { + return ts8.isTypeReferenceNode(node.type) && ts8.isIdentifier(node.type.typeName) && node.type.typeName.escapedText === "const"; +} +function isIterationStatement(node) { + switch (node.kind) { + case ts8.SyntaxKind.DoStatement: + case ts8.SyntaxKind.ForInStatement: + case ts8.SyntaxKind.ForOfStatement: + case ts8.SyntaxKind.ForStatement: + case ts8.SyntaxKind.WhileStatement: + return true; + default: + return false; + } +} +function isJSDocNamespaceDeclaration(node) { + return ts8.isModuleDeclaration(node) && ts8.isIdentifier(node.name) && (node.body === void 0 || isJSDocNamespaceBody(node.body)); +} +function isJsxTagNamePropertyAccess(node) { + return ts8.isPropertyAccessExpression(node) && // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts < 5 + isJsxTagNameExpression(node.expression); +} +function isNamedDeclarationWithName(node) { + return "name" in node && node.name !== void 0 && node.name !== null && isDeclarationName(node.name); +} +function isNamespaceDeclaration(node) { + return ts8.isModuleDeclaration(node) && ts8.isIdentifier(node.name) && node.body !== void 0 && isNamespaceBody(node.body); +} +function isNumericOrStringLikeLiteral(node) { + switch (node.kind) { + case ts8.SyntaxKind.StringLiteral: + case ts8.SyntaxKind.NumericLiteral: + case ts8.SyntaxKind.NoSubstitutionTemplateLiteral: + return true; + default: + return false; + } +} +function isPropertyAccessEntityNameExpression(node) { + return ts8.isPropertyAccessExpression(node) && ts8.isIdentifier(node.name) && isEntityNameExpression(node.expression); +} +function isSuperElementAccessExpression(node) { + return ts8.isElementAccessExpression(node) && isSuperExpression(node.expression); +} +function isSuperPropertyAccessExpression(node) { + return ts8.isPropertyAccessExpression(node) && isSuperExpression(node.expression); +} + +// src/scopes.ts +import ts9 from "typescript"; +function isFunctionScopeBoundary(node) { + switch (node.kind) { + case ts9.SyntaxKind.FunctionExpression: + case ts9.SyntaxKind.ArrowFunction: + case ts9.SyntaxKind.Constructor: + case ts9.SyntaxKind.ModuleDeclaration: + case ts9.SyntaxKind.ClassDeclaration: + case ts9.SyntaxKind.ClassExpression: + case ts9.SyntaxKind.EnumDeclaration: + case ts9.SyntaxKind.MethodDeclaration: + case ts9.SyntaxKind.FunctionDeclaration: + case ts9.SyntaxKind.GetAccessor: + case ts9.SyntaxKind.SetAccessor: + case ts9.SyntaxKind.MethodSignature: + case ts9.SyntaxKind.CallSignature: + case ts9.SyntaxKind.ConstructSignature: + case ts9.SyntaxKind.ConstructorType: + case ts9.SyntaxKind.FunctionType: + return true; + case ts9.SyntaxKind.SourceFile: + return ts9.isExternalModule(node); + default: + return false; + } +} + +// src/syntax.ts +import ts10 from "typescript"; +function isAssignmentKind(kind) { + return kind >= ts10.SyntaxKind.FirstAssignment && kind <= ts10.SyntaxKind.LastAssignment; +} +function isNumericPropertyName(name) { + return String(+name) === name; +} +function charSize(ch) { + return ch >= 65536 ? 2 : 1; +} +function isValidPropertyAccess(text, languageVersion = ts10.ScriptTarget.Latest) { + if (text.length === 0) { + return false; + } + let ch = text.codePointAt(0); + if (!ts10.isIdentifierStart(ch, languageVersion)) { + return false; + } + for (let i = charSize(ch); i < text.length; i += charSize(ch)) { + ch = text.codePointAt(i); + if (!ts10.isIdentifierPart(ch, languageVersion)) { + return false; + } + } + return true; +} + +// src/types/getters.ts +import ts15 from "typescript"; + +// src/types/typeGuards/intrinsic.ts +import ts11 from "typescript"; +function isIntrinsicAnyType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.Any); +} +function isIntrinsicBooleanType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.Boolean); +} +function isIntrinsicBigIntType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.BigInt); +} +function isIntrinsicErrorType(type) { + return isIntrinsicType(type) && type.intrinsicName === "error"; +} +function isIntrinsicESSymbolType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.ESSymbol); +} +var IntrinsicTypeFlags = ts11.TypeFlags.Intrinsic ?? ts11.TypeFlags.Any | ts11.TypeFlags.Unknown | ts11.TypeFlags.String | ts11.TypeFlags.Number | ts11.TypeFlags.BigInt | ts11.TypeFlags.Boolean | ts11.TypeFlags.BooleanLiteral | ts11.TypeFlags.ESSymbol | ts11.TypeFlags.Void | ts11.TypeFlags.Undefined | ts11.TypeFlags.Null | ts11.TypeFlags.Never | ts11.TypeFlags.NonPrimitive; +function isIntrinsicType(type) { + return isTypeFlagSet(type, IntrinsicTypeFlags); +} +function isIntrinsicNeverType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.Never); +} +function isIntrinsicNonPrimitiveType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.NonPrimitive); +} +function isIntrinsicNullType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.Null); +} +function isIntrinsicNumberType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.Number); +} +function isIntrinsicStringType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.String); +} +function isIntrinsicUndefinedType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.Undefined); +} +function isIntrinsicUnknownType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.Unknown); +} +function isIntrinsicVoidType(type) { + return isTypeFlagSet(type, ts11.TypeFlags.Void); +} + +// src/types/typeGuards/objects.ts +import ts13 from "typescript"; + +// src/types/typeGuards/single.ts +import ts12 from "typescript"; +function isConditionalType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.Conditional); +} +function isEnumType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.Enum); +} +function isFreshableType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.Freshable); +} +function isIndexType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.Index); +} +function isIndexedAccessType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.IndexedAccess); +} +function isInstantiableType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.Instantiable); +} +function isIntersectionType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.Intersection); +} +function isObjectType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.Object); +} +function isStringMappingType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.StringMapping); +} +function isSubstitutionType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.Substitution); +} +function isTypeParameter(type) { + return isTypeFlagSet(type, ts12.TypeFlags.TypeParameter); +} +function isTypeVariable(type) { + return isTypeFlagSet(type, ts12.TypeFlags.TypeVariable); +} +function isUnionType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.Union); +} +function isUnionOrIntersectionType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.UnionOrIntersection); +} +function isUniqueESSymbolType(type) { + return isTypeFlagSet(type, ts12.TypeFlags.UniqueESSymbol); +} + +// src/types/typeGuards/objects.ts +function isEvolvingArrayType(type) { + return isObjectType(type) && isObjectFlagSet(type, ts13.ObjectFlags.EvolvingArray); +} +function isTupleType(type) { + return isObjectType(type) && isObjectFlagSet(type, ts13.ObjectFlags.Tuple); +} +function isTypeReference(type) { + return isObjectType(type) && isObjectFlagSet(type, ts13.ObjectFlags.Reference); +} + +// src/types/typeGuards/compound.ts +function isFreshableIntrinsicType(type) { + return isIntrinsicType(type) && isFreshableType(type); +} +function isTupleTypeReference(type) { + return isTypeReference(type) && isTupleType(type.target); +} + +// src/types/typeGuards/literal.ts +import ts14 from "typescript"; +function isBooleanLiteralType(type) { + return isTypeFlagSet(type, ts14.TypeFlags.BooleanLiteral); +} +function isBigIntLiteralType(type) { + return isTypeFlagSet(type, ts14.TypeFlags.BigIntLiteral); +} +function isFalseLiteralType(type) { + return isBooleanLiteralType(type) && type.intrinsicName === "false"; +} +function isLiteralType(type) { + return isTypeFlagSet(type, ts14.TypeFlags.Literal); +} +function isNumberLiteralType(type) { + return isTypeFlagSet(type, ts14.TypeFlags.NumberLiteral); +} +function isStringLiteralType(type) { + return isTypeFlagSet(type, ts14.TypeFlags.StringLiteral); +} +function isTemplateLiteralType(type) { + return isTypeFlagSet(type, ts14.TypeFlags.TemplateLiteral); +} +function isTrueLiteralType(type) { + return isBooleanLiteralType(type) && type.intrinsicName === "true"; +} +function isUnknownLiteralType(type) { + return isTypeFlagSet(type, ts14.TypeFlags.Literal); +} + +// src/types/getters.ts +function getCallSignaturesOfType(type) { + if (isUnionType(type)) { + const signatures = []; + for (const subType of type.types) { + signatures.push(...getCallSignaturesOfType(subType)); + } + return signatures; + } + if (isIntersectionType(type)) { + let signatures; + for (const subType of type.types) { + const sig = getCallSignaturesOfType(subType); + if (sig.length !== 0) { + if (signatures !== void 0) { + return []; + } + signatures = sig; + } + } + return signatures === void 0 ? [] : signatures; + } + return type.getCallSignatures(); +} +function getPropertyOfType(type, name) { + if (!name.startsWith("__")) { + return type.getProperty(name); + } + return type.getProperties().find((s) => s.escapedName === name); +} +function getWellKnownSymbolPropertyOfType(type, wellKnownSymbolName, typeChecker) { + const prefix = "__@" + wellKnownSymbolName; + for (const prop of type.getProperties()) { + if (!prop.name.startsWith(prefix)) { + continue; + } + const declaration = prop.valueDeclaration ?? prop.getDeclarations()[0]; + if (!isNamedDeclarationWithName(declaration) || declaration.name === void 0 || !ts15.isComputedPropertyName(declaration.name)) { + continue; + } + const globalSymbol = typeChecker.getApparentType( + typeChecker.getTypeAtLocation(declaration.name.expression) + ).symbol; + if (prop.escapedName === getPropertyNameOfWellKnownSymbol( + typeChecker, + globalSymbol, + wellKnownSymbolName + )) { + return prop; + } + } + return void 0; +} +function getPropertyNameOfWellKnownSymbol(typeChecker, symbolConstructor, symbolName) { + const knownSymbol = symbolConstructor && typeChecker.getTypeOfSymbolAtLocation( + symbolConstructor, + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access + symbolConstructor.valueDeclaration + ).getProperty(symbolName); + const knownSymbolType = knownSymbol && typeChecker.getTypeOfSymbolAtLocation( + knownSymbol, + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access + knownSymbol.valueDeclaration + ); + if (knownSymbolType && isUniqueESSymbolType(knownSymbolType)) { + return knownSymbolType.escapedName; + } + return "__@" + symbolName; +} + +// src/types/utilities.ts +import ts17 from "typescript"; + +// src/nodes/utilities.ts +import ts16 from "typescript"; +function isBindableObjectDefinePropertyCall(node) { + return node.arguments.length === 3 && isEntityNameExpression(node.arguments[0]) && isNumericOrStringLikeLiteral(node.arguments[1]) && ts16.isPropertyAccessExpression(node.expression) && node.expression.name.escapedText === "defineProperty" && ts16.isIdentifier(node.expression.expression) && node.expression.expression.escapedText === "Object"; +} +function isInConstContext(node) { + let current = node; + while (true) { + const parent = current.parent; + outer: + switch (parent.kind) { + case ts16.SyntaxKind.TypeAssertionExpression: + case ts16.SyntaxKind.AsExpression: + return isConstAssertionExpression(parent); + case ts16.SyntaxKind.PrefixUnaryExpression: + if (current.kind !== ts16.SyntaxKind.NumericLiteral) { + return false; + } + switch (parent.operator) { + case ts16.SyntaxKind.PlusToken: + case ts16.SyntaxKind.MinusToken: + current = parent; + break outer; + default: + return false; + } + case ts16.SyntaxKind.PropertyAssignment: + if (parent.initializer !== current) { + return false; + } + current = parent.parent; + break; + case ts16.SyntaxKind.ShorthandPropertyAssignment: + current = parent.parent; + break; + case ts16.SyntaxKind.ParenthesizedExpression: + case ts16.SyntaxKind.ArrayLiteralExpression: + case ts16.SyntaxKind.ObjectLiteralExpression: + case ts16.SyntaxKind.TemplateExpression: + current = parent; + break; + default: + return false; + } + } +} + +// src/types/utilities.ts +function isFalsyType(type) { + if (isTypeFlagSet( + type, + ts17.TypeFlags.Undefined | ts17.TypeFlags.Null | ts17.TypeFlags.Void + )) { + return true; + } + if (type.isLiteral()) { + return !type.value; + } + return isFalseLiteralType(type); +} +function intersectionTypeParts(type) { + return isIntersectionType(type) ? type.types : [type]; +} +function typeParts(type) { + return isIntersectionType(type) || isUnionType(type) ? type.types : [type]; +} +function isReadonlyPropertyIntersection(type, name, typeChecker) { + const typeParts2 = isIntersectionType(type) ? type.types : [type]; + return typeParts2.some((subType) => { + const prop = getPropertyOfType(subType, name); + if (prop === void 0) { + return false; + } + if (prop.flags & ts17.SymbolFlags.Transient) { + if (/^(?:[1-9]\d*|0)$/.test(name) && isTupleTypeReference(subType)) { + return subType.target.readonly; + } + switch (isReadonlyPropertyFromMappedType(subType, name, typeChecker)) { + case true: + return true; + case false: + return false; + default: + } + } + return !!// members of namespace import + (isSymbolFlagSet(prop, ts17.SymbolFlags.ValueModule) || // we unwrapped every mapped type, now we can check the actual declarations + symbolHasReadonlyDeclaration(prop, typeChecker)); + }); +} +function isReadonlyPropertyFromMappedType(type, name, typeChecker) { + if (!isObjectType(type) || !isObjectFlagSet(type, ts17.ObjectFlags.Mapped)) { + return; + } + const declaration = type.symbol.declarations[0]; + if (declaration.readonlyToken !== void 0 && !/^__@[^@]+$/.test(name)) { + return declaration.readonlyToken.kind !== ts17.SyntaxKind.MinusToken; + } + const { modifiersType } = type; + return modifiersType && isPropertyReadonlyInType(modifiersType, name, typeChecker); +} +function isCallback(typeChecker, param, node) { + let type = typeChecker.getApparentType( + typeChecker.getTypeOfSymbolAtLocation(param, node) + ); + if (param.valueDeclaration.dotDotDotToken) { + type = type.getNumberIndexType(); + if (type === void 0) { + return false; + } + } + for (const subType of unionTypeParts(type)) { + if (subType.getCallSignatures().length !== 0) { + return true; + } + } + return false; +} +function isPropertyReadonlyInType(type, name, typeChecker) { + let seenProperty = false; + let seenReadonlySignature = false; + for (const subType of unionTypeParts(type)) { + if (getPropertyOfType(subType, name) === void 0) { + const index = (isNumericPropertyName(name) ? typeChecker.getIndexInfoOfType(subType, ts17.IndexKind.Number) : void 0) ?? typeChecker.getIndexInfoOfType(subType, ts17.IndexKind.String); + if (index?.isReadonly) { + if (seenProperty) { + return true; + } + seenReadonlySignature = true; + } + } else if (seenReadonlySignature || isReadonlyPropertyIntersection(subType, name, typeChecker)) { + return true; + } else { + seenProperty = true; + } + } + return false; +} +function isReadonlyAssignmentDeclaration(node, typeChecker) { + if (!isBindableObjectDefinePropertyCall(node)) { + return false; + } + const descriptorType = typeChecker.getTypeAtLocation(node.arguments[2]); + if (descriptorType.getProperty("value") === void 0) { + return descriptorType.getProperty("set") === void 0; + } + const writableProp = descriptorType.getProperty("writable"); + if (writableProp === void 0) { + return false; + } + const writableType = writableProp.valueDeclaration !== void 0 && ts17.isPropertyAssignment(writableProp.valueDeclaration) ? typeChecker.getTypeAtLocation(writableProp.valueDeclaration.initializer) : typeChecker.getTypeOfSymbolAtLocation(writableProp, node.arguments[2]); + return isFalseLiteralType(writableType); +} +function isThenableType(typeChecker, node, type = typeChecker.getTypeAtLocation(node)) { + for (const typePart of unionTypeParts(typeChecker.getApparentType(type))) { + const then = typePart.getProperty("then"); + if (then === void 0) { + continue; + } + const thenType = typeChecker.getTypeOfSymbolAtLocation(then, node); + for (const subTypePart of unionTypeParts(thenType)) { + for (const signature of subTypePart.getCallSignatures()) { + if (signature.parameters.length !== 0 && isCallback(typeChecker, signature.parameters[0], node)) { + return true; + } + } + } + } + return false; +} +function symbolHasReadonlyDeclaration(symbol, typeChecker) { + return !!((symbol.flags & ts17.SymbolFlags.Accessor) === ts17.SymbolFlags.GetAccessor || symbol.declarations?.some( + (node) => isModifierFlagSet(node, ts17.ModifierFlags.Readonly) || ts17.isVariableDeclaration(node) && isNodeFlagSet(node.parent, ts17.NodeFlags.Const) || ts17.isCallExpression(node) && isReadonlyAssignmentDeclaration(node, typeChecker) || ts17.isEnumMember(node) || (ts17.isPropertyAssignment(node) || ts17.isShorthandPropertyAssignment(node)) && isInConstContext(node.parent) + )); +} +function unionTypeParts(type) { + return isUnionType(type) ? type.types : [type]; +} + +// src/usage/UsageWalker.ts +import ts23 from "typescript"; + +// src/usage/Scope.ts +import ts18 from "typescript"; +function isBlockScopeBoundary(node) { + switch (node.kind) { + case ts18.SyntaxKind.Block: { + const parent = node.parent; + return parent.kind !== ts18.SyntaxKind.CatchClause && // blocks inside SourceFile are block scope boundaries + (parent.kind === ts18.SyntaxKind.SourceFile || // blocks that are direct children of a function scope boundary are no scope boundary + // for example the FunctionBlock is part of the function scope of the containing function + !isFunctionScopeBoundary(parent)) ? 2 /* Block */ : 0 /* None */; + } + case ts18.SyntaxKind.ForStatement: + case ts18.SyntaxKind.ForInStatement: + case ts18.SyntaxKind.ForOfStatement: + case ts18.SyntaxKind.CaseBlock: + case ts18.SyntaxKind.CatchClause: + case ts18.SyntaxKind.WithStatement: + return 2 /* Block */; + default: + return 0 /* None */; + } +} + +// src/usage/declarations.ts +import ts20 from "typescript"; + +// src/usage/utils.ts +import ts19 from "typescript"; +function identifierToKeywordKind(node) { + return "identifierToKeywordKind" in ts19 ? ts19.identifierToKeywordKind(node) : ( + // eslint-disable-next-line deprecation/deprecation + node.originalKeywordKind + ); +} +function canHaveDecorators(node) { + return "canHaveDecorators" in ts19 ? ts19.canHaveDecorators(node) : "decorators" in node; +} +function getDecorators(node) { + return "getDecorators" in ts19 ? ts19.getDecorators(node) : node.decorators; +} + +// src/usage/declarations.ts +var DeclarationDomain = /* @__PURE__ */ ((DeclarationDomain2) => { + DeclarationDomain2[DeclarationDomain2["Import"] = 8] = "Import"; + DeclarationDomain2[DeclarationDomain2["Namespace"] = 1] = "Namespace"; + DeclarationDomain2[DeclarationDomain2["Type"] = 2] = "Type"; + DeclarationDomain2[DeclarationDomain2["Value"] = 4] = "Value"; + DeclarationDomain2[DeclarationDomain2["Any"] = 7] = "Any"; + return DeclarationDomain2; +})(DeclarationDomain || {}); +function getDeclarationDomain(node) { + switch (node.parent.kind) { + case ts20.SyntaxKind.TypeParameter: + case ts20.SyntaxKind.InterfaceDeclaration: + case ts20.SyntaxKind.TypeAliasDeclaration: + return 2 /* Type */; + case ts20.SyntaxKind.ClassDeclaration: + case ts20.SyntaxKind.ClassExpression: + return 2 /* Type */ | 4 /* Value */; + case ts20.SyntaxKind.EnumDeclaration: + return 7 /* Any */; + case ts20.SyntaxKind.NamespaceImport: + case ts20.SyntaxKind.ImportClause: + return 7 /* Any */ | 8 /* Import */; + case ts20.SyntaxKind.ImportEqualsDeclaration: + case ts20.SyntaxKind.ImportSpecifier: + return node.parent.name === node ? 7 /* Any */ | 8 /* Import */ : void 0; + case ts20.SyntaxKind.ModuleDeclaration: + return 1 /* Namespace */; + case ts20.SyntaxKind.Parameter: + if (node.parent.parent.kind === ts20.SyntaxKind.IndexSignature || identifierToKeywordKind(node) === ts20.SyntaxKind.ThisKeyword) { + return; + } + case ts20.SyntaxKind.BindingElement: + case ts20.SyntaxKind.VariableDeclaration: + return node.parent.name === node ? 4 /* Value */ : void 0; + case ts20.SyntaxKind.FunctionDeclaration: + case ts20.SyntaxKind.FunctionExpression: + return 4 /* Value */; + } +} + +// src/usage/getPropertyName.ts +import ts21 from "typescript"; +function unwrapParentheses(node) { + while (node.kind === ts21.SyntaxKind.ParenthesizedExpression) { + node = node.expression; + } + return node; +} +function getPropertyName(propertyName) { + if (propertyName.kind === ts21.SyntaxKind.ComputedPropertyName) { + const expression = unwrapParentheses(propertyName.expression); + if (ts21.isPrefixUnaryExpression(expression)) { + let negate = false; + switch (expression.operator) { + case ts21.SyntaxKind.MinusToken: + negate = true; + case ts21.SyntaxKind.PlusToken: + return ts21.isNumericLiteral(expression.operand) ? `${negate ? "-" : ""}${expression.operand.text}` : ts21.isBigIntLiteral(expression.operand) ? `${negate ? "-" : ""}${expression.operand.text.slice(0, -1)}` : void 0; + default: + return; + } + } + if (ts21.isBigIntLiteral(expression)) { + return expression.text.slice(0, -1); + } + if (isNumericOrStringLikeLiteral(expression)) { + return expression.text; + } + return; + } + return propertyName.kind === ts21.SyntaxKind.PrivateIdentifier ? void 0 : propertyName.text; +} + +// src/usage/getUsageDomain.ts +import ts22 from "typescript"; +var UsageDomain = /* @__PURE__ */ ((UsageDomain2) => { + UsageDomain2[UsageDomain2["Namespace"] = 1] = "Namespace"; + UsageDomain2[UsageDomain2["Type"] = 2] = "Type"; + UsageDomain2[UsageDomain2["TypeQuery"] = 8] = "TypeQuery"; + UsageDomain2[UsageDomain2["Value"] = 4] = "Value"; + UsageDomain2[UsageDomain2["ValueOrNamespace"] = 5] = "ValueOrNamespace"; + UsageDomain2[UsageDomain2["Any"] = 7] = "Any"; + return UsageDomain2; +})(UsageDomain || {}); +function getUsageDomain(node) { + const parent = node.parent; + switch (parent.kind) { + case ts22.SyntaxKind.TypeReference: + return identifierToKeywordKind(node) !== ts22.SyntaxKind.ConstKeyword ? 2 /* Type */ : void 0; + case ts22.SyntaxKind.ExpressionWithTypeArguments: + return parent.parent.token === ts22.SyntaxKind.ImplementsKeyword || parent.parent.parent.kind === ts22.SyntaxKind.InterfaceDeclaration ? 2 /* Type */ : 4 /* Value */; + case ts22.SyntaxKind.TypeQuery: + return 5 /* ValueOrNamespace */ | 8 /* TypeQuery */; + case ts22.SyntaxKind.QualifiedName: + if (parent.left === node) { + if (getEntityNameParent(parent).kind === ts22.SyntaxKind.TypeQuery) { + return 1 /* Namespace */ | 8 /* TypeQuery */; + } + return 1 /* Namespace */; + } + break; + case ts22.SyntaxKind.ExportSpecifier: + if (parent.propertyName === void 0 || parent.propertyName === node) { + return 7 /* Any */; + } + break; + case ts22.SyntaxKind.ExportAssignment: + return 7 /* Any */; + case ts22.SyntaxKind.BindingElement: + if (parent.initializer === node) { + return 5 /* ValueOrNamespace */; + } + break; + case ts22.SyntaxKind.Parameter: + case ts22.SyntaxKind.EnumMember: + case ts22.SyntaxKind.PropertyDeclaration: + case ts22.SyntaxKind.VariableDeclaration: + case ts22.SyntaxKind.PropertyAssignment: + case ts22.SyntaxKind.PropertyAccessExpression: + case ts22.SyntaxKind.ImportEqualsDeclaration: + if (parent.name !== node) { + return 5 /* ValueOrNamespace */; + } + break; + case ts22.SyntaxKind.JsxAttribute: + case ts22.SyntaxKind.FunctionDeclaration: + case ts22.SyntaxKind.FunctionExpression: + case ts22.SyntaxKind.NamespaceImport: + case ts22.SyntaxKind.ClassDeclaration: + case ts22.SyntaxKind.ClassExpression: + case ts22.SyntaxKind.ModuleDeclaration: + case ts22.SyntaxKind.MethodDeclaration: + case ts22.SyntaxKind.EnumDeclaration: + case ts22.SyntaxKind.GetAccessor: + case ts22.SyntaxKind.SetAccessor: + case ts22.SyntaxKind.LabeledStatement: + case ts22.SyntaxKind.BreakStatement: + case ts22.SyntaxKind.ContinueStatement: + case ts22.SyntaxKind.ImportClause: + case ts22.SyntaxKind.ImportSpecifier: + case ts22.SyntaxKind.TypePredicate: + case ts22.SyntaxKind.MethodSignature: + case ts22.SyntaxKind.PropertySignature: + case ts22.SyntaxKind.NamespaceExportDeclaration: + case ts22.SyntaxKind.NamespaceExport: + case ts22.SyntaxKind.InterfaceDeclaration: + case ts22.SyntaxKind.TypeAliasDeclaration: + case ts22.SyntaxKind.TypeParameter: + case ts22.SyntaxKind.NamedTupleMember: + break; + default: + return 5 /* ValueOrNamespace */; + } +} +function getEntityNameParent(name) { + let parent = name.parent; + while (parent.kind === ts22.SyntaxKind.QualifiedName) { + parent = parent.parent; + } + return parent; +} + +// src/usage/scopes.ts +var _enumScopes; +var AbstractScope = class { + constructor(global) { + this.global = global; + __privateAdd(this, _enumScopes, void 0); + this.namespaceScopes = void 0; + this.uses = []; + this.variables = /* @__PURE__ */ new Map(); + } + addUse(use) { + this.uses.push(use); + } + // eslint-disable-next-line @typescript-eslint/no-empty-function + addUseToParent(_use) { + } + addVariable(identifier, name, selector, exported, domain) { + const variables = this.getDestinationScope(selector).getVariables(); + const declaration = { + declaration: name, + domain, + exported + }; + const variable = variables.get(identifier); + if (variable === void 0) { + variables.set(identifier, { + declarations: [declaration], + domain, + uses: [] + }); + } else { + variable.domain |= domain; + variable.declarations.push(declaration); + } + } + applyUse(use, variables = this.variables) { + const variable = variables.get(use.location.text); + if (variable === void 0 || (variable.domain & use.domain) === 0) { + return false; + } + variable.uses.push(use); + return true; + } + applyUses() { + for (const use of this.uses) { + if (!this.applyUse(use)) { + this.addUseToParent(use); + } + } + this.uses = []; + } + createOrReuseEnumScope(name, _exported) { + let scope; + if (__privateGet(this, _enumScopes) === void 0) { + __privateSet(this, _enumScopes, /* @__PURE__ */ new Map()); + } else { + scope = __privateGet(this, _enumScopes).get(name); + } + if (scope === void 0) { + scope = new EnumScope(this); + __privateGet(this, _enumScopes).set(name, scope); + } + return scope; + } + // only relevant for the root scope + createOrReuseNamespaceScope(name, _exported, ambient, hasExportStatement) { + let scope; + if (this.namespaceScopes === void 0) { + this.namespaceScopes = /* @__PURE__ */ new Map(); + } else { + scope = this.namespaceScopes.get(name); + } + if (scope === void 0) { + scope = new NamespaceScope(ambient, hasExportStatement, this); + this.namespaceScopes.set(name, scope); + } else { + scope.refresh(ambient, hasExportStatement); + } + return scope; + } + end(cb) { + if (this.namespaceScopes !== void 0) { + this.namespaceScopes.forEach((value) => value.finish(cb)); + } + this.namespaceScopes = __privateSet(this, _enumScopes, void 0); + this.applyUses(); + this.variables.forEach((variable) => { + for (const declaration of variable.declarations) { + const result = { + declarations: [], + domain: declaration.domain, + exported: declaration.exported, + inGlobalScope: this.global, + uses: [] + }; + for (const other of variable.declarations) { + if (other.domain & declaration.domain) { + result.declarations.push(other.declaration); + } + } + for (const use of variable.uses) { + if (use.domain & declaration.domain) { + result.uses.push(use); + } + } + cb(result, declaration.declaration, this); + } + }); + } + getFunctionScope() { + return this; + } + getVariables() { + return this.variables; + } + // eslint-disable-next-line @typescript-eslint/no-empty-function + markExported(_name2) { + } +}; +_enumScopes = new WeakMap(); +var NonRootScope = class extends AbstractScope { + constructor(parent, boundary) { + super(false); + this.parent = parent; + this.boundary = boundary; + } + addUseToParent(use) { + return this.parent.addUse(use, this); + } + getDestinationScope(selector) { + return this.boundary & selector ? this : this.parent.getDestinationScope(selector); + } +}; +var EnumScope = class extends NonRootScope { + constructor(parent) { + super(parent, 1 /* Function */); + } + end() { + this.applyUses(); + } +}; +var _exportAll, _exports, _innerScope; +var RootScope = class extends AbstractScope { + constructor(exportAll, global) { + super(global); + __privateAdd(this, _exportAll, void 0); + __privateAdd(this, _exports, void 0); + __privateAdd(this, _innerScope, new NonRootScope(this, 1 /* Function */)); + __privateSet(this, _exportAll, exportAll); + } + addUse(use, origin) { + if (origin === __privateGet(this, _innerScope)) { + return super.addUse(use); + } + return __privateGet(this, _innerScope).addUse(use); + } + addVariable(identifier, name, selector, exported, domain) { + if (domain & 8 /* Import */) { + return super.addVariable(identifier, name, selector, exported, domain); + } + return __privateGet(this, _innerScope).addVariable( + identifier, + name, + selector, + exported, + domain + ); + } + end(cb) { + __privateGet(this, _innerScope).end((value, key) => { + value.exported ||= __privateGet(this, _exportAll) || __privateGet(this, _exports) !== void 0 && __privateGet(this, _exports).includes(key.text); + value.inGlobalScope = this.global; + return cb(value, key, this); + }); + return super.end((value, key, scope) => { + value.exported ||= scope === this && __privateGet(this, _exports) !== void 0 && __privateGet(this, _exports).includes(key.text); + return cb(value, key, scope); + }); + } + getDestinationScope() { + return this; + } + markExported(id) { + if (__privateGet(this, _exports) === void 0) { + __privateSet(this, _exports, [id.text]); + } else { + __privateGet(this, _exports).push(id.text); + } + } +}; +_exportAll = new WeakMap(); +_exports = new WeakMap(); +_innerScope = new WeakMap(); +var _ambient, _exports2, _hasExport, _innerScope2; +var NamespaceScope = class extends NonRootScope { + constructor(ambient, hasExport, parent) { + super(parent, 1 /* Function */); + __privateAdd(this, _ambient, void 0); + __privateAdd(this, _exports2, void 0); + __privateAdd(this, _hasExport, void 0); + __privateAdd(this, _innerScope2, new NonRootScope(this, 1 /* Function */)); + __privateSet(this, _ambient, ambient); + __privateSet(this, _hasExport, hasExport); + } + addUse(use, source) { + if (source !== __privateGet(this, _innerScope2)) { + return __privateGet(this, _innerScope2).addUse(use); + } + this.uses.push(use); + } + createOrReuseEnumScope(name, exported) { + if (!exported && (!__privateGet(this, _ambient) || __privateGet(this, _hasExport))) { + return __privateGet(this, _innerScope2).createOrReuseEnumScope(name, exported); + } + return super.createOrReuseEnumScope(name, exported); + } + createOrReuseNamespaceScope(name, exported, ambient, hasExportStatement) { + if (!exported && (!__privateGet(this, _ambient) || __privateGet(this, _hasExport))) { + return __privateGet(this, _innerScope2).createOrReuseNamespaceScope( + name, + exported, + ambient || __privateGet(this, _ambient), + hasExportStatement + ); + } + return super.createOrReuseNamespaceScope( + name, + exported, + ambient || __privateGet(this, _ambient), + hasExportStatement + ); + } + end(cb) { + __privateGet(this, _innerScope2).end((variable, key, scope) => { + if (scope !== __privateGet(this, _innerScope2) || !variable.exported && (!__privateGet(this, _ambient) || __privateGet(this, _exports2) !== void 0 && !__privateGet(this, _exports2).has(key.text))) { + return cb(variable, key, scope); + } + const namespaceVar = this.variables.get(key.text); + if (namespaceVar === void 0) { + this.variables.set(key.text, { + declarations: variable.declarations.map(mapDeclaration), + domain: variable.domain, + uses: [...variable.uses] + }); + } else { + outer: + for (const declaration of variable.declarations) { + for (const existing of namespaceVar.declarations) { + if (existing.declaration === declaration) { + continue outer; + } + namespaceVar.declarations.push(mapDeclaration(declaration)); + } + } + namespaceVar.domain |= variable.domain; + for (const use of variable.uses) { + if (namespaceVar.uses.includes(use)) { + continue; + } + namespaceVar.uses.push(use); + } + } + }); + this.applyUses(); + __privateSet(this, _innerScope2, new NonRootScope(this, 1 /* Function */)); + } + finish(cb) { + return super.end(cb); + } + getDestinationScope() { + return __privateGet(this, _innerScope2); + } + markExported(name) { + if (__privateGet(this, _exports2) === void 0) { + __privateSet(this, _exports2, /* @__PURE__ */ new Set()); + } + __privateGet(this, _exports2).add(name.text); + } + refresh(ambient, hasExport) { + __privateSet(this, _ambient, ambient); + __privateSet(this, _hasExport, hasExport); + } +}; +_ambient = new WeakMap(); +_exports2 = new WeakMap(); +_hasExport = new WeakMap(); +_innerScope2 = new WeakMap(); +function mapDeclaration(declaration) { + return { + declaration, + domain: getDeclarationDomain(declaration), + exported: true + }; +} +var FunctionScope = class extends NonRootScope { + constructor(parent) { + super(parent, 1 /* Function */); + } + beginBody() { + this.applyUses(); + } +}; +var _domain, _name; +var AbstractNamedExpressionScope = class extends NonRootScope { + constructor(name, domain, parent) { + super(parent, 1 /* Function */); + __privateAdd(this, _domain, void 0); + __privateAdd(this, _name, void 0); + __privateSet(this, _name, name); + __privateSet(this, _domain, domain); + } + addUse(use, source) { + if (source !== this.innerScope) { + return this.innerScope.addUse(use); + } + if (use.domain & __privateGet(this, _domain) && use.location.text === __privateGet(this, _name).text) { + this.uses.push(use); + } else { + return this.parent.addUse(use, this); + } + } + end(cb) { + this.innerScope.end(cb); + return cb( + { + declarations: [__privateGet(this, _name)], + domain: __privateGet(this, _domain), + exported: false, + inGlobalScope: false, + uses: this.uses + }, + __privateGet(this, _name), + this + ); + } + getDestinationScope() { + return this.innerScope; + } + getFunctionScope() { + return this.innerScope; + } +}; +_domain = new WeakMap(); +_name = new WeakMap(); +var FunctionExpressionScope = class extends AbstractNamedExpressionScope { + constructor(name, parent) { + super(name, 4 /* Value */, parent); + this.innerScope = new FunctionScope(this); + } + beginBody() { + return this.innerScope.beginBody(); + } +}; +var _functionScope; +var BlockScope = class extends NonRootScope { + constructor(functionScope, parent) { + super(parent, 2 /* Block */); + __privateAdd(this, _functionScope, void 0); + __privateSet(this, _functionScope, functionScope); + } + getFunctionScope() { + return __privateGet(this, _functionScope); + } +}; +_functionScope = new WeakMap(); +var ClassExpressionScope = class extends AbstractNamedExpressionScope { + constructor(name, parent) { + super(name, 4 /* Value */ | 2 /* Type */, parent); + this.innerScope = new NonRootScope(this, 1 /* Function */); + } +}; +var _state; +var ConditionalTypeScope = class extends NonRootScope { + constructor(parent) { + super(parent, 8 /* ConditionalType */); + __privateAdd(this, _state, 0 /* Initial */); + } + addUse(use) { + if (__privateGet(this, _state) === 2 /* TrueType */) { + return void this.uses.push(use); + } + return this.parent.addUse(use, this); + } + updateState(newState) { + __privateSet(this, _state, newState); + } +}; +_state = new WeakMap(); + +// src/usage/UsageWalker.ts +var _result, _scope, _handleBindingName, handleBindingName_fn, _handleConditionalType, handleConditionalType_fn, _handleDeclaration, handleDeclaration_fn, _handleFunctionLikeDeclaration, handleFunctionLikeDeclaration_fn, _handleModule, handleModule_fn, _handleVariableDeclaration, handleVariableDeclaration_fn; +var UsageWalker = class { + constructor() { + __privateAdd(this, _handleBindingName); + __privateAdd(this, _handleConditionalType); + __privateAdd(this, _handleDeclaration); + __privateAdd(this, _handleFunctionLikeDeclaration); + __privateAdd(this, _handleModule); + __privateAdd(this, _handleVariableDeclaration); + __privateAdd(this, _result, /* @__PURE__ */ new Map()); + __privateAdd(this, _scope, void 0); + } + getUsage(sourceFile) { + const variableCallback = (variable, key) => { + __privateGet(this, _result).set(key, variable); + }; + const isModule = ts23.isExternalModule(sourceFile); + __privateSet(this, _scope, new RootScope( + sourceFile.isDeclarationFile && isModule && !containsExportStatement(sourceFile), + !isModule + )); + const cb = (node) => { + if (isBlockScopeBoundary(node)) { + return continueWithScope( + node, + new BlockScope(__privateGet(this, _scope).getFunctionScope(), __privateGet(this, _scope)), + handleBlockScope + ); + } + switch (node.kind) { + case ts23.SyntaxKind.ClassExpression: + return continueWithScope( + node, + node.name !== void 0 ? new ClassExpressionScope( + node.name, + __privateGet(this, _scope) + ) : new NonRootScope(__privateGet(this, _scope), 1 /* Function */) + ); + case ts23.SyntaxKind.ClassDeclaration: + __privateMethod(this, _handleDeclaration, handleDeclaration_fn).call(this, node, true, 4 /* Value */ | 2 /* Type */); + return continueWithScope( + node, + new NonRootScope(__privateGet(this, _scope), 1 /* Function */) + ); + case ts23.SyntaxKind.InterfaceDeclaration: + case ts23.SyntaxKind.TypeAliasDeclaration: + __privateMethod(this, _handleDeclaration, handleDeclaration_fn).call(this, node, true, 2 /* Type */); + return continueWithScope( + node, + new NonRootScope(__privateGet(this, _scope), 4 /* Type */) + ); + case ts23.SyntaxKind.EnumDeclaration: + __privateMethod(this, _handleDeclaration, handleDeclaration_fn).call(this, node, true, 7 /* Any */); + return continueWithScope( + node, + __privateGet(this, _scope).createOrReuseEnumScope( + node.name.text, + includesModifier( + node.modifiers, + ts23.SyntaxKind.ExportKeyword + ) + ) + ); + case ts23.SyntaxKind.ModuleDeclaration: + return __privateMethod(this, _handleModule, handleModule_fn).call(this, node, continueWithScope); + case ts23.SyntaxKind.MappedType: + return continueWithScope( + node, + new NonRootScope(__privateGet(this, _scope), 4 /* Type */) + ); + case ts23.SyntaxKind.FunctionExpression: + case ts23.SyntaxKind.ArrowFunction: + case ts23.SyntaxKind.Constructor: + case ts23.SyntaxKind.MethodDeclaration: + case ts23.SyntaxKind.FunctionDeclaration: + case ts23.SyntaxKind.GetAccessor: + case ts23.SyntaxKind.SetAccessor: + case ts23.SyntaxKind.MethodSignature: + case ts23.SyntaxKind.CallSignature: + case ts23.SyntaxKind.ConstructSignature: + case ts23.SyntaxKind.ConstructorType: + case ts23.SyntaxKind.FunctionType: + return __privateMethod(this, _handleFunctionLikeDeclaration, handleFunctionLikeDeclaration_fn).call(this, node, cb, variableCallback); + case ts23.SyntaxKind.ConditionalType: + return __privateMethod(this, _handleConditionalType, handleConditionalType_fn).call(this, node, cb, variableCallback); + case ts23.SyntaxKind.VariableDeclarationList: + __privateMethod(this, _handleVariableDeclaration, handleVariableDeclaration_fn).call(this, node); + break; + case ts23.SyntaxKind.Parameter: + if (node.parent.kind !== ts23.SyntaxKind.IndexSignature && (node.name.kind !== ts23.SyntaxKind.Identifier || identifierToKeywordKind( + node.name + ) !== ts23.SyntaxKind.ThisKeyword)) { + __privateMethod(this, _handleBindingName, handleBindingName_fn).call(this, node.name, false, false); + } + break; + case ts23.SyntaxKind.EnumMember: + __privateGet(this, _scope).addVariable( + getPropertyName(node.name), + node.name, + 1 /* Function */, + true, + 4 /* Value */ + ); + break; + case ts23.SyntaxKind.ImportClause: + case ts23.SyntaxKind.ImportSpecifier: + case ts23.SyntaxKind.NamespaceImport: + case ts23.SyntaxKind.ImportEqualsDeclaration: + __privateMethod(this, _handleDeclaration, handleDeclaration_fn).call(this, node, false, 7 /* Any */ | 8 /* Import */); + break; + case ts23.SyntaxKind.TypeParameter: + __privateGet(this, _scope).addVariable( + node.name.text, + node.name, + node.parent.kind === ts23.SyntaxKind.InferType ? 8 /* InferType */ : 7 /* Type */, + false, + 2 /* Type */ + ); + break; + case ts23.SyntaxKind.ExportSpecifier: + if (node.propertyName !== void 0) { + return __privateGet(this, _scope).markExported( + node.propertyName, + node.name + ); + } + return __privateGet(this, _scope).markExported(node.name); + case ts23.SyntaxKind.ExportAssignment: + if (node.expression.kind === ts23.SyntaxKind.Identifier) { + return __privateGet(this, _scope).markExported( + node.expression + ); + } + break; + case ts23.SyntaxKind.Identifier: { + const domain = getUsageDomain(node); + if (domain !== void 0) { + __privateGet(this, _scope).addUse({ domain, location: node }); + } + return; + } + } + return ts23.forEachChild(node, cb); + }; + const continueWithScope = (node, scope, next = forEachChild) => { + const savedScope = __privateGet(this, _scope); + __privateSet(this, _scope, scope); + next(node); + __privateGet(this, _scope).end(variableCallback); + __privateSet(this, _scope, savedScope); + }; + const handleBlockScope = (node) => { + if (node.kind === ts23.SyntaxKind.CatchClause && node.variableDeclaration !== void 0) { + __privateMethod(this, _handleBindingName, handleBindingName_fn).call(this, node.variableDeclaration.name, true, false); + } + return ts23.forEachChild(node, cb); + }; + ts23.forEachChild(sourceFile, cb); + __privateGet(this, _scope).end(variableCallback); + return __privateGet(this, _result); + function forEachChild(node) { + return ts23.forEachChild(node, cb); + } + } +}; +_result = new WeakMap(); +_scope = new WeakMap(); +_handleBindingName = new WeakSet(); +handleBindingName_fn = function(name, blockScoped, exported) { + if (name.kind === ts23.SyntaxKind.Identifier) { + return __privateGet(this, _scope).addVariable( + name.text, + name, + blockScoped ? 3 /* Block */ : 1 /* Function */, + exported, + 4 /* Value */ + ); + } + forEachDestructuringIdentifier(name, (declaration) => { + __privateGet(this, _scope).addVariable( + declaration.name.text, + declaration.name, + blockScoped ? 3 /* Block */ : 1 /* Function */, + exported, + 4 /* Value */ + ); + }); +}; +_handleConditionalType = new WeakSet(); +handleConditionalType_fn = function(node, cb, varCb) { + const savedScope = __privateGet(this, _scope); + const scope = __privateSet(this, _scope, new ConditionalTypeScope(savedScope)); + cb(node.checkType); + scope.updateState(1 /* Extends */); + cb(node.extendsType); + scope.updateState(2 /* TrueType */); + cb(node.trueType); + scope.updateState(3 /* FalseType */); + cb(node.falseType); + scope.end(varCb); + __privateSet(this, _scope, savedScope); +}; +_handleDeclaration = new WeakSet(); +handleDeclaration_fn = function(node, blockScoped, domain) { + if (node.name !== void 0) { + __privateGet(this, _scope).addVariable( + node.name.text, + node.name, + blockScoped ? 3 /* Block */ : 1 /* Function */, + includesModifier( + node.modifiers, + ts23.SyntaxKind.ExportKeyword + ), + domain + ); + } +}; +_handleFunctionLikeDeclaration = new WeakSet(); +handleFunctionLikeDeclaration_fn = function(node, cb, varCb) { + if (canHaveDecorators(node)) { + getDecorators(node)?.forEach(cb); + } + const savedScope = __privateGet(this, _scope); + if (node.kind === ts23.SyntaxKind.FunctionDeclaration) { + __privateMethod(this, _handleDeclaration, handleDeclaration_fn).call(this, node, false, 4 /* Value */); + } + const scope = __privateSet(this, _scope, node.kind === ts23.SyntaxKind.FunctionExpression && node.name !== void 0 ? new FunctionExpressionScope(node.name, savedScope) : new FunctionScope(savedScope)); + if (node.name !== void 0) { + cb(node.name); + } + if (node.typeParameters !== void 0) { + node.typeParameters.forEach(cb); + } + node.parameters.forEach(cb); + if (node.type !== void 0) { + cb(node.type); + } + if (node.body !== void 0) { + scope.beginBody(); + cb(node.body); + } + scope.end(varCb); + __privateSet(this, _scope, savedScope); +}; +_handleModule = new WeakSet(); +handleModule_fn = function(node, next) { + if (node.flags & ts23.NodeFlags.GlobalAugmentation) { + return next( + node, + __privateGet(this, _scope).createOrReuseNamespaceScope("-global", false, true, false) + ); + } + if (node.name.kind === ts23.SyntaxKind.Identifier) { + const exported = isNamespaceExported(node); + __privateGet(this, _scope).addVariable( + node.name.text, + node.name, + 1 /* Function */, + exported, + 1 /* Namespace */ | 4 /* Value */ + ); + const ambient = includesModifier( + node.modifiers, + ts23.SyntaxKind.DeclareKeyword + ); + return next( + node, + __privateGet(this, _scope).createOrReuseNamespaceScope( + node.name.text, + exported, + ambient, + ambient && namespaceHasExportStatement(node) + ) + ); + } + return next( + node, + __privateGet(this, _scope).createOrReuseNamespaceScope( + `"${node.name.text}"`, + false, + true, + namespaceHasExportStatement(node) + ) + ); +}; +_handleVariableDeclaration = new WeakSet(); +handleVariableDeclaration_fn = function(declarationList) { + const blockScoped = isBlockScopedVariableDeclarationList(declarationList); + const exported = declarationList.parent.kind === ts23.SyntaxKind.VariableStatement && includesModifier( + declarationList.parent.modifiers, + ts23.SyntaxKind.ExportKeyword + ); + for (const declaration of declarationList.declarations) { + __privateMethod(this, _handleBindingName, handleBindingName_fn).call(this, declaration.name, blockScoped, exported); + } +}; +function isNamespaceExported(node) { + return node.parent.kind === ts23.SyntaxKind.ModuleDeclaration || includesModifier(node.modifiers, ts23.SyntaxKind.ExportKeyword); +} +function namespaceHasExportStatement(ns) { + if (ns.body === void 0 || ns.body.kind !== ts23.SyntaxKind.ModuleBlock) { + return false; + } + return containsExportStatement(ns.body); +} +function containsExportStatement(block) { + for (const statement of block.statements) { + if (statement.kind === ts23.SyntaxKind.ExportDeclaration || statement.kind === ts23.SyntaxKind.ExportAssignment) { + return true; + } + } + return false; +} +function isBlockScopedVariableDeclarationList(declarationList) { + return (declarationList.flags & ts23.NodeFlags.BlockScoped) !== 0; +} +function forEachDestructuringIdentifier(pattern, fn) { + for (const element of pattern.elements) { + if (element.kind !== ts23.SyntaxKind.BindingElement) { + continue; + } + let result; + if (element.name.kind === ts23.SyntaxKind.Identifier) { + result = fn(element); + } else { + result = forEachDestructuringIdentifier(element.name, fn); + } + if (result) { + return result; + } + } +} + +// src/usage/collectVariableUsage.ts +function collectVariableUsage(sourceFile) { + return new UsageWalker().getUsage(sourceFile); +} +export { + DeclarationDomain, + UsageDomain, + collectVariableUsage, + forEachComment, + forEachToken, + getCallSignaturesOfType, + getPropertyOfType, + getWellKnownSymbolPropertyOfType, + hasDecorators, + hasExpressionInitializer, + hasInitializer, + hasJSDoc, + hasModifiers, + hasType, + hasTypeArguments, + includesModifier, + intersectionTypeParts, + isAbstractKeyword, + isAccessExpression, + isAccessibilityModifier, + isAccessorDeclaration, + isAccessorKeyword, + isAnyKeyword, + isArrayBindingElement, + isArrayBindingOrAssignmentPattern, + isAssertKeyword, + isAssertsKeyword, + isAssignmentKind, + isAssignmentPattern, + isAsyncKeyword, + isAwaitKeyword, + isBigIntKeyword, + isBigIntLiteralType, + isBindingOrAssignmentElementRestIndicator, + isBindingOrAssignmentElementTarget, + isBindingOrAssignmentPattern, + isBindingPattern, + isBlockLike, + isBooleanKeyword, + isBooleanLiteral, + isBooleanLiteralType, + isClassLikeDeclaration, + isClassMemberModifier, + isColonToken, + isCompilerOptionEnabled, + isConditionalType, + isConstAssertionExpression, + isConstKeyword, + isDeclarationName, + isDeclarationWithTypeParameterChildren, + isDeclarationWithTypeParameters, + isDeclareKeyword, + isDefaultKeyword, + isDestructuringPattern, + isDotToken, + isEndOfFileToken, + isEntityNameExpression, + isEntityNameOrEntityNameExpression, + isEnumType, + isEqualsGreaterThanToken, + isEqualsToken, + isEvolvingArrayType, + isExclamationToken, + isExportKeyword, + isFalseKeyword, + isFalseLiteral, + isFalseLiteralType, + isFalsyType, + isForInOrOfStatement, + isFreshableIntrinsicType, + isFreshableType, + isFunctionLikeDeclaration, + isFunctionScopeBoundary, + isImportExpression, + isImportKeyword, + isInKeyword, + isIndexType, + isIndexedAccessType, + isInputFiles, + isInstantiableType, + isIntersectionType, + isIntrinsicAnyType, + isIntrinsicBigIntType, + isIntrinsicBooleanType, + isIntrinsicESSymbolType, + isIntrinsicErrorType, + isIntrinsicNeverType, + isIntrinsicNonPrimitiveType, + isIntrinsicNullType, + isIntrinsicNumberType, + isIntrinsicStringType, + isIntrinsicType, + isIntrinsicUndefinedType, + isIntrinsicUnknownType, + isIntrinsicVoidType, + isIterationStatement, + isJSDocComment, + isJSDocNamespaceBody, + isJSDocNamespaceDeclaration, + isJSDocText, + isJSDocTypeReferencingNode, + isJsonMinusNumericLiteral, + isJsonObjectExpression, + isJsxAttributeLike, + isJsxAttributeValue, + isJsxChild, + isJsxTagNameExpression, + isJsxTagNamePropertyAccess, + isLiteralToken, + isLiteralType, + isModifierFlagSet, + isModuleBody, + isModuleName, + isModuleReference, + isNamedDeclarationWithName, + isNamedImportBindings, + isNamedImportsOrExports, + isNamespaceBody, + isNamespaceDeclaration, + isNeverKeyword, + isNodeFlagSet, + isNullKeyword, + isNullLiteral, + isNumberKeyword, + isNumberLiteralType, + isNumericOrStringLikeLiteral, + isNumericPropertyName, + isObjectBindingOrAssignmentElement, + isObjectBindingOrAssignmentPattern, + isObjectFlagSet, + isObjectKeyword, + isObjectType, + isObjectTypeDeclaration, + isOutKeyword, + isOverrideKeyword, + isParameterPropertyModifier, + isPrivateKeyword, + isPropertyAccessEntityNameExpression, + isPropertyNameLiteral, + isPropertyReadonlyInType, + isProtectedKeyword, + isPseudoLiteralToken, + isPublicKeyword, + isQuestionDotToken, + isQuestionToken, + isReadonlyKeyword, + isSignatureDeclaration, + isStaticKeyword, + isStrictCompilerOptionEnabled, + isStringKeyword, + isStringLiteralType, + isStringMappingType, + isSubstitutionType, + isSuperElementAccessExpression, + isSuperExpression, + isSuperKeyword, + isSuperProperty, + isSuperPropertyAccessExpression, + isSymbolFlagSet, + isSymbolKeyword, + isSyntaxList, + isTemplateLiteralType, + isThenableType, + isThisExpression, + isThisKeyword, + isTrueKeyword, + isTrueLiteral, + isTrueLiteralType, + isTupleType, + isTupleTypeReference, + isTypeFlagSet, + isTypeOnlyCompatibleAliasDeclaration, + isTypeParameter, + isTypeReference, + isTypeReferenceType, + isTypeVariable, + isUndefinedKeyword, + isUnionOrIntersectionType, + isUnionOrIntersectionTypeNode, + isUnionType, + isUniqueESSymbolType, + isUnknownKeyword, + isUnknownLiteralType, + isUnparsedPrologue, + isUnparsedSourceText, + isUnparsedSyntheticReference, + isValidPropertyAccess, + isVariableLikeDeclaration, + isVoidKeyword, + symbolHasReadonlyDeclaration, + typeParts, + unionTypeParts +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.pnpm-store/v3/files/6f/aeb4f554e9ff2b2fe07c4719cead6b6aaa4dda533911547fd6b655bb6cf11b831ec226f06245fb012b211b2335172ba505ee3c1a3a1ca9596f428f1e93265d b/.pnpm-store/v3/files/6f/aeb4f554e9ff2b2fe07c4719cead6b6aaa4dda533911547fd6b655bb6cf11b831ec226f06245fb012b211b2335172ba505ee3c1a3a1ca9596f428f1e93265d new file mode 100644 index 00000000..c24337fd --- /dev/null +++ b/.pnpm-store/v3/files/6f/aeb4f554e9ff2b2fe07c4719cead6b6aaa4dda533911547fd6b655bb6cf11b831ec226f06245fb012b211b2335172ba505ee3c1a3a1ca9596f428f1e93265d @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","548":"B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","516":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F VC WC","676":"A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","1700":"YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB"},D:{"1":"0 1 2 3 4 5 6 7 8 uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L","676":"G M N O AB","804":"q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB"},E:{"1":"LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC","548":"HC 4B eC 5B IC JC KC","676":"YC","804":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC"},F:{"1":"nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B C iC jC kC lC 2B QC mC","804":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC","2052":"yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D","292":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A","548":"B"},O:{"1":"4B"},P:{"1":"q r s t EC LD MD ND OD PD 5B 6B QD RD","804":"I GD HD ID JD KD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Fullscreen API",D:true}; diff --git a/.pnpm-store/v3/files/6f/d1ae65c762a3124a5f516bf07be08d9f10b7fe177ada97b498218114a1d43608d526aac0144074121884ee5d7a1e339c54b73a94a8707f9a071b22c0b76dcc b/.pnpm-store/v3/files/6f/d1ae65c762a3124a5f516bf07be08d9f10b7fe177ada97b498218114a1d43608d526aac0144074121884ee5d7a1e339c54b73a94a8707f9a071b22c0b76dcc new file mode 100644 index 00000000..ba5e04fa --- /dev/null +++ b/.pnpm-store/v3/files/6f/d1ae65c762a3124a5f516bf07be08d9f10b7fe177ada97b498218114a1d43608d526aac0144074121884ee5d7a1e339c54b73a94a8707f9a071b22c0b76dcc @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","4":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS3 Opacity",D:true}; diff --git a/.pnpm-store/v3/files/6f/e192ae1841a8d92478dce50993b3512f1886dcdb1586823a3c4745771caf572294c63a4e51105617127f08bf9aa1c7047720699ebe3597006bf70e7d2a33a4 b/.pnpm-store/v3/files/6f/e192ae1841a8d92478dce50993b3512f1886dcdb1586823a3c4745771caf572294c63a4e51105617127f08bf9aa1c7047720699ebe3597006bf70e7d2a33a4 new file mode 100644 index 00000000..9b4c22e9 --- /dev/null +++ b/.pnpm-store/v3/files/6f/e192ae1841a8d92478dce50993b3512f1886dcdb1586823a3c4745771caf572294c63a4e51105617127f08bf9aa1c7047720699ebe3597006bf70e7d2a33a4 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00538,"52":0.0215,"54":0.00538,"59":0.00538,"78":0.02688,"83":0.00538,"88":0.01075,"112":0.00538,"113":0.00538,"115":0.92988,"116":0.00538,"117":0.0215,"118":0.01075,"119":0.01613,"120":0.05913,"121":1.49963,"122":0.33863,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 114 123 124 125 3.5 3.6"},D:{"25":0.0215,"26":0.01075,"34":0.02688,"35":0.0215,"38":0.086,"49":0.01613,"56":0.00538,"59":0.01613,"66":0.03763,"67":0.00538,"74":0.00538,"76":0.00538,"78":0.00538,"79":0.086,"80":0.00538,"81":0.0215,"83":0.01075,"85":0.01075,"86":0.03225,"87":0.06988,"88":0.03225,"89":0.01075,"90":0.0215,"91":0.00538,"92":0.00538,"93":0.0215,"94":0.0215,"96":0.01075,"97":0.01075,"98":0.01075,"99":0.03225,"100":0.03225,"101":0.04838,"102":0.03225,"103":0.17738,"104":0.03763,"105":0.01613,"106":0.01613,"107":0.03225,"108":0.043,"109":0.72563,"110":0.03225,"111":0.03763,"112":0.043,"113":0.03763,"114":0.11825,"115":0.05375,"116":0.41925,"117":0.16663,"118":0.91913,"119":5.977,"120":20.84963,"121":1.25775,"122":0.0215,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 27 28 29 30 31 32 33 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 57 58 60 61 62 63 64 65 68 69 70 71 72 73 75 77 84 95 123 124"},F:{"46":0.02688,"95":0.01075,"102":0.00538,"104":0.01075,"105":0.58588,"106":0.39238,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00538,"107":0.00538,"108":0.00538,"109":0.05913,"110":0.00538,"111":0.00538,"112":0.00538,"113":0.01613,"114":0.01613,"115":0.01075,"116":0.03763,"117":0.01613,"118":0.02688,"119":0.82238,"120":5.1815,"121":2.0855,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106"},E:{"9":0.01075,"13":0.0215,"14":0.10213,"15":0.0215,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.01075,"12.1":0.03763,"13.1":0.16125,"14.1":0.29563,"15.1":0.03763,"15.2-15.3":0.043,"15.4":0.0645,"15.5":0.11825,"15.6":0.74175,"16.0":0.07525,"16.1":0.172,"16.2":0.14513,"16.3":0.32788,"16.4":0.10213,"16.5":0.20963,"16.6":1.247,"17.0":0.13438,"17.1":1.3975,"17.2":1.89738,"17.3":0.10213},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00682,"6.0-6.1":0.01137,"7.0-7.1":0.01137,"8.1-8.4":0.00227,"9.0-9.2":0.00455,"9.3":0.07959,"10.0-10.2":0.00227,"10.3":0.11143,"11.0-11.2":0.11598,"11.3-11.4":0.04548,"12.0-12.1":0.02047,"12.2-12.5":0.42526,"13.0-13.1":0.00455,"13.2":0.00455,"13.3":0.01364,"13.4-13.7":0.03866,"14.0-14.4":0.10461,"14.5-14.8":0.15919,"15.0-15.1":0.06822,"15.2-15.3":0.09096,"15.4":0.09551,"15.5":0.15919,"15.6-15.8":1.23939,"16.0":0.41161,"16.1":0.9574,"16.2":0.42298,"16.3":0.78002,"16.4":0.11825,"16.5":0.26607,"16.6-16.7":3.22242,"17.0":0.28199,"17.1":5.72394,"17.2":7.3613,"17.3":0.37068},P:{"4":0.20066,"20":0.0223,"21":0.10033,"22":0.10033,"23":2.66433,"5.0-5.4":0.03344,"6.2-6.4":0.01115,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0","13.0":0.01115,"16.0":0.01115,"17.0":0.0223,"18.0":0.01115,"19.0":0.04459},I:{"0":0.06437,"3":0.00001,"4":0.00005,"2.1":0.00001,"2.2":0.00003,"2.3":0.00003,"4.1":0.00002,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00016},A:{"8":0.03583,"11":0.12542,_:"6 7 9 10 5.5"},K:{"0":0.17113,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00925},O:{"0":0.06475},H:{"0":0},L:{"0":20.77075},R:{_:"0"},M:{"0":0.34688}}; diff --git a/.pnpm-store/v3/files/6f/e57e9df5bedb620bb8ee7d3addecae10ef0a2a712fc34499c0a256ca694ab348253d11262822ee1eb2f167ff4b0c8c8515fc5b51f20cc3ca33842269ff16e7 b/.pnpm-store/v3/files/6f/e57e9df5bedb620bb8ee7d3addecae10ef0a2a712fc34499c0a256ca694ab348253d11262822ee1eb2f167ff4b0c8c8515fc5b51f20cc3ca33842269ff16e7 new file mode 100644 index 00000000..ed4ed378 --- /dev/null +++ b/.pnpm-store/v3/files/6f/e57e9df5bedb620bb8ee7d3addecae10ef0a2a712fc34499c0a256ca694ab348253d11262822ee1eb2f167ff4b0c8c8515fc5b51f20cc3ca33842269ff16e7 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"N O","2":"C K L G M","257":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VC WC","257":"0 1 2 3 4 5 6 7 8 VB XB YB ZB aB bB cB eB fB gB hB iB jB 8B 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","1281":"WB dB kB"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","257":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","388":"VB WB XB YB ZB aB"},E:{"2":"9 I J XC DC YC ZC","514":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B","2564":"IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB iC jC kC lC 2B QC mC 3B","16":"OB PB QB RB SB","257":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC","4100":"LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"2":"SD"},S:{"257":"TD UD"}},B:5,C:"Push API",D:true}; diff --git a/.pnpm-store/v3/files/70/5711d2eeef7447be01e08fd0eb158536c51e78fe62ee3d7e50479c3c81fd35ceb144707d196ab46acfec46ef75be0dd3619467ba9b42597544553eaabbc06b b/.pnpm-store/v3/files/70/5711d2eeef7447be01e08fd0eb158536c51e78fe62ee3d7e50479c3c81fd35ceb144707d196ab46acfec46ef75be0dd3619467ba9b42597544553eaabbc06b new file mode 100644 index 00000000..6fe64e37 --- /dev/null +++ b/.pnpm-store/v3/files/70/5711d2eeef7447be01e08fd0eb158536c51e78fe62ee3d7e50479c3c81fd35ceb144707d196ab46acfec46ef75be0dd3619467ba9b42597544553eaabbc06b @@ -0,0 +1,32 @@ +"use strict"; +// Mediocre shim +var Worker; +var workerAdd = ";var __w=require('worker_threads');__w.parentPort.on('message',function(m){onmessage({data:m})}),postMessage=function(m,t){__w.parentPort.postMessage(m,t)},close=process.exit;self=global"; +try { + Worker = require('worker_threads').Worker; +} +catch (e) { +} +exports.default = Worker ? function (c, _, msg, transfer, cb) { + var done = false; + var w = new Worker(c + workerAdd, { eval: true }) + .on('error', function (e) { return cb(e, null); }) + .on('message', function (m) { return cb(null, m); }) + .on('exit', function (c) { + if (c && !done) + cb(new Error('exited with code ' + c), null); + }); + w.postMessage(msg, transfer); + w.terminate = function () { + done = true; + return Worker.prototype.terminate.call(w); + }; + return w; +} : function (_, __, ___, ____, cb) { + setImmediate(function () { return cb(new Error('async operations unsupported - update to Node 12+ (or Node 10-11 with the --experimental-worker CLI flag)'), null); }); + var NOP = function () { }; + return { + terminate: NOP, + postMessage: NOP + }; +}; diff --git a/.pnpm-store/v3/files/70/591a398aa7b0ab7b57f95549f4f335fd45e48f28ac590094c6493897edd4bfc6bde68095bb817302f15a58d6eb7ca40b4a125c533203468925fac567029d41 b/.pnpm-store/v3/files/70/591a398aa7b0ab7b57f95549f4f335fd45e48f28ac590094c6493897edd4bfc6bde68095bb817302f15a58d6eb7ca40b4a125c533203468925fac567029d41 new file mode 100644 index 00000000..db52fe5c --- /dev/null +++ b/.pnpm-store/v3/files/70/591a398aa7b0ab7b57f95549f4f335fd45e48f28ac590094c6493897edd4bfc6bde68095bb817302f15a58d6eb7ca40b4a125c533203468925fac567029d41 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F SC","164":"A"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I VC WC","8":"J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","328":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r","8":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB","584":"dB eB fB"},E:{"1":"K L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC","8":"D E F A B C ZC aC bC EC 2B","1096":"3B"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","8":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB","584":"QB RB SB"},G:{"1":"1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","8":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC","6148":"0C"},H:{"2":"9C"},I:{"1":"H","8":"7B I AD BD CD DD RC ED FD"},J:{"8":"D A"},K:{"1":"u","2":"A","8":"B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","36":"A"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"GD","8":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","328":"TD"}},B:2,C:"Pointer events",D:true}; diff --git a/.pnpm-store/v3/files/70/7137d8c0b08824ebbf9f68071e1756271e1bd813b2b30352a9af23c99a9eaf3e4bacdbe6bc6ffeee448992b3f327cb6d9cb3c2cb593b73fa2a56d778e10f59 b/.pnpm-store/v3/files/70/7137d8c0b08824ebbf9f68071e1756271e1bd813b2b30352a9af23c99a9eaf3e4bacdbe6bc6ffeee448992b3f327cb6d9cb3c2cb593b73fa2a56d778e10f59 new file mode 100644 index 00000000..1a6c2707 --- /dev/null +++ b/.pnpm-store/v3/files/70/7137d8c0b08824ebbf9f68071e1756271e1bd813b2b30352a9af23c99a9eaf3e4bacdbe6bc6ffeee448992b3f327cb6d9cb3c2cb593b73fa2a56d778e10f59 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB VC WC","322":"jB","578":"8B kB 9B lB"},D:{"1":"0 1 2 3 4 5 6 7 8 eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB iC jC kC lC 2B QC mC 3B"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC","132":"uC vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I","4":"GD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:5,C:"Shadow DOM (V1)",D:true}; diff --git a/.pnpm-store/v3/files/70/b05c27788f06dae15bfd065ea4e68c286c8e50a82741ff5137a025ad061c86e21f5918c19a4576bc2c57f2a946010462bf4b3afb21a5f01e245d732883fe3f b/.pnpm-store/v3/files/70/b05c27788f06dae15bfd065ea4e68c286c8e50a82741ff5137a025ad061c86e21f5918c19a4576bc2c57f2a946010462bf4b3afb21a5f01e245d732883fe3f new file mode 100644 index 00000000..976a1250 --- /dev/null +++ b/.pnpm-store/v3/files/70/b05c27788f06dae15bfd065ea4e68c286c8e50a82741ff5137a025ad061c86e21f5918c19a4576bc2c57f2a946010462bf4b3afb21a5f01e245d732883fe3f @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","129":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB VC WC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","129":"0 1 2 3 4 5 6 7 8 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","450":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB"},E:{"1":"HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K XC DC YC ZC aC bC EC 2B 3B FC","578":"L G cC dC GC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB iC jC kC lC 2B QC mC 3B","129":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","450":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},G:{"1":"HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C","578":"5C 6C GC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"129":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID"},Q:{"129":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:5,C:"CSS Scroll-behavior",D:true}; diff --git a/.pnpm-store/v3/files/70/ed26e47480332f635baba1cb1ebc26e007d65c79dc310dd88654f93bbb5b07ae86950485c927af5af101ffded17f1c37a080f54b6c2a578fcff0d82cf65cf5 b/.pnpm-store/v3/files/70/ed26e47480332f635baba1cb1ebc26e007d65c79dc310dd88654f93bbb5b07ae86950485c927af5af101ffded17f1c37a080f54b6c2a578fcff0d82cf65cf5 new file mode 100644 index 00000000..42fc41d9 --- /dev/null +++ b/.pnpm-store/v3/files/70/ed26e47480332f635baba1cb1ebc26e007d65c79dc310dd88654f93bbb5b07ae86950485c927af5af101ffded17f1c37a080f54b6c2a578fcff0d82cf65cf5 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B","260":"9 I J D E F A B C K L G M N O AB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A YC ZC aC bC EC","2":"XC DC","513":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p kC lC 2B QC mC 3B","2":"F iC jC"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC","513":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H CD DD RC ED FD","132":"AD BD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Video element",D:true}; diff --git a/.pnpm-store/v3/files/70/f254e3b39a02809b834a41bf3b20a533e19a1a88e5e26387f248bbcb4f8f9abe4fb88bbd6fc901852a984eca381e11d59c8487305a210a50a5aadd045e73f0-index.json b/.pnpm-store/v3/files/70/f254e3b39a02809b834a41bf3b20a533e19a1a88e5e26387f248bbcb4f8f9abe4fb88bbd6fc901852a984eca381e11d59c8487305a210a50a5aadd045e73f0-index.json new file mode 100644 index 00000000..26ed0651 --- /dev/null +++ b/.pnpm-store/v3/files/70/f254e3b39a02809b834a41bf3b20a533e19a1a88e5e26387f248bbcb4f8f9abe4fb88bbd6fc901852a984eca381e11d59c8487305a210a50a5aadd045e73f0-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001725514,"integrity":"sha512-OMaLA7iUACeVI9iO9DuVLHVNGexO2U3koCfqj7rVz6i9kwr7UvNYWO1a14dJr1b9VZFHDUBUYiu+rzTwqhYs5A==","mode":420,"size":1069},"lib/browser.cjs":{"checkedAt":1708001725515,"integrity":"sha512-M/w3IG5leB8m/kKx0EweHePmfPSgyUDOTyMWSgn0Qx77wosq6KHVQ2oOxOAfMlISkaRGJFKCEWp9FdKq2i1KDA==","mode":420,"size":89841},"lib/index.cjs":{"checkedAt":1708001725515,"integrity":"sha512-j2JwhjfkVsML0qRrvnhmg3woD21QmrbF7GY/mN6hVHRWohmRd9coU4wWz9Rvi+0la/2fGhKvphFEVoTdPv7VKw==","mode":420,"size":89235},"lib/node-worker.cjs":{"checkedAt":1708001725515,"integrity":"sha512-cFcR0u7vdEe+AeCP0OsVhTbFHnj+Yu49flBHnDyB/TXOsURwfRlqtGrP7Ebvdb4N02GUZ7qbQll1RFU+qrvAaw==","mode":420,"size":1175},"lib/node.cjs":{"checkedAt":1708001725516,"integrity":"sha512-2KPkxOoPZEP5fvBKZZVHraDMndgKtXN0YuckaDKcplnhsKYVk3WR6UWzdJTv3iB6EbOpTCdjAV4vKlG/saaSYw==","mode":420,"size":90380},"lib/worker.cjs":{"checkedAt":1708001725516,"integrity":"sha512-uAleh5Q7/NOOAbifkoF6RhjSysNwxePMtTmo595YqeA7eHIBDw4uSAUQ2bLn2mdZgI8H0TgVMgpeaNJ7nyN4Iw==","mode":420,"size":636},"lib/browser.d.cts":{"checkedAt":1708001725516,"integrity":"sha512-4+cHIdmkCQInZspPZxNqolhQN5ipCjxmZbTXo9LHoquPTBTO0U6r9JdiArRj2D+vXgRygmh3oLcTerttleHA0g==","mode":420,"size":50889},"lib/node.d.cts":{"checkedAt":1708001725516,"integrity":"sha512-4+cHIdmkCQInZspPZxNqolhQN5ipCjxmZbTXo9LHoquPTBTO0U6r9JdiArRj2D+vXgRygmh3oLcTerttleHA0g==","mode":420,"size":50889},"esm/browser.js":{"checkedAt":1708001725517,"integrity":"sha512-gH9oVaTxuvW0p8fHUZfzRR00Ew1gDV6jkRDF2i0i1LXDDCDScK3JLaCiQkw7D4aOllF3JaB3QA0e+jQua2vAVA==","mode":420,"size":89198},"umd/index.js":{"checkedAt":1708001725517,"integrity":"sha512-8l6PLZDUdQBuIjsM0vEKUCup9KP+EsB6NlvUtFrDneI1JoIvIJGmxIoiq0qnA31BeKdAwYcTk0TQg71AX9HgRA==","mode":420,"size":32665},"package.json":{"checkedAt":1708001725517,"integrity":"sha512-zmzWOG3LdJ9OdV+X4IYAcr6Ua3779RVMNQUs36Kc4kzxBxga+Bw/uGbp4gulFpOBA08c2FtjcsF+9Z63s5qXdg==","mode":420,"size":3482},"CHANGELOG.md":{"checkedAt":1708001725517,"integrity":"sha512-5smpSynNQoOL1LUy8aFqvxUM3cFvTN9kNCT4fQbq1sSPG6P95OuCRcOiAUeTkb/Vomdsx0Fa2oQPbvdRTgS5Rw==","mode":420,"size":4099},"README.md":{"checkedAt":1708001725517,"integrity":"sha512-URyUW8YjF6KbEif51+9Z8PzNJ6vZ1TMbbDuwfA2fuZI/4nPyZELysoiL8TfIokHKH6uI59Mp4fiyAAfWdLQOgg==","mode":420,"size":27362},"esm/index.mjs":{"checkedAt":1708001725518,"integrity":"sha512-r+bkbknrCTTNp5vZefBulfYMkftDzm3o3r1fjCf8wZXjYhM45rSS9p7xWzwb+sAyWKIpkFzhiSnVWZbRw3yb4A==","mode":420,"size":89811},"esm/index.d.mts":{"checkedAt":1708001725516,"integrity":"sha512-4+cHIdmkCQInZspPZxNqolhQN5ipCjxmZbTXo9LHoquPTBTO0U6r9JdiArRj2D+vXgRygmh3oLcTerttleHA0g==","mode":420,"size":50889},"esm/browser.d.ts":{"checkedAt":1708001725516,"integrity":"sha512-4+cHIdmkCQInZspPZxNqolhQN5ipCjxmZbTXo9LHoquPTBTO0U6r9JdiArRj2D+vXgRygmh3oLcTerttleHA0g==","mode":420,"size":50889},"lib/index.d.ts":{"checkedAt":1708001725516,"integrity":"sha512-4+cHIdmkCQInZspPZxNqolhQN5ipCjxmZbTXo9LHoquPTBTO0U6r9JdiArRj2D+vXgRygmh3oLcTerttleHA0g==","mode":420,"size":50889}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/71/2398b9035ab7153275ef016be1436b9ace6ea7063186e1fda74940dce5c88f2b3469f932ac8f0493b61edbea681dd08542bae81813b6a86810c5f8e5ef1f03 b/.pnpm-store/v3/files/71/2398b9035ab7153275ef016be1436b9ace6ea7063186e1fda74940dce5c88f2b3469f932ac8f0493b61edbea681dd08542bae81813b6a86810c5f8e5ef1f03 new file mode 100644 index 00000000..5f26aefc --- /dev/null +++ b/.pnpm-store/v3/files/71/2398b9035ab7153275ef016be1436b9ace6ea7063186e1fda74940dce5c88f2b3469f932ac8f0493b61edbea681dd08542bae81813b6a86810c5f8e5ef1f03 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","388":"B"},B:{"257":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","260":"C K L","769":"G M N O"},C:{"2":"9 TC 7B I VC WC","4":"J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","257":"0 1 2 3 4 5 6 7 8 fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N O AB q","4":"r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","257":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D XC DC YC ZC","4":"E F aC bC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","4":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB","257":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC","4":"E qC rC sC tC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC","4":"ED FD","257":"H"},J:{"2":"D","4":"A"},K:{"2":"A B C 2B QC 3B","257":"u"},L:{"257":"H"},M:{"257":"1B"},N:{"2":"A","388":"B"},O:{"257":"4B"},P:{"4":"I","257":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"257":"FC"},R:{"257":"SD"},S:{"4":"TD","257":"UD"}},B:6,C:"ECMAScript 2015 (ES6)",D:true}; diff --git a/.pnpm-store/v3/files/71/33651fb7394cb86af678b624a3569c67636ca958f5e7cc4b221545d76c8c36defcd78995b4d7d688db943661f3e0741e570e30c54ae8b1f5f2d267825bec34 b/.pnpm-store/v3/files/71/33651fb7394cb86af678b624a3569c67636ca958f5e7cc4b221545d76c8c36defcd78995b4d7d688db943661f3e0741e570e30c54ae8b1f5f2d267825bec34 new file mode 100644 index 00000000..d72bf6ca --- /dev/null +++ b/.pnpm-store/v3/files/71/33651fb7394cb86af678b624a3569c67636ca958f5e7cc4b221545d76c8c36defcd78995b4d7d688db943661f3e0741e570e30c54ae8b1f5f2d267825bec34 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D SC","129":"E F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC"},H:{"2":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"129":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"CSS zoom",D:true}; diff --git a/.pnpm-store/v3/files/71/636f1c299988b7d4d1ebf2111635684a2aec85de7e443c3a9c43afbdb8de03bde34e213c9fc85d387cbbb412666a7f699de66cde2f9d30447210b4ebcd23dd b/.pnpm-store/v3/files/71/636f1c299988b7d4d1ebf2111635684a2aec85de7e443c3a9c43afbdb8de03bde34e213c9fc85d387cbbb412666a7f699de66cde2f9d30447210b4ebcd23dd new file mode 100644 index 00000000..17b19e07 --- /dev/null +++ b/.pnpm-store/v3/files/71/636f1c299988b7d4d1ebf2111635684a2aec85de7e443c3a9c43afbdb8de03bde34e213c9fc85d387cbbb412666a7f699de66cde2f9d30447210b4ebcd23dd @@ -0,0 +1 @@ +module.exports={C:{"87":3.85,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 3.5 3.6"},D:{"120":36.54,"121":57.69,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 122 123 124"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"121":0.96,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.1 17.3 17.4","17.2":0.96},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.5":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0,"14.5-14.8":0,"15.0-15.1":0,"15.2-15.3":0,"15.4":0,"15.5":0,"15.6-15.8":0,"16.0":0,"16.1":0,"16.2":0,"16.3":0,"16.4":0,"16.5":0,"16.6-16.7":0,"17.0":0,"17.1":0,"17.2":0,"17.3":0},P:{_:"4 20 21 22 23 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{_:"0"},H:{"0":0},L:{_:"0"},R:{_:"0"},M:{_:"0"}}; diff --git a/.pnpm-store/v3/files/71/6d6c26a158ce6be9529b15ac5a4c1e51f8d6123c6ea4daf031013a1c28cd2fdd40fc55bc1e71b365f8edb9ca9d93ff20717930afa35f983b21061d8bf37f17 b/.pnpm-store/v3/files/71/6d6c26a158ce6be9529b15ac5a4c1e51f8d6123c6ea4daf031013a1c28cd2fdd40fc55bc1e71b365f8edb9ca9d93ff20717930afa35f983b21061d8bf37f17 new file mode 100644 index 00000000..38740d28 --- /dev/null +++ b/.pnpm-store/v3/files/71/6d6c26a158ce6be9529b15ac5a4c1e51f8d6123c6ea4daf031013a1c28cd2fdd40fc55bc1e71b365f8edb9ca9d93ff20717930afa35f983b21061d8bf37f17 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J SC","132":"D E"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC"},H:{"1":"9C"},I:{"1":"7B I H DD RC ED FD","2":"AD BD CD"},J:{"1":"A","2":"D"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Server Name Indication",D:true}; diff --git a/.pnpm-store/v3/files/71/953b27cc29056c58ee78e41e8101914fa8c21344ee4df0c8cfa369dd7b05ceed9f7cddda86c35e741fa20f951eeeca89330a12da71dc5acdf23625fce04e46 b/.pnpm-store/v3/files/71/953b27cc29056c58ee78e41e8101914fa8c21344ee4df0c8cfa369dd7b05ceed9f7cddda86c35e741fa20f951eeeca89330a12da71dc5acdf23625fce04e46 new file mode 100644 index 00000000..e22072de --- /dev/null +++ b/.pnpm-store/v3/files/71/953b27cc29056c58ee78e41e8101914fa8c21344ee4df0c8cfa369dd7b05ceed9f7cddda86c35e741fa20f951eeeca89330a12da71dc5acdf23625fce04e46 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC","16":"J"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","2":"D"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"ChildNode.remove()",D:true}; diff --git a/.pnpm-store/v3/files/71/9ebc25faa6c6af621f0a3289d4d57e5f83630a64821694fdcd7ca79c9d6d3430bffb7ccafabbe60a77c278e9529c73bbee2ddc08a7408961460bef10491da5 b/.pnpm-store/v3/files/71/9ebc25faa6c6af621f0a3289d4d57e5f83630a64821694fdcd7ca79c9d6d3430bffb7ccafabbe60a77c278e9529c73bbee2ddc08a7408961460bef10491da5 new file mode 100644 index 00000000..edc78d3c --- /dev/null +++ b/.pnpm-store/v3/files/71/9ebc25faa6c6af621f0a3289d4d57e5f83630a64821694fdcd7ca79c9d6d3430bffb7ccafabbe60a77c278e9529c73bbee2ddc08a7408961460bef10491da5 @@ -0,0 +1,73 @@ +{ + "name": "ignore", + "version": "5.3.1", + "description": "Ignore is a manager and filter for .gitignore rules, the one used by eslint, gitbook and many others.", + "files": [ + "legacy.js", + "index.js", + "index.d.ts", + "LICENSE-MIT" + ], + "scripts": { + "prepublishOnly": "npm run build", + "build": "babel -o legacy.js index.js", + "test:lint": "eslint .", + "test:tsc": "tsc ./test/ts/simple.ts --lib ES6", + "test:ts": "node ./test/ts/simple.js", + "tap": "tap --reporter classic", + "test:git": "npm run tap test/git-check-ignore.js", + "test:ignore": "npm run tap test/ignore.js", + "test:others": "npm run tap test/others.js", + "test:cases": "npm run tap test/*.js -- --coverage", + "test:no-coverage": "npm run tap test/*.js -- --no-check-coverage", + "test:only": "npm run test:lint && npm run test:tsc && npm run test:ts && npm run test:cases", + "test": "npm run test:only", + "test:win32": "IGNORE_TEST_WIN32=1 npm run test", + "report": "tap --coverage-report=html", + "posttest": "npm run report && codecov" + }, + "repository": { + "type": "git", + "url": "git@github.com:kaelzhang/node-ignore.git" + }, + "keywords": [ + "ignore", + ".gitignore", + "gitignore", + "npmignore", + "rules", + "manager", + "filter", + "regexp", + "regex", + "fnmatch", + "glob", + "asterisks", + "regular-expression" + ], + "author": "kael", + "license": "MIT", + "bugs": { + "url": "https://github.com/kaelzhang/node-ignore/issues" + }, + "devDependencies": { + "@babel/cli": "^7.22.9", + "@babel/core": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "codecov": "^3.8.2", + "debug": "^4.3.4", + "eslint": "^8.46.0", + "eslint-config-ostai": "^3.0.0", + "eslint-plugin-import": "^2.28.0", + "mkdirp": "^3.0.1", + "pre-suf": "^1.1.1", + "rimraf": "^5.0.1", + "spawn-sync": "^2.0.0", + "tap": "^16.3.9", + "tmp": "0.2.1", + "typescript": "^5.1.6" + }, + "engines": { + "node": ">= 4" + } +} diff --git a/.pnpm-store/v3/files/71/b9dbada3fcf0cf2811df2e381e729f2f88da15c204680a5064aa7358a4b5a58149b436a3bd1d3c197b5fdef770176a3094a4c0b233af20246d4ed29eb8a3e0 b/.pnpm-store/v3/files/71/b9dbada3fcf0cf2811df2e381e729f2f88da15c204680a5064aa7358a4b5a58149b436a3bd1d3c197b5fdef770176a3094a4c0b233af20246d4ed29eb8a3e0 new file mode 100644 index 00000000..63c7a8cb --- /dev/null +++ b/.pnpm-store/v3/files/71/b9dbada3fcf0cf2811df2e381e729f2f88da15c204680a5064aa7358a4b5a58149b436a3bd1d3c197b5fdef770176a3094a4c0b233af20246d4ed29eb8a3e0 @@ -0,0 +1 @@ +module.exports={C:{"115":0.01666,"121":0.03331,"122":0.1624,"123":0.03331,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 124 125 3.5 3.6"},D:{"95":0.27482,"103":0.32479,"108":0.03331,"109":0.1624,"115":0.01666,"118":0.01666,"119":0.30814,"120":23.38919,"121":1.57399,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 104 105 106 107 110 111 112 113 114 116 117 122 123 124"},F:{"105":0.03331,"106":0.47053,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"119":0.04997,"120":5.03011,"121":0.58296,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118"},E:{"15":0.03331,_:"0 4 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 14.1 15.1 15.2-15.3 16.0 16.2 17.0 17.4","13.1":0.11243,"15.4":1.73639,"15.5":0.01666,"15.6":0.24151,"16.1":0.17905,"16.3":0.43722,"16.4":0.03331,"16.5":0.01666,"16.6":1.28251,"17.1":1.50737,"17.2":1.18258,"17.3":0.09577},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00254,"5.0-5.1":0.00382,"6.0-6.1":0.00636,"7.0-7.1":0.00891,"8.1-8.4":0.00127,"9.0-9.2":0.00763,"9.3":0.02926,"10.0-10.2":0.00254,"10.3":0.0458,"11.0-11.2":0.01781,"11.3-11.4":0.01908,"12.0-12.1":0.01145,"12.2-12.5":0.22646,"13.0-13.1":0.00382,"13.2":0.04198,"13.3":0.01145,"13.4-13.7":0.05089,"14.0-14.4":0.08906,"14.5-14.8":0.13613,"15.0-15.1":0.05852,"15.2-15.3":0.06743,"15.4":0.07888,"15.5":0.10432,"15.6-15.8":0.81297,"16.0":0.24427,"16.1":0.52035,"16.2":0.23664,"16.3":0.4402,"16.4":0.09796,"16.5":0.20865,"16.6-16.7":1.70736,"17.0":0.28371,"17.1":2.9249,"17.2":3.95924,"17.3":0.25445},P:{"20":0.03213,"22":0.30526,"23":3.06869,_:"4 21 5.0-5.4 6.2-6.4 8.2 9.2 11.1-11.2 12.0 13.0 15.0 16.0 18.0","7.2-7.4":0.03213,"10.1":0.03213,"14.0":0.0964,"17.0":0.30526,"19.0":0.16066},I:{"0":0.10459,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00027},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.05252,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{_:"0"},H:{"0":0},L:{"0":43.30347},R:{_:"0"},M:{"0":0.02334}}; diff --git a/.pnpm-store/v3/files/71/c1a6d3a4dac5378a7fa6293d8e672b1217993d3eb64f7e685fb3a9dc546b643f45c2101e55d593ac2e2a50a34e96c087147ce81668952f64a45d33c6314e8a b/.pnpm-store/v3/files/71/c1a6d3a4dac5378a7fa6293d8e672b1217993d3eb64f7e685fb3a9dc546b643f45c2101e55d593ac2e2a50a34e96c087147ce81668952f64a45d33c6314e8a new file mode 100644 index 00000000..57860f74 --- /dev/null +++ b/.pnpm-store/v3/files/71/c1a6d3a4dac5378a7fa6293d8e672b1217993d3eb64f7e685fb3a9dc546b643f45c2101e55d593ac2e2a50a34e96c087147ce81668952f64a45d33c6314e8a @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC WC","2":"TC 7B VC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","2":"A"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:7,C:"CSS pointer-events (for HTML)",D:true}; diff --git a/.pnpm-store/v3/files/72/660a898a8dbece31a445e4ad7cefa9e2700d60fae6794b59d33657ef4ede9d17b4c61106bab2b86a66669337f348979a92a97d3467b6549a892891fc6d955e b/.pnpm-store/v3/files/72/660a898a8dbece31a445e4ad7cefa9e2700d60fae6794b59d33657ef4ede9d17b4c61106bab2b86a66669337f348979a92a97d3467b6549a892891fc6d955e new file mode 100644 index 00000000..7cc1e3d3 --- /dev/null +++ b/.pnpm-store/v3/files/72/660a898a8dbece31a445e4ad7cefa9e2700d60fae6794b59d33657ef4ede9d17b4c61106bab2b86a66669337f348979a92a97d3467b6549a892891fc6d955e @@ -0,0 +1 @@ +{"version":3,"sources":["../src/index.ts","../src/comments.ts","../src/tokens.ts","../src/compilerOptions.ts","../src/flags.ts","../src/modifiers.ts","../src/nodes/typeGuards/compound.ts","../src/nodes/typeGuards/single.ts","../src/nodes/typeGuards/union.ts","../src/utils.ts","../src/scopes.ts","../src/syntax.ts","../src/types/getters.ts","../src/types/typeGuards/intrinsic.ts","../src/types/typeGuards/objects.ts","../src/types/typeGuards/single.ts","../src/types/typeGuards/compound.ts","../src/types/typeGuards/literal.ts","../src/types/utilities.ts","../src/nodes/utilities.ts","../src/usage/UsageWalker.ts","../src/usage/Scope.ts","../src/usage/declarations.ts","../src/usage/utils.ts","../src/usage/getPropertyName.ts","../src/usage/getUsageDomain.ts","../src/usage/scopes.ts","../src/usage/collectVariableUsage.ts"],"sourcesContent":["export * from \"./comments\";\nexport * from \"./compilerOptions\";\nexport * from \"./flags\";\nexport * from \"./modifiers\";\nexport * from \"./nodes\";\nexport * from \"./scopes\";\nexport * from \"./syntax\";\nexport * from \"./tokens\";\nexport * from \"./types\";\nexport * from \"./usage\";\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport { forEachToken } from \"./tokens\";\n\n/**\n * Exclude trailing positions that would lead to scanning for trivia inside `JsxText`.\n * @internal\n */\nfunction canHaveTrailingTrivia(token: ts.Node): boolean {\n\tswitch (token.kind) {\n\t\tcase ts.SyntaxKind.CloseBraceToken:\n\t\t\t// after a JsxExpression inside a JsxElement's body can only be other JsxChild, but no trivia\n\t\t\treturn (\n\t\t\t\ttoken.parent.kind !== ts.SyntaxKind.JsxExpression ||\n\t\t\t\t!isJsxElementOrFragment(token.parent.parent)\n\t\t\t);\n\t\tcase ts.SyntaxKind.GreaterThanToken:\n\t\t\tswitch (token.parent.kind) {\n\t\t\t\tcase ts.SyntaxKind.JsxOpeningElement:\n\t\t\t\t\t// if end is not equal, this is part of the type arguments list. in all other cases it would be inside the element body\n\t\t\t\t\treturn token.end !== token.parent.end;\n\t\t\t\tcase ts.SyntaxKind.JsxOpeningFragment:\n\t\t\t\t\treturn false; // would be inside the fragment\n\t\t\t\tcase ts.SyntaxKind.JsxSelfClosingElement:\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttoken.end !== token.parent.end || // if end is not equal, this is part of the type arguments list\n\t\t\t\t\t\t!isJsxElementOrFragment(token.parent.parent)\n\t\t\t\t\t); // there's only trailing trivia if it's the end of the top element\n\t\t\t\tcase ts.SyntaxKind.JsxClosingElement:\n\t\t\t\tcase ts.SyntaxKind.JsxClosingFragment:\n\t\t\t\t\t// there's only trailing trivia if it's the end of the top element\n\t\t\t\t\treturn !isJsxElementOrFragment(token.parent.parent.parent);\n\t\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n * Test if a node is a `JsxElement` or `JsxFragment`.\n * @internal\n */\nfunction isJsxElementOrFragment(\n\tnode: ts.Node,\n): node is ts.JsxElement | ts.JsxFragment {\n\treturn (\n\t\tnode.kind === ts.SyntaxKind.JsxElement ||\n\t\tnode.kind === ts.SyntaxKind.JsxFragment\n\t);\n}\n\n/**\n * Callback type used for {@link forEachComment}.\n * @category Callbacks\n */\nexport type ForEachCommentCallback = (\n\tfullText: string,\n\tcomment: ts.CommentRange,\n) => void;\n\n/**\n * Iterates over all comments owned by `node` or its children.\n * @category Nodes - Other Utilities\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * forEachComment(node, (fullText, comment) => {\n * console.log(`Found comment at position ${comment.pos}: '${fullText}'.`);\n * });\n * ```\n */\nexport function forEachComment(\n\tnode: ts.Node,\n\tcallback: ForEachCommentCallback,\n\tsourceFile: ts.SourceFile = node.getSourceFile(),\n): void {\n\t/* Visit all tokens and skip trivia.\n Comment ranges between tokens are parsed without the need of a scanner.\n forEachTokenWithWhitespace does intentionally not pay attention to the correct comment ownership of nodes as it always\n scans all trivia before each token, which could include trailing comments of the previous token.\n Comment ownership is done right in this function*/\n\tconst fullText = sourceFile.text;\n\tconst notJsx = sourceFile.languageVariant !== ts.LanguageVariant.JSX;\n\treturn forEachToken(\n\t\tnode,\n\t\t(token) => {\n\t\t\tif (token.pos === token.end) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (token.kind !== ts.SyntaxKind.JsxText) {\n\t\t\t\tts.forEachLeadingCommentRange(\n\t\t\t\t\tfullText,\n\t\t\t\t\t// skip shebang at position 0\n\t\t\t\t\ttoken.pos === 0 ? (ts.getShebang(fullText) ?? \"\").length : token.pos,\n\t\t\t\t\tcommentCallback,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (notJsx || canHaveTrailingTrivia(token)) {\n\t\t\t\treturn ts.forEachTrailingCommentRange(\n\t\t\t\t\tfullText,\n\t\t\t\t\ttoken.end,\n\t\t\t\t\tcommentCallback,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tsourceFile,\n\t);\n\tfunction commentCallback(pos: number, end: number, kind: ts.CommentKind) {\n\t\tcallback(fullText, { end, kind, pos });\n\t}\n}\n","// Code largely based on ajafff/tsutils:\n// https://github.com/ajafff/tsutils/blob/03b4df15d14702f9c7a128ac3fae77171778d613/util/util.ts\n// Original license MIT:\n// https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\n/**\n * Callback type used for {@link forEachToken}.\n * @category Callbacks\n */\nexport type ForEachTokenCallback = (token: ts.Node) => void;\n\n/**\n * Iterates over all tokens of `node`\n * @category Nodes - Other Utilities\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * forEachToken(node, (token) => {\n * \tconsole.log(\"Found token:\", token.getText());\n * });\n * ```\n * @param node - The node whose tokens should be visited\n * @param callback - Is called for every token contained in `node`\n */\nexport function forEachToken(\n\tnode: ts.Node,\n\tcallback: ForEachTokenCallback,\n\tsourceFile: ts.SourceFile = node.getSourceFile(),\n): void {\n\tconst queue = [];\n\twhile (true) {\n\t\tif (ts.isTokenKind(node.kind)) {\n\t\t\tcallback(node);\n\t\t} else if (\n\t\t\t// eslint-disable-next-line deprecation/deprecation -- need for support of TS < 4.7\n\t\t\tnode.kind !== ts.SyntaxKind.JSDocComment\n\t\t) {\n\t\t\tconst children = node.getChildren(sourceFile);\n\t\t\tif (children.length === 1) {\n\t\t\t\tnode = children[0];\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// add children in reverse order, when we pop the next element from the queue, it's the first child\n\t\t\tfor (let i = children.length - 1; i >= 0; --i) {\n\t\t\t\tqueue.push(children[i]);\n\t\t\t}\n\t\t}\n\n\t\tif (queue.length === 0) {\n\t\t\tbreak;\n\t\t}\n\n\t\tnode = queue.pop()!;\n\t}\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\n/**\n * An option that can be tested with {@link isCompilerOptionEnabled}.\n * @category Compiler Options\n */\nexport type BooleanCompilerOptions = keyof {\n\t[K in keyof ts.CompilerOptions as NonNullable<\n\t\tts.CompilerOptions[K]\n\t> extends boolean\n\t\t? K\n\t\t: never]: unknown;\n};\n\n/**\n * Checks if a given compiler option is enabled.\n * It handles dependencies of options, e.g. `declaration` is implicitly enabled by `composite` or `strictNullChecks` is enabled by `strict`.\n * However, it does not check dependencies that are already checked and reported as errors, e.g. `checkJs` without `allowJs`.\n * This function only handles boolean flags.\n * @category Compiler Options\n * @example\n * ```ts\n * const options = {\n * \tallowJs: true,\n * };\n *\n * isCompilerOptionEnabled(options, \"allowJs\"); // true\n * isCompilerOptionEnabled(options, \"allowSyntheticDefaultImports\"); // false\n * ```\n */\nexport function isCompilerOptionEnabled(\n\toptions: ts.CompilerOptions,\n\toption: BooleanCompilerOptions,\n): boolean {\n\tswitch (option) {\n\t\tcase \"stripInternal\":\n\t\tcase \"declarationMap\":\n\t\tcase \"emitDeclarationOnly\":\n\t\t\treturn (\n\t\t\t\toptions[option] === true &&\n\t\t\t\tisCompilerOptionEnabled(options, \"declaration\")\n\t\t\t);\n\t\tcase \"declaration\":\n\t\t\treturn (\n\t\t\t\toptions.declaration || isCompilerOptionEnabled(options, \"composite\")\n\t\t\t);\n\t\tcase \"incremental\":\n\t\t\treturn options.incremental === undefined\n\t\t\t\t? isCompilerOptionEnabled(options, \"composite\")\n\t\t\t\t: options.incremental;\n\t\tcase \"skipDefaultLibCheck\":\n\t\t\treturn (\n\t\t\t\toptions.skipDefaultLibCheck ||\n\t\t\t\tisCompilerOptionEnabled(options, \"skipLibCheck\")\n\t\t\t);\n\t\tcase \"suppressImplicitAnyIndexErrors\":\n\t\t\treturn (\n\t\t\t\toptions.suppressImplicitAnyIndexErrors === true &&\n\t\t\t\tisCompilerOptionEnabled(options, \"noImplicitAny\")\n\t\t\t);\n\t\tcase \"allowSyntheticDefaultImports\":\n\t\t\treturn options.allowSyntheticDefaultImports !== undefined\n\t\t\t\t? options.allowSyntheticDefaultImports\n\t\t\t\t: isCompilerOptionEnabled(options, \"esModuleInterop\") ||\n\t\t\t\t\t\toptions.module === ts.ModuleKind.System;\n\t\tcase \"noUncheckedIndexedAccess\":\n\t\t\treturn (\n\t\t\t\toptions.noUncheckedIndexedAccess === true &&\n\t\t\t\tisCompilerOptionEnabled(options, \"strictNullChecks\")\n\t\t\t);\n\t\tcase \"allowJs\":\n\t\t\treturn options.allowJs === undefined\n\t\t\t\t? isCompilerOptionEnabled(options, \"checkJs\")\n\t\t\t\t: options.allowJs;\n\t\tcase \"noImplicitAny\":\n\t\tcase \"noImplicitThis\":\n\t\tcase \"strictNullChecks\":\n\t\tcase \"strictFunctionTypes\":\n\t\tcase \"strictPropertyInitialization\":\n\t\tcase \"alwaysStrict\":\n\t\tcase \"strictBindCallApply\":\n\t\t\ttype AssertEqual = U; // make sure all strict options are handled here\n\t\t\treturn isStrictCompilerOptionEnabled(\n\t\t\t\toptions,\n\t\t\t\toption as AssertEqual,\n\t\t\t);\n\t}\n\n\treturn options[option] === true;\n}\n\n/**\n * An option that can be tested with {@link isStrictCompilerOptionEnabled}.\n * @category Compiler Options\n */\nexport type StrictCompilerOption =\n\t| \"alwaysStrict\"\n\t| \"noImplicitAny\"\n\t| \"noImplicitThis\"\n\t| \"strictBindCallApply\"\n\t| \"strictFunctionTypes\"\n\t| \"strictNullChecks\"\n\t| \"strictPropertyInitialization\";\n\n/**\n * Checks if a given compiler option is enabled, accounting for whether all flags\n * (except `strictPropertyInitialization`) have been enabled by `strict: true`.\n * @category Compiler Options\n * @example\n * ```ts\n * const optionsLenient = {\n * \tnoImplicitAny: true,\n * };\n *\n * isStrictCompilerOptionEnabled(optionsLenient, \"noImplicitAny\"); // true\n * isStrictCompilerOptionEnabled(optionsLenient, \"noImplicitThis\"); // false\n * ```\n * @example\n * ```ts\n * const optionsStrict = {\n * \tnoImplicitThis: false,\n * \tstrict: true,\n * };\n *\n * isStrictCompilerOptionEnabled(optionsStrict, \"noImplicitAny\"); // true\n * isStrictCompilerOptionEnabled(optionsStrict, \"noImplicitThis\"); // false\n * ```\n */\nexport function isStrictCompilerOptionEnabled(\n\toptions: ts.CompilerOptions,\n\toption: StrictCompilerOption,\n): boolean {\n\treturn (\n\t\t(options.strict ? options[option] !== false : options[option] === true) &&\n\t\t(option !== \"strictPropertyInitialization\" ||\n\t\t\tisStrictCompilerOptionEnabled(options, \"strictNullChecks\"))\n\t);\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\n/**\n * Test if the given flag is set on the combined flags.\n * @internal\n */\nfunction isFlagSet(allFlags: number, flag: number): boolean {\n\treturn (allFlags & flag) !== 0;\n}\n\n/**\n * Test if the given flag is set on the given object.\n * @internal\n */\nfunction isFlagSetOnObject(obj: { flags: number }, flag: number): boolean {\n\treturn isFlagSet(obj.flags, flag);\n}\n\n/**\n * Test if the given node has the given `ModifierFlags` set.\n * @category Nodes - Flag Utilities\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isModifierFlagSet(node, ts.ModifierFlags.Abstract)) {\n * // ...\n * }\n * ```\n */\nexport function isModifierFlagSet(\n\tnode: ts.Declaration,\n\tflag: ts.ModifierFlags,\n): boolean {\n\treturn isFlagSet(ts.getCombinedModifierFlags(node), flag);\n}\n\n/**\n * Test if the given node has the given `NodeFlags` set.\n * @category Nodes - Flag Utilities\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNodeFlagSet(node, ts.NodeFlags.AwaitContext)) {\n * // ...\n * }\n * ```\n */\nexport const isNodeFlagSet: (node: ts.Node, flag: ts.NodeFlags) => boolean =\n\tisFlagSetOnObject;\n\n/**\n * Test if the given node has the given `ObjectFlags` set.\n * @category Nodes - Flag Utilities\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isObjectFlagSet(node, ts.ObjectFlags.Anonymous)) {\n * // ...\n * }\n * ```\n */\nexport function isObjectFlagSet(\n\tobjectType: ts.ObjectType,\n\tflag: ts.ObjectFlags,\n): boolean {\n\treturn isFlagSet(objectType.objectFlags, flag);\n}\n\n/**\n * Test if the given node has the given `SymbolFlags` set.\n * @category Nodes - Flag Utilities\n * @example\n * ```ts\n * declare const symbol: ts.Symbol;\n *\n * if (isSymbolFlagSet(symbol, ts.SymbolFlags.Accessor)) {\n * // ...\n * }\n * ```\n */\nexport const isSymbolFlagSet: (\n\tsymbol: ts.Symbol,\n\tflag: ts.SymbolFlags,\n) => boolean = isFlagSetOnObject;\n\n/**\n * Test if the given node has the given `TypeFlags` set.\n * @category Nodes - Flag Utilities\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isTypeFlagSet(type, ts.TypeFlags.Any)) {\n * // ...\n * }\n * ```\n */\nexport const isTypeFlagSet: (type: ts.Type, flag: ts.TypeFlags) => boolean =\n\tisFlagSetOnObject;\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\n/**\n * Test if the given iterable includes a modifier of any of the given kinds.\n * @category Modifier Utilities\n * @example\n * ```ts\n * declare const modifiers: ts.Modifier[];\n *\n * includesModifier(modifiers, ts.SyntaxKind.AbstractKeyword);\n * ```\n */\nexport function includesModifier(\n\tmodifiers: Iterable | undefined,\n\t...kinds: ts.ModifierSyntaxKind[]\n): boolean {\n\tif (modifiers === undefined) {\n\t\treturn false;\n\t}\n\n\tfor (const modifier of modifiers) {\n\t\tif (kinds.includes(modifier.kind as ts.ModifierSyntaxKind)) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n","import ts from \"typescript\";\n\nimport { isSuperExpression } from \"./single\";\nimport {\n\tisDeclarationName,\n\tisEntityNameExpression,\n\tisJSDocNamespaceBody,\n\tisJsxTagNameExpression,\n\tisNamespaceBody,\n} from \"./union\";\n\n/**\n * An `AssertionExpression` that is declared as const.\n * @category Node Types\n */\nexport type ConstAssertionExpression = ts.AssertionExpression & {\n\ttype: ts.TypeReferenceNode;\n\ttypeName: ConstAssertionIdentifier;\n};\n\n/**\n * An `Identifier` with an `escapedText` value of `\"const\"`.\n * @category Node Types\n */\nexport type ConstAssertionIdentifier = ts.Identifier & {\n\tescapedText: ts.__String & \"const\";\n};\n\n/**\n * Test if a node is a {@link ConstAssertionExpression}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isConstAssertionExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link ConstAssertionExpression}.\n */\nexport function isConstAssertionExpression(\n\tnode: ts.AssertionExpression,\n): node is ConstAssertionExpression {\n\treturn (\n\t\tts.isTypeReferenceNode(node.type) &&\n\t\tts.isIdentifier(node.type.typeName) &&\n\t\tnode.type.typeName.escapedText === \"const\"\n\t);\n}\n\n/**\n * Test if a node is an `IterationStatement`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isIterationStatement(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `IterationStatement`.\n */\nexport function isIterationStatement(\n\tnode: ts.Node,\n): node is ts.IterationStatement {\n\tswitch (node.kind) {\n\t\tcase ts.SyntaxKind.DoStatement:\n\t\tcase ts.SyntaxKind.ForInStatement:\n\t\tcase ts.SyntaxKind.ForOfStatement:\n\t\tcase ts.SyntaxKind.ForStatement:\n\t\tcase ts.SyntaxKind.WhileStatement:\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n\n/**\n * Test if a node is a `JSDocNamespaceDeclaration`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJSDocNamespaceDeclaration(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JSDocNamespaceDeclaration`.\n */\nexport function isJSDocNamespaceDeclaration(\n\tnode: ts.Node,\n): node is ts.JSDocNamespaceDeclaration {\n\treturn (\n\t\tts.isModuleDeclaration(node) &&\n\t\tts.isIdentifier(node.name) &&\n\t\t(node.body === undefined || isJSDocNamespaceBody(node.body))\n\t);\n}\n\n/**\n * Test if a node is a `JsxTagNamePropertyAccess`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJsxTagNamePropertyAccess(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JsxTagNamePropertyAccess`.\n */\nexport function isJsxTagNamePropertyAccess(\n\tnode: ts.Node,\n): node is ts.JsxTagNamePropertyAccess {\n\treturn (\n\t\tts.isPropertyAccessExpression(node) &&\n\t\t// eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts < 5\n\t\tisJsxTagNameExpression(node.expression)\n\t);\n}\n\n/**\n * a `NamedDeclaration` that definitely has a name.\n * @category Node Types\n */\nexport interface NamedDeclarationWithName extends ts.NamedDeclaration {\n\tname: ts.DeclarationName;\n}\n\n/**\n * Test if a node is a {@link NamedDeclarationWithName}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNamedDeclarationWithName(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link NamedDeclarationWithName}.\n */\nexport function isNamedDeclarationWithName(\n\tnode: ts.Declaration,\n): node is NamedDeclarationWithName {\n\treturn (\n\t\t\"name\" in node &&\n\t\tnode.name !== undefined &&\n\t\tnode.name !== null &&\n\t\tisDeclarationName(node.name as ts.Node)\n\t);\n}\n\n/**\n * Test if a node is a `NamespaceDeclaration`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNamespaceDeclaration(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `NamespaceDeclaration`.\n */\nexport function isNamespaceDeclaration(\n\tnode: ts.Node,\n): node is ts.NamespaceDeclaration {\n\treturn (\n\t\tts.isModuleDeclaration(node) &&\n\t\tts.isIdentifier(node.name) &&\n\t\tnode.body !== undefined &&\n\t\tisNamespaceBody(node.body)\n\t);\n}\n\n/**\n * A number or string-like literal.\n * @category Node Types\n */\nexport type NumericOrStringLikeLiteral =\n\t| ts.NumericLiteral\n\t| ts.StringLiteralLike;\n\n/**\n * Test if a node is a {@link NumericOrStringLikeLiteral}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNumericOrStringLikeLiteral(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link NumericOrStringLikeLiteral}.\n */\nexport function isNumericOrStringLikeLiteral(\n\tnode: ts.Node,\n): node is NumericOrStringLikeLiteral {\n\tswitch (node.kind) {\n\t\tcase ts.SyntaxKind.StringLiteral:\n\t\tcase ts.SyntaxKind.NumericLiteral:\n\t\tcase ts.SyntaxKind.NoSubstitutionTemplateLiteral:\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n\n/**\n * Test if a node is a `PropertyAccessEntityNameExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isPropertyAccessEntityNameExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `PropertyAccessEntityNameExpression`.\n */\nexport function isPropertyAccessEntityNameExpression(\n\tnode: ts.Node,\n): node is ts.PropertyAccessEntityNameExpression {\n\treturn (\n\t\tts.isPropertyAccessExpression(node) &&\n\t\tts.isIdentifier(node.name) &&\n\t\tisEntityNameExpression(node.expression)\n\t);\n}\n\n/**\n * Test if a node is a `SuperElementAccessExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isSuperElementAccessExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `SuperElementAccessExpression`.\n */\nexport function isSuperElementAccessExpression(\n\tnode: ts.Node,\n): node is ts.SuperElementAccessExpression {\n\treturn (\n\t\tts.isElementAccessExpression(node) && isSuperExpression(node.expression)\n\t);\n}\n\n/**\n * Test if a node is a `SuperPropertyAccessExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isSuperPropertyAccessExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `SuperPropertyAccessExpression`.\n */\nexport function isSuperPropertyAccessExpression(\n\tnode: ts.Node,\n): node is ts.SuperPropertyAccessExpression {\n\treturn (\n\t\tts.isPropertyAccessExpression(node) && isSuperExpression(node.expression)\n\t);\n}\n","import ts from \"typescript\";\n\n/**\n * A node that represents the any keyword.\n * @category Node Types\n */\nexport type AnyKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the bigint keyword.\n * @category Node Types\n */\nexport type BigIntKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the boolean keyword.\n * @category Node Types\n */\nexport type BooleanKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the false keyword.\n * @category Node Types\n */\nexport type FalseKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the import keyword.\n * @category Node Types\n */\nexport type ImportKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the never keyword.\n * @category Node Types\n */\nexport type NeverKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the null keyword.\n * @category Node Types\n */\nexport type NullKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the number keyword.\n * @category Node Types\n */\nexport type NumberKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the object keyword.\n * @category Node Types\n */\nexport type ObjectKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the string keyword.\n * @category Node Types\n */\nexport type StringKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the super keyword.\n * @category Node Types\n */\nexport type SuperKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the symbol keyword.\n * @category Node Types\n */\nexport type SymbolKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the this keyword.\n * @category Node Types\n */\nexport type ThisKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the true keyword.\n * @category Node Types\n */\nexport type TrueKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the undefined keyword.\n * @category Node Types\n */\nexport type UndefinedKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the unknown keyword.\n * @category Node Types\n */\nexport type UnknownKeyword = ts.KeywordToken;\n\n/**\n * A node that represents the void keyword.\n * @category Node Types\n */\nexport type VoidKeyword = ts.KeywordToken;\n\n/**\n * Test if a node is an `AbstractKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAbstractKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `AbstractKeyword`.\n */\nexport function isAbstractKeyword(node: ts.Node): node is ts.AbstractKeyword {\n\treturn node.kind === ts.SyntaxKind.AbstractKeyword;\n}\n\n/**\n * Test if a node is an `AccessorKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAccessorKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `AccessorKeyword`.\n */\nexport function isAccessorKeyword(node: ts.Node): node is ts.AccessorKeyword {\n\treturn node.kind === ts.SyntaxKind.AccessorKeyword;\n}\n\n/**\n * Test if a node is an {@link AnyKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAnyKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an {@link AnyKeyword}.\n */\nexport function isAnyKeyword(node: ts.Node): node is AnyKeyword {\n\treturn node.kind === ts.SyntaxKind.AnyKeyword;\n}\n\n/**\n * Test if a node is an `AssertKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAssertKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `AssertKeyword`.\n */\nexport function isAssertKeyword(node: ts.Node): node is ts.AssertKeyword {\n\treturn node.kind === ts.SyntaxKind.AssertKeyword;\n}\n\n/**\n * Test if a node is an `AssertsKeyword`.\n * @deprecated With TypeScript v5, in favor of typescript's `isAssertsKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAssertsKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `AssertsKeyword`.\n */\nexport function isAssertsKeyword(node: ts.Node): node is ts.AssertsKeyword {\n\treturn node.kind === ts.SyntaxKind.AssertsKeyword;\n}\n\n/**\n * Test if a node is an `AsyncKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAsyncKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `AsyncKeyword`.\n */\nexport function isAsyncKeyword(node: ts.Node): node is ts.AsyncKeyword {\n\treturn node.kind === ts.SyntaxKind.AsyncKeyword;\n}\n\n/**\n * Test if a node is an `AwaitKeyword`.\n * @deprecated With TypeScript v5, in favor of typescript's `isAwaitKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAwaitKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `AwaitKeyword`.\n */\nexport function isAwaitKeyword(node: ts.Node): node is ts.AwaitKeyword {\n\treturn node.kind === ts.SyntaxKind.AwaitKeyword;\n}\n\n/**\n * Test if a node is a {@link BigIntKeyword}.\n * @deprecated With TypeScript v5, in favor of typescript's `isBigIntKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isBigIntKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link BigIntKeyword}.\n */\nexport function isBigIntKeyword(node: ts.Node): node is BigIntKeyword {\n\treturn node.kind === ts.SyntaxKind.BigIntKeyword;\n}\n\n/**\n * Test if a node is a {@link BooleanKeyword}.\n * @deprecated With TypeScript v5, in favor of typescript's `isBooleanKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isBooleanKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link BooleanKeyword}.\n */\nexport function isBooleanKeyword(node: ts.Node): node is BooleanKeyword {\n\treturn node.kind === ts.SyntaxKind.BooleanKeyword;\n}\n\n/**\n * Test if a node is a `ColonToken`.\n * @deprecated With TypeScript v5, in favor of typescript's `isColonToken`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isColonToken(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ColonToken`.\n */\nexport function isColonToken(node: ts.Node): node is ts.ColonToken {\n\treturn node.kind === ts.SyntaxKind.ColonToken;\n}\n\n/**\n * Test if a node is a `ConstKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isConstKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ConstKeyword`.\n */\nexport function isConstKeyword(node: ts.Node): node is ts.ConstKeyword {\n\treturn node.kind === ts.SyntaxKind.ConstKeyword;\n}\n\n/**\n * Test if a node is a `DeclareKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isDeclareKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `DeclareKeyword`.\n */\nexport function isDeclareKeyword(node: ts.Node): node is ts.DeclareKeyword {\n\treturn node.kind === ts.SyntaxKind.DeclareKeyword;\n}\n\n/**\n * Test if a node is a `DefaultKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isDefaultKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `DefaultKeyword`.\n */\nexport function isDefaultKeyword(node: ts.Node): node is ts.DefaultKeyword {\n\treturn node.kind === ts.SyntaxKind.DefaultKeyword;\n}\n\n/**\n * Test if a node is a `DotToken`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isDotToken(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `DotToken`.\n */\nexport function isDotToken(node: ts.Node): node is ts.DotToken {\n\treturn node.kind === ts.SyntaxKind.DotToken;\n}\n\n/**\n * Test if a node is an `EndOfFileToken`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isEndOfFileToken(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `EndOfFileToken`.\n */\nexport function isEndOfFileToken(node: ts.Node): node is ts.EndOfFileToken {\n\treturn node.kind === ts.SyntaxKind.EndOfFileToken;\n}\n\n/**\n * Test if a node is an `EqualsGreaterThanToken`.\n * @deprecated With TypeScript v5, in favor of typescript's `isEqualsGreaterThanToken`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isEqualsGreaterThanToken(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `EqualsGreaterThanToken`.\n */\nexport function isEqualsGreaterThanToken(\n\tnode: ts.Node,\n): node is ts.EqualsGreaterThanToken {\n\treturn node.kind === ts.SyntaxKind.EqualsGreaterThanToken;\n}\n\n/**\n * Test if a node is an `EqualsToken`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isEqualsToken(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `EqualsToken`.\n */\nexport function isEqualsToken(node: ts.Node): node is ts.EqualsToken {\n\treturn node.kind === ts.SyntaxKind.EqualsToken;\n}\n\n/**\n * Test if a node is an `ExclamationToken`.\n * @deprecated With TypeScript v5, in favor of typescript's `isExclamationToken`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isExclamationToken(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `ExclamationToken`.\n */\nexport function isExclamationToken(node: ts.Node): node is ts.ExclamationToken {\n\treturn node.kind === ts.SyntaxKind.ExclamationToken;\n}\n\n/**\n * Test if a node is an `ExportKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isExportKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `ExportKeyword`.\n */\nexport function isExportKeyword(node: ts.Node): node is ts.ExportKeyword {\n\treturn node.kind === ts.SyntaxKind.ExportKeyword;\n}\n\n/**\n * Test if a node is a {@link FalseKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isFalseKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link FalseKeyword}.\n */\nexport function isFalseKeyword(node: ts.Node): node is FalseKeyword {\n\treturn node.kind === ts.SyntaxKind.FalseKeyword;\n}\n\n/**\n * Test if a node is a `FalseLiteral`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isFalseLiteral(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `FalseLiteral`.\n */\nexport function isFalseLiteral(node: ts.Node): node is ts.FalseLiteral {\n\treturn node.kind === ts.SyntaxKind.FalseKeyword;\n}\n\n/**\n * Test if a node is an `ImportExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isImportExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `ImportExpression`.\n */\nexport function isImportExpression(node: ts.Node): node is ts.ImportExpression {\n\treturn node.kind === ts.SyntaxKind.ImportKeyword;\n}\n\n/**\n * Test if a node is an {@link ImportKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isImportKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an {@link ImportKeyword}.\n */\nexport function isImportKeyword(node: ts.Node): node is ImportKeyword {\n\treturn node.kind === ts.SyntaxKind.ImportKeyword;\n}\n\n/**\n * Test if a node is an `InKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isInKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `InKeyword`.\n */\nexport function isInKeyword(node: ts.Node): node is ts.InKeyword {\n\treturn node.kind === ts.SyntaxKind.InKeyword;\n}\n\n/* eslint-disable deprecation/deprecation */\n/**\n * Test if a node is an `InputFiles`.\n * @deprecated With TypeScript v5\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isInputFiles(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `InputFiles`.\n */\nexport function isInputFiles(node: ts.Node): node is ts.InputFiles {\n\treturn node.kind === ts.SyntaxKind.InputFiles;\n}\n/* eslint-enable deprecation/deprecation */\n\n/**\n * Test if a node is a `JSDocText`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJSDocText(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JSDocText`.\n */\nexport function isJSDocText(node: ts.Node): node is ts.JSDocText {\n\treturn node.kind === ts.SyntaxKind.JSDocText;\n}\n\n/**\n * Test if a node is a `JsonMinusNumericLiteral`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJsonMinusNumericLiteral(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JsonMinusNumericLiteral`.\n */\nexport function isJsonMinusNumericLiteral(\n\tnode: ts.Node,\n): node is ts.JsonMinusNumericLiteral {\n\treturn node.kind === ts.SyntaxKind.PrefixUnaryExpression;\n}\n\n/**\n * Test if a node is a {@link NeverKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNeverKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link NeverKeyword}.\n */\nexport function isNeverKeyword(node: ts.Node): node is NeverKeyword {\n\treturn node.kind === ts.SyntaxKind.NeverKeyword;\n}\n\n/**\n * Test if a node is a {@link NullKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNullKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link NullKeyword}.\n */\nexport function isNullKeyword(node: ts.Node): node is NullKeyword {\n\treturn node.kind === ts.SyntaxKind.NullKeyword;\n}\n\n/**\n * Test if a node is a `NullLiteral`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNullLiteral(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `NullLiteral`.\n */\nexport function isNullLiteral(node: ts.Node): node is ts.NullLiteral {\n\treturn node.kind === ts.SyntaxKind.NullKeyword;\n}\n\n/**\n * Test if a node is a {@link NumberKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNumberKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link NumberKeyword}.\n */\nexport function isNumberKeyword(node: ts.Node): node is NumberKeyword {\n\treturn node.kind === ts.SyntaxKind.NumberKeyword;\n}\n\n/**\n * Test if a node is an {@link ObjectKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isObjectKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an {@link ObjectKeyword}.\n */\nexport function isObjectKeyword(node: ts.Node): node is ObjectKeyword {\n\treturn node.kind === ts.SyntaxKind.ObjectKeyword;\n}\n\n/**\n * Test if a node is an `OutKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isOutKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `OutKeyword`.\n */\nexport function isOutKeyword(node: ts.Node): node is ts.OutKeyword {\n\treturn node.kind === ts.SyntaxKind.OutKeyword;\n}\n\n/**\n * Test if a node is an `OverrideKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isOverrideKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `OverrideKeyword`.\n */\nexport function isOverrideKeyword(node: ts.Node): node is ts.OverrideKeyword {\n\treturn node.kind === ts.SyntaxKind.OverrideKeyword;\n}\n\n/**\n * Test if a node is a `PrivateKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isPrivateKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `PrivateKeyword`.\n */\nexport function isPrivateKeyword(node: ts.Node): node is ts.PrivateKeyword {\n\treturn node.kind === ts.SyntaxKind.PrivateKeyword;\n}\n\n/**\n * Test if a node is a `ProtectedKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isProtectedKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ProtectedKeyword`.\n */\nexport function isProtectedKeyword(node: ts.Node): node is ts.ProtectedKeyword {\n\treturn node.kind === ts.SyntaxKind.ProtectedKeyword;\n}\n\n/**\n * Test if a node is a `PublicKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isPublicKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `PublicKeyword`.\n */\nexport function isPublicKeyword(node: ts.Node): node is ts.PublicKeyword {\n\treturn node.kind === ts.SyntaxKind.PublicKeyword;\n}\n\n/**\n * Test if a node is a `QuestionDotToken`.\n * @deprecated With TypeScript v5, in favor of typescript's `isQuestionDotToken`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isQuestionDotToken(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `QuestionDotToken`.\n */\nexport function isQuestionDotToken(node: ts.Node): node is ts.QuestionDotToken {\n\treturn node.kind === ts.SyntaxKind.QuestionDotToken;\n}\n\n/**\n * Test if a node is a `QuestionToken`.\n * @deprecated With TypeScript v5, in favor of typescript's `isQuestionToken`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isQuestionToken(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `QuestionToken`.\n */\nexport function isQuestionToken(node: ts.Node): node is ts.QuestionToken {\n\treturn node.kind === ts.SyntaxKind.QuestionToken;\n}\n\n/**\n * Test if a node is a `ReadonlyKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isReadonlyKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ReadonlyKeyword`.\n */\nexport function isReadonlyKeyword(node: ts.Node): node is ts.ReadonlyKeyword {\n\treturn node.kind === ts.SyntaxKind.ReadonlyKeyword;\n}\n\n/**\n * Test if a node is a `StaticKeyword`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isStaticKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `StaticKeyword`.\n */\nexport function isStaticKeyword(node: ts.Node): node is ts.StaticKeyword {\n\treturn node.kind === ts.SyntaxKind.StaticKeyword;\n}\n\n/**\n * Test if a node is a {@link StringKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isStringKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link StringKeyword}.\n */\nexport function isStringKeyword(node: ts.Node): node is StringKeyword {\n\treturn node.kind === ts.SyntaxKind.StringKeyword;\n}\n\n/**\n * Test if a node is a `SuperExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isSuperExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `SuperExpression`.\n */\nexport function isSuperExpression(node: ts.Node): node is ts.SuperExpression {\n\treturn node.kind === ts.SyntaxKind.SuperKeyword;\n}\n\n/**\n * Test if a node is a {@link SuperKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isSuperKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link SuperKeyword}.\n */\nexport function isSuperKeyword(node: ts.Node): node is SuperKeyword {\n\treturn node.kind === ts.SyntaxKind.SuperKeyword;\n}\n\n/**\n * Test if a node is a {@link SymbolKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isSymbolKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link SymbolKeyword}.\n */\nexport function isSymbolKeyword(node: ts.Node): node is SymbolKeyword {\n\treturn node.kind === ts.SyntaxKind.SymbolKeyword;\n}\n\n/**\n * Test if a node is a `SyntaxList`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isSyntaxList(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `SyntaxList`.\n */\nexport function isSyntaxList(node: ts.Node): node is ts.SyntaxList {\n\treturn node.kind === ts.SyntaxKind.SyntaxList;\n}\n\n/**\n * Test if a node is a `ThisExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isThisExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ThisExpression`.\n */\nexport function isThisExpression(node: ts.Node): node is ts.ThisExpression {\n\treturn node.kind === ts.SyntaxKind.ThisKeyword;\n}\n\n/**\n * Test if a node is a {@link ThisKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isThisKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link ThisKeyword}.\n */\nexport function isThisKeyword(node: ts.Node): node is ThisKeyword {\n\treturn node.kind === ts.SyntaxKind.ThisKeyword;\n}\n\n/**\n * Test if a node is a {@link TrueKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isTrueKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link TrueKeyword}.\n */\nexport function isTrueKeyword(node: ts.Node): node is TrueKeyword {\n\treturn node.kind === ts.SyntaxKind.TrueKeyword;\n}\n\n/**\n * Test if a node is a `TrueLiteral`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isTrueLiteral(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `TrueLiteral`.\n */\nexport function isTrueLiteral(node: ts.Node): node is ts.TrueLiteral {\n\treturn node.kind === ts.SyntaxKind.TrueKeyword;\n}\n\n/**\n * Test if a node is an {@link UndefinedKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isUndefinedKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an {@link UndefinedKeyword}.\n */\nexport function isUndefinedKeyword(node: ts.Node): node is UndefinedKeyword {\n\treturn node.kind === ts.SyntaxKind.UndefinedKeyword;\n}\n\n/**\n * Test if a node is an {@link UnknownKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isUnknownKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an {@link UnknownKeyword}.\n */\nexport function isUnknownKeyword(node: ts.Node): node is UnknownKeyword {\n\treturn node.kind === ts.SyntaxKind.UnknownKeyword;\n}\n\n/* eslint-disable deprecation/deprecation */\n/**\n * Test if a node is an `UnparsedPrologue`.\n * @deprecated With TypeScript v5\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isUnparsedPrologue(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `UnparsedPrologue`.\n */\nexport function isUnparsedPrologue(node: ts.Node): node is ts.UnparsedPrologue {\n\treturn node.kind === ts.SyntaxKind.UnparsedPrologue;\n}\n/* eslint-enable deprecation/deprecation */\n\n/* eslint-disable deprecation/deprecation */\n/**\n * Test if a node is an `UnparsedSyntheticReference`.\n * @deprecated With TypeScript v5\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isUnparsedSyntheticReference(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `UnparsedSyntheticReference`.\n */\nexport function isUnparsedSyntheticReference(\n\tnode: ts.Node,\n): node is ts.UnparsedSyntheticReference {\n\treturn node.kind === ts.SyntaxKind.UnparsedSyntheticReference;\n}\n/* eslint-enable deprecation/deprecation */\n\n/**\n * Test if a node is a {@link VoidKeyword}.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isVoidKeyword(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a {@link VoidKeyword}.\n */\nexport function isVoidKeyword(node: ts.Node): node is VoidKeyword {\n\treturn node.kind === ts.SyntaxKind.VoidKeyword;\n}\n","import ts from \"typescript\";\n\nimport { isTsVersionAtLeast } from \"../../utils\";\nimport {\n\tisJSDocNamespaceDeclaration,\n\tisJsxTagNamePropertyAccess,\n\tisNamespaceDeclaration,\n\tisPropertyAccessEntityNameExpression,\n\tisSuperElementAccessExpression,\n\tisSuperPropertyAccessExpression,\n} from \"./compound\";\nimport {\n\tisAccessorKeyword,\n\tisEndOfFileToken,\n\tisFalseLiteral,\n\tisJSDocText,\n\tisJsonMinusNumericLiteral,\n\tisNullLiteral,\n\tisPrivateKeyword,\n\tisProtectedKeyword,\n\tisPublicKeyword,\n\tisReadonlyKeyword,\n\tisStaticKeyword,\n\tisThisExpression,\n\tisTrueLiteral,\n} from \"./single\";\n\n/**\n * Test if a node is an `AccessExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAccessExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `AccessExpression`.\n */\nexport function isAccessExpression(node: ts.Node): node is ts.AccessExpression {\n\treturn (\n\t\tts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)\n\t);\n}\n\n/**\n * Test if a node is an `AccessibilityModifier`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAccessibilityModifier(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `AccessibilityModifier`.\n */\nexport function isAccessibilityModifier(\n\tnode: ts.Node,\n): node is ts.AccessibilityModifier {\n\treturn (\n\t\tisPublicKeyword(node) || isPrivateKeyword(node) || isProtectedKeyword(node)\n\t);\n}\n\n/**\n * Test if a node is an `AccessorDeclaration`.\n * @deprecated With TypeScript v5, in favor of typescript's `isAccessor`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAccessorDeclaration(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `AccessorDeclaration`.\n */\nexport function isAccessorDeclaration(\n\tnode: ts.Node,\n): node is ts.AccessorDeclaration {\n\treturn ts.isGetAccessorDeclaration(node) || ts.isSetAccessorDeclaration(node);\n}\n\n/**\n * Test if a node is an `ArrayBindingElement`.\n * @deprecated With TypeScript v5, in favor of typescript's `isArrayBindingElement`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isArrayBindingElement(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `ArrayBindingElement`.\n */\nexport function isArrayBindingElement(\n\tnode: ts.Node,\n): node is ts.ArrayBindingElement {\n\treturn ts.isBindingElement(node) || ts.isOmittedExpression(node);\n}\n\n/**\n * Test if a node is an `ArrayBindingOrAssignmentPattern`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isArrayBindingOrAssignmentPattern(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `ArrayBindingOrAssignmentPattern`.\n */\nexport function isArrayBindingOrAssignmentPattern(\n\tnode: ts.Node,\n): node is ts.ArrayBindingOrAssignmentPattern {\n\treturn ts.isArrayBindingPattern(node) || ts.isArrayLiteralExpression(node);\n}\n\n/**\n * Test if a node is an `AssignmentPattern`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isAssignmentPattern(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `AssignmentPattern`.\n */\nexport function isAssignmentPattern(\n\tnode: ts.Node,\n): node is ts.AssignmentPattern {\n\treturn (\n\t\tts.isObjectLiteralExpression(node) || ts.isArrayLiteralExpression(node)\n\t);\n}\n\n/**\n * Test if a node is a `BindingOrAssignmentElementRestIndicator`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isBindingOrAssignmentElementRestIndicator(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `BindingOrAssignmentElementRestIndicator`.\n */\nexport function isBindingOrAssignmentElementRestIndicator(\n\tnode: ts.Node,\n): node is ts.BindingOrAssignmentElementRestIndicator {\n\tif (ts.isSpreadElement(node) || ts.isSpreadAssignment(node)) {\n\t\treturn true;\n\t}\n\n\tif (isTsVersionAtLeast(4, 4)) {\n\t\treturn ts.isDotDotDotToken(node);\n\t}\n\n\treturn false;\n}\n\n/**\n * Test if a node is a `BindingOrAssignmentElementTarget`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isBindingOrAssignmentElementTarget(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `BindingOrAssignmentElementTarget`.\n */\nexport function isBindingOrAssignmentElementTarget(\n\tnode: ts.Node,\n): node is ts.BindingOrAssignmentElementTarget {\n\treturn (\n\t\tisBindingOrAssignmentPattern(node) ||\n\t\tts.isIdentifier(node) ||\n\t\tts.isPropertyAccessExpression(node) ||\n\t\tts.isElementAccessExpression(node) ||\n\t\tts.isOmittedExpression(node)\n\t);\n}\n\n/**\n * Test if a node is a `BindingOrAssignmentPattern`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isBindingOrAssignmentPattern(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `BindingOrAssignmentPattern`.\n */\nexport function isBindingOrAssignmentPattern(\n\tnode: ts.Node,\n): node is ts.BindingOrAssignmentPattern {\n\treturn (\n\t\tisObjectBindingOrAssignmentPattern(node) ||\n\t\tisArrayBindingOrAssignmentPattern(node)\n\t);\n}\n\n/**\n * Test if a node is a `BindingPattern`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isBindingPattern(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `BindingPattern`.\n */\nexport function isBindingPattern(node: ts.Node): node is ts.BindingPattern {\n\treturn ts.isObjectBindingPattern(node) || ts.isArrayBindingPattern(node);\n}\n\n/**\n * Test if a node is a `BlockLike`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isBlockLike(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `BlockLike`.\n */\nexport function isBlockLike(node: ts.Node): node is ts.BlockLike {\n\treturn (\n\t\tts.isSourceFile(node) ||\n\t\tts.isBlock(node) ||\n\t\tts.isModuleBlock(node) ||\n\t\tts.isCaseOrDefaultClause(node)\n\t);\n}\n\n/**\n * Test if a node is a `BooleanLiteral`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isBooleanLiteral(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `BooleanLiteral`.\n */\nexport function isBooleanLiteral(node: ts.Node): node is ts.BooleanLiteral {\n\treturn isTrueLiteral(node) || isFalseLiteral(node);\n}\n\n/**\n * Test if a node is a `ClassLikeDeclaration`.\n * @deprecated With TypeScript v5, in favor of typescript's `isClassLike`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isClassLikeDeclaration(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ClassLikeDeclaration`.\n */\nexport function isClassLikeDeclaration(\n\tnode: ts.Node,\n): node is ts.ClassLikeDeclaration {\n\treturn ts.isClassDeclaration(node) || ts.isClassExpression(node);\n}\n\n/**\n * Test if a node is a `ClassMemberModifier`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isClassMemberModifier(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ClassMemberModifier`.\n */\nexport function isClassMemberModifier(\n\tnode: ts.Node,\n): node is ts.ClassMemberModifier {\n\treturn (\n\t\tisAccessibilityModifier(node) ||\n\t\tisReadonlyKeyword(node) ||\n\t\tisStaticKeyword(node) ||\n\t\tisAccessorKeyword(node)\n\t);\n}\n\n/**\n * Test if a node is a `DeclarationName`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isDeclarationName(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `DeclarationName`.\n */\nexport function isDeclarationName(node: ts.Node): node is ts.DeclarationName {\n\treturn (\n\t\tts.isIdentifier(node) ||\n\t\tts.isPrivateIdentifier(node) ||\n\t\tts.isStringLiteralLike(node) ||\n\t\tts.isNumericLiteral(node) ||\n\t\tts.isComputedPropertyName(node) ||\n\t\tts.isElementAccessExpression(node) ||\n\t\tisBindingPattern(node) ||\n\t\tisEntityNameExpression(node)\n\t);\n}\n\n/**\n * Test if a node is a `DeclarationWithTypeParameterChildren`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isDeclarationWithTypeParameterChildren(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `DeclarationWithTypeParameterChildren`.\n */\nexport function isDeclarationWithTypeParameterChildren(\n\tnode: ts.Node,\n): node is ts.DeclarationWithTypeParameterChildren {\n\treturn (\n\t\tisSignatureDeclaration(node) ||\n\t\t// eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5\n\t\tisClassLikeDeclaration(node) ||\n\t\tts.isInterfaceDeclaration(node) ||\n\t\tts.isTypeAliasDeclaration(node) ||\n\t\tts.isJSDocTemplateTag(node)\n\t);\n}\n\n/**\n * Test if a node is a `DeclarationWithTypeParameters`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isDeclarationWithTypeParameters(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `DeclarationWithTypeParameters`.\n */\nexport function isDeclarationWithTypeParameters(\n\tnode: ts.Node,\n): node is ts.DeclarationWithTypeParameters {\n\treturn (\n\t\tisDeclarationWithTypeParameterChildren(node) ||\n\t\tts.isJSDocTypedefTag(node) ||\n\t\tts.isJSDocCallbackTag(node) ||\n\t\tts.isJSDocSignature(node)\n\t);\n}\n\n/**\n * Test if a node is a `DestructuringPattern`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isDestructuringPattern(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `DestructuringPattern`.\n */\nexport function isDestructuringPattern(\n\tnode: ts.Node,\n): node is ts.DestructuringPattern {\n\treturn (\n\t\tisBindingPattern(node) ||\n\t\tts.isObjectLiteralExpression(node) ||\n\t\tts.isArrayLiteralExpression(node)\n\t);\n}\n\n/**\n * Test if a node is an `EntityNameExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isEntityNameExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `EntityNameExpression`.\n */\nexport function isEntityNameExpression(\n\tnode: ts.Node,\n): node is ts.EntityNameExpression {\n\treturn ts.isIdentifier(node) || isPropertyAccessEntityNameExpression(node);\n}\n\n/**\n * Test if a node is an `EntityNameOrEntityNameExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isEntityNameOrEntityNameExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `EntityNameOrEntityNameExpression`.\n */\nexport function isEntityNameOrEntityNameExpression(\n\tnode: ts.Node,\n): node is ts.EntityNameOrEntityNameExpression {\n\treturn ts.isEntityName(node) || isEntityNameExpression(node);\n}\n\n/**\n * Test if a node is a `ForInOrOfStatement`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isForInOrOfStatement(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ForInOrOfStatement`.\n */\nexport function isForInOrOfStatement(\n\tnode: ts.Node,\n): node is ts.ForInOrOfStatement {\n\treturn ts.isForInStatement(node) || ts.isForOfStatement(node);\n}\n\n/**\n * Test if a node is a `FunctionLikeDeclaration`.\n * @deprecated With TypeScript v5, in favor of typescript's `isFunctionLike`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isFunctionLikeDeclaration(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `FunctionLikeDeclaration`.\n */\nexport function isFunctionLikeDeclaration(\n\tnode: ts.Node,\n): node is ts.FunctionLikeDeclaration {\n\treturn (\n\t\tts.isFunctionDeclaration(node) ||\n\t\tts.isMethodDeclaration(node) ||\n\t\tts.isGetAccessorDeclaration(node) ||\n\t\tts.isSetAccessorDeclaration(node) ||\n\t\tts.isConstructorDeclaration(node) ||\n\t\tts.isFunctionExpression(node) ||\n\t\tts.isArrowFunction(node)\n\t);\n}\n\n/**\n * Test if a node is a `HasDecorators`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (hasDecorators(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `HasDecorators`.\n */\nexport function hasDecorators(node: ts.Node): node is ts.HasDecorators {\n\treturn (\n\t\tts.isParameter(node) ||\n\t\tts.isPropertyDeclaration(node) ||\n\t\tts.isMethodDeclaration(node) ||\n\t\tts.isGetAccessorDeclaration(node) ||\n\t\tts.isSetAccessorDeclaration(node) ||\n\t\tts.isClassExpression(node) ||\n\t\tts.isClassDeclaration(node)\n\t);\n}\n\n/**\n * Test if a node is a `HasExpressionInitializer`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (hasExpressionInitializer(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `HasExpressionInitializer`.\n */\nexport function hasExpressionInitializer(\n\tnode: ts.Node,\n): node is ts.HasExpressionInitializer {\n\treturn (\n\t\tts.isVariableDeclaration(node) ||\n\t\tts.isParameter(node) ||\n\t\tts.isBindingElement(node) ||\n\t\tts.isPropertyDeclaration(node) ||\n\t\tts.isPropertyAssignment(node) ||\n\t\tts.isEnumMember(node)\n\t);\n}\n\n/**\n * Test if a node is a `HasInitializer`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (hasInitializer(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `HasInitializer`.\n */\nexport function hasInitializer(node: ts.Node): node is ts.HasInitializer {\n\treturn (\n\t\thasExpressionInitializer(node) ||\n\t\tts.isForStatement(node) ||\n\t\tts.isForInStatement(node) ||\n\t\tts.isForOfStatement(node) ||\n\t\tts.isJsxAttribute(node)\n\t);\n}\n\n/**\n * Test if a node is a `HasJSDoc`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (hasJSDoc(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `HasJSDoc`.\n */\nexport function hasJSDoc(node: ts.Node): node is ts.HasJSDoc {\n\tif (\n\t\t// eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5\n\t\tisAccessorDeclaration(node) ||\n\t\tts.isArrowFunction(node) ||\n\t\tts.isBlock(node) ||\n\t\tts.isBreakStatement(node) ||\n\t\tts.isCallSignatureDeclaration(node) ||\n\t\tts.isCaseClause(node) ||\n\t\t// eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5\n\t\tisClassLikeDeclaration(node) ||\n\t\tts.isConstructorDeclaration(node) ||\n\t\tts.isConstructorTypeNode(node) ||\n\t\tts.isConstructSignatureDeclaration(node) ||\n\t\tts.isContinueStatement(node) ||\n\t\tts.isDebuggerStatement(node) ||\n\t\tts.isDoStatement(node) ||\n\t\tts.isEmptyStatement(node) ||\n\t\tisEndOfFileToken(node) ||\n\t\tts.isEnumDeclaration(node) ||\n\t\tts.isEnumMember(node) ||\n\t\tts.isExportAssignment(node) ||\n\t\tts.isExportDeclaration(node) ||\n\t\tts.isExportSpecifier(node) ||\n\t\tts.isExpressionStatement(node) ||\n\t\tts.isForInStatement(node) ||\n\t\tts.isForOfStatement(node) ||\n\t\tts.isForStatement(node) ||\n\t\tts.isFunctionDeclaration(node) ||\n\t\tts.isFunctionExpression(node) ||\n\t\tts.isFunctionTypeNode(node) ||\n\t\tts.isIfStatement(node) ||\n\t\tts.isImportDeclaration(node) ||\n\t\tts.isImportEqualsDeclaration(node) ||\n\t\tts.isIndexSignatureDeclaration(node) ||\n\t\tts.isInterfaceDeclaration(node) ||\n\t\tts.isJSDocFunctionType(node) ||\n\t\tts.isLabeledStatement(node) ||\n\t\tts.isMethodDeclaration(node) ||\n\t\tts.isMethodSignature(node) ||\n\t\tts.isModuleDeclaration(node) ||\n\t\tts.isNamedTupleMember(node) ||\n\t\tts.isNamespaceExportDeclaration(node) ||\n\t\tts.isParameter(node) ||\n\t\tts.isParenthesizedExpression(node) ||\n\t\tts.isPropertyAssignment(node) ||\n\t\tts.isPropertyDeclaration(node) ||\n\t\tts.isPropertySignature(node) ||\n\t\tts.isReturnStatement(node) ||\n\t\tts.isShorthandPropertyAssignment(node) ||\n\t\tts.isSpreadAssignment(node) ||\n\t\tts.isSwitchStatement(node) ||\n\t\tts.isThrowStatement(node) ||\n\t\tts.isTryStatement(node) ||\n\t\tts.isTypeAliasDeclaration(node) ||\n\t\tts.isVariableDeclaration(node) ||\n\t\tts.isVariableStatement(node) ||\n\t\tts.isWhileStatement(node) ||\n\t\tts.isWithStatement(node)\n\t) {\n\t\treturn true;\n\t}\n\n\tif (isTsVersionAtLeast(4, 4) && ts.isClassStaticBlockDeclaration(node)) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\tisTsVersionAtLeast(5, 0) &&\n\t\t(ts.isBinaryExpression(node) ||\n\t\t\tts.isElementAccessExpression(node) ||\n\t\t\tts.isIdentifier(node) ||\n\t\t\tts.isJSDocSignature(node) ||\n\t\t\tts.isObjectLiteralExpression(node) ||\n\t\t\tts.isPropertyAccessExpression(node) ||\n\t\t\tts.isTypeParameterDeclaration(node))\n\t) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\n/**\n * Test if a node is a `HasModifiers`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (hasModifiers(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `HasModifiers`.\n */\nexport function hasModifiers(node: ts.Node): node is ts.HasModifiers {\n\treturn (\n\t\tts.isTypeParameterDeclaration(node) ||\n\t\tts.isParameter(node) ||\n\t\tts.isConstructorTypeNode(node) ||\n\t\tts.isPropertySignature(node) ||\n\t\tts.isPropertyDeclaration(node) ||\n\t\tts.isMethodSignature(node) ||\n\t\tts.isMethodDeclaration(node) ||\n\t\tts.isConstructorDeclaration(node) ||\n\t\tts.isGetAccessorDeclaration(node) ||\n\t\tts.isSetAccessorDeclaration(node) ||\n\t\tts.isIndexSignatureDeclaration(node) ||\n\t\tts.isFunctionExpression(node) ||\n\t\tts.isArrowFunction(node) ||\n\t\tts.isClassExpression(node) ||\n\t\tts.isVariableStatement(node) ||\n\t\tts.isFunctionDeclaration(node) ||\n\t\tts.isClassDeclaration(node) ||\n\t\tts.isInterfaceDeclaration(node) ||\n\t\tts.isTypeAliasDeclaration(node) ||\n\t\tts.isEnumDeclaration(node) ||\n\t\tts.isModuleDeclaration(node) ||\n\t\tts.isImportEqualsDeclaration(node) ||\n\t\tts.isImportDeclaration(node) ||\n\t\tts.isExportAssignment(node) ||\n\t\tts.isExportDeclaration(node)\n\t);\n}\n\n/**\n * Test if a node is a `HasType`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (hasType(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `HasType`.\n */\nexport function hasType(node: ts.Node): node is ts.HasType {\n\treturn (\n\t\tisSignatureDeclaration(node) ||\n\t\tts.isVariableDeclaration(node) ||\n\t\tts.isParameter(node) ||\n\t\tts.isPropertySignature(node) ||\n\t\tts.isPropertyDeclaration(node) ||\n\t\tts.isTypePredicateNode(node) ||\n\t\tts.isParenthesizedTypeNode(node) ||\n\t\tts.isTypeOperatorNode(node) ||\n\t\tts.isMappedTypeNode(node) ||\n\t\tts.isAssertionExpression(node) ||\n\t\tts.isTypeAliasDeclaration(node) ||\n\t\tts.isJSDocTypeExpression(node) ||\n\t\tts.isJSDocNonNullableType(node) ||\n\t\tts.isJSDocNullableType(node) ||\n\t\tts.isJSDocOptionalType(node) ||\n\t\tts.isJSDocVariadicType(node)\n\t);\n}\n\n/**\n * Test if a node is a `HasTypeArguments`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (hasTypeArguments(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `HasTypeArguments`.\n */\nexport function hasTypeArguments(node: ts.Node): node is ts.HasTypeArguments {\n\treturn (\n\t\tts.isCallExpression(node) ||\n\t\tts.isNewExpression(node) ||\n\t\tts.isTaggedTemplateExpression(node) ||\n\t\tts.isJsxOpeningElement(node) ||\n\t\tts.isJsxSelfClosingElement(node)\n\t);\n}\n\n/**\n * Test if a node is a `JSDocComment`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJSDocComment(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JSDocComment`.\n */\nexport function isJSDocComment(node: ts.Node): node is ts.JSDocComment {\n\tif (isJSDocText(node)) {\n\t\treturn true;\n\t}\n\n\tif (isTsVersionAtLeast(4, 4)) {\n\t\treturn (\n\t\t\tts.isJSDocLink(node) ||\n\t\t\tts.isJSDocLinkCode(node) ||\n\t\t\tts.isJSDocLinkPlain(node)\n\t\t);\n\t}\n\n\treturn false;\n}\n\n/**\n * Test if a node is a `JSDocNamespaceBody`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJSDocNamespaceBody(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JSDocNamespaceBody`.\n */\nexport function isJSDocNamespaceBody(\n\tnode: ts.Node,\n): node is ts.JSDocNamespaceBody {\n\treturn ts.isIdentifier(node) || isJSDocNamespaceDeclaration(node);\n}\n\n/**\n * Test if a node is a `JSDocTypeReferencingNode`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJSDocTypeReferencingNode(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JSDocTypeReferencingNode`.\n */\nexport function isJSDocTypeReferencingNode(\n\tnode: ts.Node,\n): node is ts.JSDocTypeReferencingNode {\n\treturn (\n\t\tts.isJSDocVariadicType(node) ||\n\t\tts.isJSDocOptionalType(node) ||\n\t\tts.isJSDocNullableType(node) ||\n\t\tts.isJSDocNonNullableType(node)\n\t);\n}\n\n/**\n * Test if a node is a `JsonObjectExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJsonObjectExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JsonObjectExpression`.\n */\nexport function isJsonObjectExpression(\n\tnode: ts.Node,\n): node is ts.JsonObjectExpression {\n\treturn (\n\t\tts.isObjectLiteralExpression(node) ||\n\t\tts.isArrayLiteralExpression(node) ||\n\t\tisJsonMinusNumericLiteral(node) ||\n\t\tts.isNumericLiteral(node) ||\n\t\tts.isStringLiteral(node) ||\n\t\tisBooleanLiteral(node) ||\n\t\tisNullLiteral(node)\n\t);\n}\n\n/**\n * Test if a node is a `JsxAttributeLike`.\n * @deprecated With TypeScript v5, in favor of typescript's `isJsxAttributeLike`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJsxAttributeLike(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JsxAttributeLike`.\n */\nexport function isJsxAttributeLike(node: ts.Node): node is ts.JsxAttributeLike {\n\treturn ts.isJsxAttribute(node) || ts.isJsxSpreadAttribute(node);\n}\n\n/**\n * Test if a node is a `JsxAttributeValue`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJsxAttributeValue(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JsxAttributeValue`.\n */\nexport function isJsxAttributeValue(\n\tnode: ts.Node,\n): node is ts.JsxAttributeValue {\n\treturn (\n\t\tts.isStringLiteral(node) ||\n\t\tts.isJsxExpression(node) ||\n\t\tts.isJsxElement(node) ||\n\t\tts.isJsxSelfClosingElement(node) ||\n\t\tts.isJsxFragment(node)\n\t);\n}\n\n/**\n * Test if a node is a `JsxChild`.\n * @deprecated With TypeScript v5, in favor of typescript's `isJsxChild`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJsxChild(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JsxChild`.\n */\nexport function isJsxChild(node: ts.Node): node is ts.JsxChild {\n\treturn (\n\t\tts.isJsxText(node) ||\n\t\tts.isJsxExpression(node) ||\n\t\tts.isJsxElement(node) ||\n\t\tts.isJsxSelfClosingElement(node) ||\n\t\tts.isJsxFragment(node)\n\t);\n}\n\n/**\n * Test if a node is a `JsxTagNameExpression`.\n * @deprecated With TypeScript v5, in favor of typescript's `isJsxTagNameExpression`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isJsxTagNameExpression(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `JsxTagNameExpression`.\n */\nexport function isJsxTagNameExpression(\n\tnode: ts.Node,\n): node is ts.JsxTagNameExpression {\n\treturn (\n\t\tts.isIdentifier(node) ||\n\t\tisThisExpression(node) ||\n\t\tisJsxTagNamePropertyAccess(node)\n\t);\n}\n\n/**\n * Test if a node is a `LiteralToken`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isLiteralToken(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `LiteralToken`.\n */\nexport function isLiteralToken(node: ts.Node): node is ts.LiteralToken {\n\treturn (\n\t\tts.isNumericLiteral(node) ||\n\t\tts.isBigIntLiteral(node) ||\n\t\tts.isStringLiteral(node) ||\n\t\tts.isJsxText(node) ||\n\t\tts.isRegularExpressionLiteral(node) ||\n\t\tts.isNoSubstitutionTemplateLiteral(node)\n\t);\n}\n\n/**\n * Test if a node is a `ModuleBody`.\n * @deprecated With TypeScript v5, in favor of typescript's `isModuleBody`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isModuleBody(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ModuleBody`.\n */\nexport function isModuleBody(node: ts.Node): node is ts.ModuleBody {\n\treturn isNamespaceBody(node) || isJSDocNamespaceBody(node);\n}\n\n/**\n * Test if a node is a `ModuleName`.\n * @deprecated With TypeScript v5, in favor of typescript's `isModuleName`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isModuleName(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ModuleName`.\n */\nexport function isModuleName(node: ts.Node): node is ts.ModuleName {\n\treturn ts.isIdentifier(node) || ts.isStringLiteral(node);\n}\n\n/**\n * Test if a node is a `ModuleReference`.\n * @deprecated With TypeScript v5, in favor of typescript's `isModuleReference`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isModuleReference(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ModuleReference`.\n */\nexport function isModuleReference(node: ts.Node): node is ts.ModuleReference {\n\treturn ts.isEntityName(node) || ts.isExternalModuleReference(node);\n}\n\n/**\n * Test if a node is a `NamedImportBindings`.\n * @deprecated With TypeScript v5, in favor of typescript's `isNamedImportBindings`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNamedImportBindings(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `NamedImportBindings`.\n */\nexport function isNamedImportBindings(\n\tnode: ts.Node,\n): node is ts.NamedImportBindings {\n\treturn ts.isNamespaceImport(node) || ts.isNamedImports(node);\n}\n\n/**\n * Test if a node is a `NamedImportsOrExports`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNamedImportsOrExports(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `NamedImportsOrExports`.\n */\nexport function isNamedImportsOrExports(\n\tnode: ts.Node,\n): node is ts.NamedImportsOrExports {\n\treturn ts.isNamedImports(node) || ts.isNamedExports(node);\n}\n\n/**\n * Test if a node is a `NamespaceBody`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isNamespaceBody(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `NamespaceBody`.\n */\nexport function isNamespaceBody(node: ts.Node): node is ts.NamespaceBody {\n\treturn ts.isModuleBlock(node) || isNamespaceDeclaration(node);\n}\n\n/**\n * Test if a node is an `ObjectBindingOrAssignmentElement`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isObjectBindingOrAssignmentElement(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `ObjectBindingOrAssignmentElement`.\n */\nexport function isObjectBindingOrAssignmentElement(\n\tnode: ts.Node,\n): node is ts.ObjectBindingOrAssignmentElement {\n\treturn (\n\t\tts.isBindingElement(node) ||\n\t\tts.isPropertyAssignment(node) ||\n\t\tts.isShorthandPropertyAssignment(node) ||\n\t\tts.isSpreadAssignment(node)\n\t);\n}\n\n/**\n * Test if a node is an `ObjectBindingOrAssignmentPattern`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isObjectBindingOrAssignmentPattern(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `ObjectBindingOrAssignmentPattern`.\n */\nexport function isObjectBindingOrAssignmentPattern(\n\tnode: ts.Node,\n): node is ts.ObjectBindingOrAssignmentPattern {\n\treturn ts.isObjectBindingPattern(node) || ts.isObjectLiteralExpression(node);\n}\n\n/**\n * Test if a node is an `ObjectTypeDeclaration`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isObjectTypeDeclaration(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `ObjectTypeDeclaration`.\n */\nexport function isObjectTypeDeclaration(\n\tnode: ts.Node,\n): node is ts.ObjectTypeDeclaration {\n\treturn (\n\t\t// eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5\n\t\tisClassLikeDeclaration(node) ||\n\t\tts.isInterfaceDeclaration(node) ||\n\t\tts.isTypeLiteralNode(node)\n\t);\n}\n\n/**\n * Test if a node is a `ParameterPropertyModifier`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isParameterPropertyModifier(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `ParameterPropertyModifier`.\n */\nexport function isParameterPropertyModifier(\n\tnode: ts.Node,\n): node is ts.ParameterPropertyModifier {\n\treturn isAccessibilityModifier(node) || isReadonlyKeyword(node);\n}\n\n/**\n * Test if a node is a `PropertyNameLiteral`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isPropertyNameLiteral(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `PropertyNameLiteral`.\n */\nexport function isPropertyNameLiteral(\n\tnode: ts.Node,\n): node is ts.PropertyNameLiteral {\n\treturn (\n\t\tts.isIdentifier(node) ||\n\t\tts.isStringLiteralLike(node) ||\n\t\tts.isNumericLiteral(node)\n\t);\n}\n\n/**\n * Test if a node is a `PseudoLiteralToken`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isPseudoLiteralToken(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `PseudoLiteralToken`.\n */\nexport function isPseudoLiteralToken(\n\tnode: ts.Node,\n): node is ts.PseudoLiteralToken {\n\treturn (\n\t\tts.isTemplateHead(node) ||\n\t\tts.isTemplateMiddle(node) ||\n\t\tts.isTemplateTail(node)\n\t);\n}\n\n/**\n * Test if a node is a `SignatureDeclaration`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isSignatureDeclaration(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `SignatureDeclaration`.\n */\nexport function isSignatureDeclaration(\n\tnode: ts.Node,\n): node is ts.SignatureDeclaration {\n\treturn (\n\t\tts.isCallSignatureDeclaration(node) ||\n\t\tts.isConstructSignatureDeclaration(node) ||\n\t\tts.isMethodSignature(node) ||\n\t\tts.isIndexSignatureDeclaration(node) ||\n\t\tts.isFunctionTypeNode(node) ||\n\t\tts.isConstructorTypeNode(node) ||\n\t\tts.isJSDocFunctionType(node) ||\n\t\tts.isFunctionDeclaration(node) ||\n\t\tts.isMethodDeclaration(node) ||\n\t\tts.isConstructorDeclaration(node) ||\n\t\t// eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5\n\t\tisAccessorDeclaration(node) ||\n\t\tts.isFunctionExpression(node) ||\n\t\tts.isArrowFunction(node)\n\t);\n}\n\n/**\n * Test if a node is a `SuperProperty`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isSuperProperty(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `SuperProperty`.\n */\nexport function isSuperProperty(node: ts.Node): node is ts.SuperProperty {\n\treturn (\n\t\tisSuperPropertyAccessExpression(node) ||\n\t\tisSuperElementAccessExpression(node)\n\t);\n}\n\n/**\n * Test if a node is a `TypeOnlyCompatibleAliasDeclaration`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isTypeOnlyCompatibleAliasDeclaration(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `TypeOnlyCompatibleAliasDeclaration`.\n */\nexport function isTypeOnlyCompatibleAliasDeclaration(\n\tnode: ts.Node,\n): node is ts.TypeOnlyCompatibleAliasDeclaration {\n\tif (\n\t\tts.isImportClause(node) ||\n\t\tts.isImportEqualsDeclaration(node) ||\n\t\tts.isNamespaceImport(node) ||\n\t\tts.isImportOrExportSpecifier(node)\n\t) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\tisTsVersionAtLeast(5, 0) &&\n\t\t(ts.isExportDeclaration(node) || ts.isNamespaceExport(node))\n\t) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\n/**\n * Test if a node is a `TypeReferenceType`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isTypeReferenceType(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `TypeReferenceType`.\n */\nexport function isTypeReferenceType(\n\tnode: ts.Node,\n): node is ts.TypeReferenceType {\n\treturn ts.isTypeReferenceNode(node) || ts.isExpressionWithTypeArguments(node);\n}\n\n/**\n * Test if a node is an `UnionOrIntersectionTypeNode`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isUnionOrIntersectionTypeNode(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `UnionOrIntersectionTypeNode`.\n */\nexport function isUnionOrIntersectionTypeNode(\n\tnode: ts.Node,\n): node is ts.UnionOrIntersectionTypeNode {\n\treturn ts.isUnionTypeNode(node) || ts.isIntersectionTypeNode(node);\n}\n\n/* eslint-disable deprecation/deprecation */\n/**\n * Test if a node is an `UnparsedSourceText`.\n * @deprecated With TypeScript v5\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isUnparsedSourceText(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be an `UnparsedSourceText`.\n */\nexport function isUnparsedSourceText(\n\tnode: ts.Node,\n): node is ts.UnparsedSourceText {\n\treturn ts.isUnparsedPrepend(node) || ts.isUnparsedTextLike(node);\n}\n/* eslint-enable deprecation/deprecation */\n\n/**\n * Test if a node is a `VariableLikeDeclaration`.\n * @category Nodes - Type Guards\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isVariableLikeDeclaration(node)) {\n * // ...\n * }\n * ```\n * @returns Whether the given node appears to be a `VariableLikeDeclaration`.\n */\nexport function isVariableLikeDeclaration(\n\tnode: ts.Node,\n): node is ts.VariableLikeDeclaration {\n\treturn (\n\t\tts.isVariableDeclaration(node) ||\n\t\tts.isParameter(node) ||\n\t\tts.isBindingElement(node) ||\n\t\tts.isPropertyDeclaration(node) ||\n\t\tts.isPropertyAssignment(node) ||\n\t\tts.isPropertySignature(node) ||\n\t\tts.isJsxAttribute(node) ||\n\t\tts.isShorthandPropertyAssignment(node) ||\n\t\tts.isEnumMember(node) ||\n\t\tts.isJSDocPropertyTag(node) ||\n\t\tts.isJSDocParameterTag(node)\n\t);\n}\n","import ts from \"typescript\";\n\nconst [tsMajor, tsMinor] = ts.versionMajorMinor\n\t.split(\".\")\n\t.map((raw) => Number.parseInt(raw, 10));\n\nexport function isTsVersionAtLeast(major: number, minor = 0): boolean {\n\treturn tsMajor > major || (tsMajor === major && tsMinor >= minor);\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\n/**\n * Is the node a scope boundary, specifically due to it being a function.\n * @category Scope Utilities\n * @example\n * ```ts\n * declare const node: ts.Node;\n *\n * if (isFunctionScopeBoundary(node, ts.ObjectFlags.Anonymous)) {\n * // ...\n * }\n * ```\n */\nexport function isFunctionScopeBoundary(node: ts.Node): boolean {\n\tswitch (node.kind) {\n\t\tcase ts.SyntaxKind.FunctionExpression:\n\t\tcase ts.SyntaxKind.ArrowFunction:\n\t\tcase ts.SyntaxKind.Constructor:\n\t\tcase ts.SyntaxKind.ModuleDeclaration:\n\t\tcase ts.SyntaxKind.ClassDeclaration:\n\t\tcase ts.SyntaxKind.ClassExpression:\n\t\tcase ts.SyntaxKind.EnumDeclaration:\n\t\tcase ts.SyntaxKind.MethodDeclaration:\n\t\tcase ts.SyntaxKind.FunctionDeclaration:\n\t\tcase ts.SyntaxKind.GetAccessor:\n\t\tcase ts.SyntaxKind.SetAccessor:\n\t\tcase ts.SyntaxKind.MethodSignature:\n\t\tcase ts.SyntaxKind.CallSignature:\n\t\tcase ts.SyntaxKind.ConstructSignature:\n\t\tcase ts.SyntaxKind.ConstructorType:\n\t\tcase ts.SyntaxKind.FunctionType:\n\t\t\treturn true;\n\t\tcase ts.SyntaxKind.SourceFile:\n\t\t\t// if SourceFile is no module, it contributes to the global scope and is therefore no scope boundary\n\t\t\treturn ts.isExternalModule(node as ts.SourceFile);\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\n/**\n * Test of the kind given is for assignment.\n * @category Syntax Utilities\n * @example\n * ```ts\n * declare const kind: ts.SyntaxKind;\n *\n * isAssignmentKind(kind);\n * ```\n */\nexport function isAssignmentKind(kind: ts.SyntaxKind): boolean {\n\treturn (\n\t\tkind >= ts.SyntaxKind.FirstAssignment &&\n\t\tkind <= ts.SyntaxKind.LastAssignment\n\t);\n}\n\n/**\n * Test if a string is numeric.\n * @category Syntax Utilities\n * @example\n * ```ts\n * isNumericPropertyName(\"abc\"); // false\n * isNumericPropertyName(\"123\"); // true\n * ```\n */\nexport function isNumericPropertyName(name: string | ts.__String): boolean {\n\treturn String(+name) === name;\n}\n\nfunction charSize(ch: number) {\n\treturn ch >= 0x10000 ? 2 : 1;\n}\n\n/**\n * Determines whether the given text can be used to access a property with a `PropertyAccessExpression` while preserving the property's name.\n * @category Syntax Utilities\n * @example\n * ```ts\n * isValidPropertyAccess(\"abc\"); // true\n * isValidPropertyAccess(\"123\"); // false\n * ```\n */\nexport function isValidPropertyAccess(\n\ttext: string,\n\tlanguageVersion = ts.ScriptTarget.Latest,\n): boolean {\n\tif (text.length === 0) {\n\t\treturn false;\n\t}\n\n\tlet ch = text.codePointAt(0)!;\n\tif (!ts.isIdentifierStart(ch, languageVersion)) {\n\t\treturn false;\n\t}\n\n\tfor (let i = charSize(ch); i < text.length; i += charSize(ch)) {\n\t\tch = text.codePointAt(i)!;\n\t\tif (!ts.isIdentifierPart(ch, languageVersion)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport { isNamedDeclarationWithName } from \"../nodes/typeGuards\";\nimport {\n\tisIntersectionType,\n\tisUnionType,\n\tisUniqueESSymbolType,\n} from \"./typeGuards\";\n\n/**\n * Get the `CallSignatures` of the given type.\n * @category Types - Getters\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * getCallSignaturesOfType(type);\n * ```\n */\nexport function getCallSignaturesOfType(\n\ttype: ts.Type,\n): readonly ts.Signature[] {\n\tif (isUnionType(type)) {\n\t\tconst signatures = [];\n\t\tfor (const subType of type.types) {\n\t\t\tsignatures.push(...getCallSignaturesOfType(subType));\n\t\t}\n\n\t\treturn signatures;\n\t}\n\n\tif (isIntersectionType(type)) {\n\t\tlet signatures: readonly ts.Signature[] | undefined;\n\t\tfor (const subType of type.types) {\n\t\t\tconst sig = getCallSignaturesOfType(subType);\n\t\t\tif (sig.length !== 0) {\n\t\t\t\t// if more than one type of the intersection has call signatures, none of them is useful for inference\n\t\t\t\tif (signatures !== undefined) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tsignatures = sig;\n\t\t\t}\n\t\t}\n\n\t\treturn signatures === undefined ? [] : signatures;\n\t}\n\n\treturn type.getCallSignatures();\n}\n\n/**\n * Get the property with the given name on the given type (if it exists).\n * @category Types - Getters\n * @example\n * ```ts\n * declare const property: ts.Symbol;\n * declare const type: ts.Type;\n *\n * getPropertyOfType(type, property.getEscapedName());\n * ```\n */\nexport function getPropertyOfType(\n\ttype: ts.Type,\n\tname: ts.__String,\n): ts.Symbol | undefined {\n\tif (!(name as string).startsWith(\"__\")) {\n\t\treturn type.getProperty(name as string);\n\t}\n\n\treturn type.getProperties().find((s) => s.escapedName === name);\n}\n\n/**\n * Retrieves a type symbol corresponding to a well-known string name.\n * @category Types - Getters\n * @example\n * ```ts\n * declare const type: ts.Type;\n * declare const typeChecker: ts.TypeChecker;\n *\n * getWellKnownSymbolPropertyOfType(type, \"asyncIterator\", typeChecker);\n * ```\n */\nexport function getWellKnownSymbolPropertyOfType(\n\ttype: ts.Type,\n\twellKnownSymbolName: string,\n\ttypeChecker: ts.TypeChecker,\n): ts.Symbol | undefined {\n\tconst prefix = \"__@\" + wellKnownSymbolName;\n\n\tfor (const prop of type.getProperties()) {\n\t\tif (!prop.name.startsWith(prefix)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst declaration = prop.valueDeclaration ?? prop.getDeclarations()![0];\n\t\tif (\n\t\t\t!isNamedDeclarationWithName(declaration) ||\n\t\t\tdeclaration.name === undefined ||\n\t\t\t!ts.isComputedPropertyName(declaration.name)\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst globalSymbol = typeChecker.getApparentType(\n\t\t\ttypeChecker.getTypeAtLocation(declaration.name.expression),\n\t\t).symbol;\n\n\t\tif (\n\t\t\tprop.escapedName ===\n\t\t\tgetPropertyNameOfWellKnownSymbol(\n\t\t\t\ttypeChecker,\n\t\t\t\tglobalSymbol,\n\t\t\t\twellKnownSymbolName,\n\t\t\t)\n\t\t) {\n\t\t\treturn prop;\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\n/**\n * @internal\n */\nfunction getPropertyNameOfWellKnownSymbol(\n\ttypeChecker: ts.TypeChecker,\n\tsymbolConstructor: ts.Symbol | undefined,\n\tsymbolName: string,\n) {\n\tconst knownSymbol =\n\t\tsymbolConstructor &&\n\t\ttypeChecker\n\t\t\t.getTypeOfSymbolAtLocation(\n\t\t\t\tsymbolConstructor,\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n\t\t\t\t(symbolConstructor as any).valueDeclaration,\n\t\t\t)\n\t\t\t.getProperty(symbolName);\n\tconst knownSymbolType =\n\t\tknownSymbol &&\n\t\ttypeChecker.getTypeOfSymbolAtLocation(\n\t\t\tknownSymbol,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n\t\t\t(knownSymbol as any).valueDeclaration,\n\t\t);\n\tif (knownSymbolType && isUniqueESSymbolType(knownSymbolType)) {\n\t\treturn knownSymbolType.escapedName;\n\t}\n\n\treturn (\"__@\" + symbolName) as ts.__String;\n}\n","import ts from \"typescript\";\n\nimport { isTypeFlagSet } from \"../../flags\";\n\n/**\n * A \"any\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicAnyType extends IntrinsicType {\n\tintrinsicName: \"any\";\n}\n\n/**\n * Determines whether the given type is the \"any\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicAnyType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicAnyType(type: ts.Type): type is IntrinsicAnyType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Any);\n}\n\n/**\n * A \"boolean\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicBooleanType extends IntrinsicType {\n\tintrinsicName: \"boolean\";\n}\n\n/**\n * Determines whether the given type is the \"boolean\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicBooleanType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicBooleanType(\n\ttype: ts.Type,\n): type is IntrinsicBooleanType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Boolean);\n}\n\n/**\n * A \"bigint\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicBigIntType extends IntrinsicType {\n\tintrinsicName: \"bigint\";\n}\n\n/**\n * Determines whether the given type is the \"bigint\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicBigIntType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicBigIntType(\n\ttype: ts.Type,\n): type is IntrinsicBigIntType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.BigInt);\n}\n\n/**\n * An \"error\" intrinsic type.\n *\n * This refers to a type generated when TypeScript encounters an error while\n * trying to resolve the type.\n * @category Type Types\n */\nexport interface IntrinsicErrorType extends IntrinsicType {\n\tintrinsicName: \"error\";\n}\n\n/**\n * Determines whether the given type is the \"error\" intrinsic type.\n *\n * The intrinsic error type occurs when TypeScript encounters an error while\n * trying to resolve the type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicErrorType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicErrorType(\n\ttype: ts.Type,\n): type is IntrinsicErrorType {\n\treturn isIntrinsicType(type) && type.intrinsicName === \"error\";\n}\n\n/**\n * A \"symbol\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicESSymbolType extends IntrinsicType {\n\tintrinsicName: \"symbol\";\n}\n\n/**\n * Determines whether the given type is the \"symbol\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicESSymbolType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicESSymbolType(\n\ttype: ts.Type,\n): type is IntrinsicESSymbolType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.ESSymbol);\n}\n\n/**\n * An intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicType extends ts.Type {\n\tintrinsicName: string;\n\tobjectFlags: ts.ObjectFlags;\n}\n\n// ts.TypeFlags.Intrinsic\nconst IntrinsicTypeFlags =\n\t(ts.TypeFlags as { Intrinsic?: number }).Intrinsic ??\n\tts.TypeFlags.Any |\n\t\tts.TypeFlags.Unknown |\n\t\tts.TypeFlags.String |\n\t\tts.TypeFlags.Number |\n\t\tts.TypeFlags.BigInt |\n\t\tts.TypeFlags.Boolean |\n\t\tts.TypeFlags.BooleanLiteral |\n\t\tts.TypeFlags.ESSymbol |\n\t\tts.TypeFlags.Void |\n\t\tts.TypeFlags.Undefined |\n\t\tts.TypeFlags.Null |\n\t\tts.TypeFlags.Never |\n\t\tts.TypeFlags.NonPrimitive;\n\n/**\n * Test if a type is an {@link IntrinsicType}.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicType(type: ts.Type): type is IntrinsicType {\n\treturn isTypeFlagSet(type, IntrinsicTypeFlags);\n}\n\n/**\n * A \"never\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicNeverType extends IntrinsicType {\n\tintrinsicName: \"never\";\n}\n\n/**\n * Determines whether the given type is the \"never\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicNeverType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicNeverType(\n\ttype: ts.Type,\n): type is IntrinsicNeverType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Never);\n}\n\n/**\n * A non-primitive intrinsic type.\n * E.g. An \"object\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicNonPrimitiveType extends IntrinsicType {\n\tintrinsicName: \"\";\n}\n\n/**\n * Determines whether the given type is a non-primitive intrinsic type.\n * E.g. An \"object\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicNonPrimitiveType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicNonPrimitiveType(\n\ttype: ts.Type,\n): type is IntrinsicNonPrimitiveType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.NonPrimitive);\n}\n\n/**\n * A \"null\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicNullType extends IntrinsicType {\n\tintrinsicName: \"null\";\n}\n\n/**\n * Determines whether the given type is the \"null\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicNullType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicNullType(type: ts.Type): type is IntrinsicNullType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Null);\n}\n\n/**\n * A \"number\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicNumberType extends IntrinsicType {\n\tintrinsicName: \"number\";\n}\n\n/**\n * Determines whether the given type is the \"number\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicNumberType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicNumberType(\n\ttype: ts.Type,\n): type is IntrinsicNumberType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Number);\n}\n\n/**\n * A \"string\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicStringType extends IntrinsicType {\n\tintrinsicName: \"string\";\n}\n\n/**\n * Determines whether the given type is the \"string\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicStringType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicStringType(\n\ttype: ts.Type,\n): type is IntrinsicStringType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.String);\n}\n\n/**\n * An \"undefined\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicUndefinedType extends IntrinsicType {\n\tintrinsicName: \"undefined\";\n}\n\n/**\n * Determines whether the given type is the \"undefined\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicUndefinedType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicUndefinedType(\n\ttype: ts.Type,\n): type is IntrinsicUndefinedType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Undefined);\n}\n\n/**\n * An \"unknown\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicUnknownType extends IntrinsicType {\n\tintrinsicName: \"unknown\";\n}\n\n/**\n * Determines whether the given type is the \"unknown\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicUnknownType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicUnknownType(\n\ttype: ts.Type,\n): type is IntrinsicUnknownType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Unknown);\n}\n\n/**\n * A \"void\" intrinsic type.\n * @category Type Types\n */\nexport interface IntrinsicVoidType extends IntrinsicType {\n\tintrinsicName: \"void\";\n}\n\n/**\n * Determines whether the given type is the \"void\" intrinsic type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntrinsicVoidType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntrinsicVoidType(type: ts.Type): type is IntrinsicVoidType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Void);\n}\n","import ts from \"typescript\";\n\nimport { isObjectFlagSet } from \"../../flags\";\nimport { isObjectType } from \"./single\";\n\n/**\n * Test if a type is a `EvolvingArrayType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isEvolvingArrayType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isEvolvingArrayType(\n\ttype: ts.Type,\n): type is ts.EvolvingArrayType {\n\treturn (\n\t\tisObjectType(type) && isObjectFlagSet(type, ts.ObjectFlags.EvolvingArray)\n\t);\n}\n\n/**\n * Test if a type is a `TupleType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isTupleType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isTupleType(type: ts.Type): type is ts.TupleType {\n\treturn isObjectType(type) && isObjectFlagSet(type, ts.ObjectFlags.Tuple);\n}\n\n/**\n * Test if a type is a `TypeReference`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isTypeReference(type)) {\n * // ...\n * }\n * ```\n */\nexport function isTypeReference(type: ts.Type): type is ts.TypeReference {\n\treturn isObjectType(type) && isObjectFlagSet(type, ts.ObjectFlags.Reference);\n}\n","import ts from \"typescript\";\n\nimport { isTypeFlagSet } from \"../../flags\";\n\n/**\n * Test if a type is a `ConditionalType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isConditionalType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isConditionalType(type: ts.Type): type is ts.ConditionalType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Conditional);\n}\n\n/**\n * Test if a type is a `EnumType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isEnumType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isEnumType(type: ts.Type): type is ts.EnumType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Enum);\n}\n\n/**\n * Test if a type is a `FreshableType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isFreshableType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isFreshableType(type: ts.Type): type is ts.FreshableType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Freshable);\n}\n\n/**\n * Test if a type is a `IndexType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIndexType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIndexType(type: ts.Type): type is ts.IndexType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Index);\n}\n\n/**\n * Test if a type is a `IndexedAccessType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIndexedAccessType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIndexedAccessType(\n\ttype: ts.Type,\n): type is ts.IndexedAccessType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.IndexedAccess);\n}\n\n/**\n * Test if a type is a `InstantiableType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isInstantiableType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isInstantiableType(type: ts.Type): type is ts.InstantiableType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Instantiable);\n}\n\n/**\n * Test if a type is a `IntersectionType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isIntersectionType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isIntersectionType(type: ts.Type): type is ts.IntersectionType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Intersection);\n}\n\n/**\n * Test if a type is a `ObjectType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isObjectType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isObjectType(type: ts.Type): type is ts.ObjectType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Object);\n}\n\n/**\n * Test if a type is a `StringMappingType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isStringMappingType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isStringMappingType(\n\ttype: ts.Type,\n): type is ts.StringMappingType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.StringMapping);\n}\n\n/**\n * Test if a type is a `SubstitutionType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isSubstitutionType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isSubstitutionType(type: ts.Type): type is ts.SubstitutionType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Substitution);\n}\n\n/**\n * Test if a type is a `TypeParameter`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isTypeParameter(type)) {\n * // ...\n * }\n * ```\n */\nexport function isTypeParameter(type: ts.Type): type is ts.TypeParameter {\n\treturn isTypeFlagSet(type, ts.TypeFlags.TypeParameter);\n}\n\n/**\n * Test if a type is a `TypeVariable`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isTypeVariable(type)) {\n * // ...\n * }\n * ```\n */\nexport function isTypeVariable(type: ts.Type): type is ts.TypeVariable {\n\treturn isTypeFlagSet(type, ts.TypeFlags.TypeVariable);\n}\n\n/**\n * Test if a type is a `UnionType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isUnionType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isUnionType(type: ts.Type): type is ts.UnionType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Union);\n}\n\n/**\n * Test if a type is a `UnionOrIntersectionType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isUnionOrIntersectionType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isUnionOrIntersectionType(\n\ttype: ts.Type,\n): type is ts.UnionOrIntersectionType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.UnionOrIntersection);\n}\n\n/**\n * Test if a type is a `UniqueESSymbolType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isUniqueESSymbolType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isUniqueESSymbolType(\n\ttype: ts.Type,\n): type is ts.UniqueESSymbolType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.UniqueESSymbol);\n}\n","import ts from \"typescript\";\n\nimport { type IntrinsicType, isIntrinsicType } from \"./intrinsic\";\nimport { isTupleType, isTypeReference } from \"./objects\";\nimport { isFreshableType } from \"./single\";\n\n/**\n * A type that is both an {@link IntrinsicType} and a `FreshableType`\n * @category Type Types\n */\nexport interface FreshableIntrinsicType\n\textends ts.FreshableType,\n\t\tIntrinsicType {}\n\n/**\n * Test if a type is a `FreshableIntrinsicType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isFreshableIntrinsicType(type)) {\n * // ...\n * }\n */\nexport function isFreshableIntrinsicType(\n\ttype: ts.Type,\n): type is FreshableIntrinsicType {\n\treturn isIntrinsicType(type) && isFreshableType(type);\n}\n\n/**\n * Test if a type is a `TupleTypeReference`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isTupleTypeReference(type)) {\n * // ...\n * }\n */\nexport function isTupleTypeReference(\n\ttype: ts.Type,\n): type is ts.TupleTypeReference {\n\treturn isTypeReference(type) && isTupleType(type.target);\n}\n","import ts from \"typescript\";\n\nimport { isTypeFlagSet } from \"../../flags\";\nimport { type FreshableIntrinsicType } from \"./compound\";\n\n/**\n * A boolean literal.\n * i.e. Either a \"true\" or \"false\" literal.\n * @category Type Types\n */\nexport interface BooleanLiteralType extends UnknownLiteralType {\n\tintrinsicName: \"false\" | \"true\";\n\tvalue: boolean;\n}\n\n/**\n * Determines whether the given type is a boolean literal type.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isBooleanLiteralType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isBooleanLiteralType(\n\ttype: ts.Type,\n): type is BooleanLiteralType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.BooleanLiteral);\n}\n\n/**\n * Test if a type is a `BigIntLiteralType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isBigIntLiteralType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isBigIntLiteralType(\n\ttype: ts.Type,\n): type is ts.BigIntLiteralType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.BigIntLiteral);\n}\n\n/**\n * A \"false\" literal.\n * @category Type Types\n */\nexport interface FalseLiteralType extends BooleanLiteralType {\n\tintrinsicName: \"false\";\n\tvalue: false;\n}\n\n/**\n * Determines whether the given type is a boolean literal type for \"false\".\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isFalseLiteralType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isFalseLiteralType(type: ts.Type): type is FalseLiteralType {\n\treturn isBooleanLiteralType(type) && type.intrinsicName === \"false\";\n}\n\n/**\n * Test if a type is a `LiteralType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isLiteralType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isLiteralType(type: ts.Type): type is ts.LiteralType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Literal);\n}\n\n/**\n * Test if a type is a `NumberLiteralType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isNumberLiteralType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isNumberLiteralType(\n\ttype: ts.Type,\n): type is ts.NumberLiteralType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.NumberLiteral);\n}\n\n/**\n * Test if a type is a `StringLiteralType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isStringLiteralType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isStringLiteralType(\n\ttype: ts.Type,\n): type is ts.StringLiteralType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.StringLiteral);\n}\n\n/**\n * Test if a type is a `TemplateLiteralType`.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isTemplateLiteralType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isTemplateLiteralType(\n\ttype: ts.Type,\n): type is ts.TemplateLiteralType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.TemplateLiteral);\n}\n\n/**\n * A \"true\" literal.\n * @category Type Types\n */\nexport interface TrueLiteralType extends BooleanLiteralType {\n\tintrinsicName: \"true\";\n\tvalue: true;\n}\n\n/**\n * Determines whether the given type is a boolean literal type for \"true\".\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isTrueLiteralType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isTrueLiteralType(type: ts.Type): type is TrueLiteralType {\n\treturn isBooleanLiteralType(type) && type.intrinsicName === \"true\";\n}\n\n/**\n * `LiteralType` from typescript except that it allows for it to work on arbitrary types.\n * @category Type Types\n */\nexport interface UnknownLiteralType extends FreshableIntrinsicType {\n\tvalue: unknown;\n}\n\n/**\n * Test if a type is a {@link UnknownLiteralType}.\n * @category Types - Type Guards\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isUnknownLiteralType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isUnknownLiteralType(\n\ttype: ts.Type,\n): type is UnknownLiteralType {\n\treturn isTypeFlagSet(type, ts.TypeFlags.Literal);\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport {\n\tisModifierFlagSet,\n\tisNodeFlagSet,\n\tisObjectFlagSet,\n\tisSymbolFlagSet,\n\tisTypeFlagSet,\n} from \"../flags\";\nimport {\n\tisBindableObjectDefinePropertyCall,\n\tisInConstContext,\n} from \"../nodes/utilities\";\nimport { isNumericPropertyName } from \"../syntax\";\nimport { getPropertyOfType } from \"./getters\";\nimport {\n\tisFalseLiteralType,\n\tisIntersectionType,\n\tisObjectType,\n\tisTupleTypeReference,\n\tisUnionType,\n} from \"./typeGuards\";\n\n/**\n * Determines whether a type is definitely falsy. This function doesn't unwrap union types.\n * @category Types - Utilities\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * if (isFalsyType(type)) {\n * // ...\n * }\n * ```\n */\nexport function isFalsyType(type: ts.Type): boolean {\n\tif (\n\t\tisTypeFlagSet(\n\t\t\ttype,\n\t\t\tts.TypeFlags.Undefined | ts.TypeFlags.Null | ts.TypeFlags.Void,\n\t\t)\n\t) {\n\t\treturn true;\n\t}\n\n\tif (type.isLiteral()) {\n\t\treturn !type.value;\n\t}\n\n\treturn isFalseLiteralType(type);\n}\n\n/**\n * Get the intersection type parts of the given type.\n *\n * If the given type is not a intersection type, an array contain only that type will be returned.\n * @category Types - Utilities\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * for (const typePart of intersectionTypeParts(type)) {\n * // ...\n * }\n * ```\n */\nexport function intersectionTypeParts(type: ts.Type): ts.Type[] {\n\treturn isIntersectionType(type) ? type.types : [type];\n}\n\n/**\n * Get the intersection or union type parts of the given type.\n *\n * Note that this is a shallow collection: it only returns `type.types` or `[type]`.\n *\n * If the given type is not an intersection or union type, an array contain only that type will be returned.\n * @category Types - Utilities\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * for (const typePart of intersectionTypeParts(type)) {\n * // ...\n * }\n * ```\n */\nexport function typeParts(type: ts.Type): ts.Type[] {\n\treturn isIntersectionType(type) || isUnionType(type) ? type.types : [type];\n}\n\nfunction isReadonlyPropertyIntersection(\n\ttype: ts.Type,\n\tname: ts.__String,\n\ttypeChecker: ts.TypeChecker,\n) {\n\tconst typeParts = isIntersectionType(type) ? type.types : [type];\n\treturn typeParts.some((subType): boolean => {\n\t\tconst prop = getPropertyOfType(subType, name);\n\t\tif (prop === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (prop.flags & ts.SymbolFlags.Transient) {\n\t\t\tif (\n\t\t\t\t/^(?:[1-9]\\d*|0)$/.test(name as string) &&\n\t\t\t\tisTupleTypeReference(subType)\n\t\t\t) {\n\t\t\t\treturn subType.target.readonly;\n\t\t\t}\n\n\t\t\tswitch (isReadonlyPropertyFromMappedType(subType, name, typeChecker)) {\n\t\t\t\tcase true:\n\t\t\t\t\treturn true;\n\t\t\t\tcase false:\n\t\t\t\t\treturn false;\n\t\t\t\tdefault:\n\t\t\t\t// `undefined` falls through\n\t\t\t}\n\t\t}\n\n\t\treturn !!(\n\t\t\t// members of namespace import\n\t\t\t(\n\t\t\t\tisSymbolFlagSet(prop, ts.SymbolFlags.ValueModule) ||\n\t\t\t\t// we unwrapped every mapped type, now we can check the actual declarations\n\t\t\t\tsymbolHasReadonlyDeclaration(prop, typeChecker)\n\t\t\t)\n\t\t);\n\t});\n}\n\nfunction isReadonlyPropertyFromMappedType(\n\ttype: ts.Type,\n\tname: ts.__String,\n\ttypeChecker: ts.TypeChecker,\n): boolean | undefined {\n\tif (!isObjectType(type) || !isObjectFlagSet(type, ts.ObjectFlags.Mapped)) {\n\t\treturn;\n\t}\n\n\tconst declaration = type.symbol.declarations![0] as ts.MappedTypeNode;\n\t// well-known symbols are not affected by mapped types\n\tif (\n\t\tdeclaration.readonlyToken !== undefined &&\n\t\t!/^__@[^@]+$/.test(name as string)\n\t) {\n\t\treturn declaration.readonlyToken.kind !== ts.SyntaxKind.MinusToken;\n\t}\n\n\tconst { modifiersType } = type as { modifiersType?: ts.Type };\n\n\treturn (\n\t\tmodifiersType && isPropertyReadonlyInType(modifiersType, name, typeChecker)\n\t);\n}\n\nfunction isCallback(\n\ttypeChecker: ts.TypeChecker,\n\tparam: ts.Symbol,\n\tnode: ts.Node,\n): boolean {\n\tlet type: ts.Type | undefined = typeChecker.getApparentType(\n\t\ttypeChecker.getTypeOfSymbolAtLocation(param, node),\n\t);\n\tif ((param.valueDeclaration as ts.ParameterDeclaration).dotDotDotToken) {\n\t\t// unwrap array type of rest parameter\n\t\ttype = type.getNumberIndexType();\n\t\tif (type === undefined) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfor (const subType of unionTypeParts(type)) {\n\t\tif (subType.getCallSignatures().length !== 0) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * Determines whether writing to a certain property of a given type is allowed.\n * @category Types - Utilities\n * @example\n * ```ts\n * declare const property: ts.Symbol;\n * declare const type: ts.Type;\n * declare const typeChecker: ts.TypeChecker;\n *\n * if (isPropertyReadonlyInType(type, property.getEscapedName(), typeChecker)) {\n * // ...\n * }\n * ```\n */\nexport function isPropertyReadonlyInType(\n\ttype: ts.Type,\n\tname: ts.__String,\n\ttypeChecker: ts.TypeChecker,\n): boolean {\n\tlet seenProperty = false;\n\tlet seenReadonlySignature = false;\n\tfor (const subType of unionTypeParts(type)) {\n\t\tif (getPropertyOfType(subType, name) === undefined) {\n\t\t\t// property is not present in this part of the union -> check for readonly index signature\n\t\t\tconst index =\n\t\t\t\t(isNumericPropertyName(name)\n\t\t\t\t\t? typeChecker.getIndexInfoOfType(subType, ts.IndexKind.Number)\n\t\t\t\t\t: undefined) ??\n\t\t\t\ttypeChecker.getIndexInfoOfType(subType, ts.IndexKind.String);\n\t\t\tif (index?.isReadonly) {\n\t\t\t\tif (seenProperty) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tseenReadonlySignature = true;\n\t\t\t}\n\t\t} else if (\n\t\t\tseenReadonlySignature ||\n\t\t\tisReadonlyPropertyIntersection(subType, name, typeChecker)\n\t\t) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\tseenProperty = true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * Returns true for `Object.defineProperty(o, 'prop', {value, writable: false})` and `Object.defineProperty(o, 'prop', {get: () => 1})`\n * @category Types - Utilities\n * @example\n * ```ts\n * declare const node: ts.CallExpression;\n * declare const typeChecker: ts.TypeChecker;\n *\n * if (isReadonlyAssignmentDeclaration(node, typeChecker)) {\n * // ...\n * }\n * ```\n */\nfunction isReadonlyAssignmentDeclaration(\n\tnode: ts.CallExpression,\n\ttypeChecker: ts.TypeChecker,\n) {\n\tif (!isBindableObjectDefinePropertyCall(node)) {\n\t\treturn false;\n\t}\n\n\tconst descriptorType = typeChecker.getTypeAtLocation(node.arguments[2]);\n\tif (descriptorType.getProperty(\"value\") === undefined) {\n\t\treturn descriptorType.getProperty(\"set\") === undefined;\n\t}\n\n\tconst writableProp = descriptorType.getProperty(\"writable\");\n\tif (writableProp === undefined) {\n\t\treturn false;\n\t}\n\n\tconst writableType =\n\t\twritableProp.valueDeclaration !== undefined &&\n\t\tts.isPropertyAssignment(writableProp.valueDeclaration)\n\t\t\t? typeChecker.getTypeAtLocation(writableProp.valueDeclaration.initializer)\n\t\t\t: typeChecker.getTypeOfSymbolAtLocation(writableProp, node.arguments[2]);\n\treturn isFalseLiteralType(writableType);\n}\n\n/**\n * Determines whether a type is thenable and thus can be used with `await`.\n * @category Types - Utilities\n * @example\n * ```ts\n * declare const node: ts.Node;\n * declare const type: ts.Type;\n * declare const typeChecker: ts.TypeChecker;\n *\n * if (isThenableType(typeChecker, node, type)) {\n * // ...\n * }\n * ```\n */\nexport function isThenableType(\n\ttypeChecker: ts.TypeChecker,\n\tnode: ts.Node,\n\ttype: ts.Type,\n): boolean;\n\n/**\n * Determines whether a type is thenable and thus can be used with `await`.\n * @category Types - Utilities\n * @example\n * ```ts\n * declare const expression: ts.Expression;\n * declare const typeChecker: ts.TypeChecker;\n *\n * if (isThenableType(typeChecker, expression)) {\n * // ...\n * }\n * ```\n * @example\n * ```ts\n * declare const expression: ts.Expression;\n * declare const typeChecker: ts.TypeChecker;\n * declare const type: ts.Type;\n *\n * if (isThenableType(typeChecker, expression, type)) {\n * // ...\n * }\n * ```\n */\nexport function isThenableType(\n\ttypeChecker: ts.TypeChecker,\n\tnode: ts.Expression,\n\ttype?: ts.Type,\n): boolean;\n\nexport function isThenableType(\n\ttypeChecker: ts.TypeChecker,\n\tnode: ts.Node,\n\ttype = typeChecker.getTypeAtLocation(node)!,\n): boolean {\n\tfor (const typePart of unionTypeParts(typeChecker.getApparentType(type))) {\n\t\tconst then = typePart.getProperty(\"then\");\n\t\tif (then === undefined) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst thenType = typeChecker.getTypeOfSymbolAtLocation(then, node);\n\t\tfor (const subTypePart of unionTypeParts(thenType)) {\n\t\t\tfor (const signature of subTypePart.getCallSignatures()) {\n\t\t\t\tif (\n\t\t\t\t\tsignature.parameters.length !== 0 &&\n\t\t\t\t\tisCallback(typeChecker, signature.parameters[0], node)\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * Test if the given symbol has a readonly declaration.\n * @category Symbols - Utilities\n * @example\n * ```ts\n * declare const symbol: ts.Symbol;\n * declare const typeChecker: ts.TypeChecker;\n *\n * if (symbolHasReadonlyDeclaration(symbol, typeChecker)) {\n * // ...\n * }\n * ```\n */\nexport function symbolHasReadonlyDeclaration(\n\tsymbol: ts.Symbol,\n\ttypeChecker: ts.TypeChecker,\n): boolean {\n\treturn !!(\n\t\t(symbol.flags & ts.SymbolFlags.Accessor) === ts.SymbolFlags.GetAccessor ||\n\t\tsymbol.declarations?.some(\n\t\t\t(node) =>\n\t\t\t\tisModifierFlagSet(node, ts.ModifierFlags.Readonly) ||\n\t\t\t\t(ts.isVariableDeclaration(node) &&\n\t\t\t\t\tisNodeFlagSet(node.parent, ts.NodeFlags.Const)) ||\n\t\t\t\t(ts.isCallExpression(node) &&\n\t\t\t\t\tisReadonlyAssignmentDeclaration(node, typeChecker)) ||\n\t\t\t\tts.isEnumMember(node) ||\n\t\t\t\t((ts.isPropertyAssignment(node) ||\n\t\t\t\t\tts.isShorthandPropertyAssignment(node)) &&\n\t\t\t\t\tisInConstContext(node.parent)),\n\t\t)\n\t);\n}\n\n/**\n * Get the union type parts of the given type.\n *\n * If the given type is not a union type, an array contain only that type will be returned.\n * @category Types - Utilities\n * @example\n * ```ts\n * declare const type: ts.Type;\n *\n * for (const typePart of unionTypeParts(type)) {\n * // ...\n * }\n * ```\n */\nexport function unionTypeParts(type: ts.Type): ts.Type[] {\n\treturn isUnionType(type) ? type.types : [type];\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport {\n\tisConstAssertionExpression,\n\tisEntityNameExpression,\n\tisNumericOrStringLikeLiteral,\n} from \"./typeGuards\";\n\n/**\n * Determines whether a call to {@link Object.defineProperty} is statically analyzable.\n * @internal\n */\nexport function isBindableObjectDefinePropertyCall(\n\tnode: ts.CallExpression,\n): boolean {\n\treturn (\n\t\tnode.arguments.length === 3 &&\n\t\tisEntityNameExpression(node.arguments[0]) &&\n\t\tisNumericOrStringLikeLiteral(node.arguments[1]) &&\n\t\tts.isPropertyAccessExpression(node.expression) &&\n\t\tnode.expression.name.escapedText === \"defineProperty\" &&\n\t\tts.isIdentifier(node.expression.expression) &&\n\t\tnode.expression.expression.escapedText === \"Object\"\n\t);\n}\n\n/**\n * Detects whether an expression is affected by an enclosing `as const` assertion and therefore treated literally.\n * @internal\n */\nexport function isInConstContext(node: ts.Expression): boolean {\n\tlet current: ts.Node = node;\n\twhile (true) {\n\t\tconst parent = current.parent;\n\t\touter: switch (parent.kind) {\n\t\t\tcase ts.SyntaxKind.TypeAssertionExpression:\n\t\t\tcase ts.SyntaxKind.AsExpression:\n\t\t\t\treturn isConstAssertionExpression(parent as ts.AssertionExpression);\n\t\t\tcase ts.SyntaxKind.PrefixUnaryExpression:\n\t\t\t\tif (current.kind !== ts.SyntaxKind.NumericLiteral) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tswitch ((parent as ts.PrefixUnaryExpression).operator) {\n\t\t\t\t\tcase ts.SyntaxKind.PlusToken:\n\t\t\t\t\tcase ts.SyntaxKind.MinusToken:\n\t\t\t\t\t\tcurrent = parent;\n\t\t\t\t\t\tbreak outer;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\tcase ts.SyntaxKind.PropertyAssignment:\n\t\t\t\tif ((parent as ts.PropertyAssignment).initializer !== current) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tcurrent = parent.parent!;\n\t\t\t\tbreak;\n\t\t\tcase ts.SyntaxKind.ShorthandPropertyAssignment:\n\t\t\t\tcurrent = parent.parent!;\n\t\t\t\tbreak;\n\t\t\tcase ts.SyntaxKind.ParenthesizedExpression:\n\t\t\tcase ts.SyntaxKind.ArrayLiteralExpression:\n\t\t\tcase ts.SyntaxKind.ObjectLiteralExpression:\n\t\t\tcase ts.SyntaxKind.TemplateExpression:\n\t\t\t\tcurrent = parent;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport { includesModifier } from \"../modifiers\";\nimport {\n\tScope,\n\tScopeBoundary,\n\tScopeBoundarySelector,\n\tisBlockScopeBoundary,\n} from \"./Scope\";\nimport { DeclarationDomain } from \"./declarations\";\nimport { getPropertyName } from \"./getPropertyName\";\nimport { getUsageDomain } from \"./getUsageDomain\";\nimport {\n\tBlockScope,\n\tClassExpressionScope,\n\tConditionalTypeScope,\n\tConditionalTypeScopeState,\n\tFunctionExpressionScope,\n\tFunctionScope,\n\tNonRootScope,\n\tRootScope,\n} from \"./scopes\";\nimport { UsageInfo, UsageInfoCallback } from \"./usage\";\nimport {\n\tcanHaveDecorators,\n\tgetDecorators,\n\tidentifierToKeywordKind,\n} from \"./utils\";\n\n// TODO class decorators resolve outside of class, element and parameter decorator resolve inside/at the class\n// TODO computed property name resolves inside/at the class\n// TODO this and super in all of them are resolved outside of the class\nexport class UsageWalker {\n\t#result = new Map();\n\t#scope!: Scope;\n\n\t#handleBindingName(\n\t\tname: ts.BindingName,\n\t\tblockScoped: boolean,\n\t\texported: boolean,\n\t) {\n\t\tif (name.kind === ts.SyntaxKind.Identifier) {\n\t\t\treturn this.#scope.addVariable(\n\t\t\t\tname.text,\n\t\t\t\tname,\n\t\t\t\tblockScoped\n\t\t\t\t\t? ScopeBoundarySelector.Block\n\t\t\t\t\t: ScopeBoundarySelector.Function,\n\t\t\t\texported,\n\t\t\t\tDeclarationDomain.Value,\n\t\t\t);\n\t\t}\n\n\t\tforEachDestructuringIdentifier(name, (declaration) => {\n\t\t\tthis.#scope.addVariable(\n\t\t\t\tdeclaration.name.text,\n\t\t\t\tdeclaration.name,\n\t\t\t\tblockScoped\n\t\t\t\t\t? ScopeBoundarySelector.Block\n\t\t\t\t\t: ScopeBoundarySelector.Function,\n\t\t\t\texported,\n\t\t\t\tDeclarationDomain.Value,\n\t\t\t);\n\t\t});\n\t}\n\n\t#handleConditionalType(\n\t\tnode: ts.ConditionalTypeNode,\n\t\tcb: (node: ts.Node) => void,\n\t\tvarCb: UsageInfoCallback,\n\t) {\n\t\tconst savedScope = this.#scope;\n\t\tconst scope = (this.#scope = new ConditionalTypeScope(savedScope));\n\t\tcb(node.checkType);\n\t\tscope.updateState(ConditionalTypeScopeState.Extends);\n\t\tcb(node.extendsType);\n\t\tscope.updateState(ConditionalTypeScopeState.TrueType);\n\t\tcb(node.trueType);\n\t\tscope.updateState(ConditionalTypeScopeState.FalseType);\n\t\tcb(node.falseType);\n\t\tscope.end(varCb);\n\t\tthis.#scope = savedScope;\n\t}\n\n\t#handleDeclaration(\n\t\tnode: ts.NamedDeclaration,\n\t\tblockScoped: boolean,\n\t\tdomain: DeclarationDomain,\n\t) {\n\t\tif (node.name !== undefined) {\n\t\t\tthis.#scope.addVariable(\n\t\t\t\t(node.name as ts.Identifier).text,\n\t\t\t\tnode.name as ts.Identifier,\n\t\t\t\tblockScoped\n\t\t\t\t\t? ScopeBoundarySelector.Block\n\t\t\t\t\t: ScopeBoundarySelector.Function,\n\t\t\t\tincludesModifier(\n\t\t\t\t\t(node as ts.HasModifiers).modifiers,\n\t\t\t\t\tts.SyntaxKind.ExportKeyword,\n\t\t\t\t),\n\t\t\t\tdomain,\n\t\t\t);\n\t\t}\n\t}\n\n\t#handleFunctionLikeDeclaration(\n\t\tnode: ts.FunctionLikeDeclaration,\n\t\tcb: (node: ts.Node) => void,\n\t\tvarCb: UsageInfoCallback,\n\t) {\n\t\tif (canHaveDecorators(node)) {\n\t\t\tgetDecorators(node)?.forEach(cb);\n\t\t}\n\n\t\tconst savedScope = this.#scope;\n\t\tif (node.kind === ts.SyntaxKind.FunctionDeclaration) {\n\t\t\tthis.#handleDeclaration(node, false, DeclarationDomain.Value);\n\t\t}\n\n\t\tconst scope = (this.#scope =\n\t\t\tnode.kind === ts.SyntaxKind.FunctionExpression && node.name !== undefined\n\t\t\t\t? new FunctionExpressionScope(node.name, savedScope)\n\t\t\t\t: new FunctionScope(savedScope));\n\t\tif (node.name !== undefined) {\n\t\t\tcb(node.name);\n\t\t}\n\n\t\tif (node.typeParameters !== undefined) {\n\t\t\tnode.typeParameters.forEach(cb);\n\t\t}\n\n\t\tnode.parameters.forEach(cb);\n\t\tif (node.type !== undefined) {\n\t\t\tcb(node.type);\n\t\t}\n\n\t\tif (node.body !== undefined) {\n\t\t\tscope.beginBody();\n\t\t\tcb(node.body);\n\t\t}\n\n\t\tscope.end(varCb);\n\t\tthis.#scope = savedScope;\n\t}\n\n\t#handleModule(\n\t\tnode: ts.ModuleDeclaration,\n\t\tnext: (node: ts.Node, scope: Scope) => void,\n\t) {\n\t\tif (node.flags & ts.NodeFlags.GlobalAugmentation) {\n\t\t\treturn next(\n\t\t\t\tnode,\n\t\t\t\tthis.#scope.createOrReuseNamespaceScope(\"-global\", false, true, false),\n\t\t\t);\n\t\t}\n\n\t\tif (node.name.kind === ts.SyntaxKind.Identifier) {\n\t\t\tconst exported = isNamespaceExported(node as ts.NamespaceDeclaration);\n\t\t\tthis.#scope.addVariable(\n\t\t\t\tnode.name.text,\n\t\t\t\tnode.name,\n\t\t\t\tScopeBoundarySelector.Function,\n\t\t\t\texported,\n\t\t\t\tDeclarationDomain.Namespace | DeclarationDomain.Value,\n\t\t\t);\n\t\t\tconst ambient = includesModifier(\n\t\t\t\tnode.modifiers,\n\t\t\t\tts.SyntaxKind.DeclareKeyword,\n\t\t\t);\n\t\t\treturn next(\n\t\t\t\tnode,\n\t\t\t\tthis.#scope.createOrReuseNamespaceScope(\n\t\t\t\t\tnode.name.text,\n\t\t\t\t\texported,\n\t\t\t\t\tambient,\n\t\t\t\t\tambient && namespaceHasExportStatement(node),\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\treturn next(\n\t\t\tnode,\n\t\t\tthis.#scope.createOrReuseNamespaceScope(\n\t\t\t\t`\"${node.name.text}\"`,\n\t\t\t\tfalse,\n\t\t\t\ttrue,\n\t\t\t\tnamespaceHasExportStatement(node),\n\t\t\t),\n\t\t);\n\t}\n\n\t#handleVariableDeclaration(declarationList: ts.VariableDeclarationList) {\n\t\tconst blockScoped = isBlockScopedVariableDeclarationList(declarationList);\n\t\tconst exported =\n\t\t\tdeclarationList.parent.kind === ts.SyntaxKind.VariableStatement &&\n\t\t\tincludesModifier(\n\t\t\t\tdeclarationList.parent.modifiers,\n\t\t\t\tts.SyntaxKind.ExportKeyword,\n\t\t\t);\n\t\tfor (const declaration of declarationList.declarations) {\n\t\t\tthis.#handleBindingName(declaration.name, blockScoped, exported);\n\t\t}\n\t}\n\n\tgetUsage(sourceFile: ts.SourceFile): Map {\n\t\tconst variableCallback = (variable: UsageInfo, key: ts.Identifier) => {\n\t\t\tthis.#result.set(key, variable);\n\t\t};\n\n\t\tconst isModule = ts.isExternalModule(sourceFile);\n\t\tthis.#scope = new RootScope(\n\t\t\tsourceFile.isDeclarationFile &&\n\t\t\t\tisModule &&\n\t\t\t\t!containsExportStatement(sourceFile),\n\t\t\t!isModule,\n\t\t);\n\t\tconst cb = (node: ts.Node): void => {\n\t\t\tif (isBlockScopeBoundary(node)) {\n\t\t\t\treturn continueWithScope(\n\t\t\t\t\tnode,\n\t\t\t\t\tnew BlockScope(this.#scope.getFunctionScope(), this.#scope),\n\t\t\t\t\thandleBlockScope,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tswitch (node.kind) {\n\t\t\t\tcase ts.SyntaxKind.ClassExpression:\n\t\t\t\t\treturn continueWithScope(\n\t\t\t\t\t\tnode,\n\t\t\t\t\t\t(node as ts.ClassExpression).name !== undefined\n\t\t\t\t\t\t\t? new ClassExpressionScope(\n\t\t\t\t\t\t\t\t\t(node as ts.ClassExpression).name!,\n\t\t\t\t\t\t\t\t\tthis.#scope,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: new NonRootScope(this.#scope, ScopeBoundary.Function),\n\t\t\t\t\t);\n\t\t\t\tcase ts.SyntaxKind.ClassDeclaration:\n\t\t\t\t\tthis.#handleDeclaration(\n\t\t\t\t\t\tnode as ts.ClassDeclaration,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tDeclarationDomain.Value | DeclarationDomain.Type,\n\t\t\t\t\t);\n\t\t\t\t\treturn continueWithScope(\n\t\t\t\t\t\tnode,\n\t\t\t\t\t\tnew NonRootScope(this.#scope, ScopeBoundary.Function),\n\t\t\t\t\t);\n\t\t\t\tcase ts.SyntaxKind.InterfaceDeclaration:\n\t\t\t\tcase ts.SyntaxKind.TypeAliasDeclaration:\n\t\t\t\t\tthis.#handleDeclaration(\n\t\t\t\t\t\tnode as ts.InterfaceDeclaration | ts.TypeAliasDeclaration,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tDeclarationDomain.Type,\n\t\t\t\t\t);\n\t\t\t\t\treturn continueWithScope(\n\t\t\t\t\t\tnode,\n\t\t\t\t\t\tnew NonRootScope(this.#scope, ScopeBoundary.Type),\n\t\t\t\t\t);\n\t\t\t\tcase ts.SyntaxKind.EnumDeclaration:\n\t\t\t\t\tthis.#handleDeclaration(\n\t\t\t\t\t\tnode as ts.EnumDeclaration,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tDeclarationDomain.Any,\n\t\t\t\t\t);\n\t\t\t\t\treturn continueWithScope(\n\t\t\t\t\t\tnode,\n\t\t\t\t\t\tthis.#scope.createOrReuseEnumScope(\n\t\t\t\t\t\t\t(node as ts.EnumDeclaration).name.text,\n\t\t\t\t\t\t\tincludesModifier(\n\t\t\t\t\t\t\t\t(node as ts.HasModifiers).modifiers,\n\t\t\t\t\t\t\t\tts.SyntaxKind.ExportKeyword,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\tcase ts.SyntaxKind.ModuleDeclaration:\n\t\t\t\t\treturn this.#handleModule(\n\t\t\t\t\t\tnode as ts.ModuleDeclaration,\n\t\t\t\t\t\tcontinueWithScope,\n\t\t\t\t\t);\n\t\t\t\tcase ts.SyntaxKind.MappedType:\n\t\t\t\t\treturn continueWithScope(\n\t\t\t\t\t\tnode,\n\t\t\t\t\t\tnew NonRootScope(this.#scope, ScopeBoundary.Type),\n\t\t\t\t\t);\n\t\t\t\tcase ts.SyntaxKind.FunctionExpression:\n\t\t\t\tcase ts.SyntaxKind.ArrowFunction:\n\t\t\t\tcase ts.SyntaxKind.Constructor:\n\t\t\t\tcase ts.SyntaxKind.MethodDeclaration:\n\t\t\t\tcase ts.SyntaxKind.FunctionDeclaration:\n\t\t\t\tcase ts.SyntaxKind.GetAccessor:\n\t\t\t\tcase ts.SyntaxKind.SetAccessor:\n\t\t\t\tcase ts.SyntaxKind.MethodSignature:\n\t\t\t\tcase ts.SyntaxKind.CallSignature:\n\t\t\t\tcase ts.SyntaxKind.ConstructSignature:\n\t\t\t\tcase ts.SyntaxKind.ConstructorType:\n\t\t\t\tcase ts.SyntaxKind.FunctionType:\n\t\t\t\t\treturn this.#handleFunctionLikeDeclaration(\n\t\t\t\t\t\tnode as ts.FunctionLikeDeclaration,\n\t\t\t\t\t\tcb,\n\t\t\t\t\t\tvariableCallback,\n\t\t\t\t\t);\n\t\t\t\tcase ts.SyntaxKind.ConditionalType:\n\t\t\t\t\treturn this.#handleConditionalType(\n\t\t\t\t\t\tnode as ts.ConditionalTypeNode,\n\t\t\t\t\t\tcb,\n\t\t\t\t\t\tvariableCallback,\n\t\t\t\t\t);\n\t\t\t\t// End of Scope specific handling\n\t\t\t\tcase ts.SyntaxKind.VariableDeclarationList:\n\t\t\t\t\tthis.#handleVariableDeclaration(node as ts.VariableDeclarationList);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ts.SyntaxKind.Parameter:\n\t\t\t\t\tif (\n\t\t\t\t\t\tnode.parent.kind !== ts.SyntaxKind.IndexSignature &&\n\t\t\t\t\t\t((node as ts.ParameterDeclaration).name.kind !==\n\t\t\t\t\t\t\tts.SyntaxKind.Identifier ||\n\t\t\t\t\t\t\tidentifierToKeywordKind(\n\t\t\t\t\t\t\t\t(node as ts.NamedDeclaration).name as ts.Identifier,\n\t\t\t\t\t\t\t) !== ts.SyntaxKind.ThisKeyword)\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.#handleBindingName(\n\t\t\t\t\t\t\t(node as ts.NamedDeclaration).name as ts.Identifier,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase ts.SyntaxKind.EnumMember:\n\t\t\t\t\tthis.#scope.addVariable(\n\t\t\t\t\t\tgetPropertyName((node as ts.EnumMember).name)!,\n\t\t\t\t\t\t(node as ts.EnumMember).name,\n\t\t\t\t\t\tScopeBoundarySelector.Function,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tDeclarationDomain.Value,\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ts.SyntaxKind.ImportClause:\n\t\t\t\tcase ts.SyntaxKind.ImportSpecifier:\n\t\t\t\tcase ts.SyntaxKind.NamespaceImport:\n\t\t\t\tcase ts.SyntaxKind.ImportEqualsDeclaration:\n\t\t\t\t\tthis.#handleDeclaration(\n\t\t\t\t\t\tnode as ts.NamedDeclaration,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tDeclarationDomain.Any | DeclarationDomain.Import,\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ts.SyntaxKind.TypeParameter:\n\t\t\t\t\tthis.#scope.addVariable(\n\t\t\t\t\t\t(node as ts.TypeParameterDeclaration).name.text,\n\t\t\t\t\t\t(node as ts.TypeParameterDeclaration).name,\n\t\t\t\t\t\tnode.parent.kind === ts.SyntaxKind.InferType\n\t\t\t\t\t\t\t? ScopeBoundarySelector.InferType\n\t\t\t\t\t\t\t: ScopeBoundarySelector.Type,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tDeclarationDomain.Type,\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ts.SyntaxKind.ExportSpecifier:\n\t\t\t\t\tif ((node as ts.ExportSpecifier).propertyName !== undefined) {\n\t\t\t\t\t\treturn this.#scope.markExported(\n\t\t\t\t\t\t\t(node as ts.ExportSpecifier).propertyName!,\n\t\t\t\t\t\t\t(node as ts.ExportSpecifier).name,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.#scope.markExported((node as ts.ExportSpecifier).name);\n\t\t\t\tcase ts.SyntaxKind.ExportAssignment:\n\t\t\t\t\tif (\n\t\t\t\t\t\t(node as ts.ExportAssignment).expression.kind ===\n\t\t\t\t\t\tts.SyntaxKind.Identifier\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn this.#scope.markExported(\n\t\t\t\t\t\t\t(node as ts.ExportAssignment).expression as ts.Identifier,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase ts.SyntaxKind.Identifier: {\n\t\t\t\t\tconst domain = getUsageDomain(node as ts.Identifier);\n\t\t\t\t\tif (domain !== undefined) {\n\t\t\t\t\t\tthis.#scope.addUse({ domain, location: node as ts.Identifier });\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn ts.forEachChild(node, cb);\n\t\t};\n\n\t\tconst continueWithScope = (\n\t\t\tnode: T,\n\t\t\tscope: Scope,\n\t\t\tnext: (node: T) => void = forEachChild,\n\t\t) => {\n\t\t\tconst savedScope = this.#scope;\n\t\t\tthis.#scope = scope;\n\t\t\tnext(node);\n\t\t\tthis.#scope.end(variableCallback);\n\t\t\tthis.#scope = savedScope;\n\t\t};\n\n\t\tconst handleBlockScope = (node: ts.Node) => {\n\t\t\tif (\n\t\t\t\tnode.kind === ts.SyntaxKind.CatchClause &&\n\t\t\t\t(node as ts.CatchClause).variableDeclaration !== undefined\n\t\t\t) {\n\t\t\t\tthis.#handleBindingName(\n\t\t\t\t\t(node as ts.CatchClause).variableDeclaration!.name,\n\t\t\t\t\ttrue,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn ts.forEachChild(node, cb);\n\t\t};\n\n\t\tts.forEachChild(sourceFile, cb);\n\t\tthis.#scope.end(variableCallback);\n\t\treturn this.#result;\n\n\t\tfunction forEachChild(node: ts.Node) {\n\t\t\treturn ts.forEachChild(node, cb);\n\t\t}\n\t}\n}\n\nfunction isNamespaceExported(node: ts.NamespaceDeclaration) {\n\treturn (\n\t\tnode.parent.kind === ts.SyntaxKind.ModuleDeclaration ||\n\t\tincludesModifier(node.modifiers, ts.SyntaxKind.ExportKeyword)\n\t);\n}\n\nfunction namespaceHasExportStatement(ns: ts.ModuleDeclaration): boolean {\n\tif (ns.body === undefined || ns.body.kind !== ts.SyntaxKind.ModuleBlock) {\n\t\treturn false;\n\t}\n\n\treturn containsExportStatement(ns.body);\n}\n\nfunction containsExportStatement(block: ts.BlockLike): boolean {\n\tfor (const statement of block.statements) {\n\t\tif (\n\t\t\tstatement.kind === ts.SyntaxKind.ExportDeclaration ||\n\t\t\tstatement.kind === ts.SyntaxKind.ExportAssignment\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction isBlockScopedVariableDeclarationList(\n\tdeclarationList: ts.VariableDeclarationList,\n): boolean {\n\treturn (declarationList.flags & ts.NodeFlags.BlockScoped) !== 0;\n}\n\nfunction forEachDestructuringIdentifier(\n\tpattern: ts.BindingPattern,\n\tfn: (element: ts.BindingElement & { name: ts.Identifier }) => T,\n): T | undefined {\n\tfor (const element of pattern.elements) {\n\t\tif (element.kind !== ts.SyntaxKind.BindingElement) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet result: T | undefined;\n\t\tif (element.name.kind === ts.SyntaxKind.Identifier) {\n\t\t\tresult = fn(element as ts.BindingElement & { name: ts.Identifier });\n\t\t} else {\n\t\t\tresult = forEachDestructuringIdentifier(element.name, fn);\n\t\t}\n\n\t\tif (result) {\n\t\t\treturn result;\n\t\t}\n\t}\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport type { EnumScope, NamespaceScope } from \"./scopes\";\n\nimport { isFunctionScopeBoundary } from \"../scopes\";\nimport { DeclarationDomain } from \"./declarations\";\nimport { InternalUsageInfo, Usage, UsageInfoCallback } from \"./usage\";\n\nexport enum ScopeBoundary {\n\tBlock = 2,\n\tConditionalType = 8,\n\tFunction = 1,\n\tNone = 0,\n\tType = 4,\n}\n\nexport enum ScopeBoundarySelector {\n\tFunction = ScopeBoundary.Function,\n\t// eslint-disable-next-line perfectionist/sort-enums\n\tBlock = ScopeBoundarySelector.Function | ScopeBoundary.Block,\n\tInferType = ScopeBoundary.ConditionalType,\n\tType = ScopeBoundarySelector.Block | ScopeBoundary.Type,\n}\n\nexport interface Scope {\n\taddUse(use: Usage, scope?: Scope): void;\n\taddVariable(\n\t\tidentifier: string,\n\t\tname: ts.PropertyName,\n\t\tselector: ScopeBoundarySelector,\n\t\texported: boolean,\n\t\tdomain: DeclarationDomain,\n\t): void;\n\tcreateOrReuseEnumScope(name: string, exported: boolean): EnumScope;\n\tcreateOrReuseNamespaceScope(\n\t\tname: string,\n\t\texported: boolean,\n\t\tambient: boolean,\n\t\thasExportStatement: boolean,\n\t): NamespaceScope;\n\tend(cb: UsageInfoCallback): void;\n\tgetDestinationScope(selector: ScopeBoundarySelector): Scope;\n\tgetFunctionScope(): Scope;\n\tgetVariables(): Map;\n\tmarkExported(name: ts.Identifier, as?: ts.Identifier): void;\n}\n\nexport function isBlockScopeBoundary(node: ts.Node): ScopeBoundary {\n\tswitch (node.kind) {\n\t\tcase ts.SyntaxKind.Block: {\n\t\t\tconst parent = node.parent;\n\t\t\treturn parent.kind !== ts.SyntaxKind.CatchClause &&\n\t\t\t\t// blocks inside SourceFile are block scope boundaries\n\t\t\t\t(parent.kind === ts.SyntaxKind.SourceFile ||\n\t\t\t\t\t// blocks that are direct children of a function scope boundary are no scope boundary\n\t\t\t\t\t// for example the FunctionBlock is part of the function scope of the containing function\n\t\t\t\t\t!isFunctionScopeBoundary(parent))\n\t\t\t\t? ScopeBoundary.Block\n\t\t\t\t: ScopeBoundary.None;\n\t\t}\n\n\t\tcase ts.SyntaxKind.ForStatement:\n\t\tcase ts.SyntaxKind.ForInStatement:\n\t\tcase ts.SyntaxKind.ForOfStatement:\n\t\tcase ts.SyntaxKind.CaseBlock:\n\t\tcase ts.SyntaxKind.CatchClause:\n\t\tcase ts.SyntaxKind.WithStatement:\n\t\t\treturn ScopeBoundary.Block;\n\t\tdefault:\n\t\t\treturn ScopeBoundary.None;\n\t}\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport { identifierToKeywordKind } from \"./utils\";\n\n/**\n * Metadata for how a declaration was declared and/or referenced.\n */\nexport interface DeclarationInfo {\n\tdeclaration: ts.PropertyName;\n\tdomain: DeclarationDomain;\n\texported: boolean;\n}\n\n/**\n * Which \"domain\"(s) (most commonly, type or value space) a declaration is within.\n */\nexport enum DeclarationDomain {\n\tImport = 8,\n\tNamespace = 1,\n\tType = 2,\n\tValue = 4,\n\t// eslint-disable-next-line perfectionist/sort-enums\n\tAny = Namespace | Type | Value,\n}\n\nexport function getDeclarationDomain(\n\tnode: ts.Identifier,\n): DeclarationDomain | undefined {\n\tswitch (node.parent.kind) {\n\t\tcase ts.SyntaxKind.TypeParameter:\n\t\tcase ts.SyntaxKind.InterfaceDeclaration:\n\t\tcase ts.SyntaxKind.TypeAliasDeclaration:\n\t\t\treturn DeclarationDomain.Type;\n\t\tcase ts.SyntaxKind.ClassDeclaration:\n\t\tcase ts.SyntaxKind.ClassExpression:\n\t\t\treturn DeclarationDomain.Type | DeclarationDomain.Value;\n\t\tcase ts.SyntaxKind.EnumDeclaration:\n\t\t\treturn DeclarationDomain.Any;\n\t\tcase ts.SyntaxKind.NamespaceImport:\n\t\tcase ts.SyntaxKind.ImportClause:\n\t\t\treturn DeclarationDomain.Any | DeclarationDomain.Import; // TODO handle type-only imports\n\t\tcase ts.SyntaxKind.ImportEqualsDeclaration:\n\t\tcase ts.SyntaxKind.ImportSpecifier:\n\t\t\treturn (node.parent as ts.ImportEqualsDeclaration | ts.ImportSpecifier)\n\t\t\t\t.name === node\n\t\t\t\t? DeclarationDomain.Any | DeclarationDomain.Import // TODO handle type-only imports\n\t\t\t\t: undefined;\n\t\tcase ts.SyntaxKind.ModuleDeclaration:\n\t\t\treturn DeclarationDomain.Namespace;\n\t\tcase ts.SyntaxKind.Parameter:\n\t\t\tif (\n\t\t\t\tnode.parent.parent.kind === ts.SyntaxKind.IndexSignature ||\n\t\t\t\tidentifierToKeywordKind(node) === ts.SyntaxKind.ThisKeyword\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t// falls through\n\t\tcase ts.SyntaxKind.BindingElement:\n\t\tcase ts.SyntaxKind.VariableDeclaration:\n\t\t\treturn (node.parent as ts.VariableLikeDeclaration).name === node\n\t\t\t\t? DeclarationDomain.Value\n\t\t\t\t: undefined;\n\t\tcase ts.SyntaxKind.FunctionDeclaration:\n\t\tcase ts.SyntaxKind.FunctionExpression:\n\t\t\treturn DeclarationDomain.Value;\n\t}\n}\n","import ts from \"typescript\";\n\n/**\n * Supports TypeScript<5 versions that don't have identifierToKeywordKind.\n */\nexport function identifierToKeywordKind(\n\tnode: ts.Identifier,\n): ts.SyntaxKind | undefined {\n\treturn \"identifierToKeywordKind\" in ts\n\t\t? ts.identifierToKeywordKind(node)\n\t\t: // eslint-disable-next-line deprecation/deprecation\n\t\t\tnode.originalKeywordKind;\n}\n\n/**\n * Supports TypeScript<4.8 versions that don't have canHaveDecorators.\n */\nexport function canHaveDecorators(node: ts.Node): node is ts.HasDecorators {\n\treturn \"canHaveDecorators\" in ts\n\t\t? ts.canHaveDecorators(node)\n\t\t: \"decorators\" in node;\n}\n\ntype NodeWithDecorators = ts.HasDecorators & {\n\tdecorators: readonly ts.Decorator[] | undefined;\n};\n\n/**\n * Supports TypeScript<4.8 versions that don't have getDecorators.\n */\nexport function getDecorators(\n\tnode: ts.HasDecorators,\n): readonly ts.Decorator[] | undefined {\n\treturn \"getDecorators\" in ts\n\t\t? ts.getDecorators(node)\n\t\t: (node as NodeWithDecorators).decorators;\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport { isNumericOrStringLikeLiteral } from \"../nodes/typeGuards/compound\";\n\nfunction unwrapParentheses(node: ts.Expression) {\n\twhile (node.kind === ts.SyntaxKind.ParenthesizedExpression) {\n\t\tnode = (node as ts.ParenthesizedExpression).expression;\n\t}\n\n\treturn node;\n}\n\nexport function getPropertyName(\n\tpropertyName: ts.PropertyName,\n): string | undefined {\n\tif (propertyName.kind === ts.SyntaxKind.ComputedPropertyName) {\n\t\tconst expression = unwrapParentheses(propertyName.expression);\n\t\tif (ts.isPrefixUnaryExpression(expression)) {\n\t\t\tlet negate = false;\n\t\t\tswitch (expression.operator) {\n\t\t\t\tcase ts.SyntaxKind.MinusToken:\n\t\t\t\t\tnegate = true;\n\t\t\t\t// falls through\n\t\t\t\tcase ts.SyntaxKind.PlusToken:\n\t\t\t\t\treturn ts.isNumericLiteral(expression.operand)\n\t\t\t\t\t\t? `${negate ? \"-\" : \"\"}${expression.operand.text}`\n\t\t\t\t\t\t: ts.isBigIntLiteral(expression.operand)\n\t\t\t\t\t\t\t? `${negate ? \"-\" : \"\"}${expression.operand.text.slice(0, -1)}`\n\t\t\t\t\t\t\t: undefined;\n\t\t\t\tdefault:\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (ts.isBigIntLiteral(expression)) {\n\t\t\treturn expression.text.slice(0, -1);\n\t\t}\n\n\t\tif (isNumericOrStringLikeLiteral(expression)) {\n\t\t\treturn expression.text;\n\t\t}\n\n\t\treturn;\n\t}\n\n\treturn propertyName.kind === ts.SyntaxKind.PrivateIdentifier\n\t\t? undefined\n\t\t: propertyName.text;\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport { identifierToKeywordKind } from \"./utils\";\n\n/**\n * Which \"domain\"(s) (most commonly, type or value space) a usage is within.\n */\nexport enum UsageDomain {\n\tNamespace = 1,\n\tType = 2,\n\tTypeQuery = 8,\n\tValue = 4,\n\tValueOrNamespace = Value | Namespace,\n\t// eslint-disable-next-line perfectionist/sort-enums\n\tAny = Namespace | Type | Value,\n}\n\n// TODO handle cases where values are used only for their types, e.g. `declare [propSymbol]: number`\nexport function getUsageDomain(node: ts.Identifier): UsageDomain | undefined {\n\tconst parent = node.parent;\n\tswitch (parent.kind) {\n\t\tcase ts.SyntaxKind.TypeReference:\n\t\t\treturn identifierToKeywordKind(node) !== ts.SyntaxKind.ConstKeyword\n\t\t\t\t? UsageDomain.Type\n\t\t\t\t: undefined;\n\t\tcase ts.SyntaxKind.ExpressionWithTypeArguments:\n\t\t\treturn (parent.parent as ts.HeritageClause).token ===\n\t\t\t\tts.SyntaxKind.ImplementsKeyword ||\n\t\t\t\tparent.parent.parent.kind === ts.SyntaxKind.InterfaceDeclaration\n\t\t\t\t? UsageDomain.Type\n\t\t\t\t: UsageDomain.Value;\n\t\tcase ts.SyntaxKind.TypeQuery:\n\t\t\treturn UsageDomain.ValueOrNamespace | UsageDomain.TypeQuery;\n\t\tcase ts.SyntaxKind.QualifiedName:\n\t\t\tif ((parent as ts.QualifiedName).left === node) {\n\t\t\t\tif (\n\t\t\t\t\tgetEntityNameParent(parent as ts.QualifiedName).kind ===\n\t\t\t\t\tts.SyntaxKind.TypeQuery\n\t\t\t\t) {\n\t\t\t\t\treturn UsageDomain.Namespace | UsageDomain.TypeQuery;\n\t\t\t\t}\n\n\t\t\t\treturn UsageDomain.Namespace;\n\t\t\t}\n\n\t\t\tbreak;\n\t\tcase ts.SyntaxKind.ExportSpecifier:\n\t\t\t// either {name} or {propertyName as name}\n\t\t\tif (\n\t\t\t\t(parent as ts.ExportSpecifier).propertyName === undefined ||\n\t\t\t\t(parent as ts.ExportSpecifier).propertyName === node\n\t\t\t) {\n\t\t\t\treturn UsageDomain.Any;\n\t\t\t} // TODO handle type-only exports\n\n\t\t\tbreak;\n\t\tcase ts.SyntaxKind.ExportAssignment:\n\t\t\treturn UsageDomain.Any;\n\t\t// Value\n\t\tcase ts.SyntaxKind.BindingElement:\n\t\t\tif ((parent as ts.BindingElement).initializer === node) {\n\t\t\t\treturn UsageDomain.ValueOrNamespace;\n\t\t\t}\n\n\t\t\tbreak;\n\t\tcase ts.SyntaxKind.Parameter:\n\t\tcase ts.SyntaxKind.EnumMember:\n\t\tcase ts.SyntaxKind.PropertyDeclaration:\n\t\tcase ts.SyntaxKind.VariableDeclaration:\n\t\tcase ts.SyntaxKind.PropertyAssignment:\n\t\tcase ts.SyntaxKind.PropertyAccessExpression:\n\t\tcase ts.SyntaxKind.ImportEqualsDeclaration:\n\t\t\tif ((parent as ts.NamedDeclaration).name !== node) {\n\t\t\t\treturn UsageDomain.ValueOrNamespace;\n\t\t\t} // TODO handle type-only imports\n\n\t\t\tbreak;\n\t\tcase ts.SyntaxKind.JsxAttribute:\n\t\tcase ts.SyntaxKind.FunctionDeclaration:\n\t\tcase ts.SyntaxKind.FunctionExpression:\n\t\tcase ts.SyntaxKind.NamespaceImport:\n\t\tcase ts.SyntaxKind.ClassDeclaration:\n\t\tcase ts.SyntaxKind.ClassExpression:\n\t\tcase ts.SyntaxKind.ModuleDeclaration:\n\t\tcase ts.SyntaxKind.MethodDeclaration:\n\t\tcase ts.SyntaxKind.EnumDeclaration:\n\t\tcase ts.SyntaxKind.GetAccessor:\n\t\tcase ts.SyntaxKind.SetAccessor:\n\t\tcase ts.SyntaxKind.LabeledStatement:\n\t\tcase ts.SyntaxKind.BreakStatement:\n\t\tcase ts.SyntaxKind.ContinueStatement:\n\t\tcase ts.SyntaxKind.ImportClause:\n\t\tcase ts.SyntaxKind.ImportSpecifier:\n\t\tcase ts.SyntaxKind.TypePredicate: // TODO this actually references a parameter\n\t\tcase ts.SyntaxKind.MethodSignature:\n\t\tcase ts.SyntaxKind.PropertySignature:\n\t\tcase ts.SyntaxKind.NamespaceExportDeclaration:\n\t\tcase ts.SyntaxKind.NamespaceExport:\n\t\tcase ts.SyntaxKind.InterfaceDeclaration:\n\t\tcase ts.SyntaxKind.TypeAliasDeclaration:\n\t\tcase ts.SyntaxKind.TypeParameter:\n\t\tcase ts.SyntaxKind.NamedTupleMember:\n\t\t\tbreak;\n\t\tdefault:\n\t\t\treturn UsageDomain.ValueOrNamespace;\n\t}\n}\n\nfunction getEntityNameParent(name: ts.EntityName) {\n\tlet parent = name.parent;\n\twhile (parent.kind === ts.SyntaxKind.QualifiedName) {\n\t\tparent = parent.parent!;\n\t}\n\n\treturn parent;\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport { Scope, ScopeBoundary, ScopeBoundarySelector } from \"./Scope\";\nimport {\n\tDeclarationDomain,\n\tDeclarationInfo,\n\tgetDeclarationDomain,\n} from \"./declarations\";\nimport {\n\tInternalUsageInfo,\n\tUsage,\n\tUsageInfo,\n\tUsageInfoCallback,\n} from \"./usage\";\n\nabstract class AbstractScope implements Scope {\n\t#enumScopes: Map | undefined = undefined;\n\tprotected namespaceScopes: Map | undefined =\n\t\tundefined;\n\tprotected uses: Usage[] = [];\n\tprotected variables = new Map();\n\n\tconstructor(protected global: boolean) {}\n\n\taddUse(use: Usage): void {\n\t\tthis.uses.push(use);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprotected addUseToParent(_use: Usage): void {}\n\n\taddVariable(\n\t\tidentifier: string,\n\t\tname: ts.PropertyName,\n\t\tselector: ScopeBoundarySelector,\n\t\texported: boolean,\n\t\tdomain: DeclarationDomain,\n\t): void {\n\t\tconst variables = this.getDestinationScope(selector).getVariables();\n\t\tconst declaration: DeclarationInfo = {\n\t\t\tdeclaration: name,\n\t\t\tdomain,\n\t\t\texported,\n\t\t};\n\t\tconst variable = variables.get(identifier);\n\t\tif (variable === undefined) {\n\t\t\tvariables.set(identifier, {\n\t\t\t\tdeclarations: [declaration],\n\t\t\t\tdomain,\n\t\t\t\tuses: [],\n\t\t\t});\n\t\t} else {\n\t\t\tvariable.domain |= domain;\n\t\t\tvariable.declarations.push(declaration);\n\t\t}\n\t}\n\n\tprotected applyUse(use: Usage, variables = this.variables): boolean {\n\t\tconst variable = variables.get(use.location.text);\n\t\tif (variable === undefined || (variable.domain & use.domain) === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tvariable.uses.push(use);\n\t\treturn true;\n\t}\n\n\tprotected applyUses(): void {\n\t\tfor (const use of this.uses) {\n\t\t\tif (!this.applyUse(use)) {\n\t\t\t\tthis.addUseToParent(use);\n\t\t\t}\n\t\t}\n\n\t\tthis.uses = [];\n\t}\n\n\tcreateOrReuseEnumScope(name: string, _exported: boolean): EnumScope {\n\t\tlet scope: EnumScope | undefined;\n\t\tif (this.#enumScopes === undefined) {\n\t\t\tthis.#enumScopes = new Map();\n\t\t} else {\n\t\t\tscope = this.#enumScopes.get(name);\n\t\t}\n\n\t\tif (scope === undefined) {\n\t\t\tscope = new EnumScope(this);\n\t\t\tthis.#enumScopes.set(name, scope);\n\t\t}\n\n\t\treturn scope;\n\t} // only relevant for the root scope\n\n\tcreateOrReuseNamespaceScope(\n\t\tname: string,\n\t\t_exported: boolean,\n\t\tambient: boolean,\n\t\thasExportStatement: boolean,\n\t): NamespaceScope {\n\t\tlet scope: NamespaceScope | undefined;\n\t\tif (this.namespaceScopes === undefined) {\n\t\t\tthis.namespaceScopes = new Map();\n\t\t} else {\n\t\t\tscope = this.namespaceScopes.get(name);\n\t\t}\n\n\t\tif (scope === undefined) {\n\t\t\tscope = new NamespaceScope(ambient, hasExportStatement, this);\n\t\t\tthis.namespaceScopes.set(name, scope);\n\t\t} else {\n\t\t\tscope.refresh(ambient, hasExportStatement);\n\t\t}\n\n\t\treturn scope;\n\t}\n\n\tend(cb: UsageInfoCallback): void {\n\t\tif (this.namespaceScopes !== undefined) {\n\t\t\tthis.namespaceScopes.forEach((value) => value.finish(cb));\n\t\t}\n\n\t\tthis.namespaceScopes = this.#enumScopes = undefined;\n\t\tthis.applyUses();\n\t\tthis.variables.forEach((variable) => {\n\t\t\tfor (const declaration of variable.declarations) {\n\t\t\t\tconst result: UsageInfo = {\n\t\t\t\t\tdeclarations: [],\n\t\t\t\t\tdomain: declaration.domain,\n\t\t\t\t\texported: declaration.exported,\n\t\t\t\t\tinGlobalScope: this.global,\n\t\t\t\t\tuses: [],\n\t\t\t\t};\n\t\t\t\tfor (const other of variable.declarations) {\n\t\t\t\t\tif (other.domain & declaration.domain) {\n\t\t\t\t\t\tresult.declarations.push(other.declaration as ts.Identifier);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor (const use of variable.uses) {\n\t\t\t\t\tif (use.domain & declaration.domain) {\n\t\t\t\t\t\tresult.uses.push(use);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcb(result, declaration.declaration as ts.Identifier, this);\n\t\t\t}\n\t\t});\n\t}\n\n\tgetFunctionScope(): Scope {\n\t\treturn this;\n\t}\n\n\tgetVariables(): Map {\n\t\treturn this.variables;\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tmarkExported(_name: ts.Identifier): void {}\n\n\tabstract getDestinationScope(selector: ScopeBoundarySelector): Scope;\n}\n\nexport class NonRootScope extends AbstractScope {\n\tconstructor(\n\t\tprotected parent: Scope,\n\t\tprotected boundary: ScopeBoundary,\n\t) {\n\t\tsuper(false);\n\t}\n\n\tprotected addUseToParent(use: Usage): void {\n\t\treturn this.parent.addUse(use, this);\n\t}\n\n\tgetDestinationScope(selector: ScopeBoundarySelector): Scope {\n\t\treturn this.boundary & selector\n\t\t\t? this\n\t\t\t: this.parent.getDestinationScope(selector);\n\t}\n}\n\nexport class EnumScope extends NonRootScope {\n\tconstructor(parent: Scope) {\n\t\tsuper(parent, ScopeBoundary.Function);\n\t}\n\n\tend(): void {\n\t\tthis.applyUses();\n\t}\n}\n\nexport class RootScope extends AbstractScope {\n\t#exportAll: boolean;\n\t#exports: string[] | undefined = undefined;\n\t#innerScope = new NonRootScope(this, ScopeBoundary.Function);\n\n\tconstructor(exportAll: boolean, global: boolean) {\n\t\tsuper(global);\n\t\tthis.#exportAll = exportAll;\n\t}\n\n\taddUse(use: Usage, origin?: Scope): void {\n\t\tif (origin === this.#innerScope) {\n\t\t\treturn super.addUse(use);\n\t\t}\n\n\t\treturn this.#innerScope.addUse(use);\n\t}\n\n\taddVariable(\n\t\tidentifier: string,\n\t\tname: ts.PropertyName,\n\t\tselector: ScopeBoundarySelector,\n\t\texported: boolean,\n\t\tdomain: DeclarationDomain,\n\t): void {\n\t\tif (domain & DeclarationDomain.Import) {\n\t\t\treturn super.addVariable(identifier, name, selector, exported, domain);\n\t\t}\n\n\t\treturn this.#innerScope.addVariable(\n\t\t\tidentifier,\n\t\t\tname,\n\t\t\tselector,\n\t\t\texported,\n\t\t\tdomain,\n\t\t);\n\t}\n\n\tend(cb: UsageInfoCallback): void {\n\t\tthis.#innerScope.end((value, key) => {\n\t\t\tvalue.exported ||=\n\t\t\t\tthis.#exportAll ||\n\t\t\t\t(this.#exports !== undefined && this.#exports.includes(key.text));\n\t\t\tvalue.inGlobalScope = this.global;\n\t\t\treturn cb(value, key, this);\n\t\t});\n\t\treturn super.end((value, key, scope) => {\n\t\t\tvalue.exported ||=\n\t\t\t\tscope === this &&\n\t\t\t\tthis.#exports !== undefined &&\n\t\t\t\tthis.#exports.includes(key.text);\n\t\t\treturn cb(value, key, scope);\n\t\t});\n\t}\n\n\tgetDestinationScope(): this {\n\t\treturn this;\n\t}\n\n\tmarkExported(id: ts.Identifier): void {\n\t\tif (this.#exports === undefined) {\n\t\t\tthis.#exports = [id.text];\n\t\t} else {\n\t\t\tthis.#exports.push(id.text);\n\t\t}\n\t}\n}\n\nexport class NamespaceScope extends NonRootScope {\n\t#ambient: boolean;\n\t#exports: Set | undefined = undefined;\n\t#hasExport: boolean;\n\t#innerScope = new NonRootScope(this, ScopeBoundary.Function);\n\n\tconstructor(ambient: boolean, hasExport: boolean, parent: Scope) {\n\t\tsuper(parent, ScopeBoundary.Function);\n\t\tthis.#ambient = ambient;\n\t\tthis.#hasExport = hasExport;\n\t}\n\n\taddUse(use: Usage, source?: Scope): void {\n\t\tif (source !== this.#innerScope) {\n\t\t\treturn this.#innerScope.addUse(use);\n\t\t}\n\n\t\tthis.uses.push(use);\n\t}\n\n\tcreateOrReuseEnumScope(name: string, exported: boolean): EnumScope {\n\t\tif (!exported && (!this.#ambient || this.#hasExport)) {\n\t\t\treturn this.#innerScope.createOrReuseEnumScope(name, exported);\n\t\t}\n\n\t\treturn super.createOrReuseEnumScope(name, exported);\n\t}\n\n\tcreateOrReuseNamespaceScope(\n\t\tname: string,\n\t\texported: boolean,\n\t\tambient: boolean,\n\t\thasExportStatement: boolean,\n\t): NamespaceScope {\n\t\tif (!exported && (!this.#ambient || this.#hasExport)) {\n\t\t\treturn this.#innerScope.createOrReuseNamespaceScope(\n\t\t\t\tname,\n\t\t\t\texported,\n\t\t\t\tambient || this.#ambient,\n\t\t\t\thasExportStatement,\n\t\t\t);\n\t\t}\n\n\t\treturn super.createOrReuseNamespaceScope(\n\t\t\tname,\n\t\t\texported,\n\t\t\tambient || this.#ambient,\n\t\t\thasExportStatement,\n\t\t);\n\t}\n\n\tend(cb: UsageInfoCallback): void {\n\t\tthis.#innerScope.end((variable, key, scope) => {\n\t\t\tif (\n\t\t\t\tscope !== this.#innerScope ||\n\t\t\t\t(!variable.exported &&\n\t\t\t\t\t(!this.#ambient ||\n\t\t\t\t\t\t(this.#exports !== undefined && !this.#exports.has(key.text))))\n\t\t\t) {\n\t\t\t\treturn cb(variable, key, scope);\n\t\t\t}\n\n\t\t\tconst namespaceVar = this.variables.get(key.text);\n\t\t\tif (namespaceVar === undefined) {\n\t\t\t\tthis.variables.set(key.text, {\n\t\t\t\t\tdeclarations: variable.declarations.map(mapDeclaration),\n\t\t\t\t\tdomain: variable.domain,\n\t\t\t\t\tuses: [...variable.uses],\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\touter: for (const declaration of variable.declarations) {\n\t\t\t\t\tfor (const existing of namespaceVar.declarations) {\n\t\t\t\t\t\tif (existing.declaration === declaration) {\n\t\t\t\t\t\t\tcontinue outer;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tnamespaceVar.declarations.push(mapDeclaration(declaration));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tnamespaceVar.domain |= variable.domain;\n\t\t\t\tfor (const use of variable.uses) {\n\t\t\t\t\tif (namespaceVar.uses.includes(use)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tnamespaceVar.uses.push(use);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis.applyUses();\n\t\tthis.#innerScope = new NonRootScope(this, ScopeBoundary.Function);\n\t}\n\n\tfinish(cb: UsageInfoCallback): void {\n\t\treturn super.end(cb);\n\t}\n\n\tgetDestinationScope(): Scope {\n\t\treturn this.#innerScope;\n\t}\n\n\tmarkExported(name: ts.Identifier): void {\n\t\tif (this.#exports === undefined) {\n\t\t\tthis.#exports = new Set();\n\t\t}\n\n\t\tthis.#exports.add(name.text);\n\t}\n\n\trefresh(ambient: boolean, hasExport: boolean): void {\n\t\tthis.#ambient = ambient;\n\t\tthis.#hasExport = hasExport;\n\t}\n}\n\nfunction mapDeclaration(declaration: ts.Identifier): DeclarationInfo {\n\treturn {\n\t\tdeclaration,\n\t\tdomain: getDeclarationDomain(declaration)!,\n\t\texported: true,\n\t};\n}\n\nexport class FunctionScope extends NonRootScope {\n\tconstructor(parent: Scope) {\n\t\tsuper(parent, ScopeBoundary.Function);\n\t}\n\n\tbeginBody(): void {\n\t\tthis.applyUses();\n\t}\n}\n\nabstract class AbstractNamedExpressionScope<\n\tInnerScope extends NonRootScope,\n> extends NonRootScope {\n\t#domain: DeclarationDomain;\n\n\t#name: ts.Identifier;\n\tconstructor(name: ts.Identifier, domain: DeclarationDomain, parent: Scope) {\n\t\tsuper(parent, ScopeBoundary.Function);\n\t\tthis.#name = name;\n\t\tthis.#domain = domain;\n\t}\n\n\taddUse(use: Usage, source?: Scope): void {\n\t\tif (source !== this.innerScope) {\n\t\t\treturn this.innerScope.addUse(use);\n\t\t}\n\n\t\tif (use.domain & this.#domain && use.location.text === this.#name.text) {\n\t\t\tthis.uses.push(use);\n\t\t} else {\n\t\t\treturn this.parent.addUse(use, this);\n\t\t}\n\t}\n\n\tend(cb: UsageInfoCallback): void {\n\t\tthis.innerScope.end(cb);\n\t\treturn cb(\n\t\t\t{\n\t\t\t\tdeclarations: [this.#name],\n\t\t\t\tdomain: this.#domain,\n\t\t\t\texported: false,\n\t\t\t\tinGlobalScope: false,\n\t\t\t\tuses: this.uses,\n\t\t\t},\n\t\t\tthis.#name,\n\t\t\tthis,\n\t\t);\n\t}\n\n\tgetDestinationScope(): InnerScope {\n\t\treturn this.innerScope;\n\t}\n\n\tgetFunctionScope(): InnerScope {\n\t\treturn this.innerScope;\n\t}\n\n\tprotected abstract get innerScope(): InnerScope;\n}\n\nexport class FunctionExpressionScope extends AbstractNamedExpressionScope {\n\tprotected innerScope = new FunctionScope(this);\n\n\tconstructor(name: ts.Identifier, parent: Scope) {\n\t\tsuper(name, DeclarationDomain.Value, parent);\n\t}\n\n\tbeginBody(): void {\n\t\treturn this.innerScope.beginBody();\n\t}\n}\n\nexport class BlockScope extends NonRootScope {\n\t#functionScope: Scope;\n\n\tconstructor(functionScope: Scope, parent: Scope) {\n\t\tsuper(parent, ScopeBoundary.Block);\n\t\tthis.#functionScope = functionScope;\n\t}\n\n\tgetFunctionScope(): Scope {\n\t\treturn this.#functionScope;\n\t}\n}\n\nexport class ClassExpressionScope extends AbstractNamedExpressionScope {\n\tprotected innerScope = new NonRootScope(this, ScopeBoundary.Function);\n\n\tconstructor(name: ts.Identifier, parent: Scope) {\n\t\tsuper(name, DeclarationDomain.Value | DeclarationDomain.Type, parent);\n\t}\n}\n\nexport enum ConditionalTypeScopeState {\n\tInitial,\n\tExtends,\n\tTrueType,\n\tFalseType,\n}\n\nexport class ConditionalTypeScope extends NonRootScope {\n\t#state = ConditionalTypeScopeState.Initial;\n\n\tconstructor(parent: Scope) {\n\t\tsuper(parent, ScopeBoundary.ConditionalType);\n\t}\n\n\taddUse(use: Usage): void {\n\t\tif (this.#state === ConditionalTypeScopeState.TrueType) {\n\t\t\treturn void this.uses.push(use);\n\t\t}\n\n\t\treturn this.parent.addUse(use, this);\n\t}\n\n\tupdateState(newState: ConditionalTypeScopeState): void {\n\t\tthis.#state = newState;\n\t}\n}\n","// Code largely based on https://github.com/ajafff/tsutils\n// Original license: https://github.com/ajafff/tsutils/blob/26b195358ec36d59f00333115aa3ffd9611ca78b/LICENSE\n\nimport ts from \"typescript\";\n\nimport { UsageWalker } from \"./UsageWalker\";\nimport { UsageInfo } from \"./usage\";\n\n/**\n * Creates a mapping of each declared type and value to its type information.\n * @category Nodes - Other Utilities\n * @example\n * ```ts\n * declare const sourceFile: ts.SourceFile;\n *\n * const usage = collectVariableUsage(sourceFile);\n *\n * for (const [identifier, information] of usage) {\n * \tconsole.log(`${identifier.getText()} is used ${information.uses.length} time(s).`);\n * }\n * ```\n */\nexport function collectVariableUsage(\n\tsourceFile: ts.SourceFile,\n): Map {\n\treturn new UsageWalker().getUsage(sourceFile);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGA,IAAAA,qBAAe;;;ACEf,wBAAe;AAsBR,SAAS,aACf,MACA,UACA,aAA4B,KAAK,cAAc,GACxC;AACP,QAAM,QAAQ,CAAC;AACf,SAAO,MAAM;AACZ,QAAI,kBAAAC,QAAG,YAAY,KAAK,IAAI,GAAG;AAC9B,eAAS,IAAI;AAAA,IACd;AAAA;AAAA,MAEC,KAAK,SAAS,kBAAAA,QAAG,WAAW;AAAA,MAC3B;AACD,YAAM,WAAW,KAAK,YAAY,UAAU;AAC5C,UAAI,SAAS,WAAW,GAAG;AAC1B,eAAO,SAAS,CAAC;AACjB;AAAA,MACD;AAGA,eAAS,IAAI,SAAS,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AAC9C,cAAM,KAAK,SAAS,CAAC,CAAC;AAAA,MACvB;AAAA,IACD;AAEA,QAAI,MAAM,WAAW,GAAG;AACvB;AAAA,IACD;AAEA,WAAO,MAAM,IAAI;AAAA,EAClB;AACD;;;AD/CA,SAAS,sBAAsB,OAAyB;AACvD,UAAQ,MAAM,MAAM;AAAA,IACnB,KAAK,mBAAAC,QAAG,WAAW;AAElB,aACC,MAAM,OAAO,SAAS,mBAAAA,QAAG,WAAW,iBACpC,CAAC,uBAAuB,MAAM,OAAO,MAAM;AAAA,IAE7C,KAAK,mBAAAA,QAAG,WAAW;AAClB,cAAQ,MAAM,OAAO,MAAM;AAAA,QAC1B,KAAK,mBAAAA,QAAG,WAAW;AAElB,iBAAO,MAAM,QAAQ,MAAM,OAAO;AAAA,QACnC,KAAK,mBAAAA,QAAG,WAAW;AAClB,iBAAO;AAAA,QACR,KAAK,mBAAAA,QAAG,WAAW;AAClB,iBACC,MAAM,QAAQ,MAAM,OAAO;AAAA,UAC3B,CAAC,uBAAuB,MAAM,OAAO,MAAM;AAAA,QAE7C,KAAK,mBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,mBAAAA,QAAG,WAAW;AAElB,iBAAO,CAAC,uBAAuB,MAAM,OAAO,OAAO,MAAM;AAAA,MAC3D;AAAA,EACF;AAEA,SAAO;AACR;AAMA,SAAS,uBACR,MACyC;AACzC,SACC,KAAK,SAAS,mBAAAA,QAAG,WAAW,cAC5B,KAAK,SAAS,mBAAAA,QAAG,WAAW;AAE9B;AAuBO,SAAS,eACf,MACA,UACA,aAA4B,KAAK,cAAc,GACxC;AAMP,QAAM,WAAW,WAAW;AAC5B,QAAM,SAAS,WAAW,oBAAoB,mBAAAA,QAAG,gBAAgB;AACjE,SAAO;AAAA,IACN;AAAA,IACA,CAAC,UAAU;AACV,UAAI,MAAM,QAAQ,MAAM,KAAK;AAC5B;AAAA,MACD;AAEA,UAAI,MAAM,SAAS,mBAAAA,QAAG,WAAW,SAAS;AACzC,2BAAAA,QAAG;AAAA,UACF;AAAA;AAAA,UAEA,MAAM,QAAQ,KAAK,mBAAAA,QAAG,WAAW,QAAQ,KAAK,IAAI,SAAS,MAAM;AAAA,UACjE;AAAA,QACD;AAAA,MACD;AAEA,UAAI,UAAU,sBAAsB,KAAK,GAAG;AAC3C,eAAO,mBAAAA,QAAG;AAAA,UACT;AAAA,UACA,MAAM;AAAA,UACN;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,EACD;AACA,WAAS,gBAAgB,KAAa,KAAa,MAAsB;AACxE,aAAS,UAAU,EAAE,KAAK,MAAM,IAAI,CAAC;AAAA,EACtC;AACD;;;AEjHA,IAAAC,qBAAe;AA8BR,SAAS,wBACf,SACA,QACU;AACV,UAAQ,QAAQ;AAAA,IACf,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACJ,aACC,QAAQ,MAAM,MAAM,QACpB,wBAAwB,SAAS,aAAa;AAAA,IAEhD,KAAK;AACJ,aACC,QAAQ,eAAe,wBAAwB,SAAS,WAAW;AAAA,IAErE,KAAK;AACJ,aAAO,QAAQ,gBAAgB,SAC5B,wBAAwB,SAAS,WAAW,IAC5C,QAAQ;AAAA,IACZ,KAAK;AACJ,aACC,QAAQ,uBACR,wBAAwB,SAAS,cAAc;AAAA,IAEjD,KAAK;AACJ,aACC,QAAQ,mCAAmC,QAC3C,wBAAwB,SAAS,eAAe;AAAA,IAElD,KAAK;AACJ,aAAO,QAAQ,iCAAiC,SAC7C,QAAQ,+BACR,wBAAwB,SAAS,iBAAiB,KAClD,QAAQ,WAAW,mBAAAC,QAAG,WAAW;AAAA,IACrC,KAAK;AACJ,aACC,QAAQ,6BAA6B,QACrC,wBAAwB,SAAS,kBAAkB;AAAA,IAErD,KAAK;AACJ,aAAO,QAAQ,YAAY,SACxB,wBAAwB,SAAS,SAAS,IAC1C,QAAQ;AAAA,IACZ,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAEJ,aAAO;AAAA,QACN;AAAA,QACA;AAAA,MACD;AAAA,EACF;AAEA,SAAO,QAAQ,MAAM,MAAM;AAC5B;AAuCO,SAAS,8BACf,SACA,QACU;AACV,UACE,QAAQ,SAAS,QAAQ,MAAM,MAAM,QAAQ,QAAQ,MAAM,MAAM,UACjE,WAAW,kCACX,8BAA8B,SAAS,kBAAkB;AAE5D;;;ACzIA,IAAAC,qBAAe;AAMf,SAAS,UAAU,UAAkB,MAAuB;AAC3D,UAAQ,WAAW,UAAU;AAC9B;AAMA,SAAS,kBAAkB,KAAwB,MAAuB;AACzE,SAAO,UAAU,IAAI,OAAO,IAAI;AACjC;AAcO,SAAS,kBACf,MACA,MACU;AACV,SAAO,UAAU,mBAAAC,QAAG,yBAAyB,IAAI,GAAG,IAAI;AACzD;AAcO,IAAM,gBACZ;AAcM,SAAS,gBACf,YACA,MACU;AACV,SAAO,UAAU,WAAW,aAAa,IAAI;AAC9C;AAcO,IAAM,kBAGE;AAcR,IAAM,gBACZ;;;ACzFM,SAAS,iBACf,cACG,OACO;AACV,MAAI,cAAc,QAAW;AAC5B,WAAO;AAAA,EACR;AAEA,aAAW,YAAY,WAAW;AACjC,QAAI,MAAM,SAAS,SAAS,IAA6B,GAAG;AAC3D,aAAO;AAAA,IACR;AAAA,EACD;AAEA,SAAO;AACR;;;AC9BA,IAAAC,qBAAe;;;ACAf,IAAAC,qBAAe;AAqHR,SAAS,kBAAkB,MAA2C;AAC5E,SAAO,KAAK,SAAS,mBAAAC,QAAG,WAAW;AACpC;AAeO,SAAS,kBAAkB,MAA2C;AAC5E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,aAAa,MAAmC;AAC/D,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,iBAAiB,MAA0C;AAC1E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,eAAe,MAAwC;AACtE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,eAAe,MAAwC;AACtE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,gBAAgB,MAAsC;AACrE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,iBAAiB,MAAuC;AACvE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,aAAa,MAAsC;AAClE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,eAAe,MAAwC;AACtE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,iBAAiB,MAA0C;AAC1E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,iBAAiB,MAA0C;AAC1E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,WAAW,MAAoC;AAC9D,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,iBAAiB,MAA0C;AAC1E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,yBACf,MACoC;AACpC,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,cAAc,MAAuC;AACpE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,mBAAmB,MAA4C;AAC9E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,eAAe,MAAqC;AACnE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,eAAe,MAAwC;AACtE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,mBAAmB,MAA4C;AAC9E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,gBAAgB,MAAsC;AACrE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,YAAY,MAAqC;AAChE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAiBO,SAAS,aAAa,MAAsC;AAClE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,YAAY,MAAqC;AAChE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,0BACf,MACqC;AACrC,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,eAAe,MAAqC;AACnE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,cAAc,MAAoC;AACjE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,cAAc,MAAuC;AACpE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,gBAAgB,MAAsC;AACrE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,gBAAgB,MAAsC;AACrE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,aAAa,MAAsC;AAClE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,kBAAkB,MAA2C;AAC5E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,iBAAiB,MAA0C;AAC1E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,mBAAmB,MAA4C;AAC9E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,mBAAmB,MAA4C;AAC9E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,kBAAkB,MAA2C;AAC5E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,gBAAgB,MAAsC;AACrE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,kBAAkB,MAA2C;AAC5E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,eAAe,MAAqC;AACnE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,gBAAgB,MAAsC;AACrE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,aAAa,MAAsC;AAClE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,iBAAiB,MAA0C;AAC1E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,cAAc,MAAoC;AACjE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,cAAc,MAAoC;AACjE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,cAAc,MAAuC;AACpE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,mBAAmB,MAAyC;AAC3E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAeO,SAAS,iBAAiB,MAAuC;AACvE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAiBO,SAAS,mBAAmB,MAA4C;AAC9E,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAkBO,SAAS,6BACf,MACwC;AACxC,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;AAgBO,SAAS,cAAc,MAAoC;AACjE,SAAO,KAAK,SAAS,mBAAAA,QAAG,WAAW;AACpC;;;ACriCA,IAAAC,qBAAe;;;ACAf,IAAAC,qBAAe;AAEf,IAAM,CAAC,SAAS,OAAO,IAAI,mBAAAC,QAAG,kBAC5B,MAAM,GAAG,EACT,IAAI,CAAC,QAAQ,OAAO,SAAS,KAAK,EAAE,CAAC;AAEhC,SAAS,mBAAmB,OAAe,QAAQ,GAAY;AACrE,SAAO,UAAU,SAAU,YAAY,SAAS,WAAW;AAC5D;;;ADgCO,SAAS,mBAAmB,MAA4C;AAC9E,SACC,mBAAAC,QAAG,2BAA2B,IAAI,KAAK,mBAAAA,QAAG,0BAA0B,IAAI;AAE1E;AAeO,SAAS,wBACf,MACmC;AACnC,SACC,gBAAgB,IAAI,KAAK,iBAAiB,IAAI,KAAK,mBAAmB,IAAI;AAE5E;AAgBO,SAAS,sBACf,MACiC;AACjC,SAAO,mBAAAA,QAAG,yBAAyB,IAAI,KAAK,mBAAAA,QAAG,yBAAyB,IAAI;AAC7E;AAgBO,SAAS,sBACf,MACiC;AACjC,SAAO,mBAAAA,QAAG,iBAAiB,IAAI,KAAK,mBAAAA,QAAG,oBAAoB,IAAI;AAChE;AAeO,SAAS,kCACf,MAC6C;AAC7C,SAAO,mBAAAA,QAAG,sBAAsB,IAAI,KAAK,mBAAAA,QAAG,yBAAyB,IAAI;AAC1E;AAeO,SAAS,oBACf,MAC+B;AAC/B,SACC,mBAAAA,QAAG,0BAA0B,IAAI,KAAK,mBAAAA,QAAG,yBAAyB,IAAI;AAExE;AAeO,SAAS,0CACf,MACqD;AACrD,MAAI,mBAAAA,QAAG,gBAAgB,IAAI,KAAK,mBAAAA,QAAG,mBAAmB,IAAI,GAAG;AAC5D,WAAO;AAAA,EACR;AAEA,MAAI,mBAAmB,GAAG,CAAC,GAAG;AAC7B,WAAO,mBAAAA,QAAG,iBAAiB,IAAI;AAAA,EAChC;AAEA,SAAO;AACR;AAeO,SAAS,mCACf,MAC8C;AAC9C,SACC,6BAA6B,IAAI,KACjC,mBAAAA,QAAG,aAAa,IAAI,KACpB,mBAAAA,QAAG,2BAA2B,IAAI,KAClC,mBAAAA,QAAG,0BAA0B,IAAI,KACjC,mBAAAA,QAAG,oBAAoB,IAAI;AAE7B;AAeO,SAAS,6BACf,MACwC;AACxC,SACC,mCAAmC,IAAI,KACvC,kCAAkC,IAAI;AAExC;AAeO,SAAS,iBAAiB,MAA0C;AAC1E,SAAO,mBAAAA,QAAG,uBAAuB,IAAI,KAAK,mBAAAA,QAAG,sBAAsB,IAAI;AACxE;AAeO,SAAS,YAAY,MAAqC;AAChE,SACC,mBAAAA,QAAG,aAAa,IAAI,KACpB,mBAAAA,QAAG,QAAQ,IAAI,KACf,mBAAAA,QAAG,cAAc,IAAI,KACrB,mBAAAA,QAAG,sBAAsB,IAAI;AAE/B;AAeO,SAAS,iBAAiB,MAA0C;AAC1E,SAAO,cAAc,IAAI,KAAK,eAAe,IAAI;AAClD;AAgBO,SAAS,uBACf,MACkC;AAClC,SAAO,mBAAAA,QAAG,mBAAmB,IAAI,KAAK,mBAAAA,QAAG,kBAAkB,IAAI;AAChE;AAeO,SAAS,sBACf,MACiC;AACjC,SACC,wBAAwB,IAAI,KAC5B,kBAAkB,IAAI,KACtB,gBAAgB,IAAI,KACpB,kBAAkB,IAAI;AAExB;AAeO,SAAS,kBAAkB,MAA2C;AAC5E,SACC,mBAAAA,QAAG,aAAa,IAAI,KACpB,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,uBAAuB,IAAI,KAC9B,mBAAAA,QAAG,0BAA0B,IAAI,KACjC,iBAAiB,IAAI,KACrB,uBAAuB,IAAI;AAE7B;AAeO,SAAS,uCACf,MACkD;AAClD,SACC,uBAAuB,IAAI;AAAA,EAE3B,uBAAuB,IAAI,KAC3B,mBAAAA,QAAG,uBAAuB,IAAI,KAC9B,mBAAAA,QAAG,uBAAuB,IAAI,KAC9B,mBAAAA,QAAG,mBAAmB,IAAI;AAE5B;AAeO,SAAS,gCACf,MAC2C;AAC3C,SACC,uCAAuC,IAAI,KAC3C,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,iBAAiB,IAAI;AAE1B;AAeO,SAAS,uBACf,MACkC;AAClC,SACC,iBAAiB,IAAI,KACrB,mBAAAA,QAAG,0BAA0B,IAAI,KACjC,mBAAAA,QAAG,yBAAyB,IAAI;AAElC;AAeO,SAAS,uBACf,MACkC;AAClC,SAAO,mBAAAA,QAAG,aAAa,IAAI,KAAK,qCAAqC,IAAI;AAC1E;AAeO,SAAS,mCACf,MAC8C;AAC9C,SAAO,mBAAAA,QAAG,aAAa,IAAI,KAAK,uBAAuB,IAAI;AAC5D;AAeO,SAAS,qBACf,MACgC;AAChC,SAAO,mBAAAA,QAAG,iBAAiB,IAAI,KAAK,mBAAAA,QAAG,iBAAiB,IAAI;AAC7D;AAgBO,SAAS,0BACf,MACqC;AACrC,SACC,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,yBAAyB,IAAI,KAChC,mBAAAA,QAAG,yBAAyB,IAAI,KAChC,mBAAAA,QAAG,yBAAyB,IAAI,KAChC,mBAAAA,QAAG,qBAAqB,IAAI,KAC5B,mBAAAA,QAAG,gBAAgB,IAAI;AAEzB;AAeO,SAAS,cAAc,MAAyC;AACtE,SACC,mBAAAA,QAAG,YAAY,IAAI,KACnB,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,yBAAyB,IAAI,KAChC,mBAAAA,QAAG,yBAAyB,IAAI,KAChC,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,mBAAmB,IAAI;AAE5B;AAeO,SAAS,yBACf,MACsC;AACtC,SACC,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,YAAY,IAAI,KACnB,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,qBAAqB,IAAI,KAC5B,mBAAAA,QAAG,aAAa,IAAI;AAEtB;AAeO,SAAS,eAAe,MAA0C;AACxE,SACC,yBAAyB,IAAI,KAC7B,mBAAAA,QAAG,eAAe,IAAI,KACtB,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,eAAe,IAAI;AAExB;AAeO,SAAS,SAAS,MAAoC;AAC5D;AAAA;AAAA,IAEC,sBAAsB,IAAI,KAC1B,mBAAAA,QAAG,gBAAgB,IAAI,KACvB,mBAAAA,QAAG,QAAQ,IAAI,KACf,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,2BAA2B,IAAI,KAClC,mBAAAA,QAAG,aAAa,IAAI;AAAA,IAEpB,uBAAuB,IAAI,KAC3B,mBAAAA,QAAG,yBAAyB,IAAI,KAChC,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,gCAAgC,IAAI,KACvC,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,cAAc,IAAI,KACrB,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,iBAAiB,IAAI,KACrB,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,aAAa,IAAI,KACpB,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,eAAe,IAAI,KACtB,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,qBAAqB,IAAI,KAC5B,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,cAAc,IAAI,KACrB,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,0BAA0B,IAAI,KACjC,mBAAAA,QAAG,4BAA4B,IAAI,KACnC,mBAAAA,QAAG,uBAAuB,IAAI,KAC9B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,6BAA6B,IAAI,KACpC,mBAAAA,QAAG,YAAY,IAAI,KACnB,mBAAAA,QAAG,0BAA0B,IAAI,KACjC,mBAAAA,QAAG,qBAAqB,IAAI,KAC5B,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,8BAA8B,IAAI,KACrC,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,eAAe,IAAI,KACtB,mBAAAA,QAAG,uBAAuB,IAAI,KAC9B,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,gBAAgB,IAAI;AAAA,IACtB;AACD,WAAO;AAAA,EACR;AAEA,MAAI,mBAAmB,GAAG,CAAC,KAAK,mBAAAA,QAAG,8BAA8B,IAAI,GAAG;AACvE,WAAO;AAAA,EACR;AAEA,MACC,mBAAmB,GAAG,CAAC,MACtB,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,0BAA0B,IAAI,KACjC,mBAAAA,QAAG,aAAa,IAAI,KACpB,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,0BAA0B,IAAI,KACjC,mBAAAA,QAAG,2BAA2B,IAAI,KAClC,mBAAAA,QAAG,2BAA2B,IAAI,IAClC;AACD,WAAO;AAAA,EACR;AAEA,SAAO;AACR;AAeO,SAAS,aAAa,MAAwC;AACpE,SACC,mBAAAA,QAAG,2BAA2B,IAAI,KAClC,mBAAAA,QAAG,YAAY,IAAI,KACnB,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,yBAAyB,IAAI,KAChC,mBAAAA,QAAG,yBAAyB,IAAI,KAChC,mBAAAA,QAAG,yBAAyB,IAAI,KAChC,mBAAAA,QAAG,4BAA4B,IAAI,KACnC,mBAAAA,QAAG,qBAAqB,IAAI,KAC5B,mBAAAA,QAAG,gBAAgB,IAAI,KACvB,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,uBAAuB,IAAI,KAC9B,mBAAAA,QAAG,uBAAuB,IAAI,KAC9B,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,0BAA0B,IAAI,KACjC,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,oBAAoB,IAAI;AAE7B;AAeO,SAAS,QAAQ,MAAmC;AAC1D,SACC,uBAAuB,IAAI,KAC3B,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,YAAY,IAAI,KACnB,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,wBAAwB,IAAI,KAC/B,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,uBAAuB,IAAI,KAC9B,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,uBAAuB,IAAI,KAC9B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,oBAAoB,IAAI;AAE7B;AAeO,SAAS,iBAAiB,MAA4C;AAC5E,SACC,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,gBAAgB,IAAI,KACvB,mBAAAA,QAAG,2BAA2B,IAAI,KAClC,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,wBAAwB,IAAI;AAEjC;AAeO,SAAS,eAAe,MAAwC;AACtE,MAAI,YAAY,IAAI,GAAG;AACtB,WAAO;AAAA,EACR;AAEA,MAAI,mBAAmB,GAAG,CAAC,GAAG;AAC7B,WACC,mBAAAA,QAAG,YAAY,IAAI,KACnB,mBAAAA,QAAG,gBAAgB,IAAI,KACvB,mBAAAA,QAAG,iBAAiB,IAAI;AAAA,EAE1B;AAEA,SAAO;AACR;AAeO,SAAS,qBACf,MACgC;AAChC,SAAO,mBAAAA,QAAG,aAAa,IAAI,KAAK,4BAA4B,IAAI;AACjE;AAeO,SAAS,2BACf,MACsC;AACtC,SACC,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,uBAAuB,IAAI;AAEhC;AAeO,SAAS,uBACf,MACkC;AAClC,SACC,mBAAAA,QAAG,0BAA0B,IAAI,KACjC,mBAAAA,QAAG,yBAAyB,IAAI,KAChC,0BAA0B,IAAI,KAC9B,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,gBAAgB,IAAI,KACvB,iBAAiB,IAAI,KACrB,cAAc,IAAI;AAEpB;AAgBO,SAAS,mBAAmB,MAA4C;AAC9E,SAAO,mBAAAA,QAAG,eAAe,IAAI,KAAK,mBAAAA,QAAG,qBAAqB,IAAI;AAC/D;AAeO,SAAS,oBACf,MAC+B;AAC/B,SACC,mBAAAA,QAAG,gBAAgB,IAAI,KACvB,mBAAAA,QAAG,gBAAgB,IAAI,KACvB,mBAAAA,QAAG,aAAa,IAAI,KACpB,mBAAAA,QAAG,wBAAwB,IAAI,KAC/B,mBAAAA,QAAG,cAAc,IAAI;AAEvB;AAgBO,SAAS,WAAW,MAAoC;AAC9D,SACC,mBAAAA,QAAG,UAAU,IAAI,KACjB,mBAAAA,QAAG,gBAAgB,IAAI,KACvB,mBAAAA,QAAG,aAAa,IAAI,KACpB,mBAAAA,QAAG,wBAAwB,IAAI,KAC/B,mBAAAA,QAAG,cAAc,IAAI;AAEvB;AAgBO,SAAS,uBACf,MACkC;AAClC,SACC,mBAAAA,QAAG,aAAa,IAAI,KACpB,iBAAiB,IAAI,KACrB,2BAA2B,IAAI;AAEjC;AAeO,SAAS,eAAe,MAAwC;AACtE,SACC,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,gBAAgB,IAAI,KACvB,mBAAAA,QAAG,gBAAgB,IAAI,KACvB,mBAAAA,QAAG,UAAU,IAAI,KACjB,mBAAAA,QAAG,2BAA2B,IAAI,KAClC,mBAAAA,QAAG,gCAAgC,IAAI;AAEzC;AAgBO,SAAS,aAAa,MAAsC;AAClE,SAAO,gBAAgB,IAAI,KAAK,qBAAqB,IAAI;AAC1D;AAgBO,SAAS,aAAa,MAAsC;AAClE,SAAO,mBAAAA,QAAG,aAAa,IAAI,KAAK,mBAAAA,QAAG,gBAAgB,IAAI;AACxD;AAgBO,SAAS,kBAAkB,MAA2C;AAC5E,SAAO,mBAAAA,QAAG,aAAa,IAAI,KAAK,mBAAAA,QAAG,0BAA0B,IAAI;AAClE;AAgBO,SAAS,sBACf,MACiC;AACjC,SAAO,mBAAAA,QAAG,kBAAkB,IAAI,KAAK,mBAAAA,QAAG,eAAe,IAAI;AAC5D;AAeO,SAAS,wBACf,MACmC;AACnC,SAAO,mBAAAA,QAAG,eAAe,IAAI,KAAK,mBAAAA,QAAG,eAAe,IAAI;AACzD;AAeO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,mBAAAA,QAAG,cAAc,IAAI,KAAK,uBAAuB,IAAI;AAC7D;AAeO,SAAS,mCACf,MAC8C;AAC9C,SACC,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,qBAAqB,IAAI,KAC5B,mBAAAA,QAAG,8BAA8B,IAAI,KACrC,mBAAAA,QAAG,mBAAmB,IAAI;AAE5B;AAeO,SAAS,mCACf,MAC8C;AAC9C,SAAO,mBAAAA,QAAG,uBAAuB,IAAI,KAAK,mBAAAA,QAAG,0BAA0B,IAAI;AAC5E;AAeO,SAAS,wBACf,MACmC;AACnC;AAAA;AAAA,IAEC,uBAAuB,IAAI,KAC3B,mBAAAA,QAAG,uBAAuB,IAAI,KAC9B,mBAAAA,QAAG,kBAAkB,IAAI;AAAA;AAE3B;AAeO,SAAS,4BACf,MACuC;AACvC,SAAO,wBAAwB,IAAI,KAAK,kBAAkB,IAAI;AAC/D;AAeO,SAAS,sBACf,MACiC;AACjC,SACC,mBAAAA,QAAG,aAAa,IAAI,KACpB,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,iBAAiB,IAAI;AAE1B;AAeO,SAAS,qBACf,MACgC;AAChC,SACC,mBAAAA,QAAG,eAAe,IAAI,KACtB,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,eAAe,IAAI;AAExB;AAeO,SAAS,uBACf,MACkC;AAClC,SACC,mBAAAA,QAAG,2BAA2B,IAAI,KAClC,mBAAAA,QAAG,gCAAgC,IAAI,KACvC,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,4BAA4B,IAAI,KACnC,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,yBAAyB,IAAI;AAAA,EAEhC,sBAAsB,IAAI,KAC1B,mBAAAA,QAAG,qBAAqB,IAAI,KAC5B,mBAAAA,QAAG,gBAAgB,IAAI;AAEzB;AAeO,SAAS,gBAAgB,MAAyC;AACxE,SACC,gCAAgC,IAAI,KACpC,+BAA+B,IAAI;AAErC;AAeO,SAAS,qCACf,MACgD;AAChD,MACC,mBAAAA,QAAG,eAAe,IAAI,KACtB,mBAAAA,QAAG,0BAA0B,IAAI,KACjC,mBAAAA,QAAG,kBAAkB,IAAI,KACzB,mBAAAA,QAAG,0BAA0B,IAAI,GAChC;AACD,WAAO;AAAA,EACR;AAEA,MACC,mBAAmB,GAAG,CAAC,MACtB,mBAAAA,QAAG,oBAAoB,IAAI,KAAK,mBAAAA,QAAG,kBAAkB,IAAI,IACzD;AACD,WAAO;AAAA,EACR;AAEA,SAAO;AACR;AAeO,SAAS,oBACf,MAC+B;AAC/B,SAAO,mBAAAA,QAAG,oBAAoB,IAAI,KAAK,mBAAAA,QAAG,8BAA8B,IAAI;AAC7E;AAeO,SAAS,8BACf,MACyC;AACzC,SAAO,mBAAAA,QAAG,gBAAgB,IAAI,KAAK,mBAAAA,QAAG,uBAAuB,IAAI;AAClE;AAiBO,SAAS,qBACf,MACgC;AAChC,SAAO,mBAAAA,QAAG,kBAAkB,IAAI,KAAK,mBAAAA,QAAG,mBAAmB,IAAI;AAChE;AAgBO,SAAS,0BACf,MACqC;AACrC,SACC,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,YAAY,IAAI,KACnB,mBAAAA,QAAG,iBAAiB,IAAI,KACxB,mBAAAA,QAAG,sBAAsB,IAAI,KAC7B,mBAAAA,QAAG,qBAAqB,IAAI,KAC5B,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,eAAe,IAAI,KACtB,mBAAAA,QAAG,8BAA8B,IAAI,KACrC,mBAAAA,QAAG,aAAa,IAAI,KACpB,mBAAAA,QAAG,mBAAmB,IAAI,KAC1B,mBAAAA,QAAG,oBAAoB,IAAI;AAE7B;;;AFx1CO,SAAS,2BACf,MACmC;AACnC,SACC,mBAAAC,QAAG,oBAAoB,KAAK,IAAI,KAChC,mBAAAA,QAAG,aAAa,KAAK,KAAK,QAAQ,KAClC,KAAK,KAAK,SAAS,gBAAgB;AAErC;AAeO,SAAS,qBACf,MACgC;AAChC,UAAQ,KAAK,MAAM;AAAA,IAClB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAClB,aAAO;AAAA,IACR;AACC,aAAO;AAAA,EACT;AACD;AAeO,SAAS,4BACf,MACuC;AACvC,SACC,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,aAAa,KAAK,IAAI,MACxB,KAAK,SAAS,UAAa,qBAAqB,KAAK,IAAI;AAE5D;AAeO,SAAS,2BACf,MACsC;AACtC,SACC,mBAAAA,QAAG,2BAA2B,IAAI;AAAA,EAElC,uBAAuB,KAAK,UAAU;AAExC;AAuBO,SAAS,2BACf,MACmC;AACnC,SACC,UAAU,QACV,KAAK,SAAS,UACd,KAAK,SAAS,QACd,kBAAkB,KAAK,IAAe;AAExC;AAeO,SAAS,uBACf,MACkC;AAClC,SACC,mBAAAA,QAAG,oBAAoB,IAAI,KAC3B,mBAAAA,QAAG,aAAa,KAAK,IAAI,KACzB,KAAK,SAAS,UACd,gBAAgB,KAAK,IAAI;AAE3B;AAuBO,SAAS,6BACf,MACqC;AACrC,UAAQ,KAAK,MAAM;AAAA,IAClB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAClB,aAAO;AAAA,IACR;AACC,aAAO;AAAA,EACT;AACD;AAeO,SAAS,qCACf,MACgD;AAChD,SACC,mBAAAA,QAAG,2BAA2B,IAAI,KAClC,mBAAAA,QAAG,aAAa,KAAK,IAAI,KACzB,uBAAuB,KAAK,UAAU;AAExC;AAeO,SAAS,+BACf,MAC0C;AAC1C,SACC,mBAAAA,QAAG,0BAA0B,IAAI,KAAK,kBAAkB,KAAK,UAAU;AAEzE;AAeO,SAAS,gCACf,MAC2C;AAC3C,SACC,mBAAAA,QAAG,2BAA2B,IAAI,KAAK,kBAAkB,KAAK,UAAU;AAE1E;;;AInRA,IAAAC,qBAAe;AAcR,SAAS,wBAAwB,MAAwB;AAC/D,UAAQ,KAAK,MAAM;AAAA,IAClB,KAAK,mBAAAC,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,mBAAAA,QAAG,WAAW;AAClB,aAAO;AAAA,IACR,KAAK,mBAAAA,QAAG,WAAW;AAElB,aAAO,mBAAAA,QAAG,iBAAiB,IAAqB;AAAA,IACjD;AACC,aAAO;AAAA,EACT;AACD;;;ACvCA,IAAAC,sBAAe;AAYR,SAAS,iBAAiB,MAA8B;AAC9D,SACC,QAAQ,oBAAAC,QAAG,WAAW,mBACtB,QAAQ,oBAAAA,QAAG,WAAW;AAExB;AAWO,SAAS,sBAAsB,MAAqC;AAC1E,SAAO,OAAO,CAAC,IAAI,MAAM;AAC1B;AAEA,SAAS,SAAS,IAAY;AAC7B,SAAO,MAAM,QAAU,IAAI;AAC5B;AAWO,SAAS,sBACf,MACA,kBAAkB,oBAAAA,QAAG,aAAa,QACxB;AACV,MAAI,KAAK,WAAW,GAAG;AACtB,WAAO;AAAA,EACR;AAEA,MAAI,KAAK,KAAK,YAAY,CAAC;AAC3B,MAAI,CAAC,oBAAAA,QAAG,kBAAkB,IAAI,eAAe,GAAG;AAC/C,WAAO;AAAA,EACR;AAEA,WAAS,IAAI,SAAS,EAAE,GAAG,IAAI,KAAK,QAAQ,KAAK,SAAS,EAAE,GAAG;AAC9D,SAAK,KAAK,YAAY,CAAC;AACvB,QAAI,CAAC,oBAAAA,QAAG,iBAAiB,IAAI,eAAe,GAAG;AAC9C,aAAO;AAAA,IACR;AAAA,EACD;AAEA,SAAO;AACR;;;AClEA,IAAAC,sBAAe;;;ACHf,IAAAC,sBAAe;AAwBR,SAAS,mBAAmB,MAAyC;AAC3E,SAAO,cAAc,MAAM,oBAAAC,QAAG,UAAU,GAAG;AAC5C;AAsBO,SAAS,uBACf,MAC+B;AAC/B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,OAAO;AAChD;AAsBO,SAAS,sBACf,MAC8B;AAC9B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,MAAM;AAC/C;AA4BO,SAAS,qBACf,MAC6B;AAC7B,SAAO,gBAAgB,IAAI,KAAK,KAAK,kBAAkB;AACxD;AAsBO,SAAS,wBACf,MACgC;AAChC,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,QAAQ;AACjD;AAYA,IAAM,qBACJ,oBAAAA,QAAG,UAAqC,aACzC,oBAAAA,QAAG,UAAU,MACZ,oBAAAA,QAAG,UAAU,UACb,oBAAAA,QAAG,UAAU,SACb,oBAAAA,QAAG,UAAU,SACb,oBAAAA,QAAG,UAAU,SACb,oBAAAA,QAAG,UAAU,UACb,oBAAAA,QAAG,UAAU,iBACb,oBAAAA,QAAG,UAAU,WACb,oBAAAA,QAAG,UAAU,OACb,oBAAAA,QAAG,UAAU,YACb,oBAAAA,QAAG,UAAU,OACb,oBAAAA,QAAG,UAAU,QACb,oBAAAA,QAAG,UAAU;AAcR,SAAS,gBAAgB,MAAsC;AACrE,SAAO,cAAc,MAAM,kBAAkB;AAC9C;AAsBO,SAAS,qBACf,MAC6B;AAC7B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,KAAK;AAC9C;AAwBO,SAAS,4BACf,MACoC;AACpC,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,YAAY;AACrD;AAsBO,SAAS,oBAAoB,MAA0C;AAC7E,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,IAAI;AAC7C;AAsBO,SAAS,sBACf,MAC8B;AAC9B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,MAAM;AAC/C;AAsBO,SAAS,sBACf,MAC8B;AAC9B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,MAAM;AAC/C;AAsBO,SAAS,yBACf,MACiC;AACjC,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,SAAS;AAClD;AAsBO,SAAS,uBACf,MAC+B;AAC/B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,OAAO;AAChD;AAsBO,SAAS,oBAAoB,MAA0C;AAC7E,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,IAAI;AAC7C;;;AChYA,IAAAC,sBAAe;;;ACAf,IAAAC,sBAAe;AAgBR,SAAS,kBAAkB,MAA2C;AAC5E,SAAO,cAAc,MAAM,oBAAAC,QAAG,UAAU,WAAW;AACpD;AAcO,SAAS,WAAW,MAAoC;AAC9D,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,IAAI;AAC7C;AAcO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,SAAS;AAClD;AAcO,SAAS,YAAY,MAAqC;AAChE,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,KAAK;AAC9C;AAcO,SAAS,oBACf,MAC+B;AAC/B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,aAAa;AACtD;AAcO,SAAS,mBAAmB,MAA4C;AAC9E,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,YAAY;AACrD;AAcO,SAAS,mBAAmB,MAA4C;AAC9E,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,YAAY;AACrD;AAcO,SAAS,aAAa,MAAsC;AAClE,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,MAAM;AAC/C;AAcO,SAAS,oBACf,MAC+B;AAC/B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,aAAa;AACtD;AAcO,SAAS,mBAAmB,MAA4C;AAC9E,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,YAAY;AACrD;AAcO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,aAAa;AACtD;AAcO,SAAS,eAAe,MAAwC;AACtE,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,YAAY;AACrD;AAcO,SAAS,YAAY,MAAqC;AAChE,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,KAAK;AAC9C;AAcO,SAAS,0BACf,MACqC;AACrC,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,mBAAmB;AAC5D;AAcO,SAAS,qBACf,MACgC;AAChC,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,cAAc;AACvD;;;ADzOO,SAAS,oBACf,MAC+B;AAC/B,SACC,aAAa,IAAI,KAAK,gBAAgB,MAAM,oBAAAC,QAAG,YAAY,aAAa;AAE1E;AAcO,SAAS,YAAY,MAAqC;AAChE,SAAO,aAAa,IAAI,KAAK,gBAAgB,MAAM,oBAAAA,QAAG,YAAY,KAAK;AACxE;AAcO,SAAS,gBAAgB,MAAyC;AACxE,SAAO,aAAa,IAAI,KAAK,gBAAgB,MAAM,oBAAAA,QAAG,YAAY,SAAS;AAC5E;;;AE9BO,SAAS,yBACf,MACiC;AACjC,SAAO,gBAAgB,IAAI,KAAK,gBAAgB,IAAI;AACrD;AAaO,SAAS,qBACf,MACgC;AAChC,SAAO,gBAAgB,IAAI,KAAK,YAAY,KAAK,MAAM;AACxD;;;AC9CA,IAAAC,sBAAe;AA2BR,SAAS,qBACf,MAC6B;AAC7B,SAAO,cAAc,MAAM,oBAAAC,QAAG,UAAU,cAAc;AACvD;AAcO,SAAS,oBACf,MAC+B;AAC/B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,aAAa;AACtD;AAuBO,SAAS,mBAAmB,MAAyC;AAC3E,SAAO,qBAAqB,IAAI,KAAK,KAAK,kBAAkB;AAC7D;AAcO,SAAS,cAAc,MAAuC;AACpE,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,OAAO;AAChD;AAcO,SAAS,oBACf,MAC+B;AAC/B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,aAAa;AACtD;AAcO,SAAS,oBACf,MAC+B;AAC/B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,aAAa;AACtD;AAcO,SAAS,sBACf,MACiC;AACjC,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,eAAe;AACxD;AAuBO,SAAS,kBAAkB,MAAwC;AACzE,SAAO,qBAAqB,IAAI,KAAK,KAAK,kBAAkB;AAC7D;AAsBO,SAAS,qBACf,MAC6B;AAC7B,SAAO,cAAc,MAAM,oBAAAA,QAAG,UAAU,OAAO;AAChD;;;AL7KO,SAAS,wBACf,MAC0B;AAC1B,MAAI,YAAY,IAAI,GAAG;AACtB,UAAM,aAAa,CAAC;AACpB,eAAW,WAAW,KAAK,OAAO;AACjC,iBAAW,KAAK,GAAG,wBAAwB,OAAO,CAAC;AAAA,IACpD;AAEA,WAAO;AAAA,EACR;AAEA,MAAI,mBAAmB,IAAI,GAAG;AAC7B,QAAI;AACJ,eAAW,WAAW,KAAK,OAAO;AACjC,YAAM,MAAM,wBAAwB,OAAO;AAC3C,UAAI,IAAI,WAAW,GAAG;AAErB,YAAI,eAAe,QAAW;AAC7B,iBAAO,CAAC;AAAA,QACT;AAEA,qBAAa;AAAA,MACd;AAAA,IACD;AAEA,WAAO,eAAe,SAAY,CAAC,IAAI;AAAA,EACxC;AAEA,SAAO,KAAK,kBAAkB;AAC/B;AAaO,SAAS,kBACf,MACA,MACwB;AACxB,MAAI,CAAE,KAAgB,WAAW,IAAI,GAAG;AACvC,WAAO,KAAK,YAAY,IAAc;AAAA,EACvC;AAEA,SAAO,KAAK,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB,IAAI;AAC/D;AAaO,SAAS,iCACf,MACA,qBACA,aACwB;AACxB,QAAM,SAAS,QAAQ;AAEvB,aAAW,QAAQ,KAAK,cAAc,GAAG;AACxC,QAAI,CAAC,KAAK,KAAK,WAAW,MAAM,GAAG;AAClC;AAAA,IACD;AAEA,UAAM,cAAc,KAAK,oBAAoB,KAAK,gBAAgB,EAAG,CAAC;AACtE,QACC,CAAC,2BAA2B,WAAW,KACvC,YAAY,SAAS,UACrB,CAAC,oBAAAC,QAAG,uBAAuB,YAAY,IAAI,GAC1C;AACD;AAAA,IACD;AAEA,UAAM,eAAe,YAAY;AAAA,MAChC,YAAY,kBAAkB,YAAY,KAAK,UAAU;AAAA,IAC1D,EAAE;AAEF,QACC,KAAK,gBACL;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,IACD,GACC;AACD,aAAO;AAAA,IACR;AAAA,EACD;AAEA,SAAO;AACR;AAKA,SAAS,iCACR,aACA,mBACA,YACC;AACD,QAAM,cACL,qBACA,YACE;AAAA,IACA;AAAA;AAAA,IAEC,kBAA0B;AAAA,EAC5B,EACC,YAAY,UAAU;AACzB,QAAM,kBACL,eACA,YAAY;AAAA,IACX;AAAA;AAAA,IAEC,YAAoB;AAAA,EACtB;AACD,MAAI,mBAAmB,qBAAqB,eAAe,GAAG;AAC7D,WAAO,gBAAgB;AAAA,EACxB;AAEA,SAAQ,QAAQ;AACjB;;;AMzJA,IAAAC,sBAAe;;;ACAf,IAAAC,sBAAe;AAYR,SAAS,mCACf,MACU;AACV,SACC,KAAK,UAAU,WAAW,KAC1B,uBAAuB,KAAK,UAAU,CAAC,CAAC,KACxC,6BAA6B,KAAK,UAAU,CAAC,CAAC,KAC9C,oBAAAC,QAAG,2BAA2B,KAAK,UAAU,KAC7C,KAAK,WAAW,KAAK,gBAAgB,oBACrC,oBAAAA,QAAG,aAAa,KAAK,WAAW,UAAU,KAC1C,KAAK,WAAW,WAAW,gBAAgB;AAE7C;AAMO,SAAS,iBAAiB,MAA8B;AAC9D,MAAI,UAAmB;AACvB,SAAO,MAAM;AACZ,UAAM,SAAS,QAAQ;AACvB;AAAO,cAAQ,OAAO,MAAM;AAAA,QAC3B,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,iBAAO,2BAA2B,MAAgC;AAAA,QACnE,KAAK,oBAAAA,QAAG,WAAW;AAClB,cAAI,QAAQ,SAAS,oBAAAA,QAAG,WAAW,gBAAgB;AAClD,mBAAO;AAAA,UACR;AAEA,kBAAS,OAAoC,UAAU;AAAA,YACtD,KAAK,oBAAAA,QAAG,WAAW;AAAA,YACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,wBAAU;AACV,oBAAM;AAAA,YACP;AACC,qBAAO;AAAA,UACT;AAAA,QAED,KAAK,oBAAAA,QAAG,WAAW;AAClB,cAAK,OAAiC,gBAAgB,SAAS;AAC9D,mBAAO;AAAA,UACR;AAEA,oBAAU,OAAO;AACjB;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAClB,oBAAU,OAAO;AACjB;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,oBAAU;AACV;AAAA,QACD;AACC,iBAAO;AAAA,MACT;AAAA,EACD;AACD;;;ADrCO,SAAS,YAAY,MAAwB;AACnD,MACC;AAAA,IACC;AAAA,IACA,oBAAAC,QAAG,UAAU,YAAY,oBAAAA,QAAG,UAAU,OAAO,oBAAAA,QAAG,UAAU;AAAA,EAC3D,GACC;AACD,WAAO;AAAA,EACR;AAEA,MAAI,KAAK,UAAU,GAAG;AACrB,WAAO,CAAC,KAAK;AAAA,EACd;AAEA,SAAO,mBAAmB,IAAI;AAC/B;AAgBO,SAAS,sBAAsB,MAA0B;AAC/D,SAAO,mBAAmB,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI;AACrD;AAkBO,SAAS,UAAU,MAA0B;AACnD,SAAO,mBAAmB,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI;AAC1E;AAEA,SAAS,+BACR,MACA,MACA,aACC;AACD,QAAMC,aAAY,mBAAmB,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI;AAC/D,SAAOA,WAAU,KAAK,CAAC,YAAqB;AAC3C,UAAM,OAAO,kBAAkB,SAAS,IAAI;AAC5C,QAAI,SAAS,QAAW;AACvB,aAAO;AAAA,IACR;AAEA,QAAI,KAAK,QAAQ,oBAAAD,QAAG,YAAY,WAAW;AAC1C,UACC,mBAAmB,KAAK,IAAc,KACtC,qBAAqB,OAAO,GAC3B;AACD,eAAO,QAAQ,OAAO;AAAA,MACvB;AAEA,cAAQ,iCAAiC,SAAS,MAAM,WAAW,GAAG;AAAA,QACrE,KAAK;AACJ,iBAAO;AAAA,QACR,KAAK;AACJ,iBAAO;AAAA,QACR;AAAA,MAED;AAAA,IACD;AAEA,WAAO,CAAC;AAAA,KAGN,gBAAgB,MAAM,oBAAAA,QAAG,YAAY,WAAW;AAAA,IAEhD,6BAA6B,MAAM,WAAW;AAAA,EAGjD,CAAC;AACF;AAEA,SAAS,iCACR,MACA,MACA,aACsB;AACtB,MAAI,CAAC,aAAa,IAAI,KAAK,CAAC,gBAAgB,MAAM,oBAAAA,QAAG,YAAY,MAAM,GAAG;AACzE;AAAA,EACD;AAEA,QAAM,cAAc,KAAK,OAAO,aAAc,CAAC;AAE/C,MACC,YAAY,kBAAkB,UAC9B,CAAC,aAAa,KAAK,IAAc,GAChC;AACD,WAAO,YAAY,cAAc,SAAS,oBAAAA,QAAG,WAAW;AAAA,EACzD;AAEA,QAAM,EAAE,cAAc,IAAI;AAE1B,SACC,iBAAiB,yBAAyB,eAAe,MAAM,WAAW;AAE5E;AAEA,SAAS,WACR,aACA,OACA,MACU;AACV,MAAI,OAA4B,YAAY;AAAA,IAC3C,YAAY,0BAA0B,OAAO,IAAI;AAAA,EAClD;AACA,MAAK,MAAM,iBAA6C,gBAAgB;AAEvE,WAAO,KAAK,mBAAmB;AAC/B,QAAI,SAAS,QAAW;AACvB,aAAO;AAAA,IACR;AAAA,EACD;AAEA,aAAW,WAAW,eAAe,IAAI,GAAG;AAC3C,QAAI,QAAQ,kBAAkB,EAAE,WAAW,GAAG;AAC7C,aAAO;AAAA,IACR;AAAA,EACD;AAEA,SAAO;AACR;AAgBO,SAAS,yBACf,MACA,MACA,aACU;AACV,MAAI,eAAe;AACnB,MAAI,wBAAwB;AAC5B,aAAW,WAAW,eAAe,IAAI,GAAG;AAC3C,QAAI,kBAAkB,SAAS,IAAI,MAAM,QAAW;AAEnD,YAAM,SACJ,sBAAsB,IAAI,IACxB,YAAY,mBAAmB,SAAS,oBAAAA,QAAG,UAAU,MAAM,IAC3D,WACH,YAAY,mBAAmB,SAAS,oBAAAA,QAAG,UAAU,MAAM;AAC5D,UAAI,OAAO,YAAY;AACtB,YAAI,cAAc;AACjB,iBAAO;AAAA,QACR;AAEA,gCAAwB;AAAA,MACzB;AAAA,IACD,WACC,yBACA,+BAA+B,SAAS,MAAM,WAAW,GACxD;AACD,aAAO;AAAA,IACR,OAAO;AACN,qBAAe;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;AAeA,SAAS,gCACR,MACA,aACC;AACD,MAAI,CAAC,mCAAmC,IAAI,GAAG;AAC9C,WAAO;AAAA,EACR;AAEA,QAAM,iBAAiB,YAAY,kBAAkB,KAAK,UAAU,CAAC,CAAC;AACtE,MAAI,eAAe,YAAY,OAAO,MAAM,QAAW;AACtD,WAAO,eAAe,YAAY,KAAK,MAAM;AAAA,EAC9C;AAEA,QAAM,eAAe,eAAe,YAAY,UAAU;AAC1D,MAAI,iBAAiB,QAAW;AAC/B,WAAO;AAAA,EACR;AAEA,QAAM,eACL,aAAa,qBAAqB,UAClC,oBAAAA,QAAG,qBAAqB,aAAa,gBAAgB,IAClD,YAAY,kBAAkB,aAAa,iBAAiB,WAAW,IACvE,YAAY,0BAA0B,cAAc,KAAK,UAAU,CAAC,CAAC;AACzE,SAAO,mBAAmB,YAAY;AACvC;AAmDO,SAAS,eACf,aACA,MACA,OAAO,YAAY,kBAAkB,IAAI,GAC/B;AACV,aAAW,YAAY,eAAe,YAAY,gBAAgB,IAAI,CAAC,GAAG;AACzE,UAAM,OAAO,SAAS,YAAY,MAAM;AACxC,QAAI,SAAS,QAAW;AACvB;AAAA,IACD;AAEA,UAAM,WAAW,YAAY,0BAA0B,MAAM,IAAI;AACjE,eAAW,eAAe,eAAe,QAAQ,GAAG;AACnD,iBAAW,aAAa,YAAY,kBAAkB,GAAG;AACxD,YACC,UAAU,WAAW,WAAW,KAChC,WAAW,aAAa,UAAU,WAAW,CAAC,GAAG,IAAI,GACpD;AACD,iBAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;AAeO,SAAS,6BACf,QACA,aACU;AACV,SAAO,CAAC,GACN,OAAO,QAAQ,oBAAAA,QAAG,YAAY,cAAc,oBAAAA,QAAG,YAAY,eAC5D,OAAO,cAAc;AAAA,IACpB,CAAC,SACA,kBAAkB,MAAM,oBAAAA,QAAG,cAAc,QAAQ,KAChD,oBAAAA,QAAG,sBAAsB,IAAI,KAC7B,cAAc,KAAK,QAAQ,oBAAAA,QAAG,UAAU,KAAK,KAC7C,oBAAAA,QAAG,iBAAiB,IAAI,KACxB,gCAAgC,MAAM,WAAW,KAClD,oBAAAA,QAAG,aAAa,IAAI,MAClB,oBAAAA,QAAG,qBAAqB,IAAI,KAC7B,oBAAAA,QAAG,8BAA8B,IAAI,MACrC,iBAAiB,KAAK,MAAM;AAAA,EAC/B;AAEF;AAgBO,SAAS,eAAe,MAA0B;AACxD,SAAO,YAAY,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI;AAC9C;;;AE3YA,IAAAE,sBAAe;;;ACAf,IAAAC,sBAAe;AA+CR,SAAS,qBAAqB,MAA8B;AAClE,UAAQ,KAAK,MAAM;AAAA,IAClB,KAAK,oBAAAC,QAAG,WAAW,OAAO;AACzB,YAAM,SAAS,KAAK;AACpB,aAAO,OAAO,SAAS,oBAAAA,QAAG,WAAW;AAAA,OAEnC,OAAO,SAAS,oBAAAA,QAAG,WAAW;AAAA;AAAA,MAG9B,CAAC,wBAAwB,MAAM,KAC9B,gBACA;AAAA,IACJ;AAAA,IAEA,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAO;AAAA,IACR;AACC,aAAO;AAAA,EACT;AACD;;;ACvEA,IAAAC,sBAAe;;;ACHf,IAAAC,sBAAe;AAKR,SAAS,wBACf,MAC4B;AAC5B,SAAO,6BAA6B,oBAAAC,UACjC,oBAAAA,QAAG,wBAAwB,IAAI;AAAA;AAAA,IAEhC,KAAK;AAAA;AACR;AAKO,SAAS,kBAAkB,MAAyC;AAC1E,SAAO,uBAAuB,oBAAAA,UAC3B,oBAAAA,QAAG,kBAAkB,IAAI,IACzB,gBAAgB;AACpB;AASO,SAAS,cACf,MACsC;AACtC,SAAO,mBAAmB,oBAAAA,UACvB,oBAAAA,QAAG,cAAc,IAAI,IACpB,KAA4B;AACjC;;;ADjBO,IAAK,oBAAL,kBAAKC,uBAAL;AACN,EAAAA,sCAAA,YAAS,KAAT;AACA,EAAAA,sCAAA,eAAY,KAAZ;AACA,EAAAA,sCAAA,UAAO,KAAP;AACA,EAAAA,sCAAA,WAAQ,KAAR;AAEA,EAAAA,sCAAA,SAAM,KAAN;AANW,SAAAA;AAAA,GAAA;AASL,SAAS,qBACf,MACgC;AAChC,UAAQ,KAAK,OAAO,MAAM;AAAA,IACzB,KAAK,oBAAAC,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAO;AAAA,IACR,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAO,eAAyB;AAAA,IACjC,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAO;AAAA,IACR,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAO,cAAwB;AAAA,IAChC,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAQ,KAAK,OACX,SAAS,OACR,cAAwB,iBACxB;AAAA,IACJ,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAO;AAAA,IACR,KAAK,oBAAAA,QAAG,WAAW;AAClB,UACC,KAAK,OAAO,OAAO,SAAS,oBAAAA,QAAG,WAAW,kBAC1C,wBAAwB,IAAI,MAAM,oBAAAA,QAAG,WAAW,aAC/C;AACD;AAAA,MACD;AAAA,IAGD,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAQ,KAAK,OAAsC,SAAS,OACzD,gBACA;AAAA,IACJ,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAO;AAAA,EACT;AACD;;;AEnEA,IAAAC,sBAAe;AAIf,SAAS,kBAAkB,MAAqB;AAC/C,SAAO,KAAK,SAAS,oBAAAC,QAAG,WAAW,yBAAyB;AAC3D,WAAQ,KAAoC;AAAA,EAC7C;AAEA,SAAO;AACR;AAEO,SAAS,gBACf,cACqB;AACrB,MAAI,aAAa,SAAS,oBAAAA,QAAG,WAAW,sBAAsB;AAC7D,UAAM,aAAa,kBAAkB,aAAa,UAAU;AAC5D,QAAI,oBAAAA,QAAG,wBAAwB,UAAU,GAAG;AAC3C,UAAI,SAAS;AACb,cAAQ,WAAW,UAAU;AAAA,QAC5B,KAAK,oBAAAA,QAAG,WAAW;AAClB,mBAAS;AAAA,QAEV,KAAK,oBAAAA,QAAG,WAAW;AAClB,iBAAO,oBAAAA,QAAG,iBAAiB,WAAW,OAAO,IAC1C,GAAG,SAAS,MAAM,EAAE,GAAG,WAAW,QAAQ,IAAI,KAC9C,oBAAAA,QAAG,gBAAgB,WAAW,OAAO,IACpC,GAAG,SAAS,MAAM,EAAE,GAAG,WAAW,QAAQ,KAAK,MAAM,GAAG,EAAE,CAAC,KAC3D;AAAA,QACL;AACC;AAAA,MACF;AAAA,IACD;AAEA,QAAI,oBAAAA,QAAG,gBAAgB,UAAU,GAAG;AACnC,aAAO,WAAW,KAAK,MAAM,GAAG,EAAE;AAAA,IACnC;AAEA,QAAI,6BAA6B,UAAU,GAAG;AAC7C,aAAO,WAAW;AAAA,IACnB;AAEA;AAAA,EACD;AAEA,SAAO,aAAa,SAAS,oBAAAA,QAAG,WAAW,oBACxC,SACA,aAAa;AACjB;;;AChDA,IAAAC,sBAAe;AAOR,IAAK,cAAL,kBAAKC,iBAAL;AACN,EAAAA,0BAAA,eAAY,KAAZ;AACA,EAAAA,0BAAA,UAAO,KAAP;AACA,EAAAA,0BAAA,eAAY,KAAZ;AACA,EAAAA,0BAAA,WAAQ,KAAR;AACA,EAAAA,0BAAA,sBAAmB,KAAnB;AAEA,EAAAA,0BAAA,SAAM,KAAN;AAPW,SAAAA;AAAA,GAAA;AAWL,SAAS,eAAe,MAA8C;AAC5E,QAAM,SAAS,KAAK;AACpB,UAAQ,OAAO,MAAM;AAAA,IACpB,KAAK,oBAAAC,QAAG,WAAW;AAClB,aAAO,wBAAwB,IAAI,MAAM,oBAAAA,QAAG,WAAW,eACpD,eACA;AAAA,IACJ,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAQ,OAAO,OAA6B,UAC3C,oBAAAA,QAAG,WAAW,qBACd,OAAO,OAAO,OAAO,SAAS,oBAAAA,QAAG,WAAW,uBAC1C,eACA;AAAA,IACJ,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAO,2BAA+B;AAAA,IACvC,KAAK,oBAAAA,QAAG,WAAW;AAClB,UAAK,OAA4B,SAAS,MAAM;AAC/C,YACC,oBAAoB,MAA0B,EAAE,SAChD,oBAAAA,QAAG,WAAW,WACb;AACD,iBAAO,oBAAwB;AAAA,QAChC;AAEA,eAAO;AAAA,MACR;AAEA;AAAA,IACD,KAAK,oBAAAA,QAAG,WAAW;AAElB,UACE,OAA8B,iBAAiB,UAC/C,OAA8B,iBAAiB,MAC/C;AACD,eAAO;AAAA,MACR;AAEA;AAAA,IACD,KAAK,oBAAAA,QAAG,WAAW;AAClB,aAAO;AAAA,IAER,KAAK,oBAAAA,QAAG,WAAW;AAClB,UAAK,OAA6B,gBAAgB,MAAM;AACvD,eAAO;AAAA,MACR;AAEA;AAAA,IACD,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,UAAK,OAA+B,SAAS,MAAM;AAClD,eAAO;AAAA,MACR;AAEA;AAAA,IACD,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,IACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB;AAAA,IACD;AACC,aAAO;AAAA,EACT;AACD;AAEA,SAAS,oBAAoB,MAAqB;AACjD,MAAI,SAAS,KAAK;AAClB,SAAO,OAAO,SAAS,oBAAAA,QAAG,WAAW,eAAe;AACnD,aAAS,OAAO;AAAA,EACjB;AAEA,SAAO;AACR;;;ACtHA;AAkBA,IAAe,gBAAf,MAA8C;AAAA,EAO7C,YAAsB,QAAiB;AAAjB;AANtB,oCAAkD;AAClD,SAAU,kBACT;AACD,SAAU,OAAgB,CAAC;AAC3B,SAAU,YAAY,oBAAI,IAA+B;AAAA,EAEjB;AAAA,EAExC,OAAO,KAAkB;AACxB,SAAK,KAAK,KAAK,GAAG;AAAA,EACnB;AAAA;AAAA,EAGU,eAAe,MAAmB;AAAA,EAAC;AAAA,EAE7C,YACC,YACA,MACA,UACA,UACA,QACO;AACP,UAAM,YAAY,KAAK,oBAAoB,QAAQ,EAAE,aAAa;AAClE,UAAM,cAA+B;AAAA,MACpC,aAAa;AAAA,MACb;AAAA,MACA;AAAA,IACD;AACA,UAAM,WAAW,UAAU,IAAI,UAAU;AACzC,QAAI,aAAa,QAAW;AAC3B,gBAAU,IAAI,YAAY;AAAA,QACzB,cAAc,CAAC,WAAW;AAAA,QAC1B;AAAA,QACA,MAAM,CAAC;AAAA,MACR,CAAC;AAAA,IACF,OAAO;AACN,eAAS,UAAU;AACnB,eAAS,aAAa,KAAK,WAAW;AAAA,IACvC;AAAA,EACD;AAAA,EAEU,SAAS,KAAY,YAAY,KAAK,WAAoB;AACnE,UAAM,WAAW,UAAU,IAAI,IAAI,SAAS,IAAI;AAChD,QAAI,aAAa,WAAc,SAAS,SAAS,IAAI,YAAY,GAAG;AACnE,aAAO;AAAA,IACR;AAEA,aAAS,KAAK,KAAK,GAAG;AACtB,WAAO;AAAA,EACR;AAAA,EAEU,YAAkB;AAC3B,eAAW,OAAO,KAAK,MAAM;AAC5B,UAAI,CAAC,KAAK,SAAS,GAAG,GAAG;AACxB,aAAK,eAAe,GAAG;AAAA,MACxB;AAAA,IACD;AAEA,SAAK,OAAO,CAAC;AAAA,EACd;AAAA,EAEA,uBAAuB,MAAc,WAA+B;AACnE,QAAI;AACJ,QAAI,mBAAK,iBAAgB,QAAW;AACnC,yBAAK,aAAc,oBAAI,IAAI;AAAA,IAC5B,OAAO;AACN,cAAQ,mBAAK,aAAY,IAAI,IAAI;AAAA,IAClC;AAEA,QAAI,UAAU,QAAW;AACxB,cAAQ,IAAI,UAAU,IAAI;AAC1B,yBAAK,aAAY,IAAI,MAAM,KAAK;AAAA,IACjC;AAEA,WAAO;AAAA,EACR;AAAA;AAAA,EAEA,4BACC,MACA,WACA,SACA,oBACiB;AACjB,QAAI;AACJ,QAAI,KAAK,oBAAoB,QAAW;AACvC,WAAK,kBAAkB,oBAAI,IAAI;AAAA,IAChC,OAAO;AACN,cAAQ,KAAK,gBAAgB,IAAI,IAAI;AAAA,IACtC;AAEA,QAAI,UAAU,QAAW;AACxB,cAAQ,IAAI,eAAe,SAAS,oBAAoB,IAAI;AAC5D,WAAK,gBAAgB,IAAI,MAAM,KAAK;AAAA,IACrC,OAAO;AACN,YAAM,QAAQ,SAAS,kBAAkB;AAAA,IAC1C;AAEA,WAAO;AAAA,EACR;AAAA,EAEA,IAAI,IAA6B;AAChC,QAAI,KAAK,oBAAoB,QAAW;AACvC,WAAK,gBAAgB,QAAQ,CAAC,UAAU,MAAM,OAAO,EAAE,CAAC;AAAA,IACzD;AAEA,SAAK,kBAAkB,mBAAK,aAAc;AAC1C,SAAK,UAAU;AACf,SAAK,UAAU,QAAQ,CAAC,aAAa;AACpC,iBAAW,eAAe,SAAS,cAAc;AAChD,cAAM,SAAoB;AAAA,UACzB,cAAc,CAAC;AAAA,UACf,QAAQ,YAAY;AAAA,UACpB,UAAU,YAAY;AAAA,UACtB,eAAe,KAAK;AAAA,UACpB,MAAM,CAAC;AAAA,QACR;AACA,mBAAW,SAAS,SAAS,cAAc;AAC1C,cAAI,MAAM,SAAS,YAAY,QAAQ;AACtC,mBAAO,aAAa,KAAK,MAAM,WAA4B;AAAA,UAC5D;AAAA,QACD;AAEA,mBAAW,OAAO,SAAS,MAAM;AAChC,cAAI,IAAI,SAAS,YAAY,QAAQ;AACpC,mBAAO,KAAK,KAAK,GAAG;AAAA,UACrB;AAAA,QACD;AAEA,WAAG,QAAQ,YAAY,aAA8B,IAAI;AAAA,MAC1D;AAAA,IACD,CAAC;AAAA,EACF;AAAA,EAEA,mBAA0B;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,eAA+C;AAC9C,WAAO,KAAK;AAAA,EACb;AAAA;AAAA,EAGA,aAAaC,QAA4B;AAAA,EAAC;AAG3C;AAjJC;AAmJM,IAAM,eAAN,cAA2B,cAAc;AAAA,EAC/C,YACW,QACA,UACT;AACD,UAAM,KAAK;AAHD;AACA;AAAA,EAGX;AAAA,EAEU,eAAe,KAAkB;AAC1C,WAAO,KAAK,OAAO,OAAO,KAAK,IAAI;AAAA,EACpC;AAAA,EAEA,oBAAoB,UAAwC;AAC3D,WAAO,KAAK,WAAW,WACpB,OACA,KAAK,OAAO,oBAAoB,QAAQ;AAAA,EAC5C;AACD;AAEO,IAAM,YAAN,cAAwB,aAAa;AAAA,EAC3C,YAAY,QAAe;AAC1B,UAAM,wBAA8B;AAAA,EACrC;AAAA,EAEA,MAAY;AACX,SAAK,UAAU;AAAA,EAChB;AACD;AAjMA;AAmMO,IAAM,YAAN,cAAwB,cAAc;AAAA,EAK5C,YAAY,WAAoB,QAAiB;AAChD,UAAM,MAAM;AALb;AACA,iCAAiC;AACjC,oCAAc,IAAI,aAAa,sBAA4B;AAI1D,uBAAK,YAAa;AAAA,EACnB;AAAA,EAEA,OAAO,KAAY,QAAsB;AACxC,QAAI,WAAW,mBAAK,cAAa;AAChC,aAAO,MAAM,OAAO,GAAG;AAAA,IACxB;AAEA,WAAO,mBAAK,aAAY,OAAO,GAAG;AAAA,EACnC;AAAA,EAEA,YACC,YACA,MACA,UACA,UACA,QACO;AACP,QAAI,yBAAmC;AACtC,aAAO,MAAM,YAAY,YAAY,MAAM,UAAU,UAAU,MAAM;AAAA,IACtE;AAEA,WAAO,mBAAK,aAAY;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,IAAI,IAA6B;AAChC,uBAAK,aAAY,IAAI,CAAC,OAAO,QAAQ;AACpC,YAAM,aACL,mBAAK,eACJ,mBAAK,cAAa,UAAa,mBAAK,UAAS,SAAS,IAAI,IAAI;AAChE,YAAM,gBAAgB,KAAK;AAC3B,aAAO,GAAG,OAAO,KAAK,IAAI;AAAA,IAC3B,CAAC;AACD,WAAO,MAAM,IAAI,CAAC,OAAO,KAAK,UAAU;AACvC,YAAM,aACL,UAAU,QACV,mBAAK,cAAa,UAClB,mBAAK,UAAS,SAAS,IAAI,IAAI;AAChC,aAAO,GAAG,OAAO,KAAK,KAAK;AAAA,IAC5B,CAAC;AAAA,EACF;AAAA,EAEA,sBAA4B;AAC3B,WAAO;AAAA,EACR;AAAA,EAEA,aAAa,IAAyB;AACrC,QAAI,mBAAK,cAAa,QAAW;AAChC,yBAAK,UAAW,CAAC,GAAG,IAAI;AAAA,IACzB,OAAO;AACN,yBAAK,UAAS,KAAK,GAAG,IAAI;AAAA,IAC3B;AAAA,EACD;AACD;AAjEC;AACA;AACA;AAtMD,cAAAC,WAAA,YAAAC;AAuQO,IAAM,iBAAN,cAA6B,aAAa;AAAA,EAMhD,YAAY,SAAkB,WAAoB,QAAe;AAChE,UAAM,wBAA8B;AANrC;AACA,uBAAAD,WAAoC;AACpC;AACA,uBAAAC,cAAc,IAAI,aAAa,sBAA4B;AAI1D,uBAAK,UAAW;AAChB,uBAAK,YAAa;AAAA,EACnB;AAAA,EAEA,OAAO,KAAY,QAAsB;AACxC,QAAI,WAAW,mBAAKA,eAAa;AAChC,aAAO,mBAAKA,cAAY,OAAO,GAAG;AAAA,IACnC;AAEA,SAAK,KAAK,KAAK,GAAG;AAAA,EACnB;AAAA,EAEA,uBAAuB,MAAc,UAA8B;AAClE,QAAI,CAAC,aAAa,CAAC,mBAAK,aAAY,mBAAK,cAAa;AACrD,aAAO,mBAAKA,cAAY,uBAAuB,MAAM,QAAQ;AAAA,IAC9D;AAEA,WAAO,MAAM,uBAAuB,MAAM,QAAQ;AAAA,EACnD;AAAA,EAEA,4BACC,MACA,UACA,SACA,oBACiB;AACjB,QAAI,CAAC,aAAa,CAAC,mBAAK,aAAY,mBAAK,cAAa;AACrD,aAAO,mBAAKA,cAAY;AAAA,QACvB;AAAA,QACA;AAAA,QACA,WAAW,mBAAK;AAAA,QAChB;AAAA,MACD;AAAA,IACD;AAEA,WAAO,MAAM;AAAA,MACZ;AAAA,MACA;AAAA,MACA,WAAW,mBAAK;AAAA,MAChB;AAAA,IACD;AAAA,EACD;AAAA,EAEA,IAAI,IAA6B;AAChC,uBAAKA,cAAY,IAAI,CAAC,UAAU,KAAK,UAAU;AAC9C,UACC,UAAU,mBAAKA,iBACd,CAAC,SAAS,aACT,CAAC,mBAAK,aACL,mBAAKD,eAAa,UAAa,CAAC,mBAAKA,WAAS,IAAI,IAAI,IAAI,IAC5D;AACD,eAAO,GAAG,UAAU,KAAK,KAAK;AAAA,MAC/B;AAEA,YAAM,eAAe,KAAK,UAAU,IAAI,IAAI,IAAI;AAChD,UAAI,iBAAiB,QAAW;AAC/B,aAAK,UAAU,IAAI,IAAI,MAAM;AAAA,UAC5B,cAAc,SAAS,aAAa,IAAI,cAAc;AAAA,UACtD,QAAQ,SAAS;AAAA,UACjB,MAAM,CAAC,GAAG,SAAS,IAAI;AAAA,QACxB,CAAC;AAAA,MACF,OAAO;AACN;AAAO,qBAAW,eAAe,SAAS,cAAc;AACvD,uBAAW,YAAY,aAAa,cAAc;AACjD,kBAAI,SAAS,gBAAgB,aAAa;AACzC,yBAAS;AAAA,cACV;AAEA,2BAAa,aAAa,KAAK,eAAe,WAAW,CAAC;AAAA,YAC3D;AAAA,UACD;AAEA,qBAAa,UAAU,SAAS;AAChC,mBAAW,OAAO,SAAS,MAAM;AAChC,cAAI,aAAa,KAAK,SAAS,GAAG,GAAG;AACpC;AAAA,UACD;AAEA,uBAAa,KAAK,KAAK,GAAG;AAAA,QAC3B;AAAA,MACD;AAAA,IACD,CAAC;AACD,SAAK,UAAU;AACf,uBAAKC,cAAc,IAAI,aAAa,sBAA4B;AAAA,EACjE;AAAA,EAEA,OAAO,IAA6B;AACnC,WAAO,MAAM,IAAI,EAAE;AAAA,EACpB;AAAA,EAEA,sBAA6B;AAC5B,WAAO,mBAAKA;AAAA,EACb;AAAA,EAEA,aAAa,MAA2B;AACvC,QAAI,mBAAKD,eAAa,QAAW;AAChC,yBAAKA,WAAW,oBAAI,IAAI;AAAA,IACzB;AAEA,uBAAKA,WAAS,IAAI,KAAK,IAAI;AAAA,EAC5B;AAAA,EAEA,QAAQ,SAAkB,WAA0B;AACnD,uBAAK,UAAW;AAChB,uBAAK,YAAa;AAAA,EACnB;AACD;AAjHC;AACAA,YAAA;AACA;AACAC,eAAA;AAgHD,SAAS,eAAe,aAA6C;AACpE,SAAO;AAAA,IACN;AAAA,IACA,QAAQ,qBAAqB,WAAW;AAAA,IACxC,UAAU;AAAA,EACX;AACD;AAEO,IAAM,gBAAN,cAA4B,aAAa;AAAA,EAC/C,YAAY,QAAe;AAC1B,UAAM,wBAA8B;AAAA,EACrC;AAAA,EAEA,YAAkB;AACjB,SAAK,UAAU;AAAA,EAChB;AACD;AA3YA;AA6YA,IAAe,+BAAf,cAEU,aAAa;AAAA,EAItB,YAAY,MAAqB,QAA2B,QAAe;AAC1E,UAAM,wBAA8B;AAJrC;AAEA;AAGC,uBAAK,OAAQ;AACb,uBAAK,SAAU;AAAA,EAChB;AAAA,EAEA,OAAO,KAAY,QAAsB;AACxC,QAAI,WAAW,KAAK,YAAY;AAC/B,aAAO,KAAK,WAAW,OAAO,GAAG;AAAA,IAClC;AAEA,QAAI,IAAI,SAAS,mBAAK,YAAW,IAAI,SAAS,SAAS,mBAAK,OAAM,MAAM;AACvE,WAAK,KAAK,KAAK,GAAG;AAAA,IACnB,OAAO;AACN,aAAO,KAAK,OAAO,OAAO,KAAK,IAAI;AAAA,IACpC;AAAA,EACD;AAAA,EAEA,IAAI,IAA6B;AAChC,SAAK,WAAW,IAAI,EAAE;AACtB,WAAO;AAAA,MACN;AAAA,QACC,cAAc,CAAC,mBAAK,MAAK;AAAA,QACzB,QAAQ,mBAAK;AAAA,QACb,UAAU;AAAA,QACV,eAAe;AAAA,QACf,MAAM,KAAK;AAAA,MACZ;AAAA,MACA,mBAAK;AAAA,MACL;AAAA,IACD;AAAA,EACD;AAAA,EAEA,sBAAkC;AACjC,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,mBAA+B;AAC9B,WAAO,KAAK;AAAA,EACb;AAGD;AA7CC;AAEA;AA6CM,IAAM,0BAAN,cAAsC,6BAA4C;AAAA,EAGxF,YAAY,MAAqB,QAAe;AAC/C,UAAM,qBAA+B,MAAM;AAH5C,SAAU,aAAa,IAAI,cAAc,IAAI;AAAA,EAI7C;AAAA,EAEA,YAAkB;AACjB,WAAO,KAAK,WAAW,UAAU;AAAA,EAClC;AACD;AAzcA;AA2cO,IAAM,aAAN,cAAyB,aAAa;AAAA,EAG5C,YAAY,eAAsB,QAAe;AAChD,UAAM,qBAA2B;AAHlC;AAIC,uBAAK,gBAAiB;AAAA,EACvB;AAAA,EAEA,mBAA0B;AACzB,WAAO,mBAAK;AAAA,EACb;AACD;AAVC;AAYM,IAAM,uBAAN,cAAmC,6BAA2C;AAAA,EAGpF,YAAY,MAAqB,QAAe;AAC/C,UAAM,oCAAwD,MAAM;AAHrE,SAAU,aAAa,IAAI,aAAa,sBAA4B;AAAA,EAIpE;AACD;AA9dA;AAueO,IAAM,uBAAN,cAAmC,aAAa;AAAA,EAGtD,YAAY,QAAe;AAC1B,UAAM,+BAAqC;AAH5C,+BAAS;AAAA,EAIT;AAAA,EAEA,OAAO,KAAkB;AACxB,QAAI,mBAAK,YAAW,kBAAoC;AACvD,aAAO,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,IAC/B;AAEA,WAAO,KAAK,OAAO,OAAO,KAAK,IAAI;AAAA,EACpC;AAAA,EAEA,YAAY,UAA2C;AACtD,uBAAK,QAAS;AAAA,EACf;AACD;AAjBC;;;ANxeD;AAmCO,IAAM,cAAN,MAAkB;AAAA,EAAlB;AAIN;AA8BA;AAkBA;AAqBA;AAwCA;AA8CA;AA9JA,gCAAU,oBAAI,IAA8B;AAC5C;AAAA;AAAA,EA0KA,SAAS,YAA0D;AAClE,UAAM,mBAAmB,CAAC,UAAqB,QAAuB;AACrE,yBAAK,SAAQ,IAAI,KAAK,QAAQ;AAAA,IAC/B;AAEA,UAAM,WAAW,oBAAAC,QAAG,iBAAiB,UAAU;AAC/C,uBAAK,QAAS,IAAI;AAAA,MACjB,WAAW,qBACV,YACA,CAAC,wBAAwB,UAAU;AAAA,MACpC,CAAC;AAAA,IACF;AACA,UAAM,KAAK,CAAC,SAAwB;AACnC,UAAI,qBAAqB,IAAI,GAAG;AAC/B,eAAO;AAAA,UACN;AAAA,UACA,IAAI,WAAW,mBAAK,QAAO,iBAAiB,GAAG,mBAAK,OAAM;AAAA,UAC1D;AAAA,QACD;AAAA,MACD;AAEA,cAAQ,KAAK,MAAM;AAAA,QAClB,KAAK,oBAAAA,QAAG,WAAW;AAClB,iBAAO;AAAA,YACN;AAAA,YACC,KAA4B,SAAS,SACnC,IAAI;AAAA,cACH,KAA4B;AAAA,cAC7B,mBAAK;AAAA,YACN,IACC,IAAI,aAAa,mBAAK,yBAA8B;AAAA,UACxD;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAClB,gCAAK,0CAAL,WACC,MACA;AAGD,iBAAO;AAAA,YACN;AAAA,YACA,IAAI,aAAa,mBAAK,yBAA8B;AAAA,UACrD;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,gCAAK,0CAAL,WACC,MACA;AAGD,iBAAO;AAAA,YACN;AAAA,YACA,IAAI,aAAa,mBAAK,qBAA0B;AAAA,UACjD;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAClB,gCAAK,0CAAL,WACC,MACA;AAGD,iBAAO;AAAA,YACN;AAAA,YACA,mBAAK,QAAO;AAAA,cACV,KAA4B,KAAK;AAAA,cAClC;AAAA,gBACE,KAAyB;AAAA,gBAC1B,oBAAAA,QAAG,WAAW;AAAA,cACf;AAAA,YACD;AAAA,UACD;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAClB,iBAAO,sBAAK,gCAAL,WACN,MACA;AAAA,QAEF,KAAK,oBAAAA,QAAG,WAAW;AAClB,iBAAO;AAAA,YACN;AAAA,YACA,IAAI,aAAa,mBAAK,qBAA0B;AAAA,UACjD;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,iBAAO,sBAAK,kEAAL,WACN,MACA,IACA;AAAA,QAEF,KAAK,oBAAAA,QAAG,WAAW;AAClB,iBAAO,sBAAK,kDAAL,WACN,MACA,IACA;AAAA,QAGF,KAAK,oBAAAA,QAAG,WAAW;AAClB,gCAAK,0DAAL,WAAgC;AAChC;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAClB,cACC,KAAK,OAAO,SAAS,oBAAAA,QAAG,WAAW,mBACjC,KAAiC,KAAK,SACvC,oBAAAA,QAAG,WAAW,cACd;AAAA,YACE,KAA6B;AAAA,UAC/B,MAAM,oBAAAA,QAAG,WAAW,cACpB;AACD,kCAAK,0CAAL,WACE,KAA6B,MAC9B,OACA;AAAA,UAEF;AAEA;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAClB,6BAAK,QAAO;AAAA,YACX,gBAAiB,KAAuB,IAAI;AAAA,YAC3C,KAAuB;AAAA;AAAA,YAExB;AAAA;AAAA,UAED;AACA;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAAA,QACnB,KAAK,oBAAAA,QAAG,WAAW;AAClB,gCAAK,0CAAL,WACC,MACA;AAGD;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAClB,6BAAK,QAAO;AAAA,YACV,KAAqC,KAAK;AAAA,YAC1C,KAAqC;AAAA,YACtC,KAAK,OAAO,SAAS,oBAAAA,QAAG,WAAW;AAAA,YAGnC;AAAA;AAAA,UAED;AACA;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW;AAClB,cAAK,KAA4B,iBAAiB,QAAW;AAC5D,mBAAO,mBAAK,QAAO;AAAA,cACjB,KAA4B;AAAA,cAC5B,KAA4B;AAAA,YAC9B;AAAA,UACD;AAEA,iBAAO,mBAAK,QAAO,aAAc,KAA4B,IAAI;AAAA,QAClE,KAAK,oBAAAA,QAAG,WAAW;AAClB,cACE,KAA6B,WAAW,SACzC,oBAAAA,QAAG,WAAW,YACb;AACD,mBAAO,mBAAK,QAAO;AAAA,cACjB,KAA6B;AAAA,YAC/B;AAAA,UACD;AAEA;AAAA,QACD,KAAK,oBAAAA,QAAG,WAAW,YAAY;AAC9B,gBAAM,SAAS,eAAe,IAAqB;AACnD,cAAI,WAAW,QAAW;AACzB,+BAAK,QAAO,OAAO,EAAE,QAAQ,UAAU,KAAsB,CAAC;AAAA,UAC/D;AAEA;AAAA,QACD;AAAA,MACD;AAEA,aAAO,oBAAAA,QAAG,aAAa,MAAM,EAAE;AAAA,IAChC;AAEA,UAAM,oBAAoB,CACzB,MACA,OACA,OAA0B,iBACtB;AACJ,YAAM,aAAa,mBAAK;AACxB,yBAAK,QAAS;AACd,WAAK,IAAI;AACT,yBAAK,QAAO,IAAI,gBAAgB;AAChC,yBAAK,QAAS;AAAA,IACf;AAEA,UAAM,mBAAmB,CAAC,SAAkB;AAC3C,UACC,KAAK,SAAS,oBAAAA,QAAG,WAAW,eAC3B,KAAwB,wBAAwB,QAChD;AACD,8BAAK,0CAAL,WACE,KAAwB,oBAAqB,MAC9C,MACA;AAAA,MAEF;AAEA,aAAO,oBAAAA,QAAG,aAAa,MAAM,EAAE;AAAA,IAChC;AAEA,wBAAAA,QAAG,aAAa,YAAY,EAAE;AAC9B,uBAAK,QAAO,IAAI,gBAAgB;AAChC,WAAO,mBAAK;AAEZ,aAAS,aAAa,MAAe;AACpC,aAAO,oBAAAA,QAAG,aAAa,MAAM,EAAE;AAAA,IAChC;AAAA,EACD;AACD;AAxYC;AACA;AAEA;AAAA,uBAAkB,SACjB,MACA,aACA,UACC;AACD,MAAI,KAAK,SAAS,oBAAAA,QAAG,WAAW,YAAY;AAC3C,WAAO,mBAAK,QAAO;AAAA,MAClB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MAGA;AAAA;AAAA,IAED;AAAA,EACD;AAEA,iCAA+B,MAAM,CAAC,gBAAgB;AACrD,uBAAK,QAAO;AAAA,MACX,YAAY,KAAK;AAAA,MACjB,YAAY;AAAA,MACZ;AAAA,MAGA;AAAA;AAAA,IAED;AAAA,EACD,CAAC;AACF;AAEA;AAAA,2BAAsB,SACrB,MACA,IACA,OACC;AACD,QAAM,aAAa,mBAAK;AACxB,QAAM,QAAS,mBAAK,QAAS,IAAI,qBAAqB,UAAU;AAChE,KAAG,KAAK,SAAS;AACjB,QAAM,2BAA6C;AACnD,KAAG,KAAK,WAAW;AACnB,QAAM,4BAA8C;AACpD,KAAG,KAAK,QAAQ;AAChB,QAAM,6BAA+C;AACrD,KAAG,KAAK,SAAS;AACjB,QAAM,IAAI,KAAK;AACf,qBAAK,QAAS;AACf;AAEA;AAAA,uBAAkB,SACjB,MACA,aACA,QACC;AACD,MAAI,KAAK,SAAS,QAAW;AAC5B,uBAAK,QAAO;AAAA,MACV,KAAK,KAAuB;AAAA,MAC7B,KAAK;AAAA,MACL;AAAA,MAGA;AAAA,QACE,KAAyB;AAAA,QAC1B,oBAAAA,QAAG,WAAW;AAAA,MACf;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;AAEA;AAAA,mCAA8B,SAC7B,MACA,IACA,OACC;AACD,MAAI,kBAAkB,IAAI,GAAG;AAC5B,kBAAc,IAAI,GAAG,QAAQ,EAAE;AAAA,EAChC;AAEA,QAAM,aAAa,mBAAK;AACxB,MAAI,KAAK,SAAS,oBAAAA,QAAG,WAAW,qBAAqB;AACpD,0BAAK,0CAAL,WAAwB,MAAM;AAAA,EAC/B;AAEA,QAAM,QAAS,mBAAK,QACnB,KAAK,SAAS,oBAAAA,QAAG,WAAW,sBAAsB,KAAK,SAAS,SAC7D,IAAI,wBAAwB,KAAK,MAAM,UAAU,IACjD,IAAI,cAAc,UAAU;AAChC,MAAI,KAAK,SAAS,QAAW;AAC5B,OAAG,KAAK,IAAI;AAAA,EACb;AAEA,MAAI,KAAK,mBAAmB,QAAW;AACtC,SAAK,eAAe,QAAQ,EAAE;AAAA,EAC/B;AAEA,OAAK,WAAW,QAAQ,EAAE;AAC1B,MAAI,KAAK,SAAS,QAAW;AAC5B,OAAG,KAAK,IAAI;AAAA,EACb;AAEA,MAAI,KAAK,SAAS,QAAW;AAC5B,UAAM,UAAU;AAChB,OAAG,KAAK,IAAI;AAAA,EACb;AAEA,QAAM,IAAI,KAAK;AACf,qBAAK,QAAS;AACf;AAEA;AAAA,kBAAa,SACZ,MACA,MACC;AACD,MAAI,KAAK,QAAQ,oBAAAA,QAAG,UAAU,oBAAoB;AACjD,WAAO;AAAA,MACN;AAAA,MACA,mBAAK,QAAO,4BAA4B,WAAW,OAAO,MAAM,KAAK;AAAA,IACtE;AAAA,EACD;AAEA,MAAI,KAAK,KAAK,SAAS,oBAAAA,QAAG,WAAW,YAAY;AAChD,UAAM,WAAW,oBAAoB,IAA+B;AACpE,uBAAK,QAAO;AAAA,MACX,KAAK,KAAK;AAAA,MACV,KAAK;AAAA;AAAA,MAEL;AAAA;AAAA,IAED;AACA,UAAM,UAAU;AAAA,MACf,KAAK;AAAA,MACL,oBAAAA,QAAG,WAAW;AAAA,IACf;AACA,WAAO;AAAA,MACN;AAAA,MACA,mBAAK,QAAO;AAAA,QACX,KAAK,KAAK;AAAA,QACV;AAAA,QACA;AAAA,QACA,WAAW,4BAA4B,IAAI;AAAA,MAC5C;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA,mBAAK,QAAO;AAAA,MACX,IAAI,KAAK,KAAK,IAAI;AAAA,MAClB;AAAA,MACA;AAAA,MACA,4BAA4B,IAAI;AAAA,IACjC;AAAA,EACD;AACD;AAEA;AAAA,+BAA0B,SAAC,iBAA6C;AACvE,QAAM,cAAc,qCAAqC,eAAe;AACxE,QAAM,WACL,gBAAgB,OAAO,SAAS,oBAAAA,QAAG,WAAW,qBAC9C;AAAA,IACC,gBAAgB,OAAO;AAAA,IACvB,oBAAAA,QAAG,WAAW;AAAA,EACf;AACD,aAAW,eAAe,gBAAgB,cAAc;AACvD,0BAAK,0CAAL,WAAwB,YAAY,MAAM,aAAa;AAAA,EACxD;AACD;AAiOD,SAAS,oBAAoB,MAA+B;AAC3D,SACC,KAAK,OAAO,SAAS,oBAAAA,QAAG,WAAW,qBACnC,iBAAiB,KAAK,WAAW,oBAAAA,QAAG,WAAW,aAAa;AAE9D;AAEA,SAAS,4BAA4B,IAAmC;AACvE,MAAI,GAAG,SAAS,UAAa,GAAG,KAAK,SAAS,oBAAAA,QAAG,WAAW,aAAa;AACxE,WAAO;AAAA,EACR;AAEA,SAAO,wBAAwB,GAAG,IAAI;AACvC;AAEA,SAAS,wBAAwB,OAA8B;AAC9D,aAAW,aAAa,MAAM,YAAY;AACzC,QACC,UAAU,SAAS,oBAAAA,QAAG,WAAW,qBACjC,UAAU,SAAS,oBAAAA,QAAG,WAAW,kBAChC;AACD,aAAO;AAAA,IACR;AAAA,EACD;AAEA,SAAO;AACR;AAEA,SAAS,qCACR,iBACU;AACV,UAAQ,gBAAgB,QAAQ,oBAAAA,QAAG,UAAU,iBAAiB;AAC/D;AAEA,SAAS,+BACR,SACA,IACgB;AAChB,aAAW,WAAW,QAAQ,UAAU;AACvC,QAAI,QAAQ,SAAS,oBAAAA,QAAG,WAAW,gBAAgB;AAClD;AAAA,IACD;AAEA,QAAI;AACJ,QAAI,QAAQ,KAAK,SAAS,oBAAAA,QAAG,WAAW,YAAY;AACnD,eAAS,GAAG,OAAsD;AAAA,IACnE,OAAO;AACN,eAAS,+BAA+B,QAAQ,MAAM,EAAE;AAAA,IACzD;AAEA,QAAI,QAAQ;AACX,aAAO;AAAA,IACR;AAAA,EACD;AACD;;;AO9cO,SAAS,qBACf,YACgC;AAChC,SAAO,IAAI,YAAY,EAAE,SAAS,UAAU;AAC7C;","names":["import_typescript","ts","ts","import_typescript","ts","import_typescript","ts","import_typescript","import_typescript","ts","import_typescript","import_typescript","ts","ts","ts","import_typescript","ts","import_typescript","ts","import_typescript","import_typescript","ts","import_typescript","import_typescript","ts","ts","import_typescript","ts","ts","import_typescript","import_typescript","ts","ts","typeParts","import_typescript","import_typescript","ts","import_typescript","import_typescript","ts","DeclarationDomain","ts","import_typescript","ts","import_typescript","UsageDomain","ts","_name","_exports","_innerScope","ts"]} \ No newline at end of file diff --git a/.pnpm-store/v3/files/72/7ef4e0fd523e8c1134d633769032fe5a79dd40e488beda6bfe6200a98386a21061b3202249ebe1d23f93d91c35f69ec451fb9e150bc652cf73c74cdf4ad791 b/.pnpm-store/v3/files/72/7ef4e0fd523e8c1134d633769032fe5a79dd40e488beda6bfe6200a98386a21061b3202249ebe1d23f93d91c35f69ec451fb9e150bc652cf73c74cdf4ad791 new file mode 100644 index 00000000..4e862c30 --- /dev/null +++ b/.pnpm-store/v3/files/72/7ef4e0fd523e8c1134d633769032fe5a79dd40e488beda6bfe6200a98386a21061b3202249ebe1d23f93d91c35f69ec451fb9e150bc652cf73c74cdf4ad791 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","1028":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB","1028":"0 1 2 3 4 5 6 7 8 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB iC jC kC lC 2B QC mC 3B","1028":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"AD ED FD","132":"7B I BD CD DD RC"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","132":"I","516":"GD HD ID"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"UD","260":"TD"}},B:7,C:"Network Information API",D:true}; diff --git a/.pnpm-store/v3/files/72/90223e77dbbef5ff15036ecc499246a43a0324fec053509296b09d47d876911c7198111dd83e110d12733ca33181f4f43612ea4e18f8638742acbbcb7f7450 b/.pnpm-store/v3/files/72/90223e77dbbef5ff15036ecc499246a43a0324fec053509296b09d47d876911c7198111dd83e110d12733ca33181f4f43612ea4e18f8638742acbbcb7f7450 new file mode 100644 index 00000000..ff14e5c1 --- /dev/null +++ b/.pnpm-store/v3/files/72/90223e77dbbef5ff15036ecc499246a43a0324fec053509296b09d47d876911c7198111dd83e110d12733ca33181f4f43612ea4e18f8638742acbbcb7f7450 @@ -0,0 +1 @@ +module.exports={C:{"38":0.01412,"52":0.09175,"58":0.0247,"60":0.00353,"72":0.00353,"78":0.02823,"85":0.00353,"88":0.00706,"90":0.00353,"91":0.00353,"93":0.00353,"99":0.00353,"100":0.00353,"102":0.00353,"104":0.00353,"105":0.00706,"107":0.01059,"108":0.01765,"109":0.00353,"113":0.03176,"115":0.3776,"116":0.00706,"117":0.04941,"118":0.00353,"119":0.00706,"120":0.06705,"121":0.96342,"122":0.23291,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 59 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 86 87 89 92 94 95 96 97 98 101 103 106 110 111 112 114 123 124 125 3.5","3.6":0.00353},D:{"34":0.00353,"38":0.01059,"41":0.00353,"43":0.00353,"44":0.00353,"45":0.00353,"47":0.00353,"49":0.01059,"51":0.00353,"53":0.00706,"60":0.00353,"62":0.00706,"65":0.00353,"67":0.00353,"68":0.00353,"69":0.00706,"70":0.01765,"72":0.00353,"73":0.00353,"74":0.00353,"75":0.00706,"78":0.00353,"79":0.06352,"80":0.00353,"81":0.01765,"83":0.02117,"84":0.00353,"85":0.00706,"86":0.02117,"87":0.05646,"88":0.01059,"89":0.00706,"90":0.00706,"91":2.85143,"92":0.01059,"93":0.00706,"94":0.01059,"95":0.00353,"96":0.01059,"97":0.01059,"98":0.00706,"99":0.00706,"100":0.00706,"101":0.01059,"102":0.00706,"103":0.04588,"104":0.01059,"105":0.04235,"106":0.01412,"107":0.09881,"108":0.03529,"109":4.00894,"110":0.0847,"111":0.01412,"112":0.02823,"113":0.01765,"114":0.41995,"115":0.01765,"116":0.13057,"117":0.04588,"118":0.07411,"119":0.2682,"120":16.38515,"121":1.12928,"122":0.00353,"123":0.00353,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 42 46 48 50 52 54 55 56 57 58 59 61 63 64 66 71 76 77 124"},F:{"28":0.04941,"46":0.00353,"77":0.00353,"79":0.00353,"80":0.00353,"85":0.00353,"95":0.08117,"102":0.00706,"104":0.00706,"105":1.03753,"106":0.8152,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"13":0.00353,"18":0.00706,"89":0.00353,"92":0.01059,"100":0.00353,"108":0.01059,"109":0.07058,"114":0.00353,"115":0.00353,"116":0.00353,"117":0.00706,"118":0.00353,"119":0.02823,"120":2.06094,"121":0.23644,_:"12 14 15 16 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 110 111 112 113"},E:{"9":0.00353,"14":0.00706,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 17.4","5.1":0.00353,"13.1":0.01059,"14.1":0.03176,"15.4":0.00353,"15.5":0.00706,"15.6":0.03176,"16.0":0.00353,"16.1":0.00706,"16.2":0.00706,"16.3":0.01412,"16.4":0.00353,"16.5":0.02117,"16.6":0.08823,"17.0":0.02823,"17.1":0.07764,"17.2":0.1094,"17.3":0.00706},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0006,"5.0-5.1":0.0009,"6.0-6.1":0.00151,"7.0-7.1":0.00211,"8.1-8.4":0.0003,"9.0-9.2":0.00181,"9.3":0.00693,"10.0-10.2":0.0006,"10.3":0.01085,"11.0-11.2":0.00422,"11.3-11.4":0.00452,"12.0-12.1":0.00271,"12.2-12.5":0.05367,"13.0-13.1":0.0009,"13.2":0.00995,"13.3":0.00271,"13.4-13.7":0.01206,"14.0-14.4":0.02111,"14.5-14.8":0.03226,"15.0-15.1":0.01387,"15.2-15.3":0.01598,"15.4":0.01869,"15.5":0.02472,"15.6-15.8":0.19266,"16.0":0.05789,"16.1":0.12331,"16.2":0.05608,"16.3":0.10432,"16.4":0.02322,"16.5":0.04945,"16.6-16.7":0.40462,"17.0":0.06723,"17.1":0.69315,"17.2":0.93827,"17.3":0.0603},P:{"4":0.22639,"20":0.05145,"21":0.1029,"22":0.16465,"23":2.08895,"5.0-5.4":0.01029,"6.2-6.4":0.01029,"7.2-7.4":0.24697,"8.2":0.01029,"9.2":0.01029,_:"10.1","11.1-11.2":0.03087,"12.0":0.01029,"13.0":0.05145,"14.0":0.01029,"15.0":0.01029,"16.0":0.05145,"17.0":0.07203,"18.0":0.02058,"19.0":0.06174},I:{"0":0.12239,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00009,"4.4":0,"4.4.3-4.4.4":0.00032},A:{"8":0.01412,"9":0.00353,"10":0.00353,"11":0.02823,_:"6 7 5.5"},K:{"0":0.58877,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.21351},H:{"0":0},L:{"0":58.75402},R:{_:"0"},M:{"0":0.13587}}; diff --git a/.pnpm-store/v3/files/72/c2fccc7435ced97d2ef375316437ce07d45907f15278acb86484d44636d1e7911bf508afbfbcbfdbb77b2e25815c612e8f08050a8db92232f33540e6cf97e7 b/.pnpm-store/v3/files/72/c2fccc7435ced97d2ef375316437ce07d45907f15278acb86484d44636d1e7911bf508afbfbcbfdbb77b2e25815c612e8f08050a8db92232f33540e6cf97e7 new file mode 100644 index 00000000..d6e3d699 --- /dev/null +++ b/.pnpm-store/v3/files/72/c2fccc7435ced97d2ef375316437ce07d45907f15278acb86484d44636d1e7911bf508afbfbcbfdbb77b2e25815c612e8f08050a8db92232f33540e6cf97e7 @@ -0,0 +1 @@ +module.exports={C:{"43":0.0045,"50":0.009,"52":0.28806,"53":0.009,"56":0.009,"59":0.0045,"60":0.0045,"68":0.0045,"78":0.0045,"84":0.0045,"85":0.0045,"88":0.0045,"91":0.0045,"96":0.018,"98":0.0045,"99":0.0045,"102":0.0045,"104":0.04501,"105":0.04501,"107":0.0045,"110":0.0135,"111":0.0045,"112":0.0045,"113":0.018,"114":0.0045,"115":0.81918,"116":0.0045,"117":0.0045,"118":0.0045,"119":0.0135,"120":0.04951,"121":1.24228,"122":0.32857,"123":0.0045,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 51 54 55 57 58 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 86 87 89 90 92 93 94 95 97 100 101 103 106 108 109 124 125 3.5 3.6"},D:{"22":0.0045,"26":0.0045,"38":0.0045,"49":0.11703,"51":0.0045,"53":0.009,"55":0.009,"58":0.0045,"64":0.0045,"67":0.0045,"69":0.0045,"70":0.0045,"73":0.0045,"75":0.0045,"76":0.0045,"77":0.0135,"78":0.0135,"79":0.04051,"80":0.0135,"81":0.0045,"83":0.0045,"84":0.0045,"85":0.018,"86":0.0045,"87":0.018,"88":0.0135,"89":0.0045,"90":0.04501,"91":0.0045,"92":0.009,"93":0.10802,"94":0.0045,"95":0.0045,"96":0.0045,"97":0.0135,"98":0.018,"99":0.0135,"100":0.018,"101":0.009,"102":0.08102,"103":0.02701,"104":0.0045,"105":0.19804,"106":0.12153,"107":0.05851,"108":0.11253,"109":3.30824,"110":0.04501,"111":0.09902,"112":0.02251,"113":0.0135,"114":0.06752,"115":0.018,"116":0.09452,"117":0.03151,"118":0.04951,"119":0.40059,"120":15.72199,"121":1.06224,"122":0.0045,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 52 54 56 57 59 60 61 62 63 65 66 68 71 72 74 123 124"},F:{"36":0.04501,"48":0.0045,"50":0.0045,"53":0.009,"56":0.009,"67":0.009,"72":0.0045,"73":0.0045,"75":0.0045,"79":0.04951,"80":0.009,"81":0.0045,"82":0.018,"83":0.018,"84":0.0135,"85":0.15303,"86":0.04501,"87":0.0135,"88":0.0045,"89":0.0045,"90":0.0045,"92":0.0045,"93":0.0045,"94":0.009,"95":1.10725,"96":0.0045,"97":0.0045,"99":0.0045,"100":0.0045,"101":0.009,"102":0.009,"103":0.0045,"104":0.0045,"105":1.71038,"106":3.1687,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 49 51 52 54 55 57 58 60 62 63 64 65 66 68 69 70 71 74 76 77 78 91 98 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.009},B:{"13":0.009,"18":0.009,"92":0.0135,"100":0.0045,"107":0.0045,"108":0.0135,"109":0.04951,"110":0.0045,"114":0.0045,"117":0.0135,"118":0.009,"119":0.06301,"120":1.82291,"121":0.28806,_:"12 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 111 112 113 115 116"},E:{"13":0.0045,"14":0.0135,"15":0.0045,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1 11.1 17.4","5.1":0.0045,"12.1":0.02251,"13.1":0.02251,"14.1":0.02701,"15.1":0.0135,"15.2-15.3":0.0045,"15.4":0.03601,"15.5":0.03151,"15.6":0.28806,"16.0":0.0135,"16.1":0.10352,"16.2":0.06752,"16.3":0.19354,"16.4":0.03601,"16.5":0.21155,"16.6":0.52212,"17.0":0.07202,"17.1":0.67515,"17.2":1.28729,"17.3":0.13503},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00338,"5.0-5.1":0.00507,"6.0-6.1":0.00845,"7.0-7.1":0.01184,"8.1-8.4":0.00169,"9.0-9.2":0.01015,"9.3":0.03889,"10.0-10.2":0.00338,"10.3":0.06087,"11.0-11.2":0.02367,"11.3-11.4":0.02536,"12.0-12.1":0.01522,"12.2-12.5":0.30099,"13.0-13.1":0.00507,"13.2":0.0558,"13.3":0.01522,"13.4-13.7":0.06764,"14.0-14.4":0.11837,"14.5-14.8":0.18093,"15.0-15.1":0.07778,"15.2-15.3":0.08962,"15.4":0.10484,"15.5":0.13866,"15.6-15.8":1.08051,"16.0":0.32466,"16.1":0.6916,"16.2":0.31452,"16.3":0.58507,"16.4":0.1302,"16.5":0.27731,"16.6-16.7":2.26924,"17.0":0.37708,"17.1":3.88748,"17.2":5.26221,"17.3":0.33819},P:{"4":0.05235,"20":0.02094,"21":0.02094,"22":0.04188,"23":0.83761,_:"5.0-5.4 7.2-7.4 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 18.0","6.2-6.4":0.28269,"8.2":0.01047,"13.0":0.01047,"17.0":0.02094,"19.0":0.01047},I:{"0":0.01095,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.01865,"11":0.11188,_:"6 7 9 10 5.5"},K:{"0":1.1018,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.0055},O:{"0":0.12098},H:{"0":0.02},L:{"0":33.7164},R:{_:"0"},M:{"0":0.10448}}; diff --git a/.pnpm-store/v3/files/72/dac00dc298b91b8ef7a0ec87375653ef43be1826303e4919efc40dc4adb08c9387264781c1105d4c3602dd6e13b1f5910d4c526bc2d465f22fb3cb862d0323 b/.pnpm-store/v3/files/72/dac00dc298b91b8ef7a0ec87375653ef43be1826303e4919efc40dc4adb08c9387264781c1105d4c3602dd6e13b1f5910d4c526bc2d465f22fb3cb862d0323 new file mode 100644 index 00000000..fd8920e7 --- /dev/null +++ b/.pnpm-store/v3/files/72/dac00dc298b91b8ef7a0ec87375653ef43be1826303e4919efc40dc4adb08c9387264781c1105d4c3602dd6e13b1f5910d4c526bc2d465f22fb3cb862d0323 @@ -0,0 +1,217 @@ +const { + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_LENGTH, +} = require('./constants') +const debug = require('./debug') +exports = module.exports = {} + +// The actual regexps go on exports.re +const re = exports.re = [] +const safeRe = exports.safeRe = [] +const src = exports.src = [] +const t = exports.t = {} +let R = 0 + +const LETTERDASHNUMBER = '[a-zA-Z0-9-]' + +// Replace some greedy regex tokens to prevent regex dos issues. These regex are +// used internally via the safeRe object since all inputs in this library get +// normalized first to trim and collapse all extra whitespace. The original +// regexes are exported for userland consumption and lower level usage. A +// future breaking change could export the safer regex only with a note that +// all input should have extra whitespace removed. +const safeRegexReplacements = [ + ['\\s', 1], + ['\\d', MAX_LENGTH], + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], +] + +const makeSafeRegex = (value) => { + for (const [token, max] of safeRegexReplacements) { + value = value + .split(`${token}*`).join(`${token}{0,${max}}`) + .split(`${token}+`).join(`${token}{1,${max}}`) + } + return value +} + +const createToken = (name, value, isGlobal) => { + const safe = makeSafeRegex(value) + const index = R++ + debug(name, index, value) + t[name] = index + src[index] = value + re[index] = new RegExp(value, isGlobal ? 'g' : undefined) + safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) +} + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*') +createToken('NUMERICIDENTIFIERLOOSE', '\\d+') + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`) + +// ## Main Version +// Three dot-separated numeric identifiers. + +createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})`) + +createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] +}|${src[t.NONNUMERICIDENTIFIER]})`) + +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] +}|${src[t.NONNUMERICIDENTIFIER]})`) + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER] +}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`) + +createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE] +}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`) + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`) + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER] +}(?:\\.${src[t.BUILDIDENTIFIER]})*))`) + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +createToken('FULLPLAIN', `v?${src[t.MAINVERSION] +}${src[t.PRERELEASE]}?${ + src[t.BUILD]}?`) + +createToken('FULL', `^${src[t.FULLPLAIN]}$`) + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE] +}${src[t.PRERELEASELOOSE]}?${ + src[t.BUILD]}?`) + +createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) + +createToken('GTLT', '((?:<|>)?=?)') + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) +createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) + +createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:${src[t.PRERELEASE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:${src[t.PRERELEASELOOSE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`) +createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`) + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +createToken('COERCEPLAIN', `${'(^|[^\\d])' + + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`) +createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`) +createToken('COERCEFULL', src[t.COERCEPLAIN] + + `(?:${src[t.PRERELEASE]})?` + + `(?:${src[t.BUILD]})?` + + `(?:$|[^\\d])`) +createToken('COERCERTL', src[t.COERCE], true) +createToken('COERCERTLFULL', src[t.COERCEFULL], true) + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +createToken('LONETILDE', '(?:~>?)') + +createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true) +exports.tildeTrimReplace = '$1~' + +createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`) +createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`) + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +createToken('LONECARET', '(?:\\^)') + +createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true) +exports.caretTrimReplace = '$1^' + +createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`) +createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`) + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`) +createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`) + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT] +}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true) +exports.comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAIN]})` + + `\\s*$`) + +createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAINLOOSE]})` + + `\\s*$`) + +// Star ranges basically just allow anything at all. +createToken('STAR', '(<|>)?=?\\s*\\*') +// >=0.0.0 is like a star +createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$') +createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') diff --git a/.pnpm-store/v3/files/72/e504914ac4d982b8d5368daa622b315fbd73544c72d8a3b93f19cfb3b117393d634966bfa1bbf5d45b8ab91ac54a7c04f7aac06affd46fed0cc59293c0b7ee b/.pnpm-store/v3/files/72/e504914ac4d982b8d5368daa622b315fbd73544c72d8a3b93f19cfb3b117393d634966bfa1bbf5d45b8ab91ac54a7c04f7aac06affd46fed0cc59293c0b7ee new file mode 100644 index 00000000..e505ac47 --- /dev/null +++ b/.pnpm-store/v3/files/72/e504914ac4d982b8d5368daa622b315fbd73544c72d8a3b93f19cfb3b117393d634966bfa1bbf5d45b8ab91ac54a7c04f7aac06affd46fed0cc59293c0b7ee @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E SC","4":"F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","4":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB VC WC","194":"NB OB PB QB RB SB TB UB"},D:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","4":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","4":"9 I J D E F XC DC YC ZC aC bC"},F:{"1":"t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","4":"G M N O AB q r s"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","4":"E DC nC RC oC pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H","4":"7B I AD BD CD DD RC ED FD"},J:{"2":"D","4":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"4":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","4":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"Font unicode-range subsetting",D:true}; diff --git a/.pnpm-store/v3/files/73/1b6a3ae9bc4f627bedbb3b6393e9d94634b575e9f2d5a5438612686c7e78ac5722cb07ca934480ffebaf1e770b7bd7cc3c283ba5056747469f1e19333eb2cf b/.pnpm-store/v3/files/73/1b6a3ae9bc4f627bedbb3b6393e9d94634b575e9f2d5a5438612686c7e78ac5722cb07ca934480ffebaf1e770b7bd7cc3c283ba5056747469f1e19333eb2cf new file mode 100644 index 00000000..5acbc9e4 --- /dev/null +++ b/.pnpm-store/v3/files/73/1b6a3ae9bc4f627bedbb3b6393e9d94634b575e9f2d5a5438612686c7e78ac5722cb07ca934480ffebaf1e770b7bd7cc3c283ba5056747469f1e19333eb2cf @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","132":"B"},B:{"1":"C K L G M N O","4":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"TC 7B VC","4":"0 1 2 3 4 5 6 7 8 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","8":"9 I WC"},D:{"2":"9 I J","4":"0 1 2 3 4 5 6 7 8 D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","4":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"DC nC","4":"E RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"AD BD CD","4":"7B I H DD RC ED FD"},J:{"2":"D","4":"A"},K:{"1":"C 3B","2":"A B 2B QC","4":"u"},L:{"4":"H"},M:{"4":"1B"},N:{"1":"B","2":"A"},O:{"4":"4B"},P:{"4":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"4":"FC"},R:{"4":"SD"},S:{"4":"TD UD"}},B:4,C:"DeviceOrientation & DeviceMotion events",D:true}; diff --git a/.pnpm-store/v3/files/73/4a440f7472e8234277646c399378fa341403c7bce4b06028dba77611fad2e92fb68e58b515c77c84fdb94d37baaa2946350f48c7cc32262f572701b44e1ed8 b/.pnpm-store/v3/files/73/4a440f7472e8234277646c399378fa341403c7bce4b06028dba77611fad2e92fb68e58b515c77c84fdb94d37baaa2946350f48c7cc32262f572701b44e1ed8 new file mode 100644 index 00000000..59c69800 --- /dev/null +++ b/.pnpm-store/v3/files/73/4a440f7472e8234277646c399378fa341403c7bce4b06028dba77611fad2e92fb68e58b515c77c84fdb94d37baaa2946350f48c7cc32262f572701b44e1ed8 @@ -0,0 +1,3 @@ +export function phrasing(node?: unknown): node is import("mdast").Break | import("mdast").Delete | import("mdast").Emphasis | import("mdast").FootnoteReference | import("mdast").Image | import("mdast").ImageReference | import("mdast").InlineCode | import("mdast").Link | import("mdast").LinkReference | import("mdast").Strong | import("mdast").Text; +export type Html = import('mdast').Html; +export type PhrasingContent = import('mdast').PhrasingContent; diff --git a/.pnpm-store/v3/files/73/716bad3331e52e1a82de52a03462bf71acb2b9b93b75a4e1b7f1b20d03d0c6b17f77ac887fc479592ba6ef39bad50ddb4428c61f9db22e49cbaadb5ec6f80c b/.pnpm-store/v3/files/73/716bad3331e52e1a82de52a03462bf71acb2b9b93b75a4e1b7f1b20d03d0c6b17f77ac887fc479592ba6ef39bad50ddb4428c61f9db22e49cbaadb5ec6f80c new file mode 100644 index 00000000..cbe4aaae --- /dev/null +++ b/.pnpm-store/v3/files/73/716bad3331e52e1a82de52a03462bf71acb2b9b93b75a4e1b7f1b20d03d0c6b17f77ac887fc479592ba6ef39bad50ddb4428c61f9db22e49cbaadb5ec6f80c @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB VC WC","1028":"c d e f g","3076":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b","8196":"0 1 2 3 4 5 6 7 8 h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"0 1 2 3 4 5 6 7 8 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","132":"bB cB","260":"dB eB","516":"fB gB hB iB jB"},E:{"2":"9 I J D E F A B C K L XC DC YC ZC aC bC EC 2B 3B FC cC","4100":"G dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB iC jC kC lC 2B QC mC 3B","132":"OB PB","260":"QB RB","516":"SB TB UB VB WB"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C","4100":"6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"8196":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","16":"I GD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"3076":"TD UD"}},B:1,C:"createImageBitmap",D:true}; diff --git a/.pnpm-store/v3/files/73/761a3a5166b82ac2e02d35f3010bcbb6007eaed48d3ab5b3008fef0ea2aaf86a334feda34f2ebbd5bf064098687abd91b438564be11cc393f2db998bbc547a b/.pnpm-store/v3/files/73/761a3a5166b82ac2e02d35f3010bcbb6007eaed48d3ab5b3008fef0ea2aaf86a334feda34f2ebbd5bf064098687abd91b438564be11cc393f2db998bbc547a new file mode 100644 index 00000000..b8b959da --- /dev/null +++ b/.pnpm-store/v3/files/73/761a3a5166b82ac2e02d35f3010bcbb6007eaed48d3ab5b3008fef0ea2aaf86a334feda34f2ebbd5bf064098687abd91b438564be11cc393f2db998bbc547a @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z","194":"6 7 8 H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"BC CC","2":"0 1 2 3 4 5 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z","194":"6 7 8 H 1B"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:6,C:"zstd (Zstandard) content-encoding",D:true}; diff --git a/.pnpm-store/v3/files/73/9df951a169215ee648f12a0aa9f5cde174224357a924890f8c89a939d31ee91cab26f3bcb4ef7e352bb817b5ff1415be809aaabdd35de956057990a6f1bad0 b/.pnpm-store/v3/files/73/9df951a169215ee648f12a0aa9f5cde174224357a924890f8c89a939d31ee91cab26f3bcb4ef7e352bb817b5ff1415be809aaabdd35de956057990a6f1bad0 new file mode 100644 index 00000000..1a44cb0c --- /dev/null +++ b/.pnpm-store/v3/files/73/9df951a169215ee648f12a0aa9f5cde174224357a924890f8c89a939d31ee91cab26f3bcb4ef7e352bb817b5ff1415be809aaabdd35de956057990a6f1bad0 @@ -0,0 +1 @@ +module.exports={C:{"7":0.04166,"42":0.0324,"50":0.08332,"52":0.10184,"54":0.10184,"78":0.02315,"81":0.00463,"88":0.00463,"89":0.00463,"90":0.00463,"91":0.01389,"95":0.00463,"102":0.00926,"104":0.00463,"105":0.00463,"106":0.00463,"107":0.00463,"108":0.00463,"109":0.00463,"110":0.00463,"111":0.00463,"113":0.00926,"114":0.00463,"115":0.23608,"116":0.00926,"117":0.01852,"118":0.02777,"119":0.01389,"120":0.04166,"121":0.97672,"122":0.22682,"123":0.00463,_:"2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 51 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 82 83 84 85 86 87 92 93 94 96 97 98 99 100 101 103 112 124 125 3.5 3.6"},D:{"41":0.00463,"47":0.04629,"49":0.00463,"51":0.00463,"55":0.06944,"56":0.00463,"57":0.10184,"60":0.31014,"61":0.00463,"62":0.00463,"63":0.00463,"65":0.00463,"66":0.00926,"71":0.00463,"75":0.01852,"76":0.00463,"77":0.01389,"79":0.03703,"80":0.00463,"81":0.00926,"83":0.00463,"84":0.00463,"85":0.01852,"86":0.01389,"87":0.0324,"88":0.00926,"89":0.00463,"90":0.00463,"91":0.7499,"92":0.01389,"93":0.16664,"94":0.00463,"95":0.00463,"96":0.00926,"97":0.00926,"98":0.00926,"99":0.00463,"100":0.00926,"101":0.00463,"102":0.01389,"103":0.05092,"104":0.01389,"105":0.0324,"106":0.03703,"107":0.06018,"108":0.07406,"109":3.13846,"110":0.03703,"111":0.05092,"112":0.05092,"113":0.01852,"114":0.04629,"115":0.03703,"116":0.12961,"117":0.06481,"118":0.06481,"119":0.36569,"120":23.90416,"121":2.11545,"122":0.01389,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 48 50 52 53 54 58 59 64 67 68 69 70 72 73 74 78 123 124"},F:{"36":0.00463,"77":0.00463,"85":0.00463,"92":0.00463,"93":0.00463,"94":0.00463,"95":0.05092,"100":0.00463,"102":0.00463,"104":0.00926,"105":2.87924,"106":1.68496,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 79 80 81 82 83 84 86 87 88 89 90 91 96 97 98 99 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.04629,"13":0.09258,"14":0.09721,"15":0.08795,"18":0.00463,"92":0.01852,"103":0.00463,"106":0.00463,"107":0.00463,"108":0.00926,"109":0.06018,"110":0.00926,"111":0.00463,"112":0.00463,"113":0.00463,"114":0.00463,"115":0.00463,"116":0.00463,"117":0.00926,"118":0.00926,"119":0.1111,"120":3.80967,"121":0.53234,_:"16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 104 105"},E:{"14":0.00926,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 10.1 11.1 12.1 15.2-15.3 17.4","5.1":0.02315,"9.1":0.00463,"13.1":0.01389,"14.1":0.02315,"15.1":0.00463,"15.4":0.00463,"15.5":0.00926,"15.6":0.05092,"16.0":0.00463,"16.1":0.01389,"16.2":0.01389,"16.3":0.02777,"16.4":0.00926,"16.5":0.01852,"16.6":0.07406,"17.0":0.02777,"17.1":0.10647,"17.2":0.18979,"17.3":0.02315},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00167,"5.0-5.1":0.00251,"6.0-6.1":0.00418,"7.0-7.1":0.00586,"8.1-8.4":0.00084,"9.0-9.2":0.00502,"9.3":0.01925,"10.0-10.2":0.00167,"10.3":0.03013,"11.0-11.2":0.01172,"11.3-11.4":0.01255,"12.0-12.1":0.00753,"12.2-12.5":0.14898,"13.0-13.1":0.00251,"13.2":0.02762,"13.3":0.00753,"13.4-13.7":0.03348,"14.0-14.4":0.05859,"14.5-14.8":0.08955,"15.0-15.1":0.0385,"15.2-15.3":0.04436,"15.4":0.05189,"15.5":0.06863,"15.6-15.8":0.53482,"16.0":0.1607,"16.1":0.34232,"16.2":0.15567,"16.3":0.28959,"16.4":0.06445,"16.5":0.13726,"16.6-16.7":1.1232,"17.0":0.18664,"17.1":1.92417,"17.2":2.60461,"17.3":0.16739},P:{"4":0.06126,"20":0.02042,"21":0.04084,"22":0.07146,"23":1.82745,_:"5.0-5.4 8.2 9.2 10.1 12.0 14.0 15.0","6.2-6.4":0.01021,"7.2-7.4":0.12251,"11.1-11.2":0.01021,"13.0":0.01021,"16.0":0.01021,"17.0":0.04084,"18.0":0.01021,"19.0":0.02042},I:{"0":0.02674,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.00476,"9":0.10004,"11":0.38587,_:"6 7 10 5.5"},K:{"0":0.32769,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.06446},H:{"0":0},L:{"0":43.43043},R:{_:"0"},M:{"0":0.11818}}; diff --git a/.pnpm-store/v3/files/73/e43f30a81b0aa523e9da4a73f1aca432ec9548a822398bfc6ab1c3c0f77f01deb46ee82fa25bf31b889577caad81ac2ceb8f00142809ed0a58a0f23c7da8da b/.pnpm-store/v3/files/73/e43f30a81b0aa523e9da4a73f1aca432ec9548a822398bfc6ab1c3c0f77f01deb46ee82fa25bf31b889577caad81ac2ceb8f00142809ed0a58a0f23c7da8da new file mode 100644 index 00000000..586ff3f3 --- /dev/null +++ b/.pnpm-store/v3/files/73/e43f30a81b0aa523e9da4a73f1aca432ec9548a822398bfc6ab1c3c0f77f01deb46ee82fa25bf31b889577caad81ac2ceb8f00142809ed0a58a0f23c7da8da @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M","257":"N O"},C:{"1":"0 1 2 3 4 5 6 7 8 m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB VC WC","578":"tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l"},D:{"1":"0 1 2 3 4 5 6 7 8 yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","194":"YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB"},E:{"2":"9 I J D E XC DC YC ZC aC","33":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB iC jC kC lC 2B QC mC 3B","194":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB"},G:{"2":"E DC nC RC oC pC qC rC","33":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t MD ND OD PD 5B 6B QD RD","2":"I","194":"GD HD ID JD KD EC LD"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"CSS Backdrop Filter",D:true}; diff --git a/.pnpm-store/v3/files/74/06b8792aa9d7d087213c2a82a49817af3328494f423a4c5db269d34c4bc160044ce1cebaf46af89725935ab7f2446d18154082725a112676909be51dff650f b/.pnpm-store/v3/files/74/06b8792aa9d7d087213c2a82a49817af3328494f423a4c5db269d34c4bc160044ce1cebaf46af89725935ab7f2446d18154082725a112676909be51dff650f new file mode 100644 index 00000000..31c4aa2d --- /dev/null +++ b/.pnpm-store/v3/files/74/06b8792aa9d7d087213c2a82a49817af3328494f423a4c5db269d34c4bc160044ce1cebaf46af89725935ab7f2446d18154082725a112676909be51dff650f @@ -0,0 +1,64 @@ +/** + * Check whether a character code is an ASCII control character. + * + * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL) + * to U+001F (US), or U+007F (DEL). + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function asciiControl(code: Code): boolean; +/** + * Check whether a character code is a markdown line ending. + * + * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN + * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR). + * + * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE + * RETURN (CR) are replaced by these virtual characters depending on whether + * they occurred together. + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function markdownLineEnding(code: Code): boolean; +/** + * Check whether a character code is a markdown line ending (see + * `markdownLineEnding`) or markdown space (see `markdownSpace`). + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function markdownLineEndingOrSpace(code: Code): boolean; +/** + * Check whether a character code is a markdown space. + * + * A **markdown space** is the concrete character U+0020 SPACE (SP) and the + * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT). + * + * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is + * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL + * SPACE (VS) characters, depending on the column at which the tab occurred. + * + * @param {Code} code + * Code. + * @returns {boolean} + * Whether it matches. + */ +export function markdownSpace(code: Code): boolean; +export function asciiAlpha(code: Code): boolean; +export function asciiAlphanumeric(code: Code): boolean; +export function asciiAtext(code: Code): boolean; +export function asciiDigit(code: Code): boolean; +export function asciiHexDigit(code: Code): boolean; +export function asciiPunctuation(code: Code): boolean; +export function unicodePunctuation(code: Code): boolean; +export function unicodeWhitespace(code: Code): boolean; +export type Code = import('micromark-util-types').Code; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.pnpm-store/v3/files/74/1da2b1c6015e024ad5275308bb81e51bc9d32353037c5cb9d007ed6699767391962131dd562f945c3a1965401bc3baaa316c8955d58cccfdb55d1c51451e0a b/.pnpm-store/v3/files/74/1da2b1c6015e024ad5275308bb81e51bc9d32353037c5cb9d007ed6699767391962131dd562f945c3a1965401bc3baaa316c8955d58cccfdb55d1c51451e0a new file mode 100644 index 00000000..e1c17830 --- /dev/null +++ b/.pnpm-store/v3/files/74/1da2b1c6015e024ad5275308bb81e51bc9d32353037c5cb9d007ed6699767391962131dd562f945c3a1965401bc3baaa316c8955d58cccfdb55d1c51451e0a @@ -0,0 +1,186 @@ +"use strict"; +exports.__esModule = true; +exports.getDistance = exports.hasPropertyValueSpace = exports.isInterpolatedProperty = exports.isAtForwardOrAtUse = exports.isBracketOrWhitespace = exports.isMoreThanOneClassOrId = exports.isBlockCommentEnd = exports.isBlockCommentStart = exports.isComment = exports.isCssOneLiner = exports.isCssPseudo = exports.isScssOrCss = exports.isSassSpace = exports.isIgnore = exports.isReset = exports.isVoidHtmlTag = exports.isHtmlTag = exports.isBracketSelector = exports.isPseudo = exports.isKeyframes = exports.isInclude = exports.isAtExtend = exports.isAnd = exports.isProperty = exports.isEmptyOrWhitespace = exports.isAdjacentSelector = exports.isSelectorOperator = exports.isClassOrId = exports.isCssSelector = exports.isStar = exports.isAtImport = exports.isVar = exports.escapeRegExp = void 0; +function escapeRegExp(text) { + return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); +} +exports.escapeRegExp = escapeRegExp; +/** Check whether text is a variable: `/^[\t ]*(\$|--)\S+[\t ]*:.*/ +function isVar(text) { + return /^[\t ]*(\$|--)\S+[\t ]*:.*/.test(text); +} +exports.isVar = isVar; +/** Check whether text @import: `/^[\t ]*@import/` */ +function isAtImport(text) { + return /^[\t ]*@import/.test(text); +} +exports.isAtImport = isAtImport; +/** Check whether text is a \*: `/^[\t ]*?\*\/` */ +function isStar(text) { + return /^[\t ]*?\*/.test(text); +} +exports.isStar = isStar; +/** Check whether text is a css selector: `/^[\t ]*[{}]?[\t ]*[#\.%@=]/` */ +function isCssSelector(text) { + return /^[\t ]*[{}]?[\t ]*[#\.%@=]/.test(text); +} +exports.isCssSelector = isCssSelector; +/**Check whether text is class, id or placeholder: `/^[\t ]*[#\.%]/` */ +function isClassOrId(text) { + return /^[\t ]*[#\.%]/.test(text); +} +exports.isClassOrId = isClassOrId; +/**Check whether text starts with one of [>\~]: `/^[\t ]*[>~]/` */ +function isSelectorOperator(text) { + return /^[\t ]*[>~]/.test(text); +} +exports.isSelectorOperator = isSelectorOperator; +/**`/^[\t ]*\+[\t ]+/` */ +function isAdjacentSelector(text) { + return /^[\t ]*\+[\t ]+/.test(text); +} +exports.isAdjacentSelector = isAdjacentSelector; +/**Check whether text is class, id or placeholder: `/^[\t ]*\r?\n?$/` */ +function isEmptyOrWhitespace(text) { + return /^[\t ]*\r?\n?$/.test(text); +} +exports.isEmptyOrWhitespace = isEmptyOrWhitespace; +/** Check whether text is a property: `^[\t ]*[\w\-]+[\t ]*:` */ +function isProperty(text) { + // if (empty) { + // return !/^[\t ]*[\w\-]+ *: *\S+/.test(text); + // } + return /^[\t ]*[\w\-]+[\t ]*:/.test(text); +} +exports.isProperty = isProperty; +/** Check whether text starts with &: `/^[\t ]*&/` */ +function isAnd(text) { + return /^[\t ]*&/.test(text); +} +exports.isAnd = isAnd; +/** Check whether text is a extend: `/^[\t ]*@extend/` */ +function isAtExtend(text) { + return /^[\t ]*@extend/.test(text); +} +exports.isAtExtend = isAtExtend; +/** Check whether text is include mixin statement */ +function isInclude(text) { + return /^[\t ]*(@include|\+\w)/.test(text); +} +exports.isInclude = isInclude; +/** Check whether text is a @keyframes: `/^[\t ]*@keyframes/` */ +function isKeyframes(text) { + return /^[\t ]*@keyframes/.test(text); +} +exports.isKeyframes = isKeyframes; +/** Check whether text is a Pseudo selector: `/^[\t ]*\\?::?/`. */ +function isPseudo(text) { + return /^[\t ]*\\?::?/.test(text); +} +exports.isPseudo = isPseudo; +/** Check whether text is bracket selector: `/^[\t ]*\[[\w=\-*'' ]*\]/`*/ +function isBracketSelector(text) { + return /^[\t ]*\[[\w=\-*'' ]*\]/.test(text); +} +exports.isBracketSelector = isBracketSelector; +/** Check whether text starts with an html tag. */ +function isHtmlTag(text) { + return /^[\t ]*(a|abbr|address|area|article|aside|audio|b|base|bdi|bdo|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|data|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|picture|input|ins|kbd|keygen|label|legend|li|link|main|map|mark|menu|menuitem|meta|meter|nav|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|small|source|span|strong|style|sub|summary|sup|svg|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|u|ul|var|video|wbr|path|circle|ellipse|line|polygon|polyline|rect|text|slot|h[1-6]?|([a-z]+\-[a-z]+[\t ]*(?!:)))((:|::|,|\.|#|\[)[\^:$#{}()\w\-\[\]='",\.# \t+\/>]*)?[ \t]*[&]?[ \t]*{?$/.test(text); +} +exports.isHtmlTag = isHtmlTag; +/** Check whether text starts with a self closing html tag. */ +function isVoidHtmlTag(text) { + return /^[\t ]*(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr|command|keygen|menuitem|path)((:|::|,|\.|#|\[)[:$#{}()\w\-\[\]='",\.# ]*)?$/.test(text); +} +exports.isVoidHtmlTag = isVoidHtmlTag; +/** Check whether text starts with //R: `/^[\t ]*\/?\/\/ *R *$/` */ +function isReset(text) { + return /^[\t ]*\/?\/\/ *R *$/.test(text); +} +exports.isReset = isReset; +/** Check whether text starts with //I: `/^[\t ]*\/?\/\/ *I *$/` */ +function isIgnore(text) { + return /^[\t ]*\/?\/\/ *I *$/.test(text); +} +exports.isIgnore = isIgnore; +/** Check whether text starts with //S: `/^[\t ]*\/?\/\/ *S *$/` */ +function isSassSpace(text) { + return /^[\t ]*\/?\/\/ *S *$/.test(text); +} +exports.isSassSpace = isSassSpace; +/** Returns true if the string has brackets or semicolons at the end, comments get ignored. */ +function isScssOrCss(text) { + // Check if has brackets at the end and ignore comments. + return /[;\{\}][\t ]*(\/\/.*)?$/.test(text); +} +exports.isScssOrCss = isScssOrCss; +/** `/^[\t ]*[&.#%].*:/` */ +function isCssPseudo(text) { + return /^[\t ]*[&.#%].*:/.test(text); +} +exports.isCssPseudo = isCssPseudo; +/** `/^[\t ]*[&.#%][\w-]*(?!#)[\t ]*\{.*[;\}][\t ]*$/` */ +function isCssOneLiner(text) { + return /^[\t ]*[&.#%][\w-]*(?!#)[\t ]*\{.*[;\}][\t ]*$/.test(text); +} +exports.isCssOneLiner = isCssOneLiner; +/** `/^[\t ]*::?[\w\-]+\(.*\)/` */ +// export function isPseudoWithParenthesis(text: string) { +// return /^[\t ]*::?[\w\-]+\(.*\)/.test(text); +// } +/** `/^[\t ]*(\/\/|\/\*)/` */ +function isComment(text) { + return /^[\t ]*(\/\/|\/\*)/.test(text); +} +exports.isComment = isComment; +/** `/^[\t ]*(\/\*)/` */ +function isBlockCommentStart(text) { + return /^[\t ]*(\/\*)/.test(text); +} +exports.isBlockCommentStart = isBlockCommentStart; +/** `/[\t ]*(\*\/)/` */ +function isBlockCommentEnd(text) { + return /[\t ]*(\*\/)/.test(text); +} +exports.isBlockCommentEnd = isBlockCommentEnd; +/** `/^[\t ]*[\.#%].* ?, *[\.#%].*\/` */ +function isMoreThanOneClassOrId(text) { + return /^[\t ]*[\.#%].* ?, *[\.#%].*/.test(text); +} +exports.isMoreThanOneClassOrId = isMoreThanOneClassOrId; +/** `/^[\t ]*[}{]+[\t }{]*$/` */ +function isBracketOrWhitespace(text) { + return /^[\t ]*[}{]+[\t }{]*$/.test(text); +} +exports.isBracketOrWhitespace = isBracketOrWhitespace; +/** `/[\t ]*@forward|[\t ]*@use/` */ +function isAtForwardOrAtUse(text) { + return /[\t ]*@forward|[\t ]*@use/.test(text); +} +exports.isAtForwardOrAtUse = isAtForwardOrAtUse; +function isInterpolatedProperty(text) { + return /^[\t ]*[\w-]*#\{.*?\}[\w-]*:(?!:)/.test(text); +} +exports.isInterpolatedProperty = isInterpolatedProperty; +function hasPropertyValueSpace(text) { + return /^[\t ]*([\w ]+|[\w ]*#\{.*?\}[\w ]*): [^ ]/.test(text); +} +exports.hasPropertyValueSpace = hasPropertyValueSpace; +/** returns the distance between the beginning and the first char. */ +function getDistance(text, tabSize) { + var count = 0; + for (var i = 0; i < text.length; i++) { + var char = text[i]; + if (char !== ' ' && char !== '\t') { + break; + } + if (char === '\t') { + count += tabSize; + } + else { + count++; + } + } + return count; +} +exports.getDistance = getDistance; diff --git a/.pnpm-store/v3/files/74/3709c24a36059922780f002723414711abf8a2285fa92877439da84ecdb737d5c77e1ed37a8ba38000376b419dd4c7169132b3a18e0c6d2a117df4870514a8 b/.pnpm-store/v3/files/74/3709c24a36059922780f002723414711abf8a2285fa92877439da84ecdb737d5c77e1ed37a8ba38000376b419dd4c7169132b3a18e0c6d2a117df4870514a8 new file mode 100644 index 00000000..d7507a0b --- /dev/null +++ b/.pnpm-store/v3/files/74/3709c24a36059922780f002723414711abf8a2285fa92877439da84ecdb737d5c77e1ed37a8ba38000376b419dd4c7169132b3a18e0c6d2a117df4870514a8 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB iC jC kC lC 2B QC mC 3B"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"Permissions API",D:true}; diff --git a/.pnpm-store/v3/files/74/40072f779137d142bba8929d400f8f066df14fdab6baca9a682b6427ac5babcc663ec2c7d6bf73f90c13de974ae51f021dd17830b7b19f3fbb8d96521e36f1 b/.pnpm-store/v3/files/74/40072f779137d142bba8929d400f8f066df14fdab6baca9a682b6427ac5babcc663ec2c7d6bf73f90c13de974ae51f021dd17830b7b19f3fbb8d96521e36f1 new file mode 100644 index 00000000..94af9b48 --- /dev/null +++ b/.pnpm-store/v3/files/74/40072f779137d142bba8929d400f8f066df14fdab6baca9a682b6427ac5babcc663ec2c7d6bf73f90c13de974ae51f021dd17830b7b19f3fbb8d96521e36f1 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 o p v w x y z H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n"},C:{"1":"H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l VC WC","322":"0 1 2 3 4 5 6 7 8 m n o p v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j","194":"k l m n"},E:{"1":"HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC"},F:{"1":"a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z iC jC kC lC 2B QC mC 3B"},G:{"1":"HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"q r s t","2":"I GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:":has() CSS relational pseudo-class",D:true}; diff --git a/.pnpm-store/v3/files/74/587bae9617cd5ca73bb30fb87a38ca071a15fb6ed5cc25540e6a99c19d8e2d73848e0f92a52a835272f5428dfcbec93867ecc2b97cd64a395486694659f25a b/.pnpm-store/v3/files/74/587bae9617cd5ca73bb30fb87a38ca071a15fb6ed5cc25540e6a99c19d8e2d73848e0f92a52a835272f5428dfcbec93867ecc2b97cd64a395486694659f25a new file mode 100644 index 00000000..c4f0d07b --- /dev/null +++ b/.pnpm-store/v3/files/74/587bae9617cd5ca73bb30fb87a38ca071a15fb6ed5cc25540e6a99c19d8e2d73848e0f92a52a835272f5428dfcbec93867ecc2b97cd64a395486694659f25a @@ -0,0 +1 @@ +module.exports={C:{"48":0.01099,"52":0.0055,"77":0.0055,"78":0.08792,"85":0.01099,"91":0.0055,"102":0.0055,"103":0.0055,"108":0.0055,"111":0.0055,"113":0.01099,"115":0.30223,"116":0.0055,"117":0.0055,"118":0.01099,"119":0.02748,"120":0.05495,"121":2.59914,"122":0.57698,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 79 80 81 82 83 84 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 104 105 106 107 109 110 112 114 123 124 125 3.5 3.6"},D:{"33":0.0055,"38":0.0055,"49":0.0055,"53":0.0055,"67":0.0055,"79":0.03847,"85":0.01099,"87":0.03847,"92":0.0055,"93":0.01649,"95":0.0055,"96":0.02198,"98":0.0055,"99":0.0055,"100":0.0055,"102":0.0055,"103":0.14287,"104":0.0055,"105":0.0055,"107":0.0055,"108":0.0055,"109":0.29673,"110":0.0055,"111":0.01649,"112":0.01099,"113":0.02198,"114":0.03847,"115":0.10441,"116":0.6649,"117":0.18683,"118":0.28574,"119":1.29682,"120":27.04639,"121":2.08261,"122":0.01099,"123":0.0055,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 86 88 89 90 91 94 97 101 106 124"},F:{"46":0.01099,"89":0.0055,"95":0.03847,"102":0.0055,"104":0.02748,"105":1.46167,"106":0.96712,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.0055,"96":0.0055,"102":0.0055,"104":0.0055,"107":0.0055,"108":0.01649,"109":0.01099,"111":0.0055,"112":0.0055,"114":0.01099,"115":0.01649,"116":0.0055,"117":0.0055,"118":0.01099,"119":0.04946,"120":4.77516,"121":0.81326,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 103 105 106 110 113"},E:{"9":0.0055,"13":0.0055,"14":0.07144,"15":0.02198,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.01099,"13.1":0.08243,"14.1":0.32421,"15.1":0.02748,"15.2-15.3":0.02198,"15.4":0.08243,"15.5":0.08243,"15.6":0.90668,"16.0":0.09891,"16.1":0.1154,"16.2":0.58797,"16.3":0.31871,"16.4":0.1099,"16.5":0.41762,"16.6":0.95064,"17.0":0.46708,"17.1":1.63751,"17.2":2.53869,"17.3":0.12089},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00417,"5.0-5.1":0.00626,"6.0-6.1":0.01043,"7.0-7.1":0.0146,"8.1-8.4":0.00209,"9.0-9.2":0.01251,"9.3":0.04796,"10.0-10.2":0.00417,"10.3":0.07507,"11.0-11.2":0.0292,"11.3-11.4":0.03128,"12.0-12.1":0.01877,"12.2-12.5":0.37119,"13.0-13.1":0.00626,"13.2":0.06882,"13.3":0.01877,"13.4-13.7":0.08341,"14.0-14.4":0.14598,"14.5-14.8":0.22313,"15.0-15.1":0.09593,"15.2-15.3":0.11052,"15.4":0.12929,"15.5":0.171,"15.6-15.8":1.33255,"16.0":0.40039,"16.1":0.85291,"16.2":0.38788,"16.3":0.72154,"16.4":0.16057,"16.5":0.342,"16.6-16.7":2.79856,"17.0":0.46504,"17.1":4.79425,"17.2":6.48965,"17.3":0.41707},P:{"4":0.02081,"20":0.0104,"21":0.03121,"22":0.09363,"23":3.52659,"5.0-5.4":0.0104,_:"6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 14.0 15.0 16.0 17.0","12.0":0.0104,"13.0":0.0104,"18.0":0.0104,"19.0":0.0104},I:{"0":0.05382,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00014},A:{"9":0.01099,"11":0.01099,_:"6 7 8 10 5.5"},K:{"0":0.22075,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.01802},H:{"0":0},L:{"0":19.84625},R:{_:"0"},M:{"0":0.43248}}; diff --git a/.pnpm-store/v3/files/74/656dee0790ad841b4710c427cc094d4212afdc4332a161bd59659fb271d826608c95ca016d980a4e10f1bea428ecea7f86be519f401061f3a8581a3f83e8ed b/.pnpm-store/v3/files/74/656dee0790ad841b4710c427cc094d4212afdc4332a161bd59659fb271d826608c95ca016d980a4e10f1bea428ecea7f86be519f401061f3a8581a3f83e8ed new file mode 100644 index 00000000..f3b33368 --- /dev/null +++ b/.pnpm-store/v3/files/74/656dee0790ad841b4710c427cc094d4212afdc4332a161bd59659fb271d826608c95ca016d980a4e10f1bea428ecea7f86be519f401061f3a8581a3f83e8ed @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s","130":"t BB CB DB EB FB GB HB IB"},E:{"1":"E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC ZC","130":"D"},F:{"1":"AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","130":"G M N O"},G:{"1":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC","130":"qC"},H:{"2":"9C"},I:{"1":"H FD","2":"7B I AD BD CD DD RC","130":"ED"},J:{"2":"D","130":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"URL API",D:true}; diff --git a/.pnpm-store/v3/files/74/831021df2791676f2951f658babd9f88d3c337c9cc56a72cde5791ae6422fa4f3f4713c2e73f8b9d38625fba991e4ec3f3fdfff159f9adeece19abfefa8713 b/.pnpm-store/v3/files/74/831021df2791676f2951f658babd9f88d3c337c9cc56a72cde5791ae6422fa4f3f4713c2e73f8b9d38625fba991e4ec3f3fdfff159f9adeece19abfefa8713 new file mode 100644 index 00000000..0123e7f9 --- /dev/null +++ b/.pnpm-store/v3/files/74/831021df2791676f2951f658babd9f88d3c337c9cc56a72cde5791ae6422fa4f3f4713c2e73f8b9d38625fba991e4ec3f3fdfff159f9adeece19abfefa8713 @@ -0,0 +1 @@ +module.exports={C:{"28":0.00451,"78":0.11731,"115":0.53693,"116":0.00902,"121":0.16694,"122":0.01805,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 117 118 119 120 123 124 125 3.5 3.6"},D:{"41":0.00451,"43":0.00451,"52":0.07219,"58":0.00451,"64":0.2256,"70":0.02256,"72":0.00451,"73":0.01805,"75":0.00451,"79":0.13536,"81":0.00451,"83":0.00902,"87":0.02707,"88":0.02256,"89":3.26218,"90":0.01805,"93":0.05414,"94":0.06768,"95":0.00902,"99":0.00902,"102":0.00451,"105":0.01805,"106":0.02707,"109":2.46806,"111":0.00902,"112":0.00451,"113":0.00451,"115":0.00902,"116":0.02256,"117":0.04963,"118":0.11731,"119":0.38803,"120":14.48803,"121":0.90691,"122":0.00451,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 44 45 46 47 48 49 50 51 53 54 55 56 57 59 60 61 62 63 65 66 67 68 69 71 74 76 77 78 80 84 85 86 91 92 96 97 98 100 101 103 104 107 108 110 114 123 124"},F:{"82":0.00902,"83":0.06768,"95":0.06317,"104":0.04512,"105":0.03158,"106":0.64522,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00451,"18":0.01805,"84":0.00451,"107":0.01805,"109":0.07219,"117":0.01805,"119":0.04061,"120":12.80957,"121":0.50534,_:"12 13 14 15 16 79 80 81 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 110 111 112 113 114 115 116 118"},E:{"14":0.00451,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 10.1 11.1 12.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.2 16.4 17.3 17.4","9.1":0.00451,"13.1":0.00451,"15.6":0.02707,"16.1":0.00902,"16.3":0.00451,"16.5":0.06768,"16.6":0.03158,"17.0":0.20755,"17.1":0.02256,"17.2":0.1128},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00081,"5.0-5.1":0.00122,"6.0-6.1":0.00203,"7.0-7.1":0.00284,"8.1-8.4":0.00041,"9.0-9.2":0.00244,"9.3":0.00934,"10.0-10.2":0.00081,"10.3":0.01462,"11.0-11.2":0.00569,"11.3-11.4":0.00609,"12.0-12.1":0.00366,"12.2-12.5":0.0723,"13.0-13.1":0.00122,"13.2":0.0134,"13.3":0.00366,"13.4-13.7":0.01625,"14.0-14.4":0.02843,"14.5-14.8":0.04346,"15.0-15.1":0.01868,"15.2-15.3":0.02153,"15.4":0.02518,"15.5":0.03331,"15.6-15.8":0.25955,"16.0":0.07799,"16.1":0.16613,"16.2":0.07555,"16.3":0.14054,"16.4":0.03128,"16.5":0.06661,"16.6-16.7":0.5451,"17.0":0.09058,"17.1":0.93382,"17.2":1.26405,"17.3":0.08124},P:{"4":0.10376,"20":0.01038,"21":0.08301,"22":0.02075,"23":0.93384,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 13.0 15.0 17.0 18.0","7.2-7.4":0.20752,"11.1-11.2":0.01038,"14.0":0.11414,"16.0":0.01038,"19.0":0.11414},I:{"0":0.06558,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00017},A:{"11":0.01805,_:"6 7 8 9 10 5.5"},K:{"0":0.31934,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":2.33831},H:{"0":0.01},L:{"0":53.15261},R:{_:"0"},M:{_:"0"}}; diff --git a/.pnpm-store/v3/files/74/edfb49890a592f0a0154e4fadaa42d0da84a18fa298a7c08ee68ca30401ca9c5372f742bbdd6375eaa29b679bd0cf3912a1a98ce6acd2ce203bfe0207067b4 b/.pnpm-store/v3/files/74/edfb49890a592f0a0154e4fadaa42d0da84a18fa298a7c08ee68ca30401ca9c5372f742bbdd6375eaa29b679bd0cf3912a1a98ce6acd2ce203bfe0207067b4 new file mode 100644 index 00000000..64ae6705 --- /dev/null +++ b/.pnpm-store/v3/files/74/edfb49890a592f0a0154e4fadaa42d0da84a18fa298a7c08ee68ca30401ca9c5372f742bbdd6375eaa29b679bd0cf3912a1a98ce6acd2ce203bfe0207067b4 @@ -0,0 +1 @@ +module.exports={C:{"48":0.00529,"52":0.01588,"56":0.00529,"59":0.01058,"78":0.01588,"88":0.00529,"91":0.00529,"102":0.00529,"108":0.00529,"110":0.00529,"113":0.01058,"115":0.28048,"116":0.00529,"117":0.00529,"118":0.01058,"119":0.01058,"120":0.05292,"121":1.41296,"122":0.32281,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 109 111 112 114 123 124 125 3.5 3.6"},D:{"38":0.00529,"49":0.01058,"52":0.00529,"63":0.00529,"64":0.00529,"66":0.04763,"74":0.00529,"75":0.00529,"76":0.00529,"77":0.02646,"79":0.02646,"80":0.00529,"81":0.00529,"85":0.01058,"86":0.01058,"87":0.03704,"88":0.03175,"89":0.04234,"90":0.00529,"91":0.00529,"92":0.00529,"93":0.1323,"94":0.01058,"95":0.00529,"96":0.00529,"97":0.00529,"98":0.01058,"99":0.01058,"100":0.02117,"101":0.01588,"102":0.01058,"103":0.27518,"104":0.01588,"105":0.01588,"106":0.02117,"107":0.01588,"108":0.03704,"109":1.04252,"110":0.02646,"111":0.02117,"112":0.05821,"113":0.02117,"114":0.07409,"115":0.0635,"116":0.42336,"117":0.22756,"118":0.5292,"119":4.37119,"120":26.27478,"121":1.44472,"122":0.00529,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 53 54 55 56 57 58 59 60 61 62 65 67 68 69 70 71 72 73 78 83 84 123 124"},F:{"46":0.00529,"83":0.00529,"89":0.00529,"95":0.02117,"102":0.01058,"104":0.01058,"105":0.71442,"106":0.47099,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00529,"92":0.01588,"103":0.00529,"104":0.00529,"107":0.00529,"108":0.00529,"109":0.09526,"110":0.01058,"112":0.17464,"113":0.01588,"114":0.01058,"115":0.00529,"116":0.02117,"117":0.01588,"118":0.02646,"119":0.24872,"120":7.05424,"121":0.86789,_:"12 13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 105 106 111"},E:{"13":0.01058,"14":0.0635,"15":0.01058,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1 17.4","5.1":0.00529,"11.1":0.01058,"12.1":0.01588,"13.1":0.0688,"14.1":0.16934,"15.1":0.02646,"15.2-15.3":0.02646,"15.4":0.04763,"15.5":0.0688,"15.6":0.43924,"16.0":0.03704,"16.1":0.09526,"16.2":0.08996,"16.3":0.20639,"16.4":0.07938,"16.5":0.13759,"16.6":0.78322,"17.0":0.10584,"17.1":0.76205,"17.2":1.27008,"17.3":0.08996},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0048,"5.0-5.1":0.0072,"6.0-6.1":0.01201,"7.0-7.1":0.01681,"8.1-8.4":0.0024,"9.0-9.2":0.01441,"9.3":0.05522,"10.0-10.2":0.0048,"10.3":0.08644,"11.0-11.2":0.03362,"11.3-11.4":0.03602,"12.0-12.1":0.02161,"12.2-12.5":0.42739,"13.0-13.1":0.0072,"13.2":0.07924,"13.3":0.02161,"13.4-13.7":0.09604,"14.0-14.4":0.16808,"14.5-14.8":0.25692,"15.0-15.1":0.11045,"15.2-15.3":0.12726,"15.4":0.14887,"15.5":0.19689,"15.6-15.8":1.53429,"16.0":0.46101,"16.1":0.98204,"16.2":0.4466,"16.3":0.83077,"16.4":0.18488,"16.5":0.39378,"16.6-16.7":3.22225,"17.0":0.53544,"17.1":5.52008,"17.2":7.47216,"17.3":0.48022},P:{"4":0.07373,"20":0.02107,"21":0.0632,"22":0.08426,"23":3.19147,"5.0-5.4":0.01053,_:"6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0","13.0":0.01053,"16.0":0.01053,"17.0":0.01053,"18.0":0.01053,"19.0":0.02107},I:{"0":0.08906,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00023},A:{"11":0.03175,_:"6 7 8 9 10 5.5"},K:{"0":0.15066,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.01883},H:{"0":0},L:{"0":19.19883},R:{_:"0"},M:{"0":0.2919}}; diff --git a/.pnpm-store/v3/files/75/5b8a731abd87ba701d4b168d8b14a9c69737aff5d962c6a4727ec1a68d640157da12aa9c04e2bd903ce561feb633adc98f469c4124dbb3a46d20c5c70acfb4 b/.pnpm-store/v3/files/75/5b8a731abd87ba701d4b168d8b14a9c69737aff5d962c6a4727ec1a68d640157da12aa9c04e2bd903ce561feb633adc98f469c4124dbb3a46d20c5c70acfb4 new file mode 100644 index 00000000..7aef3a22 --- /dev/null +++ b/.pnpm-store/v3/files/75/5b8a731abd87ba701d4b168d8b14a9c69737aff5d962c6a4727ec1a68d640157da12aa9c04e2bd903ce561feb633adc98f469c4124dbb3a46d20c5c70acfb4 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","132":"B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB VC WC","66":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},D:{"1":"0 1 2 3 4 5 6 7 8 IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M","33":"t BB CB DB EB FB GB HB","66":"N O AB q r s"},E:{"1":"E F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D XC DC YC ZC aC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC","260":"0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H FD","2":"7B I AD BD CD DD RC ED"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","2":"A"},O:{"1":"4B"},P:{"1":"q r s t KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"Media Source Extensions",D:true}; diff --git a/.pnpm-store/v3/files/75/5df0c1b8b96eece2ab8b16bda7364458d16c815f4b0bb99c57f6f9a1e64045be2c6606402aa6f7c600230edb553f2cc76673857b7ec0ff563b7f98b4e67727 b/.pnpm-store/v3/files/75/5df0c1b8b96eece2ab8b16bda7364458d16c815f4b0bb99c57f6f9a1e64045be2c6606402aa6f7c600230edb553f2cc76673857b7ec0ff563b7f98b4e67727 new file mode 100644 index 00000000..5a2b16a2 --- /dev/null +++ b/.pnpm-store/v3/files/75/5df0c1b8b96eece2ab8b16bda7364458d16c815f4b0bb99c57f6f9a1e64045be2c6606402aa6f7c600230edb553f2cc76673857b7ec0ff563b7f98b4e67727 @@ -0,0 +1 @@ +module.exports={C:{"30":0.00252,"42":0.00504,"43":0.00252,"45":0.00252,"47":0.00252,"50":0.00252,"54":0.00252,"56":0.00252,"57":0.00252,"61":0.00252,"72":0.00504,"78":0.00252,"83":0.00252,"84":0.00252,"85":0.00504,"101":0.00252,"102":0.00252,"104":0.00252,"105":0.00252,"106":0.00252,"107":0.00252,"108":0.00252,"109":0.00504,"110":0.00504,"111":0.00252,"112":0.00252,"113":0.00252,"114":0.01009,"115":0.27238,"116":0.01009,"117":0.01513,"118":0.02018,"119":0.01009,"120":0.03783,"121":1.57121,"122":0.41613,"123":0.01513,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 44 46 48 49 51 52 53 55 58 59 60 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 103 124 125 3.5 3.6"},D:{"31":0.00252,"37":0.00252,"38":0.01009,"39":0.00252,"41":0.00252,"43":0.00252,"44":0.00252,"45":0.00252,"46":0.00252,"47":0.00252,"48":0.00252,"49":0.00252,"51":0.00504,"53":0.01009,"55":0.00252,"61":0.00252,"62":0.00252,"63":0.00252,"65":0.00252,"67":0.00252,"68":0.00252,"69":0.00252,"70":0.00252,"71":0.00757,"72":0.00252,"74":0.00757,"75":0.00252,"76":0.00252,"78":0.00252,"79":0.02774,"80":0.01009,"81":0.00252,"83":0.00504,"84":0.00252,"85":0.00252,"86":0.00252,"87":0.02018,"88":0.00504,"89":0.0227,"90":0.00504,"91":0.01009,"92":0.00757,"93":0.00252,"94":0.00252,"95":0.00504,"96":0.00504,"97":0.00504,"98":0.00504,"99":0.03783,"100":0.01261,"101":0.00757,"102":0.00757,"103":0.03279,"104":0.01009,"105":0.00757,"106":0.01261,"107":0.01513,"108":0.01009,"109":0.62798,"110":0.00504,"111":0.01009,"112":0.03026,"113":0.02018,"114":0.03026,"115":0.02774,"116":0.72129,"117":0.04792,"118":0.03783,"119":0.15636,"120":11.56337,"121":0.82722,"122":0.00252,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 40 42 50 52 54 56 57 58 59 60 64 66 73 77 123 124"},F:{"42":0.00252,"46":0.00252,"79":0.00252,"90":0.00252,"95":0.00504,"101":0.00504,"102":0.00757,"103":0.00504,"104":0.00252,"105":0.15636,"106":0.26985,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 91 92 93 94 96 97 98 99 100 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00252,"14":0.00252,"15":0.00252,"16":0.00252,"17":0.00252,"18":0.02522,"89":0.00252,"90":0.00252,"92":0.03026,"100":0.00504,"108":0.00252,"109":0.00757,"112":0.00252,"113":0.00504,"114":0.01009,"115":0.00757,"116":0.00757,"117":0.01009,"118":0.00757,"119":0.0227,"120":2.00751,"121":0.27994,_:"13 79 80 81 83 84 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 110 111"},E:{"9":0.00757,"13":0.01009,"14":0.01765,"15":0.00252,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 11.1 15.2-15.3 17.4","10.1":0.00504,"12.1":0.00504,"13.1":0.01261,"14.1":0.03279,"15.1":0.02522,"15.4":0.00504,"15.5":0.01009,"15.6":0.09584,"16.0":0.01765,"16.1":0.04035,"16.2":0.01513,"16.3":0.07062,"16.4":0.01765,"16.5":0.03026,"16.6":0.13367,"17.0":0.04792,"17.1":0.21689,"17.2":0.29507,"17.3":0.03026},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00138,"5.0-5.1":0.00207,"6.0-6.1":0.00345,"7.0-7.1":0.00483,"8.1-8.4":0.00069,"9.0-9.2":0.00414,"9.3":0.01588,"10.0-10.2":0.00138,"10.3":0.02485,"11.0-11.2":0.00966,"11.3-11.4":0.01035,"12.0-12.1":0.00621,"12.2-12.5":0.12286,"13.0-13.1":0.00207,"13.2":0.02278,"13.3":0.00621,"13.4-13.7":0.02761,"14.0-14.4":0.04832,"14.5-14.8":0.07385,"15.0-15.1":0.03175,"15.2-15.3":0.03658,"15.4":0.04279,"15.5":0.0566,"15.6-15.8":0.44105,"16.0":0.13252,"16.1":0.2823,"16.2":0.12838,"16.3":0.23882,"16.4":0.05315,"16.5":0.1132,"16.6-16.7":0.92627,"17.0":0.15392,"17.1":1.58681,"17.2":2.14796,"17.3":0.13804},P:{"4":0.0835,"20":0.02087,"21":0.05218,"22":0.07306,"23":1.06457,_:"5.0-5.4 8.2 10.1 15.0","6.2-6.4":0.01044,"7.2-7.4":0.02087,"9.2":0.02087,"11.1-11.2":0.01044,"12.0":0.01044,"13.0":0.01044,"14.0":0.01044,"16.0":0.01044,"17.0":0.02087,"18.0":0.01044,"19.0":0.02087},I:{"0":0.34992,"3":0,"4":0.00007,"2.1":0,"2.2":0.00004,"2.3":0,"4.1":0.00007,"4.2-4.3":0.00025,"4.4":0,"4.4.3-4.4.4":0.00091},A:{"7":0.00432,"8":0.03026,"9":0.00865,"10":0.00432,"11":0.04323,_:"6 5.5"},K:{"0":0.46364,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.05235},O:{"0":1.59281},H:{"0":0},L:{"0":67.19471},R:{_:"0"},M:{"0":0.14208}}; diff --git a/.pnpm-store/v3/files/76/65977217e2277b6bcadc4b00ebaedd7e4ba45298db9d418a14bc62a6cbb61b32b81807110e244a7101b2282df6ddcdb997d119dc394a3e782f45cdf252b968 b/.pnpm-store/v3/files/76/65977217e2277b6bcadc4b00ebaedd7e4ba45298db9d418a14bc62a6cbb61b32b81807110e244a7101b2282df6ddcdb997d119dc394a3e782f45cdf252b968 new file mode 100644 index 00000000..99729a98 --- /dev/null +++ b/.pnpm-store/v3/files/76/65977217e2277b6bcadc4b00ebaedd7e4ba45298db9d418a14bc62a6cbb61b32b81807110e244a7101b2282df6ddcdb997d119dc394a3e782f45cdf252b968 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K","322":"L","8196":"G M N O"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB VC WC","4162":"gB hB iB jB 8B kB 9B lB mB nB oB","16452":"0 1 2 3 4 5 6 7 8 pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"0 1 2 3 4 5 6 7 8 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB","194":"eB fB gB hB iB jB","1090":"8B kB","8196":"9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB"},E:{"1":"K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC","514":"A B EC","8196":"C 2B"},F:{"1":"pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB iC jC kC lC 2B QC mC 3B","194":"RB SB TB UB VB WB XB YB","8196":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},G:{"1":"zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC","514":"uC vC wC","8196":"xC yC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"2049":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"q r s t MD ND OD PD 5B 6B QD RD","2":"I","8196":"GD HD ID JD KD EC LD"},Q:{"8196":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:2,C:"Payment Request API",D:true}; diff --git a/.pnpm-store/v3/files/76/7cac3571f1fe28ffbe05132b9485898a346c09dd40aec965823d17fc4c562282de1c6e0474cc7abd0b4098654ed03db8063d72b909268ca3b8c66a03d2bff9 b/.pnpm-store/v3/files/76/7cac3571f1fe28ffbe05132b9485898a346c09dd40aec965823d17fc4c562282de1c6e0474cc7abd0b4098654ed03db8063d72b909268ca3b8c66a03d2bff9 new file mode 100644 index 00000000..9e281dbc --- /dev/null +++ b/.pnpm-store/v3/files/76/7cac3571f1fe28ffbe05132b9485898a346c09dd40aec965823d17fc4c562282de1c6e0474cc7abd0b4098654ed03db8063d72b909268ca3b8c66a03d2bff9 @@ -0,0 +1 @@ +module.exports={C:{"52":0.00425,"56":0.00425,"67":0.03402,"68":0.03828,"72":0.02977,"75":0.16587,"78":0.03402,"82":0.01701,"91":0.16587,"92":0.00425,"94":0.00851,"99":0.00425,"102":0.05104,"103":0.00425,"104":0.00851,"109":0.21265,"111":0.02552,"112":0.00425,"113":0.00425,"114":0.00425,"115":0.62944,"116":0.02552,"117":0.00425,"118":0.00851,"119":0.03402,"120":0.17012,"121":2.35191,"122":0.82934,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 69 70 71 73 74 76 77 79 80 81 83 84 85 86 87 88 89 90 93 95 96 97 98 100 101 105 106 107 108 110 123 124 125 3.5 3.6"},D:{"38":0.00425,"49":0.0723,"51":0.00851,"53":0.02127,"61":0.00425,"67":0.02127,"70":0.00425,"71":0.04253,"76":0.03828,"79":0.20414,"80":0.00425,"81":0.17012,"84":0.00425,"85":0.37852,"86":0.01276,"87":0.46358,"92":0.15736,"93":0.01276,"94":0.00425,"99":0.00425,"101":0.00851,"103":0.08081,"104":0.00425,"105":0.00425,"106":0.00425,"107":0.01701,"108":0.00425,"109":0.54013,"110":0.00425,"111":0.01276,"112":0.01276,"113":0.02127,"114":0.01276,"115":0.02977,"116":0.37001,"117":0.03828,"118":0.09782,"119":0.4253,"120":14.12421,"121":1.15682,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 52 54 55 56 57 58 59 60 62 63 64 65 66 68 69 72 73 74 75 77 78 83 88 89 90 91 95 96 97 98 100 102 122 123 124"},F:{"28":0.00425,"40":0.00425,"65":0.04678,"92":0.00425,"95":0.00425,"102":0.00425,"104":0.01701,"105":0.55714,"106":0.50611,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.03828,"86":0.00425,"90":0.00851,"97":0.00851,"99":0.00425,"104":0.00425,"106":0.02127,"108":0.00425,"109":0.00851,"110":0.00851,"111":0.00851,"112":0.00425,"113":0.00425,"114":0.00425,"115":0.00425,"116":0.00425,"117":0.00425,"118":0.00851,"119":0.02552,"120":4.68255,"121":0.6422,_:"12 13 14 15 16 17 79 80 81 83 84 85 87 88 89 91 92 93 94 95 96 98 100 101 102 103 105 107"},E:{"13":0.00425,"14":0.10207,"15":0.01276,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.03402,"13.1":0.14035,"14.1":0.11483,"15.1":0.03828,"15.2-15.3":0.09357,"15.4":0.03402,"15.5":0.17863,"15.6":0.64646,"16.0":0.05529,"16.1":0.25943,"16.2":0.11483,"16.3":0.2892,"16.4":0.16161,"16.5":0.33173,"16.6":1.99891,"17.0":0.31472,"17.1":2.05845,"17.2":2.31363,"17.3":0.12759},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00439,"5.0-5.1":0.00658,"6.0-6.1":0.01097,"7.0-7.1":0.01536,"8.1-8.4":0.00219,"9.0-9.2":0.01317,"9.3":0.05047,"10.0-10.2":0.00439,"10.3":0.07899,"11.0-11.2":0.03072,"11.3-11.4":0.03291,"12.0-12.1":0.01975,"12.2-12.5":0.39057,"13.0-13.1":0.00658,"13.2":0.07241,"13.3":0.01975,"13.4-13.7":0.08777,"14.0-14.4":0.15359,"14.5-14.8":0.23478,"15.0-15.1":0.10093,"15.2-15.3":0.11629,"15.4":0.13604,"15.5":0.17992,"15.6-15.8":1.4021,"16.0":0.42129,"16.1":0.89743,"16.2":0.40812,"16.3":0.75919,"16.4":0.16895,"16.5":0.35985,"16.6-16.7":2.94462,"17.0":0.48931,"17.1":5.04448,"17.2":6.82836,"17.3":0.43884},P:{"4":0.02143,"20":0.03215,"21":0.08573,"22":0.2572,"23":3.44001,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 14.0","7.2-7.4":0.03215,"11.1-11.2":0.02143,"13.0":0.01072,"15.0":0.01072,"16.0":0.03215,"17.0":0.04287,"18.0":0.01072,"19.0":0.04287},I:{"0":0.01717,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"11":0.13184,_:"6 7 8 9 10 5.5"},K:{"0":0.43827,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.01724},H:{"0":0.01},L:{"0":32.9309},R:{_:"0"},M:{"0":0.36206}}; diff --git a/.pnpm-store/v3/files/76/88bc58ec30adb2c039b43b8518678c1159ca25a6d9e759facf3d3be93fe64483257ede9120449c614ed1491521b89414a421d11b07dae093ed6beb5b49b5c5 b/.pnpm-store/v3/files/76/88bc58ec30adb2c039b43b8518678c1159ca25a6d9e759facf3d3be93fe64483257ede9120449c614ed1491521b89414a421d11b07dae093ed6beb5b49b5c5 new file mode 100644 index 00000000..9393621c --- /dev/null +++ b/.pnpm-store/v3/files/76/88bc58ec30adb2c039b43b8518678c1159ca25a6d9e759facf3d3be93fe64483257ede9120449c614ed1491521b89414a421d11b07dae093ed6beb5b49b5c5 @@ -0,0 +1,323 @@ +/* + @license + Rollup.js v4.11.0 + Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99 + + https://github.com/rollup/rollup + + Released under the MIT License. +*/ +'use strict'; + +Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); + +const node_path = require('node:path'); +const process = require('node:process'); +const rollup = require('./rollup.js'); +const node_os = require('node:os'); +const index = require('./index.js'); +require('./parseAst.js'); +require('../native.js'); +require('tty'); +require('path'); +require('node:perf_hooks'); +require('node:fs/promises'); +require('fs'); +require('util'); +require('stream'); +require('os'); +require('./fsevents-importer.js'); +require('events'); + +class FileWatcher { + constructor(task, chokidarOptions) { + this.transformWatchers = new Map(); + this.chokidarOptions = chokidarOptions; + this.task = task; + this.watcher = this.createWatcher(null); + } + close() { + this.watcher.close(); + for (const watcher of this.transformWatchers.values()) { + watcher.close(); + } + } + unwatch(id) { + this.watcher.unwatch(id); + const transformWatcher = this.transformWatchers.get(id); + if (transformWatcher) { + this.transformWatchers.delete(id); + transformWatcher.close(); + } + } + watch(id, isTransformDependency) { + if (isTransformDependency) { + const watcher = this.transformWatchers.get(id) ?? this.createWatcher(id); + watcher.add(id); + this.transformWatchers.set(id, watcher); + } + else { + this.watcher.add(id); + } + } + createWatcher(transformWatcherId) { + const task = this.task; + const isLinux = node_os.platform() === 'linux'; + const isTransformDependency = transformWatcherId !== null; + const handleChange = (id, event) => { + const changedId = transformWatcherId || id; + if (isLinux) { + // unwatching and watching fixes an issue with chokidar where on certain systems, + // a file that was unlinked and immediately recreated would create a change event + // but then no longer any further events + watcher.unwatch(changedId); + watcher.add(changedId); + } + task.invalidate(changedId, { event, isTransformDependency }); + }; + const watcher = index.chokidar + .watch([], this.chokidarOptions) + .on('add', id => handleChange(id, 'create')) + .on('change', id => handleChange(id, 'update')) + .on('unlink', id => handleChange(id, 'delete')); + return watcher; + } +} + +const eventsRewrites = { + create: { + create: 'buggy', + delete: null, //delete file from map + update: 'create' + }, + delete: { + create: 'update', + delete: 'buggy', + update: 'buggy' + }, + update: { + create: 'buggy', + delete: 'delete', + update: 'update' + } +}; +class Watcher { + constructor(optionsList, emitter) { + this.buildDelay = 0; + this.buildTimeout = null; + this.closed = false; + this.invalidatedIds = new Map(); + this.rerun = false; + this.running = true; + this.emitter = emitter; + emitter.close = this.close.bind(this); + this.tasks = optionsList.map(options => new Task(this, options)); + for (const { watch } of optionsList) { + if (watch && typeof watch.buildDelay === 'number') { + this.buildDelay = Math.max(this.buildDelay, watch.buildDelay); + } + } + process.nextTick(() => this.run()); + } + async close() { + if (this.closed) + return; + this.closed = true; + if (this.buildTimeout) + clearTimeout(this.buildTimeout); + for (const task of this.tasks) { + task.close(); + } + await this.emitter.emit('close'); + this.emitter.removeAllListeners(); + } + invalidate(file) { + if (file) { + const previousEvent = this.invalidatedIds.get(file.id); + const event = previousEvent ? eventsRewrites[previousEvent][file.event] : file.event; + if (event === 'buggy') { + //TODO: throws or warn? Currently just ignore, uses new event + this.invalidatedIds.set(file.id, file.event); + } + else if (event === null) { + this.invalidatedIds.delete(file.id); + } + else { + this.invalidatedIds.set(file.id, event); + } + } + if (this.running) { + this.rerun = true; + return; + } + if (this.buildTimeout) + clearTimeout(this.buildTimeout); + this.buildTimeout = setTimeout(async () => { + this.buildTimeout = null; + try { + await Promise.all([...this.invalidatedIds].map(([id, event]) => this.emitter.emit('change', id, { event }))); + this.invalidatedIds.clear(); + await this.emitter.emit('restart'); + this.emitter.removeListenersForCurrentRun(); + this.run(); + } + catch (error) { + this.invalidatedIds.clear(); + await this.emitter.emit('event', { + code: 'ERROR', + error, + result: null + }); + await this.emitter.emit('event', { + code: 'END' + }); + } + }, this.buildDelay); + } + async run() { + this.running = true; + await this.emitter.emit('event', { + code: 'START' + }); + for (const task of this.tasks) { + await task.run(); + } + this.running = false; + await this.emitter.emit('event', { + code: 'END' + }); + if (this.rerun) { + this.rerun = false; + this.invalidate(); + } + } +} +class Task { + constructor(watcher, options) { + this.cache = { modules: [] }; + this.watchFiles = []; + this.closed = false; + this.invalidated = true; + this.watched = new Set(); + this.watcher = watcher; + this.options = options; + this.skipWrite = Boolean(options.watch && options.watch.skipWrite); + this.outputs = this.options.output; + this.outputFiles = this.outputs.map(output => { + if (output.file || output.dir) + return node_path.resolve(output.file || output.dir); + return undefined; + }); + const watchOptions = this.options.watch || {}; + this.filter = rollup.createFilter(watchOptions.include, watchOptions.exclude); + this.fileWatcher = new FileWatcher(this, { + ...watchOptions.chokidar, + disableGlobbing: true, + ignoreInitial: true + }); + } + close() { + this.closed = true; + this.fileWatcher.close(); + } + invalidate(id, details) { + this.invalidated = true; + if (details.isTransformDependency) { + for (const module of this.cache.modules) { + if (!module.transformDependencies.includes(id)) + continue; + // effective invalidation + module.originalCode = null; + } + } + this.watcher.invalidate({ event: details.event, id }); + } + async run() { + if (!this.invalidated) + return; + this.invalidated = false; + const options = { + ...this.options, + cache: this.cache + }; + const start = Date.now(); + await this.watcher.emitter.emit('event', { + code: 'BUNDLE_START', + input: this.options.input, + output: this.outputFiles + }); + let result = null; + try { + result = await rollup.rollupInternal(options, this.watcher.emitter); + if (this.closed) { + return; + } + this.updateWatchedFiles(result); + if (!this.skipWrite) { + await Promise.all(this.outputs.map(output => result.write(output))); + if (this.closed) { + return; + } + this.updateWatchedFiles(result); + } + await this.watcher.emitter.emit('event', { + code: 'BUNDLE_END', + duration: Date.now() - start, + input: this.options.input, + output: this.outputFiles, + result + }); + } + catch (error) { + if (!this.closed) { + if (Array.isArray(error.watchFiles)) { + for (const id of error.watchFiles) { + this.watchFile(id); + } + } + if (error.id) { + this.cache.modules = this.cache.modules.filter(module => module.id !== error.id); + } + } + await this.watcher.emitter.emit('event', { + code: 'ERROR', + error, + result + }); + } + } + updateWatchedFiles(result) { + const previouslyWatched = this.watched; + this.watched = new Set(); + this.watchFiles = result.watchFiles; + this.cache = result.cache; + for (const id of this.watchFiles) { + this.watchFile(id); + } + for (const module of this.cache.modules) { + for (const depId of module.transformDependencies) { + this.watchFile(depId, true); + } + } + for (const id of previouslyWatched) { + if (!this.watched.has(id)) { + this.fileWatcher.unwatch(id); + } + } + } + watchFile(id, isTransformDependency = false) { + if (!this.filter(id)) + return; + this.watched.add(id); + if (this.outputFiles.includes(id)) { + throw new Error('Cannot import the generated bundle'); + } + // this is necessary to ensure that any 'renamed' files + // continue to be watched following an error + this.fileWatcher.watch(id, isTransformDependency); + } +} + +exports.Task = Task; +exports.Watcher = Watcher; +//# sourceMappingURL=watch.js.map diff --git a/.pnpm-store/v3/files/76/b53fbec4e7ff0772eb5f0da72d933e1fa751b6eb30246c1b048b0a0e9467e740f5730140cf23e2ab29bdcdacbc48550dafb793738594bba14bca6e3d439926 b/.pnpm-store/v3/files/76/b53fbec4e7ff0772eb5f0da72d933e1fa751b6eb30246c1b048b0a0e9467e740f5730140cf23e2ab29bdcdacbc48550dafb793738594bba14bca6e3d439926 new file mode 100644 index 00000000..fc889e97 --- /dev/null +++ b/.pnpm-store/v3/files/76/b53fbec4e7ff0772eb5f0da72d933e1fa751b6eb30246c1b048b0a0e9467e740f5730140cf23e2ab29bdcdacbc48550dafb793738594bba14bca6e3d439926 @@ -0,0 +1 @@ +module.exports={C:{"4":0.01063,"11":0.12751,"38":0.01063,"43":0.00531,"44":0.03188,"45":0.01063,"52":0.06376,"72":0.01063,"78":0.03188,"88":0.00531,"94":0.02125,"101":0.0425,"102":0.01063,"103":0.01063,"104":0.01063,"108":0.00531,"109":0.00531,"112":0.00531,"113":0.01063,"114":0.04782,"115":0.57912,"116":0.00531,"117":0.01063,"118":0.31347,"119":0.49411,"120":0.2869,"121":1.57796,"122":0.34003,_:"2 3 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 95 96 97 98 99 100 105 106 107 110 111 123 124 125 3.5 3.6"},D:{"47":0.00531,"48":0.1222,"49":0.03719,"51":0.01063,"52":0.00531,"54":0.0425,"56":0.03719,"60":0.00531,"63":0.01063,"66":0.02125,"67":0.00531,"69":0.01063,"70":0.00531,"71":0.00531,"72":0.00531,"74":0.01063,"75":0.01063,"76":0.02125,"77":0.01063,"78":0.01063,"79":0.15408,"80":0.03719,"81":0.08501,"83":0.09563,"84":0.01063,"85":0.01594,"86":0.06907,"87":0.05844,"88":0.02125,"89":0.01594,"90":0.01063,"91":0.06907,"92":0.01063,"93":0.14876,"94":0.02125,"95":0.01063,"96":0.01063,"97":0.01594,"98":0.01063,"99":0.02657,"100":0.06376,"101":0.10095,"102":0.04782,"103":0.33472,"104":0.09032,"105":0.05313,"106":0.03719,"107":0.03719,"108":0.07438,"109":1.02541,"110":0.13283,"111":0.09032,"112":0.14876,"113":0.07438,"114":0.19658,"115":0.1647,"116":0.60568,"117":0.56849,"118":1.19543,"119":4.70201,"120":17.80918,"121":1.23793,"122":0.03719,"123":0.01063,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 50 53 55 57 58 59 61 62 64 65 68 73 124"},F:{"89":0.01594,"95":0.03188,"102":0.18064,"103":0.00531,"104":0.01063,"105":0.41441,"106":0.33472,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 101 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.01063,"87":1.61515,"99":0.06907,"104":0.00531,"106":0.00531,"107":0.00531,"108":0.00531,"109":0.0797,"110":0.01063,"111":0.00531,"112":0.00531,"113":0.00531,"114":0.01063,"115":0.01063,"116":0.01594,"117":0.01594,"118":0.0797,"119":0.62693,"120":5.24924,"121":0.68538,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 105"},E:{"9":0.01594,"13":0.01063,"14":0.06376,"15":0.01063,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1 17.4","9.1":0.03188,"11.1":0.00531,"12.1":0.03188,"13.1":0.17533,"14.1":0.19127,"15.1":0.09032,"15.2-15.3":0.02125,"15.4":0.04782,"15.5":0.06376,"15.6":0.58443,"16.0":0.06376,"16.1":0.10626,"16.2":0.11689,"16.3":0.2869,"16.4":0.13283,"16.5":0.19127,"16.6":1.07323,"17.0":0.30284,"17.1":1.52483,"17.2":1.84892,"17.3":0.1222},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00245,"5.0-5.1":0,"6.0-6.1":0.01715,"7.0-7.1":0.0049,"8.1-8.4":0.00245,"9.0-9.2":0.01225,"9.3":0.03921,"10.0-10.2":0.00245,"10.3":0.04411,"11.0-11.2":0.03186,"11.3-11.4":0.01715,"12.0-12.1":0.01225,"12.2-12.5":0.18623,"13.0-13.1":0.0049,"13.2":0.04411,"13.3":0.0147,"13.4-13.7":0.03921,"14.0-14.4":0.09067,"14.5-14.8":0.15438,"15.0-15.1":0.06371,"15.2-15.3":0.08086,"15.4":0.08576,"15.5":0.13722,"15.6-15.8":0.97772,"16.0":0.34796,"16.1":1.03408,"16.2":0.39697,"16.3":0.77433,"16.4":0.09802,"16.5":0.25729,"16.6-16.7":3.19534,"17.0":0.35531,"17.1":6.58427,"17.2":8.81415,"17.3":0.5636},P:{"4":0.03379,"20":0.02253,"21":0.05631,"22":0.05631,"23":1.64434,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0","17.0":0.01126,"18.0":0.01126,"19.0":0.01126},I:{"0":0.15306,"3":0.00008,"4":0.00012,"2.1":0.00005,"2.2":0.00014,"2.3":0.00005,"4.1":0.00006,"4.2-4.3":0.00046,"4.4":0,"4.4.3-4.4.4":0.00046},A:{"8":0.0119,"9":0.01785,"11":0.11901,_:"6 7 10 5.5"},K:{"0":0.31878,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00469,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.02344},O:{"0":0.08907},H:{"0":0},L:{"0":20.43748},R:{_:"0"},M:{"0":0.5063}}; diff --git a/.pnpm-store/v3/files/76/f61de59710400cc481bcb72679b697f608b4a580c982614979080c518f8efd6cbd11564ffcab8745546e34ae3c6238cfa42bbe5d9e9c0d2c6763df70ef7681 b/.pnpm-store/v3/files/76/f61de59710400cc481bcb72679b697f608b4a580c982614979080c518f8efd6cbd11564ffcab8745546e34ae3c6238cfa42bbe5d9e9c0d2c6763df70ef7681 new file mode 100644 index 00000000..3ff98788 --- /dev/null +++ b/.pnpm-store/v3/files/76/f61de59710400cc481bcb72679b697f608b4a580c982614979080c518f8efd6cbd11564ffcab8745546e34ae3c6238cfa42bbe5d9e9c0d2c6763df70ef7681 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G","16":"M N O AB"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC","16":"J"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B iC jC kC lC 2B QC mC","16":"C"},G:{"1":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC"},H:{"1":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","2":"D"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Reversed attribute of ordered lists",D:true}; diff --git a/.pnpm-store/v3/files/76/ffa5cdf88c33b7317f1d201a15153d6dcb5122f01dc822b2da9582509d923546eb4a953bd99d844ec6bcf99bb567f44a8486b06c06f0b824a032f261b1e0c8 b/.pnpm-store/v3/files/76/ffa5cdf88c33b7317f1d201a15153d6dcb5122f01dc822b2da9582509d923546eb4a953bd99d844ec6bcf99bb567f44a8486b06c06f0b824a032f261b1e0c8 new file mode 100644 index 00000000..13c9b30c --- /dev/null +++ b/.pnpm-store/v3/files/76/ffa5cdf88c33b7317f1d201a15153d6dcb5122f01dc822b2da9582509d923546eb4a953bd99d844ec6bcf99bb567f44a8486b06c06f0b824a032f261b1e0c8 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D SC","132":"E F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","132":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","132":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","132":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC","132":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC"},F:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F iC jC kC lC","16":"B 2B QC","132":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB mC 3B"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC","132":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C"},H:{"2":"9C"},I:{"1":"H","16":"AD BD","132":"7B I CD DD RC ED FD"},J:{"132":"D A"},K:{"1":"u","132":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"132":"A B"},O:{"1":"4B"},P:{"132":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"scrollIntoView",D:true}; diff --git a/.pnpm-store/v3/files/77/51e08ad8fc952cbec5077a006c018a738351988d40501473c18a2a227922b16fa5ffeade6e71aeb6ae3b6076e3f3204d3ede6e9586fa0639c82a345700c0aa b/.pnpm-store/v3/files/77/51e08ad8fc952cbec5077a006c018a738351988d40501473c18a2a227922b16fa5ffeade6e71aeb6ae3b6076e3f3204d3ede6e9586fa0639c82a345700c0aa new file mode 100644 index 00000000..641d5bc4 --- /dev/null +++ b/.pnpm-store/v3/files/77/51e08ad8fc952cbec5077a006c018a738351988d40501473c18a2a227922b16fa5ffeade6e71aeb6ae3b6076e3f3204d3ede6e9586fa0639c82a345700c0aa @@ -0,0 +1 @@ +module.exports={C:{"2":0.00205,"3":0.00818,"4":0.00614,"5":0.00614,"6":0.00409,"10":0.00205,"12":0.00409,"15":0.00409,"16":0.00409,"17":0.00409,"20":0.00205,"21":0.00409,"22":0.00409,"23":0.00205,"24":0.00205,"25":0.00205,"26":0.00205,"29":0.00205,"30":0.00409,"31":0.01023,"32":0.00409,"33":0.00409,"34":0.00409,"35":0.00614,"36":0.00409,"37":0.00205,"38":0.00614,"39":0.01023,"40":0.01432,"41":0.00818,"42":0.00409,"52":0.00205,"72":0.00205,"79":0.00205,"104":0.01023,"115":0.04706,"118":0.00205,"120":0.01023,"121":0.54628,"122":0.13299,_:"7 8 9 11 13 14 18 19 27 28 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 105 106 107 108 109 110 111 112 113 114 116 117 119 123 124 125","3.5":0.00614,"3.6":0.01637},D:{"4":0.00205,"9":0.00205,"10":0.00205,"11":0.00205,"17":0.00205,"18":0.00205,"20":0.00205,"21":0.01023,"23":0.00205,"24":0.00205,"25":0.00205,"26":0.00205,"27":0.00409,"28":0.00614,"29":0.00409,"31":0.00614,"32":0.00205,"33":0.00205,"34":0.00409,"35":0.00205,"36":0.00818,"37":0.00818,"38":0.01841,"39":0.01228,"40":0.01637,"41":0.02046,"42":0.01432,"43":0.03274,"44":0.03478,"45":0.02864,"46":0.03274,"47":0.01841,"51":0.03683,"70":0.01228,"77":0.00205,"79":0.00614,"81":0.00818,"83":0.00205,"84":0.00205,"86":0.00205,"87":0.00409,"97":0.00614,"98":0.02455,"99":0.00818,"100":0.00409,"102":0.00409,"103":0.04297,"104":0.00205,"105":0.03069,"106":0.00205,"107":0.00614,"108":0.00614,"109":1.16213,"110":0.03274,"111":0.00614,"112":0.00409,"113":0.12276,"114":0.00818,"115":0.02864,"116":0.09207,"117":0.05115,"118":0.0266,"119":0.26803,"120":12.36602,"121":0.72224,"122":0.01637,_:"5 6 7 8 12 13 14 15 16 19 22 30 48 49 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 78 80 85 88 89 90 91 92 93 94 95 96 101 123 124"},F:{"11":0.00205,"12":0.00614,"23":0.00205,"28":0.00205,"30":0.00409,"31":0.01023,"32":0.00205,"33":0.00205,"89":0.00205,"95":0.00614,"102":0.00205,"105":0.08184,"106":0.12071,_:"9 15 16 17 18 19 20 21 22 24 25 26 27 29 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 101 103 104 10.0-10.1 10.5 11.1 11.6","9.5-9.6":0.00205,"10.6":0.00205,"11.5":0.00205,"12.1":0.00818},B:{"12":0.01023,"14":0.00205,"15":0.00205,"16":0.00205,"18":0.00409,"81":0.00409,"92":0.01637,"98":0.00205,"99":0.00205,"100":0.00409,"107":0.00818,"109":0.00614,"111":0.00205,"112":0.00205,"114":0.00205,"115":0.00409,"116":0.00409,"117":0.00409,"119":0.03887,"120":1.36468,"121":0.15959,_:"13 17 79 80 83 84 85 86 87 88 89 90 91 93 94 95 96 97 101 102 103 104 105 106 108 110 113 118"},E:{"4":0.00409,"5":0.00409,"6":0.00205,"8":0.00818,"9":0.06752,"14":0.00614,_:"0 7 10 11 12 13 15 3.1 3.2 7.1 10.1 11.1 12.1 15.4 16.0 17.4","5.1":0.00614,"6.1":0.00205,"9.1":0.01023,"13.1":0.00614,"14.1":0.0757,"15.1":0.00205,"15.2-15.3":0.00205,"15.5":0.00818,"15.6":0.18005,"16.1":0.00205,"16.2":0.05524,"16.3":0.02046,"16.4":0.00614,"16.5":0.00614,"16.6":0.19028,"17.0":0.01432,"17.1":0.15754,"17.2":0.23734,"17.3":0.00205},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0011,"5.0-5.1":0.00165,"6.0-6.1":0.00275,"7.0-7.1":0.00385,"8.1-8.4":0.00055,"9.0-9.2":0.0033,"9.3":0.01264,"10.0-10.2":0.0011,"10.3":0.01979,"11.0-11.2":0.00769,"11.3-11.4":0.00824,"12.0-12.1":0.00495,"12.2-12.5":0.09783,"13.0-13.1":0.00165,"13.2":0.01814,"13.3":0.00495,"13.4-13.7":0.02198,"14.0-14.4":0.03847,"14.5-14.8":0.05881,"15.0-15.1":0.02528,"15.2-15.3":0.02913,"15.4":0.03408,"15.5":0.04507,"15.6-15.8":0.35121,"16.0":0.10553,"16.1":0.2248,"16.2":0.10223,"16.3":0.19017,"16.4":0.04232,"16.5":0.09014,"16.6-16.7":0.73759,"17.0":0.12257,"17.1":1.26358,"17.2":1.71042,"17.3":0.10992},P:{"4":0.26885,"20":0.02068,"21":0.11374,"22":0.09306,"23":1.02368,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0","6.2-6.4":0.03102,"7.2-7.4":0.13442,"13.0":0.04136,"14.0":0.01034,"16.0":0.01034,"17.0":0.01034,"18.0":0.01034,"19.0":0.09306},I:{"0":0.34052,"3":0,"4":0.00007,"2.1":0,"2.2":0.00003,"2.3":0,"4.1":0.00007,"4.2-4.3":0.00024,"4.4":0,"4.4.3-4.4.4":0.00089},A:{"6":0.01028,"7":0.02672,"8":0.18913,"9":0.03906,"10":0.04728,"11":0.09868,"5.5":0.00206},K:{"0":0.81131,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00795,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":1.50331},H:{"0":0},L:{"0":69.78153},R:{_:"0"},M:{"0":0.01591}}; diff --git a/.pnpm-store/v3/files/77/8bbf17942ab699fbfb4c5b03fb678a411a0e9613c6add84ed997a72f872a889bba537fc57c87e782a226f4439fcaad2a8c30964a8f87c0fafa5f9c820870b4 b/.pnpm-store/v3/files/77/8bbf17942ab699fbfb4c5b03fb678a411a0e9613c6add84ed997a72f872a889bba537fc57c87e782a226f4439fcaad2a8c30964a8f87c0fafa5f9c820870b4 new file mode 100644 index 00000000..4fa34b34 --- /dev/null +++ b/.pnpm-store/v3/files/77/8bbf17942ab699fbfb4c5b03fb678a411a0e9613c6add84ed997a72f872a889bba537fc57c87e782a226f4439fcaad2a8c30964a8f87c0fafa5f9c820870b4 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O PB QB RB SB TB UB VB WB XB YB ZB","66":"AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C CB DB EB FB GB HB IB JB KB LB MB iC jC kC lC 2B QC mC 3B","66":"G M N O AB q r s t BB"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Proxy object",D:true}; diff --git a/.pnpm-store/v3/files/77/922522c1907b50ba8196695fd6c6c7f8652f287074beb4db197cc1fc0a1f8e4edf10313862262c7d7543d2119bdd23fed0ddeb7123575a7b060af500627c38 b/.pnpm-store/v3/files/77/922522c1907b50ba8196695fd6c6c7f8652f287074beb4db197cc1fc0a1f8e4edf10313862262c7d7543d2119bdd23fed0ddeb7123575a7b060af500627c38 new file mode 100644 index 00000000..4b11d498 --- /dev/null +++ b/.pnpm-store/v3/files/77/922522c1907b50ba8196695fd6c6c7f8652f287074beb4db197cc1fc0a1f8e4edf10313862262c7d7543d2119bdd23fed0ddeb7123575a7b060af500627c38 @@ -0,0 +1 @@ +module.exports={C:{"34":0.01208,"78":0.00604,"87":0.00302,"99":0.02114,"100":0.00302,"112":0.00302,"113":0.00302,"115":0.12684,"118":0.00302,"120":0.00604,"121":0.29294,"122":0.07852,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 101 102 103 104 105 106 107 108 109 110 111 114 116 117 119 123 124 125 3.5 3.6"},D:{"11":0.00906,"31":0.05134,"33":0.00302,"40":0.00302,"41":0.00302,"42":0.00604,"43":0.00604,"46":0.00604,"47":0.00302,"49":0.00302,"54":0.00302,"57":0.00302,"60":0.00302,"65":0.00302,"67":0.00302,"69":0.00906,"70":0.00302,"73":0.01208,"74":0.00302,"75":0.00302,"76":0.00906,"77":0.00302,"78":0.00302,"79":0.0151,"80":0.00302,"81":0.04228,"83":0.00604,"84":0.00906,"85":0.01812,"86":0.03926,"87":0.06342,"88":0.00906,"89":0.00906,"90":0.00906,"91":0.00906,"92":0.00302,"93":0.00604,"94":0.02718,"95":0.01208,"96":0.00302,"97":0.00302,"98":0.00604,"99":0.00906,"100":0.00906,"101":0.01208,"102":0.0453,"103":0.01812,"104":0.00302,"105":0.01208,"106":0.02416,"107":0.00906,"108":0.0151,"109":1.61872,"110":0.01208,"111":0.02114,"112":0.00604,"113":0.01208,"114":0.03624,"115":0.00604,"116":0.0755,"117":0.0604,"118":0.0302,"119":0.16006,"120":6.27254,"121":0.5134,"122":0.00302,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 34 35 36 37 38 39 44 45 48 50 51 52 53 55 56 58 59 61 62 63 64 66 68 71 72 123 124"},F:{"32":0.00302,"42":0.00302,"79":0.0151,"82":0.00302,"90":0.00604,"95":0.09966,"102":0.00302,"104":0.00302,"105":0.14798,"106":0.4077,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 85 86 87 88 89 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00604,"13":0.00302,"14":0.00302,"15":0.02114,"16":0.00302,"17":0.00302,"18":0.01812,"84":0.01208,"89":0.00604,"90":0.0151,"92":0.04832,"100":0.00604,"101":0.00302,"107":0.00302,"108":0.00302,"109":0.08456,"110":0.00302,"111":0.00604,"113":0.00604,"114":0.02416,"115":0.00906,"116":0.0151,"117":0.04832,"118":0.0302,"119":0.05738,"120":2.30124,"121":0.29294,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 102 103 104 105 106 112"},E:{"14":0.00302,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 16.0 17.4","12.1":0.00604,"13.1":0.01208,"14.1":0.00604,"15.4":0.00302,"15.5":0.00302,"15.6":0.05436,"16.1":0.00302,"16.2":0.00604,"16.3":0.00302,"16.4":0.00604,"16.5":0.00604,"16.6":0.00906,"17.0":0.00302,"17.1":0.02416,"17.2":0.02416,"17.3":0.00604},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00203,"5.0-5.1":0.00305,"6.0-6.1":0.00508,"7.0-7.1":0.00712,"8.1-8.4":0.00102,"9.0-9.2":0.0061,"9.3":0.02339,"10.0-10.2":0.00203,"10.3":0.03661,"11.0-11.2":0.01424,"11.3-11.4":0.01525,"12.0-12.1":0.00915,"12.2-12.5":0.18102,"13.0-13.1":0.00305,"13.2":0.03356,"13.3":0.00915,"13.4-13.7":0.04068,"14.0-14.4":0.07119,"14.5-14.8":0.10882,"15.0-15.1":0.04678,"15.2-15.3":0.0539,"15.4":0.06305,"15.5":0.08339,"15.6-15.8":0.64985,"16.0":0.19526,"16.1":0.41595,"16.2":0.18916,"16.3":0.35188,"16.4":0.07831,"16.5":0.16679,"16.6-16.7":1.3648,"17.0":0.22679,"17.1":2.33805,"17.2":3.16486,"17.3":0.2034},P:{"4":0.20883,"20":0.04177,"21":0.07309,"22":0.09397,"23":0.44899,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0","6.2-6.4":0.01044,"7.2-7.4":0.1253,"13.0":0.04177,"14.0":0.02088,"15.0":0.03132,"16.0":0.04177,"17.0":0.07309,"18.0":0.04177,"19.0":0.03132},I:{"0":0.07644,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.0002},A:{"9":0.00503,"11":0.01007,_:"6 7 8 10 5.5"},K:{"0":0.48498,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.14658,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.1745},H:{"0":0.22},L:{"0":73.08642},R:{_:"0"},M:{"0":0.09074}}; diff --git a/.pnpm-store/v3/files/77/a5faae5aef5c683cb39058e5c00471613792ba741a092118b26c5f9a4bf7419ca6a259cc4c633dc471cf04d14821e7f2be1c17e1deb74e97319ca5a2a2cc40 b/.pnpm-store/v3/files/77/a5faae5aef5c683cb39058e5c00471613792ba741a092118b26c5f9a4bf7419ca6a259cc4c633dc471cf04d14821e7f2be1c17e1deb74e97319ca5a2a2cc40 new file mode 100644 index 00000000..054464ec --- /dev/null +++ b/.pnpm-store/v3/files/77/a5faae5aef5c683cb39058e5c00471613792ba741a092118b26c5f9a4bf7419ca6a259cc4c633dc471cf04d14821e7f2be1c17e1deb74e97319ca5a2a2cc40 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","132":"A B"},B:{"132":"C K L G M N O","1028":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB VC WC","1028":"0 1 2 3 4 5 6 7 8 sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2564":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","3076":"aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB"},D:{"16":"9 I J D","132":"F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB","388":"E","1028":"0 1 2 3 4 5 6 7 8 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"16":"I XC DC","132":"9 J D E F A YC ZC aC bC EC","1028":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","132":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB","1028":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"16":"DC nC RC","132":"E oC pC qC rC sC tC uC vC","1028":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"132":"I DD RC ED FD","292":"7B AD BD CD","1028":"H"},J:{"16":"D","132":"A"},K:{"2":"A B C 2B QC 3B","1028":"u"},L:{"1028":"H"},M:{"1028":"1B"},N:{"132":"A B"},O:{"1028":"4B"},P:{"132":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1028":"FC"},R:{"1028":"SD"},S:{"1028":"UD","2564":"TD"}},B:4,C:"DOMMatrix",D:true}; diff --git a/.pnpm-store/v3/files/77/e2faaf88a8e878042122777706e2fa4662e65e8c36b07fd0cf5c04fdc860a055d8590d7451f963f02b478b984f59da46070548e12a2777e6190835f3581ad8 b/.pnpm-store/v3/files/77/e2faaf88a8e878042122777706e2fa4662e65e8c36b07fd0cf5c04fdc860a055d8590d7451f963f02b478b984f59da46070548e12a2777e6190835f3581ad8 new file mode 100644 index 00000000..b7d60c70 --- /dev/null +++ b/.pnpm-store/v3/files/77/e2faaf88a8e878042122777706e2fa4662e65e8c36b07fd0cf5c04fdc860a055d8590d7451f963f02b478b984f59da46070548e12a2777e6190835f3581ad8 @@ -0,0 +1 @@ +module.exports={C:{"78":0.00933,"111":0.00467,"115":0.07467,"116":0.07001,"117":0.00467,"118":0.08867,"119":0.00933,"120":0.042,"121":4.28431,"122":0.34536,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 112 113 114 123 124 125 3.5 3.6"},D:{"76":0.014,"78":0.00467,"79":0.00933,"80":0.00933,"81":0.00467,"83":0.03734,"87":0.056,"88":0.00933,"89":0.00467,"91":0.014,"92":0.00933,"93":0.09801,"97":0.00467,"99":0.014,"101":0.00933,"103":0.17735,"105":0.00933,"108":0.00933,"109":0.41536,"110":0.014,"111":0.07934,"112":0.014,"113":0.03734,"114":0.03267,"115":0.03267,"116":0.69072,"117":0.14001,"118":0.11201,"119":1.36276,"120":17.96328,"121":1.52611,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 84 85 86 90 94 95 96 98 100 102 104 106 107 122 123 124"},F:{"28":0.00467,"95":0.00933,"104":0.00467,"105":0.21468,"106":0.20068,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00467,"98":0.00467,"109":0.10267,"110":0.00467,"112":0.00467,"114":0.01867,"115":0.02334,"117":0.00933,"118":0.00467,"119":0.056,"120":8.93731,"121":0.89606,_:"12 13 14 15 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 104 105 106 107 108 111 113 116"},E:{"11":0.014,"13":0.00467,"14":0.09801,_:"0 4 5 6 7 8 9 10 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00467,"13.1":0.13534,"14.1":0.47603,"15.1":0.10267,"15.2-15.3":0.00467,"15.4":0.014,"15.5":0.01867,"15.6":0.54137,"16.0":0.03734,"16.1":0.056,"16.2":0.05134,"16.3":0.54137,"16.4":0.13068,"16.5":1.3581,"16.6":1.03141,"17.0":0.11668,"17.1":1.14808,"17.2":1.64278,"17.3":0.07934},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00595,"5.0-5.1":0.00893,"6.0-6.1":0.01488,"7.0-7.1":0.02083,"8.1-8.4":0.00298,"9.0-9.2":0.01785,"9.3":0.06843,"10.0-10.2":0.00595,"10.3":0.10711,"11.0-11.2":0.04165,"11.3-11.4":0.04463,"12.0-12.1":0.02678,"12.2-12.5":0.5296,"13.0-13.1":0.00893,"13.2":0.09819,"13.3":0.02678,"13.4-13.7":0.11901,"14.0-14.4":0.20827,"14.5-14.8":0.31836,"15.0-15.1":0.13686,"15.2-15.3":0.15769,"15.4":0.18447,"15.5":0.24398,"15.6-15.8":1.90122,"16.0":0.57126,"16.1":1.2169,"16.2":0.55341,"16.3":1.02946,"16.4":0.2291,"16.5":0.48795,"16.6-16.7":3.99286,"17.0":0.66349,"17.1":6.84023,"17.2":9.25915,"17.3":0.59506},P:{"4":0.03245,"20":0.01082,"21":0.08653,"22":0.05408,"23":2.82315,"5.0-5.4":0.04327,_:"6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 17.0 19.0","7.2-7.4":0.03245,"16.0":0.01082,"18.0":0.01082},I:{"0":0.02655,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"11":0.042,_:"6 7 8 9 10 5.5"},K:{"0":0.032,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00533,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.05867},H:{"0":0},L:{"0":20.39052},R:{_:"0"},M:{"0":0.33071}}; diff --git a/.pnpm-store/v3/files/77/ebb7a51e3c8f29f64fcddd986bf4b50423d56280c28c8f88e1f7b5c0693d0a07a8c31f553541f4ff8b61613118ef65ed348a79824fc512b707dfcecc83100f b/.pnpm-store/v3/files/77/ebb7a51e3c8f29f64fcddd986bf4b50423d56280c28c8f88e1f7b5c0693d0a07a8c31f553541f4ff8b61613118ef65ed348a79824fc512b707dfcecc83100f new file mode 100644 index 00000000..0581e293 --- /dev/null +++ b/.pnpm-store/v3/files/77/ebb7a51e3c8f29f64fcddd986bf4b50423d56280c28c8f88e1f7b5c0693d0a07a8c31f553541f4ff8b61613118ef65ed348a79824fc512b707dfcecc83100f @@ -0,0 +1 @@ +module.exports={C:{"34":0.00133,"43":0.01197,"47":0.00266,"52":0.00532,"56":0.00133,"57":0.00133,"58":0.00133,"65":0.00266,"66":0.00133,"71":0.00133,"72":0.00399,"76":0.00133,"78":0.00266,"80":0.00133,"88":0.00133,"94":0.00133,"96":0.00266,"99":0.00532,"100":0.00133,"101":0.00133,"102":0.00266,"103":0.00266,"104":0.00133,"105":0.00133,"106":0.00133,"107":0.00133,"108":0.00266,"109":0.00266,"110":0.00266,"111":0.00133,"112":0.00266,"113":0.00266,"114":0.00399,"115":0.48678,"116":0.00133,"117":0.00133,"118":0.00532,"119":0.00532,"120":0.01862,"121":0.32984,"122":0.07714,"123":0.00133,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 44 45 46 48 49 50 51 53 54 55 59 60 61 62 63 64 67 68 69 70 73 74 75 77 79 81 82 83 84 85 86 87 89 90 91 92 93 95 97 98 124 125 3.5 3.6"},D:{"11":0.00266,"37":0.00133,"38":0.00133,"43":0.00133,"47":0.01463,"49":0.00133,"50":0.00399,"53":0.00133,"54":0.00133,"55":0.00266,"56":0.00532,"58":0.00798,"59":0.00133,"61":0.00133,"62":0.01064,"63":0.01197,"64":0.01064,"65":0.00266,"68":0.00532,"69":0.00399,"70":0.01862,"71":0.00133,"72":0.00266,"73":0.00133,"74":0.00931,"75":0.00399,"76":0.00399,"77":0.00798,"78":0.00133,"79":0.01596,"80":0.01463,"81":0.00798,"83":0.00399,"84":0.00399,"85":0.00665,"86":0.01064,"87":0.00931,"88":0.01197,"89":0.00266,"90":0.00532,"91":0.00931,"92":0.00399,"93":0.06783,"94":0.01064,"95":0.01064,"96":0.00532,"97":0.00665,"98":0.00399,"99":0.00532,"100":0.00665,"101":0.00266,"102":0.00931,"103":0.02394,"104":0.00665,"105":0.02261,"106":0.01596,"107":0.0133,"108":0.01995,"109":0.74347,"110":0.01197,"111":0.02394,"112":0.01729,"113":0.01197,"114":0.03724,"115":0.02128,"116":0.07049,"117":0.04123,"118":0.03857,"119":0.20216,"120":4.32782,"121":0.28994,"122":0.00532,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 39 40 41 42 44 45 46 48 51 52 57 60 66 67 123 124"},F:{"33":0.00133,"36":0.00133,"42":0.00133,"58":0.00133,"72":0.00133,"74":0.00133,"76":0.00133,"77":0.00133,"79":0.01197,"80":0.00532,"83":0.00133,"85":0.07049,"91":0.00133,"95":0.02527,"100":0.00532,"102":0.00266,"103":0.00266,"104":0.00399,"105":0.09177,"106":0.15694,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 62 63 64 65 66 67 68 69 70 71 73 75 78 81 82 84 86 87 88 89 90 92 93 94 96 97 98 99 101 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00665,"13":0.00133,"14":0.00266,"15":0.0133,"16":0.00133,"17":0.00266,"18":0.02527,"84":0.00266,"89":0.00399,"90":0.00532,"92":0.01596,"100":0.00266,"104":0.00133,"106":0.00133,"107":0.00133,"108":0.00266,"109":0.01197,"110":0.00133,"111":0.00266,"112":0.00133,"113":0.00266,"114":0.00532,"115":0.00532,"116":0.00532,"117":0.02261,"118":0.00665,"119":0.02394,"120":0.65835,"121":0.06783,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 105"},E:{"11":0.00133,"13":0.00399,"14":0.01064,_:"0 4 5 6 7 8 9 10 12 15 3.1 3.2 6.1 7.1 9.1 10.1 17.4","5.1":0.00133,"11.1":0.00133,"12.1":0.00133,"13.1":0.01064,"14.1":0.01197,"15.1":0.00399,"15.2-15.3":0.00266,"15.4":0.00266,"15.5":0.00266,"15.6":0.03192,"16.0":0.00266,"16.1":0.00532,"16.2":0.00266,"16.3":0.00798,"16.4":0.00532,"16.5":0.00931,"16.6":0.02926,"17.0":0.00931,"17.1":0.02261,"17.2":0.03192,"17.3":0.00399},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00129,"5.0-5.1":0.00194,"6.0-6.1":0.00323,"7.0-7.1":0.00452,"8.1-8.4":0.00065,"9.0-9.2":0.00388,"9.3":0.01486,"10.0-10.2":0.00129,"10.3":0.02325,"11.0-11.2":0.00904,"11.3-11.4":0.00969,"12.0-12.1":0.00581,"12.2-12.5":0.11497,"13.0-13.1":0.00194,"13.2":0.02132,"13.3":0.00581,"13.4-13.7":0.02584,"14.0-14.4":0.04521,"14.5-14.8":0.06911,"15.0-15.1":0.02971,"15.2-15.3":0.03423,"15.4":0.04005,"15.5":0.05297,"15.6-15.8":0.41274,"16.0":0.12402,"16.1":0.26418,"16.2":0.12014,"16.3":0.22349,"16.4":0.04974,"16.5":0.10593,"16.6-16.7":0.86682,"17.0":0.14404,"17.1":1.48496,"17.2":2.01009,"17.3":0.12918},P:{"4":0.03154,"20":0.02102,"21":0.05256,"22":0.10512,"23":0.47306,_:"5.0-5.4 6.2-6.4 8.2 10.1 12.0 14.0 15.0","7.2-7.4":0.04205,"9.2":0.02102,"11.1-11.2":0.01051,"13.0":0.01051,"16.0":0.02102,"17.0":0.01051,"18.0":0.01051,"19.0":0.03154},I:{"0":0.06042,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00016},A:{"8":0.00286,"9":0.00143,"10":0.00286,"11":0.01146,_:"6 7 5.5"},K:{"0":22.98573,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.03468,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00867},O:{"0":0.68493},H:{"0":5.79},L:{"0":53.42092},R:{_:"0"},M:{"0":0.19941}}; diff --git a/.pnpm-store/v3/files/78/0219a36422625b40b77b600b147bb945f76c9512537ee5d5f7840311e6a981a502a0a07d429db64cfaf4b26b00cc0625f1e676fc0edb12759e5ec69fb95fdb b/.pnpm-store/v3/files/78/0219a36422625b40b77b600b147bb945f76c9512537ee5d5f7840311e6a981a502a0a07d429db64cfaf4b26b00cc0625f1e676fc0edb12759e5ec69fb95fdb new file mode 100644 index 00000000..9d44b78b --- /dev/null +++ b/.pnpm-store/v3/files/78/0219a36422625b40b77b600b147bb945f76c9512537ee5d5f7840311e6a981a502a0a07d429db64cfaf4b26b00cc0625f1e676fc0edb12759e5ec69fb95fdb @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","16":"SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","16":"F"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Element.insertAdjacentElement() & Element.insertAdjacentText()",D:true}; diff --git a/.pnpm-store/v3/files/78/3b1baf1ea0c19e6e41e437abf67fbd23021bf9aa2f9ace569a7d4126c80a16cc5b1dcb1c705795f2e3bf1665f194c3485c0b7aee7ce5783a3ce4a379beb261 b/.pnpm-store/v3/files/78/3b1baf1ea0c19e6e41e437abf67fbd23021bf9aa2f9ace569a7d4126c80a16cc5b1dcb1c705795f2e3bf1665f194c3485c0b7aee7ce5783a3ce4a379beb261 new file mode 100644 index 00000000..cea46308 --- /dev/null +++ b/.pnpm-store/v3/files/78/3b1baf1ea0c19e6e41e437abf67fbd23021bf9aa2f9ace569a7d4126c80a16cc5b1dcb1c705795f2e3bf1665f194c3485c0b7aee7ce5783a3ce4a379beb261 @@ -0,0 +1 @@ +module.exports = require.addon() diff --git a/.pnpm-store/v3/files/78/86e8d7bc3024b7e0c1bfddf0805961f35146f1bfa1cd8f5a78ec3f96312a79b51b52c01f7eeec087461911b6e41590c3dbe593acc593b332053f6277440d6a b/.pnpm-store/v3/files/78/86e8d7bc3024b7e0c1bfddf0805961f35146f1bfa1cd8f5a78ec3f96312a79b51b52c01f7eeec087461911b6e41590c3dbe593acc593b332053f6277440d6a new file mode 100644 index 00000000..a14bb433 --- /dev/null +++ b/.pnpm-store/v3/files/78/86e8d7bc3024b7e0c1bfddf0805961f35146f1bfa1cd8f5a78ec3f96312a79b51b52c01f7eeec087461911b6e41590c3dbe593acc593b332053f6277440d6a @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"SC","8":"J D E","260":"F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC","132":"7B VC WC","260":"9 I J D E F A B C K L G M N O AB q"},D:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","132":"9 I","260":"J D E F A B C K L G M N O AB q r s t BB CB"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","132":"I XC DC","260":"9 J YC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","132":"F B iC jC kC lC","260":"C 2B QC mC 3B"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","132":"DC","260":"nC RC oC pC"},H:{"132":"9C"},I:{"1":"H ED FD","132":"AD","260":"7B I BD CD DD RC"},J:{"260":"D A"},K:{"1":"u","132":"A","260":"B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"260":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"HTML5 semantic elements",D:true}; diff --git a/.pnpm-store/v3/files/78/c94f0720d63583d5e5bac3bce6a87812c129c11b817c009d5d5e9af2b0f49c7aa1b70755e5eeef082e3e4aaa530f040b8bb1f2268900bd3e6a800729d797cf b/.pnpm-store/v3/files/78/c94f0720d63583d5e5bac3bce6a87812c129c11b817c009d5d5e9af2b0f49c7aa1b70755e5eeef082e3e4aaa530f040b8bb1f2268900bd3e6a800729d797cf new file mode 100644 index 00000000..e05afaab --- /dev/null +++ b/.pnpm-store/v3/files/78/c94f0720d63583d5e5bac3bce6a87812c129c11b817c009d5d5e9af2b0f49c7aa1b70755e5eeef082e3e4aaa530f040b8bb1f2268900bd3e6a800729d797cf @@ -0,0 +1 @@ +module.exports={C:{"34":0.00304,"43":0.00304,"44":0.00304,"47":0.00304,"51":0.00304,"52":0.00911,"91":0.00304,"95":0.00304,"99":0.00304,"102":0.00607,"103":0.00304,"104":0.00304,"105":0.01214,"106":0.01214,"107":0.01214,"108":0.01518,"109":0.01214,"110":0.01214,"111":0.01518,"112":0.00304,"114":0.00304,"115":0.13966,"116":0.00304,"117":0.00304,"118":0.00304,"119":2.11002,"120":2.11306,"121":0.33396,"122":0.0759,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 45 46 48 49 50 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 96 97 98 100 101 113 123 124 125 3.5 3.6"},D:{"29":0.00304,"38":0.00304,"41":0.00304,"43":0.00304,"47":0.00304,"48":0.00304,"49":0.00607,"50":0.00304,"56":0.01518,"57":0.00607,"58":0.00304,"61":0.00304,"62":0.00304,"63":0.00304,"64":0.00304,"65":0.00607,"66":0.00607,"67":0.00304,"68":0.01518,"69":0.00607,"70":0.00607,"71":0.00607,"72":0.00911,"73":0.01214,"74":0.02125,"75":0.01518,"76":0.01214,"77":0.00911,"78":0.00607,"79":0.01214,"80":0.01822,"81":0.00911,"83":0.01214,"84":0.01214,"85":0.45844,"86":0.01822,"87":0.01822,"88":0.00607,"89":0.01214,"90":0.00911,"91":0.01822,"92":0.00607,"93":0.02732,"94":0.00304,"95":0.01822,"96":0.01518,"97":0.00911,"98":0.00911,"99":0.00911,"100":0.00607,"101":0.00607,"102":0.02429,"103":0.08197,"104":0.01518,"105":0.05465,"106":0.16091,"107":0.21556,"108":0.23681,"109":2.75062,"110":0.12448,"111":0.13055,"112":0.12144,"113":0.00911,"114":0.02732,"115":0.01518,"116":0.05465,"117":0.03036,"118":0.05161,"119":1.25083,"120":11.42143,"121":1.00188,"122":0.01518,"123":0.00304,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 39 40 42 44 45 46 51 52 53 54 55 59 60 124"},F:{"28":0.00304,"37":0.00304,"79":0.00911,"85":0.00304,"91":0.00304,"92":0.00607,"93":0.00607,"94":0.01214,"95":0.05161,"96":0.00304,"97":0.00304,"105":0.15484,"106":0.2611,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00911,"14":0.00607,"15":0.00607,"16":0.00607,"17":0.00304,"18":0.02125,"84":0.00304,"89":0.00304,"90":0.00304,"92":0.02429,"100":0.00304,"103":0.00607,"104":0.00304,"105":0.00607,"106":0.01214,"107":0.03643,"108":0.03036,"109":0.0425,"110":0.03036,"111":0.01518,"112":0.00304,"113":0.00304,"114":0.00304,"115":0.00607,"116":0.00304,"117":0.00304,"118":0.00304,"119":0.06679,"120":0.89562,"121":0.13055,_:"13 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102"},E:{"11":0.00304,"12":0.00607,"14":0.00607,_:"0 4 5 6 7 8 9 10 13 15 3.1 3.2 6.1 7.1 11.1 17.4","5.1":0.00304,"9.1":0.06376,"10.1":0.00304,"12.1":0.00304,"13.1":0.00911,"14.1":0.02125,"15.1":0.00304,"15.2-15.3":0.00304,"15.4":0.00304,"15.5":0.00911,"15.6":0.03036,"16.0":0.00607,"16.1":0.01518,"16.2":0.01214,"16.3":0.01214,"16.4":0.00304,"16.5":0.01214,"16.6":0.04858,"17.0":0.00911,"17.1":0.02732,"17.2":0.05161,"17.3":0.00607},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0005,"5.0-5.1":0.00075,"6.0-6.1":0.00124,"7.0-7.1":0.00174,"8.1-8.4":0.00025,"9.0-9.2":0.00149,"9.3":0.00572,"10.0-10.2":0.0005,"10.3":0.00895,"11.0-11.2":0.00348,"11.3-11.4":0.00373,"12.0-12.1":0.00224,"12.2-12.5":0.04425,"13.0-13.1":0.00075,"13.2":0.0082,"13.3":0.00224,"13.4-13.7":0.00994,"14.0-14.4":0.0174,"14.5-14.8":0.0266,"15.0-15.1":0.01143,"15.2-15.3":0.01317,"15.4":0.01541,"15.5":0.02038,"15.6-15.8":0.15884,"16.0":0.04773,"16.1":0.10167,"16.2":0.04624,"16.3":0.08601,"16.4":0.01914,"16.5":0.04077,"16.6-16.7":0.33359,"17.0":0.05543,"17.1":0.57148,"17.2":0.77358,"17.3":0.04972},P:{"4":0.10445,"20":0.03133,"21":0.04178,"22":0.04178,"23":0.53267,"5.0-5.4":0.01044,"6.2-6.4":0.02089,"7.2-7.4":0.02089,_:"8.2 10.1 12.0 14.0 15.0 16.0","9.2":0.01044,"11.1-11.2":0.01044,"13.0":0.01044,"17.0":0.05222,"18.0":0.01044,"19.0":0.02089},I:{"0":0.06239,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00016},A:{"8":0.00646,"9":0.00323,"10":0.00323,"11":0.13888,_:"6 7 5.5"},K:{"0":2.04209,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.09748,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":4.56773},H:{"0":0.2},L:{"0":63.2509},R:{_:"0"},M:{"0":0.06963}}; diff --git a/.pnpm-store/v3/files/78/d1b345c4bf1d53e103510654eda35104d82ce87609d845d53157fa0c95353afba2c70e0d9a1ef57225e0267f1f3d326a59f7964b7c20e84b960e4a4c437d00 b/.pnpm-store/v3/files/78/d1b345c4bf1d53e103510654eda35104d82ce87609d845d53157fa0c95353afba2c70e0d9a1ef57225e0267f1f3d326a59f7964b7c20e84b960e4a4c437d00 new file mode 100644 index 00000000..b64b67c1 --- /dev/null +++ b/.pnpm-store/v3/files/78/d1b345c4bf1d53e103510654eda35104d82ce87609d845d53157fa0c95353afba2c70e0d9a1ef57225e0267f1f3d326a59f7964b7c20e84b960e4a4c437d00 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L","260":"G M N O"},C:{"1":"3 4 5 6 7 8 RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB VC WC","129":"QB","514":"0 1 2 uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB"},E:{"1":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B XC DC YC ZC aC bC EC"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB iC jC kC lC 2B QC mC 3B"},G:{"1":"xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"Resource Hints: preconnect",D:true}; diff --git a/.pnpm-store/v3/files/78/dde93ffc787bcc72005afdad2621616148a57bf35db1815f1725860ac9c42200a375c3f907260d03a63d64d1dbc0f92a74c25e73d98ce0117584633c432824 b/.pnpm-store/v3/files/78/dde93ffc787bcc72005afdad2621616148a57bf35db1815f1725860ac9c42200a375c3f907260d03a63d64d1dbc0f92a74c25e73d98ce0117584633c432824 new file mode 100644 index 00000000..7cfb7fec --- /dev/null +++ b/.pnpm-store/v3/files/78/dde93ffc787bcc72005afdad2621616148a57bf35db1815f1725860ac9c42200a375c3f907260d03a63d64d1dbc0f92a74c25e73d98ce0117584633c432824 @@ -0,0 +1 @@ +module.exports={C:{"52":0.00753,"73":0.05272,"78":0.0113,"115":0.10168,"118":0.00753,"119":0.01506,"120":0.13934,"121":1.1524,"122":0.22596,"123":0.00377,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 124 125 3.5","3.6":0.00377},D:{"29":0.03389,"40":0.00377,"41":0.00377,"42":0.00377,"43":0.00377,"44":0.00377,"45":0.00377,"46":0.00377,"47":0.00377,"49":0.0113,"51":0.00753,"65":0.03013,"70":0.00377,"74":0.00377,"76":0.00377,"79":0.02636,"80":0.00753,"83":0.00377,"84":0.00377,"85":0.00377,"86":0.00377,"87":0.01883,"89":0.0113,"90":0.00377,"91":0.0113,"92":0.00377,"93":0.00753,"94":0.00377,"95":0.00377,"98":0.00377,"99":0.00753,"101":0.0113,"102":0.01506,"103":0.08662,"104":0.00377,"105":0.00753,"106":0.00753,"107":0.00377,"108":0.01506,"109":1.23525,"110":0.00753,"111":0.0226,"112":0.01506,"113":0.07909,"114":0.03766,"115":0.03389,"116":0.1996,"117":0.03766,"118":0.08285,"119":0.49711,"120":17.40269,"121":2.06,"122":0.01506,"123":0.00377,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 48 50 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 71 72 73 75 77 78 81 88 96 97 100 124"},F:{"28":0.00377,"73":0.00753,"95":0.00377,"104":0.00753,"105":0.67411,"106":0.47828,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00377,"18":0.0113,"89":0.00377,"92":0.00753,"95":0.00377,"97":0.00377,"100":0.00377,"103":0.00377,"107":0.01506,"108":0.00377,"109":0.03389,"112":0.00377,"114":0.0113,"115":0.01506,"116":0.0113,"117":0.0113,"118":0.02636,"119":0.17324,"120":5.295,"121":0.85865,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 90 91 93 94 96 98 99 101 102 104 105 106 110 111 113"},E:{"9":0.00753,"13":0.01883,"14":0.04143,"15":0.01883,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00753,"13.1":0.04519,"14.1":0.22596,"15.1":0.04519,"15.2-15.3":0.0226,"15.4":0.06402,"15.5":0.10921,"15.6":0.31634,"16.0":0.02636,"16.1":0.10921,"16.2":0.06026,"16.3":0.18453,"16.4":0.04896,"16.5":0.18077,"16.6":0.61009,"17.0":0.13558,"17.1":0.7532,"17.2":1.27667,"17.3":0.10545},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00544,"5.0-5.1":0.00817,"6.0-6.1":0.01361,"7.0-7.1":0.01905,"8.1-8.4":0.00272,"9.0-9.2":0.01633,"9.3":0.0626,"10.0-10.2":0.00544,"10.3":0.09798,"11.0-11.2":0.0381,"11.3-11.4":0.04083,"12.0-12.1":0.0245,"12.2-12.5":0.48447,"13.0-13.1":0.00817,"13.2":0.08982,"13.3":0.0245,"13.4-13.7":0.10887,"14.0-14.4":0.19052,"14.5-14.8":0.29123,"15.0-15.1":0.1252,"15.2-15.3":0.14425,"15.4":0.16875,"15.5":0.22318,"15.6-15.8":1.73921,"16.0":0.52258,"16.1":1.1132,"16.2":0.50625,"16.3":0.94173,"16.4":0.20958,"16.5":0.44637,"16.6-16.7":3.65261,"17.0":0.60695,"17.1":6.25734,"17.2":8.47013,"17.3":0.54435},P:{"4":0.20843,"20":0.03126,"21":0.13548,"22":0.13548,"23":2.80333,"5.0-5.4":0.01042,"6.2-6.4":0.01042,"7.2-7.4":0.01042,_:"8.2 9.2 10.1 12.0 15.0","11.1-11.2":0.01042,"13.0":0.01042,"14.0":0.01042,"16.0":0.02084,"17.0":0.01042,"18.0":0.03126,"19.0":0.02084},I:{"0":0.08069,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00021},A:{"7":0.00377,"8":0.02636,"9":0.00377,"10":0.00377,"11":0.03389,_:"6 5.5"},K:{"0":0.34287,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.01247},H:{"0":0},L:{"0":31.94925},R:{_:"0"},M:{"0":0.3304}}; diff --git a/.pnpm-store/v3/files/78/fa94159b7d921a0e33f15a72c67ce617c8d81f4bac70b7396eba1ed685f32eb0ddf5a6c97c65ba3cf4b599bbdd340d78143fbc817c04b62925adc2bd5be269 b/.pnpm-store/v3/files/78/fa94159b7d921a0e33f15a72c67ce617c8d81f4bac70b7396eba1ed685f32eb0ddf5a6c97c65ba3cf4b599bbdd340d78143fbc817c04b62925adc2bd5be269 new file mode 100644 index 00000000..6c1dfaf5 --- /dev/null +++ b/.pnpm-store/v3/files/78/fa94159b7d921a0e33f15a72c67ce617c8d81f4bac70b7396eba1ed685f32eb0ddf5a6c97c65ba3cf4b599bbdd340d78143fbc817c04b62925adc2bd5be269 @@ -0,0 +1,37 @@ +/* + @license + Rollup.js v4.11.0 + Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99 + + https://github.com/rollup/rollup + + Released under the MIT License. +*/ +'use strict'; + +let fsEvents; +let fsEventsImportError; +async function loadFsEvents() { + try { + ({ default: fsEvents } = await import('fsevents')); + } + catch (error) { + fsEventsImportError = error; + } +} +// A call to this function will be injected into the chokidar code +function getFsEvents() { + if (fsEventsImportError) + throw fsEventsImportError; + return fsEvents; +} + +const fseventsImporter = /*#__PURE__*/Object.defineProperty({ + __proto__: null, + getFsEvents, + loadFsEvents +}, Symbol.toStringTag, { value: 'Module' }); + +exports.fseventsImporter = fseventsImporter; +exports.loadFsEvents = loadFsEvents; +//# sourceMappingURL=fsevents-importer.js.map diff --git a/.pnpm-store/v3/files/79/6ddd81010e054b789a648917f3162d7f5e239ff43fb61c3fa56e85f9c541b3cb0f1d5c2590f3b54823d45f4a6fd5f35ec50f3dd97862bf09c3b65c916d3bc6 b/.pnpm-store/v3/files/79/6ddd81010e054b789a648917f3162d7f5e239ff43fb61c3fa56e85f9c541b3cb0f1d5c2590f3b54823d45f4a6fd5f35ec50f3dd97862bf09c3b65c916d3bc6 new file mode 100644 index 00000000..6d750f96 --- /dev/null +++ b/.pnpm-store/v3/files/79/6ddd81010e054b789a648917f3162d7f5e239ff43fb61c3fa56e85f9c541b3cb0f1d5c2590f3b54823d45f4a6fd5f35ec50f3dd97862bf09c3b65c916d3bc6 @@ -0,0 +1 @@ +module.exports={C:{"115":10.34733,"121":0.02162,"122":0.00865,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 123 124 125 3.5 3.6"},D:{"73":0.00432,"83":0.00432,"86":0.04756,"87":0.00432,"105":0.02162,"106":0.03459,"109":0.73076,"113":0.00432,"114":0.01297,"116":0.02162,"117":0.0173,"119":0.08216,"120":16.77712,"121":0.68319,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 79 80 81 84 85 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 107 108 110 111 112 115 118 122 123 124"},F:{"95":0.04324,"105":0.18161,"106":0.37619,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00865,"89":0.00865,"109":0.20323,"113":2.00201,"119":0.1081,"120":2.67656,"121":0.61833,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 114 115 116 117 118"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.3 17.4","12.1":0.00432,"15.6":0.00432,"17.1":0.00432,"17.2":0.03459},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00065,"5.0-5.1":0.00098,"6.0-6.1":0.00163,"7.0-7.1":0.00228,"8.1-8.4":0.00033,"9.0-9.2":0.00195,"9.3":0.00749,"10.0-10.2":0.00065,"10.3":0.01173,"11.0-11.2":0.00456,"11.3-11.4":0.00489,"12.0-12.1":0.00293,"12.2-12.5":0.05798,"13.0-13.1":0.00098,"13.2":0.01075,"13.3":0.00293,"13.4-13.7":0.01303,"14.0-14.4":0.0228,"14.5-14.8":0.03485,"15.0-15.1":0.01498,"15.2-15.3":0.01726,"15.4":0.0202,"15.5":0.02671,"15.6-15.8":0.20815,"16.0":0.06254,"16.1":0.13323,"16.2":0.06059,"16.3":0.11271,"16.4":0.02508,"16.5":0.05342,"16.6-16.7":0.43715,"17.0":0.07264,"17.1":0.74889,"17.2":1.01372,"17.3":0.06515},P:{"20":0.08229,"21":0.04114,"22":0.11315,"23":0.39087,_:"4 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","7.2-7.4":0.12343,"19.0":0.072},I:{"0":0.0113,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.00432,_:"6 7 8 9 10 5.5"},K:{"0":0.32753,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.1135,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.16458},H:{"0":0.03},L:{"0":59.41545},R:{_:"0"},M:{"0":0.70938}}; diff --git a/.pnpm-store/v3/files/79/712cbadae51515ec633cb08b131a195a860e039a36ec0ae7454937643aa750677b61accd943c237ccba468a1abb744d7698d80bfd17a89c9a3ebb36a7c327d b/.pnpm-store/v3/files/79/712cbadae51515ec633cb08b131a195a860e039a36ec0ae7454937643aa750677b61accd943c237ccba468a1abb744d7698d80bfd17a89c9a3ebb36a7c327d new file mode 100644 index 00000000..c23bed24 --- /dev/null +++ b/.pnpm-store/v3/files/79/712cbadae51515ec633cb08b131a195a860e039a36ec0ae7454937643aa750677b61accd943c237ccba468a1abb744d7698d80bfd17a89c9a3ebb36a7c327d @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B I VC WC","33":"9 J D E F A B C K L G"},D:{"1":"0 1 2 3 4 5 6 7 8 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","33":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC","33":"J D E YC ZC aC","292":"9 I"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B iC jC kC lC 2B QC mC","33":"C G M N O AB q r s t BB CB DB EB FB GB"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","33":"E pC qC rC","164":"DC nC RC oC"},H:{"2":"9C"},I:{"1":"H","33":"I DD RC ED FD","164":"7B AD BD CD"},J:{"33":"D A"},K:{"1":"u 3B","2":"A B C 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"CSS Animation",D:true}; diff --git a/.pnpm-store/v3/files/79/755c950a626adced3b22a454fc3a6bc9aa3a4a767071e89a437adbf45ff470b4f10ad4eb3734e313ab40fbddff63bbe4e23e982964e8693f6d0d4e0c8726a6 b/.pnpm-store/v3/files/79/755c950a626adced3b22a454fc3a6bc9aa3a4a767071e89a437adbf45ff470b4f10ad4eb3734e313ab40fbddff63bbe4e23e982964e8693f6d0d4e0c8726a6 new file mode 100644 index 00000000..58da430c --- /dev/null +++ b/.pnpm-store/v3/files/79/755c950a626adced3b22a454fc3a6bc9aa3a4a767071e89a437adbf45ff470b4f10ad4eb3734e313ab40fbddff63bbe4e23e982964e8693f6d0d4e0c8726a6 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O P Q R S T U V W X Y","194":"0 1 2 3 4 5 6 7 8 Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T","194":"0 1 2 3 4 5 6 7 8 X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","322":"U V W"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB iC jC kC lC 2B QC mC 3B","194":"xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","322":"u wB"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"CSS @scroll-timeline",D:true}; diff --git a/.pnpm-store/v3/files/79/940d4ede7241953a8a1069c27ced8c68564a030fc5c6a5ab6df3c796922912ad14bb35c6a3384c9ca768a2f25f9a6017ef793fdf42ec9f99b69cf8e194b851 b/.pnpm-store/v3/files/79/940d4ede7241953a8a1069c27ced8c68564a030fc5c6a5ab6df3c796922912ad14bb35c6a3384c9ca768a2f25f9a6017ef793fdf42ec9f99b69cf8e194b851 new file mode 100644 index 00000000..b4264996 --- /dev/null +++ b/.pnpm-store/v3/files/79/940d4ede7241953a8a1069c27ced8c68564a030fc5c6a5ab6df3c796922912ad14bb35c6a3384c9ca768a2f25f9a6017ef793fdf42ec9f99b69cf8e194b851 @@ -0,0 +1 @@ +module.exports={C:{"36":0.00246,"48":0.00492,"74":0.03445,"78":0.00246,"94":0.01723,"109":0.00492,"111":0.00246,"113":0.00738,"115":0.61279,"116":0.00984,"118":0.00246,"119":0.00246,"120":0.01969,"121":0.98686,"122":0.17227,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 114 117 123 124 125 3.5 3.6"},D:{"46":0.01231,"49":0.00738,"58":0.00738,"63":0.00492,"65":0.09598,"67":0.00246,"68":0.00246,"70":0.00246,"75":0.01723,"76":0.02461,"79":0.00738,"81":0.00492,"86":0.00492,"87":0.00984,"89":0.00492,"90":0.00246,"92":0.00246,"96":0.00738,"98":0.00246,"99":0.06153,"100":0.00246,"101":0.00246,"102":0.00246,"103":0.01231,"104":0.00738,"105":0.00246,"107":0.03692,"108":0.00738,"109":1.46922,"110":0.00246,"111":0.00738,"112":0.00738,"113":0.00492,"114":0.11075,"115":0.03445,"116":0.03938,"117":0.02953,"118":0.03445,"119":0.21411,"120":11.34521,"121":0.5365,"122":0.02953,"123":0.00246,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 50 51 52 53 54 55 56 57 59 60 61 62 64 66 69 71 72 73 74 77 78 80 83 84 85 88 91 93 94 95 97 106 124"},F:{"86":0.02461,"95":0.14028,"105":0.04676,"106":1.51844,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.01723,"14":0.00492,"15":0.00738,"16":0.01231,"17":0.01723,"18":0.00738,"84":0.00246,"85":0.00246,"89":0.00492,"90":0.00492,"92":0.01723,"100":0.00738,"102":0.00492,"104":0.00492,"108":0.01477,"109":0.00738,"110":0.00246,"112":0.00492,"113":0.00492,"114":0.01723,"115":0.00492,"116":0.00492,"117":0.00492,"118":0.01723,"119":0.0443,"120":2.24935,"121":0.37899,_:"13 79 80 81 83 86 87 88 91 93 94 95 96 97 98 99 101 103 105 106 107 111"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 16.1 16.2 17.0 17.4","13.1":0.01231,"14.1":0.00492,"15.2-15.3":0.07629,"15.4":0.00246,"15.5":0.00738,"15.6":0.02953,"16.0":0.00246,"16.3":0.00492,"16.4":0.03199,"16.5":0.01969,"16.6":0.03692,"17.1":0.02215,"17.2":0.34454,"17.3":0.00246},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00147,"5.0-5.1":0.00221,"6.0-6.1":0.00368,"7.0-7.1":0.00515,"8.1-8.4":0.00074,"9.0-9.2":0.00441,"9.3":0.01691,"10.0-10.2":0.00147,"10.3":0.02646,"11.0-11.2":0.01029,"11.3-11.4":0.01103,"12.0-12.1":0.00662,"12.2-12.5":0.13084,"13.0-13.1":0.00221,"13.2":0.02426,"13.3":0.00662,"13.4-13.7":0.0294,"14.0-14.4":0.05145,"14.5-14.8":0.07865,"15.0-15.1":0.03381,"15.2-15.3":0.03896,"15.4":0.04557,"15.5":0.06027,"15.6-15.8":0.4697,"16.0":0.14113,"16.1":0.30064,"16.2":0.13672,"16.3":0.25433,"16.4":0.0566,"16.5":0.12055,"16.6-16.7":0.98644,"17.0":0.16392,"17.1":1.68989,"17.2":2.28748,"17.3":0.14701},P:{"4":0.13158,"20":0.07085,"21":0.24292,"22":0.62753,"23":2.75305,"5.0-5.4":0.01012,"6.2-6.4":0.01012,"7.2-7.4":0.5162,_:"8.2 10.1 17.0","9.2":0.01012,"11.1-11.2":0.09109,"12.0":0.01012,"13.0":0.03036,"14.0":0.07085,"15.0":0.01012,"16.0":0.02024,"18.0":0.03036,"19.0":0.12146},I:{"0":0.07506,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.0002},A:{"11":0.01231,_:"6 7 8 9 10 5.5"},K:{"0":0.6182,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":1.39472},H:{"0":0},L:{"0":64.08536},R:{_:"0"},M:{"0":0.20355}}; diff --git a/.pnpm-store/v3/files/79/f063f90d1f0c1f9e1f84b95fbc71bc6fb0612390f9dacb23fd740365c6636aed2690b8634d8d39e845ebf5c3d067349ef64f543b152d619d3ed4a198783add b/.pnpm-store/v3/files/79/f063f90d1f0c1f9e1f84b95fbc71bc6fb0612390f9dacb23fd740365c6636aed2690b8634d8d39e845ebf5c3d067349ef64f543b152d619d3ed4a198783add new file mode 100644 index 00000000..6356afed --- /dev/null +++ b/.pnpm-store/v3/files/79/f063f90d1f0c1f9e1f84b95fbc71bc6fb0612390f9dacb23fd740365c6636aed2690b8634d8d39e845ebf5c3d067349ef64f543b152d619d3ed4a198783add @@ -0,0 +1,50 @@ +{ + "name": "@types/semver", + "version": "7.5.7", + "description": "TypeScript definitions for semver", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/semver", + "license": "MIT", + "contributors": [ + { + "name": "Bart van der Schoor", + "githubUsername": "Bartvds", + "url": "https://github.com/Bartvds" + }, + { + "name": "BendingBender", + "githubUsername": "BendingBender", + "url": "https://github.com/BendingBender" + }, + { + "name": "Lucian Buzzo", + "githubUsername": "LucianBuzzo", + "url": "https://github.com/LucianBuzzo" + }, + { + "name": "Klaus Meinhardt", + "githubUsername": "ajafff", + "url": "https://github.com/ajafff" + }, + { + "name": "ExE Boss", + "githubUsername": "ExE-Boss", + "url": "https://github.com/ExE-Boss" + }, + { + "name": "Piotr Błażejewicz", + "githubUsername": "peterblazejewicz", + "url": "https://github.com/peterblazejewicz" + } + ], + "main": "", + "types": "index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/semver" + }, + "scripts": {}, + "dependencies": {}, + "typesPublisherContentHash": "7c7ea7462a324ee8deea0da7362589ed48c4d8ade91fa5078d1f647af570c15e", + "typeScriptVersion": "4.6" +} \ No newline at end of file diff --git a/.pnpm-store/v3/files/7a/3f2e37303501a7d462d6850384057e14bf68438bfecd4afe9380c4ed442c6a8dd1a3ef6cbb61eba0d41f6701f6f4f582f8acbb2549a7afeb02bdfb0d2b6677 b/.pnpm-store/v3/files/7a/3f2e37303501a7d462d6850384057e14bf68438bfecd4afe9380c4ed442c6a8dd1a3ef6cbb61eba0d41f6701f6f4f582f8acbb2549a7afeb02bdfb0d2b6677 new file mode 100644 index 00000000..2af70323 --- /dev/null +++ b/.pnpm-store/v3/files/7a/3f2e37303501a7d462d6850384057e14bf68438bfecd4afe9380c4ed442c6a8dd1a3ef6cbb61eba0d41f6701f6f4f582f8acbb2549a7afeb02bdfb0d2b6677 @@ -0,0 +1,78 @@ +{ + "name": "mdast-util-phrasing", + "version": "4.1.0", + "description": "mdast utility to check if a node is phrasing content", + "license": "MIT", + "keywords": [ + "unist", + "mdast", + "mdast=util", + "util", + "utility", + "markdown", + "phrasing" + ], + "repository": "syntax-tree/mdast-util-phrasing", + "bugs": "https://github.com/syntax-tree/mdast-util-phrasing/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Victor Felder (https://draft.li)", + "contributors": [ + "Victor Felder (https://draft.li)", + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "exports": "./index.js", + "files": [ + "lib/", + "index.d.ts", + "index.js" + ], + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "c8": "^9.0.0", + "prettier": "^3.0.0", + "remark-cli": "^11.0.0", + "remark-preset-wooorm": "^9.0.0", + "type-coverage": "^2.0.0", + "typescript": "^5.0.0", + "xo": "^0.56.0" + }, + "scripts": { + "prepack": "npm run build && npm run format", + "build": "tsc --build --clean && tsc --build && type-coverage", + "format": "remark . -qfo && prettier . -w --log-level warn && xo --fix", + "test-api": "node --conditions development test.js", + "test-coverage": "c8 --100 --reporter lcov npm run test-api", + "test": "npm run build && npm run format && npm run test-coverage" + }, + "prettier": { + "bracketSpacing": false, + "semi": false, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "none", + "useTabs": false + }, + "remarkConfig": { + "plugins": [ + "remark-preset-wooorm" + ] + }, + "typeCoverage": { + "atLeast": 100, + "detail": true, + "ignoreCatch": true, + "strict": true + }, + "xo": { + "prettier": true + } +} diff --git a/.pnpm-store/v3/files/7a/792e950278d4a24a613409d227f271c8d3e85cb684e40df0f4a28b0fc062ae921278eb31e44a26e156de929906bf5da3d3d5b76e4eb1d9165c4c08a5c6548b b/.pnpm-store/v3/files/7a/792e950278d4a24a613409d227f271c8d3e85cb684e40df0f4a28b0fc062ae921278eb31e44a26e156de929906bf5da3d3d5b76e4eb1d9165c4c08a5c6548b new file mode 100644 index 00000000..b8e17688 --- /dev/null +++ b/.pnpm-store/v3/files/7a/792e950278d4a24a613409d227f271c8d3e85cb684e40df0f4a28b0fc062ae921278eb31e44a26e156de929906bf5da3d3d5b76e4eb1d9165c4c08a5c6548b @@ -0,0 +1,44 @@ +{ + "name": "browserslist", + "version": "4.23.0", + "description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset", + "keywords": [ + "caniuse", + "browsers", + "target" + ], + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "author": "Andrey Sitnik ", + "license": "MIT", + "repository": "browserslist/browserslist", + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "bin": { + "browserslist": "cli.js" + }, + "types": "./index.d.ts", + "browser": { + "./node.js": "./browser.js", + "path": false + } +} diff --git a/.pnpm-store/v3/files/7a/a4b9fed2a0acdbf497aad06b3cafa9fb9c646854fba4527f76e011ae0cb8fc51f409c9d465cf4da62deabd26fe519006c305f78a2c3159288522dc0f7a9d0c b/.pnpm-store/v3/files/7a/a4b9fed2a0acdbf497aad06b3cafa9fb9c646854fba4527f76e011ae0cb8fc51f409c9d465cf4da62deabd26fe519006c305f78a2c3159288522dc0f7a9d0c new file mode 100644 index 00000000..239fe132 --- /dev/null +++ b/.pnpm-store/v3/files/7a/a4b9fed2a0acdbf497aad06b3cafa9fb9c646854fba4527f76e011ae0cb8fc51f409c9d465cf4da62deabd26fe519006c305f78a2c3159288522dc0f7a9d0c @@ -0,0 +1,494 @@ +# trough + +[![Build][badge-build-image]][badge-build-url] +[![Coverage][badge-coverage-image]][badge-coverage-url] +[![Downloads][badge-downloads-image]][badge-downloads-url] +[![Size][badge-size-image]][badge-size-url] + +`trough` is middleware. + +## Contents + +* [What is this?](#what-is-this) +* [When should I use this?](#when-should-i-use-this) +* [Install](#install) +* [Use](#use) +* [API](#api) + * [`trough()`](#trough-1) + * [`wrap(middleware, callback)`](#wrapmiddleware-callback) + * [`Callback`](#callback) + * [`Middleware`](#middleware) + * [`Pipeline`](#pipeline) + * [`Run`](#run) + * [`Use`](#use-1) +* [Compatibility](#compatibility) +* [Security](#security) +* [Contribute](#contribute) +* [License](#license) + +## What is this? + +`trough` is like [`ware`][github-segmentio-ware] with less sugar. +Middleware functions can also change the input of the next. + +The word **trough** (`/trôf/`) means a channel used to convey a liquid. + +## When should I use this? + +You can use this package when you’re building something that accepts “plugins”, +which are functions, that can be sync or async, promises or callbacks. + +## Install + +This package is [ESM only][github-gist-esm]. +In Node.js (version 16+), +install with [npm][npm-install]: + +```sh +npm install trough +``` + +In Deno with [`esm.sh`][esm-sh]: + +```js +import {trough, wrap} from 'https://esm.sh/trough@2' +``` + +In browsers with [`esm.sh`][esm-sh]: + +```html + +``` + +## Use + +```js +import fs from 'node:fs' +import path from 'node:path' +import process from 'node:process' +import {trough} from 'trough' + +const pipeline = trough() + .use(function (fileName) { + console.log('Checking… ' + fileName) + }) + .use(function (fileName) { + return path.join(process.cwd(), fileName) + }) + .use(function (filePath, next) { + fs.stat(filePath, function (error, stats) { + next(error, {filePath, stats}) + }) + }) + .use(function (ctx, next) { + if (ctx.stats.isFile()) { + fs.readFile(ctx.filePath, next) + } else { + next(new Error('Expected file')) + } + }) + +pipeline.run('readme.md', console.log) +pipeline.run('node_modules', console.log) +``` + +Yields: + +```txt +Checking… readme.md +Checking… node_modules +Error: Expected file + at ~/example.js:22:12 + at wrapped (~/node_modules/trough/index.js:111:16) + at next (~/node_modules/trough/index.js:62:23) + at done (~/node_modules/trough/index.js:145:7) + at ~/example.js:15:7 + at FSReqCallback.oncomplete (node:fs:199:5) +null +``` + +## API + +This package exports the identifiers +[`trough`][api-trough] and +[`wrap`][api-wrap]. +There is no default export. + +It exports the [TypeScript][] types +[`Callback`][api-callback], +[`Middleware`][api-middleware], +[`Pipeline`][api-pipeline], +[`Run`][api-run], +and [`Use`][api-use]. + +### `trough()` + +Create new middleware. + +###### Parameters + +There are no parameters. + +###### Returns + +[`Pipeline`][api-pipeline]. + +### `wrap(middleware, callback)` + +Wrap `middleware` into a uniform interface. + +You can pass all input to the resulting function. +`callback` is then called with the output of `middleware`. + +If `middleware` accepts more arguments than the later given in input, +an extra `done` function is passed to it after that input, +which must be called by `middleware`. + +The first value in `input` is the main input value. +All other input values are the rest input values. +The values given to `callback` are the input values, +merged with every non-nullish output value. + +* if `middleware` throws an error, + returns a promise that is rejected, + or calls the given `done` function with an error, + `callback` is called with that error +* if `middleware` returns a value or returns a promise that is resolved, + that value is the main output value +* if `middleware` calls `done`, + all non-nullish values except for the first one (the error) overwrite the + output values + +###### Parameters + +* `middleware` ([`Middleware`][api-middleware]) + — function to wrap +* `callback` ([`Callback`][api-callback]) + — callback called with the output of `middleware` + +###### Returns + +Wrapped middleware ([`Run`][api-run]). + +### `Callback` + +Callback function (TypeScript type). + +###### Parameters + +* `error` (`Error`, optional) + — error, if any +* `...output` (`Array`, optional) + — output values + +###### Returns + +Nothing (`undefined`). + +### `Middleware` + +A middleware function called with the output of its predecessor (TypeScript +type). + +###### Synchronous + +If `fn` returns or throws an error, +the pipeline fails and `done` is called with that error. + +If `fn` returns a value (neither `null` nor `undefined`), +the first `input` of the next function is set to that value +(all other `input` is passed through). + +The following example shows how returning an error stops the pipeline: + +```js +import {trough} from 'trough' + +trough() + .use(function (thing) { + return new Error('Got: ' + thing) + }) + .run('some value', console.log) +``` + +Yields: + +```txt +Error: Got: some value + at ~/example.js:5:12 + … +``` + +The following example shows how throwing an error stops the pipeline: + +```js +import {trough} from 'trough' + +trough() + .use(function (thing) { + throw new Error('Got: ' + thing) + }) + .run('more value', console.log) +``` + +Yields: + +```txt +Error: Got: more value + at ~/example.js:5:11 + … +``` + +The following example shows how the first output can be modified: + +```js +import {trough} from 'trough' + +trough() + .use(function (thing) { + return 'even ' + thing + }) + .run('more value', 'untouched', console.log) +``` + +Yields: + +```txt +null 'even more value' 'untouched' +``` + +###### Promise + +If `fn` returns a promise, +and that promise rejects, +the pipeline fails and `done` is called with the rejected value. + +If `fn` returns a promise, +and that promise resolves with a value (neither `null` nor `undefined`), +the first `input` of the next function is set to that value (all other `input` +is passed through). + +The following example shows how rejecting a promise stops the pipeline: + +```js +import {trough} from 'trough' + +trough() + .use(function (thing) { + return new Promise(function (resolve, reject) { + reject('Got: ' + thing) + }) + }) + .run('thing', console.log) +``` + +Yields: + +```txt +Got: thing +``` + +The following example shows how the input isn’t touched by resolving to `null`. + +```js +import {trough} from 'trough' + +trough() + .use(function () { + return new Promise(function (resolve) { + setTimeout(function () { + resolve(null) + }, 100) + }) + }) + .run('Input', console.log) +``` + +Yields: + +```txt +null 'Input' +``` + +###### Asynchronous + +If `fn` accepts one more argument than the given `input`, +a `next` function is given (after the input). +`next` must be called, but doesn’t have to be called async. + +If `next` is given a value (neither `null` nor `undefined`) as its first +argument, +the pipeline fails and `done` is called with that value. + +If `next` is given no value (either `null` or `undefined`) as the first +argument, +all following non-nullish values change the input of the following +function, +and all nullish values default to the `input`. + +The following example shows how passing a first argument stops the pipeline: + +```js +import {trough} from 'trough' + +trough() + .use(function (thing, next) { + next(new Error('Got: ' + thing)) + }) + .run('thing', console.log) +``` + +Yields: + +```txt +Error: Got: thing + at ~/example.js:5:10 +``` + +The following example shows how more values than the input are passed. + +```js +import {trough} from 'trough' + +trough() + .use(function (thing, next) { + setTimeout(function () { + next(null, null, 'values') + }, 100) + }) + .run('some', console.log) +``` + +Yields: + +```txt +null 'some' 'values' +``` + +###### Parameters + +* `...input` (`Array`, optional) + — input values + +###### Returns + +Output, promise, etc (`any`). + +### `Pipeline` + +Pipeline (TypeScript type). + +###### Properties + +* `run` ([`Run`][api-run]) + — run the pipeline +* `use` ([`Use`][api-use]) + — add middleware + +### `Run` + +Call all middleware (TypeScript type). + +Calls `done` on completion with either an error or the output of the +last middleware. + +> 👉 **Note**: as the length of input defines whether async functions get a +> `next` function, +> it’s recommended to keep `input` at one value normally. + +###### Parameters + +* `...input` (`Array`, optional) + — input values +* `done` ([`Callback`][api-callback]) + — callback called when done + +###### Returns + +Nothing (`undefined`). + +### `Use` + +Add middleware (TypeScript type). + +###### Parameters + +* `middleware` ([`Middleware`][api-middleware]) + — middleware function + +###### Returns + +Current pipeline ([`Pipeline`][api-pipeline]). + +## Compatibility + +This projects is compatible with maintained versions of Node.js. + +When we cut a new major release, +we drop support for unmaintained versions of Node. +This means we try to keep the current release line, +`trough@2`, +compatible with Node.js 12. + +## Security + +This package is safe. + +## Contribute + +Yes please! +See [How to Contribute to Open Source][open-source-guide-contribute]. + +## License + +[MIT][file-license] © [Titus Wormer][wooorm] + + + +[api-callback]: #callback + +[api-middleware]: #middleware + +[api-pipeline]: #pipeline + +[api-run]: #run + +[api-trough]: #trough + +[api-use]: #use + +[api-wrap]: #wrapmiddleware-callback + +[badge-build-image]: https://github.com/wooorm/trough/workflows/main/badge.svg + +[badge-build-url]: https://github.com/wooorm/trough/actions + +[badge-coverage-image]: https://img.shields.io/codecov/c/github/wooorm/trough.svg + +[badge-coverage-url]: https://codecov.io/github/wooorm/trough + +[badge-downloads-image]: https://img.shields.io/npm/dm/trough.svg + +[badge-downloads-url]: https://www.npmjs.com/package/trough + +[badge-size-image]: https://img.shields.io/bundlejs/size/trough + +[badge-size-url]: https://bundlejs.com/?q=trough + +[npm-install]: https://docs.npmjs.com/cli/install + +[esm-sh]: https://esm.sh + +[file-license]: license + +[github-gist-esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c + +[github-segmentio-ware]: https://github.com/segmentio/ware + +[open-source-guide-contribute]: https://opensource.guide/how-to-contribute/ + +[typescript]: https://www.typescriptlang.org + +[wooorm]: https://wooorm.com diff --git a/.pnpm-store/v3/files/7a/eecfd638f150d101238e3fe352466ac8e8fc6b3f48367d99888216b21e01b63795bd240c83ddc57b0528840be71417bd2fe786ac5f3124388598bb17b4cdec b/.pnpm-store/v3/files/7a/eecfd638f150d101238e3fe352466ac8e8fc6b3f48367d99888216b21e01b63795bd240c83ddc57b0528840be71417bd2fe786ac5f3124388598bb17b4cdec new file mode 100644 index 00000000..b32664b2 --- /dev/null +++ b/.pnpm-store/v3/files/7a/eecfd638f150d101238e3fe352466ac8e8fc6b3f48367d99888216b21e01b63795bd240c83ddc57b0528840be71417bd2fe786ac5f3124388598bb17b4cdec @@ -0,0 +1 @@ +module.exports={C:{"48":0.0066,"52":0.0264,"55":0.0132,"71":0.0066,"75":0.0132,"78":0.05281,"83":0.0066,"84":0.0066,"91":0.0066,"99":0.0066,"102":0.0264,"107":0.0066,"108":0.0132,"109":0.0132,"112":0.0066,"113":0.06601,"114":0.0066,"115":0.81852,"116":0.0132,"117":0.0132,"118":0.0198,"119":0.04621,"120":0.10562,"121":3.55134,"122":0.81852,"123":0.0066,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 72 73 74 76 77 79 80 81 82 85 86 87 88 89 90 92 93 94 95 96 97 98 100 101 103 104 105 106 110 111 124 125 3.5 3.6"},D:{"38":0.0066,"49":0.0264,"52":0.11222,"66":0.07261,"71":0.0066,"76":0.0264,"78":0.0066,"79":0.04621,"80":0.0198,"81":0.0132,"83":0.0066,"84":0.0132,"85":0.0264,"86":0.0132,"87":0.07261,"89":0.0066,"90":0.0066,"92":0.0066,"93":0.0132,"94":0.0066,"95":0.0066,"96":0.0066,"97":0.0066,"98":0.0066,"99":0.0132,"100":0.0198,"101":0.0264,"102":0.0264,"103":0.14522,"104":0.0198,"105":0.0066,"106":0.0132,"107":0.0264,"108":0.03961,"109":1.27399,"110":0.03301,"111":0.04621,"112":0.04621,"113":0.09241,"114":0.06601,"115":0.07921,"116":0.48847,"117":0.09241,"118":0.29705,"119":0.93734,"120":30.23918,"121":1.50503,"122":0.0066,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 72 73 74 75 77 88 91 123 124"},F:{"46":0.0066,"95":0.0198,"99":0.0066,"102":0.0066,"104":0.0066,"105":0.57429,"106":0.60069,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.0066,"89":0.0066,"91":0.0066,"92":0.0066,"96":0.0066,"107":0.03961,"108":0.0066,"109":0.25084,"110":0.0132,"111":0.06601,"112":0.0198,"113":0.0264,"114":0.0264,"115":0.0198,"116":0.07921,"117":0.03961,"118":0.05941,"119":0.25744,"120":13.39343,"121":1.53143,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 90 93 94 95 97 98 99 100 101 102 103 104 105 106"},E:{"13":0.0132,"14":0.05941,"15":0.0132,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1 17.4","9.1":0.0066,"11.1":0.0066,"12.1":0.05281,"13.1":0.23764,"14.1":0.19143,"15.1":0.03301,"15.2-15.3":0.03961,"15.4":0.04621,"15.5":0.07261,"15.6":0.6601,"16.0":0.08581,"16.1":0.11882,"16.2":0.09902,"16.3":0.22443,"16.4":0.09241,"16.5":0.19143,"16.6":0.87133,"17.0":0.15842,"17.1":1.16178,"17.2":1.76247,"17.3":0.15182},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00341,"5.0-5.1":0.00512,"6.0-6.1":0.00853,"7.0-7.1":0.01195,"8.1-8.4":0.00171,"9.0-9.2":0.01024,"9.3":0.03926,"10.0-10.2":0.00341,"10.3":0.06145,"11.0-11.2":0.0239,"11.3-11.4":0.0256,"12.0-12.1":0.01536,"12.2-12.5":0.30384,"13.0-13.1":0.00512,"13.2":0.05633,"13.3":0.01536,"13.4-13.7":0.06828,"14.0-14.4":0.11949,"14.5-14.8":0.18265,"15.0-15.1":0.07852,"15.2-15.3":0.09047,"15.4":0.10583,"15.5":0.13997,"15.6-15.8":1.09076,"16.0":0.32774,"16.1":0.69815,"16.2":0.3175,"16.3":0.59061,"16.4":0.13144,"16.5":0.27994,"16.6-16.7":2.29076,"17.0":0.38066,"17.1":3.92434,"17.2":5.31211,"17.3":0.3414},P:{"4":0.07449,"20":0.02128,"21":0.06385,"22":0.07449,"23":2.7879,"5.0-5.4":0.01064,_:"6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 16.0","15.0":0.01064,"17.0":0.01064,"18.0":0.01064,"19.0":0.02128},I:{"0":0.02369,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"8":0.0066,"11":0.08581,_:"6 7 9 10 5.5"},K:{"0":0.21414,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.02719},H:{"0":0},L:{"0":13.05591},R:{_:"0"},M:{"0":0.52345}}; diff --git a/.pnpm-store/v3/files/7b/f7be8ca76393772e5884f47579219d7e8ccff6c6d5ed1547fff95b08016feb32d505da781e123122928fdd48325cfe1ae70ea815e216b3e1c3b96a43cfab00 b/.pnpm-store/v3/files/7b/f7be8ca76393772e5884f47579219d7e8ccff6c6d5ed1547fff95b08016feb32d505da781e123122928fdd48325cfe1ae70ea815e216b3e1c3b96a43cfab00 new file mode 100644 index 00000000..fe7aacd4 --- /dev/null +++ b/.pnpm-store/v3/files/7b/f7be8ca76393772e5884f47579219d7e8ccff6c6d5ed1547fff95b08016feb32d505da781e123122928fdd48325cfe1ae70ea815e216b3e1c3b96a43cfab00 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","2":"0 1 2 3 4 5 6 7 8 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB","2":"F B C u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:6,C:"SDCH Accept-Encoding/Content-Encoding",D:true}; diff --git a/.pnpm-store/v3/files/7c/6467d416808a147494c2ae6d36118eae11fdbf995b455e8fcec4edb0bd70e72660395d987f7e28a5bab7e97988e0e2f3f005053c211a0e858e0142d063361b b/.pnpm-store/v3/files/7c/6467d416808a147494c2ae6d36118eae11fdbf995b455e8fcec4edb0bd70e72660395d987f7e28a5bab7e97988e0e2f3f005053c211a0e858e0142d063361b new file mode 100644 index 00000000..26fb911b --- /dev/null +++ b/.pnpm-store/v3/files/7c/6467d416808a147494c2ae6d36118eae11fdbf995b455e8fcec4edb0bd70e72660395d987f7e28a5bab7e97988e0e2f3f005053c211a0e858e0142d063361b @@ -0,0 +1 @@ +module.exports={A:{A:{J:0,D:0,E:0.0130265,F:0.0390796,A:0,B:0.442902,SC:0},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","SC","J","D","E","F","A","B","","",""],E:"IE",F:{SC:962323200,J:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968000}},B:{A:{"0":0.007984,"1":0.015968,"2":0.015968,"3":0.011976,"4":0.015968,"5":0.015968,"6":0.035928,"7":0.267464,"8":3.72853,C:0,K:0,L:0,G:0.003992,M:0,N:0.003992,O:0.011976,P:0,Q:0,R:0,S:0,T:0,U:0,V:0,W:0.35928,X:0,Y:0,Z:0,a:0,b:0.011976,c:0,d:0,e:0,f:0,g:0,h:0,i:0.015968,j:0,k:0,l:0,m:0,n:0,o:0,p:0.003992,v:0.007984,w:0.011976,x:0.067864,y:0.007984,z:0.007984,H:0.522952},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","K","L","G","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","v","w","x","y","z","0","1","2","3","4","5","6","7","8","H","","",""],E:"Edge",F:{"0":1680825600,"1":1683158400,"2":1685664000,"3":1689897600,"4":1692576000,"5":1694649600,"6":1697155200,"7":1698969600,"8":1701993600,C:1438128000,K:1447286400,L:1470096000,G:1491868800,M:1508198400,N:1525046400,O:1542067200,P:1579046400,Q:1581033600,R:1586736000,S:1590019200,T:1594857600,U:1598486400,V:1602201600,W:1605830400,X:1611360000,Y:1614816000,Z:1618358400,a:1622073600,b:1626912000,c:1630627200,d:1632441600,e:1634774400,f:1637539200,g:1641427200,h:1643932800,i:1646265600,j:1649635200,k:1651190400,l:1653955200,m:1655942400,n:1659657600,o:1661990400,p:1664755200,v:1666915200,w:1670198400,x:1673481600,y:1675900800,z:1678665600,H:1706227200},D:{C:"ms",K:"ms",L:"ms",G:"ms",M:"ms",N:"ms",O:"ms"}},C:{A:{"0":0.003992,"1":0.007984,"2":0.011976,"3":0.467064,"4":0.003992,"5":0.007984,"6":0.087824,"7":0.227544,"8":0.231536,"9":0,TC:0,"7B":0,I:0.003992,J:0,D:0,E:0,F:0,A:0,B:0.027944,C:0.03992,K:0,L:0,G:0,M:0,N:0,O:0,AB:0,q:0,r:0,s:0,t:0,BB:0,CB:0,DB:0,EB:0,FB:0,GB:0,HB:0,IB:0,JB:0,KB:0,LB:0,MB:0,NB:0,OB:0,PB:0,QB:0,RB:0,SB:0,TB:0,UB:0.007984,VB:0.007984,WB:0.003992,XB:0,YB:0,ZB:0,aB:0,bB:0.003992,cB:0,dB:0.055888,eB:0.007984,fB:0.007984,gB:0.007984,hB:0.01996,iB:0,jB:0,"8B":0.003992,kB:0,"9B":0,lB:0,mB:0,nB:0,oB:0,pB:0,qB:0,rB:0,sB:0,tB:0,uB:0,vB:0.003992,u:0,wB:0,xB:0,yB:0,zB:0,"0B":0.015968,P:0,Q:0,R:0,AC:0,S:0,T:0,U:0,V:0,W:0,X:0.007984,Y:0,Z:0,a:0.011976,b:0,c:0,d:0.007984,e:0,f:0,g:0,h:0,i:0,j:0,k:0.011976,l:0.027944,m:0.031936,n:0.003992,o:0.003992,p:0,v:0.003992,w:0.007984,x:0.007984,y:0.003992,z:0.003992,H:1.2455,"1B":0.275448,BC:0,CC:0,UC:0,VC:0,WC:0},B:"moz",C:["TC","7B","VC","WC","I","9","J","D","E","F","A","B","C","K","L","G","M","N","O","AB","q","r","s","t","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","8B","kB","9B","lB","mB","nB","oB","pB","qB","rB","sB","tB","uB","vB","u","wB","xB","yB","zB","0B","P","Q","R","AC","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","v","w","x","y","z","0","1","2","3","4","5","6","7","8","H","1B","BC","CC","UC"],E:"Firefox",F:{"0":1681171200,"1":1683590400,"2":1686009600,"3":1688428800,"4":1690848000,"5":1693267200,"6":1695686400,"7":1698105600,"8":1700524800,"9":1308614400,TC:1161648000,"7B":1213660800,VC:1246320000,WC:1264032000,I:1300752000,J:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968000,C:1331596800,K:1335225600,L:1338854400,G:1342483200,M:1346112000,N:1349740800,O:1353628800,AB:1357603200,q:1361232000,r:1364860800,s:1368489600,t:1372118400,BB:1375747200,CB:1379376000,DB:1386633600,EB:1391472000,FB:1395100800,GB:1398729600,HB:1402358400,IB:1405987200,JB:1409616000,KB:1413244800,LB:1417392000,MB:1421107200,NB:1424736000,OB:1428278400,PB:1431475200,QB:1435881600,RB:1439251200,SB:1442880000,TB:1446508800,UB:1450137600,VB:1453852800,WB:1457395200,XB:1461628800,YB:1465257600,ZB:1470096000,aB:1474329600,bB:1479168000,cB:1485216000,dB:1488844800,eB:1492560000,fB:1497312000,gB:1502150400,hB:1506556800,iB:1510617600,jB:1516665600,"8B":1520985600,kB:1525824000,"9B":1529971200,lB:1536105600,mB:1540252800,nB:1544486400,oB:1548720000,pB:1552953600,qB:1558396800,rB:1562630400,sB:1567468800,tB:1571788800,uB:1575331200,vB:1578355200,u:1581379200,wB:1583798400,xB:1586304000,yB:1588636800,zB:1591056000,"0B":1593475200,P:1595894400,Q:1598313600,R:1600732800,AC:1603152000,S:1605571200,T:1607990400,U:1611619200,V:1614038400,W:1616457600,X:1618790400,Y:1622505600,Z:1626134400,a:1628553600,b:1630972800,c:1633392000,d:1635811200,e:1638835200,f:1641859200,g:1644364800,h:1646697600,i:1649116800,j:1651536000,k:1653955200,l:1656374400,m:1658793600,n:1661212800,o:1663632000,p:1666051200,v:1668470400,w:1670889600,x:1673913600,y:1676332800,z:1678752000,H:1702944000,"1B":1705968000,BC:null,CC:null,UC:null}},D:{A:{"0":0.075848,"1":0.15968,"2":0.115768,"3":0.07984,"4":0.263472,"5":0.195608,"6":0.467064,"7":2.4471,"8":15.8562,"9":0,I:0,J:0,D:0,E:0,F:0,A:0,B:0,C:0,K:0,L:0,G:0,M:0,N:0,O:0,AB:0,q:0,r:0,s:0,t:0,BB:0,CB:0,DB:0,EB:0,FB:0,GB:0,HB:0,IB:0,JB:0,KB:0,LB:0.003992,MB:0,NB:0,OB:0,PB:0.015968,QB:0,RB:0,SB:0,TB:0,UB:0,VB:0,WB:0.007984,XB:0,YB:0.003992,ZB:0.031936,aB:0.027944,bB:0.007984,cB:0,dB:0,eB:0.007984,fB:0.007984,gB:0.007984,hB:0.015968,iB:0.007984,jB:0,"8B":0,kB:0.015968,"9B":0.003992,lB:0,mB:0.003992,nB:0,oB:0.003992,pB:0.027944,qB:0.007984,rB:0,sB:0.035928,tB:0.023952,uB:0.007984,vB:0.003992,u:0.011976,wB:0.007984,xB:0.007984,yB:0.007984,zB:0.011976,"0B":0.015968,P:0.11976,Q:0.015968,R:0.031936,S:0.043912,T:0.007984,U:0.023952,V:0.03992,W:0.083832,X:0.01996,Y:0.015968,Z:0.01996,a:0.05988,b:0.027944,c:0.051896,d:0.047904,e:0.011976,f:0.015968,g:0.015968,h:0.067864,i:0.035928,j:0.031936,k:0.043912,l:0.031936,m:0.143712,n:0.063872,o:0.03992,p:0.051896,v:0.043912,w:0.075848,x:1.6447,y:0.055888,z:0.071856,H:1.11776,"1B":0.015968,BC:0,CC:0},B:"webkit",C:["","","","","","","I","9","J","D","E","F","A","B","C","K","L","G","M","N","O","AB","q","r","s","t","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","8B","kB","9B","lB","mB","nB","oB","pB","qB","rB","sB","tB","uB","vB","u","wB","xB","yB","zB","0B","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","v","w","x","y","z","0","1","2","3","4","5","6","7","8","H","1B","BC","CC"],E:"Chrome",F:{"0":1680566400,"1":1682985600,"2":1685404800,"3":1689724800,"4":1692057600,"5":1694476800,"6":1696896000,"7":1698710400,"8":1701993600,"9":1274745600,I:1264377600,J:1283385600,D:1287619200,E:1291248000,F:1296777600,A:1299542400,B:1303862400,C:1307404800,K:1312243200,L:1316131200,G:1316131200,M:1319500800,N:1323734400,O:1328659200,AB:1332892800,q:1337040000,r:1340668800,s:1343692800,t:1348531200,BB:1352246400,CB:1357862400,DB:1361404800,EB:1364428800,FB:1369094400,GB:1374105600,HB:1376956800,IB:1384214400,JB:1389657600,KB:1392940800,LB:1397001600,MB:1400544000,NB:1405468800,OB:1409011200,PB:1412640000,QB:1416268800,RB:1421798400,SB:1425513600,TB:1429401600,UB:1432080000,VB:1437523200,WB:1441152000,XB:1444780800,YB:1449014400,ZB:1453248000,aB:1456963200,bB:1460592000,cB:1464134400,dB:1469059200,eB:1472601600,fB:1476230400,gB:1480550400,hB:1485302400,iB:1489017600,jB:1492560000,"8B":1496707200,kB:1500940800,"9B":1504569600,lB:1508198400,mB:1512518400,nB:1516752000,oB:1520294400,pB:1523923200,qB:1527552000,rB:1532390400,sB:1536019200,tB:1539648000,uB:1543968000,vB:1548720000,u:1552348800,wB:1555977600,xB:1559606400,yB:1564444800,zB:1568073600,"0B":1571702400,P:1575936000,Q:1580860800,R:1586304000,S:1589846400,T:1594684800,U:1598313600,V:1601942400,W:1605571200,X:1611014400,Y:1614556800,Z:1618272000,a:1621987200,b:1626739200,c:1630368000,d:1632268800,e:1634601600,f:1637020800,g:1641340800,h:1643673600,i:1646092800,j:1648512000,k:1650931200,l:1653350400,m:1655769600,n:1659398400,o:1661817600,p:1664236800,v:1666656000,w:1669680000,x:1673308800,y:1675728000,z:1678147200,H:1705968000,"1B":null,BC:null,CC:null}},E:{A:{"9":0,I:0,J:0,D:0,E:0,F:0.003992,A:0,B:0,C:0,K:0.007984,L:0.03992,G:0.007984,XC:0,DC:0,YC:0.003992,ZC:0,aC:0,bC:0.011976,EC:0,"2B":0.015968,"3B":0.015968,FC:0.071856,cC:0.111776,dC:0.031936,GC:0.011976,HC:0.031936,"4B":0.043912,eC:0.2994,"5B":0.031936,IC:0.071856,JC:0.05988,KC:0.143712,LC:0.063872,MC:0.103792,fC:0.526944,"6B":0.11976,NC:0.694608,OC:0.850296,PC:0.055888,gC:0,hC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","XC","DC","I","9","YC","J","ZC","D","aC","E","F","bC","A","EC","B","2B","C","3B","K","FC","L","cC","G","dC","GC","HC","4B","eC","5B","IC","JC","KC","LC","MC","fC","6B","NC","OC","PC","gC","hC",""],E:"Safari",F:{"9":1275868800,XC:1205798400,DC:1226534400,I:1244419200,YC:1311120000,J:1343174400,ZC:1382400000,D:1382400000,aC:1410998400,E:1413417600,F:1443657600,bC:1458518400,A:1474329600,EC:1490572800,B:1505779200,"2B":1522281600,C:1537142400,"3B":1553472000,K:1568851200,FC:1585008000,L:1600214400,cC:1619395200,G:1632096000,dC:1635292800,GC:1639353600,HC:1647216000,"4B":1652745600,eC:1658275200,"5B":1662940800,IC:1666569600,JC:1670889600,KC:1674432000,LC:1679875200,MC:1684368000,fC:1690156800,"6B":1695686400,NC:1698192000,OC:1702252800,PC:1705881600,gC:null,hC:null}},F:{A:{F:0,B:0,C:0,G:0,M:0,N:0,O:0,AB:0,q:0,r:0,s:0,t:0,BB:0,CB:0,DB:0,EB:0,FB:0.003992,GB:0,HB:0,IB:0,JB:0,KB:0,LB:0,MB:0,NB:0,OB:0,PB:0,QB:0,RB:0.003992,SB:0,TB:0,UB:0,VB:0,WB:0,XB:0.015968,YB:0,ZB:0,aB:0,bB:0,cB:0,dB:0,eB:0,fB:0,gB:0,hB:0,iB:0,jB:0,kB:0,lB:0,mB:0,nB:0,oB:0,pB:0,qB:0,rB:0,sB:0,tB:0,uB:0,vB:0,u:0,wB:0,xB:0,yB:0,zB:0,"0B":0,P:0,Q:0,R:0,AC:0,S:0,T:0,U:0,V:0,W:0,X:0,Y:0.003992,Z:0,a:0,b:0,c:0,d:0,e:0.043912,f:0,g:0,h:0,i:0,j:0,k:0,l:0.047904,m:0,n:0.007984,o:0.570856,p:0.483032,iC:0,jC:0,kC:0,lC:0,"2B":0,QC:0,mC:0,"3B":0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","F","iC","jC","kC","lC","B","2B","QC","mC","C","3B","G","M","N","O","AB","q","r","s","t","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","oB","pB","qB","rB","sB","tB","uB","vB","u","wB","xB","yB","zB","0B","P","Q","R","AC","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","","",""],E:"Opera",F:{F:1150761600,iC:1223424000,jC:1251763200,kC:1267488000,lC:1277942400,B:1292457600,"2B":1302566400,QC:1309219200,mC:1323129600,C:1323129600,"3B":1352073600,G:1372723200,M:1377561600,N:1381104000,O:1386288000,AB:1390867200,q:1393891200,r:1399334400,s:1401753600,t:1405987200,BB:1409616000,CB:1413331200,DB:1417132800,EB:1422316800,FB:1425945600,GB:1430179200,HB:1433808000,IB:1438646400,JB:1442448000,KB:1445904000,LB:1449100800,MB:1454371200,NB:1457308800,OB:1462320000,PB:1465344000,QB:1470096000,RB:1474329600,SB:1477267200,TB:1481587200,UB:1486425600,VB:1490054400,WB:1494374400,XB:1498003200,YB:1502236800,ZB:1506470400,aB:1510099200,bB:1515024000,cB:1517961600,dB:1521676800,eB:1525910400,fB:1530144000,gB:1534982400,hB:1537833600,iB:1543363200,jB:1548201600,kB:1554768000,lB:1561593600,mB:1566259200,nB:1570406400,oB:1573689600,pB:1578441600,qB:1583971200,rB:1587513600,sB:1592956800,tB:1595894400,uB:1600128000,vB:1603238400,u:1613520000,wB:1612224000,xB:1616544000,yB:1619568000,zB:1623715200,"0B":1627948800,P:1631577600,Q:1633392000,R:1635984000,AC:1638403200,S:1642550400,T:1644969600,U:1647993600,V:1650412800,W:1652745600,X:1654646400,Y:1657152000,Z:1660780800,a:1663113600,b:1668816000,c:1668643200,d:1671062400,e:1675209600,f:1677024000,g:1679529600,h:1681948800,i:1684195200,j:1687219200,k:1690329600,l:1692748800,m:1696204800,n:1699920000,o:1699920000,p:1702944000},D:{F:"o",B:"o",C:"o",iC:"o",jC:"o",kC:"o",lC:"o","2B":"o",QC:"o",mC:"o","3B":"o"}},G:{A:{E:0,DC:0,nC:0,RC:0.00300931,oC:0.00451396,pC:0.00752327,qC:0.0105326,rC:0.00150465,sC:0.00902792,tC:0.034607,uC:0.00300931,vC:0.0541675,wC:0.0210652,xC:0.0240745,yC:0.0135419,zC:0.267828,"0C":0.00451396,"1C":0.0496536,"2C":0.0135419,"3C":0.0601861,"4C":0.105326,"5C":0.160998,"6C":0.0692141,GC:0.0797466,HC:0.0932885,"4B":0.123382,"7C":0.961474,"5B":0.288893,IC:0.615403,JC:0.279866,KC:0.52061,LC:0.115858,MC:0.246763,"8C":2.01925,"6B":0.335538,NC:3.46221,OC:4.67947,PC:0.300931},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","DC","nC","RC","oC","pC","qC","E","rC","sC","tC","uC","vC","wC","xC","yC","zC","0C","1C","2C","3C","4C","5C","6C","GC","HC","4B","7C","5B","IC","JC","KC","LC","MC","8C","6B","NC","OC","PC","","",""],E:"Safari on iOS",F:{DC:1270252800,nC:1283904000,RC:1299628800,oC:1331078400,pC:1359331200,qC:1394409600,E:1410912000,rC:1413763200,sC:1442361600,tC:1458518400,uC:1473724800,vC:1490572800,wC:1505779200,xC:1522281600,yC:1537142400,zC:1553472000,"0C":1568851200,"1C":1572220800,"2C":1580169600,"3C":1585008000,"4C":1600214400,"5C":1619395200,"6C":1632096000,GC:1639353600,HC:1647216000,"4B":1652659200,"7C":1658275200,"5B":1662940800,IC:1666569600,JC:1670889600,KC:1674432000,LC:1679875200,MC:1684368000,"8C":1690156800,"6B":1694995200,NC:1698192000,OC:1702252800,PC:1705881600}},H:{A:{"9C":0.08},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","9C","","",""],E:"Opera Mini",F:{"9C":1426464000}},I:{A:{"7B":0,I:0.0000588882,H:0.293145,AD:0,BD:0.0000294441,CD:0,DD:0.0000588882,RC:0.000206109,ED:0,FD:0.000765547},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","AD","BD","CD","7B","I","DD","RC","ED","FD","H","","",""],E:"Android Browser",F:{AD:1256515200,BD:1274313600,CD:1291593600,"7B":1298332800,I:1318896000,DD:1341792000,RC:1374624000,ED:1386547200,FD:1401667200,H:1705968000}},J:{A:{D:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","A","","",""],E:"Blackberry Browser",F:{D:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,u:1.19391,"2B":0,QC:0,"3B":0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","2B","QC","C","3B","u","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,"2B":1314835200,QC:1318291200,C:1330300800,"3B":1349740800,u:1673827200},D:{u:"webkit"}},L:{A:{H:40.5268},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","H","","",""],E:"Chrome for Android",F:{H:1705968000}},M:{A:{"1B":0.30045},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1B","","",""],E:"Firefox for Android",F:{"1B":1705968000}},N:{A:{A:0,B:0},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{"4B":0.811215},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","4B","","",""],E:"UC Browser for Android",F:{"4B":1687132800},D:{"4B":"webkit"}},P:{A:{I:0.139654,q:0.0322279,r:0.0751983,s:0.0966836,t:2.10555,GD:0.0107426,HD:0,ID:0.0537131,JD:0,KD:0,EC:0,LD:0.0107426,MD:0,ND:0.0107426,OD:0,PD:0,"5B":0.0107426,"6B":0.0322279,QD:0.0214852,RD:0.0322279},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","I","GD","HD","ID","JD","KD","EC","LD","MD","ND","OD","PD","5B","6B","QD","RD","q","r","s","t","","",""],E:"Samsung Internet",F:{I:1461024000,GD:1481846400,HD:1509408000,ID:1528329600,JD:1546128000,KD:1554163200,EC:1567900800,LD:1582588800,MD:1593475200,ND:1605657600,OD:1618531200,PD:1629072000,"5B":1640736000,"6B":1651708800,QD:1659657600,RD:1667260800,q:1677369600,r:1684454400,s:1689292800,t:1697587200}},Q:{A:{FC:0.204306},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","FC","","",""],E:"QQ Browser",F:{FC:1663718400}},R:{A:{SD:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","SD","","",""],E:"Baidu Browser",F:{SD:1663027200}},S:{A:{TD:0.090135,UD:0},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","TD","UD","","",""],E:"KaiOS Browser",F:{TD:1527811200,UD:1631664000}}}; diff --git a/.pnpm-store/v3/files/7c/b132e937f80b8de059fe670806f898869cc47d3a08c24d39025a018ef71b908e326d83a2afcf2a280882e28e5fadf3d70d62e265075b52655696e2655e8e1c b/.pnpm-store/v3/files/7c/b132e937f80b8de059fe670806f898869cc47d3a08c24d39025a018ef71b908e326d83a2afcf2a280882e28e5fadf3d70d62e265075b52655696e2655e8e1c new file mode 100644 index 00000000..6b0ed9a8 --- /dev/null +++ b/.pnpm-store/v3/files/7c/b132e937f80b8de059fe670806f898869cc47d3a08c24d39025a018ef71b908e326d83a2afcf2a280882e28e5fadf3d70d62e265075b52655696e2655e8e1c @@ -0,0 +1 @@ +module.exports={C:{"3":0.00384,"5":0.00384,"11":0.00384,"15":0.00384,"17":0.00384,"24":0.00384,"31":0.00384,"37":0.00384,"38":0.00384,"40":0.01152,"48":0.00384,"52":0.01152,"78":0.00384,"96":0.00384,"114":0.01152,"115":0.04609,"116":0.00384,"117":0.00384,"119":0.01921,"120":0.03841,"121":1.33667,"122":0.24582,_:"2 4 6 7 8 9 10 12 13 14 16 18 19 20 21 22 23 25 26 27 28 29 30 32 33 34 35 36 39 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 118 123 124 125","3.5":0.00384,"3.6":0.00768},D:{"4":0.00384,"21":0.00384,"27":0.00384,"28":0.00384,"31":0.00384,"32":0.00384,"33":0.00768,"36":0.00384,"37":0.00384,"38":0.00384,"39":0.01152,"40":0.00768,"41":0.00768,"42":0.01152,"43":0.01152,"44":0.01152,"45":0.01536,"46":0.01152,"47":0.01152,"49":0.00768,"51":0.01536,"70":0.00384,"78":0.00384,"79":0.00768,"84":0.00384,"85":0.00384,"86":0.01536,"87":0.00768,"91":0.03073,"96":0.00384,"97":0.00384,"98":0.02689,"99":0.01921,"100":0.03073,"102":0.00384,"103":0.09218,"105":0.02689,"106":0.00768,"108":0.00768,"109":1.02555,"110":0.00384,"112":0.01152,"113":0.01536,"114":0.02689,"115":0.00384,"116":0.09987,"117":0.01921,"118":0.05762,"119":0.33801,"120":12.80974,"121":1.25217,"122":0.00384,_:"5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 29 30 34 35 48 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 80 81 83 88 89 90 92 93 94 95 101 104 107 111 123 124"},F:{"24":0.00384,"31":0.00384,"32":0.00384,"46":0.00384,"85":0.00384,"95":0.01921,"103":0.00384,"104":0.00384,"105":0.54158,"106":0.38026,_:"9 11 12 15 16 17 18 19 20 21 22 23 25 26 27 28 29 30 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00384},B:{"12":0.00384,"87":0.00384,"98":0.00384,"109":0.01536,"111":0.00384,"118":0.08834,"119":0.02689,"120":1.64395,"121":0.28039,_:"13 14 15 16 17 18 79 80 81 83 84 85 86 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 104 105 106 107 108 110 112 113 114 115 116 117"},E:{"5":0.00384,"9":0.03073,"14":0.01536,"15":0.00384,_:"0 4 6 7 8 10 11 12 13 3.2 7.1 9.1 10.1 11.1","3.1":0.00384,"5.1":0.00384,"6.1":0.00384,"12.1":0.00384,"13.1":0.07682,"14.1":0.13828,"15.1":0.11907,"15.2-15.3":0.11523,"15.4":0.09987,"15.5":0.24967,"15.6":1.00634,"16.0":0.11907,"16.1":0.93336,"16.2":0.26119,"16.3":1.04859,"16.4":0.2343,"16.5":0.5531,"16.6":3.12657,"17.0":0.41483,"17.1":2.79241,"17.2":4.73979,"17.3":0.49549,"17.4":0.00768},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00767,"5.0-5.1":0.01151,"6.0-6.1":0.01919,"7.0-7.1":0.02686,"8.1-8.4":0.00384,"9.0-9.2":0.02302,"9.3":0.08825,"10.0-10.2":0.00767,"10.3":0.13813,"11.0-11.2":0.05372,"11.3-11.4":0.05756,"12.0-12.1":0.03453,"12.2-12.5":0.68299,"13.0-13.1":0.01151,"13.2":0.12662,"13.3":0.03453,"13.4-13.7":0.15348,"14.0-14.4":0.26859,"14.5-14.8":0.41056,"15.0-15.1":0.1765,"15.2-15.3":0.20336,"15.4":0.2379,"15.5":0.31464,"15.6-15.8":2.45187,"16.0":0.73671,"16.1":1.56935,"16.2":0.71369,"16.3":1.32762,"16.4":0.29545,"16.5":0.62928,"16.6-16.7":5.14932,"17.0":0.85566,"17.1":8.82138,"17.2":11.9409,"17.3":0.76741},P:{"4":0.03124,"21":0.0729,"22":0.02083,"23":1.26013,_:"20 5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","6.2-6.4":0.02083,"19.0":0.01041},I:{"0":0.17167,"3":0,"4":0.00003,"2.1":0,"2.2":0.00002,"2.3":0,"4.1":0.00003,"4.2-4.3":0.00012,"4.4":0,"4.4.3-4.4.4":0.00045},A:{"6":0.00384,"7":0.01152,"8":0.09603,"9":0.01152,"10":0.01152,"11":0.05762,_:"5.5"},K:{"0":0.08621,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00616,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.03695},H:{"0":0},L:{"0":21.18839},R:{_:"0"},M:{"0":0.24016}}; diff --git a/.pnpm-store/v3/files/7d/60863998b1689510aabfa781a4a1acdde4f389d02d8406e1d3844ce1fccb5af08b5fb19f76f34d6922809b51b2ad21d33b9b9eebb9b02e5b740c6691c3a763 b/.pnpm-store/v3/files/7d/60863998b1689510aabfa781a4a1acdde4f389d02d8406e1d3844ce1fccb5af08b5fb19f76f34d6922809b51b2ad21d33b9b9eebb9b02e5b740c6691c3a763 new file mode 100644 index 00000000..b6a97560 --- /dev/null +++ b/.pnpm-store/v3/files/7d/60863998b1689510aabfa781a4a1acdde4f389d02d8406e1d3844ce1fccb5af08b5fb19f76f34d6922809b51b2ad21d33b9b9eebb9b02e5b740c6691c3a763 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","2":"J D SC"},B:{"1":"C K L G M N O","4":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB","4":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","16":"TC 7B VC WC"},D:{"4":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L G M N O AB q r s t BB CB"},E:{"4":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"9 I XC DC"},F:{"4":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","16":"F B iC jC kC lC 2B QC"},G:{"4":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC oC pC"},H:{"2":"9C"},I:{"4":"I H DD RC ED FD","16":"7B AD BD CD"},J:{"4":"D A"},K:{"4":"u 3B","16":"A B C 2B QC"},L:{"4":"H"},M:{"4":"1B"},N:{"1":"A B"},O:{"4":"4B"},P:{"4":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"4":"FC"},R:{"4":"SD"},S:{"1":"TD","4":"UD"}},B:6,C:"X-Frame-Options HTTP header",D:true}; diff --git a/.pnpm-store/v3/files/7d/8ee6113ab721e2cc2fbc2ab16d910f8b7651680ee7a4b052006b675cf94d42339890a3ea4a7d0384a23c01633aa84db060439cf0c47fc3e45fbc4bf7307bb4 b/.pnpm-store/v3/files/7d/8ee6113ab721e2cc2fbc2ab16d910f8b7651680ee7a4b052006b675cf94d42339890a3ea4a7d0384a23c01633aa84db060439cf0c47fc3e45fbc4bf7307bb4 new file mode 100644 index 00000000..4b0a6ce9 --- /dev/null +++ b/.pnpm-store/v3/files/7d/8ee6113ab721e2cc2fbc2ab16d910f8b7651680ee7a4b052006b675cf94d42339890a3ea4a7d0384a23c01633aa84db060439cf0c47fc3e45fbc4bf7307bb4 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"1 2 3 4 5 6 7 8 H","2":"C K L G M N O P","578":"Q R S T U V W X Y Z a b c","1602":"0 d e f g h i j k l m n o p v w x y z"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB VC WC","194":"0 1 2 3 4 5 6 7 8 mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P","578":"Q R S T U V W X Y Z a b c","1602":"0 d e f g h i j k l m n o p v w x y z","2049":"1 2 3 4 5 6 7 8 H 1B BC CC"},E:{"2":"9 I J D E F A B G XC DC YC ZC aC bC EC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC","322":"C K L 2B 3B FC cC","4162":"hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB iC jC kC lC 2B QC mC 3B","578":"u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h","2049":"i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"194":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD","194":"UD"}},B:5,C:"WebGPU",D:true}; diff --git a/.pnpm-store/v3/files/7d/a1ec47d9009c2a70b6034edf8f4069ebd556a52cb2a82c847feb4f00b52bcfbe2e8867e11ffa5e49538c461039b31d60105111c7321bd7c507e329469c902d b/.pnpm-store/v3/files/7d/a1ec47d9009c2a70b6034edf8f4069ebd556a52cb2a82c847feb4f00b52bcfbe2e8867e11ffa5e49538c461039b31d60105111c7321bd7c507e329469c902d new file mode 100644 index 00000000..3ba2663a --- /dev/null +++ b/.pnpm-store/v3/files/7d/a1ec47d9009c2a70b6034edf8f4069ebd556a52cb2a82c847feb4f00b52bcfbe2e8867e11ffa5e49538c461039b31d60105111c7321bd7c507e329469c902d @@ -0,0 +1 @@ +module.exports={C:{"78":0.00338,"88":0.02027,"96":0.00338,"97":0.00338,"114":0.00338,"115":0.0608,"117":0.00676,"120":0.02365,"121":0.55399,"122":0.1689,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 116 118 119 123 124 125 3.5 3.6"},D:{"11":0.00676,"38":0.00338,"56":0.01013,"70":0.00338,"72":0.00338,"74":0.01689,"75":0.01013,"76":0.00338,"79":0.05067,"84":0.00676,"87":0.02702,"88":0.00676,"90":0.00676,"91":0.00676,"92":0.01351,"93":0.0304,"94":0.00338,"101":0.00338,"102":0.03716,"103":0.15877,"105":0.00676,"107":0.00676,"108":0.01013,"109":0.76005,"110":0.01351,"111":0.00676,"113":0.00338,"114":0.02027,"115":0.02702,"116":0.27362,"117":0.11147,"118":0.1081,"119":0.42901,"120":15.64014,"121":0.99313,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 71 73 77 78 80 81 83 85 86 89 95 96 97 98 99 100 104 106 112 122 123 124"},F:{"28":0.06418,"36":0.00676,"102":0.00338,"105":0.18241,"106":0.18579,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00676,"18":0.00338,"92":0.00338,"104":0.01013,"107":0.01351,"109":0.01013,"112":0.00338,"114":0.01013,"116":0.05405,"117":0.00338,"118":0.01013,"119":0.09121,"120":4.54003,"121":0.45265,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 105 106 108 110 111 113 115"},E:{"13":0.01013,"14":0.02365,"15":0.05405,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.01351,"12.1":0.00338,"13.1":0.06418,"14.1":0.06756,"15.1":0.08783,"15.2-15.3":0.01351,"15.4":0.04729,"15.5":0.02027,"15.6":0.16552,"16.0":0.09796,"16.1":0.09458,"16.2":0.0608,"16.3":0.12836,"16.4":0.0304,"16.5":0.11147,"16.6":0.43914,"17.0":0.18579,"17.1":0.91882,"17.2":1.5809,"17.3":0.07094},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00431,"5.0-5.1":0.00647,"6.0-6.1":0.01078,"7.0-7.1":0.0151,"8.1-8.4":0.00216,"9.0-9.2":0.01294,"9.3":0.04961,"10.0-10.2":0.00431,"10.3":0.07764,"11.0-11.2":0.03019,"11.3-11.4":0.03235,"12.0-12.1":0.01941,"12.2-12.5":0.38391,"13.0-13.1":0.00647,"13.2":0.07117,"13.3":0.01941,"13.4-13.7":0.08627,"14.0-14.4":0.15097,"14.5-14.8":0.23078,"15.0-15.1":0.09921,"15.2-15.3":0.11431,"15.4":0.13372,"15.5":0.17686,"15.6-15.8":1.37819,"16.0":0.4141,"16.1":0.88213,"16.2":0.40116,"16.3":0.74625,"16.4":0.16607,"16.5":0.35371,"16.6-16.7":2.89441,"17.0":0.48096,"17.1":4.95845,"17.2":6.71192,"17.3":0.43136},P:{"4":0.12386,"20":0.02252,"21":0.39409,"22":0.22519,"23":4.86421,"5.0-5.4":0.02252,_:"6.2-6.4 8.2 10.1 12.0 14.0 15.0","7.2-7.4":0.43913,"9.2":0.01126,"11.1-11.2":0.02252,"13.0":0.02252,"16.0":0.03378,"17.0":0.03378,"18.0":0.02252,"19.0":0.1126},I:{"0":0.03956,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"10":0.11147,"11":0.01689,_:"6 7 8 9 5.5"},K:{"0":0.36083,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.13244},H:{"0":0.01},L:{"0":41.11358},R:{_:"0"},M:{"0":0.11257}}; diff --git a/.pnpm-store/v3/files/7d/bba936dffdf96b1fc8f9c5173e1e3b3e1fe2b0cb1aef5869c00e51ca4cce1cedc966d7f4bf546074b82ea4ae4a2b7e6f3a2a7bab42f4b86d05e673fe6f6a3d b/.pnpm-store/v3/files/7d/bba936dffdf96b1fc8f9c5173e1e3b3e1fe2b0cb1aef5869c00e51ca4cce1cedc966d7f4bf546074b82ea4ae4a2b7e6f3a2a7bab42f4b86d05e673fe6f6a3d new file mode 100644 index 00000000..f79fc88d --- /dev/null +++ b/.pnpm-store/v3/files/7d/bba936dffdf96b1fc8f9c5173e1e3b3e1fe2b0cb1aef5869c00e51ca4cce1cedc966d7f4bf546074b82ea4ae4a2b7e6f3a2a7bab42f4b86d05e673fe6f6a3d @@ -0,0 +1 @@ +module.exports={C:{"32":0.00313,"43":0.00313,"45":0.00313,"47":0.00626,"48":0.00313,"52":0.00939,"56":0.00313,"66":0.00626,"68":0.00313,"72":0.00626,"77":0.17841,"81":0.00626,"82":0.00313,"84":0.00939,"85":0.00313,"88":0.00939,"89":0.13146,"91":0.00313,"95":0.11581,"97":0.00313,"102":0.00313,"103":0.02191,"105":0.00313,"108":0.02191,"109":0.00313,"110":0.01252,"111":0.00313,"112":0.00313,"113":0.01252,"114":0.00313,"115":0.52271,"116":0.01252,"117":0.00313,"118":0.00626,"119":0.00939,"120":0.02817,"121":1.76845,"122":0.60409,"123":0.04069,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 36 37 38 39 40 41 42 44 46 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 67 69 70 71 73 74 75 76 78 79 80 83 86 87 90 92 93 94 96 98 99 100 101 104 106 107 124 125 3.5 3.6"},D:{"11":0.00939,"33":0.00313,"38":0.00313,"40":0.00939,"42":0.00313,"43":0.02191,"46":0.00626,"49":0.00313,"50":0.01565,"55":0.00313,"56":0.00626,"58":0.00313,"60":0.00313,"63":0.00626,"64":0.00626,"65":0.00313,"67":0.00313,"68":0.00939,"69":0.00313,"70":0.00626,"71":0.00313,"72":0.00313,"73":0.01565,"74":0.00626,"75":0.00939,"76":0.01252,"77":0.00313,"78":0.01252,"79":0.25979,"80":0.01878,"81":0.02504,"83":0.00626,"84":0.00939,"85":0.00939,"86":0.05008,"87":0.05321,"88":0.01252,"89":0.00626,"90":0.00626,"91":0.01565,"92":0.01565,"93":0.07512,"94":0.00626,"95":0.00939,"96":0.00626,"97":0.00313,"98":0.30987,"99":0.00939,"100":0.00313,"101":0.00626,"102":0.02191,"103":0.09077,"104":0.01252,"105":0.01565,"106":0.02191,"107":0.04069,"108":0.0313,"109":2.69806,"110":0.00313,"111":0.01252,"112":0.02191,"113":0.01252,"114":0.04069,"115":0.02191,"116":0.05947,"117":0.02817,"118":0.05634,"119":0.2817,"120":13.51221,"121":1.15184,"122":0.0313,"123":0.00626,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 39 41 44 45 47 48 51 52 53 54 57 59 61 62 66 124"},F:{"36":0.00313,"46":0.02817,"78":0.00313,"79":0.02191,"80":0.00313,"85":0.00313,"94":0.00313,"95":0.08764,"99":0.00313,"101":0.00313,"103":0.01565,"104":0.00313,"105":0.26292,"106":0.78876,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 81 82 83 84 86 87 88 89 90 91 92 93 96 97 98 100 102 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.01565,"13":0.00313,"14":0.00626,"15":0.00626,"16":0.00939,"17":0.00626,"18":0.09703,"84":0.00313,"89":0.00313,"90":0.00313,"92":0.03443,"100":0.00313,"108":0.00313,"109":0.09703,"110":0.00313,"112":0.00313,"113":0.00939,"114":0.02191,"115":0.02191,"116":0.00939,"117":0.01878,"118":0.01565,"119":0.09077,"120":2.94533,"121":0.42255,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 111"},E:{"7":0.00313,"13":0.00939,"14":0.00313,_:"0 4 5 6 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 16.0 16.2 16.4 17.3 17.4","13.1":0.00939,"14.1":0.00626,"15.5":0.00313,"15.6":0.04069,"16.1":0.00313,"16.3":0.00313,"16.5":0.00939,"16.6":0.00939,"17.0":0.00313,"17.1":0.01252,"17.2":0.01878},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00043,"5.0-5.1":0.00065,"6.0-6.1":0.00109,"7.0-7.1":0.00152,"8.1-8.4":0.00022,"9.0-9.2":0.0013,"9.3":0.00499,"10.0-10.2":0.00043,"10.3":0.00781,"11.0-11.2":0.00304,"11.3-11.4":0.00326,"12.0-12.1":0.00195,"12.2-12.5":0.03864,"13.0-13.1":0.00065,"13.2":0.00716,"13.3":0.00195,"13.4-13.7":0.00868,"14.0-14.4":0.01519,"14.5-14.8":0.02323,"15.0-15.1":0.00998,"15.2-15.3":0.0115,"15.4":0.01346,"15.5":0.0178,"15.6-15.8":0.1387,"16.0":0.04168,"16.1":0.08878,"16.2":0.04037,"16.3":0.0751,"16.4":0.01671,"16.5":0.0356,"16.6-16.7":0.2913,"17.0":0.0484,"17.1":0.49902,"17.2":0.67549,"17.3":0.04341},P:{"4":0.32971,"20":0.02061,"21":0.07212,"22":0.09273,"23":0.51518,"5.0-5.4":0.02061,"6.2-6.4":0.03091,"7.2-7.4":0.17516,"8.2":0.0103,"9.2":0.02061,_:"10.1 12.0 14.0 15.0","11.1-11.2":0.0103,"13.0":0.02061,"16.0":0.02061,"17.0":0.03091,"18.0":0.06182,"19.0":0.05152},I:{"0":0.1231,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00009,"4.4":0,"4.4.3-4.4.4":0.00032},A:{"11":0.02817,_:"6 7 8 9 10 5.5"},K:{"0":1.85674,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.0893,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.26102},H:{"0":1.88},L:{"0":62.94848},R:{_:"0"},M:{"0":0.06869}}; diff --git a/.pnpm-store/v3/files/7d/f2affcce151771b8fb332af840348d7ac1b1ae5242f5b5e52666957276bf28181a8d8b616824698e7121da8bb0602cd01de2fd943015801c88a1be90ce74a4 b/.pnpm-store/v3/files/7d/f2affcce151771b8fb332af840348d7ac1b1ae5242f5b5e52666957276bf28181a8d8b616824698e7121da8bb0602cd01de2fd943015801c88a1be90ce74a4 new file mode 100644 index 00000000..55959cad --- /dev/null +++ b/.pnpm-store/v3/files/7d/f2affcce151771b8fb332af840348d7ac1b1ae5242f5b5e52666957276bf28181a8d8b616824698e7121da8bb0602cd01de2fd943015801c88a1be90ce74a4 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","16":"SC","900":"J D E F"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","1025":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","900":"TC 7B VC WC","1025":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"9 XC","900":"I DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","16":"F","132":"B C iC jC kC lC 2B QC mC 3B"},G:{"1":"nC RC oC pC qC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC","2052":"E rC"},H:{"132":"9C"},I:{"1":"7B I CD DD RC ED FD","16":"AD BD","4097":"H"},J:{"1":"D A"},K:{"132":"A B C 2B QC 3B","4097":"u"},L:{"4097":"H"},M:{"4097":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"4097":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1025":"TD UD"}},B:1,C:"maxlength attribute for input and textarea elements",D:true}; diff --git a/.pnpm-store/v3/files/7e/0715fe21c707531201b2dbeef0f9d563f984d67606a3e3ba3422b45a28fa03ba9d9b7a873ffe06996837592ebe4b024acfd062ed641e0968e70739315005b7 b/.pnpm-store/v3/files/7e/0715fe21c707531201b2dbeef0f9d563f984d67606a3e3ba3422b45a28fa03ba9d9b7a873ffe06996837592ebe4b024acfd062ed641e0968e70739315005b7 new file mode 100644 index 00000000..f498425e --- /dev/null +++ b/.pnpm-store/v3/files/7e/0715fe21c707531201b2dbeef0f9d563f984d67606a3e3ba3422b45a28fa03ba9d9b7a873ffe06996837592ebe4b024acfd062ed641e0968e70739315005b7 @@ -0,0 +1 @@ +module.exports={C:{"121":0.0134,"122":0.00268,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 123 124 125 3.5 3.6"},D:{"64":0.00268,"65":0.00804,"103":0.00804,"109":0.01072,"113":0.00536,"115":0.00536,"116":0.00536,"117":0.00804,"118":0.00268,"119":0.02679,"120":0.37238,"121":0.02143,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 112 114 122 123 124"},F:{"105":0.00268,"106":0.00268,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"119":0.00536,"120":0.15002,"121":0.01607,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.01072,"14.1":0.02143,"15.1":0.06162,"15.2-15.3":0.02679,"15.4":0.10448,"15.5":0.22236,"15.6":2.24232,"16.0":0.06698,"16.1":0.46079,"16.2":0.57331,"16.3":1.38772,"16.4":0.35095,"16.5":0.66439,"16.6":5.17315,"17.0":0.33755,"17.1":5.06063,"17.2":8.48707,"17.3":0.46347,"17.4":0.00268},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.01456,"5.0-5.1":0.02184,"6.0-6.1":0.0364,"7.0-7.1":0.05095,"8.1-8.4":0.00728,"9.0-9.2":0.04367,"9.3":0.16742,"10.0-10.2":0.01456,"10.3":0.26204,"11.0-11.2":0.10191,"11.3-11.4":0.10919,"12.0-12.1":0.06551,"12.2-12.5":1.29566,"13.0-13.1":0.02184,"13.2":0.24021,"13.3":0.06551,"13.4-13.7":0.29116,"14.0-14.4":0.50953,"14.5-14.8":0.77885,"15.0-15.1":0.33483,"15.2-15.3":0.38579,"15.4":0.4513,"15.5":0.59688,"15.6-15.8":4.65129,"16.0":1.39757,"16.1":2.97711,"16.2":1.3539,"16.3":2.51854,"16.4":0.56048,"16.5":1.19376,"16.6-16.7":9.76843,"17.0":1.62322,"17.1":16.73444,"17.2":22.65227,"17.3":1.4558},P:{"23":0.08784,_:"4 20 21 22 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{_:"0"},H:{"0":0},L:{"0":0.3028},R:{_:"0"},M:{"0":0.00732}}; diff --git a/.pnpm-store/v3/files/7e/7437634b4a8917ff9b6c5380571177e7e93db3d8d0427ca489bc6137b65a4e320dde23fecc2de6934a658157f9215f3b8f31d69f8ee24efaea8b524811f2df b/.pnpm-store/v3/files/7e/7437634b4a8917ff9b6c5380571177e7e93db3d8d0427ca489bc6137b65a4e320dde23fecc2de6934a658157f9215f3b8f31d69f8ee24efaea8b524811f2df new file mode 100644 index 00000000..28f7ae1e --- /dev/null +++ b/.pnpm-store/v3/files/7e/7437634b4a8917ff9b6c5380571177e7e93db3d8d0427ca489bc6137b65a4e320dde23fecc2de6934a658157f9215f3b8f31d69f8ee24efaea8b524811f2df @@ -0,0 +1 @@ +module.exports={C:{"45":0.00117,"52":0.00233,"55":0.00699,"56":0.00699,"58":0.00117,"66":0.00117,"94":0.00233,"102":0.00117,"107":0.00233,"109":0.04078,"115":0.00699,"117":0.00233,"118":0.00117,"119":0.01049,"120":0.00816,"121":0.89356,"122":0.24465,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 53 54 57 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 101 103 104 105 106 108 110 111 112 113 114 116 123 124 125 3.5 3.6"},D:{"11":0.19689,"60":0.04544,"64":0.00117,"68":0.00117,"69":0.00117,"80":0.00117,"81":0.00117,"86":0.0035,"89":0.00233,"90":0.00233,"92":0.01165,"94":0.00233,"95":0.00117,"98":0.00233,"99":0.00117,"101":0.01398,"102":0.00233,"103":0.00233,"105":0.0035,"106":0.00699,"108":0.00699,"109":0.03961,"110":0.00233,"111":0.01165,"114":0.00233,"116":0.00583,"117":0.01049,"118":0.00583,"119":0.01981,"120":1.15102,"121":0.0268,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 61 62 63 65 66 67 70 71 72 73 74 75 76 77 78 79 83 84 85 87 88 91 93 96 97 100 104 107 112 113 115 122 123 124"},F:{"79":0.02563,"90":0.0035,"95":0.00117,"102":0.00233,"105":0.02097,"106":0.02447,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 91 92 93 94 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0501,"13":0.00932,"15":0.00699,"18":0.01631,"84":0.00466,"89":0.00699,"90":0.00699,"92":0.01165,"100":0.0035,"108":0.0035,"109":0.00117,"110":0.00117,"113":0.09903,"115":0.00233,"116":0.00699,"117":0.00117,"118":0.36348,"119":0.01165,"120":0.21553,"121":0.01631,_:"14 16 17 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 111 112 114"},E:{"14":0.00699,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.5 17.1 17.3 17.4","5.1":0.00233,"13.1":0.00233,"15.6":0.00466,"16.6":0.00233,"17.0":0.00117,"17.2":0.00233},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00061,"5.0-5.1":0.00092,"6.0-6.1":0.00153,"7.0-7.1":0.00214,"8.1-8.4":0.00031,"9.0-9.2":0.00183,"9.3":0.00703,"10.0-10.2":0.00061,"10.3":0.011,"11.0-11.2":0.00428,"11.3-11.4":0.00459,"12.0-12.1":0.00275,"12.2-12.5":0.05441,"13.0-13.1":0.00092,"13.2":0.01009,"13.3":0.00275,"13.4-13.7":0.01223,"14.0-14.4":0.0214,"14.5-14.8":0.03271,"15.0-15.1":0.01406,"15.2-15.3":0.0162,"15.4":0.01895,"15.5":0.02507,"15.6-15.8":0.19534,"16.0":0.05869,"16.1":0.12503,"16.2":0.05686,"16.3":0.10577,"16.4":0.02354,"16.5":0.05013,"16.6-16.7":0.41024,"17.0":0.06817,"17.1":0.70278,"17.2":0.95131,"17.3":0.06114},P:{"4":0.08078,"20":0.21204,"22":0.08078,"23":0.14136,_:"21 5.0-5.4 8.2 10.1 12.0 13.0 15.0 17.0 18.0","6.2-6.4":0.04039,"7.2-7.4":0.09087,"9.2":0.02019,"11.1-11.2":0.11107,"14.0":0.05049,"16.0":0.02019,"19.0":0.07068},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{"11":0.00699,_:"6 7 8 9 10 5.5"},K:{"0":1.94834,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.62729,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.01767},O:{"0":0.18554},H:{"0":13.99},L:{"0":75.2216},R:{_:"0"},M:{"0":0.1502}}; diff --git a/.pnpm-store/v3/files/7f/3c2d15894d1b096ed0609049725c084d8a008f97caf9ceec6444704eb3794b4db7e17b6fa4ab20d4ba0249169c333524b711eb656fd5cd40e1f36509154c91 b/.pnpm-store/v3/files/7f/3c2d15894d1b096ed0609049725c084d8a008f97caf9ceec6444704eb3794b4db7e17b6fa4ab20d4ba0249169c333524b711eb656fd5cd40e1f36509154c91 new file mode 100644 index 00000000..68f35de1 --- /dev/null +++ b/.pnpm-store/v3/files/7f/3c2d15894d1b096ed0609049725c084d8a008f97caf9ceec6444704eb3794b4db7e17b6fa4ab20d4ba0249169c333524b711eb656fd5cd40e1f36509154c91 @@ -0,0 +1 @@ +.task-error[data-v-93ed29fc]{--cm-ttc-c-thumb: #CCC}html.dark .task-error[data-v-93ed29fc]{--cm-ttc-c-thumb: #444}.task-error[data-v-5e7bb715]{--cm-ttc-c-thumb: #CCC}html.dark .task-error[data-v-5e7bb715]{--cm-ttc-c-thumb: #444}.CodeMirror-simplescroll-horizontal div,.CodeMirror-simplescroll-vertical div{position:absolute;background:#ccc;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #bbb;border-radius:2px}.CodeMirror-simplescroll-horizontal,.CodeMirror-simplescroll-vertical{position:absolute;z-index:6;background:#eee}.CodeMirror-simplescroll-horizontal{bottom:0;left:0;height:8px}.CodeMirror-simplescroll-horizontal div{bottom:0;height:100%}.CodeMirror-simplescroll-vertical{right:0;top:0;width:8px}.CodeMirror-simplescroll-vertical div{right:0;width:100%}.CodeMirror-overlayscroll .CodeMirror-scrollbar-filler,.CodeMirror-overlayscroll .CodeMirror-gutter-filler{display:none}.CodeMirror-overlayscroll-horizontal div,.CodeMirror-overlayscroll-vertical div{position:absolute;background:#bcd;border-radius:3px}.CodeMirror-overlayscroll-horizontal,.CodeMirror-overlayscroll-vertical{position:absolute;z-index:6}.CodeMirror-overlayscroll-horizontal{bottom:0;left:0;height:6px}.CodeMirror-overlayscroll-horizontal div{bottom:0;height:100%}.CodeMirror-overlayscroll-vertical{right:0;top:0;width:6px}.CodeMirror-overlayscroll-vertical div{right:0;width:100%}:root{--color-link-label: var(--color-text);--color-link: #ddd;--color-node-external: #c0ad79;--color-node-inline: #8bc4a0;--color-node-root: #6e9aa5;--color-node-label: var(--color-text);--color-node-stroke: var(--color-text)}html.dark{--color-text: #fff;--color-link: #333;--color-node-external: #857a40;--color-node-inline: #468b60;--color-node-root: #467d8b}.graph{height:calc(100% - 39px)!important}.graph .node{stroke-width:2px;stroke-opacity:.5}.graph .link{stroke-width:2px}.graph .node:hover:not(.focused){filter:none!important}.graph .node__label{transform:translateY(20px);font-weight:100;filter:brightness(.5)}html.dark .graph .node__label{filter:brightness(1.2)}.details-panel{-webkit-user-select:none;user-select:none;width:100%}#vitest-ui-coverage{width:100%;height:calc(100vh - 42px);border:none}.number[data-v-09d153f7]{font-weight:400;text-align:right}.unhandled-errors[data-v-09d153f7]{--cm-ttc-c-thumb: #CCC}html.dark .unhandled-errors[data-v-09d153f7]{--cm-ttc-c-thumb: #444}.in-progress[data-v-f967c1fe]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px;animation:in-progress-stripes-f967c1fe 2s linear infinite}@keyframes in-progress-stripes-f967c1fe{0%{background-position:40px 0}to{background-position:0 0}}.graph,.graph>svg{display:block}.graph{height:100%;touch-action:none;width:100%}.graph *{-webkit-touch-callout:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.link{fill:none;stroke-width:4px}.node{--color-stroke: var(--color-node-stroke, rgba(0, 0, 0, .5));cursor:pointer;stroke:none;stroke-width:2px;transition:filter .25s ease,stroke .25s ease,stroke-dasharray .25s ease}.node:hover:not(.focused){filter:brightness(80%);stroke:var(--color-stroke);stroke-dasharray:4px}.node.focused{stroke:var(--color-stroke)}.link__label,.node__label{pointer-events:none;text-anchor:middle}.grabbed{cursor:grabbing!important}.splitpanes{display:flex;width:100%;height:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;box-sizing:border-box;position:relative;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:before,.splitpanes.default-theme .splitpanes__splitter:hover:after{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color, #e5e7eb)}html{line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:white}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}:root{--cm-scheme: light;--cm-foreground: #6e6e6e;--cm-background: #f4f4f4;--cm-comment: #a8a8a8;--cm-string: #555555;--cm-literal: #333333;--cm-keyword: #000000;--cm-function: #4f4f4f;--cm-deleted: #333333;--cm-class: #333333;--cm-builtin: #757575;--cm-property: #333333;--cm-namespace: #4f4f4f;--cm-punctuation: #ababab;--cm-decorator: var(--cm-class);--cm-operator: var(--cm-punctuation);--cm-number: var(--cm-literal);--cm-boolean: var(--cm-literal);--cm-variable: var(--cm-literal);--cm-constant: var(--cm-literal);--cm-symbol: var(--cm-literal);--cm-interpolation: var(--cm-literal);--cm-selector: var(--cm-keyword);--cm-keyword-control: var(--cm-keyword);--cm-regex: var(--cm-string);--cm-json-property: var(--cm-property);--cm-inline-background: var(--cm-background);--cm-comment-style: italic;--cm-url-decoration: underline;--cm-line-number: #a5a5a5;--cm-line-number-gutter: #333333;--cm-line-highlight-background: #eeeeee;--cm-selection-background: #aaaaaa;--cm-marker-color: var(--cm-foreground);--cm-marker-opacity: .4;--cm-marker-font-size: .8em;--cm-font-size: 1em;--cm-line-height: 1.5em;--cm-font-family: monospace;--cm-inline-font-size: var(--cm-font-size);--cm-block-font-size: var(--cm-font-size);--cm-tab-size: 2;--cm-block-padding-x: 1em;--cm-block-padding-y: 1em;--cm-block-margin-x: 0;--cm-block-margin-y: .5em;--cm-block-radius: .3em;--cm-inline-padding-x: .3em;--cm-inline-padding-y: .1em;--cm-inline-radius: .3em}.cm-s-vars.CodeMirror{background-color:var(--cm-background);color:var(--cm-foreground)}.cm-s-vars .CodeMirror-gutters{background:var(--cm-line-number-gutter);color:var(--cm-line-number);border:none}.cm-s-vars .CodeMirror-guttermarker,.cm-s-vars .CodeMirror-guttermarker-subtle,.cm-s-vars .CodeMirror-linenumber{color:var(--cm-line-number)}.cm-s-vars div.CodeMirror-selected,.cm-s-vars.CodeMirror-focused div.CodeMirror-selected{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-line::selection,.cm-s-vars .CodeMirror-line>span::selection,.cm-s-vars .CodeMirror-line>span>span::selection{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-line::-moz-selection,.cm-s-vars .CodeMirror-line>span::-moz-selection,.cm-s-vars .CodeMirror-line>span>span::-moz-selection{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-activeline-background{background:var(--cm-line-highlight-background)}.cm-s-vars .cm-keyword{color:var(--cm-keyword)}.cm-s-vars .cm-variable,.cm-s-vars .cm-variable-2,.cm-s-vars .cm-variable-3,.cm-s-vars .cm-type{color:var(--cm-variable)}.cm-s-vars .cm-builtin{color:var(--cm-builtin)}.cm-s-vars .cm-atom{color:var(--cm-literal)}.cm-s-vars .cm-number{color:var(--cm-number)}.cm-s-vars .cm-def{color:var(--cm-decorator)}.cm-s-vars .cm-string,.cm-s-vars .cm-string-2{color:var(--cm-string)}.cm-s-vars .cm-comment{color:var(--cm-comment)}.cm-s-vars .cm-tag{color:var(--cm-builtin)}.cm-s-vars .cm-meta{color:var(--cm-namespace)}.cm-s-vars .cm-attribute,.cm-s-vars .cm-property{color:var(--cm-property)}.cm-s-vars .cm-qualifier{color:var(--cm-keyword)}.cm-s-vars .cm-error{color:var(--prism-deleted)}.cm-s-vars .cm-operator,.cm-s-vars .cm-bracket{color:var(--cm-punctuation)}.cm-s-vars .CodeMirror-matchingbracket{text-decoration:underline}.cm-s-vars .CodeMirror-cursor{border-left:1px solid currentColor}html,body{height:100%;font-family:Readex Pro,sans-serif;scroll-behavior:smooth}:root{--color-text-light: #000;--color-text-dark: #ddd;--color-text: var(--color-text-light);--background-color: #e4e4e4}html.dark{--color-text: var(--color-text-dark);--background-color: #141414;color:var(--color-text);background-color:var(--background-color);color-scheme:dark}.CodeMirror{height:100%!important;width:100%!important;font-family:inherit}.cm-s-vars .cm-tag{color:var(--cm-keyword)}:root{--cm-foreground: #393a3480;--cm-background: transparent;--cm-comment: #a0ada0;--cm-string: #b56959;--cm-literal: #2f8a89;--cm-number: #296aa3;--cm-keyword: #1c6b48;--cm-function: #6c7834;--cm-boolean: #1c6b48;--cm-constant: #a65e2b;--cm-deleted: #a14f55;--cm-class: #2993a3;--cm-builtin: #ab5959;--cm-property: #b58451;--cm-namespace: #b05a78;--cm-punctuation: #8e8f8b;--cm-decorator: #bd8f8f;--cm-regex: #ab5e3f;--cm-json-property: #698c96;--cm-line-number-gutter: #f8f8f8;--cm-ttc-c-thumb: #eee;--cm-ttc-c-track: white}html.dark{--cm-scheme: dark;--cm-foreground: #d4cfbf80;--cm-background: transparent;--cm-comment: #758575;--cm-string: #d48372;--cm-literal: #429988;--cm-keyword: #4d9375;--cm-boolean: #1c6b48;--cm-number: #6394bf;--cm-variable: #c2b36e;--cm-function: #a1b567;--cm-deleted: #a14f55;--cm-class: #54b1bf;--cm-builtin: #e0a569;--cm-property: #dd8e6e;--cm-namespace: #db889a;--cm-punctuation: #858585;--cm-decorator: #bd8f8f;--cm-regex: #ab5e3f;--cm-json-property: #6b8b9e;--cm-line-number: #888888;--cm-line-number-gutter: #161616;--cm-line-highlight-background: #444444;--cm-selection-background: #44444450;--cm-ttc-c-thumb: #222;--cm-ttc-c-track: #111}.splitpanes__pane{background-color:unset!important}.splitpanes__splitter{position:relative;background-color:#7d7d7d1a;z-index:10}.splitpanes__splitter:before{content:"";position:absolute;left:0;top:0;transition:opacity .4s;background-color:#7d7d7d1a;opacity:0;z-index:1}.splitpanes__splitter:hover:before{opacity:1}.splitpanes--vertical>.splitpanes__splitter:before{left:0;right:-10px;height:100%}.splitpanes--horizontal>.splitpanes__splitter:before{top:0;bottom:-10px;width:100%}.splitpanes.loading .splitpanes__pane{transition:none!important;height:100%}.CodeMirror-scroll{scrollbar-width:none}.CodeMirror-scroll::-webkit-scrollbar,.codemirror-scrolls::-webkit-scrollbar{display:none}.codemirror-scrolls{overflow:auto!important;scrollbar-width:thin;scrollbar-color:var(--cm-ttc-c-thumb) var(--cm-ttc-c-track)}.CodeMirror-simplescroll-horizontal,.CodeMirror-simplescroll-vertical{background-color:var(--cm-ttc-c-track)!important;border:none!important}.CodeMirror-simplescroll-horizontal div,.CodeMirror-simplescroll-vertical div{background-color:var(--cm-ttc-c-thumb)!important;border:none!important}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:var(--cm-ttc-c-track)!important}.CodeMirror{overflow:unset!important}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar{display:none!important}.CodeMirror-scroll{margin-bottom:unset!important;margin-right:unset!important;padding-bottom:unset!important}.scrolls::-webkit-scrollbar{width:8px;height:8px}.scrolls{overflow:auto!important;scrollbar-width:thin;scrollbar-color:var(--cm-ttc-c-thumb) var(--cm-ttc-c-track)}.scrolls::-webkit-scrollbar-track{background:var(--cm-ttc-c-track)}.scrolls::-webkit-scrollbar-thumb{background-color:var(--cm-ttc-c-thumb);border:2px solid var(--cm-ttc-c-thumb)}.scrolls::-webkit-scrollbar-thumb,.scrolls-rounded::-webkit-scrollbar-track{border-radius:3px}.scrolls::-webkit-scrollbar-corner{background-color:var(--cm-ttc-c-track)}.v-popper__popper .v-popper__inner{font-size:12px;padding:4px 6px;border-radius:4px;background-color:var(--background-color);color:var(--color-text)}.v-popper__popper .v-popper__arrow-outer{border-color:var(--background-color)}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper{width:max-content}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.dark .dark\:i-carbon-moon{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M13.503 5.414a15.076 15.076 0 0 0 11.593 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-checkmark,.i-carbon\:checkmark,[i-carbon-checkmark=""],[i-carbon\:checkmark=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m13 24l-9-9l1.414-1.414L13 21.171L26.586 7.586L28 9z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-checkmark-outline-error,[i-carbon-checkmark-outline-error=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M14 24a10 10 0 1 1 10-10h2a12 12 0 1 0-12 12Z'/%3E%3Cpath fill='currentColor' d='M12 15.59L9.41 13L8 14.41l4 4l7-7L17.59 10zM30 24a6 6 0 1 0-6 6a6.007 6.007 0 0 0 6-6m-2 0a3.952 3.952 0 0 1-.567 2.019l-5.452-5.452A3.953 3.953 0 0 1 24 20a4.005 4.005 0 0 1 4 4m-8 0a3.952 3.952 0 0 1 .567-2.019l5.452 5.452A3.953 3.953 0 0 1 24 28a4.005 4.005 0 0 1-4-4'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-close,.i-carbon\:close,[i-carbon-close=""],[i-carbon\:close=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17.414 16L24 9.414L22.586 8L16 14.586L9.414 8L8 9.414L14.586 16L8 22.586L9.414 24L16 17.414L22.586 24L24 22.586z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-compare,.i-carbon\:compare,[i-carbon-compare=""],[i-carbon\:compare=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M28 6H18V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h10v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2M4 15h6.17l-2.58 2.59L9 19l5-5l-5-5l-1.41 1.41L10.17 13H4V4h12v20H4Zm12 13v-2a2 2 0 0 0 2-2V8h10v9h-6.17l2.58-2.59L23 13l-5 5l5 5l1.41-1.41L21.83 19H28v9Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-dashboard,.i-carbon\:dashboard{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M24 21h2v5h-2zm-4-5h2v10h-2zm-9 10a5.006 5.006 0 0 1-5-5h2a3 3 0 1 0 3-3v-2a5 5 0 0 1 0 10'/%3E%3Cpath fill='currentColor' d='M28 2H4a2.002 2.002 0 0 0-2 2v24a2.002 2.002 0 0 0 2 2h24a2.003 2.003 0 0 0 2-2V4a2.002 2.002 0 0 0-2-2m0 9H14V4h14ZM12 4v7H4V4ZM4 28V13h24l.002 15Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-document,[i-carbon-document=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m25.7 9.3l-7-7c-.2-.2-.4-.3-.7-.3H8c-1.1 0-2 .9-2 2v24c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V10c0-.3-.1-.5-.3-.7M18 4.4l5.6 5.6H18zM24 28H8V4h8v6c0 1.1.9 2 2 2h6z'/%3E%3Cpath fill='currentColor' d='M10 22h12v2H10zm0-6h12v2H10z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-launch{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M26 28H6a2.003 2.003 0 0 1-2-2V6a2.003 2.003 0 0 1 2-2h10v2H6v20h20V16h2v10a2.003 2.003 0 0 1-2 2'/%3E%3Cpath fill='currentColor' d='M20 2v2h6.586L18 12.586L19.414 14L28 5.414V12h2V2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-play,.i-carbon\:play{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7 28a1 1 0 0 1-1-1V5a1 1 0 0 1 1.482-.876l20 11a1 1 0 0 1 0 1.752l-20 11A1 1 0 0 1 7 28M8 6.69v18.62L24.925 16Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-reset{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M18 28A12 12 0 1 0 6 16v6.2l-3.6-3.6L1 20l6 6l6-6l-1.4-1.4L8 22.2V16a10 10 0 1 1 10 10Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-result-old,.i-carbon\:result-old{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M10 13h2v2h-2zm4 0h8v2h-8zm-4 5h2v2h-2zm0 5h2v2h-2z'/%3E%3Cpath fill='currentColor' d='M7 28V7h3v3h12V7h3v8h2V7a2 2 0 0 0-2-2h-3V4a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2v1H7a2 2 0 0 0-2 2v21a2 2 0 0 0 2 2h9v-2Zm5-24h8v4h-8Z'/%3E%3Cpath fill='currentColor' d='M18 19v2.413A6.996 6.996 0 1 1 24 32v-2a5 5 0 1 0-4.576-7H22v2h-6v-6Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-timer,[i-carbon-timer=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M15 11h2v9h-2zm-2-9h6v2h-6z'/%3E%3Cpath fill='currentColor' d='m28 9l-1.42-1.41l-2.25 2.25a10.94 10.94 0 1 0 1.18 1.65ZM16 26a9 9 0 1 1 9-9a9 9 0 0 1-9 9'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon-wifi-off{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Ccircle cx='16' cy='25' r='2' fill='currentColor'/%3E%3Cpath fill='currentColor' d='M30 3.414L28.586 2L2 28.586L3.414 30l10.682-10.682a5.936 5.936 0 0 1 6.01 1.32l1.414-1.414a7.967 7.967 0 0 0-5.125-2.204l3.388-3.388a11.99 11.99 0 0 1 4.564 2.765l1.413-1.414a13.975 13.975 0 0 0-4.426-2.903l2.997-2.997a17.936 17.936 0 0 1 4.254 3.075L30 10.743v-.002a20.02 20.02 0 0 0-4.19-3.138zm-15.32 9.664l2.042-2.042C16.48 11.023 16.243 11 16 11a13.945 13.945 0 0 0-9.771 3.993l1.414 1.413a11.97 11.97 0 0 1 7.037-3.328M16 7a17.87 17.87 0 0 1 4.232.525l1.643-1.642A19.954 19.954 0 0 0 2 10.74v.023l1.404 1.404A17.92 17.92 0 0 1 16 7'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon\:circle-dash,[i-carbon\:circle-dash=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.7 4.7a14.7 14.7 0 0 0-3 3.1L6.3 9a13.26 13.26 0 0 1 2.6-2.7zm-3.1 7.6l-1.9-.6A12.51 12.51 0 0 0 2 16h2a11.48 11.48 0 0 1 .6-3.7m-1.9 8.1a14.4 14.4 0 0 0 2 3.9l1.6-1.2a12.89 12.89 0 0 1-1.7-3.3zm5.1 6.9a14.4 14.4 0 0 0 3.9 2l.6-1.9A12.89 12.89 0 0 1 9 25.7zm3.9-24.6l.6 1.9A11.48 11.48 0 0 1 16 4V2a12.51 12.51 0 0 0-4.3.7m12.5 24.6a15.18 15.18 0 0 0 3.1-3.1L25.7 23a11.53 11.53 0 0 1-2.7 2.7zm3.2-7.6l1.9.6A15.47 15.47 0 0 0 30 16h-2a11.48 11.48 0 0 1-.6 3.7m1.8-8.1a14.4 14.4 0 0 0-2-3.9l-1.6 1.2a12.89 12.89 0 0 1 1.7 3.3zm-5.1-7a14.4 14.4 0 0 0-3.9-2l-.6 1.9a12.89 12.89 0 0 1 3.3 1.7zm-3.8 24.7l-.6-1.9a11.48 11.48 0 0 1-3.7.6v2a21.42 21.42 0 0 0 4.3-.7'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon\:document-blank,[i-carbon\:document-blank=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m25.7 9.3l-7-7A.908.908 0 0 0 18 2H8a2.006 2.006 0 0 0-2 2v24a2.006 2.006 0 0 0 2 2h16a2.006 2.006 0 0 0 2-2V10a.908.908 0 0 0-.3-.7M18 4.4l5.6 5.6H18ZM24 28H8V4h8v6a2.006 2.006 0 0 0 2 2h6Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon\:filter-remove{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 11.414L28.586 10L24 14.586L19.414 10L18 11.414L22.586 16L18 20.585L19.415 22L24 17.414L28.587 22L30 20.587L25.414 16z'/%3E%3Cpath fill='currentColor' d='M4 4a2 2 0 0 0-2 2v3.17a2 2 0 0 0 .586 1.415L10 18v8a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-2h-2v2h-4v-8.83l-.586-.585L4 9.171V6h20v2h2V6a2 2 0 0 0-2-2Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon\:folder-details-reference{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 28h7v2h-7zm0-4h14v2H16zm0-4h14v2H16zM4 20v2h4.586L2 28.586L3.414 30L10 23.414V28h2v-8zM28 8H16l-3.414-3.414A2 2 0 0 0 11.172 4H4a2 2 0 0 0-2 2v12h2V6h7.172l3.414 3.414l.586.586H28v8h2v-8a2 2 0 0 0-2-2'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon\:folder-off{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M28 8h-2.586L30 3.414L28.586 2L2 28.586L3.414 30l2-2H28a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2m0 18H7.414l16-16H28zM4 6h7.172l3.414 3.414l.586.586H18V8h-2l-3.414-3.414A2 2 0 0 0 11.172 4H4a2 2 0 0 0-2 2v18h2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon\:information-square{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17 22v-8h-4v2h2v6h-3v2h8v-2zM16 8a1.5 1.5 0 1 0 1.5 1.5A1.5 1.5 0 0 0 16 8'/%3E%3Cpath fill='currentColor' d='M26 28H6a2.002 2.002 0 0 1-2-2V6a2.002 2.002 0 0 1 2-2h20a2.002 2.002 0 0 1 2 2v20a2.002 2.002 0 0 1-2 2M6 6v20h20V6Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon\:redo,[i-carbon\:redo=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 10h12.185l-3.587-3.586L22 5l6 6l-6 6l-1.402-1.415L24.182 12H12a6 6 0 0 0 0 12h8v2h-8a8 8 0 0 1 0-16'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon\:renew{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 10H6.78A11 11 0 0 1 27 16h2A13 13 0 0 0 6 7.68V4H4v8h8zm8 12h5.22A11 11 0 0 1 5 16H3a13 13 0 0 0 23 8.32V28h2v-8h-8z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon\:search{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m29 27.586l-7.552-7.552a11.018 11.018 0 1 0-1.414 1.414L27.586 29ZM4 13a9 9 0 1 1 9 9a9.01 9.01 0 0 1-9-9'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-carbon\:sun{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6M5.394 6.813L6.81 5.399l3.505 3.506L8.9 10.319zM2 15.005h5v2H2zm3.394 10.193L8.9 21.692l1.414 1.414l-3.505 3.506zM15 25.005h2v5h-2zm6.687-1.9l1.414-1.414l3.506 3.506l-1.414 1.414zm3.313-8.1h5v2h-5zm-3.313-6.101l3.506-3.506l1.414 1.414l-3.506 3.506zM15 2.005h2v5h-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-logos\:typescript-icon,[i-logos\:typescript-icon=""]{background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='%233178C6' d='M20 0h216c11.046 0 20 8.954 20 20v216c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20V20C0 8.954 8.954 0 20 0'/%3E%3Cpath fill='%23FFF' d='M150.518 200.475v27.62c4.492 2.302 9.805 4.028 15.938 5.179c6.133 1.151 12.597 1.726 19.393 1.726c6.622 0 12.914-.633 18.874-1.899c5.96-1.266 11.187-3.352 15.678-6.257c4.492-2.906 8.048-6.704 10.669-11.394c2.62-4.689 3.93-10.486 3.93-17.391c0-5.006-.749-9.394-2.246-13.163a30.748 30.748 0 0 0-6.479-10.055c-2.821-2.935-6.205-5.567-10.149-7.898c-3.945-2.33-8.394-4.531-13.347-6.602c-3.628-1.497-6.881-2.949-9.761-4.359c-2.879-1.41-5.327-2.848-7.342-4.316c-2.016-1.467-3.571-3.021-4.665-4.661c-1.094-1.64-1.641-3.495-1.641-5.567c0-1.899.489-3.61 1.468-5.135s2.362-2.834 4.147-3.927c1.785-1.094 3.973-1.942 6.565-2.547c2.591-.604 5.471-.906 8.638-.906c2.304 0 4.737.173 7.299.518c2.563.345 5.14.877 7.732 1.597a53.669 53.669 0 0 1 7.558 2.719a41.7 41.7 0 0 1 6.781 3.797v-25.807c-4.204-1.611-8.797-2.805-13.778-3.582c-4.981-.777-10.697-1.165-17.147-1.165c-6.565 0-12.784.705-18.658 2.115c-5.874 1.409-11.043 3.61-15.506 6.602c-4.463 2.993-7.99 6.805-10.582 11.437c-2.591 4.632-3.887 10.17-3.887 16.615c0 8.228 2.375 15.248 7.127 21.06c4.751 5.811 11.963 10.731 21.638 14.759a291.458 291.458 0 0 1 10.625 4.575c3.283 1.496 6.119 3.049 8.509 4.66c2.39 1.611 4.276 3.366 5.658 5.265c1.382 1.899 2.073 4.057 2.073 6.474a9.901 9.901 0 0 1-1.296 4.963c-.863 1.524-2.174 2.848-3.93 3.97c-1.756 1.122-3.945 1.999-6.565 2.632c-2.62.633-5.687.95-9.2.95c-5.989 0-11.92-1.05-17.794-3.151c-5.875-2.1-11.317-5.25-16.327-9.451m-46.036-68.733H140V109H41v22.742h35.345V233h28.137z'/%3E%3C/svg%3E") no-repeat;background-size:100% 100%;background-color:transparent;width:1em;height:1em}.container{width:100%}.tab-button,[tab-button=""]{height:100%;padding-left:1rem;padding-right:1rem;font-weight:300;opacity:.5}.border-base,[border~=base]{border-color:#6b72801a}.bg-active{background-color:#6b728014}.bg-base,[bg-base=""]{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.dark .bg-base,.dark [bg-base=""]{--un-bg-opacity:1;background-color:rgb(17 17 17 / var(--un-bg-opacity))}.bg-header,[bg-header=""]{background-color:#6b72800d}.bg-overlay,[bg-overlay=""],[bg~=overlay]{background-color:#eeeeee80}.dark .bg-overlay,.dark [bg-overlay=""],.dark [bg~=overlay]{background-color:#22222280}.tab-button-active{background-color:#6b72801a;opacity:1}[hover~=bg-active]:hover{background-color:#6b728014}.tab-button:hover,[tab-button=""]:hover{opacity:.8}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none,[pointer-events-none=""]{pointer-events:none}.absolute,[absolute=""]{position:absolute}.fixed,[fixed=""]{position:fixed}.relative,[relative=""]{position:relative}.sticky,[sticky=""]{position:sticky}.inset-0,[inset-0=""]{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.right-5px,[right-5px=""]{right:5px}.top-0{top:0}.top-5px,[top-5px=""]{top:5px}[top~="-1"]{top:-.25rem}.z-10,[z-10=""]{z-index:10}.z-40{z-index:40}.z-5,[z-5=""]{z-index:5}.grid,[grid~="~"]{display:grid}.auto-cols-max,[grid~=auto-cols-max]{grid-auto-columns:max-content}[grid~="cols-[1.5em_1fr]"]{grid-template-columns:1.5em 1fr}[grid~="cols-[min-content_1fr_min-content]"]{grid-template-columns:min-content 1fr min-content}[grid~="rows-[min-content_auto]"]{grid-template-rows:min-content auto}[grid~=cols-2]{grid-template-columns:repeat(2,minmax(0,1fr))}.m-2,[m-2=""]{margin:.5rem}.ma,[ma=""]{margin:auto}.mx-1,[mx-1=""]{margin-left:.25rem;margin-right:.25rem}.my-0,[my-0=""]{margin-top:0;margin-bottom:0}.my-2,[my-2=""]{margin-top:.5rem;margin-bottom:.5rem}[m~=x-2]{margin-left:.5rem;margin-right:.5rem}[m~=y-4]{margin-top:1rem;margin-bottom:1rem}.mb-1,[mb-1=""]{margin-bottom:.25rem}.mb-2,[mb-2=""]{margin-bottom:.5rem}.mr-1,[mr-1=""]{margin-right:.25rem}.mr-2,[mr-2=""]{margin-right:.5rem}.ms,[ms=""]{margin-inline-start:1rem}.mt-2,[m~=t2],[mt-2=""]{margin-top:.5rem}.inline,[inline=""]{display:inline}.hidden{display:none}.h-1\.4em{height:1.4em}.h-1\.5em{height:1.5em}.h-10,[h-10=""]{height:2.5rem}.h-1px,[h-1px=""]{height:1px}.h-3px,[h-3px=""]{height:3px}.h-41px,[h-41px=""]{height:41px}.h-6,[h-6=""]{height:1.5rem}.h-full,[h-full=""],[h~=full]{height:100%}.h-screen,[h-screen=""]{height:100vh}.h3{height:.75rem}.h4{height:1rem}.max-h-full,[max-h-full=""]{max-height:100%}.max-w-screen,[max-w-screen=""]{max-width:100vw}.max-w-xl,[max-w-xl=""]{max-width:36rem}.min-h-1em{min-height:1em}.min-h-75,[min-h-75=""]{min-height:18.75rem}.min-w-1em{min-width:1em}.min-w-2em,[min-w-2em=""]{min-width:2em}.w-1\.4em{width:1.4em}.w-1\.5em{width:1.5em}.w-2px,[w-2px=""]{width:2px}.w-350,[w-350=""]{width:87.5rem}.w-6,[w-6=""]{width:1.5rem}.w-80,[w-80=""]{width:20rem}.w-full,[w-full=""]{width:100%}.w-screen,[w-screen=""]{width:100vw}.open\:max-h-52[open],[open\:max-h-52=""][open]{max-height:13rem}.flex,[flex=""],[flex~="~"]{display:flex}.flex-1,[flex-1=""]{flex:1 1 0%}.flex-auto,[flex-auto=""]{flex:1 1 auto}.flex-shrink-0,[flex-shrink-0=""]{flex-shrink:0}[flex~=row]{flex-direction:row}.flex-col,[flex-col=""],[flex~=col]{flex-direction:column}[flex~=wrap]{flex-wrap:wrap}.origin-center,[origin-center=""]{transform-origin:center}.translate-x-3,[translate-x-3=""]{--un-translate-x:.75rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.rotate-0,[rotate-0=""]{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:0;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.rotate-90,[rotate-90=""]{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:90deg;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin,[animate-spin=""]{animation:spin 1s linear infinite}.animate-reverse{animation-direction:reverse}.animate-count-1,[animate-count-1=""]{animation-iteration-count:1}.cursor-help{cursor:help}.cursor-pointer,[cursor-pointer=""],.hover\:cursor-pointer:hover{cursor:pointer}.select-none,[select-none=""]{-webkit-user-select:none;user-select:none}.resize{resize:both}.items-end,[items-end=""]{align-items:flex-end}.items-center,[grid~=items-center],[items-center=""]{align-items:center}.justify-center,[justify-center=""]{justify-content:center}.justify-evenly,[justify-evenly=""]{justify-content:space-evenly}.justify-items-center,[justify-items-center=""]{justify-items:center}.gap-0,[gap-0=""]{gap:0}.gap-1,[flex~=gap-1]{gap:.25rem}.gap-2,[flex~=gap-2],[gap-2=""]{gap:.5rem}.gap-4,[flex~=gap-4],[gap-4=""]{gap:1rem}.gap-x-2,[gap~=x-2]{column-gap:.5rem}[gap~=y-3]{row-gap:.75rem}.overflow-auto,[overflow-auto=""]{overflow:auto}.overflow-hidden,[overflow-hidden=""],[overflow~=hidden]{overflow:hidden}.truncate,[truncate=""]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre,[whitespace-pre=""]{white-space:pre}.ws-nowrap,[ws-nowrap=""]{white-space:nowrap}.b,.border,[border~="~"]{border-width:1px}.b-2{border-width:2px}.border-b,[border~=b]{border-bottom-width:1px}.border-b-2,[border-b-2=""],[border~=b-2]{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r,[border~=r]{border-right-width:1px}.border-t,[border~=t]{border-top-width:1px}[border~="gray-400/50"]{border-color:#9ca3af80}.border-rounded,.rounded,[border-rounded=""],[border~=rounded],[rounded=""]{border-radius:.25rem}.rounded-lg,[rounded-lg=""]{border-radius:.5rem}.\!bg-gray-4{--un-bg-opacity:1 !important;background-color:rgb(156 163 175 / var(--un-bg-opacity))!important}.bg-current,[bg-current=""]{background-color:currentColor}.bg-green5,[bg-green5=""]{--un-bg-opacity:1;background-color:rgb(34 197 94 / var(--un-bg-opacity))}.bg-red-500\/10,[bg~="red-500/10"],[bg~="red500/10"]{background-color:#ef44441a}.bg-red5,[bg-red5=""]{--un-bg-opacity:1;background-color:rgb(239 68 68 / var(--un-bg-opacity))}.bg-white,[bg-white=""]{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.bg-yellow5,[bg-yellow5=""]{--un-bg-opacity:1;background-color:rgb(234 179 8 / var(--un-bg-opacity))}.dark .\!dark\:bg-gray-7{--un-bg-opacity:1 !important;background-color:rgb(55 65 81 / var(--un-bg-opacity))!important}[bg~="green-500/10"]{background-color:#22c55e1a}[bg~=transparent]{background-color:transparent}.p-0,[p-0=""]{padding:0}.p-1,[p-1=""]{padding:.25rem}.p-2,.p2,[p-2=""],[p~="2"],[p2=""]{padding:.5rem}.p-4,[p-4=""]{padding:1rem}.p-5,[p-5=""]{padding:1.25rem}.p6,[p6=""]{padding:1.5rem}[p~="3"]{padding:.75rem}.p-y-1,.py-1,[p~=y-1],[p~=y1],[py-1=""]{padding-top:.25rem;padding-bottom:.25rem}.px,[p~=x-4],[p~=x4]{padding-left:1rem;padding-right:1rem}.px-0{padding-left:0;padding-right:0}.px-3,[p~=x3],[px-3=""]{padding-left:.75rem;padding-right:.75rem}.py,[p~=y4]{padding-top:1rem;padding-bottom:1rem}.py-2,[p~=y2],[py-2=""]{padding-top:.5rem;padding-bottom:.5rem}[p~=x-2],[p~=x2]{padding-left:.5rem;padding-right:.5rem}[p~="y0.5"]{padding-top:.125rem;padding-bottom:.125rem}.pb-2,[pb-2=""]{padding-bottom:.5rem}.pe-2\.5,[pe-2\.5=""]{padding-inline-end:.625rem}.pl-1,[pl-1=""]{padding-left:.25rem}.pt{padding-top:1rem}.pt-4px{padding-top:4px}[p~=l3]{padding-left:.75rem}[p~=r2]{padding-right:.5rem}.text-center,[text-center=""],[text~=center]{text-align:center}.indent,[indent=""]{text-indent:1.5rem}[indent~="1"]{text-indent:.25rem}.text-2xl,[text-2xl=""]{font-size:1.5rem;line-height:2rem}.text-4xl,[text-4xl=""]{font-size:2.25rem;line-height:2.5rem}.text-lg,[text-lg=""]{font-size:1.125rem;line-height:1.75rem}.text-sm,[text-sm=""],[text~=sm]{font-size:.875rem;line-height:1.25rem}.text-xs,[text-xs=""],[text~=xs]{font-size:.75rem;line-height:1rem}[text~="5xl"]{font-size:3rem;line-height:1}.font-bold,[font-bold=""]{font-weight:700}.font-light,[font-light=""],[font~=light]{font-weight:300}.font-thin,[font-thin=""]{font-weight:100}.font-mono,[font-mono=""]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.capitalize,[capitalize=""]{text-transform:capitalize}.c-red-600,.text-red-600{--un-text-opacity:1;color:rgb(220 38 38 / var(--un-text-opacity))}.color-red5,.text-red-500,.text-red5,[text-red-500=""],[text-red5=""],[text~=red-500],[text~=red500]{--un-text-opacity:1;color:rgb(239 68 68 / var(--un-text-opacity))}.dark .dark\:c-red-400{--un-text-opacity:1;color:rgb(248 113 113 / var(--un-text-opacity))}.dark .dark\:color-\#f43f5e{--un-text-opacity:1;color:rgb(244 63 94 / var(--un-text-opacity))}.dark .dark\:text-red-300{--un-text-opacity:1;color:rgb(252 165 165 / var(--un-text-opacity))}.text-gray-500,[text-gray-500=""]{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity))}.text-green-500,.text-green5,[text-green-500=""],[text-green5=""],[text~=green-500]{--un-text-opacity:1;color:rgb(34 197 94 / var(--un-text-opacity))}.text-purple5\:50{color:#a855f780}.text-yellow-500,.text-yellow5,[text-yellow-500=""],[text-yellow5=""]{--un-text-opacity:1;color:rgb(234 179 8 / var(--un-text-opacity))}[text~="red500/70"]{color:#ef4444b3}.op-50,.op50,.opacity-50,[op-50=""],[op~="50"],[op50=""]{opacity:.5}.op100,[op~="100"]{opacity:1}.op20,[op20=""]{opacity:.2}.op30,[op30=""]{opacity:.3}.op80,[op80=""]{opacity:.8}.opacity-0{opacity:0}[opacity~="10"]{opacity:.1}[opacity~="70"]{opacity:.7}[hover~=op100]:hover,[op~="hover:100"]:hover{opacity:1}.outline{outline-style:solid}[outline~=none]{outline:2px solid transparent;outline-offset:2px}.backdrop-blur-sm,[backdrop-blur-sm=""]{--un-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.backdrop-saturate-0,[backdrop-saturate-0=""]{--un-backdrop-saturate:saturate(0);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.filter,[filter=""]{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)} diff --git a/.pnpm-store/v3/files/7f/430c55daba8438ab057c8399eb971d48ba4fa8eafd2ca51a59d8a81336cd5fd6fdcdfc1b4e96574dfa62a946ca4ac51b5fa81d2c4db307dfd95c18aaee1485 b/.pnpm-store/v3/files/7f/430c55daba8438ab057c8399eb971d48ba4fa8eafd2ca51a59d8a81336cd5fd6fdcdfc1b4e96574dfa62a946ca4ac51b5fa81d2c4db307dfd95c18aaee1485 new file mode 100644 index 00000000..5e6ecb25 --- /dev/null +++ b/.pnpm-store/v3/files/7f/430c55daba8438ab057c8399eb971d48ba4fa8eafd2ca51a59d8a81336cd5fd6fdcdfc1b4e96574dfa62a946ca4ac51b5fa81d2c4db307dfd95c18aaee1485 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O P Q","257":"R S T U V W X"},C:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q","257":"R S T U V W X"},E:{"1":"L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K XC DC YC ZC aC bC EC 2B 3B"},F:{"1":"zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB iC jC kC lC 2B QC mC 3B","257":"rB sB tB uB vB u wB xB yB"},G:{"1":"4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","132":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD","257":"ND OD"},Q:{"2":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS3 image-orientation",D:true}; diff --git a/.pnpm-store/v3/files/7f/c6aa8eedc8474dec7a081d0b4dc4f078d12f6ab3b6160503d5d5c41dbd22a87118d60b6e77c1bba4b500226abdfd8d07f2c6117c2f2c075278be23d620586c b/.pnpm-store/v3/files/7f/c6aa8eedc8474dec7a081d0b4dc4f078d12f6ab3b6160503d5d5c41dbd22a87118d60b6e77c1bba4b500226abdfd8d07f2c6117c2f2c075278be23d620586c new file mode 100644 index 00000000..555b61aa --- /dev/null +++ b/.pnpm-store/v3/files/7f/c6aa8eedc8474dec7a081d0b4dc4f078d12f6ab3b6160503d5d5c41dbd22a87118d60b6e77c1bba4b500226abdfd8d07f2c6117c2f2c075278be23d620586c @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","129":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","2":"TC"},D:{"2":"9 I J D E F A B C","129":"0 1 2 3 4 5 6 7 8 K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B iC jC kC lC 2B QC","129":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D","129":"A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:1,C:"Custom protocol handling",D:true}; diff --git a/.pnpm-store/v3/files/7f/eaf467c63fd9a31827e3e6dd89d3cec952b26bc253acfcbce1fd7391d6e7dc21257b88c44766518987023c8b41966047d439b6fbbf3bf33d6c1355e77563de b/.pnpm-store/v3/files/7f/eaf467c63fd9a31827e3e6dd89d3cec952b26bc253acfcbce1fd7391d6e7dc21257b88c44766518987023c8b41966047d439b6fbbf3bf33d6c1355e77563de new file mode 100644 index 00000000..8f211f79 --- /dev/null +++ b/.pnpm-store/v3/files/7f/eaf467c63fd9a31827e3e6dd89d3cec952b26bc253acfcbce1fd7391d6e7dc21257b88c44766518987023c8b41966047d439b6fbbf3bf33d6c1355e77563de @@ -0,0 +1 @@ +module.exports={C:{"99":0.00703,"114":0.01405,"115":0.00703,"120":0.0281,"121":2.027,"122":0.19673,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 104 105 106 107 108 109 110 111 112 113 116 117 118 119 123 124 125 3.5 3.6"},D:{"48":0.0281,"49":0.00703,"73":0.14755,"79":0.01405,"91":0.00703,"92":0.02108,"93":0.66747,"103":0.17565,"105":0.07729,"107":0.02108,"108":0.00703,"109":4.40179,"111":0.02108,"112":0.21078,"116":0.02108,"117":0.0281,"118":0.16862,"119":0.50587,"120":14.02741,"121":1.42979,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 80 81 83 84 85 86 87 88 89 90 94 95 96 97 98 99 100 101 102 104 106 110 113 114 115 122 123 124"},F:{"105":0.13349,"106":0.00703,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.01405,"87":0.0281,"104":0.00703,"106":0.00703,"107":0.00703,"109":0.03513,"112":0.03513,"115":0.00703,"116":0.00703,"117":0.12647,"118":0.00703,"119":0.10539,"120":5.6208,"121":0.83961,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 105 108 110 111 113 114"},E:{"14":0.01405,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.5 16.0 16.1 17.3 17.4","13.1":0.00703,"14.1":0.0281,"15.1":0.00703,"15.2-15.3":0.00703,"15.4":0.03513,"15.6":0.00703,"16.2":0.02108,"16.3":0.02108,"16.4":0.00703,"16.5":0.09836,"16.6":0.11242,"17.0":0.05621,"17.1":0.07729,"17.2":0.37238},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0025,"5.0-5.1":0.00374,"6.0-6.1":0.00624,"7.0-7.1":0.00874,"8.1-8.4":0.00125,"9.0-9.2":0.00749,"9.3":0.02871,"10.0-10.2":0.0025,"10.3":0.04493,"11.0-11.2":0.01747,"11.3-11.4":0.01872,"12.0-12.1":0.01123,"12.2-12.5":0.22216,"13.0-13.1":0.00374,"13.2":0.04119,"13.3":0.01123,"13.4-13.7":0.04992,"14.0-14.4":0.08737,"14.5-14.8":0.13355,"15.0-15.1":0.05741,"15.2-15.3":0.06615,"15.4":0.07738,"15.5":0.10234,"15.6-15.8":0.79754,"16.0":0.23963,"16.1":0.51047,"16.2":0.23215,"16.3":0.43184,"16.4":0.0961,"16.5":0.20469,"16.6-16.7":1.67495,"17.0":0.27833,"17.1":2.86938,"17.2":3.88408,"17.3":0.24962},P:{"4":0.3149,"22":0.06515,"23":0.92299,_:"20 21 5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 17.0 19.0","7.2-7.4":0.08687,"11.1-11.2":0.03258,"16.0":0.03258,"18.0":0.04343},I:{"0":0.02583,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"10":0.00703,"11":0.01405,_:"6 7 8 9 5.5"},K:{"0":0.07136,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.00649},H:{"0":0},L:{"0":53.52898},R:{_:"0"},M:{"0":0.1492}}; diff --git a/.pnpm-store/v3/files/7f/f9ff19c680c06ef58b20ab9cf65948eee55310c6b1acd365bcc0a7028c4356e358777fe6f53fc218a6df841a43fbcf877fe721dbd00ba10cc7e219bf841469 b/.pnpm-store/v3/files/7f/f9ff19c680c06ef58b20ab9cf65948eee55310c6b1acd365bcc0a7028c4356e358777fe6f53fc218a6df841a43fbcf877fe721dbd00ba10cc7e219bf841469 new file mode 100644 index 00000000..027488a5 --- /dev/null +++ b/.pnpm-store/v3/files/7f/f9ff19c680c06ef58b20ab9cf65948eee55310c6b1acd365bcc0a7028c4356e358777fe6f53fc218a6df841a43fbcf877fe721dbd00ba10cc7e219bf841469 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00875,"39":0.01313,"52":0.00875,"78":0.00438,"83":0.00438,"88":0.00875,"99":0.00438,"110":0.00438,"113":0.00875,"114":0.00438,"115":0.22755,"116":0.00438,"117":0.00438,"118":0.00875,"119":0.01313,"120":0.84457,"121":0.92334,"122":0.18817,"123":0.00438,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 87 89 90 91 92 93 94 95 96 97 98 100 101 102 103 104 105 106 107 108 109 111 112 124 125 3.5 3.6"},D:{"29":0.0175,"34":0.00875,"38":0.03063,"47":0.00438,"49":0.01313,"53":0.02188,"55":0.01313,"56":0.01313,"61":0.00438,"62":0.00438,"64":0.00438,"65":0.00438,"67":0.00438,"68":0.00438,"69":0.00438,"70":0.00438,"71":0.00438,"72":0.00438,"73":0.00438,"74":0.01313,"75":0.01313,"76":0.00438,"77":0.00438,"78":0.00875,"79":0.14441,"80":0.00438,"81":0.0175,"83":0.01313,"84":0.00438,"85":0.00875,"86":0.02626,"87":0.12253,"88":0.02188,"89":0.00438,"90":0.00438,"91":0.03063,"92":0.00438,"93":0.01313,"94":0.01313,"95":0.00875,"96":0.00875,"97":0.0175,"98":0.0175,"99":0.08752,"100":0.00875,"101":0.00875,"102":0.03063,"103":0.16191,"104":0.01313,"105":0.03063,"106":0.0175,"107":0.02626,"108":0.03938,"109":1.90356,"110":0.0175,"111":0.03938,"112":0.02626,"113":0.02188,"114":0.05689,"115":0.03501,"116":0.14441,"117":0.07002,"118":0.07439,"119":1.24716,"120":24.86006,"121":1.38282,"122":0.0175,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 54 57 58 59 60 63 66 123 124"},F:{"28":0.0175,"36":0.02188,"40":0.00438,"46":0.03938,"80":0.00438,"95":0.0175,"104":0.00438,"105":0.35446,"106":0.28444,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00875,"92":0.00438,"109":0.03938,"112":0.00438,"113":0.00438,"114":0.00438,"115":0.00438,"116":0.00438,"117":0.00875,"118":0.00875,"119":0.03063,"120":2.72187,"121":0.29757,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111"},E:{"13":0.00438,"14":0.04814,"15":0.01313,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00438,"13.1":0.03063,"14.1":0.1269,"15.1":0.02188,"15.2-15.3":0.02188,"15.4":0.04814,"15.5":0.08752,"15.6":0.31507,"16.0":0.03501,"16.1":0.09627,"16.2":0.07877,"16.3":0.24068,"16.4":0.05689,"16.5":0.1269,"16.6":0.6389,"17.0":0.13566,"17.1":0.94522,"17.2":0.96272,"17.3":0.04376},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00287,"5.0-5.1":0.00431,"6.0-6.1":0.00719,"7.0-7.1":0.01006,"8.1-8.4":0.00144,"9.0-9.2":0.00862,"9.3":0.03306,"10.0-10.2":0.00287,"10.3":0.05174,"11.0-11.2":0.02012,"11.3-11.4":0.02156,"12.0-12.1":0.01293,"12.2-12.5":0.25582,"13.0-13.1":0.00431,"13.2":0.04743,"13.3":0.01293,"13.4-13.7":0.05749,"14.0-14.4":0.1006,"14.5-14.8":0.15378,"15.0-15.1":0.06611,"15.2-15.3":0.07617,"15.4":0.08911,"15.5":0.11785,"15.6-15.8":0.91836,"16.0":0.27594,"16.1":0.58781,"16.2":0.26732,"16.3":0.49727,"16.4":0.11066,"16.5":0.2357,"16.6-16.7":1.92871,"17.0":0.32049,"17.1":3.30409,"17.2":4.47253,"17.3":0.28744},P:{"4":0.37435,"20":0.03209,"21":0.04278,"22":0.06417,"23":1.48672,"5.0-5.4":0.03209,"6.2-6.4":0.0107,"7.2-7.4":0.04278,_:"8.2 9.2 10.1 12.0 13.0 14.0","11.1-11.2":0.0107,"15.0":0.0107,"16.0":0.02139,"17.0":0.0107,"18.0":0.0107,"19.0":0.02139},I:{"0":0.0392,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"9":0.01969,"11":0.08533,_:"6 7 8 10 5.5"},K:{"0":0.77063,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00563},O:{"0":1.14188},H:{"0":0},L:{"0":39.52361},R:{_:"0"},M:{"0":0.21375}}; diff --git a/.pnpm-store/v3/files/80/2c00f07ce7b885e2c20a0024543c872a69fca18f8838d575a1147d70d4c3efe1dfcc2094f682eaee0c4dc7291ff483b8cb5489a62541c2e9c9e5de7c5bcb26 b/.pnpm-store/v3/files/80/2c00f07ce7b885e2c20a0024543c872a69fca18f8838d575a1147d70d4c3efe1dfcc2094f682eaee0c4dc7291ff483b8cb5489a62541c2e9c9e5de7c5bcb26 new file mode 100644 index 00000000..13aeef8f --- /dev/null +++ b/.pnpm-store/v3/files/80/2c00f07ce7b885e2c20a0024543c872a69fca18f8838d575a1147d70d4c3efe1dfcc2094f682eaee0c4dc7291ff483b8cb5489a62541c2e9c9e5de7c5bcb26 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"G M N O","33":"C K L","132":"8 H","164":"0 1 2 3 4 5 6 7 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z"},C:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB VC WC"},D:{"132":"8 H 1B BC CC","164":"0 1 2 3 4 5 6 7 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z"},E:{"16":"XC DC","132":"4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","388":"L G cC dC GC HC","420":"9 I J D E F A B C K YC ZC aC bC EC 2B 3B FC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","132":"p","164":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o"},G:{"16":"DC nC RC oC","132":"4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","388":"4C 5C 6C GC HC","420":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C"},H:{"2":"9C"},I:{"16":"7B AD BD CD","132":"H","164":"I DD RC ED FD"},J:{"164":"D A"},K:{"16":"A B C 2B QC 3B","164":"u"},L:{"132":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"164":"4B"},P:{"164":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"164":"FC"},R:{"164":"SD"},S:{"1":"TD UD"}},B:7,C:"Background-clip: text",D:true}; diff --git a/.pnpm-store/v3/files/80/5774145013b39d629c6b6e8715b385cae71a5826010825fb0b5f30d7e41f2f7ae414a64e5798627692fd8924495847bbd8808f217e9ec986afe8127b4d02c7 b/.pnpm-store/v3/files/80/5774145013b39d629c6b6e8715b385cae71a5826010825fb0b5f30d7e41f2f7ae414a64e5798627692fd8924495847bbd8808f217e9ec986afe8127b4d02c7 new file mode 100644 index 00000000..2c37137d --- /dev/null +++ b/.pnpm-store/v3/files/80/5774145013b39d629c6b6e8715b385cae71a5826010825fb0b5f30d7e41f2f7ae414a64e5798627692fd8924495847bbd8808f217e9ec986afe8127b4d02c7 @@ -0,0 +1 @@ +module.exports={"0":"112","1":"113","2":"114","3":"115","4":"116","5":"117","6":"118","7":"119","8":"120","9":"5",A:"10",B:"11",C:"12",D:"7",E:"8",F:"9",G:"15",H:"121",I:"4",J:"6",K:"13",L:"14",M:"16",N:"17",O:"18",P:"79",Q:"80",R:"81",S:"83",T:"84",U:"85",V:"86",W:"87",X:"88",Y:"89",Z:"90",a:"91",b:"92",c:"93",d:"94",e:"95",f:"96",g:"97",h:"98",i:"99",j:"100",k:"101",l:"102",m:"103",n:"104",o:"105",p:"106",q:"20",r:"21",s:"22",t:"23",u:"73",v:"107",w:"108",x:"109",y:"110",z:"111",AB:"19",BB:"24",CB:"25",DB:"26",EB:"27",FB:"28",GB:"29",HB:"30",IB:"31",JB:"32",KB:"33",LB:"34",MB:"35",NB:"36",OB:"37",PB:"38",QB:"39",RB:"40",SB:"41",TB:"42",UB:"43",VB:"44",WB:"45",XB:"46",YB:"47",ZB:"48",aB:"49",bB:"50",cB:"51",dB:"52",eB:"53",fB:"54",gB:"55",hB:"56",iB:"57",jB:"58",kB:"60",lB:"62",mB:"63",nB:"64",oB:"65",pB:"66",qB:"67",rB:"68",sB:"69",tB:"70",uB:"71",vB:"72",wB:"74",xB:"75",yB:"76",zB:"77","0B":"78","1B":"122","2B":"11.1","3B":"12.1","4B":"15.5","5B":"16.0","6B":"17.0","7B":"3","8B":"59","9B":"61",AC:"82",BC:"123",CC:"124",DC:"3.2",EC:"10.1",FC:"13.1",GC:"15.2-15.3",HC:"15.4",IC:"16.1",JC:"16.2",KC:"16.3",LC:"16.4",MC:"16.5",NC:"17.1",OC:"17.2",PC:"17.3",QC:"11.5",RC:"4.2-4.3",SC:"5.5",TC:"2",UC:"125",VC:"3.5",WC:"3.6",XC:"3.1",YC:"5.1",ZC:"6.1",aC:"7.1",bC:"9.1",cC:"14.1",dC:"15.1",eC:"15.6",fC:"16.6",gC:"17.4",hC:"TP",iC:"9.5-9.6",jC:"10.0-10.1",kC:"10.5",lC:"10.6",mC:"11.6",nC:"4.0-4.1",oC:"5.0-5.1",pC:"6.0-6.1",qC:"7.0-7.1",rC:"8.1-8.4",sC:"9.0-9.2",tC:"9.3",uC:"10.0-10.2",vC:"10.3",wC:"11.0-11.2",xC:"11.3-11.4",yC:"12.0-12.1",zC:"12.2-12.5","0C":"13.0-13.1","1C":"13.2","2C":"13.3","3C":"13.4-13.7","4C":"14.0-14.4","5C":"14.5-14.8","6C":"15.0-15.1","7C":"15.6-15.8","8C":"16.6-16.7","9C":"all",AD:"2.1",BD:"2.2",CD:"2.3",DD:"4.1",ED:"4.4",FD:"4.4.3-4.4.4",GD:"5.0-5.4",HD:"6.2-6.4",ID:"7.2-7.4",JD:"8.2",KD:"9.2",LD:"11.1-11.2",MD:"12.0",ND:"13.0",OD:"14.0",PD:"15.0",QD:"18.0",RD:"19.0",SD:"13.18",TD:"2.5",UD:"3.0-3.1"}; diff --git a/.pnpm-store/v3/files/80/6190304d5a6582531b29bde917cad41c722baaae44e4b3f9661e1d6dfb2268fb3169e89435163f62325472c63dcbe1ab4aceeed303cc4d300a6cbefce9dabb b/.pnpm-store/v3/files/80/6190304d5a6582531b29bde917cad41c722baaae44e4b3f9661e1d6dfb2268fb3169e89435163f62325472c63dcbe1ab4aceeed303cc4d300a6cbefce9dabb new file mode 100644 index 00000000..3b010fe3 --- /dev/null +++ b/.pnpm-store/v3/files/80/6190304d5a6582531b29bde917cad41c722baaae44e4b3f9661e1d6dfb2268fb3169e89435163f62325472c63dcbe1ab4aceeed303cc4d300a6cbefce9dabb @@ -0,0 +1 @@ +module.exports={C:{"4":0.00246,"40":0.00493,"43":0.00246,"44":0.00246,"45":0.00246,"47":0.00246,"49":0.00246,"50":0.00246,"51":0.00493,"52":0.01478,"72":0.00246,"75":0.00246,"77":0.00246,"78":0.00246,"80":0.00246,"81":0.00246,"88":0.00246,"99":0.00246,"102":0.00246,"103":0.00246,"104":0.00246,"105":0.01232,"106":0.00985,"107":0.00985,"108":0.01232,"109":0.01232,"110":0.01724,"111":0.01232,"112":0.00246,"113":0.00246,"114":0.00246,"115":0.50738,"116":0.00739,"117":0.01724,"118":0.00493,"119":0.00739,"120":0.01724,"121":1.19702,"122":0.3793,"123":0.01478,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 46 48 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 76 79 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 100 101 124 125 3.5 3.6"},D:{"11":0.00246,"29":0.00246,"38":0.00246,"41":0.01232,"47":0.00246,"48":0.00493,"49":0.00493,"50":0.00246,"56":0.02217,"57":0.00246,"58":0.00493,"62":0.00246,"63":0.00246,"65":0.00493,"66":0.00246,"68":0.00246,"69":0.00493,"70":0.00246,"71":0.00246,"72":0.00246,"73":0.01232,"74":0.00985,"75":0.01232,"76":0.00246,"77":0.00246,"78":0.00493,"79":0.01232,"80":0.00493,"81":0.01232,"83":0.00739,"84":0.00493,"85":0.0468,"86":0.0197,"87":0.01478,"88":0.00246,"89":0.01478,"90":0.00493,"91":0.00493,"92":0.00246,"93":0.00985,"94":0.02217,"95":0.00985,"96":0.00739,"97":0.00739,"98":0.00739,"99":0.00739,"100":0.00985,"101":0.00493,"102":0.02217,"103":0.03448,"104":0.01232,"105":0.05665,"106":0.12069,"107":0.16995,"108":0.18226,"109":1.40637,"110":0.10837,"111":0.12808,"112":0.1133,"113":0.00985,"114":0.03202,"115":0.02956,"116":0.04187,"117":0.03202,"118":0.03695,"119":0.16748,"120":12.09087,"121":1.03692,"122":0.02463,"123":0.00493,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 39 40 42 43 44 45 46 51 52 53 54 55 59 60 61 64 67 124"},F:{"28":0.00246,"29":0.00246,"36":0.00246,"46":0.00246,"79":0.00493,"80":0.00493,"85":0.00246,"86":0.00246,"91":0.00493,"92":0.00493,"93":0.00739,"94":0.00739,"95":0.02956,"96":0.00246,"105":0.16748,"106":0.31034,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 81 82 83 84 87 88 89 90 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00493,"13":0.00246,"14":0.00493,"15":0.00246,"16":0.00493,"17":0.00246,"18":0.01478,"84":0.00246,"85":0.00246,"89":0.00246,"90":0.00246,"92":0.02463,"100":0.00246,"103":0.00493,"104":0.00246,"105":0.00246,"106":0.01478,"107":0.02463,"108":0.02463,"109":0.03695,"110":0.02217,"111":0.00985,"112":0.00246,"113":0.00246,"114":0.00246,"115":0.00246,"116":0.00246,"117":0.00493,"118":0.00493,"119":0.01232,"120":0.84974,"121":0.14285,_:"79 80 81 83 86 87 88 91 93 94 95 96 97 98 99 101 102"},E:{"10":0.00493,"14":0.00739,_:"0 4 5 6 7 8 9 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 17.4","13.1":0.00246,"14.1":0.00739,"15.2-15.3":0.00246,"15.4":0.01478,"15.5":0.00739,"15.6":0.02956,"16.0":0.00493,"16.1":0.00739,"16.2":0.00493,"16.3":0.01232,"16.4":0.00739,"16.5":0.00739,"16.6":0.03695,"17.0":0.00985,"17.1":0.05172,"17.2":0.07882,"17.3":0.00985},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00053,"5.0-5.1":0.00079,"6.0-6.1":0.00132,"7.0-7.1":0.00184,"8.1-8.4":0.00026,"9.0-9.2":0.00158,"9.3":0.00605,"10.0-10.2":0.00053,"10.3":0.00947,"11.0-11.2":0.00368,"11.3-11.4":0.00395,"12.0-12.1":0.00237,"12.2-12.5":0.04682,"13.0-13.1":0.00079,"13.2":0.00868,"13.3":0.00237,"13.4-13.7":0.01052,"14.0-14.4":0.01841,"14.5-14.8":0.02815,"15.0-15.1":0.0121,"15.2-15.3":0.01394,"15.4":0.01631,"15.5":0.02157,"15.6-15.8":0.16808,"16.0":0.0505,"16.1":0.10758,"16.2":0.04893,"16.3":0.09101,"16.4":0.02025,"16.5":0.04314,"16.6-16.7":0.353,"17.0":0.05866,"17.1":0.60473,"17.2":0.81858,"17.3":0.05261},P:{"4":0.19912,"20":0.02096,"21":0.03144,"22":0.0524,"23":0.5764,"5.0-5.4":0.01048,"6.2-6.4":0.02096,"7.2-7.4":0.07336,_:"8.2 9.2 10.1 12.0 14.0 15.0","11.1-11.2":0.01048,"13.0":0.01048,"16.0":0.02096,"17.0":0.04192,"18.0":0.01048,"19.0":0.02096},I:{"0":0.10505,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00027},A:{"8":0.00522,"9":0.00261,"11":0.12518,_:"6 7 10 5.5"},K:{"0":3.32687,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01507,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00754},O:{"0":5.05733},H:{"0":0.11},L:{"0":66.48845},R:{_:"0"},M:{"0":0.09798}}; diff --git a/.pnpm-store/v3/files/80/7f6855a4f1baf5b4a7c7c75197f3451d34130d600d5ea39110c5da2d22d4b5c30c20d270adc92da0a2424c3b0f868e96517725a077400d1efa342e6b6bc054 b/.pnpm-store/v3/files/80/7f6855a4f1baf5b4a7c7c75197f3451d34130d600d5ea39110c5da2d22d4b5c30c20d270adc92da0a2424c3b0f868e96517725a077400d1efa342e6b6bc054 new file mode 100644 index 00000000..e1a21e98 --- /dev/null +++ b/.pnpm-store/v3/files/80/7f6855a4f1baf5b4a7c7c75197f3451d34130d600d5ea39110c5da2d22d4b5c30c20d270adc92da0a2424c3b0f868e96517725a077400d1efa342e6b6bc054 @@ -0,0 +1,2665 @@ +// DEFLATE is a complex format; to read this code, you should probably check the RFC first: +// https://tools.ietf.org/html/rfc1951 +// You may also wish to take a look at the guide I made about this program: +// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad +// Some of the following code is similar to that of UZIP.js: +// https://github.com/photopea/UZIP.js +// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size. +// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint +// is better for memory in most engines (I *think*). +var ch2 = {}; +var wk = (function (c, id, msg, transfer, cb) { + var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([ + c + ';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})' + ], { type: 'text/javascript' })))); + w.onmessage = function (e) { + var d = e.data, ed = d.$e$; + if (ed) { + var err = new Error(ed[0]); + err['code'] = ed[1]; + err.stack = ed[2]; + cb(err, null); + } + else + cb(null, d); + }; + w.postMessage(msg, transfer); + return w; +}); + +// aliases for shorter compressed code (most minifers don't do this) +var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array; +// fixed length extra bits +var fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]); +// fixed distance extra bits +var fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]); +// code length index map +var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); +// get base, reverse index map from extra bits +var freb = function (eb, start) { + var b = new u16(31); + for (var i = 0; i < 31; ++i) { + b[i] = start += 1 << eb[i - 1]; + } + // numbers here are at max 18 bits + var r = new i32(b[30]); + for (var i = 1; i < 30; ++i) { + for (var j = b[i]; j < b[i + 1]; ++j) { + r[j] = ((j - b[i]) << 5) | i; + } + } + return { b: b, r: r }; +}; +var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r; +// we can ignore the fact that the other numbers are wrong; they never happen anyway +fl[28] = 258, revfl[258] = 28; +var _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r; +// map of value to reverse (assuming 16 bits) +var rev = new u16(32768); +for (var i = 0; i < 32768; ++i) { + // reverse table algorithm from SO + var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1); + x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2); + x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4); + rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1; +} +// create huffman tree from u8 "map": index -> code length for code index +// mb (max bits) must be at most 15 +// TODO: optimize/split up? +var hMap = (function (cd, mb, r) { + var s = cd.length; + // index + var i = 0; + // u16 "map": index -> # of codes with bit length = index + var l = new u16(mb); + // length of cd must be 288 (total # of codes) + for (; i < s; ++i) { + if (cd[i]) + ++l[cd[i] - 1]; + } + // u16 "map": index -> minimum code for bit length = index + var le = new u16(mb); + for (i = 1; i < mb; ++i) { + le[i] = (le[i - 1] + l[i - 1]) << 1; + } + var co; + if (r) { + // u16 "map": index -> number of actual bits, symbol for code + co = new u16(1 << mb); + // bits to remove for reverser + var rvb = 15 - mb; + for (i = 0; i < s; ++i) { + // ignore 0 lengths + if (cd[i]) { + // num encoding both symbol and bits read + var sv = (i << 4) | cd[i]; + // free bits + var r_1 = mb - cd[i]; + // start value + var v = le[cd[i] - 1]++ << r_1; + // m is end value + for (var m = v | ((1 << r_1) - 1); v <= m; ++v) { + // every 16 bit value starting with the code yields the same result + co[rev[v] >> rvb] = sv; + } + } + } + } + else { + co = new u16(s); + for (i = 0; i < s; ++i) { + if (cd[i]) { + co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]); + } + } + } + return co; +}); +// fixed length tree +var flt = new u8(288); +for (var i = 0; i < 144; ++i) + flt[i] = 8; +for (var i = 144; i < 256; ++i) + flt[i] = 9; +for (var i = 256; i < 280; ++i) + flt[i] = 7; +for (var i = 280; i < 288; ++i) + flt[i] = 8; +// fixed distance tree +var fdt = new u8(32); +for (var i = 0; i < 32; ++i) + fdt[i] = 5; +// fixed length map +var flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1); +// fixed distance map +var fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1); +// find max of array +var max = function (a) { + var m = a[0]; + for (var i = 1; i < a.length; ++i) { + if (a[i] > m) + m = a[i]; + } + return m; +}; +// read d, starting at bit p and mask with m +var bits = function (d, p, m) { + var o = (p / 8) | 0; + return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m; +}; +// read d, starting at bit p continuing for at least 16 bits +var bits16 = function (d, p) { + var o = (p / 8) | 0; + return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7)); +}; +// get end of byte +var shft = function (p) { return ((p + 7) / 8) | 0; }; +// typed array slice - allows garbage collector to free original reference, +// while being more compatible than .slice +var slc = function (v, s, e) { + if (s == null || s < 0) + s = 0; + if (e == null || e > v.length) + e = v.length; + // can't use .constructor in case user-supplied + return new u8(v.subarray(s, e)); +}; +/** + * Codes for errors generated within this library + */ +export var FlateErrorCode = { + UnexpectedEOF: 0, + InvalidBlockType: 1, + InvalidLengthLiteral: 2, + InvalidDistance: 3, + StreamFinished: 4, + NoStreamHandler: 5, + InvalidHeader: 6, + NoCallback: 7, + InvalidUTF8: 8, + ExtraFieldTooLong: 9, + InvalidDate: 10, + FilenameTooLong: 11, + StreamFinishing: 12, + InvalidZipData: 13, + UnknownCompressionMethod: 14 +}; +// error codes +var ec = [ + 'unexpected EOF', + 'invalid block type', + 'invalid length/literal', + 'invalid distance', + 'stream finished', + 'no stream handler', + , + 'no callback', + 'invalid UTF-8 data', + 'extra field too long', + 'date not in range 1980-2099', + 'filename too long', + 'stream finishing', + 'invalid zip data' + // determined by unknown compression method +]; +; +var err = function (ind, msg, nt) { + var e = new Error(msg || ec[ind]); + e.code = ind; + if (Error.captureStackTrace) + Error.captureStackTrace(e, err); + if (!nt) + throw e; + return e; +}; +// expands raw DEFLATE data +var inflt = function (dat, st, buf, dict) { + // source length dict length + var sl = dat.length, dl = dict ? dict.length : 0; + if (!sl || st.f && !st.l) + return buf || new u8(0); + var noBuf = !buf; + // have to estimate size + var resize = noBuf || st.i != 2; + // no state + var noSt = st.i; + // Assumes roughly 33% compression ratio average + if (noBuf) + buf = new u8(sl * 3); + // ensure buffer can fit at least l elements + var cbuf = function (l) { + var bl = buf.length; + // need to increase size to fit + if (l > bl) { + // Double or set to necessary, whichever is greater + var nbuf = new u8(Math.max(bl * 2, l)); + nbuf.set(buf); + buf = nbuf; + } + }; + // last chunk bitpos bytes + var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n; + // total bits + var tbts = sl * 8; + do { + if (!lm) { + // BFINAL - this is only 1 when last chunk is next + final = bits(dat, pos, 1); + // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman + var type = bits(dat, pos + 1, 3); + pos += 3; + if (!type) { + // go to end of byte boundary + var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l; + if (t > sl) { + if (noSt) + err(0); + break; + } + // ensure size + if (resize) + cbuf(bt + l); + // Copy over uncompressed data + buf.set(dat.subarray(s, t), bt); + // Get new bitpos, update byte count + st.b = bt += l, st.p = pos = t * 8, st.f = final; + continue; + } + else if (type == 1) + lm = flrm, dm = fdrm, lbt = 9, dbt = 5; + else if (type == 2) { + // literal lengths + var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4; + var tl = hLit + bits(dat, pos + 5, 31) + 1; + pos += 14; + // length+distance tree + var ldt = new u8(tl); + // code length tree + var clt = new u8(19); + for (var i = 0; i < hcLen; ++i) { + // use index map to get real code + clt[clim[i]] = bits(dat, pos + i * 3, 7); + } + pos += hcLen * 3; + // code lengths bits + var clb = max(clt), clbmsk = (1 << clb) - 1; + // code lengths map + var clm = hMap(clt, clb, 1); + for (var i = 0; i < tl;) { + var r = clm[bits(dat, pos, clbmsk)]; + // bits read + pos += r & 15; + // symbol + var s = r >> 4; + // code length to copy + if (s < 16) { + ldt[i++] = s; + } + else { + // copy count + var c = 0, n = 0; + if (s == 16) + n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1]; + else if (s == 17) + n = 3 + bits(dat, pos, 7), pos += 3; + else if (s == 18) + n = 11 + bits(dat, pos, 127), pos += 7; + while (n--) + ldt[i++] = c; + } + } + // length tree distance tree + var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit); + // max length bits + lbt = max(lt); + // max dist bits + dbt = max(dt); + lm = hMap(lt, lbt, 1); + dm = hMap(dt, dbt, 1); + } + else + err(1); + if (pos > tbts) { + if (noSt) + err(0); + break; + } + } + // Make sure the buffer can hold this + the largest possible addition + // Maximum chunk size (practically, theoretically infinite) is 2^17 + if (resize) + cbuf(bt + 131072); + var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1; + var lpos = pos; + for (;; lpos = pos) { + // bits read, code + var c = lm[bits16(dat, pos) & lms], sym = c >> 4; + pos += c & 15; + if (pos > tbts) { + if (noSt) + err(0); + break; + } + if (!c) + err(2); + if (sym < 256) + buf[bt++] = sym; + else if (sym == 256) { + lpos = pos, lm = null; + break; + } + else { + var add = sym - 254; + // no extra bits needed if less + if (sym > 264) { + // index + var i = sym - 257, b = fleb[i]; + add = bits(dat, pos, (1 << b) - 1) + fl[i]; + pos += b; + } + // dist + var d = dm[bits16(dat, pos) & dms], dsym = d >> 4; + if (!d) + err(3); + pos += d & 15; + var dt = fd[dsym]; + if (dsym > 3) { + var b = fdeb[dsym]; + dt += bits16(dat, pos) & (1 << b) - 1, pos += b; + } + if (pos > tbts) { + if (noSt) + err(0); + break; + } + if (resize) + cbuf(bt + 131072); + var end = bt + add; + if (bt < dt) { + var shift = dl - dt, dend = Math.min(dt, end); + if (shift + bt < 0) + err(3); + for (; bt < dend; ++bt) + buf[bt] = dict[shift + bt]; + } + for (; bt < end; ++bt) + buf[bt] = buf[bt - dt]; + } + } + st.l = lm, st.p = lpos, st.b = bt, st.f = final; + if (lm) + final = 1, st.m = lbt, st.d = dm, st.n = dbt; + } while (!final); + // don't reallocate for streams or user buffers + return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt); +}; +// starting at p, write the minimum number of bits that can hold v to d +var wbits = function (d, p, v) { + v <<= p & 7; + var o = (p / 8) | 0; + d[o] |= v; + d[o + 1] |= v >> 8; +}; +// starting at p, write the minimum number of bits (>8) that can hold v to d +var wbits16 = function (d, p, v) { + v <<= p & 7; + var o = (p / 8) | 0; + d[o] |= v; + d[o + 1] |= v >> 8; + d[o + 2] |= v >> 16; +}; +// creates code lengths from a frequency table +var hTree = function (d, mb) { + // Need extra info to make a tree + var t = []; + for (var i = 0; i < d.length; ++i) { + if (d[i]) + t.push({ s: i, f: d[i] }); + } + var s = t.length; + var t2 = t.slice(); + if (!s) + return { t: et, l: 0 }; + if (s == 1) { + var v = new u8(t[0].s + 1); + v[t[0].s] = 1; + return { t: v, l: 1 }; + } + t.sort(function (a, b) { return a.f - b.f; }); + // after i2 reaches last ind, will be stopped + // freq must be greater than largest possible number of symbols + t.push({ s: -1, f: 25001 }); + var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2; + t[0] = { s: -1, f: l.f + r.f, l: l, r: r }; + // efficient algorithm from UZIP.js + // i0 is lookbehind, i2 is lookahead - after processing two low-freq + // symbols that combined have high freq, will start processing i2 (high-freq, + // non-composite) symbols instead + // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/ + while (i1 != s - 1) { + l = t[t[i0].f < t[i2].f ? i0++ : i2++]; + r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++]; + t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r }; + } + var maxSym = t2[0].s; + for (var i = 1; i < s; ++i) { + if (t2[i].s > maxSym) + maxSym = t2[i].s; + } + // code lengths + var tr = new u16(maxSym + 1); + // max bits in tree + var mbt = ln(t[i1 - 1], tr, 0); + if (mbt > mb) { + // more algorithms from UZIP.js + // TODO: find out how this code works (debt) + // ind debt + var i = 0, dt = 0; + // left cost + var lft = mbt - mb, cst = 1 << lft; + t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; }); + for (; i < s; ++i) { + var i2_1 = t2[i].s; + if (tr[i2_1] > mb) { + dt += cst - (1 << (mbt - tr[i2_1])); + tr[i2_1] = mb; + } + else + break; + } + dt >>= lft; + while (dt > 0) { + var i2_2 = t2[i].s; + if (tr[i2_2] < mb) + dt -= 1 << (mb - tr[i2_2]++ - 1); + else + ++i; + } + for (; i >= 0 && dt; --i) { + var i2_3 = t2[i].s; + if (tr[i2_3] == mb) { + --tr[i2_3]; + ++dt; + } + } + mbt = mb; + } + return { t: new u8(tr), l: mbt }; +}; +// get the max length and assign length codes +var ln = function (n, l, d) { + return n.s == -1 + ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1)) + : (l[n.s] = d); +}; +// length codes generation +var lc = function (c) { + var s = c.length; + // Note that the semicolon was intentional + while (s && !c[--s]) + ; + var cl = new u16(++s); + // ind num streak + var cli = 0, cln = c[0], cls = 1; + var w = function (v) { cl[cli++] = v; }; + for (var i = 1; i <= s; ++i) { + if (c[i] == cln && i != s) + ++cls; + else { + if (!cln && cls > 2) { + for (; cls > 138; cls -= 138) + w(32754); + if (cls > 2) { + w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305); + cls = 0; + } + } + else if (cls > 3) { + w(cln), --cls; + for (; cls > 6; cls -= 6) + w(8304); + if (cls > 2) + w(((cls - 3) << 5) | 8208), cls = 0; + } + while (cls--) + w(cln); + cls = 1; + cln = c[i]; + } + } + return { c: cl.subarray(0, cli), n: s }; +}; +// calculate the length of output from tree, code lengths +var clen = function (cf, cl) { + var l = 0; + for (var i = 0; i < cl.length; ++i) + l += cf[i] * cl[i]; + return l; +}; +// writes a fixed block +// returns the new bit pos +var wfblk = function (out, pos, dat) { + // no need to write 00 as type: TypedArray defaults to 0 + var s = dat.length; + var o = shft(pos + 2); + out[o] = s & 255; + out[o + 1] = s >> 8; + out[o + 2] = out[o] ^ 255; + out[o + 3] = out[o + 1] ^ 255; + for (var i = 0; i < s; ++i) + out[o + i + 4] = dat[i]; + return (o + 4 + s) * 8; +}; +// writes a block +var wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) { + wbits(out, p++, final); + ++lf[256]; + var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l; + var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l; + var _c = lc(dlt), lclt = _c.c, nlc = _c.n; + var _d = lc(ddt), lcdt = _d.c, ndc = _d.n; + var lcfreq = new u16(19); + for (var i = 0; i < lclt.length; ++i) + ++lcfreq[lclt[i] & 31]; + for (var i = 0; i < lcdt.length; ++i) + ++lcfreq[lcdt[i] & 31]; + var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l; + var nlcc = 19; + for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc) + ; + var flen = (bl + 5) << 3; + var ftlen = clen(lf, flt) + clen(df, fdt) + eb; + var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]; + if (bs >= 0 && flen <= ftlen && flen <= dtlen) + return wfblk(out, p, dat.subarray(bs, bs + bl)); + var lm, ll, dm, dl; + wbits(out, p, 1 + (dtlen < ftlen)), p += 2; + if (dtlen < ftlen) { + lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt; + var llm = hMap(lct, mlcb, 0); + wbits(out, p, nlc - 257); + wbits(out, p + 5, ndc - 1); + wbits(out, p + 10, nlcc - 4); + p += 14; + for (var i = 0; i < nlcc; ++i) + wbits(out, p + 3 * i, lct[clim[i]]); + p += 3 * nlcc; + var lcts = [lclt, lcdt]; + for (var it = 0; it < 2; ++it) { + var clct = lcts[it]; + for (var i = 0; i < clct.length; ++i) { + var len = clct[i] & 31; + wbits(out, p, llm[len]), p += lct[len]; + if (len > 15) + wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12; + } + } + } + else { + lm = flm, ll = flt, dm = fdm, dl = fdt; + } + for (var i = 0; i < li; ++i) { + var sym = syms[i]; + if (sym > 255) { + var len = (sym >> 18) & 31; + wbits16(out, p, lm[len + 257]), p += ll[len + 257]; + if (len > 7) + wbits(out, p, (sym >> 23) & 31), p += fleb[len]; + var dst = sym & 31; + wbits16(out, p, dm[dst]), p += dl[dst]; + if (dst > 3) + wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst]; + } + else { + wbits16(out, p, lm[sym]), p += ll[sym]; + } + } + wbits16(out, p, lm[256]); + return p + ll[256]; +}; +// deflate options (nice << 13) | chain +var deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]); +// empty +var et = /*#__PURE__*/ new u8(0); +// compresses data into a raw DEFLATE buffer +var dflt = function (dat, lvl, plvl, pre, post, st) { + var s = st.z || dat.length; + var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post); + // writing to this writes to the output buffer + var w = o.subarray(pre, o.length - post); + var lst = st.l; + var pos = (st.r || 0) & 7; + if (lvl) { + if (pos) + w[0] = st.r >> 3; + var opt = deo[lvl - 1]; + var n = opt >> 13, c = opt & 8191; + var msk_1 = (1 << plvl) - 1; + // prev 2-byte val map curr 2-byte val map + var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1); + var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1; + var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; }; + // 24576 is an arbitrary number of maximum symbols per block + // 424 buffer for last block + var syms = new i32(25000); + // length/literal freq distance freq + var lf = new u16(288), df = new u16(32); + // l/lcnt exbits index l/lind waitdx blkpos + var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0; + for (; i + 2 < s; ++i) { + // hash value + var hv = hsh(i); + // index mod 32768 previous index mod + var imod = i & 32767, pimod = head[hv]; + prev[imod] = pimod; + head[hv] = imod; + // We always should modify head and prev, but only add symbols if + // this data is not yet processed ("wait" for wait index) + if (wi <= i) { + // bytes remaining + var rem = s - i; + if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) { + pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos); + li = lc_1 = eb = 0, bs = i; + for (var j = 0; j < 286; ++j) + lf[j] = 0; + for (var j = 0; j < 30; ++j) + df[j] = 0; + } + // len dist chain + var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767; + if (rem > 2 && hv == hsh(i - dif)) { + var maxn = Math.min(n, rem) - 1; + var maxd = Math.min(32767, i); + // max possible length + // not capped at dif because decompressors implement "rolling" index population + var ml = Math.min(258, rem); + while (dif <= maxd && --ch_1 && imod != pimod) { + if (dat[i + l] == dat[i + l - dif]) { + var nl = 0; + for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl) + ; + if (nl > l) { + l = nl, d = dif; + // break out early when we reach "nice" (we are satisfied enough) + if (nl > maxn) + break; + // now, find the rarest 2-byte sequence within this + // length of literals and search for that instead. + // Much faster than just using the start + var mmd = Math.min(dif, nl - 2); + var md = 0; + for (var j = 0; j < mmd; ++j) { + var ti = i - dif + j & 32767; + var pti = prev[ti]; + var cd = ti - pti & 32767; + if (cd > md) + md = cd, pimod = ti; + } + } + } + // check the previous match + imod = pimod, pimod = prev[imod]; + dif += imod - pimod & 32767; + } + } + // d will be nonzero only when a match was found + if (d) { + // store both dist and len data in one int32 + // Make sure this is recognized as a len/dist with 28th bit (2^28) + syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d]; + var lin = revfl[l] & 31, din = revfd[d] & 31; + eb += fleb[lin] + fdeb[din]; + ++lf[257 + lin]; + ++df[din]; + wi = i + l; + ++lc_1; + } + else { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + } + } + for (i = Math.max(i, wi); i < s; ++i) { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos); + if (!lst) { + st.r = (pos & 7) | w[(pos / 8) | 0] << 3; + // shft(pos) now 1 less if pos & 7 != 0 + pos -= 7; + st.h = head, st.p = prev, st.i = i, st.w = wi; + } + } + else { + for (var i = st.w || 0; i < s + lst; i += 65535) { + // end + var e = i + 65535; + if (e >= s) { + // write final block + w[(pos / 8) | 0] = lst; + e = s; + } + pos = wfblk(w, pos + 1, dat.subarray(i, e)); + } + st.i = s; + } + return slc(o, 0, pre + shft(pos) + post); +}; +// CRC32 table +var crct = /*#__PURE__*/ (function () { + var t = new Int32Array(256); + for (var i = 0; i < 256; ++i) { + var c = i, k = 9; + while (--k) + c = ((c & 1) && -306674912) ^ (c >>> 1); + t[i] = c; + } + return t; +})(); +// CRC32 +var crc = function () { + var c = -1; + return { + p: function (d) { + // closures have awful performance + var cr = c; + for (var i = 0; i < d.length; ++i) + cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8); + c = cr; + }, + d: function () { return ~c; } + }; +}; +// Adler32 +var adler = function () { + var a = 1, b = 0; + return { + p: function (d) { + // closures have awful performance + var n = a, m = b; + var l = d.length | 0; + for (var i = 0; i != l;) { + var e = Math.min(i + 2655, l); + for (; i < e; ++i) + m += n += d[i]; + n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16); + } + a = n, b = m; + }, + d: function () { + a %= 65521, b %= 65521; + return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8); + } + }; +}; +; +// deflate with opts +var dopt = function (dat, opt, pre, post, st) { + if (!st) { + st = { l: 1 }; + if (opt.dictionary) { + var dict = opt.dictionary.subarray(-32768); + var newDat = new u8(dict.length + dat.length); + newDat.set(dict); + newDat.set(dat, dict.length); + dat = newDat; + st.w = dict.length; + } + } + return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (12 + opt.mem), pre, post, st); +}; +// Walmart object spread +var mrg = function (a, b) { + var o = {}; + for (var k in a) + o[k] = a[k]; + for (var k in b) + o[k] = b[k]; + return o; +}; +// worker clone +// This is possibly the craziest part of the entire codebase, despite how simple it may seem. +// The only parameter to this function is a closure that returns an array of variables outside of the function scope. +// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization. +// We will return an object mapping of true variable name to value (basically, the current scope as a JS object). +// The reason we can't just use the original variable names is minifiers mangling the toplevel scope. +// This took me three weeks to figure out how to do. +var wcln = function (fn, fnStr, td) { + var dt = fn(); + var st = fn.toString(); + var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\s+/g, '').split(','); + for (var i = 0; i < dt.length; ++i) { + var v = dt[i], k = ks[i]; + if (typeof v == 'function') { + fnStr += ';' + k + '='; + var st_1 = v.toString(); + if (v.prototype) { + // for global objects + if (st_1.indexOf('[native code]') != -1) { + var spInd = st_1.indexOf(' ', 8) + 1; + fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd)); + } + else { + fnStr += st_1; + for (var t in v.prototype) + fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString(); + } + } + else + fnStr += st_1; + } + else + td[k] = v; + } + return fnStr; +}; +var ch = []; +// clone bufs +var cbfs = function (v) { + var tl = []; + for (var k in v) { + if (v[k].buffer) { + tl.push((v[k] = new v[k].constructor(v[k])).buffer); + } + } + return tl; +}; +// use a worker to execute code +var wrkr = function (fns, init, id, cb) { + if (!ch[id]) { + var fnStr = '', td_1 = {}, m = fns.length - 1; + for (var i = 0; i < m; ++i) + fnStr = wcln(fns[i], fnStr, td_1); + ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 }; + } + var td = mrg({}, ch[id].e); + return wk(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb); +}; +// base async inflate fn +var bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; }; +var bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; }; +// gzip extra +var gze = function () { return [gzh, gzhl, wbytes, crc, crct]; }; +// gunzip extra +var guze = function () { return [gzs, gzl]; }; +// zlib extra +var zle = function () { return [zlh, wbytes, adler]; }; +// unzlib extra +var zule = function () { return [zls]; }; +// post buf +var pbf = function (msg) { return postMessage(msg, [msg.buffer]); }; +// get opts +var gopt = function (o) { return o && { + out: o.size && new u8(o.size), + dictionary: o.dictionary +}; }; +// async helper +var cbify = function (dat, opts, fns, init, id, cb) { + var w = wrkr(fns, init, id, function (err, dat) { + w.terminate(); + cb(err, dat); + }); + w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []); + return function () { w.terminate(); }; +}; +// auto stream +var astrm = function (strm) { + strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); }; + return function (ev) { + if (ev.data.length) { + strm.push(ev.data[0], ev.data[1]); + postMessage([ev.data[0].length]); + } + else + strm.flush(); + }; +}; +// async stream attach +var astrmify = function (fns, strm, opts, init, id, flush, ext) { + var t; + var w = wrkr(fns, init, id, function (err, dat) { + if (err) + w.terminate(), strm.ondata.call(strm, err); + else if (!Array.isArray(dat)) + ext(dat); + else if (dat.length == 1) { + strm.queuedSize -= dat[0]; + if (strm.ondrain) + strm.ondrain(dat[0]); + } + else { + if (dat[1]) + w.terminate(); + strm.ondata.call(strm, err, dat[0], dat[1]); + } + }); + w.postMessage(opts); + strm.queuedSize = 0; + strm.push = function (d, f) { + if (!strm.ondata) + err(5); + if (t) + strm.ondata(err(4, 0, 1), null, !!f); + strm.queuedSize += d.length; + w.postMessage([d, t = f], [d.buffer]); + }; + strm.terminate = function () { w.terminate(); }; + if (flush) { + strm.flush = function () { w.postMessage([]); }; + } +}; +// read 2 bytes +var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); }; +// read 4 bytes +var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; }; +var b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); }; +// write bytes +var wbytes = function (d, b, v) { + for (; v; ++b) + d[b] = v, v >>>= 8; +}; +// gzip header +var gzh = function (c, o) { + var fn = o.filename; + c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix + if (o.mtime != 0) + wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000)); + if (fn) { + c[3] = 8; + for (var i = 0; i <= fn.length; ++i) + c[i + 10] = fn.charCodeAt(i); + } +}; +// gzip footer: -8 to -4 = CRC, -4 to -0 is length +// gzip start +var gzs = function (d) { + if (d[0] != 31 || d[1] != 139 || d[2] != 8) + err(6, 'invalid gzip data'); + var flg = d[3]; + var st = 10; + if (flg & 4) + st += (d[10] | d[11] << 8) + 2; + for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++]) + ; + return st + (flg & 2); +}; +// gzip length +var gzl = function (d) { + var l = d.length; + return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0; +}; +// gzip header length +var gzhl = function (o) { return 10 + (o.filename ? o.filename.length + 1 : 0); }; +// zlib header +var zlh = function (c, o) { + var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2; + c[0] = 120, c[1] = (fl << 6) | (o.dictionary && 32); + c[1] |= 31 - ((c[0] << 8) | c[1]) % 31; + if (o.dictionary) { + var h = adler(); + h.p(o.dictionary); + wbytes(c, 2, h.d()); + } +}; +// zlib start +var zls = function (d, dict) { + if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31)) + err(6, 'invalid zlib data'); + if ((d[1] >> 5 & 1) == +!dict) + err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary'); + return (d[1] >> 3 & 4) + 2; +}; +function StrmOpt(opts, cb) { + if (typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + return opts; +} +/** + * Streaming DEFLATE compression + */ +var Deflate = /*#__PURE__*/ (function () { + function Deflate(opts, cb) { + if (typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + this.o = opts || {}; + this.s = { l: 0, i: 32768, w: 32768, z: 32768 }; + // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev + // 98304 = 32768 (lookback) + 65536 (common chunk size) + this.b = new u8(98304); + if (this.o.dictionary) { + var dict = this.o.dictionary.subarray(-32768); + this.b.set(dict, 32768 - dict.length); + this.s.i = 32768 - dict.length; + } + } + Deflate.prototype.p = function (c, f) { + this.ondata(dopt(c, this.o, 0, 0, this.s), f); + }; + /** + * Pushes a chunk to be deflated + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Deflate.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + if (this.s.l) + err(4); + var endLen = chunk.length + this.s.z; + if (endLen > this.b.length) { + if (endLen > 2 * this.b.length - 32768) { + var newBuf = new u8(endLen & -32768); + newBuf.set(this.b.subarray(0, this.s.z)); + this.b = newBuf; + } + var split = this.b.length - this.s.z; + this.b.set(chunk.subarray(0, split), this.s.z); + this.s.z = this.b.length; + this.p(this.b, false); + this.b.set(this.b.subarray(-32768)); + this.b.set(chunk.subarray(split), 32768); + this.s.z = chunk.length - split + 32768; + this.s.i = 32766, this.s.w = 32768; + } + else { + this.b.set(chunk, this.s.z); + this.s.z += chunk.length; + } + this.s.l = final & 1; + if (this.s.z > this.s.w + 8191 || final) { + this.p(this.b, final || false); + this.s.w = this.s.i, this.s.i -= 2; + } + }; + /** + * Flushes buffered uncompressed data. Useful to immediately retrieve the + * deflated output for small inputs. + */ + Deflate.prototype.flush = function () { + if (!this.ondata) + err(5); + if (this.s.l) + err(4); + this.p(this.b, false); + this.s.w = this.s.i, this.s.i -= 2; + }; + return Deflate; +}()); +export { Deflate }; +/** + * Asynchronous streaming DEFLATE compression + */ +var AsyncDeflate = /*#__PURE__*/ (function () { + function AsyncDeflate(opts, cb) { + astrmify([ + bDflt, + function () { return [astrm, Deflate]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Deflate(ev.data); + onmessage = astrm(strm); + }, 6, 1); + } + return AsyncDeflate; +}()); +export { AsyncDeflate }; +export function deflate(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bDflt, + ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb); +} +/** + * Compresses data with DEFLATE without any wrapper + * @param data The data to compress + * @param opts The compression options + * @returns The deflated version of the data + */ +export function deflateSync(data, opts) { + return dopt(data, opts || {}, 0, 0); +} +/** + * Streaming DEFLATE decompression + */ +var Inflate = /*#__PURE__*/ (function () { + function Inflate(opts, cb) { + // no StrmOpt here to avoid adding to workerizer + if (typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768); + this.s = { i: 0, b: dict ? dict.length : 0 }; + this.o = new u8(32768); + this.p = new u8(0); + if (dict) + this.o.set(dict); + } + Inflate.prototype.e = function (c) { + if (!this.ondata) + err(5); + if (this.d) + err(4); + if (!this.p.length) + this.p = c; + else if (c.length) { + var n = new u8(this.p.length + c.length); + n.set(this.p), n.set(c, this.p.length), this.p = n; + } + }; + Inflate.prototype.c = function (final) { + this.s.i = +(this.d = final || false); + var bts = this.s.b; + var dt = inflt(this.p, this.s, this.o); + this.ondata(slc(dt, bts, this.s.b), this.d); + this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length; + this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7; + }; + /** + * Pushes a chunk to be inflated + * @param chunk The chunk to push + * @param final Whether this is the final chunk + */ + Inflate.prototype.push = function (chunk, final) { + this.e(chunk), this.c(final); + }; + return Inflate; +}()); +export { Inflate }; +/** + * Asynchronous streaming DEFLATE decompression + */ +var AsyncInflate = /*#__PURE__*/ (function () { + function AsyncInflate(opts, cb) { + astrmify([ + bInflt, + function () { return [astrm, Inflate]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Inflate(ev.data); + onmessage = astrm(strm); + }, 7, 0); + } + return AsyncInflate; +}()); +export { AsyncInflate }; +export function inflate(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bInflt + ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb); +} +/** + * Expands DEFLATE data with no wrapper + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +export function inflateSync(data, opts) { + return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary); +} +// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize. +/** + * Streaming GZIP compression + */ +var Gzip = /*#__PURE__*/ (function () { + function Gzip(opts, cb) { + this.c = crc(); + this.l = 0; + this.v = 1; + Deflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be GZIPped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Gzip.prototype.push = function (chunk, final) { + this.c.p(chunk); + this.l += chunk.length; + Deflate.prototype.push.call(this, chunk, final); + }; + Gzip.prototype.p = function (c, f) { + var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s); + if (this.v) + gzh(raw, this.o), this.v = 0; + if (f) + wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l); + this.ondata(raw, f); + }; + /** + * Flushes buffered uncompressed data. Useful to immediately retrieve the + * GZIPped output for small inputs. + */ + Gzip.prototype.flush = function () { + Deflate.prototype.flush.call(this); + }; + return Gzip; +}()); +export { Gzip }; +/** + * Asynchronous streaming GZIP compression + */ +var AsyncGzip = /*#__PURE__*/ (function () { + function AsyncGzip(opts, cb) { + astrmify([ + bDflt, + gze, + function () { return [astrm, Deflate, Gzip]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Gzip(ev.data); + onmessage = astrm(strm); + }, 8, 1); + } + return AsyncGzip; +}()); +export { AsyncGzip }; +export function gzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bDflt, + gze, + function () { return [gzipSync]; } + ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb); +} +/** + * Compresses data with GZIP + * @param data The data to compress + * @param opts The compression options + * @returns The gzipped version of the data + */ +export function gzipSync(data, opts) { + if (!opts) + opts = {}; + var c = crc(), l = data.length; + c.p(data); + var d = dopt(data, opts, gzhl(opts), 8), s = d.length; + return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d; +} +/** + * Streaming single or multi-member GZIP decompression + */ +var Gunzip = /*#__PURE__*/ (function () { + function Gunzip(opts, cb) { + this.v = 1; + this.r = 0; + Inflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be GUNZIPped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Gunzip.prototype.push = function (chunk, final) { + Inflate.prototype.e.call(this, chunk); + this.r += chunk.length; + if (this.v) { + var p = this.p.subarray(this.v - 1); + var s = p.length > 3 ? gzs(p) : 4; + if (s > p.length) { + if (!final) + return; + } + else if (this.v > 1 && this.onmember) { + this.onmember(this.r - p.length); + } + this.p = p.subarray(s), this.v = 0; + } + // necessary to prevent TS from using the closure value + // This allows for workerization to function correctly + Inflate.prototype.c.call(this, final); + // process concatenated GZIP + if (this.s.f && !this.s.l && !final) { + this.v = shft(this.s.p) + 9; + this.s = { i: 0 }; + this.o = new u8(0); + this.push(new u8(0), final); + } + }; + return Gunzip; +}()); +export { Gunzip }; +/** + * Asynchronous streaming single or multi-member GZIP decompression + */ +var AsyncGunzip = /*#__PURE__*/ (function () { + function AsyncGunzip(opts, cb) { + var _this = this; + astrmify([ + bInflt, + guze, + function () { return [astrm, Inflate, Gunzip]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Gunzip(ev.data); + strm.onmember = function (offset) { return postMessage(offset); }; + onmessage = astrm(strm); + }, 9, 0, function (offset) { return _this.onmember && _this.onmember(offset); }); + } + return AsyncGunzip; +}()); +export { AsyncGunzip }; +export function gunzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bInflt, + guze, + function () { return [gunzipSync]; } + ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb); +} +/** + * Expands GZIP data + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +export function gunzipSync(data, opts) { + var st = gzs(data); + if (st + 8 > data.length) + err(6, 'invalid gzip data'); + return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary); +} +/** + * Streaming Zlib compression + */ +var Zlib = /*#__PURE__*/ (function () { + function Zlib(opts, cb) { + this.c = adler(); + this.v = 1; + Deflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be zlibbed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Zlib.prototype.push = function (chunk, final) { + this.c.p(chunk); + Deflate.prototype.push.call(this, chunk, final); + }; + Zlib.prototype.p = function (c, f) { + var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s); + if (this.v) + zlh(raw, this.o), this.v = 0; + if (f) + wbytes(raw, raw.length - 4, this.c.d()); + this.ondata(raw, f); + }; + /** + * Flushes buffered uncompressed data. Useful to immediately retrieve the + * zlibbed output for small inputs. + */ + Zlib.prototype.flush = function () { + Deflate.prototype.flush.call(this); + }; + return Zlib; +}()); +export { Zlib }; +/** + * Asynchronous streaming Zlib compression + */ +var AsyncZlib = /*#__PURE__*/ (function () { + function AsyncZlib(opts, cb) { + astrmify([ + bDflt, + zle, + function () { return [astrm, Deflate, Zlib]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Zlib(ev.data); + onmessage = astrm(strm); + }, 10, 1); + } + return AsyncZlib; +}()); +export { AsyncZlib }; +export function zlib(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bDflt, + zle, + function () { return [zlibSync]; } + ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb); +} +/** + * Compress data with Zlib + * @param data The data to compress + * @param opts The compression options + * @returns The zlib-compressed version of the data + */ +export function zlibSync(data, opts) { + if (!opts) + opts = {}; + var a = adler(); + a.p(data); + var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4); + return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d; +} +/** + * Streaming Zlib decompression + */ +var Unzlib = /*#__PURE__*/ (function () { + function Unzlib(opts, cb) { + Inflate.call(this, opts, cb); + this.v = opts && opts.dictionary ? 2 : 1; + } + /** + * Pushes a chunk to be unzlibbed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Unzlib.prototype.push = function (chunk, final) { + Inflate.prototype.e.call(this, chunk); + if (this.v) { + if (this.p.length < 6 && !final) + return; + this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0; + } + if (final) { + if (this.p.length < 4) + err(6, 'invalid zlib data'); + this.p = this.p.subarray(0, -4); + } + // necessary to prevent TS from using the closure value + // This allows for workerization to function correctly + Inflate.prototype.c.call(this, final); + }; + return Unzlib; +}()); +export { Unzlib }; +/** + * Asynchronous streaming Zlib decompression + */ +var AsyncUnzlib = /*#__PURE__*/ (function () { + function AsyncUnzlib(opts, cb) { + astrmify([ + bInflt, + zule, + function () { return [astrm, Inflate, Unzlib]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Unzlib(ev.data); + onmessage = astrm(strm); + }, 11, 0); + } + return AsyncUnzlib; +}()); +export { AsyncUnzlib }; +export function unzlib(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bInflt, + zule, + function () { return [unzlibSync]; } + ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb); +} +/** + * Expands Zlib data + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +export function unzlibSync(data, opts) { + return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary); +} +// Default algorithm for compression (used because having a known output size allows faster decompression) +export { gzip as compress, AsyncGzip as AsyncCompress }; +export { gzipSync as compressSync, Gzip as Compress }; +/** + * Streaming GZIP, Zlib, or raw DEFLATE decompression + */ +var Decompress = /*#__PURE__*/ (function () { + function Decompress(opts, cb) { + this.o = StrmOpt.call(this, opts, cb) || {}; + this.G = Gunzip; + this.I = Inflate; + this.Z = Unzlib; + } + // init substream + // overriden by AsyncDecompress + Decompress.prototype.i = function () { + var _this = this; + this.s.ondata = function (dat, final) { + _this.ondata(dat, final); + }; + }; + /** + * Pushes a chunk to be decompressed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Decompress.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + if (!this.s) { + if (this.p && this.p.length) { + var n = new u8(this.p.length + chunk.length); + n.set(this.p), n.set(chunk, this.p.length); + } + else + this.p = chunk; + if (this.p.length > 2) { + this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8) + ? new this.G(this.o) + : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31)) + ? new this.I(this.o) + : new this.Z(this.o); + this.i(); + this.s.push(this.p, final); + this.p = null; + } + } + else + this.s.push(chunk, final); + }; + return Decompress; +}()); +export { Decompress }; +/** + * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression + */ +var AsyncDecompress = /*#__PURE__*/ (function () { + function AsyncDecompress(opts, cb) { + Decompress.call(this, opts, cb); + this.queuedSize = 0; + this.G = AsyncGunzip; + this.I = AsyncInflate; + this.Z = AsyncUnzlib; + } + AsyncDecompress.prototype.i = function () { + var _this = this; + this.s.ondata = function (err, dat, final) { + _this.ondata(err, dat, final); + }; + this.s.ondrain = function (size) { + _this.queuedSize -= size; + if (_this.ondrain) + _this.ondrain(size); + }; + }; + /** + * Pushes a chunk to be decompressed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + AsyncDecompress.prototype.push = function (chunk, final) { + this.queuedSize += chunk.length; + Decompress.prototype.push.call(this, chunk, final); + }; + return AsyncDecompress; +}()); +export { AsyncDecompress }; +export function decompress(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return (data[0] == 31 && data[1] == 139 && data[2] == 8) + ? gunzip(data, opts, cb) + : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31)) + ? inflate(data, opts, cb) + : unzlib(data, opts, cb); +} +/** + * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +export function decompressSync(data, opts) { + return (data[0] == 31 && data[1] == 139 && data[2] == 8) + ? gunzipSync(data, opts) + : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31)) + ? inflateSync(data, opts) + : unzlibSync(data, opts); +} +// flatten a directory structure +var fltn = function (d, p, t, o) { + for (var k in d) { + var val = d[k], n = p + k, op = o; + if (Array.isArray(val)) + op = mrg(o, val[1]), val = val[0]; + if (val instanceof u8) + t[n] = [val, op]; + else { + t[n += '/'] = [new u8(0), op]; + fltn(val, n, t, o); + } + } +}; +// text encoder +var te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder(); +// text decoder +var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder(); +// text decoder stream +var tds = 0; +try { + td.decode(et, { stream: true }); + tds = 1; +} +catch (e) { } +// decode UTF8 +var dutf8 = function (d) { + for (var r = '', i = 0;;) { + var c = d[i++]; + var eb = (c > 127) + (c > 223) + (c > 239); + if (i + eb > d.length) + return { s: r, r: slc(d, i - 1) }; + if (!eb) + r += String.fromCharCode(c); + else if (eb == 3) { + c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536, + r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023)); + } + else if (eb & 1) + r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63)); + else + r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)); + } +}; +/** + * Streaming UTF-8 decoding + */ +var DecodeUTF8 = /*#__PURE__*/ (function () { + /** + * Creates a UTF-8 decoding stream + * @param cb The callback to call whenever data is decoded + */ + function DecodeUTF8(cb) { + this.ondata = cb; + if (tds) + this.t = new TextDecoder(); + else + this.p = et; + } + /** + * Pushes a chunk to be decoded from UTF-8 binary + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + DecodeUTF8.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + final = !!final; + if (this.t) { + this.ondata(this.t.decode(chunk, { stream: true }), final); + if (final) { + if (this.t.decode().length) + err(8); + this.t = null; + } + return; + } + if (!this.p) + err(4); + var dat = new u8(this.p.length + chunk.length); + dat.set(this.p); + dat.set(chunk, this.p.length); + var _a = dutf8(dat), s = _a.s, r = _a.r; + if (final) { + if (r.length) + err(8); + this.p = null; + } + else + this.p = r; + this.ondata(s, final); + }; + return DecodeUTF8; +}()); +export { DecodeUTF8 }; +/** + * Streaming UTF-8 encoding + */ +var EncodeUTF8 = /*#__PURE__*/ (function () { + /** + * Creates a UTF-8 decoding stream + * @param cb The callback to call whenever data is encoded + */ + function EncodeUTF8(cb) { + this.ondata = cb; + } + /** + * Pushes a chunk to be encoded to UTF-8 + * @param chunk The string data to push + * @param final Whether this is the last chunk + */ + EncodeUTF8.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + if (this.d) + err(4); + this.ondata(strToU8(chunk), this.d = final || false); + }; + return EncodeUTF8; +}()); +export { EncodeUTF8 }; +/** + * Converts a string into a Uint8Array for use with compression/decompression methods + * @param str The string to encode + * @param latin1 Whether or not to interpret the data as Latin-1. This should + * not need to be true unless decoding a binary string. + * @returns The string encoded in UTF-8/Latin-1 binary + */ +export function strToU8(str, latin1) { + if (latin1) { + var ar_1 = new u8(str.length); + for (var i = 0; i < str.length; ++i) + ar_1[i] = str.charCodeAt(i); + return ar_1; + } + if (te) + return te.encode(str); + var l = str.length; + var ar = new u8(str.length + (str.length >> 1)); + var ai = 0; + var w = function (v) { ar[ai++] = v; }; + for (var i = 0; i < l; ++i) { + if (ai + 5 > ar.length) { + var n = new u8(ai + 8 + ((l - i) << 1)); + n.set(ar); + ar = n; + } + var c = str.charCodeAt(i); + if (c < 128 || latin1) + w(c); + else if (c < 2048) + w(192 | (c >> 6)), w(128 | (c & 63)); + else if (c > 55295 && c < 57344) + c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023), + w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63)); + else + w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63)); + } + return slc(ar, 0, ai); +} +/** + * Converts a Uint8Array to a string + * @param dat The data to decode to string + * @param latin1 Whether or not to interpret the data as Latin-1. This should + * not need to be true unless encoding to binary string. + * @returns The original UTF-8/Latin-1 string + */ +export function strFromU8(dat, latin1) { + if (latin1) { + var r = ''; + for (var i = 0; i < dat.length; i += 16384) + r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384)); + return r; + } + else if (td) { + return td.decode(dat); + } + else { + var _a = dutf8(dat), s = _a.s, r = _a.r; + if (r.length) + err(8); + return s; + } +} +; +// deflate bit flag +var dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; }; +// skip local zip header +var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); }; +// read zip header +var zh = function (d, b, z) { + var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20); + var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2]; + return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off]; +}; +// read zip64 extra field +var z64e = function (d, b) { + for (; b2(d, b) != 1; b += 4 + b2(d, b + 2)) + ; + return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)]; +}; +// extra field length +var exfl = function (ex) { + var le = 0; + if (ex) { + for (var k in ex) { + var l = ex[k].length; + if (l > 65535) + err(9); + le += l + 4; + } + } + return le; +}; +// write zip header +var wzh = function (d, b, f, fn, u, c, ce, co) { + var fl = fn.length, ex = f.extra, col = co && co.length; + var exl = exfl(ex); + wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4; + if (ce != null) + d[b++] = 20, d[b++] = f.os; + d[b] = 20, b += 2; // spec compliance? what's that? + d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8; + d[b++] = f.compression & 255, d[b++] = f.compression >> 8; + var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980; + if (y < 0 || y > 119) + err(10); + wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4; + if (c != -1) { + wbytes(d, b, f.crc); + wbytes(d, b + 4, c < 0 ? -c - 2 : c); + wbytes(d, b + 8, f.size); + } + wbytes(d, b + 12, fl); + wbytes(d, b + 14, exl), b += 16; + if (ce != null) { + wbytes(d, b, col); + wbytes(d, b + 6, f.attrs); + wbytes(d, b + 10, ce), b += 14; + } + d.set(fn, b); + b += fl; + if (exl) { + for (var k in ex) { + var exf = ex[k], l = exf.length; + wbytes(d, b, +k); + wbytes(d, b + 2, l); + d.set(exf, b + 4), b += 4 + l; + } + } + if (col) + d.set(co, b), b += col; + return b; +}; +// write zip footer (end of central directory) +var wzf = function (o, b, c, d, e) { + wbytes(o, b, 0x6054B50); // skip disk + wbytes(o, b + 8, c); + wbytes(o, b + 10, c); + wbytes(o, b + 12, d); + wbytes(o, b + 16, e); +}; +/** + * A pass-through stream to keep data uncompressed in a ZIP archive. + */ +var ZipPassThrough = /*#__PURE__*/ (function () { + /** + * Creates a pass-through stream that can be added to ZIP archives + * @param filename The filename to associate with this data stream + */ + function ZipPassThrough(filename) { + this.filename = filename; + this.c = crc(); + this.size = 0; + this.compression = 0; + } + /** + * Processes a chunk and pushes to the output stream. You can override this + * method in a subclass for custom behavior, but by default this passes + * the data through. You must call this.ondata(err, chunk, final) at some + * point in this method. + * @param chunk The chunk to process + * @param final Whether this is the last chunk + */ + ZipPassThrough.prototype.process = function (chunk, final) { + this.ondata(null, chunk, final); + }; + /** + * Pushes a chunk to be added. If you are subclassing this with a custom + * compression algorithm, note that you must push data from the source + * file only, pre-compression. + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + ZipPassThrough.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + this.c.p(chunk); + this.size += chunk.length; + if (final) + this.crc = this.c.d(); + this.process(chunk, final || false); + }; + return ZipPassThrough; +}()); +export { ZipPassThrough }; +// I don't extend because TypeScript extension adds 1kB of runtime bloat +/** + * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate + * for better performance + */ +var ZipDeflate = /*#__PURE__*/ (function () { + /** + * Creates a DEFLATE stream that can be added to ZIP archives + * @param filename The filename to associate with this data stream + * @param opts The compression options + */ + function ZipDeflate(filename, opts) { + var _this = this; + if (!opts) + opts = {}; + ZipPassThrough.call(this, filename); + this.d = new Deflate(opts, function (dat, final) { + _this.ondata(null, dat, final); + }); + this.compression = 8; + this.flag = dbf(opts.level); + } + ZipDeflate.prototype.process = function (chunk, final) { + try { + this.d.push(chunk, final); + } + catch (e) { + this.ondata(e, null, final); + } + }; + /** + * Pushes a chunk to be deflated + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + ZipDeflate.prototype.push = function (chunk, final) { + ZipPassThrough.prototype.push.call(this, chunk, final); + }; + return ZipDeflate; +}()); +export { ZipDeflate }; +/** + * Asynchronous streaming DEFLATE compression for ZIP archives + */ +var AsyncZipDeflate = /*#__PURE__*/ (function () { + /** + * Creates an asynchronous DEFLATE stream that can be added to ZIP archives + * @param filename The filename to associate with this data stream + * @param opts The compression options + */ + function AsyncZipDeflate(filename, opts) { + var _this = this; + if (!opts) + opts = {}; + ZipPassThrough.call(this, filename); + this.d = new AsyncDeflate(opts, function (err, dat, final) { + _this.ondata(err, dat, final); + }); + this.compression = 8; + this.flag = dbf(opts.level); + this.terminate = this.d.terminate; + } + AsyncZipDeflate.prototype.process = function (chunk, final) { + this.d.push(chunk, final); + }; + /** + * Pushes a chunk to be deflated + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + AsyncZipDeflate.prototype.push = function (chunk, final) { + ZipPassThrough.prototype.push.call(this, chunk, final); + }; + return AsyncZipDeflate; +}()); +export { AsyncZipDeflate }; +// TODO: Better tree shaking +/** + * A zippable archive to which files can incrementally be added + */ +var Zip = /*#__PURE__*/ (function () { + /** + * Creates an empty ZIP archive to which files can be added + * @param cb The callback to call whenever data for the generated ZIP archive + * is available + */ + function Zip(cb) { + this.ondata = cb; + this.u = []; + this.d = 1; + } + /** + * Adds a file to the ZIP archive + * @param file The file stream to add + */ + Zip.prototype.add = function (file) { + var _this = this; + if (!this.ondata) + err(5); + // finishing or finished + if (this.d & 2) + this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false); + else { + var f = strToU8(file.filename), fl_1 = f.length; + var com = file.comment, o = com && strToU8(com); + var u = fl_1 != file.filename.length || (o && (com.length != o.length)); + var hl_1 = fl_1 + exfl(file.extra) + 30; + if (fl_1 > 65535) + this.ondata(err(11, 0, 1), null, false); + var header = new u8(hl_1); + wzh(header, 0, file, f, u, -1); + var chks_1 = [header]; + var pAll_1 = function () { + for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) { + var chk = chks_2[_i]; + _this.ondata(null, chk, false); + } + chks_1 = []; + }; + var tr_1 = this.d; + this.d = 0; + var ind_1 = this.u.length; + var uf_1 = mrg(file, { + f: f, + u: u, + o: o, + t: function () { + if (file.terminate) + file.terminate(); + }, + r: function () { + pAll_1(); + if (tr_1) { + var nxt = _this.u[ind_1 + 1]; + if (nxt) + nxt.r(); + else + _this.d = 1; + } + tr_1 = 1; + } + }); + var cl_1 = 0; + file.ondata = function (err, dat, final) { + if (err) { + _this.ondata(err, dat, final); + _this.terminate(); + } + else { + cl_1 += dat.length; + chks_1.push(dat); + if (final) { + var dd = new u8(16); + wbytes(dd, 0, 0x8074B50); + wbytes(dd, 4, file.crc); + wbytes(dd, 8, cl_1); + wbytes(dd, 12, file.size); + chks_1.push(dd); + uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size; + if (tr_1) + uf_1.r(); + tr_1 = 1; + } + else if (tr_1) + pAll_1(); + } + }; + this.u.push(uf_1); + } + }; + /** + * Ends the process of adding files and prepares to emit the final chunks. + * This *must* be called after adding all desired files for the resulting + * ZIP file to work properly. + */ + Zip.prototype.end = function () { + var _this = this; + if (this.d & 2) { + this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true); + return; + } + if (this.d) + this.e(); + else + this.u.push({ + r: function () { + if (!(_this.d & 1)) + return; + _this.u.splice(-1, 1); + _this.e(); + }, + t: function () { } + }); + this.d = 3; + }; + Zip.prototype.e = function () { + var bt = 0, l = 0, tl = 0; + for (var _i = 0, _a = this.u; _i < _a.length; _i++) { + var f = _a[_i]; + tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0); + } + var out = new u8(tl + 22); + for (var _b = 0, _c = this.u; _b < _c.length; _b++) { + var f = _c[_b]; + wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o); + bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b; + } + wzf(out, bt, this.u.length, tl, l); + this.ondata(null, out, true); + this.d = 2; + }; + /** + * A method to terminate any internal workers used by the stream. Subsequent + * calls to add() will fail. + */ + Zip.prototype.terminate = function () { + for (var _i = 0, _a = this.u; _i < _a.length; _i++) { + var f = _a[_i]; + f.t(); + } + this.d = 2; + }; + return Zip; +}()); +export { Zip }; +export function zip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + var r = {}; + fltn(data, '', r, opts); + var k = Object.keys(r); + var lft = k.length, o = 0, tot = 0; + var slft = lft, files = new Array(lft); + var term = []; + var tAll = function () { + for (var i = 0; i < term.length; ++i) + term[i](); + }; + var cbd = function (a, b) { + mt(function () { cb(a, b); }); + }; + mt(function () { cbd = cb; }); + var cbf = function () { + var out = new u8(tot + 22), oe = o, cdl = tot - o; + tot = 0; + for (var i = 0; i < slft; ++i) { + var f = files[i]; + try { + var l = f.c.length; + wzh(out, tot, f, f.f, f.u, l); + var badd = 30 + f.f.length + exfl(f.extra); + var loc = tot + badd; + out.set(f.c, loc); + wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l; + } + catch (e) { + return cbd(e, null); + } + } + wzf(out, o, files.length, cdl, oe); + cbd(null, out); + }; + if (!lft) + cbf(); + var _loop_1 = function (i) { + var fn = k[i]; + var _a = r[fn], file = _a[0], p = _a[1]; + var c = crc(), size = file.length; + c.p(file); + var f = strToU8(fn), s = f.length; + var com = p.comment, m = com && strToU8(com), ms = m && m.length; + var exl = exfl(p.extra); + var compression = p.level == 0 ? 0 : 8; + var cbl = function (e, d) { + if (e) { + tAll(); + cbd(e, null); + } + else { + var l = d.length; + files[i] = mrg(p, { + size: size, + crc: c.d(), + c: d, + f: f, + m: m, + u: s != fn.length || (m && (com.length != ms)), + compression: compression + }); + o += 30 + s + exl + l; + tot += 76 + 2 * (s + exl) + (ms || 0) + l; + if (!--lft) + cbf(); + } + }; + if (s > 65535) + cbl(err(11, 0, 1), null); + if (!compression) + cbl(null, file); + else if (size < 160000) { + try { + cbl(null, deflateSync(file, p)); + } + catch (e) { + cbl(e, null); + } + } + else + term.push(deflate(file, p, cbl)); + }; + // Cannot use lft because it can decrease + for (var i = 0; i < slft; ++i) { + _loop_1(i); + } + return tAll; +} +/** + * Synchronously creates a ZIP file. Prefer using `zip` for better performance + * with more than one file. + * @param data The directory structure for the ZIP archive + * @param opts The main options, merged with per-file options + * @returns The generated ZIP archive + */ +export function zipSync(data, opts) { + if (!opts) + opts = {}; + var r = {}; + var files = []; + fltn(data, '', r, opts); + var o = 0; + var tot = 0; + for (var fn in r) { + var _a = r[fn], file = _a[0], p = _a[1]; + var compression = p.level == 0 ? 0 : 8; + var f = strToU8(fn), s = f.length; + var com = p.comment, m = com && strToU8(com), ms = m && m.length; + var exl = exfl(p.extra); + if (s > 65535) + err(11); + var d = compression ? deflateSync(file, p) : file, l = d.length; + var c = crc(); + c.p(file); + files.push(mrg(p, { + size: file.length, + crc: c.d(), + c: d, + f: f, + m: m, + u: s != fn.length || (m && (com.length != ms)), + o: o, + compression: compression + })); + o += 30 + s + exl + l; + tot += 76 + 2 * (s + exl) + (ms || 0) + l; + } + var out = new u8(tot + 22), oe = o, cdl = tot - o; + for (var i = 0; i < files.length; ++i) { + var f = files[i]; + wzh(out, f.o, f, f.f, f.u, f.c.length); + var badd = 30 + f.f.length + exfl(f.extra); + out.set(f.c, f.o + badd); + wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0); + } + wzf(out, o, files.length, cdl, oe); + return out; +} +/** + * Streaming pass-through decompression for ZIP archives + */ +var UnzipPassThrough = /*#__PURE__*/ (function () { + function UnzipPassThrough() { + } + UnzipPassThrough.prototype.push = function (data, final) { + this.ondata(null, data, final); + }; + UnzipPassThrough.compression = 0; + return UnzipPassThrough; +}()); +export { UnzipPassThrough }; +/** + * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for + * better performance. + */ +var UnzipInflate = /*#__PURE__*/ (function () { + /** + * Creates a DEFLATE decompression that can be used in ZIP archives + */ + function UnzipInflate() { + var _this = this; + this.i = new Inflate(function (dat, final) { + _this.ondata(null, dat, final); + }); + } + UnzipInflate.prototype.push = function (data, final) { + try { + this.i.push(data, final); + } + catch (e) { + this.ondata(e, null, final); + } + }; + UnzipInflate.compression = 8; + return UnzipInflate; +}()); +export { UnzipInflate }; +/** + * Asynchronous streaming DEFLATE decompression for ZIP archives + */ +var AsyncUnzipInflate = /*#__PURE__*/ (function () { + /** + * Creates a DEFLATE decompression that can be used in ZIP archives + */ + function AsyncUnzipInflate(_, sz) { + var _this = this; + if (sz < 320000) { + this.i = new Inflate(function (dat, final) { + _this.ondata(null, dat, final); + }); + } + else { + this.i = new AsyncInflate(function (err, dat, final) { + _this.ondata(err, dat, final); + }); + this.terminate = this.i.terminate; + } + } + AsyncUnzipInflate.prototype.push = function (data, final) { + if (this.i.terminate) + data = slc(data, 0); + this.i.push(data, final); + }; + AsyncUnzipInflate.compression = 8; + return AsyncUnzipInflate; +}()); +export { AsyncUnzipInflate }; +/** + * A ZIP archive decompression stream that emits files as they are discovered + */ +var Unzip = /*#__PURE__*/ (function () { + /** + * Creates a ZIP decompression stream + * @param cb The callback to call whenever a file in the ZIP archive is found + */ + function Unzip(cb) { + this.onfile = cb; + this.k = []; + this.o = { + 0: UnzipPassThrough + }; + this.p = et; + } + /** + * Pushes a chunk to be unzipped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Unzip.prototype.push = function (chunk, final) { + var _this = this; + if (!this.onfile) + err(5); + if (!this.p) + err(4); + if (this.c > 0) { + var len = Math.min(this.c, chunk.length); + var toAdd = chunk.subarray(0, len); + this.c -= len; + if (this.d) + this.d.push(toAdd, !this.c); + else + this.k[0].push(toAdd); + chunk = chunk.subarray(len); + if (chunk.length) + return this.push(chunk, final); + } + else { + var f = 0, i = 0, is = void 0, buf = void 0; + if (!this.p.length) + buf = chunk; + else if (!chunk.length) + buf = this.p; + else { + buf = new u8(this.p.length + chunk.length); + buf.set(this.p), buf.set(chunk, this.p.length); + } + var l = buf.length, oc = this.c, add = oc && this.d; + var _loop_2 = function () { + var _a; + var sig = b4(buf, i); + if (sig == 0x4034B50) { + f = 1, is = i; + this_1.d = null; + this_1.c = 0; + var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28); + if (l > i + 30 + fnl + es) { + var chks_3 = []; + this_1.k.unshift(chks_3); + f = 2; + var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22); + var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u); + if (sc_1 == 4294967295) { + _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1]; + } + else if (dd) + sc_1 = -1; + i += es; + this_1.c = sc_1; + var d_1; + var file_1 = { + name: fn_1, + compression: cmp_1, + start: function () { + if (!file_1.ondata) + err(5); + if (!sc_1) + file_1.ondata(null, et, true); + else { + var ctr = _this.o[cmp_1]; + if (!ctr) + file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false); + d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1); + d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); }; + for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) { + var dat = chks_4[_i]; + d_1.push(dat, false); + } + if (_this.k[0] == chks_3 && _this.c) + _this.d = d_1; + else + d_1.push(et, true); + } + }, + terminate: function () { + if (d_1 && d_1.terminate) + d_1.terminate(); + } + }; + if (sc_1 >= 0) + file_1.size = sc_1, file_1.originalSize = su_1; + this_1.onfile(file_1); + } + return "break"; + } + else if (oc) { + if (sig == 0x8074B50) { + is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0; + return "break"; + } + else if (sig == 0x2014B50) { + is = i -= 4, f = 3, this_1.c = 0; + return "break"; + } + } + }; + var this_1 = this; + for (; i < l - 4; ++i) { + var state_1 = _loop_2(); + if (state_1 === "break") + break; + } + this.p = et; + if (oc < 0) { + var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i); + if (add) + add.push(dat, !!f); + else + this.k[+(f == 2)].push(dat); + } + if (f & 2) + return this.push(buf.subarray(i), final); + this.p = buf.subarray(i); + } + if (final) { + if (this.c) + err(13); + this.p = null; + } + }; + /** + * Registers a decoder with the stream, allowing for files compressed with + * the compression type provided to be expanded correctly + * @param decoder The decoder constructor + */ + Unzip.prototype.register = function (decoder) { + this.o[decoder.compression] = decoder; + }; + return Unzip; +}()); +export { Unzip }; +var mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); }; +export function unzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + var term = []; + var tAll = function () { + for (var i = 0; i < term.length; ++i) + term[i](); + }; + var files = {}; + var cbd = function (a, b) { + mt(function () { cb(a, b); }); + }; + mt(function () { cbd = cb; }); + var e = data.length - 22; + for (; b4(data, e) != 0x6054B50; --e) { + if (!e || data.length - e > 65558) { + cbd(err(13, 0, 1), null); + return tAll; + } + } + ; + var lft = b2(data, e + 8); + if (lft) { + var c = lft; + var o = b4(data, e + 16); + var z = o == 4294967295 || c == 65535; + if (z) { + var ze = b4(data, e - 12); + z = b4(data, ze) == 0x6064B50; + if (z) { + c = lft = b4(data, ze + 32); + o = b4(data, ze + 48); + } + } + var fltr = opts && opts.filter; + var _loop_3 = function (i) { + var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off); + o = no; + var cbl = function (e, d) { + if (e) { + tAll(); + cbd(e, null); + } + else { + if (d) + files[fn] = d; + if (!--lft) + cbd(null, files); + } + }; + if (!fltr || fltr({ + name: fn, + size: sc, + originalSize: su, + compression: c_1 + })) { + if (!c_1) + cbl(null, slc(data, b, b + sc)); + else if (c_1 == 8) { + var infl = data.subarray(b, b + sc); + // Synchronously decompress under 512KB, or barely-compressed data + if (su < 524288 || sc > 0.8 * su) { + try { + cbl(null, inflateSync(infl, { out: new u8(su) })); + } + catch (e) { + cbl(e, null); + } + } + else + term.push(inflate(infl, { size: su }, cbl)); + } + else + cbl(err(14, 'unknown compression type ' + c_1, 1), null); + } + else + cbl(null, null); + }; + for (var i = 0; i < c; ++i) { + _loop_3(i); + } + } + else + cbd(null, {}); + return tAll; +} +/** + * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better + * performance with more than one file. + * @param data The raw compressed ZIP file + * @param opts The ZIP extraction options + * @returns The decompressed files + */ +export function unzipSync(data, opts) { + var files = {}; + var e = data.length - 22; + for (; b4(data, e) != 0x6054B50; --e) { + if (!e || data.length - e > 65558) + err(13); + } + ; + var c = b2(data, e + 8); + if (!c) + return {}; + var o = b4(data, e + 16); + var z = o == 4294967295 || c == 65535; + if (z) { + var ze = b4(data, e - 12); + z = b4(data, ze) == 0x6064B50; + if (z) { + c = b4(data, ze + 32); + o = b4(data, ze + 48); + } + } + var fltr = opts && opts.filter; + for (var i = 0; i < c; ++i) { + var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off); + o = no; + if (!fltr || fltr({ + name: fn, + size: sc, + originalSize: su, + compression: c_2 + })) { + if (!c_2) + files[fn] = slc(data, b, b + sc); + else if (c_2 == 8) + files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) }); + else + err(14, 'unknown compression type ' + c_2); + } + } + return files; +} diff --git a/.pnpm-store/v3/files/80/de3f8f3f014fab87c3a2ee0a92d028e9d71e4d32a21f7582b3721b7fb0a51a0d67dda367a5559d791a70472cb443cbaa5175dd81abbfa6ee203505954c2a67 b/.pnpm-store/v3/files/80/de3f8f3f014fab87c3a2ee0a92d028e9d71e4d32a21f7582b3721b7fb0a51a0d67dda367a5559d791a70472cb443cbaa5175dd81abbfa6ee203505954c2a67 new file mode 100644 index 00000000..817136d6 --- /dev/null +++ b/.pnpm-store/v3/files/80/de3f8f3f014fab87c3a2ee0a92d028e9d71e4d32a21f7582b3721b7fb0a51a0d67dda367a5559d791a70472cb443cbaa5175dd81abbfa6ee203505954c2a67 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","4":"TC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p jC kC lC 2B QC mC 3B","2":"F","4":"iC"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS3 Colors",D:true}; diff --git a/.pnpm-store/v3/files/80/fc9d99f225cf93028d0a7218f524df0f1896ddf2781939a0540f84d96059b9b9232a9e5c65c49b1961a777928b04f2571e34fe1fc05064d9f00bf8c4cea070 b/.pnpm-store/v3/files/80/fc9d99f225cf93028d0a7218f524df0f1896ddf2781939a0540f84d96059b9b9232a9e5c65c49b1961a777928b04f2571e34fe1fc05064d9f00bf8c4cea070 new file mode 100644 index 00000000..943c52dc --- /dev/null +++ b/.pnpm-store/v3/files/80/fc9d99f225cf93028d0a7218f524df0f1896ddf2781939a0540f84d96059b9b9232a9e5c65c49b1961a777928b04f2571e34fe1fc05064d9f00bf8c4cea070 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D SC","66":"E F A"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t VC WC","66":"BB CB DB"},D:{"1":"0 1 2 3 4 5 6 7 8 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB"},E:{"1":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC ZC"},F:{"1":"M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F G iC","66":"B C jC kC lC 2B QC mC 3B"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"1":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"1":"A","2":"D"},K:{"1":"u 3B","2":"A B C 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","66":"A"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"TLS 1.2",D:true}; diff --git a/.pnpm-store/v3/files/81/38324b24340e63c57b698d7486c48d17e13145b3dc9a3acd4a142f2ef4cbb40a031a10983e5480b6f358d35efbe9d593d65be742a27ce50904037792830b9f b/.pnpm-store/v3/files/81/38324b24340e63c57b698d7486c48d17e13145b3dc9a3acd4a142f2ef4cbb40a031a10983e5480b6f358d35efbe9d593d65be742a27ce50904037792830b9f new file mode 100644 index 00000000..a783049b --- /dev/null +++ b/.pnpm-store/v3/files/81/38324b24340e63c57b698d7486c48d17e13145b3dc9a3acd4a142f2ef4cbb40a031a10983e5480b6f358d35efbe9d593d65be742a27ce50904037792830b9f @@ -0,0 +1,240 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.resolveURI = factory()); +})(this, (function () { 'use strict'; + + // Matches the scheme of a URL, eg "http://" + const schemeRegex = /^[\w+.-]+:\/\//; + /** + * Matches the parts of a URL: + * 1. Scheme, including ":", guaranteed. + * 2. User/password, including "@", optional. + * 3. Host, guaranteed. + * 4. Port, including ":", optional. + * 5. Path, including "/", optional. + * 6. Query, including "?", optional. + * 7. Hash, including "#", optional. + */ + const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/; + /** + * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start + * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive). + * + * 1. Host, optional. + * 2. Path, which may include "/", guaranteed. + * 3. Query, including "?", optional. + * 4. Hash, including "#", optional. + */ + const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i; + function isAbsoluteUrl(input) { + return schemeRegex.test(input); + } + function isSchemeRelativeUrl(input) { + return input.startsWith('//'); + } + function isAbsolutePath(input) { + return input.startsWith('/'); + } + function isFileUrl(input) { + return input.startsWith('file:'); + } + function isRelative(input) { + return /^[.?#]/.test(input); + } + function parseAbsoluteUrl(input) { + const match = urlRegex.exec(input); + return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || ''); + } + function parseFileUrl(input) { + const match = fileRegex.exec(input); + const path = match[2]; + return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || ''); + } + function makeUrl(scheme, user, host, port, path, query, hash) { + return { + scheme, + user, + host, + port, + path, + query, + hash, + type: 7 /* Absolute */, + }; + } + function parseUrl(input) { + if (isSchemeRelativeUrl(input)) { + const url = parseAbsoluteUrl('http:' + input); + url.scheme = ''; + url.type = 6 /* SchemeRelative */; + return url; + } + if (isAbsolutePath(input)) { + const url = parseAbsoluteUrl('http://foo.com' + input); + url.scheme = ''; + url.host = ''; + url.type = 5 /* AbsolutePath */; + return url; + } + if (isFileUrl(input)) + return parseFileUrl(input); + if (isAbsoluteUrl(input)) + return parseAbsoluteUrl(input); + const url = parseAbsoluteUrl('http://foo.com/' + input); + url.scheme = ''; + url.host = ''; + url.type = input + ? input.startsWith('?') + ? 3 /* Query */ + : input.startsWith('#') + ? 2 /* Hash */ + : 4 /* RelativePath */ + : 1 /* Empty */; + return url; + } + function stripPathFilename(path) { + // If a path ends with a parent directory "..", then it's a relative path with excess parent + // paths. It's not a file, so we can't strip it. + if (path.endsWith('/..')) + return path; + const index = path.lastIndexOf('/'); + return path.slice(0, index + 1); + } + function mergePaths(url, base) { + normalizePath(base, base.type); + // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative + // path). + if (url.path === '/') { + url.path = base.path; + } + else { + // Resolution happens relative to the base path's directory, not the file. + url.path = stripPathFilename(base.path) + url.path; + } + } + /** + * The path can have empty directories "//", unneeded parents "foo/..", or current directory + * "foo/.". We need to normalize to a standard representation. + */ + function normalizePath(url, type) { + const rel = type <= 4 /* RelativePath */; + const pieces = url.path.split('/'); + // We need to preserve the first piece always, so that we output a leading slash. The item at + // pieces[0] is an empty string. + let pointer = 1; + // Positive is the number of real directories we've output, used for popping a parent directory. + // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo". + let positive = 0; + // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will + // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a + // real directory, we won't need to append, unless the other conditions happen again. + let addTrailingSlash = false; + for (let i = 1; i < pieces.length; i++) { + const piece = pieces[i]; + // An empty directory, could be a trailing slash, or just a double "//" in the path. + if (!piece) { + addTrailingSlash = true; + continue; + } + // If we encounter a real directory, then we don't need to append anymore. + addTrailingSlash = false; + // A current directory, which we can always drop. + if (piece === '.') + continue; + // A parent directory, we need to see if there are any real directories we can pop. Else, we + // have an excess of parents, and we'll need to keep the "..". + if (piece === '..') { + if (positive) { + addTrailingSlash = true; + positive--; + pointer--; + } + else if (rel) { + // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute + // URL, protocol relative URL, or an absolute path, we don't need to keep excess. + pieces[pointer++] = piece; + } + continue; + } + // We've encountered a real directory. Move it to the next insertion pointer, which accounts for + // any popped or dropped directories. + pieces[pointer++] = piece; + positive++; + } + let path = ''; + for (let i = 1; i < pointer; i++) { + path += '/' + pieces[i]; + } + if (!path || (addTrailingSlash && !path.endsWith('/..'))) { + path += '/'; + } + url.path = path; + } + /** + * Attempts to resolve `input` URL/path relative to `base`. + */ + function resolve(input, base) { + if (!input && !base) + return ''; + const url = parseUrl(input); + let inputType = url.type; + if (base && inputType !== 7 /* Absolute */) { + const baseUrl = parseUrl(base); + const baseType = baseUrl.type; + switch (inputType) { + case 1 /* Empty */: + url.hash = baseUrl.hash; + // fall through + case 2 /* Hash */: + url.query = baseUrl.query; + // fall through + case 3 /* Query */: + case 4 /* RelativePath */: + mergePaths(url, baseUrl); + // fall through + case 5 /* AbsolutePath */: + // The host, user, and port are joined, you can't copy one without the others. + url.user = baseUrl.user; + url.host = baseUrl.host; + url.port = baseUrl.port; + // fall through + case 6 /* SchemeRelative */: + // The input doesn't have a schema at least, so we need to copy at least that over. + url.scheme = baseUrl.scheme; + } + if (baseType > inputType) + inputType = baseType; + } + normalizePath(url, inputType); + const queryHash = url.query + url.hash; + switch (inputType) { + // This is impossible, because of the empty checks at the start of the function. + // case UrlType.Empty: + case 2 /* Hash */: + case 3 /* Query */: + return queryHash; + case 4 /* RelativePath */: { + // The first char is always a "/", and we need it to be relative. + const path = url.path.slice(1); + if (!path) + return queryHash || '.'; + if (isRelative(base || input) && !isRelative(path)) { + // If base started with a leading ".", or there is no base and input started with a ".", + // then we need to ensure that the relative path starts with a ".". We don't know if + // relative starts with a "..", though, so check before prepending. + return './' + path + queryHash; + } + return path + queryHash; + } + case 5 /* AbsolutePath */: + return url.path + queryHash; + default: + return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash; + } + } + + return resolve; + +})); +//# sourceMappingURL=resolve-uri.umd.js.map diff --git a/.pnpm-store/v3/files/81/ec84bdcdf0b7427eeb47cba72ab2d3b237ccde6d3deb0c0df96a267b37c66b46bfdbac9aab55c784ebe2df9c9667a597185e7e7fceff81dfecad92c825b14a b/.pnpm-store/v3/files/81/ec84bdcdf0b7427eeb47cba72ab2d3b237ccde6d3deb0c0df96a267b37c66b46bfdbac9aab55c784ebe2df9c9667a597185e7e7fceff81dfecad92c825b14a new file mode 100644 index 00000000..5ba98ad7 --- /dev/null +++ b/.pnpm-store/v3/files/81/ec84bdcdf0b7427eeb47cba72ab2d3b237ccde6d3deb0c0df96a267b37c66b46bfdbac9aab55c784ebe2df9c9667a597185e7e7fceff81dfecad92c825b14a @@ -0,0 +1 @@ +{"0.20.0":"39.0.2171.65","0.20.1":"39.0.2171.65","0.20.2":"39.0.2171.65","0.20.3":"39.0.2171.65","0.20.4":"39.0.2171.65","0.20.5":"39.0.2171.65","0.20.6":"39.0.2171.65","0.20.7":"39.0.2171.65","0.20.8":"39.0.2171.65","0.21.0":"40.0.2214.91","0.21.1":"40.0.2214.91","0.21.2":"40.0.2214.91","0.21.3":"41.0.2272.76","0.22.1":"41.0.2272.76","0.22.2":"41.0.2272.76","0.22.3":"41.0.2272.76","0.23.0":"41.0.2272.76","0.24.0":"41.0.2272.76","0.25.0":"42.0.2311.107","0.25.1":"42.0.2311.107","0.25.2":"42.0.2311.107","0.25.3":"42.0.2311.107","0.26.0":"42.0.2311.107","0.26.1":"42.0.2311.107","0.27.0":"42.0.2311.107","0.27.1":"42.0.2311.107","0.27.2":"43.0.2357.65","0.27.3":"43.0.2357.65","0.28.0":"43.0.2357.65","0.28.1":"43.0.2357.65","0.28.2":"43.0.2357.65","0.28.3":"43.0.2357.65","0.29.1":"43.0.2357.65","0.29.2":"43.0.2357.65","0.30.4":"44.0.2403.125","0.31.0":"44.0.2403.125","0.31.2":"45.0.2454.85","0.32.2":"45.0.2454.85","0.32.3":"45.0.2454.85","0.33.0":"45.0.2454.85","0.33.1":"45.0.2454.85","0.33.2":"45.0.2454.85","0.33.3":"45.0.2454.85","0.33.4":"45.0.2454.85","0.33.6":"45.0.2454.85","0.33.7":"45.0.2454.85","0.33.8":"45.0.2454.85","0.33.9":"45.0.2454.85","0.34.0":"45.0.2454.85","0.34.1":"45.0.2454.85","0.34.2":"45.0.2454.85","0.34.3":"45.0.2454.85","0.34.4":"45.0.2454.85","0.35.1":"45.0.2454.85","0.35.2":"45.0.2454.85","0.35.3":"45.0.2454.85","0.35.4":"45.0.2454.85","0.35.5":"45.0.2454.85","0.36.0":"47.0.2526.73","0.36.2":"47.0.2526.73","0.36.3":"47.0.2526.73","0.36.4":"47.0.2526.73","0.36.5":"47.0.2526.110","0.36.6":"47.0.2526.110","0.36.7":"47.0.2526.110","0.36.8":"47.0.2526.110","0.36.9":"47.0.2526.110","0.36.10":"47.0.2526.110","0.36.11":"47.0.2526.110","0.36.12":"47.0.2526.110","0.37.0":"49.0.2623.75","0.37.1":"49.0.2623.75","0.37.3":"49.0.2623.75","0.37.4":"49.0.2623.75","0.37.5":"49.0.2623.75","0.37.6":"49.0.2623.75","0.37.7":"49.0.2623.75","0.37.8":"49.0.2623.75","1.0.0":"49.0.2623.75","1.0.1":"49.0.2623.75","1.0.2":"49.0.2623.75","1.1.0":"50.0.2661.102","1.1.1":"50.0.2661.102","1.1.2":"50.0.2661.102","1.1.3":"50.0.2661.102","1.2.0":"51.0.2704.63","1.2.1":"51.0.2704.63","1.2.2":"51.0.2704.84","1.2.3":"51.0.2704.84","1.2.4":"51.0.2704.103","1.2.5":"51.0.2704.103","1.2.6":"51.0.2704.106","1.2.7":"51.0.2704.106","1.2.8":"51.0.2704.106","1.3.0":"52.0.2743.82","1.3.1":"52.0.2743.82","1.3.2":"52.0.2743.82","1.3.3":"52.0.2743.82","1.3.4":"52.0.2743.82","1.3.5":"52.0.2743.82","1.3.6":"52.0.2743.82","1.3.7":"52.0.2743.82","1.3.9":"52.0.2743.82","1.3.10":"52.0.2743.82","1.3.13":"52.0.2743.82","1.3.14":"52.0.2743.82","1.3.15":"52.0.2743.82","1.4.0":"53.0.2785.113","1.4.1":"53.0.2785.113","1.4.2":"53.0.2785.113","1.4.3":"53.0.2785.113","1.4.4":"53.0.2785.113","1.4.5":"53.0.2785.113","1.4.6":"53.0.2785.143","1.4.7":"53.0.2785.143","1.4.8":"53.0.2785.143","1.4.10":"53.0.2785.143","1.4.11":"53.0.2785.143","1.4.12":"54.0.2840.51","1.4.13":"53.0.2785.143","1.4.14":"53.0.2785.143","1.4.15":"53.0.2785.143","1.4.16":"53.0.2785.143","1.5.0":"54.0.2840.101","1.5.1":"54.0.2840.101","1.6.0":"56.0.2924.87","1.6.1":"56.0.2924.87","1.6.2":"56.0.2924.87","1.6.3":"56.0.2924.87","1.6.4":"56.0.2924.87","1.6.5":"56.0.2924.87","1.6.6":"56.0.2924.87","1.6.7":"56.0.2924.87","1.6.8":"56.0.2924.87","1.6.9":"56.0.2924.87","1.6.10":"56.0.2924.87","1.6.11":"56.0.2924.87","1.6.12":"56.0.2924.87","1.6.13":"56.0.2924.87","1.6.14":"56.0.2924.87","1.6.15":"56.0.2924.87","1.6.16":"56.0.2924.87","1.6.17":"56.0.2924.87","1.6.18":"56.0.2924.87","1.7.0":"58.0.3029.110","1.7.1":"58.0.3029.110","1.7.2":"58.0.3029.110","1.7.3":"58.0.3029.110","1.7.4":"58.0.3029.110","1.7.5":"58.0.3029.110","1.7.6":"58.0.3029.110","1.7.7":"58.0.3029.110","1.7.8":"58.0.3029.110","1.7.9":"58.0.3029.110","1.7.10":"58.0.3029.110","1.7.11":"58.0.3029.110","1.7.12":"58.0.3029.110","1.7.13":"58.0.3029.110","1.7.14":"58.0.3029.110","1.7.15":"58.0.3029.110","1.7.16":"58.0.3029.110","1.8.0":"59.0.3071.115","1.8.1":"59.0.3071.115","1.8.2-beta.1":"59.0.3071.115","1.8.2-beta.2":"59.0.3071.115","1.8.2-beta.3":"59.0.3071.115","1.8.2-beta.4":"59.0.3071.115","1.8.2-beta.5":"59.0.3071.115","1.8.2":"59.0.3071.115","1.8.3":"59.0.3071.115","1.8.4":"59.0.3071.115","1.8.5":"59.0.3071.115","1.8.6":"59.0.3071.115","1.8.7":"59.0.3071.115","1.8.8":"59.0.3071.115","2.0.0-beta.1":"61.0.3163.100","2.0.0-beta.2":"61.0.3163.100","2.0.0-beta.3":"61.0.3163.100","2.0.0-beta.4":"61.0.3163.100","2.0.0-beta.5":"61.0.3163.100","2.0.0-beta.6":"61.0.3163.100","2.0.0-beta.7":"61.0.3163.100","2.0.0-beta.8":"61.0.3163.100","2.0.0":"61.0.3163.100","2.0.1":"61.0.3163.100","2.0.2":"61.0.3163.100","2.0.3":"61.0.3163.100","2.0.4":"61.0.3163.100","2.0.5":"61.0.3163.100","2.0.6":"61.0.3163.100","2.0.7":"61.0.3163.100","2.0.8-nightly.20180819":"61.0.3163.100","2.0.8-nightly.20180820":"61.0.3163.100","2.0.8":"61.0.3163.100","2.0.9":"61.0.3163.100","2.0.10":"61.0.3163.100","2.0.11":"61.0.3163.100","2.0.12":"61.0.3163.100","2.0.13":"61.0.3163.100","2.0.14":"61.0.3163.100","2.0.15":"61.0.3163.100","2.0.16":"61.0.3163.100","2.0.17":"61.0.3163.100","2.0.18":"61.0.3163.100","2.1.0-unsupported.20180809":"61.0.3163.100","3.0.0-beta.1":"66.0.3359.181","3.0.0-beta.2":"66.0.3359.181","3.0.0-beta.3":"66.0.3359.181","3.0.0-beta.4":"66.0.3359.181","3.0.0-beta.5":"66.0.3359.181","3.0.0-beta.6":"66.0.3359.181","3.0.0-beta.7":"66.0.3359.181","3.0.0-beta.8":"66.0.3359.181","3.0.0-beta.9":"66.0.3359.181","3.0.0-beta.10":"66.0.3359.181","3.0.0-beta.11":"66.0.3359.181","3.0.0-beta.12":"66.0.3359.181","3.0.0-beta.13":"66.0.3359.181","3.0.0-nightly.20180818":"66.0.3359.181","3.0.0-nightly.20180821":"66.0.3359.181","3.0.0-nightly.20180823":"66.0.3359.181","3.0.0-nightly.20180904":"66.0.3359.181","3.0.0":"66.0.3359.181","3.0.1":"66.0.3359.181","3.0.2":"66.0.3359.181","3.0.3":"66.0.3359.181","3.0.4":"66.0.3359.181","3.0.5":"66.0.3359.181","3.0.6":"66.0.3359.181","3.0.7":"66.0.3359.181","3.0.8":"66.0.3359.181","3.0.9":"66.0.3359.181","3.0.10":"66.0.3359.181","3.0.11":"66.0.3359.181","3.0.12":"66.0.3359.181","3.0.13":"66.0.3359.181","3.0.14":"66.0.3359.181","3.0.15":"66.0.3359.181","3.0.16":"66.0.3359.181","3.1.0-beta.1":"66.0.3359.181","3.1.0-beta.2":"66.0.3359.181","3.1.0-beta.3":"66.0.3359.181","3.1.0-beta.4":"66.0.3359.181","3.1.0-beta.5":"66.0.3359.181","3.1.0":"66.0.3359.181","3.1.1":"66.0.3359.181","3.1.2":"66.0.3359.181","3.1.3":"66.0.3359.181","3.1.4":"66.0.3359.181","3.1.5":"66.0.3359.181","3.1.6":"66.0.3359.181","3.1.7":"66.0.3359.181","3.1.8":"66.0.3359.181","3.1.9":"66.0.3359.181","3.1.10":"66.0.3359.181","3.1.11":"66.0.3359.181","3.1.12":"66.0.3359.181","3.1.13":"66.0.3359.181","4.0.0-beta.1":"69.0.3497.106","4.0.0-beta.2":"69.0.3497.106","4.0.0-beta.3":"69.0.3497.106","4.0.0-beta.4":"69.0.3497.106","4.0.0-beta.5":"69.0.3497.106","4.0.0-beta.6":"69.0.3497.106","4.0.0-beta.7":"69.0.3497.106","4.0.0-beta.8":"69.0.3497.106","4.0.0-beta.9":"69.0.3497.106","4.0.0-beta.10":"69.0.3497.106","4.0.0-beta.11":"69.0.3497.106","4.0.0-nightly.20180817":"66.0.3359.181","4.0.0-nightly.20180819":"66.0.3359.181","4.0.0-nightly.20180821":"66.0.3359.181","4.0.0-nightly.20180929":"67.0.3396.99","4.0.0-nightly.20181006":"68.0.3440.128","4.0.0-nightly.20181010":"69.0.3497.106","4.0.0":"69.0.3497.106","4.0.1":"69.0.3497.106","4.0.2":"69.0.3497.106","4.0.3":"69.0.3497.106","4.0.4":"69.0.3497.106","4.0.5":"69.0.3497.106","4.0.6":"69.0.3497.106","4.0.7":"69.0.3497.128","4.0.8":"69.0.3497.128","4.1.0":"69.0.3497.128","4.1.1":"69.0.3497.128","4.1.2":"69.0.3497.128","4.1.3":"69.0.3497.128","4.1.4":"69.0.3497.128","4.1.5":"69.0.3497.128","4.2.0":"69.0.3497.128","4.2.1":"69.0.3497.128","4.2.2":"69.0.3497.128","4.2.3":"69.0.3497.128","4.2.4":"69.0.3497.128","4.2.5":"69.0.3497.128","4.2.6":"69.0.3497.128","4.2.7":"69.0.3497.128","4.2.8":"69.0.3497.128","4.2.9":"69.0.3497.128","4.2.10":"69.0.3497.128","4.2.11":"69.0.3497.128","4.2.12":"69.0.3497.128","5.0.0-beta.1":"72.0.3626.52","5.0.0-beta.2":"72.0.3626.52","5.0.0-beta.3":"73.0.3683.27","5.0.0-beta.4":"73.0.3683.54","5.0.0-beta.5":"73.0.3683.61","5.0.0-beta.6":"73.0.3683.84","5.0.0-beta.7":"73.0.3683.94","5.0.0-beta.8":"73.0.3683.104","5.0.0-beta.9":"73.0.3683.117","5.0.0-nightly.20190107":"70.0.3538.110","5.0.0-nightly.20190121":"71.0.3578.98","5.0.0-nightly.20190122":"71.0.3578.98","5.0.0":"73.0.3683.119","5.0.1":"73.0.3683.121","5.0.2":"73.0.3683.121","5.0.3":"73.0.3683.121","5.0.4":"73.0.3683.121","5.0.5":"73.0.3683.121","5.0.6":"73.0.3683.121","5.0.7":"73.0.3683.121","5.0.8":"73.0.3683.121","5.0.9":"73.0.3683.121","5.0.10":"73.0.3683.121","5.0.11":"73.0.3683.121","5.0.12":"73.0.3683.121","5.0.13":"73.0.3683.121","6.0.0-beta.1":"76.0.3774.1","6.0.0-beta.2":"76.0.3783.1","6.0.0-beta.3":"76.0.3783.1","6.0.0-beta.4":"76.0.3783.1","6.0.0-beta.5":"76.0.3805.4","6.0.0-beta.6":"76.0.3809.3","6.0.0-beta.7":"76.0.3809.22","6.0.0-beta.8":"76.0.3809.26","6.0.0-beta.9":"76.0.3809.26","6.0.0-beta.10":"76.0.3809.37","6.0.0-beta.11":"76.0.3809.42","6.0.0-beta.12":"76.0.3809.54","6.0.0-beta.13":"76.0.3809.60","6.0.0-beta.14":"76.0.3809.68","6.0.0-beta.15":"76.0.3809.74","6.0.0-nightly.20190123":"72.0.3626.52","6.0.0-nightly.20190212":"72.0.3626.107","6.0.0-nightly.20190213":"72.0.3626.110","6.0.0-nightly.20190311":"74.0.3724.8","6.0.0":"76.0.3809.88","6.0.1":"76.0.3809.102","6.0.2":"76.0.3809.110","6.0.3":"76.0.3809.126","6.0.4":"76.0.3809.131","6.0.5":"76.0.3809.136","6.0.6":"76.0.3809.138","6.0.7":"76.0.3809.139","6.0.8":"76.0.3809.146","6.0.9":"76.0.3809.146","6.0.10":"76.0.3809.146","6.0.11":"76.0.3809.146","6.0.12":"76.0.3809.146","6.1.0":"76.0.3809.146","6.1.1":"76.0.3809.146","6.1.2":"76.0.3809.146","6.1.3":"76.0.3809.146","6.1.4":"76.0.3809.146","6.1.5":"76.0.3809.146","6.1.6":"76.0.3809.146","6.1.7":"76.0.3809.146","6.1.8":"76.0.3809.146","6.1.9":"76.0.3809.146","6.1.10":"76.0.3809.146","6.1.11":"76.0.3809.146","6.1.12":"76.0.3809.146","7.0.0-beta.1":"78.0.3866.0","7.0.0-beta.2":"78.0.3866.0","7.0.0-beta.3":"78.0.3866.0","7.0.0-beta.4":"78.0.3896.6","7.0.0-beta.5":"78.0.3905.1","7.0.0-beta.6":"78.0.3905.1","7.0.0-beta.7":"78.0.3905.1","7.0.0-nightly.20190521":"76.0.3784.0","7.0.0-nightly.20190529":"76.0.3806.0","7.0.0-nightly.20190530":"76.0.3806.0","7.0.0-nightly.20190531":"76.0.3806.0","7.0.0-nightly.20190602":"76.0.3806.0","7.0.0-nightly.20190603":"76.0.3806.0","7.0.0-nightly.20190604":"77.0.3814.0","7.0.0-nightly.20190605":"77.0.3815.0","7.0.0-nightly.20190606":"77.0.3815.0","7.0.0-nightly.20190607":"77.0.3815.0","7.0.0-nightly.20190608":"77.0.3815.0","7.0.0-nightly.20190609":"77.0.3815.0","7.0.0-nightly.20190611":"77.0.3815.0","7.0.0-nightly.20190612":"77.0.3815.0","7.0.0-nightly.20190613":"77.0.3815.0","7.0.0-nightly.20190615":"77.0.3815.0","7.0.0-nightly.20190616":"77.0.3815.0","7.0.0-nightly.20190618":"77.0.3815.0","7.0.0-nightly.20190619":"77.0.3815.0","7.0.0-nightly.20190622":"77.0.3815.0","7.0.0-nightly.20190623":"77.0.3815.0","7.0.0-nightly.20190624":"77.0.3815.0","7.0.0-nightly.20190627":"77.0.3815.0","7.0.0-nightly.20190629":"77.0.3815.0","7.0.0-nightly.20190630":"77.0.3815.0","7.0.0-nightly.20190701":"77.0.3815.0","7.0.0-nightly.20190702":"77.0.3815.0","7.0.0-nightly.20190704":"77.0.3843.0","7.0.0-nightly.20190705":"77.0.3843.0","7.0.0-nightly.20190719":"77.0.3848.0","7.0.0-nightly.20190720":"77.0.3848.0","7.0.0-nightly.20190721":"77.0.3848.0","7.0.0-nightly.20190726":"77.0.3864.0","7.0.0-nightly.20190727":"78.0.3866.0","7.0.0-nightly.20190728":"78.0.3866.0","7.0.0-nightly.20190729":"78.0.3866.0","7.0.0-nightly.20190730":"78.0.3866.0","7.0.0-nightly.20190731":"78.0.3866.0","7.0.0":"78.0.3905.1","7.0.1":"78.0.3904.92","7.1.0":"78.0.3904.94","7.1.1":"78.0.3904.99","7.1.2":"78.0.3904.113","7.1.3":"78.0.3904.126","7.1.4":"78.0.3904.130","7.1.5":"78.0.3904.130","7.1.6":"78.0.3904.130","7.1.7":"78.0.3904.130","7.1.8":"78.0.3904.130","7.1.9":"78.0.3904.130","7.1.10":"78.0.3904.130","7.1.11":"78.0.3904.130","7.1.12":"78.0.3904.130","7.1.13":"78.0.3904.130","7.1.14":"78.0.3904.130","7.2.0":"78.0.3904.130","7.2.1":"78.0.3904.130","7.2.2":"78.0.3904.130","7.2.3":"78.0.3904.130","7.2.4":"78.0.3904.130","7.3.0":"78.0.3904.130","7.3.1":"78.0.3904.130","7.3.2":"78.0.3904.130","7.3.3":"78.0.3904.130","8.0.0-beta.1":"79.0.3931.0","8.0.0-beta.2":"79.0.3931.0","8.0.0-beta.3":"80.0.3955.0","8.0.0-beta.4":"80.0.3955.0","8.0.0-beta.5":"80.0.3987.14","8.0.0-beta.6":"80.0.3987.51","8.0.0-beta.7":"80.0.3987.59","8.0.0-beta.8":"80.0.3987.75","8.0.0-beta.9":"80.0.3987.75","8.0.0-nightly.20190801":"78.0.3866.0","8.0.0-nightly.20190802":"78.0.3866.0","8.0.0-nightly.20190803":"78.0.3871.0","8.0.0-nightly.20190806":"78.0.3871.0","8.0.0-nightly.20190807":"78.0.3871.0","8.0.0-nightly.20190808":"78.0.3871.0","8.0.0-nightly.20190809":"78.0.3871.0","8.0.0-nightly.20190810":"78.0.3871.0","8.0.0-nightly.20190811":"78.0.3871.0","8.0.0-nightly.20190812":"78.0.3871.0","8.0.0-nightly.20190813":"78.0.3871.0","8.0.0-nightly.20190814":"78.0.3871.0","8.0.0-nightly.20190815":"78.0.3871.0","8.0.0-nightly.20190816":"78.0.3881.0","8.0.0-nightly.20190817":"78.0.3881.0","8.0.0-nightly.20190818":"78.0.3881.0","8.0.0-nightly.20190819":"78.0.3881.0","8.0.0-nightly.20190820":"78.0.3881.0","8.0.0-nightly.20190824":"78.0.3892.0","8.0.0-nightly.20190825":"78.0.3892.0","8.0.0-nightly.20190827":"78.0.3892.0","8.0.0-nightly.20190828":"78.0.3892.0","8.0.0-nightly.20190830":"78.0.3892.0","8.0.0-nightly.20190901":"78.0.3892.0","8.0.0-nightly.20190902":"78.0.3892.0","8.0.0-nightly.20190907":"78.0.3892.0","8.0.0-nightly.20190909":"78.0.3892.0","8.0.0-nightly.20190910":"78.0.3892.0","8.0.0-nightly.20190911":"78.0.3892.0","8.0.0-nightly.20190912":"78.0.3892.0","8.0.0-nightly.20190913":"78.0.3892.0","8.0.0-nightly.20190914":"78.0.3892.0","8.0.0-nightly.20190915":"78.0.3892.0","8.0.0-nightly.20190917":"78.0.3892.0","8.0.0-nightly.20190919":"79.0.3915.0","8.0.0-nightly.20190920":"79.0.3915.0","8.0.0-nightly.20190922":"79.0.3919.0","8.0.0-nightly.20190923":"79.0.3919.0","8.0.0-nightly.20190924":"79.0.3919.0","8.0.0-nightly.20190926":"79.0.3919.0","8.0.0-nightly.20190928":"79.0.3919.0","8.0.0-nightly.20190929":"79.0.3919.0","8.0.0-nightly.20190930":"79.0.3919.0","8.0.0-nightly.20191001":"79.0.3919.0","8.0.0-nightly.20191004":"79.0.3919.0","8.0.0-nightly.20191005":"79.0.3919.0","8.0.0-nightly.20191006":"79.0.3919.0","8.0.0-nightly.20191009":"79.0.3919.0","8.0.0-nightly.20191011":"79.0.3919.0","8.0.0-nightly.20191012":"79.0.3919.0","8.0.0-nightly.20191017":"79.0.3919.0","8.0.0-nightly.20191019":"79.0.3931.0","8.0.0-nightly.20191020":"79.0.3931.0","8.0.0-nightly.20191021":"79.0.3931.0","8.0.0-nightly.20191023":"79.0.3931.0","8.0.0-nightly.20191101":"80.0.3952.0","8.0.0-nightly.20191103":"80.0.3952.0","8.0.0-nightly.20191105":"80.0.3952.0","8.0.0":"80.0.3987.86","8.0.1":"80.0.3987.86","8.0.2":"80.0.3987.86","8.0.3":"80.0.3987.134","8.1.0":"80.0.3987.137","8.1.1":"80.0.3987.141","8.2.0":"80.0.3987.158","8.2.1":"80.0.3987.163","8.2.2":"80.0.3987.163","8.2.3":"80.0.3987.163","8.2.4":"80.0.3987.165","8.2.5":"80.0.3987.165","8.3.0":"80.0.3987.165","8.3.1":"80.0.3987.165","8.3.2":"80.0.3987.165","8.3.3":"80.0.3987.165","8.3.4":"80.0.3987.165","8.4.0":"80.0.3987.165","8.4.1":"80.0.3987.165","8.5.0":"80.0.3987.165","8.5.1":"80.0.3987.165","8.5.2":"80.0.3987.165","8.5.3":"80.0.3987.163","8.5.4":"80.0.3987.163","8.5.5":"80.0.3987.163","9.0.0-beta.1":"82.0.4048.0","9.0.0-beta.2":"82.0.4048.0","9.0.0-beta.3":"82.0.4048.0","9.0.0-beta.4":"82.0.4048.0","9.0.0-beta.5":"82.0.4048.0","9.0.0-beta.6":"82.0.4058.2","9.0.0-beta.7":"82.0.4058.2","9.0.0-beta.9":"82.0.4058.2","9.0.0-beta.10":"82.0.4085.10","9.0.0-beta.11":"82.0.4085.14","9.0.0-beta.12":"82.0.4085.14","9.0.0-beta.13":"82.0.4085.14","9.0.0-beta.14":"82.0.4085.27","9.0.0-beta.15":"83.0.4102.3","9.0.0-beta.16":"83.0.4102.3","9.0.0-beta.17":"83.0.4103.14","9.0.0-beta.18":"83.0.4103.16","9.0.0-beta.19":"83.0.4103.24","9.0.0-beta.20":"83.0.4103.26","9.0.0-beta.21":"83.0.4103.26","9.0.0-beta.22":"83.0.4103.34","9.0.0-beta.23":"83.0.4103.44","9.0.0-beta.24":"83.0.4103.45","9.0.0-nightly.20191121":"80.0.3954.0","9.0.0-nightly.20191122":"80.0.3954.0","9.0.0-nightly.20191123":"80.0.3954.0","9.0.0-nightly.20191124":"80.0.3954.0","9.0.0-nightly.20191126":"80.0.3954.0","9.0.0-nightly.20191128":"80.0.3954.0","9.0.0-nightly.20191129":"80.0.3954.0","9.0.0-nightly.20191130":"80.0.3954.0","9.0.0-nightly.20191201":"80.0.3954.0","9.0.0-nightly.20191202":"80.0.3954.0","9.0.0-nightly.20191203":"80.0.3954.0","9.0.0-nightly.20191204":"80.0.3954.0","9.0.0-nightly.20191205":"80.0.3954.0","9.0.0-nightly.20191210":"80.0.3954.0","9.0.0-nightly.20191220":"81.0.3994.0","9.0.0-nightly.20191221":"81.0.3994.0","9.0.0-nightly.20191222":"81.0.3994.0","9.0.0-nightly.20191223":"81.0.3994.0","9.0.0-nightly.20191224":"81.0.3994.0","9.0.0-nightly.20191225":"81.0.3994.0","9.0.0-nightly.20191226":"81.0.3994.0","9.0.0-nightly.20191228":"81.0.3994.0","9.0.0-nightly.20191229":"81.0.3994.0","9.0.0-nightly.20191230":"81.0.3994.0","9.0.0-nightly.20191231":"81.0.3994.0","9.0.0-nightly.20200101":"81.0.3994.0","9.0.0-nightly.20200103":"81.0.3994.0","9.0.0-nightly.20200104":"81.0.3994.0","9.0.0-nightly.20200105":"81.0.3994.0","9.0.0-nightly.20200106":"81.0.3994.0","9.0.0-nightly.20200108":"81.0.3994.0","9.0.0-nightly.20200109":"81.0.3994.0","9.0.0-nightly.20200110":"81.0.3994.0","9.0.0-nightly.20200111":"81.0.3994.0","9.0.0-nightly.20200113":"81.0.3994.0","9.0.0-nightly.20200115":"81.0.3994.0","9.0.0-nightly.20200116":"81.0.3994.0","9.0.0-nightly.20200117":"81.0.3994.0","9.0.0-nightly.20200119":"81.0.4030.0","9.0.0-nightly.20200121":"81.0.4030.0","9.0.0":"83.0.4103.64","9.0.1":"83.0.4103.94","9.0.2":"83.0.4103.94","9.0.3":"83.0.4103.100","9.0.4":"83.0.4103.104","9.0.5":"83.0.4103.119","9.1.0":"83.0.4103.122","9.1.1":"83.0.4103.122","9.1.2":"83.0.4103.122","9.2.0":"83.0.4103.122","9.2.1":"83.0.4103.122","9.3.0":"83.0.4103.122","9.3.1":"83.0.4103.122","9.3.2":"83.0.4103.122","9.3.3":"83.0.4103.122","9.3.4":"83.0.4103.122","9.3.5":"83.0.4103.122","9.4.0":"83.0.4103.122","9.4.1":"83.0.4103.122","9.4.2":"83.0.4103.122","9.4.3":"83.0.4103.122","9.4.4":"83.0.4103.122","10.0.0-beta.1":"84.0.4129.0","10.0.0-beta.2":"84.0.4129.0","10.0.0-beta.3":"85.0.4161.2","10.0.0-beta.4":"85.0.4161.2","10.0.0-beta.8":"85.0.4181.1","10.0.0-beta.9":"85.0.4181.1","10.0.0-beta.10":"85.0.4183.19","10.0.0-beta.11":"85.0.4183.20","10.0.0-beta.12":"85.0.4183.26","10.0.0-beta.13":"85.0.4183.39","10.0.0-beta.14":"85.0.4183.39","10.0.0-beta.15":"85.0.4183.39","10.0.0-beta.17":"85.0.4183.39","10.0.0-beta.19":"85.0.4183.39","10.0.0-beta.20":"85.0.4183.39","10.0.0-beta.21":"85.0.4183.39","10.0.0-beta.23":"85.0.4183.70","10.0.0-beta.24":"85.0.4183.78","10.0.0-beta.25":"85.0.4183.80","10.0.0-nightly.20200209":"82.0.4050.0","10.0.0-nightly.20200210":"82.0.4050.0","10.0.0-nightly.20200211":"82.0.4050.0","10.0.0-nightly.20200216":"82.0.4050.0","10.0.0-nightly.20200217":"82.0.4050.0","10.0.0-nightly.20200218":"82.0.4050.0","10.0.0-nightly.20200221":"82.0.4050.0","10.0.0-nightly.20200222":"82.0.4050.0","10.0.0-nightly.20200223":"82.0.4050.0","10.0.0-nightly.20200226":"82.0.4050.0","10.0.0-nightly.20200303":"82.0.4050.0","10.0.0-nightly.20200304":"82.0.4076.0","10.0.0-nightly.20200305":"82.0.4076.0","10.0.0-nightly.20200306":"82.0.4076.0","10.0.0-nightly.20200309":"82.0.4076.0","10.0.0-nightly.20200310":"82.0.4076.0","10.0.0-nightly.20200311":"82.0.4083.0","10.0.0-nightly.20200316":"83.0.4086.0","10.0.0-nightly.20200317":"83.0.4087.0","10.0.0-nightly.20200318":"83.0.4087.0","10.0.0-nightly.20200320":"83.0.4087.0","10.0.0-nightly.20200323":"83.0.4087.0","10.0.0-nightly.20200324":"83.0.4087.0","10.0.0-nightly.20200325":"83.0.4087.0","10.0.0-nightly.20200326":"83.0.4087.0","10.0.0-nightly.20200327":"83.0.4087.0","10.0.0-nightly.20200330":"83.0.4087.0","10.0.0-nightly.20200331":"83.0.4087.0","10.0.0-nightly.20200401":"83.0.4087.0","10.0.0-nightly.20200402":"83.0.4087.0","10.0.0-nightly.20200403":"83.0.4087.0","10.0.0-nightly.20200406":"83.0.4087.0","10.0.0-nightly.20200408":"83.0.4095.0","10.0.0-nightly.20200410":"83.0.4095.0","10.0.0-nightly.20200413":"83.0.4095.0","10.0.0-nightly.20200414":"84.0.4114.0","10.0.0-nightly.20200415":"84.0.4115.0","10.0.0-nightly.20200416":"84.0.4115.0","10.0.0-nightly.20200417":"84.0.4115.0","10.0.0-nightly.20200422":"84.0.4121.0","10.0.0-nightly.20200423":"84.0.4121.0","10.0.0-nightly.20200427":"84.0.4125.0","10.0.0-nightly.20200428":"84.0.4125.0","10.0.0-nightly.20200429":"84.0.4125.0","10.0.0-nightly.20200430":"84.0.4125.0","10.0.0-nightly.20200501":"84.0.4129.0","10.0.0-nightly.20200504":"84.0.4129.0","10.0.0-nightly.20200505":"84.0.4129.0","10.0.0-nightly.20200506":"84.0.4129.0","10.0.0-nightly.20200507":"84.0.4129.0","10.0.0-nightly.20200508":"84.0.4129.0","10.0.0-nightly.20200511":"84.0.4129.0","10.0.0-nightly.20200512":"84.0.4129.0","10.0.0-nightly.20200513":"84.0.4129.0","10.0.0-nightly.20200514":"84.0.4129.0","10.0.0-nightly.20200515":"84.0.4129.0","10.0.0-nightly.20200518":"84.0.4129.0","10.0.0-nightly.20200519":"84.0.4129.0","10.0.0-nightly.20200520":"84.0.4129.0","10.0.0-nightly.20200521":"84.0.4129.0","10.0.0":"85.0.4183.84","10.0.1":"85.0.4183.86","10.1.0":"85.0.4183.87","10.1.1":"85.0.4183.93","10.1.2":"85.0.4183.98","10.1.3":"85.0.4183.121","10.1.4":"85.0.4183.121","10.1.5":"85.0.4183.121","10.1.6":"85.0.4183.121","10.1.7":"85.0.4183.121","10.2.0":"85.0.4183.121","10.3.0":"85.0.4183.121","10.3.1":"85.0.4183.121","10.3.2":"85.0.4183.121","10.4.0":"85.0.4183.121","10.4.1":"85.0.4183.121","10.4.2":"85.0.4183.121","10.4.3":"85.0.4183.121","10.4.4":"85.0.4183.121","10.4.5":"85.0.4183.121","10.4.6":"85.0.4183.121","10.4.7":"85.0.4183.121","11.0.0-beta.1":"86.0.4234.0","11.0.0-beta.3":"86.0.4234.0","11.0.0-beta.4":"86.0.4234.0","11.0.0-beta.5":"86.0.4234.0","11.0.0-beta.6":"86.0.4234.0","11.0.0-beta.7":"86.0.4234.0","11.0.0-beta.8":"87.0.4251.1","11.0.0-beta.9":"87.0.4251.1","11.0.0-beta.11":"87.0.4251.1","11.0.0-beta.12":"87.0.4280.11","11.0.0-beta.13":"87.0.4280.11","11.0.0-beta.16":"87.0.4280.27","11.0.0-beta.17":"87.0.4280.27","11.0.0-beta.18":"87.0.4280.27","11.0.0-beta.19":"87.0.4280.27","11.0.0-beta.20":"87.0.4280.40","11.0.0-beta.22":"87.0.4280.47","11.0.0-beta.23":"87.0.4280.47","11.0.0-nightly.20200525":"84.0.4129.0","11.0.0-nightly.20200526":"84.0.4129.0","11.0.0-nightly.20200529":"85.0.4156.0","11.0.0-nightly.20200602":"85.0.4162.0","11.0.0-nightly.20200603":"85.0.4162.0","11.0.0-nightly.20200604":"85.0.4162.0","11.0.0-nightly.20200609":"85.0.4162.0","11.0.0-nightly.20200610":"85.0.4162.0","11.0.0-nightly.20200611":"85.0.4162.0","11.0.0-nightly.20200615":"85.0.4162.0","11.0.0-nightly.20200616":"85.0.4162.0","11.0.0-nightly.20200617":"85.0.4162.0","11.0.0-nightly.20200618":"85.0.4162.0","11.0.0-nightly.20200619":"85.0.4162.0","11.0.0-nightly.20200701":"85.0.4179.0","11.0.0-nightly.20200702":"85.0.4179.0","11.0.0-nightly.20200703":"85.0.4179.0","11.0.0-nightly.20200706":"85.0.4179.0","11.0.0-nightly.20200707":"85.0.4179.0","11.0.0-nightly.20200708":"85.0.4179.0","11.0.0-nightly.20200709":"85.0.4179.0","11.0.0-nightly.20200716":"86.0.4203.0","11.0.0-nightly.20200717":"86.0.4203.0","11.0.0-nightly.20200720":"86.0.4203.0","11.0.0-nightly.20200721":"86.0.4203.0","11.0.0-nightly.20200723":"86.0.4209.0","11.0.0-nightly.20200724":"86.0.4209.0","11.0.0-nightly.20200729":"86.0.4209.0","11.0.0-nightly.20200730":"86.0.4209.0","11.0.0-nightly.20200731":"86.0.4209.0","11.0.0-nightly.20200803":"86.0.4209.0","11.0.0-nightly.20200804":"86.0.4209.0","11.0.0-nightly.20200805":"86.0.4209.0","11.0.0-nightly.20200811":"86.0.4209.0","11.0.0-nightly.20200812":"86.0.4209.0","11.0.0-nightly.20200822":"86.0.4234.0","11.0.0-nightly.20200824":"86.0.4234.0","11.0.0-nightly.20200825":"86.0.4234.0","11.0.0-nightly.20200826":"86.0.4234.0","11.0.0":"87.0.4280.60","11.0.1":"87.0.4280.60","11.0.2":"87.0.4280.67","11.0.3":"87.0.4280.67","11.0.4":"87.0.4280.67","11.0.5":"87.0.4280.88","11.1.0":"87.0.4280.88","11.1.1":"87.0.4280.88","11.2.0":"87.0.4280.141","11.2.1":"87.0.4280.141","11.2.2":"87.0.4280.141","11.2.3":"87.0.4280.141","11.3.0":"87.0.4280.141","11.4.0":"87.0.4280.141","11.4.1":"87.0.4280.141","11.4.2":"87.0.4280.141","11.4.3":"87.0.4280.141","11.4.4":"87.0.4280.141","11.4.5":"87.0.4280.141","11.4.6":"87.0.4280.141","11.4.7":"87.0.4280.141","11.4.8":"87.0.4280.141","11.4.9":"87.0.4280.141","11.4.10":"87.0.4280.141","11.4.11":"87.0.4280.141","11.4.12":"87.0.4280.141","11.5.0":"87.0.4280.141","12.0.0-beta.1":"89.0.4328.0","12.0.0-beta.3":"89.0.4328.0","12.0.0-beta.4":"89.0.4328.0","12.0.0-beta.5":"89.0.4328.0","12.0.0-beta.6":"89.0.4328.0","12.0.0-beta.7":"89.0.4328.0","12.0.0-beta.8":"89.0.4328.0","12.0.0-beta.9":"89.0.4328.0","12.0.0-beta.10":"89.0.4328.0","12.0.0-beta.11":"89.0.4328.0","12.0.0-beta.12":"89.0.4328.0","12.0.0-beta.14":"89.0.4328.0","12.0.0-beta.16":"89.0.4348.1","12.0.0-beta.18":"89.0.4348.1","12.0.0-beta.19":"89.0.4348.1","12.0.0-beta.20":"89.0.4348.1","12.0.0-beta.21":"89.0.4388.2","12.0.0-beta.22":"89.0.4388.2","12.0.0-beta.23":"89.0.4388.2","12.0.0-beta.24":"89.0.4388.2","12.0.0-beta.25":"89.0.4388.2","12.0.0-beta.26":"89.0.4388.2","12.0.0-beta.27":"89.0.4389.23","12.0.0-beta.28":"89.0.4389.23","12.0.0-beta.29":"89.0.4389.23","12.0.0-beta.30":"89.0.4389.58","12.0.0-beta.31":"89.0.4389.58","12.0.0-nightly.20200827":"86.0.4234.0","12.0.0-nightly.20200831":"86.0.4234.0","12.0.0-nightly.20200902":"86.0.4234.0","12.0.0-nightly.20200903":"86.0.4234.0","12.0.0-nightly.20200907":"86.0.4234.0","12.0.0-nightly.20200910":"86.0.4234.0","12.0.0-nightly.20200911":"86.0.4234.0","12.0.0-nightly.20200914":"86.0.4234.0","12.0.0-nightly.20201002":"87.0.4268.0","12.0.0-nightly.20201007":"87.0.4268.0","12.0.0-nightly.20201009":"87.0.4268.0","12.0.0-nightly.20201012":"87.0.4268.0","12.0.0-nightly.20201013":"87.0.4268.0","12.0.0-nightly.20201014":"87.0.4268.0","12.0.0-nightly.20201015":"87.0.4268.0","12.0.0-nightly.20201023":"88.0.4292.0","12.0.0-nightly.20201026":"88.0.4292.0","12.0.0-nightly.20201030":"88.0.4306.0","12.0.0-nightly.20201102":"88.0.4306.0","12.0.0-nightly.20201103":"88.0.4306.0","12.0.0-nightly.20201104":"88.0.4306.0","12.0.0-nightly.20201105":"88.0.4306.0","12.0.0-nightly.20201106":"88.0.4306.0","12.0.0-nightly.20201111":"88.0.4306.0","12.0.0-nightly.20201112":"88.0.4306.0","12.0.0-nightly.20201116":"88.0.4324.0","12.0.0":"89.0.4389.69","12.0.1":"89.0.4389.82","12.0.2":"89.0.4389.90","12.0.3":"89.0.4389.114","12.0.4":"89.0.4389.114","12.0.5":"89.0.4389.128","12.0.6":"89.0.4389.128","12.0.7":"89.0.4389.128","12.0.8":"89.0.4389.128","12.0.9":"89.0.4389.128","12.0.10":"89.0.4389.128","12.0.11":"89.0.4389.128","12.0.12":"89.0.4389.128","12.0.13":"89.0.4389.128","12.0.14":"89.0.4389.128","12.0.15":"89.0.4389.128","12.0.16":"89.0.4389.128","12.0.17":"89.0.4389.128","12.0.18":"89.0.4389.128","12.1.0":"89.0.4389.128","12.1.1":"89.0.4389.128","12.1.2":"89.0.4389.128","12.2.0":"89.0.4389.128","12.2.1":"89.0.4389.128","12.2.2":"89.0.4389.128","12.2.3":"89.0.4389.128","13.0.0-beta.2":"90.0.4402.0","13.0.0-beta.3":"90.0.4402.0","13.0.0-beta.4":"90.0.4415.0","13.0.0-beta.5":"90.0.4415.0","13.0.0-beta.6":"90.0.4415.0","13.0.0-beta.7":"90.0.4415.0","13.0.0-beta.8":"90.0.4415.0","13.0.0-beta.9":"90.0.4415.0","13.0.0-beta.10":"90.0.4415.0","13.0.0-beta.11":"90.0.4415.0","13.0.0-beta.12":"90.0.4415.0","13.0.0-beta.13":"90.0.4415.0","13.0.0-beta.14":"91.0.4448.0","13.0.0-beta.16":"91.0.4448.0","13.0.0-beta.17":"91.0.4448.0","13.0.0-beta.18":"91.0.4448.0","13.0.0-beta.20":"91.0.4448.0","13.0.0-beta.21":"91.0.4472.33","13.0.0-beta.22":"91.0.4472.33","13.0.0-beta.23":"91.0.4472.33","13.0.0-beta.24":"91.0.4472.38","13.0.0-beta.25":"91.0.4472.38","13.0.0-beta.26":"91.0.4472.38","13.0.0-beta.27":"91.0.4472.38","13.0.0-beta.28":"91.0.4472.38","13.0.0-nightly.20201119":"89.0.4328.0","13.0.0-nightly.20201123":"89.0.4328.0","13.0.0-nightly.20201124":"89.0.4328.0","13.0.0-nightly.20201126":"89.0.4328.0","13.0.0-nightly.20201127":"89.0.4328.0","13.0.0-nightly.20201130":"89.0.4328.0","13.0.0-nightly.20201201":"89.0.4328.0","13.0.0-nightly.20201202":"89.0.4328.0","13.0.0-nightly.20201203":"89.0.4328.0","13.0.0-nightly.20201204":"89.0.4328.0","13.0.0-nightly.20201207":"89.0.4328.0","13.0.0-nightly.20201208":"89.0.4328.0","13.0.0-nightly.20201209":"89.0.4328.0","13.0.0-nightly.20201210":"89.0.4328.0","13.0.0-nightly.20201211":"89.0.4328.0","13.0.0-nightly.20201214":"89.0.4328.0","13.0.0-nightly.20201215":"89.0.4349.0","13.0.0-nightly.20201216":"89.0.4349.0","13.0.0-nightly.20201221":"89.0.4349.0","13.0.0-nightly.20201222":"89.0.4349.0","13.0.0-nightly.20201223":"89.0.4359.0","13.0.0-nightly.20210104":"89.0.4359.0","13.0.0-nightly.20210108":"89.0.4359.0","13.0.0-nightly.20210111":"89.0.4359.0","13.0.0-nightly.20210113":"89.0.4386.0","13.0.0-nightly.20210114":"89.0.4386.0","13.0.0-nightly.20210118":"89.0.4386.0","13.0.0-nightly.20210122":"89.0.4386.0","13.0.0-nightly.20210125":"89.0.4386.0","13.0.0-nightly.20210127":"89.0.4389.0","13.0.0-nightly.20210128":"89.0.4389.0","13.0.0-nightly.20210129":"89.0.4389.0","13.0.0-nightly.20210201":"89.0.4389.0","13.0.0-nightly.20210202":"89.0.4389.0","13.0.0-nightly.20210203":"89.0.4389.0","13.0.0-nightly.20210205":"89.0.4389.0","13.0.0-nightly.20210208":"89.0.4389.0","13.0.0-nightly.20210209":"89.0.4389.0","13.0.0-nightly.20210210":"90.0.4402.0","13.0.0-nightly.20210211":"90.0.4402.0","13.0.0-nightly.20210212":"90.0.4402.0","13.0.0-nightly.20210216":"90.0.4402.0","13.0.0-nightly.20210217":"90.0.4402.0","13.0.0-nightly.20210218":"90.0.4402.0","13.0.0-nightly.20210219":"90.0.4402.0","13.0.0-nightly.20210222":"90.0.4402.0","13.0.0-nightly.20210225":"90.0.4402.0","13.0.0-nightly.20210226":"90.0.4402.0","13.0.0-nightly.20210301":"90.0.4402.0","13.0.0-nightly.20210302":"90.0.4402.0","13.0.0-nightly.20210303":"90.0.4402.0","13.0.0":"91.0.4472.69","13.0.1":"91.0.4472.69","13.1.0":"91.0.4472.77","13.1.1":"91.0.4472.77","13.1.2":"91.0.4472.77","13.1.3":"91.0.4472.106","13.1.4":"91.0.4472.106","13.1.5":"91.0.4472.124","13.1.6":"91.0.4472.124","13.1.7":"91.0.4472.124","13.1.8":"91.0.4472.164","13.1.9":"91.0.4472.164","13.2.0":"91.0.4472.164","13.2.1":"91.0.4472.164","13.2.2":"91.0.4472.164","13.2.3":"91.0.4472.164","13.3.0":"91.0.4472.164","13.4.0":"91.0.4472.164","13.5.0":"91.0.4472.164","13.5.1":"91.0.4472.164","13.5.2":"91.0.4472.164","13.6.0":"91.0.4472.164","13.6.1":"91.0.4472.164","13.6.2":"91.0.4472.164","13.6.3":"91.0.4472.164","13.6.6":"91.0.4472.164","13.6.7":"91.0.4472.164","13.6.8":"91.0.4472.164","13.6.9":"91.0.4472.164","14.0.0-beta.1":"92.0.4511.0","14.0.0-beta.2":"92.0.4511.0","14.0.0-beta.3":"92.0.4511.0","14.0.0-beta.5":"93.0.4536.0","14.0.0-beta.6":"93.0.4536.0","14.0.0-beta.7":"93.0.4536.0","14.0.0-beta.8":"93.0.4536.0","14.0.0-beta.9":"93.0.4539.0","14.0.0-beta.10":"93.0.4539.0","14.0.0-beta.11":"93.0.4557.4","14.0.0-beta.12":"93.0.4557.4","14.0.0-beta.13":"93.0.4566.0","14.0.0-beta.14":"93.0.4566.0","14.0.0-beta.15":"93.0.4566.0","14.0.0-beta.16":"93.0.4566.0","14.0.0-beta.17":"93.0.4566.0","14.0.0-beta.18":"93.0.4577.15","14.0.0-beta.19":"93.0.4577.15","14.0.0-beta.20":"93.0.4577.15","14.0.0-beta.21":"93.0.4577.15","14.0.0-beta.22":"93.0.4577.25","14.0.0-beta.23":"93.0.4577.25","14.0.0-beta.24":"93.0.4577.51","14.0.0-beta.25":"93.0.4577.51","14.0.0-nightly.20210304":"90.0.4402.0","14.0.0-nightly.20210305":"90.0.4415.0","14.0.0-nightly.20210308":"90.0.4415.0","14.0.0-nightly.20210309":"90.0.4415.0","14.0.0-nightly.20210311":"90.0.4415.0","14.0.0-nightly.20210315":"90.0.4415.0","14.0.0-nightly.20210316":"90.0.4415.0","14.0.0-nightly.20210317":"90.0.4415.0","14.0.0-nightly.20210318":"90.0.4415.0","14.0.0-nightly.20210319":"90.0.4415.0","14.0.0-nightly.20210323":"90.0.4415.0","14.0.0-nightly.20210324":"90.0.4415.0","14.0.0-nightly.20210325":"90.0.4415.0","14.0.0-nightly.20210326":"90.0.4415.0","14.0.0-nightly.20210329":"90.0.4415.0","14.0.0-nightly.20210330":"90.0.4415.0","14.0.0-nightly.20210331":"91.0.4448.0","14.0.0-nightly.20210401":"91.0.4448.0","14.0.0-nightly.20210402":"91.0.4448.0","14.0.0-nightly.20210406":"91.0.4448.0","14.0.0-nightly.20210407":"91.0.4448.0","14.0.0-nightly.20210408":"91.0.4448.0","14.0.0-nightly.20210409":"91.0.4448.0","14.0.0-nightly.20210413":"91.0.4448.0","14.0.0-nightly.20210426":"92.0.4475.0","14.0.0-nightly.20210427":"92.0.4475.0","14.0.0-nightly.20210430":"92.0.4488.0","14.0.0-nightly.20210503":"92.0.4488.0","14.0.0-nightly.20210505":"92.0.4496.0","14.0.0-nightly.20210506":"92.0.4498.0","14.0.0-nightly.20210507":"92.0.4499.0","14.0.0-nightly.20210510":"92.0.4499.0","14.0.0-nightly.20210511":"92.0.4499.0","14.0.0-nightly.20210512":"92.0.4499.0","14.0.0-nightly.20210513":"92.0.4499.0","14.0.0-nightly.20210514":"92.0.4505.0","14.0.0-nightly.20210517":"92.0.4505.0","14.0.0-nightly.20210518":"92.0.4505.0","14.0.0-nightly.20210519":"92.0.4505.0","14.0.0-nightly.20210520":"92.0.4511.0","14.0.0-nightly.20210523":"92.0.4511.0","14.0.0-nightly.20210524":"92.0.4511.0","14.0.0":"93.0.4577.58","14.0.1":"93.0.4577.63","14.0.2":"93.0.4577.82","14.1.0":"93.0.4577.82","14.1.1":"93.0.4577.82","14.2.0":"93.0.4577.82","14.2.1":"93.0.4577.82","14.2.2":"93.0.4577.82","14.2.3":"93.0.4577.82","14.2.4":"93.0.4577.82","14.2.5":"93.0.4577.82","14.2.6":"93.0.4577.82","14.2.7":"93.0.4577.82","14.2.8":"93.0.4577.82","14.2.9":"93.0.4577.82","15.0.0-alpha.1":"93.0.4566.0","15.0.0-alpha.2":"93.0.4566.0","15.0.0-alpha.3":"94.0.4584.0","15.0.0-alpha.4":"94.0.4584.0","15.0.0-alpha.5":"94.0.4584.0","15.0.0-alpha.6":"94.0.4584.0","15.0.0-alpha.7":"94.0.4590.2","15.0.0-alpha.8":"94.0.4590.2","15.0.0-alpha.9":"94.0.4590.2","15.0.0-alpha.10":"94.0.4606.12","15.0.0-beta.1":"94.0.4606.20","15.0.0-beta.2":"94.0.4606.20","15.0.0-beta.3":"94.0.4606.31","15.0.0-beta.4":"94.0.4606.31","15.0.0-beta.5":"94.0.4606.31","15.0.0-beta.6":"94.0.4606.31","15.0.0-beta.7":"94.0.4606.31","15.0.0-nightly.20210527":"92.0.4511.0","15.0.0-nightly.20210528":"92.0.4511.0","15.0.0-nightly.20210531":"92.0.4511.0","15.0.0-nightly.20210601":"92.0.4511.0","15.0.0-nightly.20210602":"92.0.4511.0","15.0.0-nightly.20210603":"93.0.4530.0","15.0.0-nightly.20210604":"93.0.4530.0","15.0.0-nightly.20210608":"93.0.4535.0","15.0.0-nightly.20210609":"93.0.4536.0","15.0.0-nightly.20210610":"93.0.4536.0","15.0.0-nightly.20210611":"93.0.4536.0","15.0.0-nightly.20210614":"93.0.4536.0","15.0.0-nightly.20210615":"93.0.4536.0","15.0.0-nightly.20210616":"93.0.4536.0","15.0.0-nightly.20210617":"93.0.4539.0","15.0.0-nightly.20210618":"93.0.4539.0","15.0.0-nightly.20210621":"93.0.4539.0","15.0.0-nightly.20210622":"93.0.4539.0","15.0.0-nightly.20210623":"93.0.4550.0","15.0.0-nightly.20210624":"93.0.4550.0","15.0.0-nightly.20210625":"93.0.4552.0","15.0.0-nightly.20210628":"93.0.4552.0","15.0.0-nightly.20210629":"93.0.4552.0","15.0.0-nightly.20210630":"93.0.4558.0","15.0.0-nightly.20210701":"93.0.4558.0","15.0.0-nightly.20210702":"93.0.4558.0","15.0.0-nightly.20210705":"93.0.4558.0","15.0.0-nightly.20210706":"93.0.4566.0","15.0.0-nightly.20210707":"93.0.4566.0","15.0.0-nightly.20210708":"93.0.4566.0","15.0.0-nightly.20210709":"93.0.4566.0","15.0.0-nightly.20210712":"93.0.4566.0","15.0.0-nightly.20210713":"93.0.4566.0","15.0.0-nightly.20210714":"93.0.4566.0","15.0.0-nightly.20210715":"93.0.4566.0","15.0.0-nightly.20210716":"93.0.4566.0","15.0.0-nightly.20210719":"93.0.4566.0","15.0.0-nightly.20210720":"93.0.4566.0","15.0.0-nightly.20210721":"93.0.4566.0","15.0.0":"94.0.4606.51","15.1.0":"94.0.4606.61","15.1.1":"94.0.4606.61","15.1.2":"94.0.4606.71","15.2.0":"94.0.4606.81","15.3.0":"94.0.4606.81","15.3.1":"94.0.4606.81","15.3.2":"94.0.4606.81","15.3.3":"94.0.4606.81","15.3.4":"94.0.4606.81","15.3.5":"94.0.4606.81","15.3.6":"94.0.4606.81","15.3.7":"94.0.4606.81","15.4.0":"94.0.4606.81","15.4.1":"94.0.4606.81","15.4.2":"94.0.4606.81","15.5.0":"94.0.4606.81","15.5.1":"94.0.4606.81","15.5.2":"94.0.4606.81","15.5.3":"94.0.4606.81","15.5.4":"94.0.4606.81","15.5.5":"94.0.4606.81","15.5.6":"94.0.4606.81","15.5.7":"94.0.4606.81","16.0.0-alpha.1":"95.0.4629.0","16.0.0-alpha.2":"95.0.4629.0","16.0.0-alpha.3":"95.0.4629.0","16.0.0-alpha.4":"95.0.4629.0","16.0.0-alpha.5":"95.0.4629.0","16.0.0-alpha.6":"95.0.4629.0","16.0.0-alpha.7":"95.0.4629.0","16.0.0-alpha.8":"96.0.4647.0","16.0.0-alpha.9":"96.0.4647.0","16.0.0-beta.1":"96.0.4647.0","16.0.0-beta.2":"96.0.4647.0","16.0.0-beta.3":"96.0.4647.0","16.0.0-beta.4":"96.0.4664.18","16.0.0-beta.5":"96.0.4664.18","16.0.0-beta.6":"96.0.4664.27","16.0.0-beta.7":"96.0.4664.27","16.0.0-beta.8":"96.0.4664.35","16.0.0-beta.9":"96.0.4664.35","16.0.0-nightly.20210722":"93.0.4566.0","16.0.0-nightly.20210723":"93.0.4566.0","16.0.0-nightly.20210726":"93.0.4566.0","16.0.0-nightly.20210727":"94.0.4584.0","16.0.0-nightly.20210728":"94.0.4584.0","16.0.0-nightly.20210729":"94.0.4584.0","16.0.0-nightly.20210730":"94.0.4584.0","16.0.0-nightly.20210802":"94.0.4584.0","16.0.0-nightly.20210803":"94.0.4584.0","16.0.0-nightly.20210804":"94.0.4584.0","16.0.0-nightly.20210805":"94.0.4584.0","16.0.0-nightly.20210806":"94.0.4584.0","16.0.0-nightly.20210809":"94.0.4584.0","16.0.0-nightly.20210810":"94.0.4584.0","16.0.0-nightly.20210811":"94.0.4584.0","16.0.0-nightly.20210812":"94.0.4590.2","16.0.0-nightly.20210813":"94.0.4590.2","16.0.0-nightly.20210816":"94.0.4590.2","16.0.0-nightly.20210817":"94.0.4590.2","16.0.0-nightly.20210818":"94.0.4590.2","16.0.0-nightly.20210819":"94.0.4590.2","16.0.0-nightly.20210820":"94.0.4590.2","16.0.0-nightly.20210823":"94.0.4590.2","16.0.0-nightly.20210824":"95.0.4612.5","16.0.0-nightly.20210825":"95.0.4612.5","16.0.0-nightly.20210826":"95.0.4612.5","16.0.0-nightly.20210827":"95.0.4612.5","16.0.0-nightly.20210830":"95.0.4612.5","16.0.0-nightly.20210831":"95.0.4612.5","16.0.0-nightly.20210901":"95.0.4612.5","16.0.0-nightly.20210902":"95.0.4629.0","16.0.0-nightly.20210903":"95.0.4629.0","16.0.0-nightly.20210906":"95.0.4629.0","16.0.0-nightly.20210907":"95.0.4629.0","16.0.0-nightly.20210908":"95.0.4629.0","16.0.0-nightly.20210909":"95.0.4629.0","16.0.0-nightly.20210910":"95.0.4629.0","16.0.0-nightly.20210913":"95.0.4629.0","16.0.0-nightly.20210914":"95.0.4629.0","16.0.0-nightly.20210915":"95.0.4629.0","16.0.0-nightly.20210916":"95.0.4629.0","16.0.0-nightly.20210917":"95.0.4629.0","16.0.0-nightly.20210920":"95.0.4629.0","16.0.0-nightly.20210921":"95.0.4629.0","16.0.0-nightly.20210922":"95.0.4629.0","16.0.0":"96.0.4664.45","16.0.1":"96.0.4664.45","16.0.2":"96.0.4664.55","16.0.3":"96.0.4664.55","16.0.4":"96.0.4664.55","16.0.5":"96.0.4664.55","16.0.6":"96.0.4664.110","16.0.7":"96.0.4664.110","16.0.8":"96.0.4664.110","16.0.9":"96.0.4664.174","16.0.10":"96.0.4664.174","16.1.0":"96.0.4664.174","16.1.1":"96.0.4664.174","16.2.0":"96.0.4664.174","16.2.1":"96.0.4664.174","16.2.2":"96.0.4664.174","16.2.3":"96.0.4664.174","16.2.4":"96.0.4664.174","16.2.5":"96.0.4664.174","16.2.6":"96.0.4664.174","16.2.7":"96.0.4664.174","16.2.8":"96.0.4664.174","17.0.0-alpha.1":"96.0.4664.4","17.0.0-alpha.2":"96.0.4664.4","17.0.0-alpha.3":"96.0.4664.4","17.0.0-alpha.4":"98.0.4706.0","17.0.0-alpha.5":"98.0.4706.0","17.0.0-alpha.6":"98.0.4706.0","17.0.0-beta.1":"98.0.4706.0","17.0.0-beta.2":"98.0.4706.0","17.0.0-beta.3":"98.0.4758.9","17.0.0-beta.4":"98.0.4758.11","17.0.0-beta.5":"98.0.4758.11","17.0.0-beta.6":"98.0.4758.11","17.0.0-beta.7":"98.0.4758.11","17.0.0-beta.8":"98.0.4758.11","17.0.0-beta.9":"98.0.4758.11","17.0.0-nightly.20210923":"95.0.4629.0","17.0.0-nightly.20210924":"95.0.4629.0","17.0.0-nightly.20210927":"95.0.4629.0","17.0.0-nightly.20210928":"95.0.4629.0","17.0.0-nightly.20210929":"95.0.4629.0","17.0.0-nightly.20210930":"95.0.4629.0","17.0.0-nightly.20211001":"95.0.4629.0","17.0.0-nightly.20211004":"95.0.4629.0","17.0.0-nightly.20211005":"95.0.4629.0","17.0.0-nightly.20211006":"96.0.4647.0","17.0.0-nightly.20211007":"96.0.4647.0","17.0.0-nightly.20211008":"96.0.4647.0","17.0.0-nightly.20211011":"96.0.4647.0","17.0.0-nightly.20211012":"96.0.4647.0","17.0.0-nightly.20211013":"96.0.4647.0","17.0.0-nightly.20211014":"96.0.4647.0","17.0.0-nightly.20211015":"96.0.4647.0","17.0.0-nightly.20211018":"96.0.4647.0","17.0.0-nightly.20211019":"96.0.4647.0","17.0.0-nightly.20211020":"96.0.4647.0","17.0.0-nightly.20211021":"96.0.4647.0","17.0.0-nightly.20211022":"96.0.4664.4","17.0.0-nightly.20211025":"96.0.4664.4","17.0.0-nightly.20211026":"96.0.4664.4","17.0.0-nightly.20211027":"96.0.4664.4","17.0.0-nightly.20211028":"96.0.4664.4","17.0.0-nightly.20211029":"96.0.4664.4","17.0.0-nightly.20211101":"96.0.4664.4","17.0.0-nightly.20211102":"96.0.4664.4","17.0.0-nightly.20211103":"96.0.4664.4","17.0.0-nightly.20211104":"96.0.4664.4","17.0.0-nightly.20211105":"96.0.4664.4","17.0.0-nightly.20211108":"96.0.4664.4","17.0.0-nightly.20211109":"96.0.4664.4","17.0.0-nightly.20211110":"96.0.4664.4","17.0.0-nightly.20211111":"96.0.4664.4","17.0.0-nightly.20211112":"96.0.4664.4","17.0.0-nightly.20211115":"96.0.4664.4","17.0.0-nightly.20211116":"96.0.4664.4","17.0.0-nightly.20211117":"96.0.4664.4","17.0.0":"98.0.4758.74","17.0.1":"98.0.4758.82","17.1.0":"98.0.4758.102","17.1.1":"98.0.4758.109","17.1.2":"98.0.4758.109","17.2.0":"98.0.4758.109","17.3.0":"98.0.4758.141","17.3.1":"98.0.4758.141","17.4.0":"98.0.4758.141","17.4.1":"98.0.4758.141","17.4.2":"98.0.4758.141","17.4.3":"98.0.4758.141","17.4.4":"98.0.4758.141","17.4.5":"98.0.4758.141","17.4.6":"98.0.4758.141","17.4.7":"98.0.4758.141","17.4.8":"98.0.4758.141","17.4.9":"98.0.4758.141","17.4.10":"98.0.4758.141","17.4.11":"98.0.4758.141","18.0.0-alpha.1":"99.0.4767.0","18.0.0-alpha.2":"99.0.4767.0","18.0.0-alpha.3":"99.0.4767.0","18.0.0-alpha.4":"99.0.4767.0","18.0.0-alpha.5":"99.0.4767.0","18.0.0-beta.1":"100.0.4894.0","18.0.0-beta.2":"100.0.4894.0","18.0.0-beta.3":"100.0.4894.0","18.0.0-beta.4":"100.0.4894.0","18.0.0-beta.5":"100.0.4894.0","18.0.0-beta.6":"100.0.4894.0","18.0.0-nightly.20211118":"96.0.4664.4","18.0.0-nightly.20211119":"96.0.4664.4","18.0.0-nightly.20211122":"96.0.4664.4","18.0.0-nightly.20211123":"96.0.4664.4","18.0.0-nightly.20211124":"98.0.4706.0","18.0.0-nightly.20211125":"98.0.4706.0","18.0.0-nightly.20211126":"98.0.4706.0","18.0.0-nightly.20211129":"98.0.4706.0","18.0.0-nightly.20211130":"98.0.4706.0","18.0.0-nightly.20211201":"98.0.4706.0","18.0.0-nightly.20211202":"98.0.4706.0","18.0.0-nightly.20211203":"98.0.4706.0","18.0.0-nightly.20211206":"98.0.4706.0","18.0.0-nightly.20211207":"98.0.4706.0","18.0.0-nightly.20211208":"98.0.4706.0","18.0.0-nightly.20211209":"98.0.4706.0","18.0.0-nightly.20211210":"98.0.4706.0","18.0.0-nightly.20211213":"98.0.4706.0","18.0.0-nightly.20211214":"98.0.4706.0","18.0.0-nightly.20211215":"98.0.4706.0","18.0.0-nightly.20211216":"98.0.4706.0","18.0.0-nightly.20211217":"98.0.4706.0","18.0.0-nightly.20211220":"98.0.4706.0","18.0.0-nightly.20211221":"98.0.4706.0","18.0.0-nightly.20211222":"98.0.4706.0","18.0.0-nightly.20211223":"98.0.4706.0","18.0.0-nightly.20211228":"98.0.4706.0","18.0.0-nightly.20211229":"98.0.4706.0","18.0.0-nightly.20211231":"98.0.4706.0","18.0.0-nightly.20220103":"98.0.4706.0","18.0.0-nightly.20220104":"98.0.4706.0","18.0.0-nightly.20220105":"98.0.4706.0","18.0.0-nightly.20220106":"98.0.4706.0","18.0.0-nightly.20220107":"98.0.4706.0","18.0.0-nightly.20220110":"98.0.4706.0","18.0.0-nightly.20220111":"99.0.4767.0","18.0.0-nightly.20220112":"99.0.4767.0","18.0.0-nightly.20220113":"99.0.4767.0","18.0.0-nightly.20220114":"99.0.4767.0","18.0.0-nightly.20220117":"99.0.4767.0","18.0.0-nightly.20220118":"99.0.4767.0","18.0.0-nightly.20220119":"99.0.4767.0","18.0.0-nightly.20220121":"99.0.4767.0","18.0.0-nightly.20220124":"99.0.4767.0","18.0.0-nightly.20220125":"99.0.4767.0","18.0.0-nightly.20220127":"99.0.4767.0","18.0.0-nightly.20220128":"99.0.4767.0","18.0.0-nightly.20220131":"99.0.4767.0","18.0.0-nightly.20220201":"99.0.4767.0","18.0.0":"100.0.4896.56","18.0.1":"100.0.4896.60","18.0.2":"100.0.4896.60","18.0.3":"100.0.4896.75","18.0.4":"100.0.4896.75","18.1.0":"100.0.4896.127","18.2.0":"100.0.4896.143","18.2.1":"100.0.4896.143","18.2.2":"100.0.4896.143","18.2.3":"100.0.4896.143","18.2.4":"100.0.4896.160","18.3.0":"100.0.4896.160","18.3.1":"100.0.4896.160","18.3.2":"100.0.4896.160","18.3.3":"100.0.4896.160","18.3.4":"100.0.4896.160","18.3.5":"100.0.4896.160","18.3.6":"100.0.4896.160","18.3.7":"100.0.4896.160","18.3.8":"100.0.4896.160","18.3.9":"100.0.4896.160","18.3.11":"100.0.4896.160","18.3.12":"100.0.4896.160","18.3.13":"100.0.4896.160","18.3.14":"100.0.4896.160","18.3.15":"100.0.4896.160","19.0.0-alpha.1":"102.0.4962.3","19.0.0-alpha.2":"102.0.4971.0","19.0.0-alpha.3":"102.0.4971.0","19.0.0-alpha.4":"102.0.4989.0","19.0.0-alpha.5":"102.0.4989.0","19.0.0-beta.1":"102.0.4999.0","19.0.0-beta.2":"102.0.4999.0","19.0.0-beta.3":"102.0.4999.0","19.0.0-beta.4":"102.0.5005.27","19.0.0-beta.5":"102.0.5005.40","19.0.0-beta.6":"102.0.5005.40","19.0.0-beta.7":"102.0.5005.40","19.0.0-beta.8":"102.0.5005.49","19.0.0-nightly.20220202":"99.0.4767.0","19.0.0-nightly.20220203":"99.0.4767.0","19.0.0-nightly.20220204":"99.0.4767.0","19.0.0-nightly.20220207":"99.0.4767.0","19.0.0-nightly.20220208":"99.0.4767.0","19.0.0-nightly.20220209":"99.0.4767.0","19.0.0-nightly.20220308":"100.0.4894.0","19.0.0-nightly.20220309":"100.0.4894.0","19.0.0-nightly.20220310":"100.0.4894.0","19.0.0-nightly.20220311":"100.0.4894.0","19.0.0-nightly.20220314":"100.0.4894.0","19.0.0-nightly.20220315":"100.0.4894.0","19.0.0-nightly.20220316":"100.0.4894.0","19.0.0-nightly.20220317":"100.0.4894.0","19.0.0-nightly.20220318":"100.0.4894.0","19.0.0-nightly.20220321":"100.0.4894.0","19.0.0-nightly.20220322":"100.0.4894.0","19.0.0-nightly.20220323":"100.0.4894.0","19.0.0-nightly.20220324":"100.0.4894.0","19.0.0-nightly.20220325":"102.0.4961.0","19.0.0-nightly.20220328":"102.0.4962.3","19.0.0-nightly.20220329":"102.0.4962.3","19.0.0":"102.0.5005.61","19.0.1":"102.0.5005.61","19.0.2":"102.0.5005.63","19.0.3":"102.0.5005.63","19.0.4":"102.0.5005.63","19.0.5":"102.0.5005.115","19.0.6":"102.0.5005.115","19.0.7":"102.0.5005.134","19.0.8":"102.0.5005.148","19.0.9":"102.0.5005.167","19.0.10":"102.0.5005.167","19.0.11":"102.0.5005.167","19.0.12":"102.0.5005.167","19.0.13":"102.0.5005.167","19.0.14":"102.0.5005.167","19.0.15":"102.0.5005.167","19.0.16":"102.0.5005.167","19.0.17":"102.0.5005.167","19.1.0":"102.0.5005.167","19.1.1":"102.0.5005.167","19.1.2":"102.0.5005.167","19.1.3":"102.0.5005.167","19.1.4":"102.0.5005.167","19.1.5":"102.0.5005.167","19.1.6":"102.0.5005.167","19.1.7":"102.0.5005.167","19.1.8":"102.0.5005.167","19.1.9":"102.0.5005.167","20.0.0-alpha.1":"103.0.5044.0","20.0.0-alpha.2":"104.0.5073.0","20.0.0-alpha.3":"104.0.5073.0","20.0.0-alpha.4":"104.0.5073.0","20.0.0-alpha.5":"104.0.5073.0","20.0.0-alpha.6":"104.0.5073.0","20.0.0-alpha.7":"104.0.5073.0","20.0.0-beta.1":"104.0.5073.0","20.0.0-beta.2":"104.0.5073.0","20.0.0-beta.3":"104.0.5073.0","20.0.0-beta.4":"104.0.5073.0","20.0.0-beta.5":"104.0.5073.0","20.0.0-beta.6":"104.0.5073.0","20.0.0-beta.7":"104.0.5073.0","20.0.0-beta.8":"104.0.5073.0","20.0.0-beta.9":"104.0.5112.39","20.0.0-beta.10":"104.0.5112.48","20.0.0-beta.11":"104.0.5112.48","20.0.0-beta.12":"104.0.5112.48","20.0.0-beta.13":"104.0.5112.57","20.0.0-nightly.20220330":"102.0.4962.3","20.0.0-nightly.20220411":"102.0.4971.0","20.0.0-nightly.20220414":"102.0.4989.0","20.0.0-nightly.20220415":"102.0.4989.0","20.0.0-nightly.20220418":"102.0.4989.0","20.0.0-nightly.20220419":"102.0.4989.0","20.0.0-nightly.20220420":"102.0.4989.0","20.0.0-nightly.20220421":"102.0.4989.0","20.0.0-nightly.20220425":"102.0.4999.0","20.0.0-nightly.20220426":"102.0.4999.0","20.0.0-nightly.20220427":"102.0.4999.0","20.0.0-nightly.20220428":"102.0.4999.0","20.0.0-nightly.20220429":"102.0.4999.0","20.0.0-nightly.20220502":"102.0.4999.0","20.0.0-nightly.20220503":"102.0.4999.0","20.0.0-nightly.20220504":"102.0.4999.0","20.0.0-nightly.20220505":"102.0.4999.0","20.0.0-nightly.20220506":"102.0.4999.0","20.0.0-nightly.20220509":"102.0.4999.0","20.0.0-nightly.20220511":"102.0.4999.0","20.0.0-nightly.20220512":"102.0.4999.0","20.0.0-nightly.20220513":"102.0.4999.0","20.0.0-nightly.20220516":"102.0.4999.0","20.0.0-nightly.20220517":"102.0.4999.0","20.0.0-nightly.20220518":"103.0.5044.0","20.0.0-nightly.20220519":"103.0.5044.0","20.0.0-nightly.20220520":"103.0.5044.0","20.0.0-nightly.20220523":"103.0.5044.0","20.0.0-nightly.20220524":"103.0.5044.0","20.0.0":"104.0.5112.65","20.0.1":"104.0.5112.81","20.0.2":"104.0.5112.81","20.0.3":"104.0.5112.81","20.1.0":"104.0.5112.102","20.1.1":"104.0.5112.102","20.1.2":"104.0.5112.114","20.1.3":"104.0.5112.114","20.1.4":"104.0.5112.114","20.2.0":"104.0.5112.124","20.3.0":"104.0.5112.124","20.3.1":"104.0.5112.124","20.3.2":"104.0.5112.124","20.3.3":"104.0.5112.124","20.3.4":"104.0.5112.124","20.3.5":"104.0.5112.124","20.3.6":"104.0.5112.124","20.3.7":"104.0.5112.124","20.3.8":"104.0.5112.124","20.3.9":"104.0.5112.124","20.3.10":"104.0.5112.124","20.3.11":"104.0.5112.124","20.3.12":"104.0.5112.124","21.0.0-alpha.1":"105.0.5187.0","21.0.0-alpha.2":"105.0.5187.0","21.0.0-alpha.3":"105.0.5187.0","21.0.0-alpha.4":"105.0.5187.0","21.0.0-alpha.5":"105.0.5187.0","21.0.0-alpha.6":"106.0.5216.0","21.0.0-beta.1":"106.0.5216.0","21.0.0-beta.2":"106.0.5216.0","21.0.0-beta.3":"106.0.5216.0","21.0.0-beta.4":"106.0.5216.0","21.0.0-beta.5":"106.0.5216.0","21.0.0-beta.6":"106.0.5249.40","21.0.0-beta.7":"106.0.5249.40","21.0.0-beta.8":"106.0.5249.40","21.0.0-nightly.20220526":"103.0.5044.0","21.0.0-nightly.20220527":"103.0.5044.0","21.0.0-nightly.20220530":"103.0.5044.0","21.0.0-nightly.20220531":"103.0.5044.0","21.0.0-nightly.20220602":"104.0.5073.0","21.0.0-nightly.20220603":"104.0.5073.0","21.0.0-nightly.20220606":"104.0.5073.0","21.0.0-nightly.20220607":"104.0.5073.0","21.0.0-nightly.20220608":"104.0.5073.0","21.0.0-nightly.20220609":"104.0.5073.0","21.0.0-nightly.20220610":"104.0.5073.0","21.0.0-nightly.20220613":"104.0.5073.0","21.0.0-nightly.20220614":"104.0.5073.0","21.0.0-nightly.20220615":"104.0.5073.0","21.0.0-nightly.20220616":"104.0.5073.0","21.0.0-nightly.20220617":"104.0.5073.0","21.0.0-nightly.20220620":"104.0.5073.0","21.0.0-nightly.20220621":"104.0.5073.0","21.0.0-nightly.20220622":"104.0.5073.0","21.0.0-nightly.20220623":"104.0.5073.0","21.0.0-nightly.20220624":"104.0.5073.0","21.0.0-nightly.20220627":"104.0.5073.0","21.0.0-nightly.20220628":"105.0.5129.0","21.0.0-nightly.20220629":"105.0.5129.0","21.0.0-nightly.20220630":"105.0.5129.0","21.0.0-nightly.20220701":"105.0.5129.0","21.0.0-nightly.20220704":"105.0.5129.0","21.0.0-nightly.20220705":"105.0.5129.0","21.0.0-nightly.20220706":"105.0.5129.0","21.0.0-nightly.20220707":"105.0.5129.0","21.0.0-nightly.20220708":"105.0.5129.0","21.0.0-nightly.20220711":"105.0.5129.0","21.0.0-nightly.20220712":"105.0.5129.0","21.0.0-nightly.20220713":"105.0.5129.0","21.0.0-nightly.20220715":"105.0.5173.0","21.0.0-nightly.20220718":"105.0.5173.0","21.0.0-nightly.20220719":"105.0.5173.0","21.0.0-nightly.20220720":"105.0.5187.0","21.0.0-nightly.20220721":"105.0.5187.0","21.0.0-nightly.20220722":"105.0.5187.0","21.0.0-nightly.20220725":"105.0.5187.0","21.0.0-nightly.20220726":"105.0.5187.0","21.0.0-nightly.20220727":"105.0.5187.0","21.0.0-nightly.20220728":"105.0.5187.0","21.0.0-nightly.20220801":"105.0.5187.0","21.0.0-nightly.20220802":"105.0.5187.0","21.0.0":"106.0.5249.51","21.0.1":"106.0.5249.61","21.1.0":"106.0.5249.91","21.1.1":"106.0.5249.103","21.2.0":"106.0.5249.119","21.2.1":"106.0.5249.165","21.2.2":"106.0.5249.168","21.2.3":"106.0.5249.168","21.3.0":"106.0.5249.181","21.3.1":"106.0.5249.181","21.3.3":"106.0.5249.199","21.3.4":"106.0.5249.199","21.3.5":"106.0.5249.199","21.4.0":"106.0.5249.199","21.4.1":"106.0.5249.199","21.4.2":"106.0.5249.199","21.4.3":"106.0.5249.199","21.4.4":"106.0.5249.199","22.0.0-alpha.1":"107.0.5286.0","22.0.0-alpha.3":"108.0.5329.0","22.0.0-alpha.4":"108.0.5329.0","22.0.0-alpha.5":"108.0.5329.0","22.0.0-alpha.6":"108.0.5329.0","22.0.0-alpha.7":"108.0.5355.0","22.0.0-alpha.8":"108.0.5359.10","22.0.0-beta.1":"108.0.5359.10","22.0.0-beta.2":"108.0.5359.10","22.0.0-beta.3":"108.0.5359.10","22.0.0-beta.4":"108.0.5359.29","22.0.0-beta.5":"108.0.5359.40","22.0.0-beta.6":"108.0.5359.40","22.0.0-beta.7":"108.0.5359.48","22.0.0-beta.8":"108.0.5359.48","22.0.0-nightly.20220808":"105.0.5187.0","22.0.0-nightly.20220809":"105.0.5187.0","22.0.0-nightly.20220810":"105.0.5187.0","22.0.0-nightly.20220811":"105.0.5187.0","22.0.0-nightly.20220812":"105.0.5187.0","22.0.0-nightly.20220815":"105.0.5187.0","22.0.0-nightly.20220816":"105.0.5187.0","22.0.0-nightly.20220817":"105.0.5187.0","22.0.0-nightly.20220822":"106.0.5216.0","22.0.0-nightly.20220823":"106.0.5216.0","22.0.0-nightly.20220824":"106.0.5216.0","22.0.0-nightly.20220825":"106.0.5216.0","22.0.0-nightly.20220829":"106.0.5216.0","22.0.0-nightly.20220830":"106.0.5216.0","22.0.0-nightly.20220831":"106.0.5216.0","22.0.0-nightly.20220901":"106.0.5216.0","22.0.0-nightly.20220902":"106.0.5216.0","22.0.0-nightly.20220905":"106.0.5216.0","22.0.0-nightly.20220908":"107.0.5274.0","22.0.0-nightly.20220909":"107.0.5286.0","22.0.0-nightly.20220912":"107.0.5286.0","22.0.0-nightly.20220913":"107.0.5286.0","22.0.0-nightly.20220914":"107.0.5286.0","22.0.0-nightly.20220915":"107.0.5286.0","22.0.0-nightly.20220916":"107.0.5286.0","22.0.0-nightly.20220919":"107.0.5286.0","22.0.0-nightly.20220920":"107.0.5286.0","22.0.0-nightly.20220921":"107.0.5286.0","22.0.0-nightly.20220922":"107.0.5286.0","22.0.0-nightly.20220923":"107.0.5286.0","22.0.0-nightly.20220926":"107.0.5286.0","22.0.0-nightly.20220927":"107.0.5286.0","22.0.0-nightly.20220928":"107.0.5286.0","22.0.0":"108.0.5359.62","22.0.1":"108.0.5359.125","22.0.2":"108.0.5359.179","22.0.3":"108.0.5359.179","22.1.0":"108.0.5359.179","22.2.0":"108.0.5359.215","22.2.1":"108.0.5359.215","22.3.0":"108.0.5359.215","22.3.1":"108.0.5359.215","22.3.2":"108.0.5359.215","22.3.3":"108.0.5359.215","22.3.4":"108.0.5359.215","22.3.5":"108.0.5359.215","22.3.6":"108.0.5359.215","22.3.7":"108.0.5359.215","22.3.8":"108.0.5359.215","22.3.9":"108.0.5359.215","22.3.10":"108.0.5359.215","22.3.11":"108.0.5359.215","22.3.12":"108.0.5359.215","22.3.13":"108.0.5359.215","22.3.14":"108.0.5359.215","22.3.15":"108.0.5359.215","22.3.16":"108.0.5359.215","22.3.17":"108.0.5359.215","22.3.18":"108.0.5359.215","22.3.20":"108.0.5359.215","22.3.21":"108.0.5359.215","22.3.22":"108.0.5359.215","22.3.23":"108.0.5359.215","22.3.24":"108.0.5359.215","22.3.25":"108.0.5359.215","22.3.26":"108.0.5359.215","22.3.27":"108.0.5359.215","23.0.0-alpha.1":"110.0.5415.0","23.0.0-alpha.2":"110.0.5451.0","23.0.0-alpha.3":"110.0.5451.0","23.0.0-beta.1":"110.0.5478.5","23.0.0-beta.2":"110.0.5478.5","23.0.0-beta.3":"110.0.5478.5","23.0.0-beta.4":"110.0.5481.30","23.0.0-beta.5":"110.0.5481.38","23.0.0-beta.6":"110.0.5481.52","23.0.0-beta.8":"110.0.5481.52","23.0.0-nightly.20220929":"107.0.5286.0","23.0.0-nightly.20220930":"107.0.5286.0","23.0.0-nightly.20221003":"107.0.5286.0","23.0.0-nightly.20221004":"108.0.5329.0","23.0.0-nightly.20221005":"108.0.5329.0","23.0.0-nightly.20221006":"108.0.5329.0","23.0.0-nightly.20221007":"108.0.5329.0","23.0.0-nightly.20221010":"108.0.5329.0","23.0.0-nightly.20221011":"108.0.5329.0","23.0.0-nightly.20221012":"108.0.5329.0","23.0.0-nightly.20221013":"108.0.5329.0","23.0.0-nightly.20221014":"108.0.5329.0","23.0.0-nightly.20221017":"108.0.5329.0","23.0.0-nightly.20221018":"108.0.5355.0","23.0.0-nightly.20221019":"108.0.5355.0","23.0.0-nightly.20221020":"108.0.5355.0","23.0.0-nightly.20221021":"108.0.5355.0","23.0.0-nightly.20221024":"108.0.5355.0","23.0.0-nightly.20221026":"108.0.5355.0","23.0.0-nightly.20221027":"109.0.5382.0","23.0.0-nightly.20221028":"109.0.5382.0","23.0.0-nightly.20221031":"109.0.5382.0","23.0.0-nightly.20221101":"109.0.5382.0","23.0.0-nightly.20221102":"109.0.5382.0","23.0.0-nightly.20221103":"109.0.5382.0","23.0.0-nightly.20221104":"109.0.5382.0","23.0.0-nightly.20221107":"109.0.5382.0","23.0.0-nightly.20221108":"109.0.5382.0","23.0.0-nightly.20221109":"109.0.5382.0","23.0.0-nightly.20221110":"109.0.5382.0","23.0.0-nightly.20221111":"109.0.5382.0","23.0.0-nightly.20221114":"109.0.5382.0","23.0.0-nightly.20221115":"109.0.5382.0","23.0.0-nightly.20221116":"109.0.5382.0","23.0.0-nightly.20221117":"109.0.5382.0","23.0.0-nightly.20221118":"110.0.5415.0","23.0.0-nightly.20221121":"110.0.5415.0","23.0.0-nightly.20221122":"110.0.5415.0","23.0.0-nightly.20221123":"110.0.5415.0","23.0.0-nightly.20221124":"110.0.5415.0","23.0.0-nightly.20221125":"110.0.5415.0","23.0.0-nightly.20221128":"110.0.5415.0","23.0.0-nightly.20221129":"110.0.5415.0","23.0.0-nightly.20221130":"110.0.5415.0","23.0.0":"110.0.5481.77","23.1.0":"110.0.5481.100","23.1.1":"110.0.5481.104","23.1.2":"110.0.5481.177","23.1.3":"110.0.5481.179","23.1.4":"110.0.5481.192","23.2.0":"110.0.5481.192","23.2.1":"110.0.5481.208","23.2.2":"110.0.5481.208","23.2.3":"110.0.5481.208","23.2.4":"110.0.5481.208","23.3.0":"110.0.5481.208","23.3.1":"110.0.5481.208","23.3.2":"110.0.5481.208","23.3.3":"110.0.5481.208","23.3.4":"110.0.5481.208","23.3.5":"110.0.5481.208","23.3.6":"110.0.5481.208","23.3.7":"110.0.5481.208","23.3.8":"110.0.5481.208","23.3.9":"110.0.5481.208","23.3.10":"110.0.5481.208","23.3.11":"110.0.5481.208","23.3.12":"110.0.5481.208","23.3.13":"110.0.5481.208","24.0.0-alpha.1":"111.0.5560.0","24.0.0-alpha.2":"111.0.5560.0","24.0.0-alpha.3":"111.0.5560.0","24.0.0-alpha.4":"111.0.5560.0","24.0.0-alpha.5":"111.0.5560.0","24.0.0-alpha.6":"111.0.5560.0","24.0.0-alpha.7":"111.0.5560.0","24.0.0-beta.1":"111.0.5563.50","24.0.0-beta.2":"111.0.5563.50","24.0.0-beta.3":"112.0.5615.20","24.0.0-beta.4":"112.0.5615.20","24.0.0-beta.5":"112.0.5615.29","24.0.0-beta.6":"112.0.5615.39","24.0.0-beta.7":"112.0.5615.39","24.0.0-nightly.20221201":"110.0.5415.0","24.0.0-nightly.20221202":"110.0.5415.0","24.0.0-nightly.20221205":"110.0.5415.0","24.0.0-nightly.20221206":"110.0.5451.0","24.0.0-nightly.20221207":"110.0.5451.0","24.0.0-nightly.20221208":"110.0.5451.0","24.0.0-nightly.20221213":"110.0.5451.0","24.0.0-nightly.20221214":"110.0.5451.0","24.0.0-nightly.20221215":"110.0.5451.0","24.0.0-nightly.20221216":"110.0.5451.0","24.0.0-nightly.20230109":"111.0.5518.0","24.0.0-nightly.20230110":"111.0.5518.0","24.0.0-nightly.20230111":"111.0.5518.0","24.0.0-nightly.20230112":"111.0.5518.0","24.0.0-nightly.20230113":"111.0.5518.0","24.0.0-nightly.20230116":"111.0.5518.0","24.0.0-nightly.20230117":"111.0.5518.0","24.0.0-nightly.20230118":"111.0.5518.0","24.0.0-nightly.20230119":"111.0.5518.0","24.0.0-nightly.20230120":"111.0.5518.0","24.0.0-nightly.20230123":"111.0.5518.0","24.0.0-nightly.20230124":"111.0.5518.0","24.0.0-nightly.20230125":"111.0.5518.0","24.0.0-nightly.20230126":"111.0.5518.0","24.0.0-nightly.20230127":"111.0.5518.0","24.0.0-nightly.20230131":"111.0.5518.0","24.0.0-nightly.20230201":"111.0.5518.0","24.0.0-nightly.20230202":"111.0.5518.0","24.0.0-nightly.20230203":"111.0.5560.0","24.0.0-nightly.20230206":"111.0.5560.0","24.0.0-nightly.20230207":"111.0.5560.0","24.0.0-nightly.20230208":"111.0.5560.0","24.0.0-nightly.20230209":"111.0.5560.0","24.0.0":"112.0.5615.49","24.1.0":"112.0.5615.50","24.1.1":"112.0.5615.50","24.1.2":"112.0.5615.87","24.1.3":"112.0.5615.165","24.2.0":"112.0.5615.165","24.3.0":"112.0.5615.165","24.3.1":"112.0.5615.183","24.4.0":"112.0.5615.204","24.4.1":"112.0.5615.204","24.5.0":"112.0.5615.204","24.5.1":"112.0.5615.204","24.6.0":"112.0.5615.204","24.6.1":"112.0.5615.204","24.6.2":"112.0.5615.204","24.6.3":"112.0.5615.204","24.6.4":"112.0.5615.204","24.6.5":"112.0.5615.204","24.7.0":"112.0.5615.204","24.7.1":"112.0.5615.204","24.8.0":"112.0.5615.204","24.8.1":"112.0.5615.204","24.8.2":"112.0.5615.204","24.8.3":"112.0.5615.204","24.8.4":"112.0.5615.204","24.8.5":"112.0.5615.204","24.8.6":"112.0.5615.204","24.8.7":"112.0.5615.204","24.8.8":"112.0.5615.204","25.0.0-alpha.1":"114.0.5694.0","25.0.0-alpha.2":"114.0.5694.0","25.0.0-alpha.3":"114.0.5710.0","25.0.0-alpha.4":"114.0.5710.0","25.0.0-alpha.5":"114.0.5719.0","25.0.0-alpha.6":"114.0.5719.0","25.0.0-beta.1":"114.0.5719.0","25.0.0-beta.2":"114.0.5719.0","25.0.0-beta.3":"114.0.5719.0","25.0.0-beta.4":"114.0.5735.16","25.0.0-beta.5":"114.0.5735.16","25.0.0-beta.6":"114.0.5735.16","25.0.0-beta.7":"114.0.5735.16","25.0.0-beta.8":"114.0.5735.35","25.0.0-beta.9":"114.0.5735.45","25.0.0-nightly.20230210":"111.0.5560.0","25.0.0-nightly.20230214":"111.0.5560.0","25.0.0-nightly.20230215":"111.0.5560.0","25.0.0-nightly.20230216":"111.0.5560.0","25.0.0-nightly.20230217":"111.0.5560.0","25.0.0-nightly.20230220":"111.0.5560.0","25.0.0-nightly.20230221":"111.0.5560.0","25.0.0-nightly.20230222":"111.0.5560.0","25.0.0-nightly.20230223":"111.0.5560.0","25.0.0-nightly.20230224":"111.0.5560.0","25.0.0-nightly.20230227":"111.0.5560.0","25.0.0-nightly.20230228":"111.0.5560.0","25.0.0-nightly.20230301":"111.0.5560.0","25.0.0-nightly.20230302":"111.0.5560.0","25.0.0-nightly.20230303":"111.0.5560.0","25.0.0-nightly.20230306":"111.0.5560.0","25.0.0-nightly.20230307":"111.0.5560.0","25.0.0-nightly.20230308":"111.0.5560.0","25.0.0-nightly.20230309":"111.0.5560.0","25.0.0-nightly.20230310":"111.0.5560.0","25.0.0-nightly.20230314":"113.0.5636.0","25.0.0-nightly.20230315":"113.0.5651.0","25.0.0-nightly.20230317":"113.0.5653.0","25.0.0-nightly.20230320":"113.0.5660.0","25.0.0-nightly.20230321":"113.0.5664.0","25.0.0-nightly.20230322":"113.0.5666.0","25.0.0-nightly.20230323":"113.0.5668.0","25.0.0-nightly.20230324":"113.0.5670.0","25.0.0-nightly.20230327":"113.0.5670.0","25.0.0-nightly.20230328":"113.0.5670.0","25.0.0-nightly.20230329":"113.0.5670.0","25.0.0-nightly.20230330":"113.0.5670.0","25.0.0-nightly.20230331":"114.0.5684.0","25.0.0-nightly.20230403":"114.0.5684.0","25.0.0-nightly.20230404":"114.0.5692.0","25.0.0-nightly.20230405":"114.0.5694.0","25.0.0":"114.0.5735.45","25.0.1":"114.0.5735.45","25.1.0":"114.0.5735.106","25.1.1":"114.0.5735.106","25.2.0":"114.0.5735.134","25.3.0":"114.0.5735.199","25.3.1":"114.0.5735.243","25.3.2":"114.0.5735.248","25.4.0":"114.0.5735.248","25.5.0":"114.0.5735.289","25.6.0":"114.0.5735.289","25.7.0":"114.0.5735.289","25.8.0":"114.0.5735.289","25.8.1":"114.0.5735.289","25.8.2":"114.0.5735.289","25.8.3":"114.0.5735.289","25.8.4":"114.0.5735.289","25.9.0":"114.0.5735.289","25.9.1":"114.0.5735.289","25.9.2":"114.0.5735.289","25.9.3":"114.0.5735.289","25.9.4":"114.0.5735.289","25.9.5":"114.0.5735.289","25.9.6":"114.0.5735.289","25.9.7":"114.0.5735.289","25.9.8":"114.0.5735.289","26.0.0-alpha.1":"116.0.5791.0","26.0.0-alpha.2":"116.0.5791.0","26.0.0-alpha.3":"116.0.5791.0","26.0.0-alpha.4":"116.0.5791.0","26.0.0-alpha.5":"116.0.5791.0","26.0.0-alpha.6":"116.0.5815.0","26.0.0-alpha.7":"116.0.5831.0","26.0.0-alpha.8":"116.0.5845.0","26.0.0-beta.1":"116.0.5845.0","26.0.0-beta.2":"116.0.5845.14","26.0.0-beta.3":"116.0.5845.14","26.0.0-beta.4":"116.0.5845.14","26.0.0-beta.5":"116.0.5845.14","26.0.0-beta.6":"116.0.5845.14","26.0.0-beta.7":"116.0.5845.14","26.0.0-beta.8":"116.0.5845.42","26.0.0-beta.9":"116.0.5845.42","26.0.0-beta.10":"116.0.5845.49","26.0.0-beta.11":"116.0.5845.49","26.0.0-beta.12":"116.0.5845.62","26.0.0-nightly.20230406":"114.0.5694.0","26.0.0-nightly.20230407":"114.0.5694.0","26.0.0-nightly.20230410":"114.0.5694.0","26.0.0-nightly.20230411":"114.0.5694.0","26.0.0-nightly.20230412":"114.0.5708.0","26.0.0-nightly.20230413":"114.0.5710.0","26.0.0-nightly.20230414":"114.0.5710.0","26.0.0-nightly.20230417":"114.0.5710.0","26.0.0-nightly.20230418":"114.0.5715.0","26.0.0-nightly.20230421":"114.0.5719.0","26.0.0-nightly.20230424":"114.0.5719.0","26.0.0-nightly.20230425":"114.0.5719.0","26.0.0-nightly.20230426":"114.0.5719.0","26.0.0-nightly.20230427":"114.0.5719.0","26.0.0-nightly.20230428":"114.0.5719.0","26.0.0-nightly.20230501":"114.0.5719.0","26.0.0-nightly.20230502":"114.0.5719.0","26.0.0-nightly.20230503":"114.0.5719.0","26.0.0-nightly.20230504":"114.0.5719.0","26.0.0-nightly.20230505":"114.0.5719.0","26.0.0-nightly.20230508":"114.0.5719.0","26.0.0-nightly.20230509":"114.0.5719.0","26.0.0-nightly.20230510":"114.0.5719.0","26.0.0-nightly.20230511":"115.0.5760.0","26.0.0-nightly.20230512":"115.0.5760.0","26.0.0-nightly.20230515":"115.0.5760.0","26.0.0-nightly.20230516":"115.0.5760.0","26.0.0-nightly.20230517":"115.0.5760.0","26.0.0-nightly.20230518":"115.0.5760.0","26.0.0-nightly.20230519":"115.0.5760.0","26.0.0-nightly.20230522":"115.0.5760.0","26.0.0-nightly.20230523":"115.0.5760.0","26.0.0-nightly.20230524":"115.0.5786.0","26.0.0-nightly.20230525":"115.0.5790.0","26.0.0-nightly.20230526":"116.0.5791.0","26.0.0-nightly.20230529":"116.0.5791.0","26.0.0-nightly.20230530":"116.0.5791.0","26.0.0-nightly.20230531":"116.0.5791.0","26.0.0":"116.0.5845.82","26.1.0":"116.0.5845.97","26.2.0":"116.0.5845.179","26.2.1":"116.0.5845.188","26.2.2":"116.0.5845.190","26.2.3":"116.0.5845.190","26.2.4":"116.0.5845.190","26.3.0":"116.0.5845.228","26.4.0":"116.0.5845.228","26.4.1":"116.0.5845.228","26.4.2":"116.0.5845.228","26.4.3":"116.0.5845.228","26.5.0":"116.0.5845.228","26.6.0":"116.0.5845.228","26.6.1":"116.0.5845.228","26.6.2":"116.0.5845.228","26.6.3":"116.0.5845.228","26.6.4":"116.0.5845.228","26.6.5":"116.0.5845.228","26.6.6":"116.0.5845.228","26.6.7":"116.0.5845.228","26.6.8":"116.0.5845.228","26.6.9":"116.0.5845.228","27.0.0-alpha.1":"118.0.5949.0","27.0.0-alpha.2":"118.0.5949.0","27.0.0-alpha.3":"118.0.5949.0","27.0.0-alpha.4":"118.0.5949.0","27.0.0-alpha.5":"118.0.5949.0","27.0.0-alpha.6":"118.0.5949.0","27.0.0-beta.1":"118.0.5993.5","27.0.0-beta.2":"118.0.5993.5","27.0.0-beta.3":"118.0.5993.5","27.0.0-beta.4":"118.0.5993.11","27.0.0-beta.5":"118.0.5993.18","27.0.0-beta.6":"118.0.5993.18","27.0.0-beta.7":"118.0.5993.18","27.0.0-beta.8":"118.0.5993.18","27.0.0-beta.9":"118.0.5993.18","27.0.0-nightly.20230601":"116.0.5791.0","27.0.0-nightly.20230602":"116.0.5791.0","27.0.0-nightly.20230605":"116.0.5791.0","27.0.0-nightly.20230606":"116.0.5791.0","27.0.0-nightly.20230607":"116.0.5791.0","27.0.0-nightly.20230609":"116.0.5791.0","27.0.0-nightly.20230612":"116.0.5815.0","27.0.0-nightly.20230613":"116.0.5815.0","27.0.0-nightly.20230614":"116.0.5829.0","27.0.0-nightly.20230615":"116.0.5831.0","27.0.0-nightly.20230616":"116.0.5833.0","27.0.0-nightly.20230619":"116.0.5833.0","27.0.0-nightly.20230620":"116.0.5833.0","27.0.0-nightly.20230621":"116.0.5833.0","27.0.0-nightly.20230622":"116.0.5845.0","27.0.0-nightly.20230623":"116.0.5845.0","27.0.0-nightly.20230626":"116.0.5845.0","27.0.0-nightly.20230627":"116.0.5845.0","27.0.0-nightly.20230628":"116.0.5845.0","27.0.0-nightly.20230629":"116.0.5845.0","27.0.0-nightly.20230630":"116.0.5845.0","27.0.0-nightly.20230703":"117.0.5852.0","27.0.0-nightly.20230704":"117.0.5852.0","27.0.0-nightly.20230705":"117.0.5852.0","27.0.0-nightly.20230706":"117.0.5852.0","27.0.0-nightly.20230707":"117.0.5852.0","27.0.0-nightly.20230710":"117.0.5852.0","27.0.0-nightly.20230711":"117.0.5852.0","27.0.0-nightly.20230712":"117.0.5852.0","27.0.0-nightly.20230713":"117.0.5852.0","27.0.0-nightly.20230714":"117.0.5852.0","27.0.0-nightly.20230717":"117.0.5884.1","27.0.0-nightly.20230718":"117.0.5884.1","27.0.0-nightly.20230719":"117.0.5892.0","27.0.0-nightly.20230720":"117.0.5897.0","27.0.0-nightly.20230721":"117.0.5897.0","27.0.0-nightly.20230724":"117.0.5897.0","27.0.0-nightly.20230725":"117.0.5897.0","27.0.0-nightly.20230726":"117.0.5897.0","27.0.0-nightly.20230727":"117.0.5897.0","27.0.0-nightly.20230728":"117.0.5897.0","27.0.0-nightly.20230731":"117.0.5897.0","27.0.0-nightly.20230801":"117.0.5911.0","27.0.0-nightly.20230802":"117.0.5911.0","27.0.0-nightly.20230803":"117.0.5911.0","27.0.0-nightly.20230804":"117.0.5921.0","27.0.0-nightly.20230807":"117.0.5921.0","27.0.0-nightly.20230808":"117.0.5921.0","27.0.0-nightly.20230814":"117.0.5921.0","27.0.0-nightly.20230815":"117.0.5921.0","27.0.0-nightly.20230816":"118.0.5949.0","27.0.0":"118.0.5993.54","27.0.1":"118.0.5993.89","27.0.2":"118.0.5993.89","27.0.3":"118.0.5993.120","27.0.4":"118.0.5993.129","27.1.0":"118.0.5993.144","27.1.2":"118.0.5993.144","27.1.3":"118.0.5993.159","27.2.0":"118.0.5993.159","27.2.1":"118.0.5993.159","27.2.2":"118.0.5993.159","27.2.3":"118.0.5993.159","27.2.4":"118.0.5993.159","27.3.0":"118.0.5993.159","27.3.1":"118.0.5993.159","27.3.2":"118.0.5993.159","28.0.0-alpha.1":"119.0.6045.0","28.0.0-alpha.2":"119.0.6045.0","28.0.0-alpha.3":"119.0.6045.21","28.0.0-alpha.4":"119.0.6045.21","28.0.0-alpha.5":"119.0.6045.33","28.0.0-alpha.6":"119.0.6045.33","28.0.0-alpha.7":"119.0.6045.33","28.0.0-beta.1":"119.0.6045.33","28.0.0-beta.2":"120.0.6099.0","28.0.0-beta.3":"120.0.6099.5","28.0.0-beta.4":"120.0.6099.5","28.0.0-beta.5":"120.0.6099.18","28.0.0-beta.6":"120.0.6099.18","28.0.0-beta.7":"120.0.6099.18","28.0.0-beta.8":"120.0.6099.18","28.0.0-beta.9":"120.0.6099.18","28.0.0-beta.10":"120.0.6099.18","28.0.0-beta.11":"120.0.6099.35","28.0.0-nightly.20230817":"118.0.5949.0","28.0.0-nightly.20230818":"118.0.5949.0","28.0.0-nightly.20230821":"118.0.5949.0","28.0.0-nightly.20230822":"118.0.5949.0","28.0.0-nightly.20230823":"118.0.5949.0","28.0.0-nightly.20230824":"118.0.5949.0","28.0.0-nightly.20230825":"118.0.5949.0","28.0.0-nightly.20230828":"118.0.5949.0","28.0.0-nightly.20230829":"118.0.5949.0","28.0.0-nightly.20230830":"118.0.5949.0","28.0.0-nightly.20230831":"118.0.5949.0","28.0.0-nightly.20230906":"118.0.5991.0","28.0.0-nightly.20230907":"118.0.5993.0","28.0.0-nightly.20230908":"118.0.5993.0","28.0.0-nightly.20230911":"118.0.5993.0","28.0.0-nightly.20230912":"118.0.5993.0","28.0.0-nightly.20230913":"118.0.5993.0","28.0.0-nightly.20230914":"118.0.5993.0","28.0.0-nightly.20230915":"118.0.5993.0","28.0.0-nightly.20230919":"119.0.6006.0","28.0.0-nightly.20230920":"119.0.6017.0","28.0.0-nightly.20230921":"119.0.6019.2","28.0.0-nightly.20230925":"119.0.6019.2","28.0.0-nightly.20230926":"119.0.6019.2","28.0.0-nightly.20230927":"119.0.6019.2","28.0.0-nightly.20230928":"119.0.6019.2","28.0.0-nightly.20230929":"119.0.6029.0","28.0.0-nightly.20231002":"119.0.6029.0","28.0.0-nightly.20231003":"119.0.6043.0","28.0.0-nightly.20231004":"119.0.6043.0","28.0.0-nightly.20231005":"119.0.6043.0","28.0.0-nightly.20231006":"119.0.6045.0","28.0.0-nightly.20231009":"119.0.6045.0","28.0.0-nightly.20231010":"119.0.6045.0","28.0.0-nightly.20231011":"119.0.6045.0","28.0.0":"120.0.6099.56","28.1.0":"120.0.6099.109","28.1.1":"120.0.6099.109","28.1.2":"120.0.6099.199","28.1.3":"120.0.6099.199","28.1.4":"120.0.6099.216","28.2.0":"120.0.6099.227","28.2.1":"120.0.6099.268","28.2.2":"120.0.6099.276","28.2.3":"120.0.6099.283","29.0.0-alpha.1":"121.0.6147.0","29.0.0-alpha.2":"121.0.6147.0","29.0.0-alpha.3":"121.0.6147.0","29.0.0-alpha.4":"121.0.6159.0","29.0.0-alpha.5":"121.0.6159.0","29.0.0-alpha.6":"121.0.6159.0","29.0.0-alpha.7":"121.0.6159.0","29.0.0-alpha.8":"122.0.6194.0","29.0.0-alpha.9":"122.0.6236.2","29.0.0-alpha.10":"122.0.6236.2","29.0.0-alpha.11":"122.0.6236.2","29.0.0-beta.1":"122.0.6236.2","29.0.0-beta.2":"122.0.6236.2","29.0.0-beta.3":"122.0.6261.6","29.0.0-beta.4":"122.0.6261.6","29.0.0-beta.5":"122.0.6261.18","29.0.0-beta.6":"122.0.6261.18","29.0.0-beta.7":"122.0.6261.18","29.0.0-beta.8":"122.0.6261.18","29.0.0-beta.9":"122.0.6261.18","29.0.0-beta.10":"122.0.6261.18","29.0.0-beta.11":"122.0.6261.18","29.0.0-nightly.20231012":"119.0.6045.0","29.0.0-nightly.20231013":"119.0.6045.0","29.0.0-nightly.20231016":"119.0.6045.0","29.0.0-nightly.20231017":"119.0.6045.0","29.0.0-nightly.20231018":"119.0.6045.0","29.0.0-nightly.20231019":"119.0.6045.0","29.0.0-nightly.20231020":"119.0.6045.0","29.0.0-nightly.20231023":"119.0.6045.0","29.0.0-nightly.20231024":"119.0.6045.0","29.0.0-nightly.20231025":"120.0.6078.0","29.0.0-nightly.20231026":"120.0.6078.0","29.0.0-nightly.20231027":"120.0.6078.0","29.0.0-nightly.20231030":"120.0.6078.0","29.0.0-nightly.20231031":"120.0.6078.0","29.0.0-nightly.20231101":"120.0.6078.0","29.0.0-nightly.20231102":"121.0.6100.0","29.0.0-nightly.20231103":"121.0.6100.0","29.0.0-nightly.20231106":"121.0.6104.0","29.0.0-nightly.20231107":"121.0.6110.0","29.0.0-nightly.20231108":"121.0.6110.0","29.0.0-nightly.20231109":"121.0.6110.0","29.0.0-nightly.20231110":"121.0.6110.0","29.0.0-nightly.20231113":"121.0.6110.0","29.0.0-nightly.20231114":"121.0.6110.0","29.0.0-nightly.20231115":"121.0.6116.0","29.0.0-nightly.20231116":"121.0.6116.0","29.0.0-nightly.20231117":"121.0.6116.0","29.0.0-nightly.20231120":"121.0.6116.0","29.0.0-nightly.20231121":"121.0.6116.0","29.0.0-nightly.20231122":"121.0.6116.0","29.0.0-nightly.20231123":"121.0.6116.0","29.0.0-nightly.20231124":"121.0.6116.0","29.0.0-nightly.20231127":"121.0.6116.0","29.0.0-nightly.20231128":"121.0.6116.0","29.0.0-nightly.20231129":"121.0.6147.0","29.0.0-nightly.20231130":"121.0.6147.0","29.0.0-nightly.20231201":"121.0.6147.0","29.0.0-nightly.20231204":"121.0.6147.0","29.0.0-nightly.20231205":"121.0.6147.0","29.0.0-nightly.20231206":"121.0.6147.0","30.0.0-nightly.20231207":"121.0.6147.0","30.0.0-nightly.20231208":"121.0.6147.0","30.0.0-nightly.20231211":"121.0.6147.0","30.0.0-nightly.20231212":"121.0.6159.0","30.0.0-nightly.20231213":"121.0.6159.0","30.0.0-nightly.20231214":"121.0.6159.0","30.0.0-nightly.20231215":"121.0.6159.0","30.0.0-nightly.20231218":"121.0.6159.0","30.0.0-nightly.20240102":"121.0.6159.0","30.0.0-nightly.20240103":"122.0.6194.0","30.0.0-nightly.20240104":"122.0.6194.0","30.0.0-nightly.20240105":"122.0.6194.0","30.0.0-nightly.20240108":"122.0.6194.0","30.0.0-nightly.20240109":"122.0.6194.0","30.0.0-nightly.20240110":"122.0.6194.0","30.0.0-nightly.20240111":"122.0.6236.2","30.0.0-nightly.20240112":"122.0.6236.2","30.0.0-nightly.20240115":"122.0.6236.2","30.0.0-nightly.20240116":"122.0.6236.2","30.0.0-nightly.20240117":"122.0.6236.2","30.0.0-nightly.20240118":"122.0.6236.2","30.0.0-nightly.20240119":"122.0.6236.2","30.0.0-nightly.20240122":"122.0.6236.2","30.0.0-nightly.20240123":"122.0.6236.2","30.0.0-nightly.20240124":"122.0.6236.2","30.0.0-nightly.20240125":"122.0.6236.2","30.0.0-nightly.20240126":"123.0.6264.0","30.0.0-nightly.20240129":"123.0.6264.0","30.0.0-nightly.20240130":"123.0.6264.0","30.0.0-nightly.20240131":"123.0.6264.0","30.0.0-nightly.20240201":"123.0.6272.0","30.0.0-nightly.20240202":"123.0.6272.0","30.0.0-nightly.20240205":"123.0.6272.0","30.0.0-nightly.20240206":"123.0.6272.0","30.0.0-nightly.20240207":"123.0.6272.0","30.0.0-nightly.20240208":"123.0.6272.0","30.0.0-nightly.20240209":"123.0.6272.0","30.0.0-nightly.20240212":"123.0.6272.0","30.0.0-nightly.20240213":"123.0.6272.0","30.0.0-nightly.20240214":"123.0.6272.0"} \ No newline at end of file diff --git a/.pnpm-store/v3/files/82/1dafa59804115a0e3a5a13c70962b38f7bcab696fdee72b93c5326c978a4fbcc021c671924c2bc1dbdb22ca9c41972918e69da6a76cfe89a22eb2501afb912 b/.pnpm-store/v3/files/82/1dafa59804115a0e3a5a13c70962b38f7bcab696fdee72b93c5326c978a4fbcc021c671924c2bc1dbdb22ca9c41972918e69da6a76cfe89a22eb2501afb912 new file mode 100644 index 00000000..3f6b2771 --- /dev/null +++ b/.pnpm-store/v3/files/82/1dafa59804115a0e3a5a13c70962b38f7bcab696fdee72b93c5326c978a4fbcc021c671924c2bc1dbdb22ca9c41972918e69da6a76cfe89a22eb2501afb912 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","16":"SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","16":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L G M N O AB q r s t BB CB"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"9 I XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","16":"F iC","132":"B C jC kC lC 2B QC mC 3B"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC oC pC"},H:{"1":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"u","132":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"257":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"readonly attribute of input and textarea elements",D:true}; diff --git a/.pnpm-store/v3/files/82/1ff55b5ec58e27067eeeac3b41483517768aae1743b0a2765cabf2818b92bb98d0dac26d77310948d90d55a55860d1c54c54431380cb8ce4f5b8a7b5b786cb b/.pnpm-store/v3/files/82/1ff55b5ec58e27067eeeac3b41483517768aae1743b0a2765cabf2818b92bb98d0dac26d77310948d90d55a55860d1c54c54431380cb8ce4f5b8a7b5b786cb new file mode 100644 index 00000000..5f9690e4 --- /dev/null +++ b/.pnpm-store/v3/files/82/1ff55b5ec58e27067eeeac3b41483517768aae1743b0a2765cabf2818b92bb98d0dac26d77310948d90d55a55860d1c54c54431380cb8ce4f5b8a7b5b786cb @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"CSS3 attr() function for all properties",D:true}; diff --git a/.pnpm-store/v3/files/82/3770d7d757141ce5261ff0da55f1dc33af08dd4a6f628fbc7dc2261d30be1ea583049ce34fafd98a233cf4257380ef29b37977dabd3422fb347185b9a2e8f3 b/.pnpm-store/v3/files/82/3770d7d757141ce5261ff0da55f1dc33af08dd4a6f628fbc7dc2261d30be1ea583049ce34fafd98a233cf4257380ef29b37977dabd3422fb347185b9a2e8f3 new file mode 100644 index 00000000..71458b2e --- /dev/null +++ b/.pnpm-store/v3/files/82/3770d7d757141ce5261ff0da55f1dc33af08dd4a6f628fbc7dc2261d30be1ea583049ce34fafd98a233cf4257380ef29b37977dabd3422fb347185b9a2e8f3 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","292":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","164":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB iC jC kC lC 2B QC mC 3B"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","164":"TD"}},B:5,C:":placeholder-shown CSS pseudo-class",D:true}; diff --git a/.pnpm-store/v3/files/82/4d009d93dccb095763a060d0d1e3dfd47c1b2a615605d24652a3c96cb21849908e00eb8607e7e440703d2137d0bfd6c991cf87f3e78bb600d8519e0b488051 b/.pnpm-store/v3/files/82/4d009d93dccb095763a060d0d1e3dfd47c1b2a615605d24652a3c96cb21849908e00eb8607e7e440703d2137d0bfd6c991cf87f3e78bb600d8519e0b488051 new file mode 100644 index 00000000..3fd2d9e7 --- /dev/null +++ b/.pnpm-store/v3/files/82/4d009d93dccb095763a060d0d1e3dfd47c1b2a615605d24652a3c96cb21849908e00eb8607e7e440703d2137d0bfd6c991cf87f3e78bb600d8519e0b488051 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB","132":"uB vB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:6,C:"Signed HTTP Exchanges (SXG)",D:true}; diff --git a/.pnpm-store/v3/files/83/0f35764350a652ecbd66f30137d33cce21278a0718ab902f6f9e7b9c8b3db025c1e9e0f3240b6f5e7150f2869ae5b4ff5b29b61488cb0ff384fa465c9f0545 b/.pnpm-store/v3/files/83/0f35764350a652ecbd66f30137d33cce21278a0718ab902f6f9e7b9c8b3db025c1e9e0f3240b6f5e7150f2869ae5b4ff5b29b61488cb0ff384fa465c9f0545 new file mode 100644 index 00000000..5ce4866c --- /dev/null +++ b/.pnpm-store/v3/files/83/0f35764350a652ecbd66f30137d33cce21278a0718ab902f6f9e7b9c8b3db025c1e9e0f3240b6f5e7150f2869ae5b4ff5b29b61488cb0ff384fa465c9f0545 @@ -0,0 +1,11 @@ +module.exports = { + CHAR_UPPERCASE_A: 0x41, + CHAR_LOWERCASE_A: 0x61, + CHAR_UPPERCASE_Z: 0x5a, + CHAR_LOWERCASE_Z: 0x7a, + CHAR_DOT: 0x2e, + CHAR_FORWARD_SLASH: 0x2f, + CHAR_BACKWARD_SLASH: 0x5c, + CHAR_COLON: 0x3a, + CHAR_QUESTION_MARK: 0x3f +} diff --git a/.pnpm-store/v3/files/83/5ab21796611c9ce43f5fa3b11ea639c1564593a389f432084d23898b24c8edfadb642dbaad21464a50d27adac8a14cd5df961ee2a968f6419b686a5fc07280 b/.pnpm-store/v3/files/83/5ab21796611c9ce43f5fa3b11ea639c1564593a389f432084d23898b24c8edfadb642dbaad21464a50d27adac8a14cd5df961ee2a968f6419b686a5fc07280 new file mode 100644 index 00000000..37098332 --- /dev/null +++ b/.pnpm-store/v3/files/83/5ab21796611c9ce43f5fa3b11ea639c1564593a389f432084d23898b24c8edfadb642dbaad21464a50d27adac8a14cd5df961ee2a968f6419b686a5fc07280 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB iC jC kC lC 2B QC mC 3B"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"ES6 Generators",D:true}; diff --git a/.pnpm-store/v3/files/83/8ce79fcde1801de38dacb0cd175cb7c3149b54bd925be4019094ee662b6c10e6a073c8f46498d0aeb5962d81c4c8df6f88d6e4c54464bad6e59bd774b563bc b/.pnpm-store/v3/files/83/8ce79fcde1801de38dacb0cd175cb7c3149b54bd925be4019094ee662b6c10e6a073c8f46498d0aeb5962d81c4c8df6f88d6e4c54464bad6e59bd774b563bc new file mode 100644 index 00000000..4ba669c4 --- /dev/null +++ b/.pnpm-store/v3/files/83/8ce79fcde1801de38dacb0cd175cb7c3149b54bd925be4019094ee662b6c10e6a073c8f46498d0aeb5962d81c4c8df6f88d6e4c54464bad6e59bd774b563bc @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"SC","8":"J","132":"D E"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","2":"TC 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","2":"F"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS3 selectors",D:true}; diff --git a/.pnpm-store/v3/files/84/2145e3d74f5444f548d8b5141e27e2c5a8c0cdc5109092d29714e6a21e0df546652582c6dc8f29d274d5e86e0bba3b584fa1dd31cc2ee290da5f8ccf6e5e2c b/.pnpm-store/v3/files/84/2145e3d74f5444f548d8b5141e27e2c5a8c0cdc5109092d29714e6a21e0df546652582c6dc8f29d274d5e86e0bba3b584fa1dd31cc2ee290da5f8ccf6e5e2c new file mode 100644 index 00000000..2706f7db --- /dev/null +++ b/.pnpm-store/v3/files/84/2145e3d74f5444f548d8b5141e27e2c5a8c0cdc5109092d29714e6a21e0df546652582c6dc8f29d274d5e86e0bba3b584fa1dd31cc2ee290da5f8ccf6e5e2c @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 n o p v w x y z H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m"},C:{"1":"0 1 2 3 4 5 6 7 8 mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m"},E:{"1":"LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC"},F:{"1":"a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z iC jC kC lC 2B QC mC 3B"},G:{"1":"LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"q r s t","2":"I GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"1":"UD","2":"TD"}},B:4,C:"Media Queries: Range Syntax",D:true}; diff --git a/.pnpm-store/v3/files/84/3d2b38f7d858e329562ad3002b78fe72bc982e792dad762b97d8d628fc1c075f41a903eb633e1f8a38b697cacd518b8110d3ba4def8c0e06a865d709e15b6a-index.json b/.pnpm-store/v3/files/84/3d2b38f7d858e329562ad3002b78fe72bc982e792dad762b97d8d628fc1c075f41a903eb633e1f8a38b697cacd518b8110d3ba4def8c0e06a865d709e15b6a-index.json new file mode 100644 index 00000000..40f8150d --- /dev/null +++ b/.pnpm-store/v3/files/84/3d2b38f7d858e329562ad3002b78fe72bc982e792dad762b97d8d628fc1c075f41a903eb633e1f8a38b697cacd518b8110d3ba4def8c0e06a865d709e15b6a-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001725490,"integrity":"sha512-3Gto0TuM+VlkS5NfEZKwLHGqelz2U71DtEgPqJ7sjU0/FqInjsjDtAqx/bIzsxc6eP2DWQ1vc54Mno/1bCglVw==","mode":420,"size":11357},"prebuilds/darwin-arm64/bare-os.bare":{"checkedAt":1708001725490,"integrity":"sha512-TNpVEgkpkmfUPSn0xuRPCbzIOg1qDc6yGxjuVjkyf+88POne3/YX06rARA9D/YD/WFVF+i5KbTuRJhLByjZynQ==","mode":420,"size":53352},"prebuilds/darwin-x64/bare-os.bare":{"checkedAt":1708001725491,"integrity":"sha512-3d0imSjrTRRvGQKvLKqPDLqEFKEuyqKJm9yfiGpakUmjRioMOb4BxdGhBpOaqHtKyA8FIe5JsKngBQ0//fBQdw==","mode":420,"size":52824},"prebuilds/linux-arm64/bare-os.bare":{"checkedAt":1708001725491,"integrity":"sha512-FCARlfJfLA0ec3xh6l94X9lzLGKAxEezVjHEFpA40yd6Pl4QIVzTKwJi47alrGxZyAbSwem9EdCFiW+OGvGCXg==","mode":493,"size":27488},"prebuilds/linux-x64/bare-os.bare":{"checkedAt":1708001725491,"integrity":"sha512-k4lrJrIKjP4T252OTFMjN9+isi8M2c35NDD9ZPjTDvA4Q5J21VSPX8GuJrQb35IYsBNFo0JkMxLqLrh5WqtzcA==","mode":420,"size":26600},"prebuilds/win32-x64/bare-os.bare":{"checkedAt":1708001725491,"integrity":"sha512-AZM6fmWxYDrRUt7af1vUB81DDOK81Mn6AKo5OAQxNuTbguIy6ZT2hMD9jFAgc1cxNPIusRnnDzc65WhkVuiuNg==","mode":420,"size":27136},"binding.c":{"checkedAt":1708001725492,"integrity":"sha512-Izxd1iKqmKHQAiO2s3RUXAYCPVGZBxaSSpFnY1MEZx7ljNNoh0gz/oxFDR0NnF0t8TTQAby0xUpwWup5XHJAtg==","mode":420,"size":14197},"binding.js":{"checkedAt":1708001725479,"integrity":"sha512-eDsbrx6gwZ5uQeQ3q/Z/vSMCG/mqL5rOVpp9QSbIChbMWx3LHHBXlfLjvxZl8ZTDSFwLeu585Xg6POSjeb6yYQ==","mode":420,"size":33},"lib/constants.js":{"checkedAt":1708001725492,"integrity":"sha512-UaxS6SvuV9RvrjFQ3VgPl/7ClLIU3KA2QklmP1BMYo8Mnkxjg1F0VHVBR9+cUgI8TLdL0iQCa1cbCGxzzDtvxw==","mode":420,"size":113},"lib/errors.js":{"checkedAt":1708001725492,"integrity":"sha512-N82HW/wSFSU+hOJHssFooov0pbkxy06w7yMT9IcRfdSqnkrCzHascXc193vEDakqkM1TUIKuqSKwoEoezvJreA==","mode":420,"size":483},"index.js":{"checkedAt":1708001725492,"integrity":"sha512-99/jOh3fBxXsKbD6gqHzJdhwvqH9oDSnVJYKxMYPO0766VMMzbuwkDD1dOyX4OcLdiaqwJ2f596NBup2YB2ERg==","mode":420,"size":1462},"package.json":{"checkedAt":1708001725492,"integrity":"sha512-Dd/BXcB7ZW/9yjKMdbwLC7ZC3QnrbxKt5QHWXUFuokf8P4c0zsTC9dWjlhSTBQrfsjHGEoblGD95y/lwZVLMWw==","mode":420,"size":696},"README.md":{"checkedAt":1708001725493,"integrity":"sha512-EYRDdnJEmL90IkTiA/I9vtITqTakz300DZBJ/KwDMxHRlWd5OVomNpU/htQlahFh+1vKWN38CNrMiIpKCd4iNA==","mode":420,"size":101},"CMakeLists.txt":{"checkedAt":1708001725493,"integrity":"sha512-pwTwMV23M7R6cPgTmYuyNyX4P6V9nqcTm4dfqCgeugJTRYHIcGYbsN3oVlYbaCKc7t4vfN+jvkW8+Skd090w3Q==","mode":420,"size":154}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/84/866a2f4cb0236ab289de22e680ef853ac0c784b22a2307649dad9c7d495b90c98934be5ece64820576c785ef0feaed100112004cc17bbb57f8b6e834157732 b/.pnpm-store/v3/files/84/866a2f4cb0236ab289de22e680ef853ac0c784b22a2307649dad9c7d495b90c98934be5ece64820576c785ef0feaed100112004cc17bbb57f8b6e834157732 new file mode 100644 index 00000000..4e0a5cc0 --- /dev/null +++ b/.pnpm-store/v3/files/84/866a2f4cb0236ab289de22e680ef853ac0c784b22a2307649dad9c7d495b90c98934be5ece64820576c785ef0feaed100112004cc17bbb57f8b6e834157732 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","194":"aB","257":"bB"},E:{"1":"K L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC","513":"B C 2B 3B"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB iC jC kC lC 2B QC mC 3B","194":"NB OB"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Brotli Accept-Encoding/Content-Encoding",D:true}; diff --git a/.pnpm-store/v3/files/84/8abc8a4d1d2ec3705490ca020ea279e64f460fd507285829ab751934b932b59819d9435413b6913865806a9268120fb94961f74e67e67701eb179e802fb9b5 b/.pnpm-store/v3/files/84/8abc8a4d1d2ec3705490ca020ea279e64f460fd507285829ab751934b932b59819d9435413b6913865806a9268120fb94961f74e67e67701eb179e802fb9b5 new file mode 100644 index 00000000..aa5a7341 --- /dev/null +++ b/.pnpm-store/v3/files/84/8abc8a4d1d2ec3705490ca020ea279e64f460fd507285829ab751934b932b59819d9435413b6913865806a9268120fb94961f74e67e67701eb179e802fb9b5 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","132":"9 I","292":"J D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","132":"9 I J D E F A B C K L","260":"G"},E:{"1":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","132":"9 YC","260":"J ZC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F iC jC kC lC","132":"B C 2B QC mC"},G:{"1":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC","132":"RC oC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","129":"D"},K:{"1":"u 3B","2":"A","132":"B C 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Web Sockets",D:true}; diff --git a/.pnpm-store/v3/files/84/94dca59404dc23a2cac22305019ad710df85bee32fe7f56cb134773a93087952b65a0b09e07dec72d6a7c869de75a76e271600f9410b85d93462458684d0a6 b/.pnpm-store/v3/files/84/94dca59404dc23a2cac22305019ad710df85bee32fe7f56cb134773a93087952b65a0b09e07dec72d6a7c869de75a76e271600f9410b85d93462458684d0a6 new file mode 100644 index 00000000..57bb8bde --- /dev/null +++ b/.pnpm-store/v3/files/84/94dca59404dc23a2cac22305019ad710df85bee32fe7f56cb134773a93087952b65a0b09e07dec72d6a7c869de75a76e271600f9410b85d93462458684d0a6 @@ -0,0 +1 @@ +module.exports={C:{"122":0.149,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 123 124 125 3.5 3.6"},D:{"86":0.01208,"114":0.01208,"120":0.1047,"121":0.53962,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 115 116 117 118 119 122 123 124"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"121":0.03624,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 17.4","15.1":0.41075,"15.2-15.3":0.33021,"15.4":0.17316,"15.5":0.45908,"15.6":1.67121,"16.0":0.0443,"16.1":0.50338,"16.2":0.57183,"16.3":1.31683,"16.4":0.26176,"16.5":0.82554,"16.6":4.32903,"17.0":0.99467,"17.1":6.81368,"17.2":18.21009,"17.3":0.92621},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.5":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0,"14.5-14.8":0,"15.0-15.1":0.19677,"15.2-15.3":2.29175,"15.4":0.05787,"15.5":0.06945,"15.6-15.8":0.82758,"16.0":1.33685,"16.1":2.80681,"16.2":0.79864,"16.3":3.46656,"16.4":1.92136,"16.5":0.57294,"16.6-16.7":10.75848,"17.0":1.77668,"17.1":14.01091,"17.2":16.21006,"17.3":0.7697},P:{"23":0.01195,_:"4 20 21 22 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.07168},H:{"0":0},L:{"0":1.86936},R:{_:"0"},M:{"0":0.05973}}; diff --git a/.pnpm-store/v3/files/85/100ad9f0931977486e3b4012e835b056defe9ac7ec76736b636d16a29beeb027abc5c6b04288f9b92741d517abd1cded3652a74b826e9a06a4a2467f35d7db b/.pnpm-store/v3/files/85/100ad9f0931977486e3b4012e835b056defe9ac7ec76736b636d16a29beeb027abc5c6b04288f9b92741d517abd1cded3652a74b826e9a06a4a2467f35d7db new file mode 100644 index 00000000..2e9f4ecb --- /dev/null +++ b/.pnpm-store/v3/files/85/100ad9f0931977486e3b4012e835b056defe9ac7ec76736b636d16a29beeb027abc5c6b04288f9b92741d517abd1cded3652a74b826e9a06a4a2467f35d7db @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","16":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L","132":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"9 I XC DC","132":"J D E F A YC ZC aC bC"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","16":"F B iC jC kC lC 2B QC","132":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB","260":"C mC 3B"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC oC pC","132":"E qC rC sC tC uC"},H:{"260":"9C"},I:{"1":"H","16":"7B AD BD CD","132":"I DD RC ED FD"},J:{"16":"D","132":"A"},K:{"1":"u","16":"A B C 2B QC","260":"3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","132":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:":default CSS pseudo-class",D:true}; diff --git a/.pnpm-store/v3/files/85/19cab9fd7910ca6bc30b33e2a0a0e4c8bc78a520249bd652f4b0b5e97b02777f2b53cf0e6eea384c8d7a7505f41db3d2e7f733207de9b6ea5f43ff6a5cdc84 b/.pnpm-store/v3/files/85/19cab9fd7910ca6bc30b33e2a0a0e4c8bc78a520249bd652f4b0b5e97b02777f2b53cf0e6eea384c8d7a7505f41db3d2e7f733207de9b6ea5f43ff6a5cdc84 new file mode 100644 index 00000000..4f72989d --- /dev/null +++ b/.pnpm-store/v3/files/85/19cab9fd7910ca6bc30b33e2a0a0e4c8bc78a520249bd652f4b0b5e97b02777f2b53cf0e6eea384c8d7a7505f41db3d2e7f733207de9b6ea5f43ff6a5cdc84 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB iC jC kC lC 2B QC mC 3B"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:1,C:"Minimum length attribute for input fields",D:true}; diff --git a/.pnpm-store/v3/files/85/3b49cff3bacbaf51fc6075272e6620a460063e84337cfc9dd9f2ce2e4e0c037f3a4c2a0f078113000c709d9dd6ee8effd420624c7c5baaffd241a7c87e50de b/.pnpm-store/v3/files/85/3b49cff3bacbaf51fc6075272e6620a460063e84337cfc9dd9f2ce2e4e0c037f3a4c2a0f078113000c709d9dd6ee8effd420624c7c5baaffd241a7c87e50de new file mode 100644 index 00000000..99d0b5fd --- /dev/null +++ b/.pnpm-store/v3/files/85/3b49cff3bacbaf51fc6075272e6620a460063e84337cfc9dd9f2ce2e4e0c037f3a4c2a0f078113000c709d9dd6ee8effd420624c7c5baaffd241a7c87e50de @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","2":"D"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Download attribute",D:true}; diff --git a/.pnpm-store/v3/files/85/640ff3af371796aa0eb2141306766285f3c7455369e8680a348b5a6a9cd70ef8e8227b788d1dd45b328bf7096174598d2c0457bfbe46898d81de12cea0d6c5 b/.pnpm-store/v3/files/85/640ff3af371796aa0eb2141306766285f3c7455369e8680a348b5a6a9cd70ef8e8227b788d1dd45b328bf7096174598d2c0457bfbe46898d81de12cea0d6c5 new file mode 100644 index 00000000..fc85f92d --- /dev/null +++ b/.pnpm-store/v3/files/85/640ff3af371796aa0eb2141306766285f3c7455369e8680a348b5a6a9cd70ef8e8227b788d1dd45b328bf7096174598d2c0457bfbe46898d81de12cea0d6c5 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"K L G M N O","132":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","322":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r VC WC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB","132":"0 1 2 3 4 5 6 7 8 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","132":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","132":"H"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","132":"u"},L:{"132":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"132":"4B"},P:{"2":"I","132":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"132":"FC"},R:{"132":"SD"},S:{"1":"TD UD"}},B:6,C:"asm.js",D:true}; diff --git a/.pnpm-store/v3/files/85/c8a360e5a33ad8caaca3ed340eadb8b940fdb4cb3b785e146f29400ea62e9abb751c9d49689c5e8bdae65cb10f3a7589525a6212bb276390946139d8a627ec-index.json b/.pnpm-store/v3/files/85/c8a360e5a33ad8caaca3ed340eadb8b940fdb4cb3b785e146f29400ea62e9abb751c9d49689c5e8bdae65cb10f3a7589525a6212bb276390946139d8a627ec-index.json new file mode 100644 index 00000000..5d4d5edf --- /dev/null +++ b/.pnpm-store/v3/files/85/c8a360e5a33ad8caaca3ed340eadb8b940fdb4cb3b785e146f29400ea62e9abb751c9d49689c5e8bdae65cb10f3a7589525a6212bb276390946139d8a627ec-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001724938,"integrity":"sha512-bQxy4xOHhcBKtGqn/MGP6sxD+QIzWGej3T/A8NXn1i5xuYFLmNkCNJfebeE3Ox42BU7uKR+NhkERay6YZFE1/g==","mode":420,"size":728},"chromium-versions.js":{"checkedAt":1708001724938,"integrity":"sha512-DdxLIH5JhqZYUPxKYeJ0zxWKYUMUcjCqIOpy0kjPl0zAUBg/xAtumc0bYHtmnzJWyDmvuxZRqHBF8IcFCq8ssQ==","mode":420,"size":919},"full-chromium-versions.js":{"checkedAt":1708001724939,"integrity":"sha512-oj0yeLd6bbFTFl8VBJqOOtPEXerAll6k5Nj4ywhQGmy/rT77PT9pU+g/nun1RX4eXGcoI0BSdxc94RQDtrDOvA==","mode":420,"size":56274},"full-versions.js":{"checkedAt":1708001724939,"integrity":"sha512-ZCrdKNiQfLxOSjhmfTHanppU3bAD1cfq8bAc8iA9ohVfviyx16Uy8C+IV8g92JTnhuzfClfgyVpVR3D2r6Mvlg==","mode":420,"size":81053},"index.js":{"checkedAt":1708001724939,"integrity":"sha512-ovbfk0+3PexBh69SQfeCLAuOSrRECp+jN3icVfVtnTipDEh7zD5OlwSCIibCX9aYnTUsFkDaara28w/3hoaakw==","mode":420,"size":1204},"versions.js":{"checkedAt":1708001724939,"integrity":"sha512-1aflH/bx1jvMcmktINW0jvTgUABbLaKXnD37gJYzjPdBEzOBKhR2aM9920eesXPqpOccaI7VQrNsmqv4KyFgfw==","mode":420,"size":2248},"chromium-versions.json":{"checkedAt":1708001724940,"integrity":"sha512-B3hMlVvnimdFVth6vEkrhqXaRMhIsameiF1+ER4dHyT4GChUCImZHTDK9iqaNit5NVOK8uDdtS51AHwgqcbz2w==","mode":420,"size":720},"full-chromium-versions.json":{"checkedAt":1708001724940,"integrity":"sha512-XLFv3kezlu+GIoSVbi6mQ4liAilmZnIdzxGdO4w8BSuDVGxRlPFEMGZ8CkcDjMdAWCHRYKlsfI4c+UsOw1BIAA==","mode":420,"size":47401},"full-versions.json":{"checkedAt":1708001724940,"integrity":"sha512-geyEvc3wt0J+60fLpyqy07I3zN5tPesMDflqJns3xmtGv9usmqtVx4Tr4t+clmellxhefn/O/4Hf7K2SyCWxSg==","mode":420,"size":74275},"package.json":{"checkedAt":1708001724940,"integrity":"sha512-jew8j9W/nnjz2O/lepyqCEsNd2ue1BNXrWrVHN4PXeNfk6DqHYfX9rJzfhlvYKT3LjZwd3WdBp6M33U2W7Cx9w==","mode":420,"size":1054},"versions.json":{"checkedAt":1708001724941,"integrity":"sha512-1RP7+U9kTbP0OL6El9pyFetof0Y+sTAvs/PcL6FgBL2uh3OiL/zLyKJe+47e3xK9n/KfJozAiNvTg+BmilzZlA==","mode":420,"size":1788},"CHANGELOG.md":{"checkedAt":1708001724941,"integrity":"sha512-bbbnuSJ4WiiZFc94yq+uPfi8erKUgvIz3meMPV7UhvjxTy2pRr4eOlW6IBKDf3L1kZBeYnDNeZkc1Z+jT/ViCQ==","mode":420,"size":296},"README.md":{"checkedAt":1708001724941,"integrity":"sha512-w6zTztX1ejavIkY//V+KqWoBAHjAsHFYhHYUzec/V4ATJpfzTS5HSD/o9zReARo361nzQWBk8s+4KPyEqHG89w==","mode":420,"size":6460}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/85/db8013e9605901b0d4a0bd799638639f5f0fe5521af1b2fc9e7f0673e8987a7f7cd43108e837c17b685571c28f57f44bda2f6011f653924fee06ed32fe6ffe b/.pnpm-store/v3/files/85/db8013e9605901b0d4a0bd799638639f5f0fe5521af1b2fc9e7f0673e8987a7f7cd43108e837c17b685571c28f57f44bda2f6011f653924fee06ed32fe6ffe new file mode 100644 index 00000000..9fa424d1 --- /dev/null +++ b/.pnpm-store/v3/files/85/db8013e9605901b0d4a0bd799638639f5f0fe5521af1b2fc9e7f0673e8987a7f7cd43108e837c17b685571c28f57f44bda2f6011f653924fee06ed32fe6ffe @@ -0,0 +1 @@ +module.exports={C:{"4":0.00516,"38":0.00516,"40":0.00516,"44":0.00516,"47":0.00516,"48":0.01031,"49":0.00516,"50":0.01031,"51":0.00516,"52":0.08767,"53":0.01547,"55":0.00516,"56":0.00516,"59":0.01547,"68":0.00516,"72":0.01031,"75":0.00516,"77":0.01031,"78":0.0361,"80":0.00516,"82":0.00516,"83":0.00516,"87":0.00516,"88":0.01031,"90":0.00516,"91":0.02063,"92":0.00516,"94":0.00516,"95":0.00516,"96":0.00516,"98":0.00516,"99":0.00516,"100":0.01031,"101":0.00516,"102":0.33005,"103":0.00516,"104":0.01031,"105":0.01031,"106":0.01547,"107":0.01031,"108":0.02063,"109":0.01547,"110":0.01547,"111":0.01547,"112":0.01031,"113":0.03094,"114":0.01031,"115":1.41302,"116":0.02063,"117":0.01547,"118":0.03094,"119":0.05673,"120":0.20628,"121":5.65723,"122":1.27894,"123":0.00516,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 41 42 43 45 46 54 57 58 60 61 62 63 64 65 66 67 69 70 71 73 74 76 79 81 84 85 86 89 93 97 124 125 3.5 3.6"},D:{"35":0.0722,"38":0.00516,"41":0.00516,"43":0.03094,"48":0.00516,"49":0.01547,"52":0.01031,"55":0.00516,"56":0.01547,"57":0.00516,"58":0.00516,"60":0.00516,"63":0.00516,"64":0.01031,"66":0.43319,"68":0.00516,"69":0.00516,"70":0.00516,"72":0.00516,"73":0.00516,"74":0.00516,"76":0.01031,"77":0.01031,"78":0.00516,"79":0.04126,"80":0.04126,"81":0.02063,"83":0.01031,"84":0.01031,"85":0.24238,"86":0.02063,"87":0.13408,"88":0.0722,"89":0.02063,"90":0.01031,"91":0.14955,"92":0.00516,"93":0.05673,"94":0.02063,"95":0.00516,"96":0.02063,"97":0.00516,"98":0.01547,"99":0.0361,"100":0.00516,"101":0.01031,"102":0.01547,"103":0.08251,"104":0.02579,"105":0.05673,"106":0.4796,"107":0.09283,"108":0.15471,"109":1.25315,"110":0.08767,"111":0.08251,"112":0.09283,"113":0.05157,"114":0.13924,"115":0.05673,"116":0.1444,"117":0.10314,"118":0.25785,"119":1.67603,"120":16.41989,"121":1.09328,"122":0.00516,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 39 40 42 44 45 46 47 50 51 53 54 59 61 62 65 67 71 75 123 124"},F:{"36":0.00516,"46":0.01547,"89":0.00516,"92":0.00516,"93":0.00516,"94":0.00516,"95":0.0722,"100":0.00516,"102":0.01031,"104":0.01031,"105":1.67087,"106":1.511,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 96 97 98 99 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00516},B:{"14":0.00516,"17":0.01031,"18":0.00516,"92":0.01031,"95":0.00516,"96":0.00516,"97":0.00516,"98":0.00516,"100":0.00516,"103":0.00516,"104":0.00516,"105":0.00516,"106":0.01031,"107":0.02579,"108":0.02579,"109":0.13924,"110":0.01547,"111":0.07736,"112":0.01031,"113":0.01031,"114":0.03094,"115":0.02579,"116":0.03094,"117":0.03094,"118":0.05157,"119":0.50539,"120":6.84334,"121":0.94373,_:"12 13 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 99 101 102"},E:{"7":0.02579,"13":0.00516,"14":0.0361,"15":0.00516,_:"0 4 5 6 8 9 10 11 12 3.1 3.2 6.1 7.1 10.1 17.4","5.1":0.01031,"9.1":0.01031,"11.1":0.01547,"12.1":0.01547,"13.1":0.0722,"14.1":0.11861,"15.1":0.01547,"15.2-15.3":0.01547,"15.4":0.03094,"15.5":0.04641,"15.6":0.35068,"16.0":0.08767,"16.1":0.09283,"16.2":0.09283,"16.3":0.1805,"16.4":0.06188,"16.5":0.1083,"16.6":0.59306,"17.0":0.12377,"17.1":0.83543,"17.2":1.44396,"17.3":0.12893},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00325,"5.0-5.1":0.00487,"6.0-6.1":0.00812,"7.0-7.1":0.01136,"8.1-8.4":0.00162,"9.0-9.2":0.00974,"9.3":0.03734,"10.0-10.2":0.00325,"10.3":0.05844,"11.0-11.2":0.02273,"11.3-11.4":0.02435,"12.0-12.1":0.01461,"12.2-12.5":0.28896,"13.0-13.1":0.00487,"13.2":0.05357,"13.3":0.01461,"13.4-13.7":0.06493,"14.0-14.4":0.11364,"14.5-14.8":0.1737,"15.0-15.1":0.07468,"15.2-15.3":0.08604,"15.4":0.10065,"15.5":0.13312,"15.6-15.8":1.03734,"16.0":0.31169,"16.1":0.66396,"16.2":0.30195,"16.3":0.56169,"16.4":0.125,"16.5":0.26623,"16.6-16.7":2.17857,"17.0":0.36201,"17.1":3.73214,"17.2":5.05194,"17.3":0.32467},P:{"4":0.10535,"20":0.06321,"21":0.11589,"22":0.11589,"23":4.26671,"5.0-5.4":0.02107,"6.2-6.4":0.01054,"7.2-7.4":0.01054,_:"8.2 9.2 10.1","11.1-11.2":0.01054,"12.0":0.01054,"13.0":0.01054,"14.0":0.01054,"15.0":0.01054,"16.0":0.02107,"17.0":0.03161,"18.0":0.02107,"19.0":0.03161},I:{"0":0.04822,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00013},A:{"8":0.00536,"9":0.00536,"11":0.12853,_:"6 7 10 5.5"},K:{"0":0.71676,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00484,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00484},O:{"0":0.15013},H:{"0":0},L:{"0":25.71903},R:{_:"0"},M:{"0":0.84753}}; diff --git a/.pnpm-store/v3/files/86/2286323e2c232b2974d8f43e8ffbd699b2ec2395751d71d9dc20a4b944464b4ab2f4450f8bf244b4a51b0f768e6adb9cc732f30a486ae9fc6d3b75947544d3 b/.pnpm-store/v3/files/86/2286323e2c232b2974d8f43e8ffbd699b2ec2395751d71d9dc20a4b944464b4ab2f4450f8bf244b4a51b0f768e6adb9cc732f30a486ae9fc6d3b75947544d3 new file mode 100644 index 00000000..baa68093 --- /dev/null +++ b/.pnpm-store/v3/files/86/2286323e2c232b2974d8f43e8ffbd699b2ec2395751d71d9dc20a4b944464b4ab2f4450f8bf244b4a51b0f768e6adb9cc732f30a486ae9fc6d3b75947544d3 @@ -0,0 +1 @@ +module.exports={C:{"48":0.00333,"51":0.00666,"52":0.02663,"56":0.00333,"72":0.00333,"76":0.00666,"78":0.00333,"84":0.00333,"101":0.00999,"104":0.00333,"106":0.00666,"111":0.01332,"112":0.00333,"113":0.00333,"114":0.00333,"115":0.37618,"116":0.00333,"117":0.00666,"118":0.01332,"119":0.00666,"120":0.01332,"121":0.6658,"122":0.14981,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 77 79 80 81 82 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 105 107 108 109 110 123 124 125 3.5 3.6"},D:{"22":0.00333,"26":0.00333,"34":0.00666,"38":0.00666,"39":0.00333,"40":0.00666,"41":0.00333,"42":0.00333,"43":0.00333,"44":0.00333,"45":0.00666,"46":0.00333,"47":0.00333,"49":0.02663,"51":0.00666,"53":0.00333,"56":0.00666,"64":0.00999,"66":0.00666,"68":0.00999,"70":0.00333,"71":0.00333,"72":0.00333,"73":0.00333,"74":0.03995,"75":0.00333,"79":0.01665,"80":0.00999,"81":0.00333,"83":0.00333,"84":0.00333,"85":0.0233,"86":0.00666,"87":0.02663,"88":0.00333,"89":0.00333,"90":0.01665,"91":0.1032,"92":0.00666,"94":0.00333,"96":0.00666,"97":0.0233,"98":0.00666,"99":0.00999,"100":0.01332,"101":0.00666,"102":0.05659,"103":0.0233,"104":0.00666,"105":0.04328,"106":0.16645,"107":0.01997,"108":0.07657,"109":2.50674,"110":0.02663,"111":0.02996,"112":0.05326,"113":0.01997,"114":0.06991,"115":0.01665,"116":0.1265,"117":0.05326,"118":0.06658,"119":0.31293,"120":13.43584,"121":0.98871,"122":0.00333,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 35 36 37 48 50 52 54 55 57 58 59 60 61 62 63 65 67 69 76 77 78 93 95 123 124"},F:{"36":0.01332,"56":0.00666,"70":0.00666,"73":0.00999,"77":0.00333,"79":0.02663,"80":0.00333,"82":0.00666,"83":0.00999,"84":0.02663,"85":0.03995,"86":0.00333,"87":0.00333,"89":0.00333,"95":0.38616,"102":0.03329,"103":0.02996,"104":0.00333,"105":0.86221,"106":1.022,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 60 62 63 64 65 66 67 68 69 71 72 74 75 76 78 81 88 90 91 92 93 94 96 97 98 99 100 101 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00333,"18":0.01332,"89":0.00666,"92":0.01997,"100":0.00333,"105":0.00333,"109":0.02996,"112":0.00333,"114":0.00333,"115":0.00333,"116":0.00333,"117":0.00333,"118":0.00999,"119":0.02663,"120":2.17717,"121":0.36286,_:"12 13 15 16 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 106 107 108 110 111 113"},E:{"9":0.00666,"14":0.01997,"15":0.00666,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 6.1 7.1 10.1 11.1","5.1":0.11319,"9.1":0.00333,"12.1":0.00333,"13.1":0.03662,"14.1":0.0233,"15.1":0.01332,"15.2-15.3":0.00999,"15.4":0.03329,"15.5":0.01997,"15.6":0.18642,"16.0":0.01332,"16.1":0.06991,"16.2":0.03995,"16.3":0.05659,"16.4":0.03995,"16.5":0.08655,"16.6":0.2297,"17.0":0.06991,"17.1":0.39615,"17.2":0.53264,"17.3":0.05326,"17.4":0.00333},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0042,"5.0-5.1":0.0063,"6.0-6.1":0.01049,"7.0-7.1":0.01469,"8.1-8.4":0.0021,"9.0-9.2":0.01259,"9.3":0.04827,"10.0-10.2":0.0042,"10.3":0.07555,"11.0-11.2":0.02938,"11.3-11.4":0.03148,"12.0-12.1":0.01889,"12.2-12.5":0.37357,"13.0-13.1":0.0063,"13.2":0.06926,"13.3":0.01889,"13.4-13.7":0.08395,"14.0-14.4":0.14691,"14.5-14.8":0.22456,"15.0-15.1":0.09654,"15.2-15.3":0.11123,"15.4":0.13012,"15.5":0.17209,"15.6-15.8":1.34107,"16.0":0.40295,"16.1":0.85837,"16.2":0.39036,"16.3":0.72615,"16.4":0.1616,"16.5":0.34419,"16.6-16.7":2.81645,"17.0":0.46801,"17.1":4.8249,"17.2":6.53114,"17.3":0.41974},P:{"4":0.082,"20":0.041,"21":0.09226,"22":0.13326,"23":2.19362,_:"5.0-5.4 8.2 9.2 10.1","6.2-6.4":0.01025,"7.2-7.4":0.19476,"11.1-11.2":0.0205,"12.0":0.01025,"13.0":0.01025,"14.0":0.0205,"15.0":0.01025,"16.0":0.0205,"17.0":0.0205,"18.0":0.0205,"19.0":0.0615},I:{"0":0.03985,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"6":0.00355,"7":0.00355,"8":0.02131,"9":0.00355,"10":0.00355,"11":0.07102,_:"5.5"},K:{"0":0.43362,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00667},O:{"0":0.68711},H:{"0":0},L:{"0":39.43759},R:{_:"0"},M:{"0":0.10674}}; diff --git a/.pnpm-store/v3/files/86/66fbd27cc47f611ea7011b0240d06e2a2ff1d46b44ad7a0cfa8bd8290f4e34bd8faaf9e63fdeb531be03774ea1985737c905b881821c13ea29fd0903b7004e b/.pnpm-store/v3/files/86/66fbd27cc47f611ea7011b0240d06e2a2ff1d46b44ad7a0cfa8bd8290f4e34bd8faaf9e63fdeb531be03774ea1985737c905b881821c13ea29fd0903b7004e new file mode 100644 index 00000000..0a349bcb --- /dev/null +++ b/.pnpm-store/v3/files/86/66fbd27cc47f611ea7011b0240d06e2a2ff1d46b44ad7a0cfa8bd8290f4e34bd8faaf9e63fdeb531be03774ea1985737c905b881821c13ea29fd0903b7004e @@ -0,0 +1 @@ +module.exports={C:{"52":0.00417,"57":0.01044,"66":0.00417,"68":0.00209,"70":0.01461,"72":0.00417,"78":0.01044,"80":0.00209,"81":0.00209,"82":0.00209,"88":0.00209,"95":0.01252,"96":0.00209,"97":0.00209,"102":0.00209,"103":0.00209,"104":0.00209,"109":0.00417,"110":0.00209,"113":0.00417,"115":0.192,"116":0.00209,"117":0.01252,"118":0.01044,"119":0.00417,"120":0.03757,"121":0.90993,"122":0.20244,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 58 59 60 61 62 63 64 65 67 69 71 73 74 75 76 77 79 83 84 85 86 87 89 90 91 92 93 94 98 99 100 101 105 106 107 108 111 112 114 123 124 125 3.5 3.6"},D:{"34":0.00626,"36":0.00209,"38":0.00209,"42":0.00209,"43":0.00209,"47":0.00209,"49":0.00209,"53":0.00209,"55":0.00209,"58":0.00209,"65":0.00209,"66":0.00209,"69":0.00626,"70":0.00417,"71":0.00417,"72":0.00209,"73":0.00626,"74":0.00417,"75":0.00626,"76":0.00626,"77":0.00417,"79":0.06887,"80":0.00417,"81":0.01044,"83":0.01252,"85":0.00626,"86":0.02504,"87":0.03131,"88":0.00626,"90":0.01252,"91":0.10852,"92":0.00209,"93":0.02713,"94":0.00417,"95":0.02296,"96":0.00209,"97":0.00209,"98":0.00626,"99":0.01252,"100":0.00417,"101":0.00209,"102":0.02087,"103":0.13983,"104":0.00209,"105":0.00209,"106":0.00626,"107":0.00209,"108":0.00835,"109":1.27724,"110":0.01044,"111":0.00626,"112":0.00417,"113":0.00417,"114":0.04383,"115":0.01461,"116":0.13983,"117":0.04174,"118":0.03131,"119":0.1607,"120":8.35635,"121":0.61358,"123":0.00209,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 37 39 40 41 44 45 46 48 50 51 52 54 56 57 59 60 61 62 63 64 67 68 78 84 89 122 124"},F:{"28":0.00417,"32":0.00209,"36":0.00209,"46":0.00209,"79":0.00209,"85":0.00626,"86":0.00209,"95":0.01878,"102":0.00209,"105":0.10018,"106":0.26088,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00417,"14":0.00209,"16":0.00209,"18":0.02922,"84":0.00209,"90":0.00626,"92":0.02087,"100":0.00209,"101":0.00209,"105":0.00209,"107":0.00209,"108":0.00626,"109":0.02296,"110":0.00417,"113":0.00209,"114":0.00417,"115":0.00209,"116":0.00626,"117":0.01252,"118":0.01878,"119":0.02713,"120":2.48979,"121":0.3527,_:"13 15 17 79 80 81 83 85 86 87 88 89 91 93 94 95 96 97 98 99 102 103 104 106 111 112"},E:{"13":0.00209,"14":0.00835,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 16.0 17.4","12.1":0.00209,"13.1":0.02922,"14.1":0.02504,"15.1":0.00626,"15.2-15.3":0.00209,"15.4":0.00626,"15.5":0.00417,"15.6":0.06678,"16.1":0.00626,"16.2":0.01044,"16.3":0.01252,"16.4":0.00417,"16.5":0.0167,"16.6":0.03965,"17.0":0.03131,"17.1":0.06261,"17.2":0.09183,"17.3":0.00626},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00337,"5.0-5.1":0.00505,"6.0-6.1":0.00842,"7.0-7.1":0.01179,"8.1-8.4":0.00168,"9.0-9.2":0.01011,"9.3":0.03875,"10.0-10.2":0.00337,"10.3":0.06065,"11.0-11.2":0.02359,"11.3-11.4":0.02527,"12.0-12.1":0.01516,"12.2-12.5":0.29987,"13.0-13.1":0.00505,"13.2":0.05559,"13.3":0.01516,"13.4-13.7":0.06739,"14.0-14.4":0.11793,"14.5-14.8":0.18026,"15.0-15.1":0.0775,"15.2-15.3":0.08929,"15.4":0.10445,"15.5":0.13814,"15.6-15.8":1.07651,"16.0":0.32346,"16.1":0.68903,"16.2":0.31335,"16.3":0.5829,"16.4":0.12972,"16.5":0.27629,"16.6-16.7":2.26084,"17.0":0.37568,"17.1":3.87307,"17.2":5.24272,"17.3":0.33694},P:{"4":0.24548,"20":0.0716,"21":0.09205,"22":0.12274,"23":1.44219,_:"5.0-5.4 8.2 9.2","6.2-6.4":0.01023,"7.2-7.4":0.40913,"10.1":0.01023,"11.1-11.2":0.03068,"12.0":0.01023,"13.0":0.03068,"14.0":0.01023,"15.0":0.02046,"16.0":0.05114,"17.0":0.05114,"18.0":0.05114,"19.0":0.10228},I:{"0":0.03151,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"11":0.00835,_:"6 7 8 9 10 5.5"},K:{"0":0.16783,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01583,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.03165},H:{"0":0.03},L:{"0":62.98124},R:{_:"0"},M:{"0":0.0633}}; diff --git a/.pnpm-store/v3/files/87/11cdcda763e85e7820b442c0d9fcec64e41465e454a6140d91f4e9a89183b029bf0324db380d7eb49138addc388fc1892680cc306136bafa868d2885b64780 b/.pnpm-store/v3/files/87/11cdcda763e85e7820b442c0d9fcec64e41465e454a6140d91f4e9a89183b029bf0324db380d7eb49138addc388fc1892680cc306136bafa868d2885b64780 new file mode 100644 index 00000000..3004df68 --- /dev/null +++ b/.pnpm-store/v3/files/87/11cdcda763e85e7820b442c0d9fcec64e41465e454a6140d91f4e9a89183b029bf0324db380d7eb49138addc388fc1892680cc306136bafa868d2885b64780 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p kC lC 2B QC mC 3B","2":"F iC jC"},G:{"4":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"4":"9C"},I:{"4":"7B I H AD BD CD DD RC ED FD"},J:{"1":"A","4":"D"},K:{"4":"A B C u 2B QC 3B"},L:{"4":"H"},M:{"4":"1B"},N:{"4":"A B"},O:{"4":"4B"},P:{"4":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"4":"SD"},S:{"2":"TD UD"}},B:1,C:"Spellcheck attribute",D:true}; diff --git a/.pnpm-store/v3/files/87/53d7a2f06e383f2e593995d8c62479b89ed5665d792f6833ebe4f525969813f6933af9ad2c26701b5b852722ad1465a8de3c8ec2c68a67b7e325abaf2c6bae b/.pnpm-store/v3/files/87/53d7a2f06e383f2e593995d8c62479b89ed5665d792f6833ebe4f525969813f6933af9ad2c26701b5b852722ad1465a8de3c8ec2c68a67b7e325abaf2c6bae new file mode 100644 index 00000000..6648b798 --- /dev/null +++ b/.pnpm-store/v3/files/87/53d7a2f06e383f2e593995d8c62479b89ed5665d792f6833ebe4f525969813f6933af9ad2c26701b5b852722ad1465a8de3c8ec2c68a67b7e325abaf2c6bae @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"2 3 4 5 6 7 8 H","2":"0 1 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z"},C:{"1":"H 1B BC CC UC","2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z VC WC"},D:{"1":"2 3 4 5 6 7 8 H 1B BC CC","2":"0 1 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z"},E:{"1":"hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC"},F:{"1":"i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"CSS text-wrap: balance",D:true}; diff --git a/.pnpm-store/v3/files/87/e4893fb57aa78f6022b9ec6cdf908ceef807800ad4dfe6fd1850104b9e5e34ee6e7d0b1fe002d24fdbb80d09748574299f5114a9f1847f5c506dd781b93d07 b/.pnpm-store/v3/files/87/e4893fb57aa78f6022b9ec6cdf908ceef807800ad4dfe6fd1850104b9e5e34ee6e7d0b1fe002d24fdbb80d09748574299f5114a9f1847f5c506dd781b93d07 new file mode 100644 index 00000000..e5f1a740 --- /dev/null +++ b/.pnpm-store/v3/files/87/e4893fb57aa78f6022b9ec6cdf908ceef807800ad4dfe6fd1850104b9e5e34ee6e7d0b1fe002d24fdbb80d09748574299f5114a9f1847f5c506dd781b93d07 @@ -0,0 +1 @@ +module.exports={C:{"44":0.00347,"47":0.00173,"48":0.00173,"52":0.00173,"56":0.00693,"57":0.00173,"62":0.00173,"72":0.00693,"81":0.00173,"84":0.00173,"93":0.00173,"94":0.0052,"95":0.00173,"106":0.00173,"108":0.00173,"109":0.0052,"111":0.00347,"112":0.00173,"113":0.00173,"114":0.00173,"115":0.28941,"116":0.00173,"117":0.00173,"118":0.00173,"119":0.00347,"120":0.01213,"121":0.28941,"122":0.12478,"123":0.00693,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 49 50 51 53 54 55 58 59 60 61 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 82 83 85 86 87 88 89 90 91 92 96 97 98 99 100 101 102 103 104 105 107 110 124 125 3.5 3.6"},D:{"30":0.00173,"33":0.00173,"34":0.0052,"36":0.00693,"38":0.00173,"39":0.00173,"41":0.00347,"43":0.00173,"46":0.00347,"47":0.00347,"48":0.00173,"49":0.00347,"50":0.0052,"51":0.00173,"52":0.00867,"53":0.00173,"54":0.00347,"55":0.00347,"56":0.00867,"58":0.00173,"60":0.00347,"61":0.00173,"62":0.0208,"63":0.00867,"64":0.00347,"65":0.00693,"66":0.00173,"67":0.0052,"68":0.0052,"69":0.0052,"70":0.0052,"71":0.01386,"72":0.00693,"73":0.01386,"74":0.00693,"75":0.00173,"76":0.00347,"77":0.00867,"78":0.02253,"79":0.02946,"80":0.026,"81":0.0052,"83":0.0052,"84":0.0052,"85":0.00693,"86":0.0208,"87":0.01906,"88":0.00347,"89":0.0052,"90":0.00347,"91":0.02426,"92":0.01213,"93":0.0052,"94":0.0104,"95":0.00693,"96":0.01733,"97":0.01733,"98":0.00347,"99":0.00867,"100":0.0052,"101":0.0052,"102":0.0156,"103":0.01213,"104":0.00347,"105":0.0052,"106":0.0156,"107":0.03813,"108":0.04333,"109":2.2321,"110":0.00867,"111":0.01906,"112":0.0156,"113":0.00347,"114":0.03293,"115":0.0156,"116":0.03813,"117":0.06759,"118":0.03466,"119":0.12824,"120":5.58546,"121":0.45578,"122":0.0052,"123":0.0052,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 35 37 40 42 44 45 57 59 124"},F:{"38":0.00173,"64":0.00173,"79":0.00693,"80":0.00173,"81":0.00347,"86":0.00347,"89":0.00347,"90":0.00173,"92":0.00173,"95":0.07625,"97":0.00173,"102":0.03293,"103":0.00173,"105":0.09012,"106":0.22182,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 73 74 75 76 77 78 82 83 84 85 87 88 91 93 94 96 98 99 100 101 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0104,"13":0.00867,"14":0.02253,"15":0.01213,"16":0.07799,"17":0.0156,"18":0.10745,"81":0.0052,"84":0.01733,"89":0.02773,"90":0.03293,"92":0.19583,"97":0.00173,"100":0.03466,"103":0.00173,"109":0.07105,"110":0.03119,"112":0.00347,"113":0.00173,"114":0.00693,"115":0.00693,"116":0.01213,"117":0.00867,"118":0.01213,"119":0.03986,"120":1.14898,"121":0.15077,_:"79 80 83 85 86 87 88 91 93 94 95 96 98 99 101 102 104 105 106 107 108 111"},E:{"12":0.00693,"13":0.00173,"14":0.00173,_:"0 4 5 6 7 8 9 10 11 15 3.1 3.2 6.1 7.1 9.1 10.1 12.1","5.1":0.04159,"11.1":0.00173,"13.1":0.00867,"14.1":0.00173,"15.1":0.01733,"15.2-15.3":0.01733,"15.4":0.01733,"15.5":0.03119,"15.6":0.12651,"16.0":0.00693,"16.1":0.04333,"16.2":0.02946,"16.3":0.10398,"16.4":0.04333,"16.5":0.12651,"16.6":0.26168,"17.0":0.11611,"17.1":0.41245,"17.2":0.98088,"17.3":0.15944,"17.4":0.00173},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00269,"5.0-5.1":0.00404,"6.0-6.1":0.00673,"7.0-7.1":0.00942,"8.1-8.4":0.00135,"9.0-9.2":0.00808,"9.3":0.03095,"10.0-10.2":0.00269,"10.3":0.04845,"11.0-11.2":0.01884,"11.3-11.4":0.02019,"12.0-12.1":0.01211,"12.2-12.5":0.23956,"13.0-13.1":0.00404,"13.2":0.04441,"13.3":0.01211,"13.4-13.7":0.05383,"14.0-14.4":0.09421,"14.5-14.8":0.14401,"15.0-15.1":0.06191,"15.2-15.3":0.07133,"15.4":0.08344,"15.5":0.11036,"15.6-15.8":0.86001,"16.0":0.25841,"16.1":0.55046,"16.2":0.25033,"16.3":0.46567,"16.4":0.10363,"16.5":0.22072,"16.6-16.7":1.80615,"17.0":0.30013,"17.1":3.09415,"17.2":4.18834,"17.3":0.26917},P:{"4":0.19355,"20":0.06112,"21":0.09168,"22":0.1528,"23":0.89644,"5.0-5.4":0.07131,"6.2-6.4":0.04075,"7.2-7.4":0.1528,_:"8.2 10.1 12.0","9.2":0.06112,"11.1-11.2":0.09168,"13.0":0.05093,"14.0":0.01019,"15.0":0.01019,"16.0":0.10187,"17.0":0.03056,"18.0":0.04075,"19.0":0.09168},I:{"0":0.05761,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00015},A:{"9":0.00173,"11":0.21143,_:"6 7 8 10 5.5"},K:{"0":0.72804,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.9011},H:{"0":0.14},L:{"0":66.99759},R:{_:"0"},M:{"0":0.0496}}; diff --git a/.pnpm-store/v3/files/88/62c61cebb0ca90b0ad8a02f39d2a149d1bb61363317aab3cff8e2b27f162b887081dc297f49dbb1a81bfc21d10f116bfea28c77af33bdcf2b89a64b82649e9 b/.pnpm-store/v3/files/88/62c61cebb0ca90b0ad8a02f39d2a149d1bb61363317aab3cff8e2b27f162b887081dc297f49dbb1a81bfc21d10f116bfea28c77af33bdcf2b89a64b82649e9 new file mode 100644 index 00000000..f31bd2cb --- /dev/null +++ b/.pnpm-store/v3/files/88/62c61cebb0ca90b0ad8a02f39d2a149d1bb61363317aab3cff8e2b27f162b887081dc297f49dbb1a81bfc21d10f116bfea28c77af33bdcf2b89a64b82649e9 @@ -0,0 +1,67 @@ +# Browserslist [![Cult Of Martians][cult-img]][cult] + +Browserslist logo by Anton Popov + +The config to share target browsers and Node.js versions between different +front-end tools. It is used in: + +* [Autoprefixer] +* [Babel] +* [postcss-preset-env] +* [eslint-plugin-compat] +* [stylelint-no-unsupported-browser-features] +* [postcss-normalize] +* [obsolete-webpack-plugin] + +All tools will find target browsers automatically, +when you add the following to `package.json`: + +```json + "browserslist": [ + "defaults and fully supports es6-module", + "maintained node versions" + ] +``` + +Or in `.browserslistrc` config: + +```yaml +# Browsers that we support + +defaults and fully supports es6-module +maintained node versions +``` + +Developers set their version lists using queries like `last 2 versions` +to be free from updating versions manually. +Browserslist will use [`caniuse-lite`] with [Can I Use] data for this queries. + +You can check how config works at our playground: [`browsersl.ist`](https://browsersl.ist/) + + + browsersl.ist website + + +
+
+
+ Sponsored by Evil Martians  Supported by Cube +
+ +[stylelint-no-unsupported-browser-features]: https://github.com/ismay/stylelint-no-unsupported-browser-features +[obsolete-webpack-plugin]: https://github.com/ElemeFE/obsolete-webpack-plugin +[eslint-plugin-compat]: https://github.com/amilajack/eslint-plugin-compat +[Browserslist Example]: https://github.com/browserslist/browserslist-example +[postcss-preset-env]: https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env +[postcss-normalize]: https://github.com/csstools/postcss-normalize +[`browsersl.ist`]: https://browsersl.ist/ +[`caniuse-lite`]: https://github.com/ben-eb/caniuse-lite +[Autoprefixer]: https://github.com/postcss/autoprefixer +[Can I Use]: https://caniuse.com/ +[Babel]: https://github.com/babel/babel/tree/master/packages/babel-preset-env +[cult-img]: https://cultofmartians.com/assets/badges/badge.svg +[cult]: https://cultofmartians.com/done.html + +## Docs +Read full docs **[here](https://github.com/browserslist/browserslist#readme)**. diff --git a/.pnpm-store/v3/files/88/7b254d5c4571c67650222d93b6a33657f151a36a693d89cdd69e90eaaaeec789bf627cc72761b6722b727c1a808cca150a6c496c26a0c0d8288622f15c0ae4 b/.pnpm-store/v3/files/88/7b254d5c4571c67650222d93b6a33657f151a36a693d89cdd69e90eaaaeec789bf627cc72761b6722b727c1a808cca150a6c496c26a0c0d8288622f15c0ae4 new file mode 100644 index 00000000..f6529aa5 --- /dev/null +++ b/.pnpm-store/v3/files/88/7b254d5c4571c67650222d93b6a33657f151a36a693d89cdd69e90eaaaeec789bf627cc72761b6722b727c1a808cca150a6c496c26a0c0d8288622f15c0ae4 @@ -0,0 +1,25 @@ +# bare-events + +Event emitters for JavaScript. + +``` +npm install bare-events +``` + +## Usage + +``` js +const EventEmitter = require('bare-events') + +const e = new EventEmitter() + +e.on('hello', function (data) { + console.log(data) +}) + +e.emit('hello', 'world') +``` + +## License + +Apache-2.0 diff --git a/.pnpm-store/v3/files/88/91d7c63f369c9be267155a9fa246b4e5eb7246d8faa5e3542626f3a7a5cce9066b3e89525989072949aa7c4fb5b5db6ed0d639ec1db5372dd67ae60bb245cc b/.pnpm-store/v3/files/88/91d7c63f369c9be267155a9fa246b4e5eb7246d8faa5e3542626f3a7a5cce9066b3e89525989072949aa7c4fb5b5db6ed0d639ec1db5372dd67ae60bb245cc new file mode 100644 index 00000000..d68934bb --- /dev/null +++ b/.pnpm-store/v3/files/88/91d7c63f369c9be267155a9fa246b4e5eb7246d8faa5e3542626f3a7a5cce9066b3e89525989072949aa7c4fb5b5db6ed0d639ec1db5372dd67ae60bb245cc @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O P Q R S"},C:{"1":"0 1 2 3 4 5 6 7 8 mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S"},E:{"1":"G cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L XC DC YC ZC aC bC EC 2B 3B FC"},F:{"1":"tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB iC jC kC lC 2B QC mC 3B"},G:{"1":"5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD ND"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:5,C:"gap property for Flexbox",D:true}; diff --git a/.pnpm-store/v3/files/88/dcdeb68fd1d4946f8553a1950fafacf11851817748ea7360776e42b734079016a6db7ef2735c9fea9d329172716abeb11372b98c1ece71c95a60239bf5c455 b/.pnpm-store/v3/files/88/dcdeb68fd1d4946f8553a1950fafacf11851817748ea7360776e42b734079016a6db7ef2735c9fea9d329172716abeb11372b98c1ece71c95a60239bf5c455 new file mode 100644 index 00000000..89365b97 --- /dev/null +++ b/.pnpm-store/v3/files/88/dcdeb68fd1d4946f8553a1950fafacf11851817748ea7360776e42b734079016a6db7ef2735c9fea9d329172716abeb11372b98c1ece71c95a60239bf5c455 @@ -0,0 +1,2318 @@ +/* + @license + Rollup.js v4.11.0 + Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99 + + https://github.com/rollup/rollup + + Released under the MIT License. +*/ +'use strict'; + +const native_js = require('../native.js'); +const node_path = require('node:path'); + +/** @typedef {import('./types').Location} Location */ + +/** + * @param {import('./types').Range} range + * @param {number} index + */ +function rangeContains(range, index) { + return range.start <= index && index < range.end; +} + +/** + * @param {string} source + * @param {import('./types').Options} [options] + */ +function getLocator(source, options = {}) { + const { offsetLine = 0, offsetColumn = 0 } = options; + + let start = 0; + const ranges = source.split('\n').map((line, i) => { + const end = start + line.length + 1; + + /** @type {import('./types').Range} */ + const range = { start, end, line: i }; + + start = end; + return range; + }); + + let i = 0; + + /** + * @param {string | number} search + * @param {number} [index] + * @returns {Location | undefined} + */ + function locator(search, index) { + if (typeof search === 'string') { + search = source.indexOf(search, index ?? 0); + } + + if (search === -1) return undefined; + + let range = ranges[i]; + + const d = search >= range.end ? 1 : -1; + + while (range) { + if (rangeContains(range, search)) { + return { + line: offsetLine + range.line, + column: offsetColumn + search - range.start, + character: search + }; + } + + i += d; + range = ranges[i]; + } + } + + return locator; +} + +/** + * @param {string} source + * @param {string | number} search + * @param {import('./types').Options} [options] + * @returns {Location | undefined} + */ +function locate(source, search, options) { + return getLocator(source, options)(search, options && options.startIndex); +} + +function spaces(index) { + let result = ''; + while (index--) + result += ' '; + return result; +} +function tabsToSpaces(value) { + return value.replace(/^\t+/, match => match.split('\t').join(' ')); +} +const LINE_TRUNCATE_LENGTH = 120; +const MIN_CHARACTERS_SHOWN_AFTER_LOCATION = 10; +const ELLIPSIS = '...'; +function getCodeFrame(source, line, column) { + let lines = source.split('\n'); + // Needed if a plugin did not generate correct sourcemaps + if (line > lines.length) + return ''; + const maxLineLength = Math.max(tabsToSpaces(lines[line - 1].slice(0, column)).length + + MIN_CHARACTERS_SHOWN_AFTER_LOCATION + + ELLIPSIS.length, LINE_TRUNCATE_LENGTH); + const frameStart = Math.max(0, line - 3); + let frameEnd = Math.min(line + 2, lines.length); + lines = lines.slice(frameStart, frameEnd); + while (!/\S/.test(lines[lines.length - 1])) { + lines.pop(); + frameEnd -= 1; + } + const digits = String(frameEnd).length; + return lines + .map((sourceLine, index) => { + const isErrorLine = frameStart + index + 1 === line; + let lineNumber = String(index + frameStart + 1); + while (lineNumber.length < digits) + lineNumber = ` ${lineNumber}`; + let displayedLine = tabsToSpaces(sourceLine); + if (displayedLine.length > maxLineLength) { + displayedLine = `${displayedLine.slice(0, maxLineLength - ELLIPSIS.length)}${ELLIPSIS}`; + } + if (isErrorLine) { + const indicator = spaces(digits + 2 + tabsToSpaces(sourceLine.slice(0, column)).length) + '^'; + return `${lineNumber}: ${displayedLine}\n${indicator}`; + } + return `${lineNumber}: ${displayedLine}`; + }) + .join('\n'); +} + +const LOGLEVEL_SILENT = 'silent'; +const LOGLEVEL_ERROR = 'error'; +const LOGLEVEL_WARN = 'warn'; +const LOGLEVEL_INFO = 'info'; +const LOGLEVEL_DEBUG = 'debug'; +const logLevelPriority = { + [LOGLEVEL_DEBUG]: 0, + [LOGLEVEL_INFO]: 1, + [LOGLEVEL_SILENT]: 3, + [LOGLEVEL_WARN]: 2 +}; + +const ABSOLUTE_PATH_REGEX = /^(?:\/|(?:[A-Za-z]:)?[/\\|])/; +const RELATIVE_PATH_REGEX = /^\.?\.(\/|$)/; +function isAbsolute(path) { + return ABSOLUTE_PATH_REGEX.test(path); +} +function isRelative(path) { + return RELATIVE_PATH_REGEX.test(path); +} +const BACKSLASH_REGEX = /\\/g; +function normalize(path) { + return path.replace(BACKSLASH_REGEX, '/'); +} + +function printQuotedStringList(list, verbs) { + const isSingleItem = list.length <= 1; + const quotedList = list.map(item => `"${item}"`); + let output = isSingleItem + ? quotedList[0] + : `${quotedList.slice(0, -1).join(', ')} and ${quotedList.slice(-1)[0]}`; + if (verbs) { + output += ` ${isSingleItem ? verbs[0] : verbs[1]}`; + } + return output; +} + +const ANY_SLASH_REGEX = /[/\\]/; +function relative(from, to) { + const fromParts = from.split(ANY_SLASH_REGEX).filter(Boolean); + const toParts = to.split(ANY_SLASH_REGEX).filter(Boolean); + if (fromParts[0] === '.') + fromParts.shift(); + if (toParts[0] === '.') + toParts.shift(); + while (fromParts[0] && toParts[0] && fromParts[0] === toParts[0]) { + fromParts.shift(); + toParts.shift(); + } + while (toParts[0] === '..' && fromParts.length > 0) { + toParts.shift(); + fromParts.pop(); + } + while (fromParts.pop()) { + toParts.unshift('..'); + } + return toParts.join('/'); +} + +function getAliasName(id) { + const base = node_path.basename(id); + return base.slice(0, Math.max(0, base.length - node_path.extname(id).length)); +} +function relativeId(id) { + if (!isAbsolute(id)) + return id; + return relative(node_path.resolve(), id); +} +function isPathFragment(name) { + // starting with "/", "./", "../", "C:/" + return (name[0] === '/' || (name[0] === '.' && (name[1] === '/' || name[1] === '.')) || isAbsolute(name)); +} +const UPPER_DIR_REGEX = /^(\.\.\/)*\.\.$/; +function getImportPath(importerId, targetPath, stripJsExtension, ensureFileName) { + while (targetPath.startsWith('../')) { + targetPath = targetPath.slice(3); + importerId = '_/' + importerId; + } + let relativePath = normalize(relative(node_path.dirname(importerId), targetPath)); + if (stripJsExtension && relativePath.endsWith('.js')) { + relativePath = relativePath.slice(0, -3); + } + if (ensureFileName) { + if (relativePath === '') + return '../' + node_path.basename(targetPath); + if (UPPER_DIR_REGEX.test(relativePath)) { + return [...relativePath.split('/'), '..', node_path.basename(targetPath)].join('/'); + } + } + return relativePath ? (relativePath.startsWith('..') ? relativePath : './' + relativePath) : '.'; +} + +function isValidUrl(url) { + try { + new URL(url); + } + catch { + return false; + } + return true; +} +function getRollupUrl(snippet) { + return `https://rollupjs.org/${snippet}`; +} +function addTrailingSlashIfMissed(url) { + if (!url.endsWith('/')) { + return url + '/'; + } + return url; +} + +// troubleshooting +const URL_AVOIDING_EVAL = 'troubleshooting/#avoiding-eval'; +const URL_NAME_IS_NOT_EXPORTED = 'troubleshooting/#error-name-is-not-exported-by-module'; +const URL_THIS_IS_UNDEFINED = 'troubleshooting/#error-this-is-undefined'; +const URL_TREATING_MODULE_AS_EXTERNAL_DEPENDENCY = 'troubleshooting/#warning-treating-module-as-external-dependency'; +const URL_SOURCEMAP_IS_LIKELY_TO_BE_INCORRECT = 'troubleshooting/#warning-sourcemap-is-likely-to-be-incorrect'; +const URL_OUTPUT_AMD_ID = 'configuration-options/#output-amd-id'; +const URL_OUTPUT_AMD_BASEPATH = 'configuration-options/#output-amd-basepath'; +const URL_OUTPUT_DIR = 'configuration-options/#output-dir'; +const URL_OUTPUT_EXPORTS = 'configuration-options/#output-exports'; +const URL_OUTPUT_EXTEND = 'configuration-options/#output-extend'; +const URL_OUTPUT_EXTERNALIMPORTATTRIBUTES = 'configuration-options/#output-externalimportattributes'; +const URL_OUTPUT_FORMAT = 'configuration-options/#output-format'; +const URL_OUTPUT_GENERATEDCODE = 'configuration-options/#output-generatedcode'; +const URL_OUTPUT_GLOBALS = 'configuration-options/#output-globals'; +const URL_OUTPUT_INLINEDYNAMICIMPORTS = 'configuration-options/#output-inlinedynamicimports'; +const URL_OUTPUT_INTEROP = 'configuration-options/#output-interop'; +const URL_OUTPUT_MANUALCHUNKS = 'configuration-options/#output-manualchunks'; +const URL_OUTPUT_NAME = 'configuration-options/#output-name'; +const URL_OUTPUT_SOURCEMAPBASEURL = 'configuration-options/#output-sourcemapbaseurl'; +const URL_OUTPUT_SOURCEMAPFILE = 'configuration-options/#output-sourcemapfile'; +const URL_PRESERVEENTRYSIGNATURES = 'configuration-options/#preserveentrysignatures'; +const URL_TREESHAKE = 'configuration-options/#treeshake'; +const URL_TREESHAKE_PURE = 'configuration-options/#pure'; +const URL_TREESHAKE_NOSIDEEFFECTS = 'configuration-options/#no-side-effects'; +const URL_TREESHAKE_MODULESIDEEFFECTS = 'configuration-options/#treeshake-modulesideeffects'; +const URL_WATCH = 'configuration-options/#watch'; +// command-line-interface +const URL_BUNDLE_CONFIG_AS_CJS = 'command-line-interface/#bundleconfigascjs'; +const URL_CONFIGURATION_FILES = 'command-line-interface/#configuration-files'; + +function error(base) { + if (!(base instanceof Error)) { + base = Object.assign(new Error(base.message), base); + Object.defineProperty(base, 'name', { value: 'RollupError', writable: true }); + } + throw base; +} +function augmentCodeLocation(properties, pos, source, id) { + if (typeof pos === 'object') { + const { line, column } = pos; + properties.loc = { column, file: id, line }; + } + else { + properties.pos = pos; + const location = locate(source, pos, { offsetLine: 1 }); + if (!location) { + return; + } + const { line, column } = location; + properties.loc = { column, file: id, line }; + } + if (properties.frame === undefined) { + const { line, column } = properties.loc; + properties.frame = getCodeFrame(source, line, column); + } +} +// Error codes should be sorted alphabetically while errors should be sorted by +// error code below +const ADDON_ERROR = 'ADDON_ERROR', ALREADY_CLOSED = 'ALREADY_CLOSED', AMBIGUOUS_EXTERNAL_NAMESPACES = 'AMBIGUOUS_EXTERNAL_NAMESPACES', ANONYMOUS_PLUGIN_CACHE = 'ANONYMOUS_PLUGIN_CACHE', ASSET_NOT_FINALISED = 'ASSET_NOT_FINALISED', ASSET_NOT_FOUND = 'ASSET_NOT_FOUND', ASSET_SOURCE_ALREADY_SET = 'ASSET_SOURCE_ALREADY_SET', ASSET_SOURCE_MISSING = 'ASSET_SOURCE_MISSING', BAD_LOADER = 'BAD_LOADER', CANNOT_CALL_NAMESPACE = 'CANNOT_CALL_NAMESPACE', CANNOT_EMIT_FROM_OPTIONS_HOOK = 'CANNOT_EMIT_FROM_OPTIONS_HOOK', CHUNK_NOT_GENERATED = 'CHUNK_NOT_GENERATED', CHUNK_INVALID = 'CHUNK_INVALID', CIRCULAR_DEPENDENCY = 'CIRCULAR_DEPENDENCY', CIRCULAR_REEXPORT = 'CIRCULAR_REEXPORT', CONST_REASSIGN = 'CONST_REASSIGN', CYCLIC_CROSS_CHUNK_REEXPORT = 'CYCLIC_CROSS_CHUNK_REEXPORT', DEPRECATED_FEATURE = 'DEPRECATED_FEATURE', DUPLICATE_ARGUMENT_NAME = 'DUPLICATE_ARGUMENT_NAME', DUPLICATE_EXPORT = 'DUPLICATE_EXPORT', DUPLICATE_IMPORT_OPTIONS = 'DUPLICATE_IMPORT_OPTIONS', DUPLICATE_PLUGIN_NAME = 'DUPLICATE_PLUGIN_NAME', EMPTY_BUNDLE = 'EMPTY_BUNDLE', EVAL = 'EVAL', EXTERNAL_MODULES_CANNOT_BE_INCLUDED_IN_MANUAL_CHUNKS = 'EXTERNAL_MODULES_CANNOT_BE_INCLUDED_IN_MANUAL_CHUNKS', EXTERNAL_MODULES_CANNOT_BE_TRANSFORMED_TO_MODULES = 'EXTERNAL_MODULES_CANNOT_BE_TRANSFORMED_TO_MODULES', EXTERNAL_SYNTHETIC_EXPORTS = 'EXTERNAL_SYNTHETIC_EXPORTS', FAIL_AFTER_WARNINGS = 'FAIL_AFTER_WARNINGS', FILE_NAME_CONFLICT = 'FILE_NAME_CONFLICT', FILE_NOT_FOUND = 'FILE_NOT_FOUND', FIRST_SIDE_EFFECT = 'FIRST_SIDE_EFFECT', ILLEGAL_IDENTIFIER_AS_NAME = 'ILLEGAL_IDENTIFIER_AS_NAME', ILLEGAL_REASSIGNMENT = 'ILLEGAL_REASSIGNMENT', INCONSISTENT_IMPORT_ATTRIBUTES = 'INCONSISTENT_IMPORT_ATTRIBUTES', INVALID_ANNOTATION = 'INVALID_ANNOTATION', INPUT_HOOK_IN_OUTPUT_PLUGIN = 'INPUT_HOOK_IN_OUTPUT_PLUGIN', INVALID_CHUNK = 'INVALID_CHUNK', INVALID_CONFIG_MODULE_FORMAT = 'INVALID_CONFIG_MODULE_FORMAT', INVALID_EXPORT_OPTION = 'INVALID_EXPORT_OPTION', INVALID_EXTERNAL_ID = 'INVALID_EXTERNAL_ID', INVALID_IMPORT_ATTRIBUTE = 'INVALID_IMPORT_ATTRIBUTE', INVALID_LOG_POSITION = 'INVALID_LOG_POSITION', INVALID_OPTION = 'INVALID_OPTION', INVALID_PLUGIN_HOOK = 'INVALID_PLUGIN_HOOK', INVALID_ROLLUP_PHASE = 'INVALID_ROLLUP_PHASE', INVALID_SETASSETSOURCE = 'INVALID_SETASSETSOURCE', INVALID_TLA_FORMAT = 'INVALID_TLA_FORMAT', MISSING_CONFIG = 'MISSING_CONFIG', MISSING_EXPORT = 'MISSING_EXPORT', MISSING_EXTERNAL_CONFIG = 'MISSING_EXTERNAL_CONFIG', MISSING_GLOBAL_NAME = 'MISSING_GLOBAL_NAME', MISSING_IMPLICIT_DEPENDANT = 'MISSING_IMPLICIT_DEPENDANT', MISSING_NAME_OPTION_FOR_IIFE_EXPORT = 'MISSING_NAME_OPTION_FOR_IIFE_EXPORT', MISSING_NODE_BUILTINS = 'MISSING_NODE_BUILTINS', MISSING_OPTION = 'MISSING_OPTION', MIXED_EXPORTS = 'MIXED_EXPORTS', MODULE_LEVEL_DIRECTIVE = 'MODULE_LEVEL_DIRECTIVE', NAMESPACE_CONFLICT = 'NAMESPACE_CONFLICT', NO_TRANSFORM_MAP_OR_AST_WITHOUT_CODE = 'NO_TRANSFORM_MAP_OR_AST_WITHOUT_CODE', ONLY_INLINE_SOURCEMAPS = 'ONLY_INLINE_SOURCEMAPS', OPTIMIZE_CHUNK_STATUS = 'OPTIMIZE_CHUNK_STATUS', PARSE_ERROR = 'PARSE_ERROR', PLUGIN_ERROR = 'PLUGIN_ERROR', REDECLARATION_ERROR = 'REDECLARATION_ERROR', SHIMMED_EXPORT = 'SHIMMED_EXPORT', SOURCEMAP_BROKEN = 'SOURCEMAP_BROKEN', SOURCEMAP_ERROR = 'SOURCEMAP_ERROR', SYNTHETIC_NAMED_EXPORTS_NEED_NAMESPACE_EXPORT = 'SYNTHETIC_NAMED_EXPORTS_NEED_NAMESPACE_EXPORT', THIS_IS_UNDEFINED = 'THIS_IS_UNDEFINED', UNEXPECTED_NAMED_IMPORT = 'UNEXPECTED_NAMED_IMPORT', UNKNOWN_OPTION = 'UNKNOWN_OPTION', UNRESOLVED_ENTRY = 'UNRESOLVED_ENTRY', UNRESOLVED_IMPORT = 'UNRESOLVED_IMPORT', UNUSED_EXTERNAL_IMPORT = 'UNUSED_EXTERNAL_IMPORT', VALIDATION_ERROR = 'VALIDATION_ERROR'; +function logAddonNotGenerated(message, hook, plugin) { + return { + code: ADDON_ERROR, + message: `Could not retrieve "${hook}". Check configuration of plugin "${plugin}". +\tError Message: ${message}` + }; +} +function logAlreadyClosed() { + return { + code: ALREADY_CLOSED, + message: 'Bundle is already closed, no more calls to "generate" or "write" are allowed.' + }; +} +function logAmbiguousExternalNamespaces(binding, reexportingModule, usedModule, sources) { + return { + binding, + code: AMBIGUOUS_EXTERNAL_NAMESPACES, + ids: sources, + message: `Ambiguous external namespace resolution: "${relativeId(reexportingModule)}" re-exports "${binding}" from one of the external modules ${printQuotedStringList(sources.map(module => relativeId(module)))}, guessing "${relativeId(usedModule)}".`, + reexporter: reexportingModule + }; +} +function logAnonymousPluginCache() { + return { + code: ANONYMOUS_PLUGIN_CACHE, + message: 'A plugin is trying to use the Rollup cache but is not declaring a plugin name or cacheKey.' + }; +} +function logAssetNotFinalisedForFileName(name) { + return { + code: ASSET_NOT_FINALISED, + message: `Plugin error - Unable to get file name for asset "${name}". Ensure that the source is set and that generate is called first. If you reference assets via import.meta.ROLLUP_FILE_URL_, you need to either have set their source after "renderStart" or need to provide an explicit "fileName" when emitting them.` + }; +} +function logAssetReferenceIdNotFoundForSetSource(assetReferenceId) { + return { + code: ASSET_NOT_FOUND, + message: `Plugin error - Unable to set the source for unknown asset "${assetReferenceId}".` + }; +} +function logAssetSourceAlreadySet(name) { + return { + code: ASSET_SOURCE_ALREADY_SET, + message: `Unable to set the source for asset "${name}", source already set.` + }; +} +function logNoAssetSourceSet(assetName) { + return { + code: ASSET_SOURCE_MISSING, + message: `Plugin error creating asset "${assetName}" - no asset source set.` + }; +} +function logBadLoader(id) { + return { + code: BAD_LOADER, + message: `Error loading "${relativeId(id)}": plugin load hook should return a string, a { code, map } object, or nothing/null.` + }; +} +function logCannotCallNamespace(name) { + return { + code: CANNOT_CALL_NAMESPACE, + message: `Cannot call a namespace ("${name}").` + }; +} +function logCannotEmitFromOptionsHook() { + return { + code: CANNOT_EMIT_FROM_OPTIONS_HOOK, + message: `Cannot emit files or set asset sources in the "outputOptions" hook, use the "renderStart" hook instead.` + }; +} +function logChunkNotGeneratedForFileName(name) { + return { + code: CHUNK_NOT_GENERATED, + message: `Plugin error - Unable to get file name for emitted chunk "${name}". You can only get file names once chunks have been generated after the "renderStart" hook.` + }; +} +function logChunkInvalid({ fileName, code }, { pos, message }) { + const errorProperties = { + code: CHUNK_INVALID, + message: `Chunk "${fileName}" is not valid JavaScript: ${message}.` + }; + augmentCodeLocation(errorProperties, pos, code, fileName); + return errorProperties; +} +function logCircularDependency(cyclePath) { + return { + code: CIRCULAR_DEPENDENCY, + ids: cyclePath, + message: `Circular dependency: ${cyclePath.map(relativeId).join(' -> ')}` + }; +} +function logCircularReexport(exportName, exporter) { + return { + code: CIRCULAR_REEXPORT, + exporter, + message: `"${exportName}" cannot be exported from "${relativeId(exporter)}" as it is a reexport that references itself.` + }; +} +function logCyclicCrossChunkReexport(exportName, exporter, reexporter, importer, preserveModules) { + return { + code: CYCLIC_CROSS_CHUNK_REEXPORT, + exporter, + id: importer, + message: `Export "${exportName}" of module "${relativeId(exporter)}" was reexported through module "${relativeId(reexporter)}" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order.\nEither change the import in "${relativeId(importer)}" to point directly to the exporting module or ${preserveModules ? 'do not use "output.preserveModules"' : 'reconfigure "output.manualChunks"'} to ensure these modules end up in the same chunk.`, + reexporter + }; +} +function logDeprecation(deprecation, urlSnippet, plugin) { + return { + code: DEPRECATED_FEATURE, + message: deprecation, + url: getRollupUrl(urlSnippet), + ...(plugin ? { plugin } : {}) + }; +} +function logConstVariableReassignError() { + return { + code: CONST_REASSIGN, + message: 'Cannot reassign a variable declared with `const`' + }; +} +function logDuplicateArgumentNameError(name) { + return { code: DUPLICATE_ARGUMENT_NAME, message: `Duplicate argument name "${name}"` }; +} +function logDuplicateExportError(name) { + return { code: DUPLICATE_EXPORT, message: `Duplicate export "${name}"` }; +} +function logDuplicateImportOptions() { + return { + code: DUPLICATE_IMPORT_OPTIONS, + message: 'Either use --input, or pass input path as argument' + }; +} +function logDuplicatePluginName(plugin) { + return { + code: DUPLICATE_PLUGIN_NAME, + message: `The plugin name ${plugin} is being used twice in the same build. Plugin names must be distinct or provide a cacheKey (please post an issue to the plugin if you are a plugin user).` + }; +} +function logEmptyChunk(chunkName) { + return { + code: EMPTY_BUNDLE, + message: `Generated an empty chunk: "${chunkName}".`, + names: [chunkName] + }; +} +function logEval(id) { + return { + code: EVAL, + id, + message: `Use of eval in "${relativeId(id)}" is strongly discouraged as it poses security risks and may cause issues with minification.`, + url: getRollupUrl(URL_AVOIDING_EVAL) + }; +} +function logExternalSyntheticExports(id, importer) { + return { + code: EXTERNAL_SYNTHETIC_EXPORTS, + exporter: id, + message: `External "${id}" cannot have "syntheticNamedExports" enabled (imported by "${relativeId(importer)}").` + }; +} +function logFailAfterWarnings() { + return { + code: FAIL_AFTER_WARNINGS, + message: 'Warnings occurred and --failAfterWarnings flag present.' + }; +} +function logFileNameConflict(fileName) { + return { + code: FILE_NAME_CONFLICT, + message: `The emitted file "${fileName}" overwrites a previously emitted file of the same name.` + }; +} +function logFileReferenceIdNotFoundForFilename(assetReferenceId) { + return { + code: FILE_NOT_FOUND, + message: `Plugin error - Unable to get file name for unknown file "${assetReferenceId}".` + }; +} +function logFirstSideEffect(source, id, { line, column }) { + return { + code: FIRST_SIDE_EFFECT, + message: `First side effect in ${relativeId(id)} is at (${line}:${column})\n${getCodeFrame(source, line, column)}` + }; +} +function logIllegalIdentifierAsName(name) { + return { + code: ILLEGAL_IDENTIFIER_AS_NAME, + message: `Given name "${name}" is not a legal JS identifier. If you need this, you can try "output.extend: true".`, + url: getRollupUrl(URL_OUTPUT_EXTEND) + }; +} +function logIllegalImportReassignment(name, importingId) { + return { + code: ILLEGAL_REASSIGNMENT, + message: `Illegal reassignment of import "${name}" in "${relativeId(importingId)}".` + }; +} +function logInconsistentImportAttributes(existingAttributes, newAttributes, source, importer) { + return { + code: INCONSISTENT_IMPORT_ATTRIBUTES, + message: `Module "${relativeId(importer)}" tried to import "${relativeId(source)}" with ${formatAttributes(newAttributes)} attributes, but it was already imported elsewhere with ${formatAttributes(existingAttributes)} attributes. Please ensure that import attributes for the same module are always consistent.` + }; +} +const formatAttributes = (attributes) => { + const entries = Object.entries(attributes); + if (entries.length === 0) + return 'no'; + return entries.map(([key, value]) => `"${key}": "${value}"`).join(', '); +}; +function logInvalidAnnotation(comment, id, type) { + return { + code: INVALID_ANNOTATION, + id, + message: `A comment\n\n"${comment}"\n\nin "${relativeId(id)}" contains an annotation that Rollup cannot interpret due to the position of the comment. The comment will be removed to avoid issues.`, + url: getRollupUrl(type === 'noSideEffects' ? URL_TREESHAKE_NOSIDEEFFECTS : URL_TREESHAKE_PURE) + }; +} +function logInputHookInOutputPlugin(pluginName, hookName) { + return { + code: INPUT_HOOK_IN_OUTPUT_PLUGIN, + message: `The "${hookName}" hook used by the output plugin ${pluginName} is a build time hook and will not be run for that plugin. Either this plugin cannot be used as an output plugin, or it should have an option to configure it as an output plugin.` + }; +} +function logCannotAssignModuleToChunk(moduleId, assignToAlias, currentAlias) { + return { + code: INVALID_CHUNK, + message: `Cannot assign "${relativeId(moduleId)}" to the "${assignToAlias}" chunk as it is already in the "${currentAlias}" chunk.` + }; +} +function logCannotBundleConfigAsEsm(originalError) { + return { + cause: originalError, + code: INVALID_CONFIG_MODULE_FORMAT, + message: `Rollup transpiled your configuration to an ES module even though it appears to contain CommonJS elements. To resolve this, you can pass the "--bundleConfigAsCjs" flag to Rollup or change your configuration to only contain valid ESM code.\n\nOriginal error: ${originalError.message}`, + stack: originalError.stack, + url: getRollupUrl(URL_BUNDLE_CONFIG_AS_CJS) + }; +} +function logCannotLoadConfigAsCjs(originalError) { + return { + cause: originalError, + code: INVALID_CONFIG_MODULE_FORMAT, + message: `Node tried to load your configuration file as CommonJS even though it is likely an ES module. To resolve this, change the extension of your configuration to ".mjs", set "type": "module" in your package.json file or pass the "--bundleConfigAsCjs" flag.\n\nOriginal error: ${originalError.message}`, + stack: originalError.stack, + url: getRollupUrl(URL_BUNDLE_CONFIG_AS_CJS) + }; +} +function logCannotLoadConfigAsEsm(originalError) { + return { + cause: originalError, + code: INVALID_CONFIG_MODULE_FORMAT, + message: `Node tried to load your configuration as an ES module even though it is likely CommonJS. To resolve this, change the extension of your configuration to ".cjs" or pass the "--bundleConfigAsCjs" flag.\n\nOriginal error: ${originalError.message}`, + stack: originalError.stack, + url: getRollupUrl(URL_BUNDLE_CONFIG_AS_CJS) + }; +} +function logInvalidExportOptionValue(optionValue) { + return { + code: INVALID_EXPORT_OPTION, + message: `"output.exports" must be "default", "named", "none", "auto", or left unspecified (defaults to "auto"), received "${optionValue}".`, + url: getRollupUrl(URL_OUTPUT_EXPORTS) + }; +} +function logIncompatibleExportOptionValue(optionValue, keys, entryModule) { + return { + code: INVALID_EXPORT_OPTION, + message: `"${optionValue}" was specified for "output.exports", but entry module "${relativeId(entryModule)}" has the following exports: ${printQuotedStringList(keys)}`, + url: getRollupUrl(URL_OUTPUT_EXPORTS) + }; +} +function logInternalIdCannotBeExternal(source, importer) { + return { + code: INVALID_EXTERNAL_ID, + message: `"${source}" is imported as an external by "${relativeId(importer)}", but is already an existing non-external module id.` + }; +} +function logImportOptionsAreInvalid(importer) { + return { + code: INVALID_IMPORT_ATTRIBUTE, + message: `Rollup could not statically analyze the options argument of a dynamic import in "${relativeId(importer)}". Dynamic import options need to be an object with a nested attributes object.` + }; +} +function logImportAttributeIsInvalid(importer) { + return { + code: INVALID_IMPORT_ATTRIBUTE, + message: `Rollup could not statically analyze an import attribute of a dynamic import in "${relativeId(importer)}". Import attributes need to have string keys and values. The attribute will be removed.` + }; +} +function logInvalidLogPosition(plugin) { + return { + code: INVALID_LOG_POSITION, + message: `Plugin "${plugin}" tried to add a file position to a log or warning. This is only supported in the "transform" hook at the moment and will be ignored.` + }; +} +function logInvalidOption(option, urlSnippet, explanation, value) { + return { + code: INVALID_OPTION, + message: `Invalid value ${value === undefined ? '' : `${JSON.stringify(value)} `}for option "${option}" - ${explanation}.`, + url: getRollupUrl(urlSnippet) + }; +} +function logInvalidAddonPluginHook(hook, plugin) { + return { + code: INVALID_PLUGIN_HOOK, + hook, + message: `Error running plugin hook "${hook}" for plugin "${plugin}", expected a string, a function hook or an object with a "handler" string or function.`, + plugin + }; +} +function logInvalidFunctionPluginHook(hook, plugin) { + return { + code: INVALID_PLUGIN_HOOK, + hook, + message: `Error running plugin hook "${hook}" for plugin "${plugin}", expected a function hook or an object with a "handler" function.`, + plugin + }; +} +function logInvalidRollupPhaseForChunkEmission() { + return { + code: INVALID_ROLLUP_PHASE, + message: `Cannot emit chunks after module loading has finished.` + }; +} +function logInvalidSetAssetSourceCall() { + return { + code: INVALID_SETASSETSOURCE, + message: `setAssetSource cannot be called in transform for caching reasons. Use emitFile with a source, or call setAssetSource in another hook.` + }; +} +function logInvalidFormatForTopLevelAwait(id, format) { + return { + code: INVALID_TLA_FORMAT, + id, + message: `Module format "${format}" does not support top-level await. Use the "es" or "system" output formats rather.` + }; +} +function logMissingConfig() { + return { + code: MISSING_CONFIG, + message: 'Config file must export an options object, or an array of options objects', + url: getRollupUrl(URL_CONFIGURATION_FILES) + }; +} +function logMissingEntryExport(binding, exporter) { + return { + binding, + code: MISSING_EXPORT, + exporter, + message: `Exported variable "${binding}" is not defined in "${relativeId(exporter)}".`, + url: getRollupUrl(URL_NAME_IS_NOT_EXPORTED) + }; +} +function logMissingExport(binding, importingModule, exporter) { + const isJson = node_path.extname(exporter) === '.json'; + return { + binding, + code: MISSING_EXPORT, + exporter, + id: importingModule, + message: `"${binding}" is not exported by "${relativeId(exporter)}", imported by "${relativeId(importingModule)}".${isJson ? ' (Note that you need @rollup/plugin-json to import JSON files)' : ''}`, + url: getRollupUrl(URL_NAME_IS_NOT_EXPORTED) + }; +} +function logMissingExternalConfig(file) { + return { + code: MISSING_EXTERNAL_CONFIG, + message: `Could not resolve config file "${file}"` + }; +} +function logMissingGlobalName(externalId, guess) { + return { + code: MISSING_GLOBAL_NAME, + id: externalId, + message: `No name was provided for external module "${externalId}" in "output.globals" – guessing "${guess}".`, + names: [guess], + url: getRollupUrl(URL_OUTPUT_GLOBALS) + }; +} +function logImplicitDependantCannotBeExternal(unresolvedId, implicitlyLoadedBefore) { + return { + code: MISSING_IMPLICIT_DEPENDANT, + message: `Module "${relativeId(unresolvedId)}" that should be implicitly loaded before "${relativeId(implicitlyLoadedBefore)}" cannot be external.` + }; +} +function logUnresolvedImplicitDependant(unresolvedId, implicitlyLoadedBefore) { + return { + code: MISSING_IMPLICIT_DEPENDANT, + message: `Module "${relativeId(unresolvedId)}" that should be implicitly loaded before "${relativeId(implicitlyLoadedBefore)}" could not be resolved.` + }; +} +function logImplicitDependantIsNotIncluded(module) { + const implicitDependencies = [...module.implicitlyLoadedBefore] + .map(dependency => relativeId(dependency.id)) + .sort(); + return { + code: MISSING_IMPLICIT_DEPENDANT, + message: `Module "${relativeId(module.id)}" that should be implicitly loaded before ${printQuotedStringList(implicitDependencies)} is not included in the module graph. Either it was not imported by an included module or only via a tree-shaken dynamic import, or no imported bindings were used and it had otherwise no side-effects.` + }; +} +function logMissingNameOptionForIifeExport() { + return { + code: MISSING_NAME_OPTION_FOR_IIFE_EXPORT, + message: `If you do not supply "output.name", you may not be able to access the exports of an IIFE bundle.`, + url: getRollupUrl(URL_OUTPUT_NAME) + }; +} +function logMissingNameOptionForUmdExport() { + return { + code: MISSING_NAME_OPTION_FOR_IIFE_EXPORT, + message: 'You must supply "output.name" for UMD bundles that have exports so that the exports are accessible in environments without a module loader.', + url: getRollupUrl(URL_OUTPUT_NAME) + }; +} +function logMissingNodeBuiltins(externalBuiltins) { + return { + code: MISSING_NODE_BUILTINS, + ids: externalBuiltins, + message: `Creating a browser bundle that depends on Node.js built-in modules (${printQuotedStringList(externalBuiltins)}). You might need to include https://github.com/FredKSchott/rollup-plugin-polyfill-node` + }; +} +// eslint-disable-next-line unicorn/prevent-abbreviations +function logMissingFileOrDirOption() { + return { + code: MISSING_OPTION, + message: 'You must specify "output.file" or "output.dir" for the build.', + url: getRollupUrl(URL_OUTPUT_DIR) + }; +} +function logMixedExport(facadeModuleId, name) { + return { + code: MIXED_EXPORTS, + id: facadeModuleId, + message: `Entry module "${relativeId(facadeModuleId)}" is using named and default exports together. Consumers of your bundle will have to use \`${name || 'chunk'}.default\` to access the default export, which may not be what you want. Use \`output.exports: "named"\` to disable this warning.`, + url: getRollupUrl(URL_OUTPUT_EXPORTS) + }; +} +function logModuleLevelDirective(directive, id) { + return { + code: MODULE_LEVEL_DIRECTIVE, + id, + message: `Module level directives cause errors when bundled, "${directive}" in "${relativeId(id)}" was ignored.` + }; +} +function logNamespaceConflict(binding, reexportingModuleId, sources) { + return { + binding, + code: NAMESPACE_CONFLICT, + ids: sources, + message: `Conflicting namespaces: "${relativeId(reexportingModuleId)}" re-exports "${binding}" from one of the modules ${printQuotedStringList(sources.map(moduleId => relativeId(moduleId)))} (will be ignored).`, + reexporter: reexportingModuleId + }; +} +function logNoTransformMapOrAstWithoutCode(pluginName) { + return { + code: NO_TRANSFORM_MAP_OR_AST_WITHOUT_CODE, + message: `The plugin "${pluginName}" returned a "map" or "ast" without returning ` + + 'a "code". This will be ignored.' + }; +} +function logOnlyInlineSourcemapsForStdout() { + return { + code: ONLY_INLINE_SOURCEMAPS, + message: 'Only inline sourcemaps are supported when bundling to stdout.' + }; +} +function logOptimizeChunkStatus(chunks, smallChunks, pointInTime) { + return { + code: OPTIMIZE_CHUNK_STATUS, + message: `${pointInTime}, there are\n` + + `${chunks} chunks, of which\n` + + `${smallChunks} are below minChunkSize.` + }; +} +function logParseError(message, pos) { + return { code: PARSE_ERROR, message, pos }; +} +function logRedeclarationError(name) { + return { code: REDECLARATION_ERROR, message: `Identifier "${name}" has already been declared` }; +} +function logModuleParseError(error, moduleId) { + let message = error.message.replace(/ \(\d+:\d+\)$/, ''); + if (moduleId.endsWith('.json')) { + message += ' (Note that you need @rollup/plugin-json to import JSON files)'; + } + else if (!moduleId.endsWith('.js')) { + message += ' (Note that you need plugins to import files that are not JavaScript)'; + } + return { + cause: error, + code: PARSE_ERROR, + id: moduleId, + message, + stack: error.stack + }; +} +function logPluginError(error, plugin, { hook, id } = {}) { + const code = error.code; + if (!error.pluginCode && + code != null && + (typeof code !== 'string' || !code.startsWith('PLUGIN_'))) { + error.pluginCode = code; + } + error.code = PLUGIN_ERROR; + error.plugin = plugin; + if (hook) { + error.hook = hook; + } + if (id) { + error.id = id; + } + return error; +} +function logShimmedExport(id, binding) { + return { + binding, + code: SHIMMED_EXPORT, + exporter: id, + message: `Missing export "${binding}" has been shimmed in module "${relativeId(id)}".` + }; +} +function logSourcemapBroken(plugin) { + return { + code: SOURCEMAP_BROKEN, + message: `Sourcemap is likely to be incorrect: a plugin (${plugin}) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help`, + plugin, + url: getRollupUrl(URL_SOURCEMAP_IS_LIKELY_TO_BE_INCORRECT) + }; +} +function logConflictingSourcemapSources(filename) { + return { + code: SOURCEMAP_BROKEN, + message: `Multiple conflicting contents for sourcemap source ${filename}` + }; +} +function logInvalidSourcemapForError(error, id, column, line, pos) { + return { + cause: error, + code: SOURCEMAP_ERROR, + id, + loc: { + column, + file: id, + line + }, + message: `Error when using sourcemap for reporting an error: ${error.message}`, + pos + }; +} +function logSyntheticNamedExportsNeedNamespaceExport(id, syntheticNamedExportsOption) { + return { + code: SYNTHETIC_NAMED_EXPORTS_NEED_NAMESPACE_EXPORT, + exporter: id, + message: `Module "${relativeId(id)}" that is marked with \`syntheticNamedExports: ${JSON.stringify(syntheticNamedExportsOption)}\` needs ${typeof syntheticNamedExportsOption === 'string' && syntheticNamedExportsOption !== 'default' + ? `an explicit export named "${syntheticNamedExportsOption}"` + : 'a default export'} that does not reexport an unresolved named export of the same module.` + }; +} +function logThisIsUndefined() { + return { + code: THIS_IS_UNDEFINED, + message: `The 'this' keyword is equivalent to 'undefined' at the top level of an ES module, and has been rewritten`, + url: getRollupUrl(URL_THIS_IS_UNDEFINED) + }; +} +function logUnexpectedNamedImport(id, imported, isReexport) { + const importType = isReexport ? 'reexport' : 'import'; + return { + code: UNEXPECTED_NAMED_IMPORT, + exporter: id, + message: `The named export "${imported}" was ${importType}ed from the external module "${relativeId(id)}" even though its interop type is "defaultOnly". Either remove or change this ${importType} or change the value of the "output.interop" option.`, + url: getRollupUrl(URL_OUTPUT_INTEROP) + }; +} +function logUnexpectedNamespaceReexport(id) { + return { + code: UNEXPECTED_NAMED_IMPORT, + exporter: id, + message: `There was a namespace "*" reexport from the external module "${relativeId(id)}" even though its interop type is "defaultOnly". This will be ignored as namespace reexports only reexport named exports. If this is not intended, either remove or change this reexport or change the value of the "output.interop" option.`, + url: getRollupUrl(URL_OUTPUT_INTEROP) + }; +} +function logUnknownOption(optionType, unknownOptions, validOptions) { + return { + code: UNKNOWN_OPTION, + message: `Unknown ${optionType}: ${unknownOptions.join(', ')}. Allowed options: ${validOptions.join(', ')}` + }; +} +function logEntryCannotBeExternal(unresolvedId) { + return { + code: UNRESOLVED_ENTRY, + message: `Entry module "${relativeId(unresolvedId)}" cannot be external.` + }; +} +function logExternalModulesCannotBeIncludedInManualChunks(source) { + return { + code: EXTERNAL_MODULES_CANNOT_BE_INCLUDED_IN_MANUAL_CHUNKS, + message: `"${source}" cannot be included in manualChunks because it is resolved as an external module by the "external" option or plugins.` + }; +} +function logExternalModulesCannotBeTransformedToModules(source) { + return { + code: EXTERNAL_MODULES_CANNOT_BE_TRANSFORMED_TO_MODULES, + message: `${source} is resolved as a module now, but it was an external module before. Please check whether there are conflicts in your Rollup options "external" and "manualChunks", manualChunks cannot include external modules.` + }; +} +function logUnresolvedEntry(unresolvedId) { + return { + code: UNRESOLVED_ENTRY, + message: `Could not resolve entry module "${relativeId(unresolvedId)}".` + }; +} +function logUnresolvedImport(source, importer) { + return { + code: UNRESOLVED_IMPORT, + exporter: source, + id: importer, + message: `Could not resolve "${source}" from "${relativeId(importer)}"` + }; +} +function logUnresolvedImportTreatedAsExternal(source, importer) { + return { + code: UNRESOLVED_IMPORT, + exporter: source, + id: importer, + message: `"${source}" is imported by "${relativeId(importer)}", but could not be resolved – treating it as an external dependency.`, + url: getRollupUrl(URL_TREATING_MODULE_AS_EXTERNAL_DEPENDENCY) + }; +} +function logUnusedExternalImports(externalId, names, importers) { + return { + code: UNUSED_EXTERNAL_IMPORT, + exporter: externalId, + ids: importers, + message: `${printQuotedStringList(names, [ + 'is', + 'are' + ])} imported from external module "${externalId}" but never used in ${printQuotedStringList(importers.map(importer => relativeId(importer)))}.`, + names + }; +} +function logFailedValidation(message) { + return { + code: VALIDATION_ERROR, + message + }; +} +function warnDeprecation(deprecation, urlSnippet, activeDeprecation, options, plugin) { + warnDeprecationWithOptions(deprecation, urlSnippet, activeDeprecation, options.onLog, options.strictDeprecations, plugin); +} +function warnDeprecationWithOptions(deprecation, urlSnippet, activeDeprecation, log, strictDeprecations, plugin) { + if (activeDeprecation || strictDeprecations) { + const warning = logDeprecation(deprecation, urlSnippet, plugin); + if (strictDeprecations) { + return error(warning); + } + log(LOGLEVEL_WARN, warning); + } +} + +const FIXED_STRINGS = [ + 'var', + 'let', + 'const', + 'init', + 'get', + 'set', + 'constructor', + 'method', + '-', + '+', + '!', + '~', + 'typeof', + 'void', + 'delete', + '++', + '--', + '==', + '!=', + '===', + '!==', + '<', + '<=', + '>', + '>=', + '<<', + '>>', + '>>>', + '+', + '-', + '*', + '/', + '%', + '|', + '^', + '&', + '||', + '&&', + 'in', + 'instanceof', + '**', + '??', + '=', + '+=', + '-=', + '*=', + '/=', + '%=', + '<<=', + '>>=', + '>>>=', + '|=', + '^=', + '&=', + '**=', + '&&=', + '||=', + '??=', + 'pure', + 'noSideEffects' +]; + +// This file is generated by scripts/generate-ast-converters.js. +// Do not edit this file directly. +const ANNOTATION_KEY = '_rollupAnnotations'; +const INVALID_ANNOTATION_KEY = '_rollupRemoved'; +function convertProgram(buffer, readString) { + return convertNode(0, new Uint32Array(buffer), readString); +} +/* eslint-disable sort-keys */ +const nodeConverters = [ + function parseError(position, buffer, readString) { + const pos = buffer[position++]; + const message = convertString(position, buffer, readString); + error(logParseError(message, pos)); + }, + function panicError(position, buffer, readString) { + const message = convertString(position, buffer, readString); + error(logParseError(message)); + }, + function arrayExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const elements = convertNodeList(position, buffer, readString); + return { + type: 'ArrayExpression', + start, + end, + elements + }; + }, + function arrayPattern(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const elements = convertNodeList(position, buffer, readString); + return { + type: 'ArrayPattern', + start, + end, + elements + }; + }, + function arrowFunctionExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const async = (flags & 1) === 1; + const expression = (flags & 2) === 2; + const generator = (flags & 4) === 4; + const parameters = convertNodeList(buffer[position++], buffer, readString); + const body = convertNode(buffer[position++], buffer, readString); + const annotations = convertAnnotations(position, buffer); + return { + type: 'ArrowFunctionExpression', + start, + end, + async, + expression, + generator, + ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}), + params: parameters, + body, + id: null + }; + }, + function assignmentExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const operator = FIXED_STRINGS[buffer[position++]]; + const right = convertNode(buffer[position++], buffer, readString); + const left = convertNode(position, buffer, readString); + return { + type: 'AssignmentExpression', + start, + end, + operator, + left, + right + }; + }, + function assignmentPattern(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const right = convertNode(buffer[position++], buffer, readString); + const left = convertNode(position, buffer, readString); + return { + type: 'AssignmentPattern', + start, + end, + left, + right + }; + }, + function awaitExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const argument = convertNode(position, buffer, readString); + return { + type: 'AwaitExpression', + start, + end, + argument + }; + }, + function binaryExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const operator = FIXED_STRINGS[buffer[position++]]; + const right = convertNode(buffer[position++], buffer, readString); + const left = convertNode(position, buffer, readString); + return { + type: 'BinaryExpression', + start, + end, + operator, + left, + right + }; + }, + function blockStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const body = convertNodeList(position, buffer, readString); + return { + type: 'BlockStatement', + start, + end, + body + }; + }, + function breakStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const labelPosition = buffer[position]; + const label = labelPosition === 0 ? null : convertNode(labelPosition, buffer, readString); + return { + type: 'BreakStatement', + start, + end, + label + }; + }, + function callExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const optional = (flags & 1) === 1; + const callee = convertNode(buffer[position++], buffer, readString); + const callArguments = convertNodeList(buffer[position++], buffer, readString); + const annotations = convertAnnotations(position, buffer); + return { + type: 'CallExpression', + start, + end, + optional, + ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}), + callee, + arguments: callArguments + }; + }, + function catchClause(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const parameterPosition = buffer[position++]; + const parameter = parameterPosition === 0 ? null : convertNode(parameterPosition, buffer, readString); + const body = convertNode(buffer[position], buffer, readString); + return { + type: 'CatchClause', + start, + end, + param: parameter, + body + }; + }, + function chainExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const expression = convertNode(position, buffer, readString); + return { + type: 'ChainExpression', + start, + end, + expression + }; + }, + function classBody(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const body = convertNodeList(position, buffer, readString); + return { + type: 'ClassBody', + start, + end, + body + }; + }, + function classDeclaration(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const idPosition = buffer[position++]; + const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString); + const superClassPosition = buffer[position++]; + const superClass = superClassPosition === 0 ? null : convertNode(superClassPosition, buffer, readString); + const body = convertNode(buffer[position], buffer, readString); + return { + type: 'ClassDeclaration', + start, + end, + id, + superClass, + body + }; + }, + function classExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const idPosition = buffer[position++]; + const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString); + const superClassPosition = buffer[position++]; + const superClass = superClassPosition === 0 ? null : convertNode(superClassPosition, buffer, readString); + const body = convertNode(buffer[position], buffer, readString); + return { + type: 'ClassExpression', + start, + end, + id, + superClass, + body + }; + }, + function conditionalExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const consequent = convertNode(buffer[position++], buffer, readString); + const alternate = convertNode(buffer[position++], buffer, readString); + const test = convertNode(position, buffer, readString); + return { + type: 'ConditionalExpression', + start, + end, + test, + consequent, + alternate + }; + }, + function continueStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const labelPosition = buffer[position]; + const label = labelPosition === 0 ? null : convertNode(labelPosition, buffer, readString); + return { + type: 'ContinueStatement', + start, + end, + label + }; + }, + function debuggerStatement(position, buffer) { + const start = buffer[position++]; + const end = buffer[position++]; + return { + type: 'DebuggerStatement', + start, + end + }; + }, + function directive(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const expression = convertNode(buffer[position++], buffer, readString); + const directive = convertString(position, buffer, readString); + return { + type: 'ExpressionStatement', + start, + end, + directive, + expression + }; + }, + function doWhileStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const test = convertNode(buffer[position++], buffer, readString); + const body = convertNode(position, buffer, readString); + return { + type: 'DoWhileStatement', + start, + end, + body, + test + }; + }, + function emptyStatement(position, buffer) { + const start = buffer[position++]; + const end = buffer[position++]; + return { + type: 'EmptyStatement', + start, + end + }; + }, + function exportAllDeclaration(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const exportedPosition = buffer[position++]; + const exported = exportedPosition === 0 ? null : convertNode(exportedPosition, buffer, readString); + const source = convertNode(buffer[position++], buffer, readString); + const attributes = convertNodeList(buffer[position], buffer, readString); + return { + type: 'ExportAllDeclaration', + start, + end, + exported, + source, + attributes + }; + }, + function exportDefaultDeclaration(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const declaration = convertNode(position, buffer, readString); + return { + type: 'ExportDefaultDeclaration', + start, + end, + declaration + }; + }, + function exportNamedDeclaration(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const sourcePosition = buffer[position++]; + const source = sourcePosition === 0 ? null : convertNode(sourcePosition, buffer, readString); + const attributes = convertNodeList(buffer[position++], buffer, readString); + const declarationPosition = buffer[position++]; + const declaration = declarationPosition === 0 ? null : convertNode(declarationPosition, buffer, readString); + const specifiers = convertNodeList(position, buffer, readString); + return { + type: 'ExportNamedDeclaration', + start, + end, + specifiers, + source, + attributes, + declaration + }; + }, + function exportSpecifier(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const exportedPosition = buffer[position++]; + const local = convertNode(position, buffer, readString); + return { + type: 'ExportSpecifier', + start, + end, + local, + exported: exportedPosition === 0 ? { ...local } : convertNode(exportedPosition, buffer, readString) + }; + }, + function expressionStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const expression = convertNode(position, buffer, readString); + return { + type: 'ExpressionStatement', + start, + end, + expression + }; + }, + function forInStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const right = convertNode(buffer[position++], buffer, readString); + const body = convertNode(buffer[position++], buffer, readString); + const left = convertNode(position, buffer, readString); + return { + type: 'ForInStatement', + start, + end, + left, + right, + body + }; + }, + function forOfStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const awaited = (flags & 1) === 1; + const right = convertNode(buffer[position++], buffer, readString); + const body = convertNode(buffer[position++], buffer, readString); + const left = convertNode(position, buffer, readString); + return { + type: 'ForOfStatement', + start, + end, + await: awaited, + left, + right, + body + }; + }, + function forStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const initPosition = buffer[position++]; + const init = initPosition === 0 ? null : convertNode(initPosition, buffer, readString); + const testPosition = buffer[position++]; + const test = testPosition === 0 ? null : convertNode(testPosition, buffer, readString); + const updatePosition = buffer[position++]; + const update = updatePosition === 0 ? null : convertNode(updatePosition, buffer, readString); + const body = convertNode(buffer[position], buffer, readString); + return { + type: 'ForStatement', + start, + end, + init, + test, + update, + body + }; + }, + function functionDeclaration(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const async = (flags & 1) === 1; + const generator = (flags & 2) === 2; + const idPosition = buffer[position++]; + const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString); + const parameters = convertNodeList(buffer[position++], buffer, readString); + const body = convertNode(buffer[position++], buffer, readString); + const annotations = convertAnnotations(position, buffer); + return { + type: 'FunctionDeclaration', + start, + end, + async, + generator, + ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}), + id, + params: parameters, + body, + expression: false + }; + }, + function functionExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const async = (flags & 1) === 1; + const generator = (flags & 2) === 2; + const idPosition = buffer[position++]; + const id = idPosition === 0 ? null : convertNode(idPosition, buffer, readString); + const parameters = convertNodeList(buffer[position++], buffer, readString); + const body = convertNode(buffer[position++], buffer, readString); + const annotations = convertAnnotations(position, buffer); + return { + type: 'FunctionExpression', + start, + end, + async, + generator, + ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}), + id, + params: parameters, + body, + expression: false + }; + }, + function identifier(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const name = convertString(position, buffer, readString); + return { + type: 'Identifier', + start, + end, + name + }; + }, + function ifStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const consequent = convertNode(buffer[position++], buffer, readString); + const alternatePosition = buffer[position++]; + const alternate = alternatePosition === 0 ? null : convertNode(alternatePosition, buffer, readString); + const test = convertNode(position, buffer, readString); + return { + type: 'IfStatement', + start, + end, + test, + consequent, + alternate + }; + }, + function importAttribute(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const value = convertNode(buffer[position++], buffer, readString); + const key = convertNode(position, buffer, readString); + return { + type: 'ImportAttribute', + start, + end, + key, + value + }; + }, + function importDeclaration(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const source = convertNode(buffer[position++], buffer, readString); + const attributes = convertNodeList(buffer[position++], buffer, readString); + const specifiers = convertNodeList(position, buffer, readString); + return { + type: 'ImportDeclaration', + start, + end, + specifiers, + source, + attributes + }; + }, + function importDefaultSpecifier(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const local = convertNode(position, buffer, readString); + return { + type: 'ImportDefaultSpecifier', + start, + end, + local + }; + }, + function importExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const optionsPosition = buffer[position++]; + const options = optionsPosition === 0 ? null : convertNode(optionsPosition, buffer, readString); + const source = convertNode(position, buffer, readString); + return { + type: 'ImportExpression', + start, + end, + source, + options + }; + }, + function importNamespaceSpecifier(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const local = convertNode(position, buffer, readString); + return { + type: 'ImportNamespaceSpecifier', + start, + end, + local + }; + }, + function importSpecifier(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const importedPosition = buffer[position++]; + const local = convertNode(buffer[position], buffer, readString); + return { + type: 'ImportSpecifier', + start, + end, + imported: importedPosition === 0 ? { ...local } : convertNode(importedPosition, buffer, readString), + local + }; + }, + function labeledStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const body = convertNode(buffer[position++], buffer, readString); + const label = convertNode(position, buffer, readString); + return { + type: 'LabeledStatement', + start, + end, + label, + body + }; + }, + function literalBigInt(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const raw = convertString(buffer[position++], buffer, readString); + const bigint = convertString(position, buffer, readString); + return { + type: 'Literal', + start, + end, + bigint, + raw, + value: BigInt(bigint) + }; + }, + function literalBoolean(position, buffer) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const value = (flags & 1) === 1; + return { + type: 'Literal', + start, + end, + value, + raw: value ? 'true' : 'false' + }; + }, + function literalNull(position, buffer) { + const start = buffer[position++]; + const end = buffer[position++]; + return { + type: 'Literal', + start, + end, + raw: 'null', + value: null + }; + }, + function literalNumber(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const rawPosition = buffer[position++]; + const raw = rawPosition === 0 ? undefined : convertString(rawPosition, buffer, readString); + const value = new DataView(buffer.buffer).getFloat64(position << 2, true); + return { + type: 'Literal', + start, + end, + raw, + value + }; + }, + function literalRegExp(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const pattern = convertString(buffer[position++], buffer, readString); + const flags = convertString(position, buffer, readString); + return { + type: 'Literal', + start, + end, + raw: `/${pattern}/${flags}`, + regex: { flags, pattern }, + value: new RegExp(pattern, flags) + }; + }, + function literalString(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const rawPosition = buffer[position++]; + const raw = rawPosition === 0 ? undefined : convertString(rawPosition, buffer, readString); + const value = convertString(position, buffer, readString); + return { + type: 'Literal', + start, + end, + value, + raw + }; + }, + function logicalExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const operator = FIXED_STRINGS[buffer[position++]]; + const right = convertNode(buffer[position++], buffer, readString); + const left = convertNode(position, buffer, readString); + return { + type: 'LogicalExpression', + start, + end, + operator, + left, + right + }; + }, + function memberExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const computed = (flags & 1) === 1; + const optional = (flags & 2) === 2; + const property = convertNode(buffer[position++], buffer, readString); + const object = convertNode(position, buffer, readString); + return { + type: 'MemberExpression', + start, + end, + computed, + optional, + object, + property + }; + }, + function metaProperty(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const property = convertNode(buffer[position++], buffer, readString); + const meta = convertNode(position, buffer, readString); + return { + type: 'MetaProperty', + start, + end, + meta, + property + }; + }, + function methodDefinition(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const computed = (flags & 1) === 1; + const isStatic = (flags & 2) === 2; + const value = convertNode(buffer[position++], buffer, readString); + const kind = FIXED_STRINGS[buffer[position++]]; + const key = convertNode(position, buffer, readString); + return { + type: 'MethodDefinition', + start, + end, + computed, + static: isStatic, + key, + value, + kind + }; + }, + function newExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const callee = convertNode(buffer[position++], buffer, readString); + const callArguments = convertNodeList(buffer[position++], buffer, readString); + const annotations = convertAnnotations(position, buffer); + return { + type: 'NewExpression', + start, + end, + ...(annotations.length > 0 ? { [ANNOTATION_KEY]: annotations } : {}), + callee, + arguments: callArguments + }; + }, + function objectExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const properties = convertNodeList(position, buffer, readString); + return { + type: 'ObjectExpression', + start, + end, + properties + }; + }, + function objectPattern(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const properties = convertNodeList(position, buffer, readString); + return { + type: 'ObjectPattern', + start, + end, + properties + }; + }, + function privateIdentifier(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const name = convertString(position, buffer, readString); + return { + type: 'PrivateIdentifier', + start, + end, + name + }; + }, + function program(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const annotations = convertAnnotations(buffer[position++], buffer); + const body = convertNodeList(position, buffer, readString); + return { + type: 'Program', + start, + end, + body, + ...(annotations.length > 0 ? { [INVALID_ANNOTATION_KEY]: annotations } : {}), + sourceType: 'module' + }; + }, + function property(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const method = (flags & 1) === 1; + const shorthand = (flags & 2) === 2; + const computed = (flags & 4) === 4; + const keyPosition = buffer[position++]; + const value = convertNode(buffer[position++], buffer, readString); + const kind = FIXED_STRINGS[buffer[position]]; + return { + type: 'Property', + start, + end, + method, + shorthand, + computed, + key: keyPosition === 0 ? { ...value } : convertNode(keyPosition, buffer, readString), + value, + kind + }; + }, + function propertyDefinition(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const computed = (flags & 1) === 1; + const isStatic = (flags & 2) === 2; + const valuePosition = buffer[position++]; + const value = valuePosition === 0 ? null : convertNode(valuePosition, buffer, readString); + const key = convertNode(position, buffer, readString); + return { + type: 'PropertyDefinition', + start, + end, + computed, + static: isStatic, + key, + value + }; + }, + function restElement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const argument = convertNode(position, buffer, readString); + return { + type: 'RestElement', + start, + end, + argument + }; + }, + function returnStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const argumentPosition = buffer[position]; + const argument = argumentPosition === 0 ? null : convertNode(argumentPosition, buffer, readString); + return { + type: 'ReturnStatement', + start, + end, + argument + }; + }, + function sequenceExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const expressions = convertNodeList(position, buffer, readString); + return { + type: 'SequenceExpression', + start, + end, + expressions + }; + }, + function spreadElement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const argument = convertNode(position, buffer, readString); + return { + type: 'SpreadElement', + start, + end, + argument + }; + }, + function staticBlock(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const body = convertNodeList(position, buffer, readString); + return { + type: 'StaticBlock', + start, + end, + body + }; + }, + function superElement(position, buffer) { + const start = buffer[position++]; + const end = buffer[position++]; + return { + type: 'Super', + start, + end + }; + }, + function switchCase(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const testPosition = buffer[position++]; + const test = testPosition === 0 ? null : convertNode(testPosition, buffer, readString); + const consequent = convertNodeList(buffer[position], buffer, readString); + return { + type: 'SwitchCase', + start, + end, + test, + consequent + }; + }, + function switchStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const cases = convertNodeList(buffer[position++], buffer, readString); + const discriminant = convertNode(position, buffer, readString); + return { + type: 'SwitchStatement', + start, + end, + discriminant, + cases + }; + }, + function taggedTemplateExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const quasi = convertNode(buffer[position++], buffer, readString); + const tag = convertNode(position, buffer, readString); + return { + type: 'TaggedTemplateExpression', + start, + end, + tag, + quasi + }; + }, + function templateElement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const tail = (flags & 1) === 1; + const cookedPosition = buffer[position++]; + const cooked = cookedPosition === 0 ? undefined : convertString(cookedPosition, buffer, readString); + const raw = convertString(position, buffer, readString); + return { + type: 'TemplateElement', + start, + end, + tail, + value: { cooked, raw } + }; + }, + function templateLiteral(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const expressions = convertNodeList(buffer[position++], buffer, readString); + const quasis = convertNodeList(position, buffer, readString); + return { + type: 'TemplateLiteral', + start, + end, + quasis, + expressions + }; + }, + function thisExpression(position, buffer) { + const start = buffer[position++]; + const end = buffer[position++]; + return { + type: 'ThisExpression', + start, + end + }; + }, + function throwStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const argument = convertNode(position, buffer, readString); + return { + type: 'ThrowStatement', + start, + end, + argument + }; + }, + function tryStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const handlerPosition = buffer[position++]; + const handler = handlerPosition === 0 ? null : convertNode(handlerPosition, buffer, readString); + const finalizerPosition = buffer[position++]; + const finalizer = finalizerPosition === 0 ? null : convertNode(finalizerPosition, buffer, readString); + const block = convertNode(position, buffer, readString); + return { + type: 'TryStatement', + start, + end, + block, + handler, + finalizer + }; + }, + function unaryExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const operator = FIXED_STRINGS[buffer[position++]]; + const argument = convertNode(position, buffer, readString); + return { + type: 'UnaryExpression', + start, + end, + operator, + argument, + prefix: true + }; + }, + function updateExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const prefix = (flags & 1) === 1; + const operator = FIXED_STRINGS[buffer[position++]]; + const argument = convertNode(position, buffer, readString); + return { + type: 'UpdateExpression', + start, + end, + prefix, + operator, + argument + }; + }, + function variableDeclaration(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const kind = FIXED_STRINGS[buffer[position++]]; + const declarations = convertNodeList(position, buffer, readString); + return { + type: 'VariableDeclaration', + start, + end, + kind, + declarations + }; + }, + function variableDeclarator(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const initPosition = buffer[position++]; + const init = initPosition === 0 ? null : convertNode(initPosition, buffer, readString); + const id = convertNode(position, buffer, readString); + return { + type: 'VariableDeclarator', + start, + end, + id, + init + }; + }, + function whileStatement(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const body = convertNode(buffer[position++], buffer, readString); + const test = convertNode(position, buffer, readString); + return { + type: 'WhileStatement', + start, + end, + test, + body + }; + }, + function yieldExpression(position, buffer, readString) { + const start = buffer[position++]; + const end = buffer[position++]; + const flags = buffer[position++]; + const delegate = (flags & 1) === 1; + const argumentPosition = buffer[position]; + const argument = argumentPosition === 0 ? null : convertNode(argumentPosition, buffer, readString); + return { + type: 'YieldExpression', + start, + end, + delegate, + argument + }; + } +]; +function convertNode(position, buffer, readString) { + const nodeType = buffer[position]; + const converter = nodeConverters[nodeType]; + /* istanbul ignore if: This should never be executed but is a safeguard against faulty buffers */ + if (!converter) { + console.trace(); + throw new Error(`Unknown node type: ${nodeType}`); + } + return converter(position + 1, buffer, readString); +} +function convertNodeList(position, buffer, readString) { + const length = buffer[position++]; + const list = []; + for (let index = 0; index < length; index++) { + const nodePosition = buffer[position++]; + list.push(nodePosition ? convertNode(nodePosition, buffer, readString) : null); + } + return list; +} +const convertAnnotations = (position, buffer) => { + const length = buffer[position++]; + const list = []; + for (let index = 0; index < length; index++) { + list.push(convertAnnotation(buffer[position++], buffer)); + } + return list; +}; +const convertAnnotation = (position, buffer) => { + const start = buffer[position++]; + const end = buffer[position++]; + const type = FIXED_STRINGS[buffer[position]]; + return { end, start, type }; +}; +const convertString = (position, buffer, readString) => { + const length = buffer[position++]; + const bytePosition = position << 2; + return readString(bytePosition, length); +}; + +function getReadStringFunction(astBuffer) { + if (typeof Buffer !== 'undefined' && astBuffer instanceof Buffer) { + return function readString(start, length) { + return astBuffer.toString('utf8', start, start + length); + }; + } + else { + const textDecoder = new TextDecoder(); + return function readString(start, length) { + return textDecoder.decode(astBuffer.subarray(start, start + length)); + }; + } +} + +const parseAst = (input, { allowReturnOutsideFunction = false } = {}) => { + const astBuffer = native_js.parse(input, allowReturnOutsideFunction); + return convertProgram(astBuffer.buffer, getReadStringFunction(astBuffer)); +}; +const parseAstAsync = async (input, { allowReturnOutsideFunction = false, signal } = {}) => { + const astBuffer = await native_js.parseAsync(input, allowReturnOutsideFunction, signal); + return convertProgram(astBuffer.buffer, getReadStringFunction(astBuffer)); +}; + +exports.ANNOTATION_KEY = ANNOTATION_KEY; +exports.INVALID_ANNOTATION_KEY = INVALID_ANNOTATION_KEY; +exports.LOGLEVEL_DEBUG = LOGLEVEL_DEBUG; +exports.LOGLEVEL_ERROR = LOGLEVEL_ERROR; +exports.LOGLEVEL_INFO = LOGLEVEL_INFO; +exports.LOGLEVEL_WARN = LOGLEVEL_WARN; +exports.URL_AVOIDING_EVAL = URL_AVOIDING_EVAL; +exports.URL_NAME_IS_NOT_EXPORTED = URL_NAME_IS_NOT_EXPORTED; +exports.URL_OUTPUT_AMD_BASEPATH = URL_OUTPUT_AMD_BASEPATH; +exports.URL_OUTPUT_AMD_ID = URL_OUTPUT_AMD_ID; +exports.URL_OUTPUT_DIR = URL_OUTPUT_DIR; +exports.URL_OUTPUT_EXPORTS = URL_OUTPUT_EXPORTS; +exports.URL_OUTPUT_EXTERNALIMPORTATTRIBUTES = URL_OUTPUT_EXTERNALIMPORTATTRIBUTES; +exports.URL_OUTPUT_FORMAT = URL_OUTPUT_FORMAT; +exports.URL_OUTPUT_GENERATEDCODE = URL_OUTPUT_GENERATEDCODE; +exports.URL_OUTPUT_GLOBALS = URL_OUTPUT_GLOBALS; +exports.URL_OUTPUT_INLINEDYNAMICIMPORTS = URL_OUTPUT_INLINEDYNAMICIMPORTS; +exports.URL_OUTPUT_INTEROP = URL_OUTPUT_INTEROP; +exports.URL_OUTPUT_MANUALCHUNKS = URL_OUTPUT_MANUALCHUNKS; +exports.URL_OUTPUT_SOURCEMAPBASEURL = URL_OUTPUT_SOURCEMAPBASEURL; +exports.URL_OUTPUT_SOURCEMAPFILE = URL_OUTPUT_SOURCEMAPFILE; +exports.URL_PRESERVEENTRYSIGNATURES = URL_PRESERVEENTRYSIGNATURES; +exports.URL_SOURCEMAP_IS_LIKELY_TO_BE_INCORRECT = URL_SOURCEMAP_IS_LIKELY_TO_BE_INCORRECT; +exports.URL_THIS_IS_UNDEFINED = URL_THIS_IS_UNDEFINED; +exports.URL_TREATING_MODULE_AS_EXTERNAL_DEPENDENCY = URL_TREATING_MODULE_AS_EXTERNAL_DEPENDENCY; +exports.URL_TREESHAKE = URL_TREESHAKE; +exports.URL_TREESHAKE_MODULESIDEEFFECTS = URL_TREESHAKE_MODULESIDEEFFECTS; +exports.URL_WATCH = URL_WATCH; +exports.addTrailingSlashIfMissed = addTrailingSlashIfMissed; +exports.augmentCodeLocation = augmentCodeLocation; +exports.error = error; +exports.getAliasName = getAliasName; +exports.getImportPath = getImportPath; +exports.getRollupUrl = getRollupUrl; +exports.isAbsolute = isAbsolute; +exports.isPathFragment = isPathFragment; +exports.isRelative = isRelative; +exports.isValidUrl = isValidUrl; +exports.locate = locate; +exports.logAddonNotGenerated = logAddonNotGenerated; +exports.logAlreadyClosed = logAlreadyClosed; +exports.logAmbiguousExternalNamespaces = logAmbiguousExternalNamespaces; +exports.logAnonymousPluginCache = logAnonymousPluginCache; +exports.logAssetNotFinalisedForFileName = logAssetNotFinalisedForFileName; +exports.logAssetReferenceIdNotFoundForSetSource = logAssetReferenceIdNotFoundForSetSource; +exports.logAssetSourceAlreadySet = logAssetSourceAlreadySet; +exports.logBadLoader = logBadLoader; +exports.logCannotAssignModuleToChunk = logCannotAssignModuleToChunk; +exports.logCannotBundleConfigAsEsm = logCannotBundleConfigAsEsm; +exports.logCannotCallNamespace = logCannotCallNamespace; +exports.logCannotEmitFromOptionsHook = logCannotEmitFromOptionsHook; +exports.logCannotLoadConfigAsCjs = logCannotLoadConfigAsCjs; +exports.logCannotLoadConfigAsEsm = logCannotLoadConfigAsEsm; +exports.logChunkInvalid = logChunkInvalid; +exports.logChunkNotGeneratedForFileName = logChunkNotGeneratedForFileName; +exports.logCircularDependency = logCircularDependency; +exports.logCircularReexport = logCircularReexport; +exports.logConflictingSourcemapSources = logConflictingSourcemapSources; +exports.logConstVariableReassignError = logConstVariableReassignError; +exports.logCyclicCrossChunkReexport = logCyclicCrossChunkReexport; +exports.logDuplicateArgumentNameError = logDuplicateArgumentNameError; +exports.logDuplicateExportError = logDuplicateExportError; +exports.logDuplicateImportOptions = logDuplicateImportOptions; +exports.logDuplicatePluginName = logDuplicatePluginName; +exports.logEmptyChunk = logEmptyChunk; +exports.logEntryCannotBeExternal = logEntryCannotBeExternal; +exports.logEval = logEval; +exports.logExternalModulesCannotBeIncludedInManualChunks = logExternalModulesCannotBeIncludedInManualChunks; +exports.logExternalModulesCannotBeTransformedToModules = logExternalModulesCannotBeTransformedToModules; +exports.logExternalSyntheticExports = logExternalSyntheticExports; +exports.logFailAfterWarnings = logFailAfterWarnings; +exports.logFailedValidation = logFailedValidation; +exports.logFileNameConflict = logFileNameConflict; +exports.logFileReferenceIdNotFoundForFilename = logFileReferenceIdNotFoundForFilename; +exports.logFirstSideEffect = logFirstSideEffect; +exports.logIllegalIdentifierAsName = logIllegalIdentifierAsName; +exports.logIllegalImportReassignment = logIllegalImportReassignment; +exports.logImplicitDependantCannotBeExternal = logImplicitDependantCannotBeExternal; +exports.logImplicitDependantIsNotIncluded = logImplicitDependantIsNotIncluded; +exports.logImportAttributeIsInvalid = logImportAttributeIsInvalid; +exports.logImportOptionsAreInvalid = logImportOptionsAreInvalid; +exports.logIncompatibleExportOptionValue = logIncompatibleExportOptionValue; +exports.logInconsistentImportAttributes = logInconsistentImportAttributes; +exports.logInputHookInOutputPlugin = logInputHookInOutputPlugin; +exports.logInternalIdCannotBeExternal = logInternalIdCannotBeExternal; +exports.logInvalidAddonPluginHook = logInvalidAddonPluginHook; +exports.logInvalidAnnotation = logInvalidAnnotation; +exports.logInvalidExportOptionValue = logInvalidExportOptionValue; +exports.logInvalidFormatForTopLevelAwait = logInvalidFormatForTopLevelAwait; +exports.logInvalidFunctionPluginHook = logInvalidFunctionPluginHook; +exports.logInvalidLogPosition = logInvalidLogPosition; +exports.logInvalidOption = logInvalidOption; +exports.logInvalidRollupPhaseForChunkEmission = logInvalidRollupPhaseForChunkEmission; +exports.logInvalidSetAssetSourceCall = logInvalidSetAssetSourceCall; +exports.logInvalidSourcemapForError = logInvalidSourcemapForError; +exports.logLevelPriority = logLevelPriority; +exports.logMissingConfig = logMissingConfig; +exports.logMissingEntryExport = logMissingEntryExport; +exports.logMissingExport = logMissingExport; +exports.logMissingExternalConfig = logMissingExternalConfig; +exports.logMissingFileOrDirOption = logMissingFileOrDirOption; +exports.logMissingGlobalName = logMissingGlobalName; +exports.logMissingNameOptionForIifeExport = logMissingNameOptionForIifeExport; +exports.logMissingNameOptionForUmdExport = logMissingNameOptionForUmdExport; +exports.logMissingNodeBuiltins = logMissingNodeBuiltins; +exports.logMixedExport = logMixedExport; +exports.logModuleLevelDirective = logModuleLevelDirective; +exports.logModuleParseError = logModuleParseError; +exports.logNamespaceConflict = logNamespaceConflict; +exports.logNoAssetSourceSet = logNoAssetSourceSet; +exports.logNoTransformMapOrAstWithoutCode = logNoTransformMapOrAstWithoutCode; +exports.logOnlyInlineSourcemapsForStdout = logOnlyInlineSourcemapsForStdout; +exports.logOptimizeChunkStatus = logOptimizeChunkStatus; +exports.logPluginError = logPluginError; +exports.logRedeclarationError = logRedeclarationError; +exports.logShimmedExport = logShimmedExport; +exports.logSourcemapBroken = logSourcemapBroken; +exports.logSyntheticNamedExportsNeedNamespaceExport = logSyntheticNamedExportsNeedNamespaceExport; +exports.logThisIsUndefined = logThisIsUndefined; +exports.logUnexpectedNamedImport = logUnexpectedNamedImport; +exports.logUnexpectedNamespaceReexport = logUnexpectedNamespaceReexport; +exports.logUnknownOption = logUnknownOption; +exports.logUnresolvedEntry = logUnresolvedEntry; +exports.logUnresolvedImplicitDependant = logUnresolvedImplicitDependant; +exports.logUnresolvedImport = logUnresolvedImport; +exports.logUnresolvedImportTreatedAsExternal = logUnresolvedImportTreatedAsExternal; +exports.logUnusedExternalImports = logUnusedExternalImports; +exports.normalize = normalize; +exports.parseAst = parseAst; +exports.parseAstAsync = parseAstAsync; +exports.printQuotedStringList = printQuotedStringList; +exports.relative = relative; +exports.relativeId = relativeId; +exports.warnDeprecation = warnDeprecation; +//# sourceMappingURL=parseAst.js.map diff --git a/.pnpm-store/v3/files/89/481af3765f074a33800b1e08aaac81764f9c7dd10fbd1ff6dd9c323cb676b17ed591efd3d592b6849d7b5e77c460d7ca5c56d52cab6e964ce7887fc5a292da b/.pnpm-store/v3/files/89/481af3765f074a33800b1e08aaac81764f9c7dd10fbd1ff6dd9c323cb676b17ed591efd3d592b6849d7b5e77c460d7ca5c56d52cab6e964ce7887fc5a292da new file mode 100644 index 00000000..a757d625 --- /dev/null +++ b/.pnpm-store/v3/files/89/481af3765f074a33800b1e08aaac81764f9c7dd10fbd1ff6dd9c323cb676b17ed591efd3d592b6849d7b5e77c460d7ca5c56d52cab6e964ce7887fc5a292da @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"P","2":"0 1 2 3 4 5 6 7 8 C K L G M N O Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","66":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P","2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","33":"CB DB EB FB GB HB IB JB KB LB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB","2":"F B C qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC","33":"ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"GD HD ID JD KD EC LD MD","2":"q r s t ND OD PD 5B 6B QD RD","33":"I"},Q:{"1":"FC"},R:{"2":"SD"},S:{"1":"TD","2":"UD"}},B:7,C:"Shadow DOM (deprecated V0 spec)",D:true}; diff --git a/.pnpm-store/v3/files/8a/1e359ef6f6d7b3aa24cb246ac40387dc16ee16980c20ebdc84ebf9ffdac19062ac54ad379b0361158e12e03e4521d129e82ae7055840f3d7e2b49f802999e3 b/.pnpm-store/v3/files/8a/1e359ef6f6d7b3aa24cb246ac40387dc16ee16980c20ebdc84ebf9ffdac19062ac54ad379b0361158e12e03e4521d129e82ae7055840f3d7e2b49f802999e3 new file mode 100644 index 00000000..3b35cf06 --- /dev/null +++ b/.pnpm-store/v3/files/8a/1e359ef6f6d7b3aa24cb246ac40387dc16ee16980c20ebdc84ebf9ffdac19062ac54ad379b0361158e12e03e4521d129e82ae7055840f3d7e2b49f802999e3 @@ -0,0 +1,22 @@ +{ + "name": "@rollup/rollup-linux-x64-gnu", + "version": "4.11.0", + "os": [ + "linux" + ], + "cpu": [ + "x64" + ], + "files": [ + "rollup.linux-x64-gnu.node" + ], + "description": "Native bindings for Rollup", + "author": "Lukas Taegert-Atkinson", + "homepage": "https://rollupjs.org/", + "license": "MIT", + "repository": "rollup/rollup", + "libc": [ + "glibc" + ], + "main": "./rollup.linux-x64-gnu.node" +} \ No newline at end of file diff --git a/.pnpm-store/v3/files/8a/2baf8ba6fec022b4808b14d16045fa413599d5ce1fdbb2ccd715e6c96d7bd319731f8bdd770e0ee20d20c722754515be4a7b76ec8cf69b04d354ace3928af5 b/.pnpm-store/v3/files/8a/2baf8ba6fec022b4808b14d16045fa413599d5ce1fdbb2ccd715e6c96d7bd319731f8bdd770e0ee20d20c722754515be4a7b76ec8cf69b04d354ace3928af5 new file mode 100644 index 00000000..1559fdb4 --- /dev/null +++ b/.pnpm-store/v3/files/8a/2baf8ba6fec022b4808b14d16045fa413599d5ce1fdbb2ccd715e6c96d7bd319731f8bdd770e0ee20d20c722754515be4a7b76ec8cf69b04d354ace3928af5 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"A B K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC","129":"C"},F:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB iC jC kC lC 2B QC mC 3B"},G:{"1":"sC tC uC vC wC xC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC","129":"yC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"ES6 Template Literals (Template Strings)",D:true}; diff --git a/.pnpm-store/v3/files/8a/d3c7d45c67d69b6a3dc1977de958b5a5f7da1deab368a40e7b5fde79271ef3ff6e529305cf39e52b9cc8d9b0ee653ba180637c7c4e3e39c88844d5d2f84343 b/.pnpm-store/v3/files/8a/d3c7d45c67d69b6a3dc1977de958b5a5f7da1deab368a40e7b5fde79271ef3ff6e529305cf39e52b9cc8d9b0ee653ba180637c7c4e3e39c88844d5d2f84343 new file mode 100644 index 00000000..edcb0455 --- /dev/null +++ b/.pnpm-store/v3/files/8a/d3c7d45c67d69b6a3dc1977de958b5a5f7da1deab368a40e7b5fde79271ef3ff6e529305cf39e52b9cc8d9b0ee653ba180637c7c4e3e39c88844d5d2f84343 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"H","2":"0 1 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z","4162":"2 3 4 5"},C:{"1":"1 2 3 4 5 6 7 8 H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB VC WC","194":"zB 0B P Q R AC S T U V W X Y Z a b","257":"c d e f g h i j k l m n o p v w x y","2049":"0 z"},D:{"1":"0 1 2 3 4 5 6 7 8 U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T"},E:{"1":"LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B","1796":"IC JC KC"},F:{"1":"uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C","257":"LC MC 8C 6B NC OC PC","1281":"5B IC JC KC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD ND"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:6,C:"AVIF image format",D:true}; diff --git a/.pnpm-store/v3/files/8a/dba1dc53a527d270b69ff4b6fd31e04335e794c17d63076b5e0dc3922ff3546c30bb02352033ad17405158b7de9e5a12468b4717932b1ea0de0f9c21d3cd3d b/.pnpm-store/v3/files/8a/dba1dc53a527d270b69ff4b6fd31e04335e794c17d63076b5e0dc3922ff3546c30bb02352033ad17405158b7de9e5a12468b4717932b1ea0de0f9c21d3cd3d new file mode 100644 index 00000000..03deaf46 --- /dev/null +++ b/.pnpm-store/v3/files/8a/dba1dc53a527d270b69ff4b6fd31e04335e794c17d63076b5e0dc3922ff3546c30bb02352033ad17405158b7de9e5a12468b4717932b1ea0de0f9c21d3cd3d @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","2":"TC"},D:{"1":"0 1 2 3 4 5 6 7 8 E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"I","4":"9 J D"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC"},F:{"1":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC"},H:{"1":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","2":"D"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"SVG filters",D:true}; diff --git a/.pnpm-store/v3/files/8a/efdceacf2f16bf62ddbec59213629c527ece8d14c5eceaba162f666eee6052c0f9e0c2579851b46add2c9d9f9f2c3b6dc0b68d27b36bda011476f2e41e3b56 b/.pnpm-store/v3/files/8a/efdceacf2f16bf62ddbec59213629c527ece8d14c5eceaba162f666eee6052c0f9e0c2579851b46add2c9d9f9f2c3b6dc0b68d27b36bda011476f2e41e3b56 new file mode 100644 index 00000000..9b5a0a32 --- /dev/null +++ b/.pnpm-store/v3/files/8a/efdceacf2f16bf62ddbec59213629c527ece8d14c5eceaba162f666eee6052c0f9e0c2579851b46add2c9d9f9f2c3b6dc0b68d27b36bda011476f2e41e3b56 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"K L G M N O","2":"0 1 2 3 4 5 6 7 8 C P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:6,C:"Object RTC (ORTC) API for WebRTC",D:true}; diff --git a/.pnpm-store/v3/files/8b/1d12be169ace459e512ff40abffea60b1a970ccc964687eee39d1801ae130baad2dc12717abf58de6f9eac63e6b00aadc543555fe75cbcff71a0592504f7bc b/.pnpm-store/v3/files/8b/1d12be169ace459e512ff40abffea60b1a970ccc964687eee39d1801ae130baad2dc12717abf58de6f9eac63e6b00aadc543555fe75cbcff71a0592504f7bc new file mode 100644 index 00000000..c57579a8 --- /dev/null +++ b/.pnpm-store/v3/files/8b/1d12be169ace459e512ff40abffea60b1a970ccc964687eee39d1801ae130baad2dc12717abf58de6f9eac63e6b00aadc543555fe75cbcff71a0592504f7bc @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","33":"9 I J D E F A B C K L G M N O VC WC","164":"TC 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC"},H:{"2":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS initial value",D:true}; diff --git a/.pnpm-store/v3/files/8b/28057f001afd378c07c01884790f07fd012bd028f5885e55ceb120dc16a0b31ad9cdc248df2bfd2cef86a147f67cfe6c3eef07a2cdba62bf52a83cea48a768 b/.pnpm-store/v3/files/8b/28057f001afd378c07c01884790f07fd012bd028f5885e55ceb120dc16a0b31ad9cdc248df2bfd2cef86a147f67cfe6c3eef07a2cdba62bf52a83cea48a768 new file mode 100644 index 00000000..ff052ac9 --- /dev/null +++ b/.pnpm-store/v3/files/8b/28057f001afd378c07c01884790f07fd012bd028f5885e55ceb120dc16a0b31ad9cdc248df2bfd2cef86a147f67cfe6c3eef07a2cdba62bf52a83cea48a768 @@ -0,0 +1 @@ +module.exports={C:{"12":0.02858,"52":0.00635,"68":0.00635,"78":0.01588,"83":0.01588,"84":0.00318,"88":0.00318,"91":0.00318,"98":0.00318,"99":0.00953,"115":0.26678,"117":0.00318,"118":0.00635,"119":0.02858,"120":0.01588,"121":0.78765,"122":0.28266,_:"2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 85 86 87 89 90 92 93 94 95 96 97 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 123 124 125 3.5 3.6"},D:{"29":0.00318,"34":0.00635,"38":0.00635,"49":0.0127,"53":0.00318,"55":0.00318,"56":0.00953,"58":0.13974,"64":0.00318,"65":0.00635,"66":0.00318,"67":0.02541,"68":0.00318,"69":0.00318,"70":0.00318,"73":0.00635,"74":0.00953,"75":0.00318,"76":0.00953,"79":0.01588,"80":0.00635,"81":0.00318,"83":0.01588,"84":0.00318,"85":0.00635,"86":0.02541,"87":0.03494,"88":0.00953,"89":0.00635,"90":0.00318,"91":0.02858,"92":0.00318,"93":0.00318,"94":0.00318,"95":0.01588,"96":0.00635,"97":0.00318,"98":0.03176,"99":0.0127,"100":0.00953,"101":0.00635,"102":0.01588,"103":0.05082,"104":0.00318,"105":0.00953,"106":0.00635,"107":0.04446,"108":0.04129,"109":2.25496,"110":0.00953,"111":0.00953,"112":0.01588,"113":0.00953,"114":0.02541,"115":0.01588,"116":0.08893,"117":0.04129,"118":0.04446,"119":3.56665,"120":14.41586,"121":1.16877,"122":0.00635,"123":0.00318,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 57 59 60 61 62 63 71 72 77 78 124"},F:{"79":0.00318,"85":0.00635,"95":0.01906,"102":0.00318,"104":0.00318,"105":0.26678,"106":0.33983,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00318,"14":0.00953,"15":0.00635,"16":0.00318,"17":0.00318,"18":0.00953,"84":0.00318,"89":0.00635,"90":0.00635,"92":0.03811,"100":0.00318,"108":0.00318,"109":0.07305,"110":0.00318,"113":0.00953,"114":0.00318,"115":0.00318,"116":0.00318,"117":0.0127,"118":0.00635,"119":0.0921,"120":2.69007,"121":0.33348,_:"13 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 111 112"},E:{"10":0.00953,"13":0.00318,"14":0.02541,"15":0.00318,_:"0 4 5 6 7 8 9 11 12 3.1 3.2 6.1 7.1 9.1 10.1 17.4","5.1":0.13339,"11.1":0.00318,"12.1":0.00635,"13.1":0.04446,"14.1":0.06352,"15.1":0.00953,"15.2-15.3":0.02223,"15.4":0.01906,"15.5":0.09846,"15.6":0.13657,"16.0":0.0127,"16.1":0.0794,"16.2":0.07305,"16.3":0.06034,"16.4":0.02223,"16.5":0.0667,"16.6":0.27314,"17.0":0.04446,"17.1":0.28266,"17.2":0.4097,"17.3":0.03176},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0035,"5.0-5.1":0.00524,"6.0-6.1":0.00874,"7.0-7.1":0.01224,"8.1-8.4":0.00175,"9.0-9.2":0.01049,"9.3":0.04021,"10.0-10.2":0.0035,"10.3":0.06294,"11.0-11.2":0.02448,"11.3-11.4":0.02622,"12.0-12.1":0.01573,"12.2-12.5":0.3112,"13.0-13.1":0.00524,"13.2":0.05769,"13.3":0.01573,"13.4-13.7":0.06993,"14.0-14.4":0.12238,"14.5-14.8":0.18707,"15.0-15.1":0.08042,"15.2-15.3":0.09266,"15.4":0.1084,"15.5":0.14336,"15.6-15.8":1.11717,"16.0":0.33568,"16.1":0.71506,"16.2":0.32519,"16.3":0.60491,"16.4":0.13462,"16.5":0.28672,"16.6-16.7":2.34623,"17.0":0.38987,"17.1":4.01936,"17.2":5.44074,"17.3":0.34966},P:{"4":0.09291,"20":0.07226,"21":0.17549,"22":0.25808,"23":4.3667,"5.0-5.4":0.01032,"6.2-6.4":0.01032,"7.2-7.4":0.18582,_:"8.2 10.1","9.2":0.01032,"11.1-11.2":0.06194,"12.0":0.01032,"13.0":0.04129,"14.0":0.04129,"15.0":0.02065,"16.0":0.04129,"17.0":0.14452,"18.0":0.03097,"19.0":0.07226},I:{"0":0.05435,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00014},A:{"11":0.10798,_:"6 7 8 9 10 5.5"},K:{"0":0.30026,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.22519},H:{"0":0},L:{"0":45.94362},R:{_:"0"},M:{"0":0.16378}}; diff --git a/.pnpm-store/v3/files/8c/79652afb067793d13494ca0fc1c0c0b07bce80f9444e40a9ee2df270161e1b2b97da6fea63343e8124e3cc4f3706c4ef6d5dd4d4c1e51d36f6ea09e6a59865 b/.pnpm-store/v3/files/8c/79652afb067793d13494ca0fc1c0c0b07bce80f9444e40a9ee2df270161e1b2b97da6fea63343e8124e3cc4f3706c4ef6d5dd4d4c1e51d36f6ea09e6a59865 new file mode 100644 index 00000000..285fe81b --- /dev/null +++ b/.pnpm-store/v3/files/8c/79652afb067793d13494ca0fc1c0c0b07bce80f9444e40a9ee2df270161e1b2b97da6fea63343e8124e3cc4f3706c4ef6d5dd4d4c1e51d36f6ea09e6a59865 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB","129":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B XC DC YC ZC aC bC EC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB iC jC kC lC 2B QC mC 3B"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED","16":"FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS",D:true}; diff --git a/.pnpm-store/v3/files/8c/79669121471f59f211e8d929c9fcaa32fbb9dfc0d40248ec2b8dcacb5d6f253a912270dd3dcde1b6f85f61fd18dfc3eedcf9e4fbf9857144002fd6e8ebb669 b/.pnpm-store/v3/files/8c/79669121471f59f211e8d929c9fcaa32fbb9dfc0d40248ec2b8dcacb5d6f253a912270dd3dcde1b6f85f61fd18dfc3eedcf9e4fbf9857144002fd6e8ebb669 new file mode 100644 index 00000000..7f0bf0c8 --- /dev/null +++ b/.pnpm-store/v3/files/8c/79669121471f59f211e8d929c9fcaa32fbb9dfc0d40248ec2b8dcacb5d6f253a912270dd3dcde1b6f85f61fd18dfc3eedcf9e4fbf9857144002fd6e8ebb669 @@ -0,0 +1 @@ +module.exports={A:{A:{"644":"J D SC","2049":"F A B","2692":"E"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2049":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC","260":"9 I J D E F A B","1156":"7B","1284":"VC","1796":"WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p lC 2B QC mC 3B","16":"F iC","132":"jC kC"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC"},H:{"1":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","132":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"2049":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"Element.getBoundingClientRect()",D:true}; diff --git a/.pnpm-store/v3/files/8c/d29068a56d9ea63f30f37001a285dd893ef35c8b4f3a237097bfc6cf81c59ecc4cc42118f50ec416d2b11eea841c4485e7cf3f5aece7367ccf48a5ed737fa1 b/.pnpm-store/v3/files/8c/d29068a56d9ea63f30f37001a285dd893ef35c8b4f3a237097bfc6cf81c59ecc4cc42118f50ec416d2b11eea841c4485e7cf3f5aece7367ccf48a5ed737fa1 new file mode 100644 index 00000000..681414ee --- /dev/null +++ b/.pnpm-store/v3/files/8c/d29068a56d9ea63f30f37001a285dd893ef35c8b4f3a237097bfc6cf81c59ecc4cc42118f50ec416d2b11eea841c4485e7cf3f5aece7367ccf48a5ed737fa1 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D SC","2":"E F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","16":"F"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC"},H:{"1":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"wbr (word break opportunity) element",D:true}; diff --git a/.pnpm-store/v3/files/8c/dd3f71f6f4eba2870bc5dd6164e3fdfc98794934fb94180f35d20f5431be58b7a52864bf065a82d14d50f74fddfc3776c86ef9e7e95bd16dc3819e428d88fe b/.pnpm-store/v3/files/8c/dd3f71f6f4eba2870bc5dd6164e3fdfc98794934fb94180f35d20f5431be58b7a52864bf065a82d14d50f74fddfc3776c86ef9e7e95bd16dc3819e428d88fe new file mode 100644 index 00000000..d6fb0eb1 --- /dev/null +++ b/.pnpm-store/v3/files/8c/dd3f71f6f4eba2870bc5dd6164e3fdfc98794934fb94180f35d20f5431be58b7a52864bf065a82d14d50f74fddfc3776c86ef9e7e95bd16dc3819e428d88fe @@ -0,0 +1 @@ +module.exports={C:{"96":0.00362,"97":0.00362,"99":0.00362,"102":0.01448,"107":0.00362,"111":0.77809,"115":0.14838,"119":0.00724,"120":0.0181,"121":0.40895,"122":0.09048,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 98 100 101 103 104 105 106 108 109 110 112 113 114 116 117 118 123 124 125 3.5 3.6"},D:{"24":0.00362,"29":0.33295,"49":0.00362,"68":0.00362,"74":0.00362,"75":0.02895,"76":0.07238,"77":0.00362,"79":0.02895,"83":0.11943,"88":0.03619,"89":0.01086,"90":0.00362,"93":0.0181,"94":0.00724,"97":0.68761,"100":0.01086,"102":0.02533,"103":0.15924,"104":0.00724,"107":0.00362,"109":0.50304,"110":0.00724,"111":0.00362,"112":0.01448,"113":0.00362,"114":0.04705,"115":0.07962,"116":0.152,"117":0.1339,"118":0.03981,"119":0.89751,"120":13.0863,"121":0.87942,"122":0.00362,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 78 80 81 84 85 86 87 91 92 95 96 98 99 101 105 106 108 123 124"},F:{"99":0.00724,"102":0.00362,"105":0.39085,"106":1.01694,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"84":0.00362,"86":0.00362,"95":0.00362,"97":0.00362,"99":0.00362,"100":0.00362,"109":0.05067,"113":0.00362,"114":0.00362,"117":0.00362,"118":0.00362,"119":0.10495,"120":6.08716,"121":0.58266,_:"12 13 14 15 16 17 18 79 80 81 83 85 87 88 89 90 91 92 93 94 96 98 101 102 103 104 105 106 107 108 110 111 112 115 116"},E:{"13":0.01448,"14":0.0181,"15":0.00362,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1 11.1 12.1 17.4","9.1":0.00724,"13.1":0.04705,"14.1":0.10495,"15.1":0.01448,"15.2-15.3":0.00362,"15.4":0.02895,"15.5":0.03981,"15.6":0.80704,"16.0":0.00362,"16.1":0.03619,"16.2":0.02895,"16.3":0.076,"16.4":0.07238,"16.5":0.11219,"16.6":1.0278,"17.0":0.07962,"17.1":0.93732,"17.2":1.39332,"17.3":0.21352},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00442,"5.0-5.1":0.00663,"6.0-6.1":0.01105,"7.0-7.1":0.01547,"8.1-8.4":0.00221,"9.0-9.2":0.01326,"9.3":0.05084,"10.0-10.2":0.00442,"10.3":0.07957,"11.0-11.2":0.03095,"11.3-11.4":0.03316,"12.0-12.1":0.01989,"12.2-12.5":0.39345,"13.0-13.1":0.00663,"13.2":0.07294,"13.3":0.01989,"13.4-13.7":0.08842,"14.0-14.4":0.15473,"14.5-14.8":0.23651,"15.0-15.1":0.10168,"15.2-15.3":0.11715,"15.4":0.13704,"15.5":0.18125,"15.6-15.8":1.41243,"16.0":0.42439,"16.1":0.90404,"16.2":0.41113,"16.3":0.76479,"16.4":0.1702,"16.5":0.3625,"16.6-16.7":2.96633,"17.0":0.49291,"17.1":5.08166,"17.2":6.8787,"17.3":0.44208},P:{"4":0.05491,"20":0.09884,"21":0.14277,"22":0.17572,"23":4.48093,"5.0-5.4":0.01098,"6.2-6.4":0.0659,"7.2-7.4":0.54913,_:"8.2 9.2 10.1 11.1-11.2 12.0 15.0","13.0":0.01098,"14.0":0.01098,"16.0":0.03295,"17.0":0.01098,"18.0":0.01098,"19.0":0.05491},I:{"0":0.11435,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00008,"4.4":0,"4.4.3-4.4.4":0.0003},A:{"11":0.0181,_:"6 7 8 9 10 5.5"},K:{"0":0.12762,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.31905},H:{"0":0},L:{"0":38.49784},R:{_:"0"},M:{"0":0.26162}}; diff --git a/.pnpm-store/v3/files/8d/7368d96e28a4466af10a073378e6cd74e0e40ebdda7c26f65842c38af98fd88fe66feab9057a59cb6ef458066abc224d26d3732c6b452b83a9d320e6a5fff2 b/.pnpm-store/v3/files/8d/7368d96e28a4466af10a073378e6cd74e0e40ebdda7c26f65842c38af98fd88fe66feab9057a59cb6ef458066abc224d26d3732c6b452b83a9d320e6a5fff2 new file mode 100644 index 00000000..3a810fd2 --- /dev/null +++ b/.pnpm-store/v3/files/8d/7368d96e28a4466af10a073378e6cd74e0e40ebdda7c26f65842c38af98fd88fe66feab9057a59cb6ef458066abc224d26d3732c6b452b83a9d320e6a5fff2 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","16":"9"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","2":"F"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"1":"9C"},I:{"1":"7B I H DD RC ED FD","2":"AD BD CD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Form attribute",D:true}; diff --git a/.pnpm-store/v3/files/8d/ec3c8fd5bf9e78f3d8efe57a9caa084b0d776b9ed41357ad6ad51cde0f5de35f93a0ea1d87d7f6b2737e196f60a4f72e367077759d069e8cdf75365bb0b1f7 b/.pnpm-store/v3/files/8d/ec3c8fd5bf9e78f3d8efe57a9caa084b0d776b9ed41357ad6ad51cde0f5de35f93a0ea1d87d7f6b2737e196f60a4f72e367077759d069e8cdf75365bb0b1f7 new file mode 100644 index 00000000..6dab15fb --- /dev/null +++ b/.pnpm-store/v3/files/8d/ec3c8fd5bf9e78f3d8efe57a9caa084b0d776b9ed41357ad6ad51cde0f5de35f93a0ea1d87d7f6b2737e196f60a4f72e367077759d069e8cdf75365bb0b1f7 @@ -0,0 +1,44 @@ +{ + "name": "electron-to-chromium", + "version": "1.4.670", + "description": "Provides a list of electron-to-chromium version mappings", + "main": "index.js", + "files": [ + "versions.js", + "full-versions.js", + "chromium-versions.js", + "full-chromium-versions.js", + "versions.json", + "full-versions.json", + "chromium-versions.json", + "full-chromium-versions.json", + "LICENSE" + ], + "scripts": { + "build": "node build.mjs", + "update": "node automated-update.js", + "test": "nyc ava --verbose", + "report": "nyc report --reporter=text-lcov > coverage.lcov && codecov" + }, + "repository": { + "type": "git", + "url": "https://github.com/kilian/electron-to-chromium/" + }, + "keywords": [ + "electron", + "chrome", + "chromium", + "browserslist", + "browserlist" + ], + "author": "Kilian Valkhof", + "license": "ISC", + "devDependencies": { + "ava": "^5.1.1", + "codecov": "^3.8.2", + "compare-versions": "^6.0.0-rc.1", + "node-fetch": "^3.3.0", + "nyc": "^15.1.0", + "shelljs": "^0.8.5" + } +} diff --git a/.pnpm-store/v3/files/8e/ab36edddff05c658cf36aa6b678b9235f7c29be1ab7ecc027069b3ba5d362384dec5b8c01f6940ffce8cd7795c7fb2d16b442eb81ede2154badf74ed8b788f b/.pnpm-store/v3/files/8e/ab36edddff05c658cf36aa6b678b9235f7c29be1ab7ecc027069b3ba5d362384dec5b8c01f6940ffce8cd7795c7fb2d16b442eb81ede2154badf74ed8b788f new file mode 100644 index 00000000..f11e2a77 --- /dev/null +++ b/.pnpm-store/v3/files/8e/ab36edddff05c658cf36aa6b678b9235f7c29be1ab7ecc027069b3ba5d362384dec5b8c01f6940ffce8cd7795c7fb2d16b442eb81ede2154badf74ed8b788f @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:6,C:"Temporal",D:true}; diff --git a/.pnpm-store/v3/files/8e/e0f9ceb290d3c676062c5b5832014d2dbc267def348f7b0d07590568110c463a184090b51acc4ab7423b9e4bc7baff9c72da06a62b9ff82ce8244f53e79147 b/.pnpm-store/v3/files/8e/e0f9ceb290d3c676062c5b5832014d2dbc267def348f7b0d07590568110c463a184090b51acc4ab7423b9e4bc7baff9c72da06a62b9ff82ce8244f53e79147 new file mode 100644 index 00000000..be9fc969 --- /dev/null +++ b/.pnpm-store/v3/files/8e/e0f9ceb290d3c676062c5b5832014d2dbc267def348f7b0d07590568110c463a184090b51acc4ab7423b9e4bc7baff9c72da06a62b9ff82ce8244f53e79147 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Y Z a b c d e f g h i j k l m n o p v w x y z H","450":"Q R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","450":"Q R S T U V W X"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","450":"qB rB sB tB uB vB u wB xB"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"257":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"Web NFC",D:true}; diff --git a/.pnpm-store/v3/files/8f/1919e61d14e0d7beed5295b32970141a5cfaf255e436a57990643324c1deb3d09b6ea60a76944ba1e9af90b63195b4cc985107c5d51003a81d20893673db4d b/.pnpm-store/v3/files/8f/1919e61d14e0d7beed5295b32970141a5cfaf255e436a57990643324c1deb3d09b6ea60a76944ba1e9af90b63195b4cc985107c5d51003a81d20893673db4d new file mode 100644 index 00000000..8ff47d10 --- /dev/null +++ b/.pnpm-store/v3/files/8f/1919e61d14e0d7beed5295b32970141a5cfaf255e436a57990643324c1deb3d09b6ea60a76944ba1e9af90b63195b4cc985107c5d51003a81d20893673db4d @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB iC jC kC lC 2B QC mC 3B"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Element.closest()",D:true}; diff --git a/.pnpm-store/v3/files/8f/51ad00f81cee921afa0d55b64ed3471a5e594404ed219b041ca520c480123c56b7f74f35e290393f74c0032f178fb973b9a48fb61d2d857ad1ddc23d9d10f9 b/.pnpm-store/v3/files/8f/51ad00f81cee921afa0d55b64ed3471a5e594404ed219b041ca520c480123c56b7f74f35e290393f74c0032f178fb973b9a48fb61d2d857ad1ddc23d9d10f9 new file mode 100644 index 00000000..590e7ff5 --- /dev/null +++ b/.pnpm-store/v3/files/8f/51ad00f81cee921afa0d55b64ed3471a5e594404ed219b041ca520c480123c56b7f74f35e290393f74c0032f178fb973b9a48fb61d2d857ad1ddc23d9d10f9 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","33":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"9 I J D","33":"0 1 2 3 4 5 6 7 8 K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","36":"E F A B C"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D","33":"A"},K:{"2":"A B C 2B QC 3B","33":"u"},L:{"33":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"33":"4B"},P:{"2":"I","33":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"33":"SD"},S:{"2":"TD UD"}},B:7,C:"Filesystem & FileWriter API",D:true}; diff --git a/.pnpm-store/v3/files/8f/62708637e456c30bd2a46bbe7866837c280f6d509ab6c5ec663f98dea1547456a2199177d728538c16cfd46f8bed256bfd9f1a12afa611445684dd3efed52b b/.pnpm-store/v3/files/8f/62708637e456c30bd2a46bbe7866837c280f6d509ab6c5ec663f98dea1547456a2199177d728538c16cfd46f8bed256bfd9f1a12afa611445684dd3efed52b new file mode 100644 index 00000000..56e09c6d --- /dev/null +++ b/.pnpm-store/v3/files/8f/62708637e456c30bd2a46bbe7866837c280f6d509ab6c5ec663f98dea1547456a2199177d728538c16cfd46f8bed256bfd9f1a12afa611445684dd3efed52b @@ -0,0 +1,2668 @@ +"use strict"; +// DEFLATE is a complex format; to read this code, you should probably check the RFC first: +// https://tools.ietf.org/html/rfc1951 +// You may also wish to take a look at the guide I made about this program: +// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad +// Some of the following code is similar to that of UZIP.js: +// https://github.com/photopea/UZIP.js +// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size. +// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint +// is better for memory in most engines (I *think*). +var node_worker_1 = require("./node-worker.cjs"); +// aliases for shorter compressed code (most minifers don't do this) +var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array; +// fixed length extra bits +var fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]); +// fixed distance extra bits +var fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]); +// code length index map +var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); +// get base, reverse index map from extra bits +var freb = function (eb, start) { + var b = new u16(31); + for (var i = 0; i < 31; ++i) { + b[i] = start += 1 << eb[i - 1]; + } + // numbers here are at max 18 bits + var r = new i32(b[30]); + for (var i = 1; i < 30; ++i) { + for (var j = b[i]; j < b[i + 1]; ++j) { + r[j] = ((j - b[i]) << 5) | i; + } + } + return { b: b, r: r }; +}; +var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r; +// we can ignore the fact that the other numbers are wrong; they never happen anyway +fl[28] = 258, revfl[258] = 28; +var _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r; +// map of value to reverse (assuming 16 bits) +var rev = new u16(32768); +for (var i = 0; i < 32768; ++i) { + // reverse table algorithm from SO + var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1); + x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2); + x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4); + rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1; +} +// create huffman tree from u8 "map": index -> code length for code index +// mb (max bits) must be at most 15 +// TODO: optimize/split up? +var hMap = (function (cd, mb, r) { + var s = cd.length; + // index + var i = 0; + // u16 "map": index -> # of codes with bit length = index + var l = new u16(mb); + // length of cd must be 288 (total # of codes) + for (; i < s; ++i) { + if (cd[i]) + ++l[cd[i] - 1]; + } + // u16 "map": index -> minimum code for bit length = index + var le = new u16(mb); + for (i = 1; i < mb; ++i) { + le[i] = (le[i - 1] + l[i - 1]) << 1; + } + var co; + if (r) { + // u16 "map": index -> number of actual bits, symbol for code + co = new u16(1 << mb); + // bits to remove for reverser + var rvb = 15 - mb; + for (i = 0; i < s; ++i) { + // ignore 0 lengths + if (cd[i]) { + // num encoding both symbol and bits read + var sv = (i << 4) | cd[i]; + // free bits + var r_1 = mb - cd[i]; + // start value + var v = le[cd[i] - 1]++ << r_1; + // m is end value + for (var m = v | ((1 << r_1) - 1); v <= m; ++v) { + // every 16 bit value starting with the code yields the same result + co[rev[v] >> rvb] = sv; + } + } + } + } + else { + co = new u16(s); + for (i = 0; i < s; ++i) { + if (cd[i]) { + co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]); + } + } + } + return co; +}); +// fixed length tree +var flt = new u8(288); +for (var i = 0; i < 144; ++i) + flt[i] = 8; +for (var i = 144; i < 256; ++i) + flt[i] = 9; +for (var i = 256; i < 280; ++i) + flt[i] = 7; +for (var i = 280; i < 288; ++i) + flt[i] = 8; +// fixed distance tree +var fdt = new u8(32); +for (var i = 0; i < 32; ++i) + fdt[i] = 5; +// fixed length map +var flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1); +// fixed distance map +var fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1); +// find max of array +var max = function (a) { + var m = a[0]; + for (var i = 1; i < a.length; ++i) { + if (a[i] > m) + m = a[i]; + } + return m; +}; +// read d, starting at bit p and mask with m +var bits = function (d, p, m) { + var o = (p / 8) | 0; + return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m; +}; +// read d, starting at bit p continuing for at least 16 bits +var bits16 = function (d, p) { + var o = (p / 8) | 0; + return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7)); +}; +// get end of byte +var shft = function (p) { return ((p + 7) / 8) | 0; }; +// typed array slice - allows garbage collector to free original reference, +// while being more compatible than .slice +var slc = function (v, s, e) { + if (s == null || s < 0) + s = 0; + if (e == null || e > v.length) + e = v.length; + // can't use .constructor in case user-supplied + return new u8(v.subarray(s, e)); +}; +/** + * Codes for errors generated within this library + */ +exports.FlateErrorCode = { + UnexpectedEOF: 0, + InvalidBlockType: 1, + InvalidLengthLiteral: 2, + InvalidDistance: 3, + StreamFinished: 4, + NoStreamHandler: 5, + InvalidHeader: 6, + NoCallback: 7, + InvalidUTF8: 8, + ExtraFieldTooLong: 9, + InvalidDate: 10, + FilenameTooLong: 11, + StreamFinishing: 12, + InvalidZipData: 13, + UnknownCompressionMethod: 14 +}; +// error codes +var ec = [ + 'unexpected EOF', + 'invalid block type', + 'invalid length/literal', + 'invalid distance', + 'stream finished', + 'no stream handler', + , + 'no callback', + 'invalid UTF-8 data', + 'extra field too long', + 'date not in range 1980-2099', + 'filename too long', + 'stream finishing', + 'invalid zip data' + // determined by unknown compression method +]; +; +var err = function (ind, msg, nt) { + var e = new Error(msg || ec[ind]); + e.code = ind; + if (Error.captureStackTrace) + Error.captureStackTrace(e, err); + if (!nt) + throw e; + return e; +}; +// expands raw DEFLATE data +var inflt = function (dat, st, buf, dict) { + // source length dict length + var sl = dat.length, dl = dict ? dict.length : 0; + if (!sl || st.f && !st.l) + return buf || new u8(0); + var noBuf = !buf; + // have to estimate size + var resize = noBuf || st.i != 2; + // no state + var noSt = st.i; + // Assumes roughly 33% compression ratio average + if (noBuf) + buf = new u8(sl * 3); + // ensure buffer can fit at least l elements + var cbuf = function (l) { + var bl = buf.length; + // need to increase size to fit + if (l > bl) { + // Double or set to necessary, whichever is greater + var nbuf = new u8(Math.max(bl * 2, l)); + nbuf.set(buf); + buf = nbuf; + } + }; + // last chunk bitpos bytes + var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n; + // total bits + var tbts = sl * 8; + do { + if (!lm) { + // BFINAL - this is only 1 when last chunk is next + final = bits(dat, pos, 1); + // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman + var type = bits(dat, pos + 1, 3); + pos += 3; + if (!type) { + // go to end of byte boundary + var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l; + if (t > sl) { + if (noSt) + err(0); + break; + } + // ensure size + if (resize) + cbuf(bt + l); + // Copy over uncompressed data + buf.set(dat.subarray(s, t), bt); + // Get new bitpos, update byte count + st.b = bt += l, st.p = pos = t * 8, st.f = final; + continue; + } + else if (type == 1) + lm = flrm, dm = fdrm, lbt = 9, dbt = 5; + else if (type == 2) { + // literal lengths + var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4; + var tl = hLit + bits(dat, pos + 5, 31) + 1; + pos += 14; + // length+distance tree + var ldt = new u8(tl); + // code length tree + var clt = new u8(19); + for (var i = 0; i < hcLen; ++i) { + // use index map to get real code + clt[clim[i]] = bits(dat, pos + i * 3, 7); + } + pos += hcLen * 3; + // code lengths bits + var clb = max(clt), clbmsk = (1 << clb) - 1; + // code lengths map + var clm = hMap(clt, clb, 1); + for (var i = 0; i < tl;) { + var r = clm[bits(dat, pos, clbmsk)]; + // bits read + pos += r & 15; + // symbol + var s = r >> 4; + // code length to copy + if (s < 16) { + ldt[i++] = s; + } + else { + // copy count + var c = 0, n = 0; + if (s == 16) + n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1]; + else if (s == 17) + n = 3 + bits(dat, pos, 7), pos += 3; + else if (s == 18) + n = 11 + bits(dat, pos, 127), pos += 7; + while (n--) + ldt[i++] = c; + } + } + // length tree distance tree + var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit); + // max length bits + lbt = max(lt); + // max dist bits + dbt = max(dt); + lm = hMap(lt, lbt, 1); + dm = hMap(dt, dbt, 1); + } + else + err(1); + if (pos > tbts) { + if (noSt) + err(0); + break; + } + } + // Make sure the buffer can hold this + the largest possible addition + // Maximum chunk size (practically, theoretically infinite) is 2^17 + if (resize) + cbuf(bt + 131072); + var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1; + var lpos = pos; + for (;; lpos = pos) { + // bits read, code + var c = lm[bits16(dat, pos) & lms], sym = c >> 4; + pos += c & 15; + if (pos > tbts) { + if (noSt) + err(0); + break; + } + if (!c) + err(2); + if (sym < 256) + buf[bt++] = sym; + else if (sym == 256) { + lpos = pos, lm = null; + break; + } + else { + var add = sym - 254; + // no extra bits needed if less + if (sym > 264) { + // index + var i = sym - 257, b = fleb[i]; + add = bits(dat, pos, (1 << b) - 1) + fl[i]; + pos += b; + } + // dist + var d = dm[bits16(dat, pos) & dms], dsym = d >> 4; + if (!d) + err(3); + pos += d & 15; + var dt = fd[dsym]; + if (dsym > 3) { + var b = fdeb[dsym]; + dt += bits16(dat, pos) & (1 << b) - 1, pos += b; + } + if (pos > tbts) { + if (noSt) + err(0); + break; + } + if (resize) + cbuf(bt + 131072); + var end = bt + add; + if (bt < dt) { + var shift = dl - dt, dend = Math.min(dt, end); + if (shift + bt < 0) + err(3); + for (; bt < dend; ++bt) + buf[bt] = dict[shift + bt]; + } + for (; bt < end; ++bt) + buf[bt] = buf[bt - dt]; + } + } + st.l = lm, st.p = lpos, st.b = bt, st.f = final; + if (lm) + final = 1, st.m = lbt, st.d = dm, st.n = dbt; + } while (!final); + // don't reallocate for streams or user buffers + return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt); +}; +// starting at p, write the minimum number of bits that can hold v to d +var wbits = function (d, p, v) { + v <<= p & 7; + var o = (p / 8) | 0; + d[o] |= v; + d[o + 1] |= v >> 8; +}; +// starting at p, write the minimum number of bits (>8) that can hold v to d +var wbits16 = function (d, p, v) { + v <<= p & 7; + var o = (p / 8) | 0; + d[o] |= v; + d[o + 1] |= v >> 8; + d[o + 2] |= v >> 16; +}; +// creates code lengths from a frequency table +var hTree = function (d, mb) { + // Need extra info to make a tree + var t = []; + for (var i = 0; i < d.length; ++i) { + if (d[i]) + t.push({ s: i, f: d[i] }); + } + var s = t.length; + var t2 = t.slice(); + if (!s) + return { t: et, l: 0 }; + if (s == 1) { + var v = new u8(t[0].s + 1); + v[t[0].s] = 1; + return { t: v, l: 1 }; + } + t.sort(function (a, b) { return a.f - b.f; }); + // after i2 reaches last ind, will be stopped + // freq must be greater than largest possible number of symbols + t.push({ s: -1, f: 25001 }); + var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2; + t[0] = { s: -1, f: l.f + r.f, l: l, r: r }; + // efficient algorithm from UZIP.js + // i0 is lookbehind, i2 is lookahead - after processing two low-freq + // symbols that combined have high freq, will start processing i2 (high-freq, + // non-composite) symbols instead + // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/ + while (i1 != s - 1) { + l = t[t[i0].f < t[i2].f ? i0++ : i2++]; + r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++]; + t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r }; + } + var maxSym = t2[0].s; + for (var i = 1; i < s; ++i) { + if (t2[i].s > maxSym) + maxSym = t2[i].s; + } + // code lengths + var tr = new u16(maxSym + 1); + // max bits in tree + var mbt = ln(t[i1 - 1], tr, 0); + if (mbt > mb) { + // more algorithms from UZIP.js + // TODO: find out how this code works (debt) + // ind debt + var i = 0, dt = 0; + // left cost + var lft = mbt - mb, cst = 1 << lft; + t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; }); + for (; i < s; ++i) { + var i2_1 = t2[i].s; + if (tr[i2_1] > mb) { + dt += cst - (1 << (mbt - tr[i2_1])); + tr[i2_1] = mb; + } + else + break; + } + dt >>= lft; + while (dt > 0) { + var i2_2 = t2[i].s; + if (tr[i2_2] < mb) + dt -= 1 << (mb - tr[i2_2]++ - 1); + else + ++i; + } + for (; i >= 0 && dt; --i) { + var i2_3 = t2[i].s; + if (tr[i2_3] == mb) { + --tr[i2_3]; + ++dt; + } + } + mbt = mb; + } + return { t: new u8(tr), l: mbt }; +}; +// get the max length and assign length codes +var ln = function (n, l, d) { + return n.s == -1 + ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1)) + : (l[n.s] = d); +}; +// length codes generation +var lc = function (c) { + var s = c.length; + // Note that the semicolon was intentional + while (s && !c[--s]) + ; + var cl = new u16(++s); + // ind num streak + var cli = 0, cln = c[0], cls = 1; + var w = function (v) { cl[cli++] = v; }; + for (var i = 1; i <= s; ++i) { + if (c[i] == cln && i != s) + ++cls; + else { + if (!cln && cls > 2) { + for (; cls > 138; cls -= 138) + w(32754); + if (cls > 2) { + w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305); + cls = 0; + } + } + else if (cls > 3) { + w(cln), --cls; + for (; cls > 6; cls -= 6) + w(8304); + if (cls > 2) + w(((cls - 3) << 5) | 8208), cls = 0; + } + while (cls--) + w(cln); + cls = 1; + cln = c[i]; + } + } + return { c: cl.subarray(0, cli), n: s }; +}; +// calculate the length of output from tree, code lengths +var clen = function (cf, cl) { + var l = 0; + for (var i = 0; i < cl.length; ++i) + l += cf[i] * cl[i]; + return l; +}; +// writes a fixed block +// returns the new bit pos +var wfblk = function (out, pos, dat) { + // no need to write 00 as type: TypedArray defaults to 0 + var s = dat.length; + var o = shft(pos + 2); + out[o] = s & 255; + out[o + 1] = s >> 8; + out[o + 2] = out[o] ^ 255; + out[o + 3] = out[o + 1] ^ 255; + for (var i = 0; i < s; ++i) + out[o + i + 4] = dat[i]; + return (o + 4 + s) * 8; +}; +// writes a block +var wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) { + wbits(out, p++, final); + ++lf[256]; + var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l; + var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l; + var _c = lc(dlt), lclt = _c.c, nlc = _c.n; + var _d = lc(ddt), lcdt = _d.c, ndc = _d.n; + var lcfreq = new u16(19); + for (var i = 0; i < lclt.length; ++i) + ++lcfreq[lclt[i] & 31]; + for (var i = 0; i < lcdt.length; ++i) + ++lcfreq[lcdt[i] & 31]; + var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l; + var nlcc = 19; + for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc) + ; + var flen = (bl + 5) << 3; + var ftlen = clen(lf, flt) + clen(df, fdt) + eb; + var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]; + if (bs >= 0 && flen <= ftlen && flen <= dtlen) + return wfblk(out, p, dat.subarray(bs, bs + bl)); + var lm, ll, dm, dl; + wbits(out, p, 1 + (dtlen < ftlen)), p += 2; + if (dtlen < ftlen) { + lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt; + var llm = hMap(lct, mlcb, 0); + wbits(out, p, nlc - 257); + wbits(out, p + 5, ndc - 1); + wbits(out, p + 10, nlcc - 4); + p += 14; + for (var i = 0; i < nlcc; ++i) + wbits(out, p + 3 * i, lct[clim[i]]); + p += 3 * nlcc; + var lcts = [lclt, lcdt]; + for (var it = 0; it < 2; ++it) { + var clct = lcts[it]; + for (var i = 0; i < clct.length; ++i) { + var len = clct[i] & 31; + wbits(out, p, llm[len]), p += lct[len]; + if (len > 15) + wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12; + } + } + } + else { + lm = flm, ll = flt, dm = fdm, dl = fdt; + } + for (var i = 0; i < li; ++i) { + var sym = syms[i]; + if (sym > 255) { + var len = (sym >> 18) & 31; + wbits16(out, p, lm[len + 257]), p += ll[len + 257]; + if (len > 7) + wbits(out, p, (sym >> 23) & 31), p += fleb[len]; + var dst = sym & 31; + wbits16(out, p, dm[dst]), p += dl[dst]; + if (dst > 3) + wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst]; + } + else { + wbits16(out, p, lm[sym]), p += ll[sym]; + } + } + wbits16(out, p, lm[256]); + return p + ll[256]; +}; +// deflate options (nice << 13) | chain +var deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]); +// empty +var et = /*#__PURE__*/ new u8(0); +// compresses data into a raw DEFLATE buffer +var dflt = function (dat, lvl, plvl, pre, post, st) { + var s = st.z || dat.length; + var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post); + // writing to this writes to the output buffer + var w = o.subarray(pre, o.length - post); + var lst = st.l; + var pos = (st.r || 0) & 7; + if (lvl) { + if (pos) + w[0] = st.r >> 3; + var opt = deo[lvl - 1]; + var n = opt >> 13, c = opt & 8191; + var msk_1 = (1 << plvl) - 1; + // prev 2-byte val map curr 2-byte val map + var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1); + var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1; + var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; }; + // 24576 is an arbitrary number of maximum symbols per block + // 424 buffer for last block + var syms = new i32(25000); + // length/literal freq distance freq + var lf = new u16(288), df = new u16(32); + // l/lcnt exbits index l/lind waitdx blkpos + var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0; + for (; i + 2 < s; ++i) { + // hash value + var hv = hsh(i); + // index mod 32768 previous index mod + var imod = i & 32767, pimod = head[hv]; + prev[imod] = pimod; + head[hv] = imod; + // We always should modify head and prev, but only add symbols if + // this data is not yet processed ("wait" for wait index) + if (wi <= i) { + // bytes remaining + var rem = s - i; + if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) { + pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos); + li = lc_1 = eb = 0, bs = i; + for (var j = 0; j < 286; ++j) + lf[j] = 0; + for (var j = 0; j < 30; ++j) + df[j] = 0; + } + // len dist chain + var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767; + if (rem > 2 && hv == hsh(i - dif)) { + var maxn = Math.min(n, rem) - 1; + var maxd = Math.min(32767, i); + // max possible length + // not capped at dif because decompressors implement "rolling" index population + var ml = Math.min(258, rem); + while (dif <= maxd && --ch_1 && imod != pimod) { + if (dat[i + l] == dat[i + l - dif]) { + var nl = 0; + for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl) + ; + if (nl > l) { + l = nl, d = dif; + // break out early when we reach "nice" (we are satisfied enough) + if (nl > maxn) + break; + // now, find the rarest 2-byte sequence within this + // length of literals and search for that instead. + // Much faster than just using the start + var mmd = Math.min(dif, nl - 2); + var md = 0; + for (var j = 0; j < mmd; ++j) { + var ti = i - dif + j & 32767; + var pti = prev[ti]; + var cd = ti - pti & 32767; + if (cd > md) + md = cd, pimod = ti; + } + } + } + // check the previous match + imod = pimod, pimod = prev[imod]; + dif += imod - pimod & 32767; + } + } + // d will be nonzero only when a match was found + if (d) { + // store both dist and len data in one int32 + // Make sure this is recognized as a len/dist with 28th bit (2^28) + syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d]; + var lin = revfl[l] & 31, din = revfd[d] & 31; + eb += fleb[lin] + fdeb[din]; + ++lf[257 + lin]; + ++df[din]; + wi = i + l; + ++lc_1; + } + else { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + } + } + for (i = Math.max(i, wi); i < s; ++i) { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos); + if (!lst) { + st.r = (pos & 7) | w[(pos / 8) | 0] << 3; + // shft(pos) now 1 less if pos & 7 != 0 + pos -= 7; + st.h = head, st.p = prev, st.i = i, st.w = wi; + } + } + else { + for (var i = st.w || 0; i < s + lst; i += 65535) { + // end + var e = i + 65535; + if (e >= s) { + // write final block + w[(pos / 8) | 0] = lst; + e = s; + } + pos = wfblk(w, pos + 1, dat.subarray(i, e)); + } + st.i = s; + } + return slc(o, 0, pre + shft(pos) + post); +}; +// CRC32 table +var crct = /*#__PURE__*/ (function () { + var t = new Int32Array(256); + for (var i = 0; i < 256; ++i) { + var c = i, k = 9; + while (--k) + c = ((c & 1) && -306674912) ^ (c >>> 1); + t[i] = c; + } + return t; +})(); +// CRC32 +var crc = function () { + var c = -1; + return { + p: function (d) { + // closures have awful performance + var cr = c; + for (var i = 0; i < d.length; ++i) + cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8); + c = cr; + }, + d: function () { return ~c; } + }; +}; +// Adler32 +var adler = function () { + var a = 1, b = 0; + return { + p: function (d) { + // closures have awful performance + var n = a, m = b; + var l = d.length | 0; + for (var i = 0; i != l;) { + var e = Math.min(i + 2655, l); + for (; i < e; ++i) + m += n += d[i]; + n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16); + } + a = n, b = m; + }, + d: function () { + a %= 65521, b %= 65521; + return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8); + } + }; +}; +; +// deflate with opts +var dopt = function (dat, opt, pre, post, st) { + if (!st) { + st = { l: 1 }; + if (opt.dictionary) { + var dict = opt.dictionary.subarray(-32768); + var newDat = new u8(dict.length + dat.length); + newDat.set(dict); + newDat.set(dat, dict.length); + dat = newDat; + st.w = dict.length; + } + } + return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (12 + opt.mem), pre, post, st); +}; +// Walmart object spread +var mrg = function (a, b) { + var o = {}; + for (var k in a) + o[k] = a[k]; + for (var k in b) + o[k] = b[k]; + return o; +}; +// worker clone +// This is possibly the craziest part of the entire codebase, despite how simple it may seem. +// The only parameter to this function is a closure that returns an array of variables outside of the function scope. +// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization. +// We will return an object mapping of true variable name to value (basically, the current scope as a JS object). +// The reason we can't just use the original variable names is minifiers mangling the toplevel scope. +// This took me three weeks to figure out how to do. +var wcln = function (fn, fnStr, td) { + var dt = fn(); + var st = fn.toString(); + var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\s+/g, '').split(','); + for (var i = 0; i < dt.length; ++i) { + var v = dt[i], k = ks[i]; + if (typeof v == 'function') { + fnStr += ';' + k + '='; + var st_1 = v.toString(); + if (v.prototype) { + // for global objects + if (st_1.indexOf('[native code]') != -1) { + var spInd = st_1.indexOf(' ', 8) + 1; + fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd)); + } + else { + fnStr += st_1; + for (var t in v.prototype) + fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString(); + } + } + else + fnStr += st_1; + } + else + td[k] = v; + } + return fnStr; +}; +var ch = []; +// clone bufs +var cbfs = function (v) { + var tl = []; + for (var k in v) { + if (v[k].buffer) { + tl.push((v[k] = new v[k].constructor(v[k])).buffer); + } + } + return tl; +}; +// use a worker to execute code +var wrkr = function (fns, init, id, cb) { + if (!ch[id]) { + var fnStr = '', td_1 = {}, m = fns.length - 1; + for (var i = 0; i < m; ++i) + fnStr = wcln(fns[i], fnStr, td_1); + ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 }; + } + var td = mrg({}, ch[id].e); + return (0, node_worker_1.default)(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb); +}; +// base async inflate fn +var bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; }; +var bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; }; +// gzip extra +var gze = function () { return [gzh, gzhl, wbytes, crc, crct]; }; +// gunzip extra +var guze = function () { return [gzs, gzl]; }; +// zlib extra +var zle = function () { return [zlh, wbytes, adler]; }; +// unzlib extra +var zule = function () { return [zls]; }; +// post buf +var pbf = function (msg) { return postMessage(msg, [msg.buffer]); }; +// get opts +var gopt = function (o) { return o && { + out: o.size && new u8(o.size), + dictionary: o.dictionary +}; }; +// async helper +var cbify = function (dat, opts, fns, init, id, cb) { + var w = wrkr(fns, init, id, function (err, dat) { + w.terminate(); + cb(err, dat); + }); + w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []); + return function () { w.terminate(); }; +}; +// auto stream +var astrm = function (strm) { + strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); }; + return function (ev) { + if (ev.data.length) { + strm.push(ev.data[0], ev.data[1]); + postMessage([ev.data[0].length]); + } + else + strm.flush(); + }; +}; +// async stream attach +var astrmify = function (fns, strm, opts, init, id, flush, ext) { + var t; + var w = wrkr(fns, init, id, function (err, dat) { + if (err) + w.terminate(), strm.ondata.call(strm, err); + else if (!Array.isArray(dat)) + ext(dat); + else if (dat.length == 1) { + strm.queuedSize -= dat[0]; + if (strm.ondrain) + strm.ondrain(dat[0]); + } + else { + if (dat[1]) + w.terminate(); + strm.ondata.call(strm, err, dat[0], dat[1]); + } + }); + w.postMessage(opts); + strm.queuedSize = 0; + strm.push = function (d, f) { + if (!strm.ondata) + err(5); + if (t) + strm.ondata(err(4, 0, 1), null, !!f); + strm.queuedSize += d.length; + w.postMessage([d, t = f], [d.buffer]); + }; + strm.terminate = function () { w.terminate(); }; + if (flush) { + strm.flush = function () { w.postMessage([]); }; + } +}; +// read 2 bytes +var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); }; +// read 4 bytes +var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; }; +var b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); }; +// write bytes +var wbytes = function (d, b, v) { + for (; v; ++b) + d[b] = v, v >>>= 8; +}; +// gzip header +var gzh = function (c, o) { + var fn = o.filename; + c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix + if (o.mtime != 0) + wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000)); + if (fn) { + c[3] = 8; + for (var i = 0; i <= fn.length; ++i) + c[i + 10] = fn.charCodeAt(i); + } +}; +// gzip footer: -8 to -4 = CRC, -4 to -0 is length +// gzip start +var gzs = function (d) { + if (d[0] != 31 || d[1] != 139 || d[2] != 8) + err(6, 'invalid gzip data'); + var flg = d[3]; + var st = 10; + if (flg & 4) + st += (d[10] | d[11] << 8) + 2; + for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++]) + ; + return st + (flg & 2); +}; +// gzip length +var gzl = function (d) { + var l = d.length; + return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0; +}; +// gzip header length +var gzhl = function (o) { return 10 + (o.filename ? o.filename.length + 1 : 0); }; +// zlib header +var zlh = function (c, o) { + var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2; + c[0] = 120, c[1] = (fl << 6) | (o.dictionary && 32); + c[1] |= 31 - ((c[0] << 8) | c[1]) % 31; + if (o.dictionary) { + var h = adler(); + h.p(o.dictionary); + wbytes(c, 2, h.d()); + } +}; +// zlib start +var zls = function (d, dict) { + if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31)) + err(6, 'invalid zlib data'); + if ((d[1] >> 5 & 1) == +!dict) + err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary'); + return (d[1] >> 3 & 4) + 2; +}; +function StrmOpt(opts, cb) { + if (typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + return opts; +} +/** + * Streaming DEFLATE compression + */ +var Deflate = /*#__PURE__*/ (function () { + function Deflate(opts, cb) { + if (typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + this.o = opts || {}; + this.s = { l: 0, i: 32768, w: 32768, z: 32768 }; + // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev + // 98304 = 32768 (lookback) + 65536 (common chunk size) + this.b = new u8(98304); + if (this.o.dictionary) { + var dict = this.o.dictionary.subarray(-32768); + this.b.set(dict, 32768 - dict.length); + this.s.i = 32768 - dict.length; + } + } + Deflate.prototype.p = function (c, f) { + this.ondata(dopt(c, this.o, 0, 0, this.s), f); + }; + /** + * Pushes a chunk to be deflated + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Deflate.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + if (this.s.l) + err(4); + var endLen = chunk.length + this.s.z; + if (endLen > this.b.length) { + if (endLen > 2 * this.b.length - 32768) { + var newBuf = new u8(endLen & -32768); + newBuf.set(this.b.subarray(0, this.s.z)); + this.b = newBuf; + } + var split = this.b.length - this.s.z; + this.b.set(chunk.subarray(0, split), this.s.z); + this.s.z = this.b.length; + this.p(this.b, false); + this.b.set(this.b.subarray(-32768)); + this.b.set(chunk.subarray(split), 32768); + this.s.z = chunk.length - split + 32768; + this.s.i = 32766, this.s.w = 32768; + } + else { + this.b.set(chunk, this.s.z); + this.s.z += chunk.length; + } + this.s.l = final & 1; + if (this.s.z > this.s.w + 8191 || final) { + this.p(this.b, final || false); + this.s.w = this.s.i, this.s.i -= 2; + } + }; + /** + * Flushes buffered uncompressed data. Useful to immediately retrieve the + * deflated output for small inputs. + */ + Deflate.prototype.flush = function () { + if (!this.ondata) + err(5); + if (this.s.l) + err(4); + this.p(this.b, false); + this.s.w = this.s.i, this.s.i -= 2; + }; + return Deflate; +}()); +exports.Deflate = Deflate; +/** + * Asynchronous streaming DEFLATE compression + */ +var AsyncDeflate = /*#__PURE__*/ (function () { + function AsyncDeflate(opts, cb) { + astrmify([ + bDflt, + function () { return [astrm, Deflate]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Deflate(ev.data); + onmessage = astrm(strm); + }, 6, 1); + } + return AsyncDeflate; +}()); +exports.AsyncDeflate = AsyncDeflate; +function deflate(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bDflt, + ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb); +} +exports.deflate = deflate; +/** + * Compresses data with DEFLATE without any wrapper + * @param data The data to compress + * @param opts The compression options + * @returns The deflated version of the data + */ +function deflateSync(data, opts) { + return dopt(data, opts || {}, 0, 0); +} +exports.deflateSync = deflateSync; +/** + * Streaming DEFLATE decompression + */ +var Inflate = /*#__PURE__*/ (function () { + function Inflate(opts, cb) { + // no StrmOpt here to avoid adding to workerizer + if (typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768); + this.s = { i: 0, b: dict ? dict.length : 0 }; + this.o = new u8(32768); + this.p = new u8(0); + if (dict) + this.o.set(dict); + } + Inflate.prototype.e = function (c) { + if (!this.ondata) + err(5); + if (this.d) + err(4); + if (!this.p.length) + this.p = c; + else if (c.length) { + var n = new u8(this.p.length + c.length); + n.set(this.p), n.set(c, this.p.length), this.p = n; + } + }; + Inflate.prototype.c = function (final) { + this.s.i = +(this.d = final || false); + var bts = this.s.b; + var dt = inflt(this.p, this.s, this.o); + this.ondata(slc(dt, bts, this.s.b), this.d); + this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length; + this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7; + }; + /** + * Pushes a chunk to be inflated + * @param chunk The chunk to push + * @param final Whether this is the final chunk + */ + Inflate.prototype.push = function (chunk, final) { + this.e(chunk), this.c(final); + }; + return Inflate; +}()); +exports.Inflate = Inflate; +/** + * Asynchronous streaming DEFLATE decompression + */ +var AsyncInflate = /*#__PURE__*/ (function () { + function AsyncInflate(opts, cb) { + astrmify([ + bInflt, + function () { return [astrm, Inflate]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Inflate(ev.data); + onmessage = astrm(strm); + }, 7, 0); + } + return AsyncInflate; +}()); +exports.AsyncInflate = AsyncInflate; +function inflate(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bInflt + ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb); +} +exports.inflate = inflate; +/** + * Expands DEFLATE data with no wrapper + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +function inflateSync(data, opts) { + return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary); +} +exports.inflateSync = inflateSync; +// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize. +/** + * Streaming GZIP compression + */ +var Gzip = /*#__PURE__*/ (function () { + function Gzip(opts, cb) { + this.c = crc(); + this.l = 0; + this.v = 1; + Deflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be GZIPped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Gzip.prototype.push = function (chunk, final) { + this.c.p(chunk); + this.l += chunk.length; + Deflate.prototype.push.call(this, chunk, final); + }; + Gzip.prototype.p = function (c, f) { + var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s); + if (this.v) + gzh(raw, this.o), this.v = 0; + if (f) + wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l); + this.ondata(raw, f); + }; + /** + * Flushes buffered uncompressed data. Useful to immediately retrieve the + * GZIPped output for small inputs. + */ + Gzip.prototype.flush = function () { + Deflate.prototype.flush.call(this); + }; + return Gzip; +}()); +exports.Gzip = Gzip; +exports.Compress = Gzip; +/** + * Asynchronous streaming GZIP compression + */ +var AsyncGzip = /*#__PURE__*/ (function () { + function AsyncGzip(opts, cb) { + astrmify([ + bDflt, + gze, + function () { return [astrm, Deflate, Gzip]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Gzip(ev.data); + onmessage = astrm(strm); + }, 8, 1); + } + return AsyncGzip; +}()); +exports.AsyncGzip = AsyncGzip; +exports.AsyncCompress = AsyncGzip; +function gzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bDflt, + gze, + function () { return [gzipSync]; } + ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb); +} +exports.gzip = gzip; +exports.compress = gzip; +/** + * Compresses data with GZIP + * @param data The data to compress + * @param opts The compression options + * @returns The gzipped version of the data + */ +function gzipSync(data, opts) { + if (!opts) + opts = {}; + var c = crc(), l = data.length; + c.p(data); + var d = dopt(data, opts, gzhl(opts), 8), s = d.length; + return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d; +} +exports.gzipSync = gzipSync; +exports.compressSync = gzipSync; +/** + * Streaming single or multi-member GZIP decompression + */ +var Gunzip = /*#__PURE__*/ (function () { + function Gunzip(opts, cb) { + this.v = 1; + this.r = 0; + Inflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be GUNZIPped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Gunzip.prototype.push = function (chunk, final) { + Inflate.prototype.e.call(this, chunk); + this.r += chunk.length; + if (this.v) { + var p = this.p.subarray(this.v - 1); + var s = p.length > 3 ? gzs(p) : 4; + if (s > p.length) { + if (!final) + return; + } + else if (this.v > 1 && this.onmember) { + this.onmember(this.r - p.length); + } + this.p = p.subarray(s), this.v = 0; + } + // necessary to prevent TS from using the closure value + // This allows for workerization to function correctly + Inflate.prototype.c.call(this, final); + // process concatenated GZIP + if (this.s.f && !this.s.l && !final) { + this.v = shft(this.s.p) + 9; + this.s = { i: 0 }; + this.o = new u8(0); + this.push(new u8(0), final); + } + }; + return Gunzip; +}()); +exports.Gunzip = Gunzip; +/** + * Asynchronous streaming single or multi-member GZIP decompression + */ +var AsyncGunzip = /*#__PURE__*/ (function () { + function AsyncGunzip(opts, cb) { + var _this = this; + astrmify([ + bInflt, + guze, + function () { return [astrm, Inflate, Gunzip]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Gunzip(ev.data); + strm.onmember = function (offset) { return postMessage(offset); }; + onmessage = astrm(strm); + }, 9, 0, function (offset) { return _this.onmember && _this.onmember(offset); }); + } + return AsyncGunzip; +}()); +exports.AsyncGunzip = AsyncGunzip; +function gunzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bInflt, + guze, + function () { return [gunzipSync]; } + ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb); +} +exports.gunzip = gunzip; +/** + * Expands GZIP data + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +function gunzipSync(data, opts) { + var st = gzs(data); + if (st + 8 > data.length) + err(6, 'invalid gzip data'); + return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary); +} +exports.gunzipSync = gunzipSync; +/** + * Streaming Zlib compression + */ +var Zlib = /*#__PURE__*/ (function () { + function Zlib(opts, cb) { + this.c = adler(); + this.v = 1; + Deflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be zlibbed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Zlib.prototype.push = function (chunk, final) { + this.c.p(chunk); + Deflate.prototype.push.call(this, chunk, final); + }; + Zlib.prototype.p = function (c, f) { + var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s); + if (this.v) + zlh(raw, this.o), this.v = 0; + if (f) + wbytes(raw, raw.length - 4, this.c.d()); + this.ondata(raw, f); + }; + /** + * Flushes buffered uncompressed data. Useful to immediately retrieve the + * zlibbed output for small inputs. + */ + Zlib.prototype.flush = function () { + Deflate.prototype.flush.call(this); + }; + return Zlib; +}()); +exports.Zlib = Zlib; +/** + * Asynchronous streaming Zlib compression + */ +var AsyncZlib = /*#__PURE__*/ (function () { + function AsyncZlib(opts, cb) { + astrmify([ + bDflt, + zle, + function () { return [astrm, Deflate, Zlib]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Zlib(ev.data); + onmessage = astrm(strm); + }, 10, 1); + } + return AsyncZlib; +}()); +exports.AsyncZlib = AsyncZlib; +function zlib(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bDflt, + zle, + function () { return [zlibSync]; } + ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb); +} +exports.zlib = zlib; +/** + * Compress data with Zlib + * @param data The data to compress + * @param opts The compression options + * @returns The zlib-compressed version of the data + */ +function zlibSync(data, opts) { + if (!opts) + opts = {}; + var a = adler(); + a.p(data); + var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4); + return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d; +} +exports.zlibSync = zlibSync; +/** + * Streaming Zlib decompression + */ +var Unzlib = /*#__PURE__*/ (function () { + function Unzlib(opts, cb) { + Inflate.call(this, opts, cb); + this.v = opts && opts.dictionary ? 2 : 1; + } + /** + * Pushes a chunk to be unzlibbed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Unzlib.prototype.push = function (chunk, final) { + Inflate.prototype.e.call(this, chunk); + if (this.v) { + if (this.p.length < 6 && !final) + return; + this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0; + } + if (final) { + if (this.p.length < 4) + err(6, 'invalid zlib data'); + this.p = this.p.subarray(0, -4); + } + // necessary to prevent TS from using the closure value + // This allows for workerization to function correctly + Inflate.prototype.c.call(this, final); + }; + return Unzlib; +}()); +exports.Unzlib = Unzlib; +/** + * Asynchronous streaming Zlib decompression + */ +var AsyncUnzlib = /*#__PURE__*/ (function () { + function AsyncUnzlib(opts, cb) { + astrmify([ + bInflt, + zule, + function () { return [astrm, Inflate, Unzlib]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Unzlib(ev.data); + onmessage = astrm(strm); + }, 11, 0); + } + return AsyncUnzlib; +}()); +exports.AsyncUnzlib = AsyncUnzlib; +function unzlib(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bInflt, + zule, + function () { return [unzlibSync]; } + ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb); +} +exports.unzlib = unzlib; +/** + * Expands Zlib data + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +function unzlibSync(data, opts) { + return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary); +} +exports.unzlibSync = unzlibSync; +/** + * Streaming GZIP, Zlib, or raw DEFLATE decompression + */ +var Decompress = /*#__PURE__*/ (function () { + function Decompress(opts, cb) { + this.o = StrmOpt.call(this, opts, cb) || {}; + this.G = Gunzip; + this.I = Inflate; + this.Z = Unzlib; + } + // init substream + // overriden by AsyncDecompress + Decompress.prototype.i = function () { + var _this = this; + this.s.ondata = function (dat, final) { + _this.ondata(dat, final); + }; + }; + /** + * Pushes a chunk to be decompressed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Decompress.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + if (!this.s) { + if (this.p && this.p.length) { + var n = new u8(this.p.length + chunk.length); + n.set(this.p), n.set(chunk, this.p.length); + } + else + this.p = chunk; + if (this.p.length > 2) { + this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8) + ? new this.G(this.o) + : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31)) + ? new this.I(this.o) + : new this.Z(this.o); + this.i(); + this.s.push(this.p, final); + this.p = null; + } + } + else + this.s.push(chunk, final); + }; + return Decompress; +}()); +exports.Decompress = Decompress; +/** + * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression + */ +var AsyncDecompress = /*#__PURE__*/ (function () { + function AsyncDecompress(opts, cb) { + Decompress.call(this, opts, cb); + this.queuedSize = 0; + this.G = AsyncGunzip; + this.I = AsyncInflate; + this.Z = AsyncUnzlib; + } + AsyncDecompress.prototype.i = function () { + var _this = this; + this.s.ondata = function (err, dat, final) { + _this.ondata(err, dat, final); + }; + this.s.ondrain = function (size) { + _this.queuedSize -= size; + if (_this.ondrain) + _this.ondrain(size); + }; + }; + /** + * Pushes a chunk to be decompressed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + AsyncDecompress.prototype.push = function (chunk, final) { + this.queuedSize += chunk.length; + Decompress.prototype.push.call(this, chunk, final); + }; + return AsyncDecompress; +}()); +exports.AsyncDecompress = AsyncDecompress; +function decompress(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return (data[0] == 31 && data[1] == 139 && data[2] == 8) + ? gunzip(data, opts, cb) + : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31)) + ? inflate(data, opts, cb) + : unzlib(data, opts, cb); +} +exports.decompress = decompress; +/** + * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +function decompressSync(data, opts) { + return (data[0] == 31 && data[1] == 139 && data[2] == 8) + ? gunzipSync(data, opts) + : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31)) + ? inflateSync(data, opts) + : unzlibSync(data, opts); +} +exports.decompressSync = decompressSync; +// flatten a directory structure +var fltn = function (d, p, t, o) { + for (var k in d) { + var val = d[k], n = p + k, op = o; + if (Array.isArray(val)) + op = mrg(o, val[1]), val = val[0]; + if (val instanceof u8) + t[n] = [val, op]; + else { + t[n += '/'] = [new u8(0), op]; + fltn(val, n, t, o); + } + } +}; +// text encoder +var te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder(); +// text decoder +var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder(); +// text decoder stream +var tds = 0; +try { + td.decode(et, { stream: true }); + tds = 1; +} +catch (e) { } +// decode UTF8 +var dutf8 = function (d) { + for (var r = '', i = 0;;) { + var c = d[i++]; + var eb = (c > 127) + (c > 223) + (c > 239); + if (i + eb > d.length) + return { s: r, r: slc(d, i - 1) }; + if (!eb) + r += String.fromCharCode(c); + else if (eb == 3) { + c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536, + r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023)); + } + else if (eb & 1) + r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63)); + else + r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)); + } +}; +/** + * Streaming UTF-8 decoding + */ +var DecodeUTF8 = /*#__PURE__*/ (function () { + /** + * Creates a UTF-8 decoding stream + * @param cb The callback to call whenever data is decoded + */ + function DecodeUTF8(cb) { + this.ondata = cb; + if (tds) + this.t = new TextDecoder(); + else + this.p = et; + } + /** + * Pushes a chunk to be decoded from UTF-8 binary + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + DecodeUTF8.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + final = !!final; + if (this.t) { + this.ondata(this.t.decode(chunk, { stream: true }), final); + if (final) { + if (this.t.decode().length) + err(8); + this.t = null; + } + return; + } + if (!this.p) + err(4); + var dat = new u8(this.p.length + chunk.length); + dat.set(this.p); + dat.set(chunk, this.p.length); + var _a = dutf8(dat), s = _a.s, r = _a.r; + if (final) { + if (r.length) + err(8); + this.p = null; + } + else + this.p = r; + this.ondata(s, final); + }; + return DecodeUTF8; +}()); +exports.DecodeUTF8 = DecodeUTF8; +/** + * Streaming UTF-8 encoding + */ +var EncodeUTF8 = /*#__PURE__*/ (function () { + /** + * Creates a UTF-8 decoding stream + * @param cb The callback to call whenever data is encoded + */ + function EncodeUTF8(cb) { + this.ondata = cb; + } + /** + * Pushes a chunk to be encoded to UTF-8 + * @param chunk The string data to push + * @param final Whether this is the last chunk + */ + EncodeUTF8.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + if (this.d) + err(4); + this.ondata(strToU8(chunk), this.d = final || false); + }; + return EncodeUTF8; +}()); +exports.EncodeUTF8 = EncodeUTF8; +/** + * Converts a string into a Uint8Array for use with compression/decompression methods + * @param str The string to encode + * @param latin1 Whether or not to interpret the data as Latin-1. This should + * not need to be true unless decoding a binary string. + * @returns The string encoded in UTF-8/Latin-1 binary + */ +function strToU8(str, latin1) { + if (latin1) { + var ar_1 = new u8(str.length); + for (var i = 0; i < str.length; ++i) + ar_1[i] = str.charCodeAt(i); + return ar_1; + } + if (te) + return te.encode(str); + var l = str.length; + var ar = new u8(str.length + (str.length >> 1)); + var ai = 0; + var w = function (v) { ar[ai++] = v; }; + for (var i = 0; i < l; ++i) { + if (ai + 5 > ar.length) { + var n = new u8(ai + 8 + ((l - i) << 1)); + n.set(ar); + ar = n; + } + var c = str.charCodeAt(i); + if (c < 128 || latin1) + w(c); + else if (c < 2048) + w(192 | (c >> 6)), w(128 | (c & 63)); + else if (c > 55295 && c < 57344) + c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023), + w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63)); + else + w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63)); + } + return slc(ar, 0, ai); +} +exports.strToU8 = strToU8; +/** + * Converts a Uint8Array to a string + * @param dat The data to decode to string + * @param latin1 Whether or not to interpret the data as Latin-1. This should + * not need to be true unless encoding to binary string. + * @returns The original UTF-8/Latin-1 string + */ +function strFromU8(dat, latin1) { + if (latin1) { + var r = ''; + for (var i = 0; i < dat.length; i += 16384) + r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384)); + return r; + } + else if (td) { + return td.decode(dat); + } + else { + var _a = dutf8(dat), s = _a.s, r = _a.r; + if (r.length) + err(8); + return s; + } +} +exports.strFromU8 = strFromU8; +; +// deflate bit flag +var dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; }; +// skip local zip header +var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); }; +// read zip header +var zh = function (d, b, z) { + var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20); + var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2]; + return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off]; +}; +// read zip64 extra field +var z64e = function (d, b) { + for (; b2(d, b) != 1; b += 4 + b2(d, b + 2)) + ; + return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)]; +}; +// extra field length +var exfl = function (ex) { + var le = 0; + if (ex) { + for (var k in ex) { + var l = ex[k].length; + if (l > 65535) + err(9); + le += l + 4; + } + } + return le; +}; +// write zip header +var wzh = function (d, b, f, fn, u, c, ce, co) { + var fl = fn.length, ex = f.extra, col = co && co.length; + var exl = exfl(ex); + wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4; + if (ce != null) + d[b++] = 20, d[b++] = f.os; + d[b] = 20, b += 2; // spec compliance? what's that? + d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8; + d[b++] = f.compression & 255, d[b++] = f.compression >> 8; + var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980; + if (y < 0 || y > 119) + err(10); + wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4; + if (c != -1) { + wbytes(d, b, f.crc); + wbytes(d, b + 4, c < 0 ? -c - 2 : c); + wbytes(d, b + 8, f.size); + } + wbytes(d, b + 12, fl); + wbytes(d, b + 14, exl), b += 16; + if (ce != null) { + wbytes(d, b, col); + wbytes(d, b + 6, f.attrs); + wbytes(d, b + 10, ce), b += 14; + } + d.set(fn, b); + b += fl; + if (exl) { + for (var k in ex) { + var exf = ex[k], l = exf.length; + wbytes(d, b, +k); + wbytes(d, b + 2, l); + d.set(exf, b + 4), b += 4 + l; + } + } + if (col) + d.set(co, b), b += col; + return b; +}; +// write zip footer (end of central directory) +var wzf = function (o, b, c, d, e) { + wbytes(o, b, 0x6054B50); // skip disk + wbytes(o, b + 8, c); + wbytes(o, b + 10, c); + wbytes(o, b + 12, d); + wbytes(o, b + 16, e); +}; +/** + * A pass-through stream to keep data uncompressed in a ZIP archive. + */ +var ZipPassThrough = /*#__PURE__*/ (function () { + /** + * Creates a pass-through stream that can be added to ZIP archives + * @param filename The filename to associate with this data stream + */ + function ZipPassThrough(filename) { + this.filename = filename; + this.c = crc(); + this.size = 0; + this.compression = 0; + } + /** + * Processes a chunk and pushes to the output stream. You can override this + * method in a subclass for custom behavior, but by default this passes + * the data through. You must call this.ondata(err, chunk, final) at some + * point in this method. + * @param chunk The chunk to process + * @param final Whether this is the last chunk + */ + ZipPassThrough.prototype.process = function (chunk, final) { + this.ondata(null, chunk, final); + }; + /** + * Pushes a chunk to be added. If you are subclassing this with a custom + * compression algorithm, note that you must push data from the source + * file only, pre-compression. + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + ZipPassThrough.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + this.c.p(chunk); + this.size += chunk.length; + if (final) + this.crc = this.c.d(); + this.process(chunk, final || false); + }; + return ZipPassThrough; +}()); +exports.ZipPassThrough = ZipPassThrough; +// I don't extend because TypeScript extension adds 1kB of runtime bloat +/** + * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate + * for better performance + */ +var ZipDeflate = /*#__PURE__*/ (function () { + /** + * Creates a DEFLATE stream that can be added to ZIP archives + * @param filename The filename to associate with this data stream + * @param opts The compression options + */ + function ZipDeflate(filename, opts) { + var _this = this; + if (!opts) + opts = {}; + ZipPassThrough.call(this, filename); + this.d = new Deflate(opts, function (dat, final) { + _this.ondata(null, dat, final); + }); + this.compression = 8; + this.flag = dbf(opts.level); + } + ZipDeflate.prototype.process = function (chunk, final) { + try { + this.d.push(chunk, final); + } + catch (e) { + this.ondata(e, null, final); + } + }; + /** + * Pushes a chunk to be deflated + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + ZipDeflate.prototype.push = function (chunk, final) { + ZipPassThrough.prototype.push.call(this, chunk, final); + }; + return ZipDeflate; +}()); +exports.ZipDeflate = ZipDeflate; +/** + * Asynchronous streaming DEFLATE compression for ZIP archives + */ +var AsyncZipDeflate = /*#__PURE__*/ (function () { + /** + * Creates an asynchronous DEFLATE stream that can be added to ZIP archives + * @param filename The filename to associate with this data stream + * @param opts The compression options + */ + function AsyncZipDeflate(filename, opts) { + var _this = this; + if (!opts) + opts = {}; + ZipPassThrough.call(this, filename); + this.d = new AsyncDeflate(opts, function (err, dat, final) { + _this.ondata(err, dat, final); + }); + this.compression = 8; + this.flag = dbf(opts.level); + this.terminate = this.d.terminate; + } + AsyncZipDeflate.prototype.process = function (chunk, final) { + this.d.push(chunk, final); + }; + /** + * Pushes a chunk to be deflated + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + AsyncZipDeflate.prototype.push = function (chunk, final) { + ZipPassThrough.prototype.push.call(this, chunk, final); + }; + return AsyncZipDeflate; +}()); +exports.AsyncZipDeflate = AsyncZipDeflate; +// TODO: Better tree shaking +/** + * A zippable archive to which files can incrementally be added + */ +var Zip = /*#__PURE__*/ (function () { + /** + * Creates an empty ZIP archive to which files can be added + * @param cb The callback to call whenever data for the generated ZIP archive + * is available + */ + function Zip(cb) { + this.ondata = cb; + this.u = []; + this.d = 1; + } + /** + * Adds a file to the ZIP archive + * @param file The file stream to add + */ + Zip.prototype.add = function (file) { + var _this = this; + if (!this.ondata) + err(5); + // finishing or finished + if (this.d & 2) + this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false); + else { + var f = strToU8(file.filename), fl_1 = f.length; + var com = file.comment, o = com && strToU8(com); + var u = fl_1 != file.filename.length || (o && (com.length != o.length)); + var hl_1 = fl_1 + exfl(file.extra) + 30; + if (fl_1 > 65535) + this.ondata(err(11, 0, 1), null, false); + var header = new u8(hl_1); + wzh(header, 0, file, f, u, -1); + var chks_1 = [header]; + var pAll_1 = function () { + for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) { + var chk = chks_2[_i]; + _this.ondata(null, chk, false); + } + chks_1 = []; + }; + var tr_1 = this.d; + this.d = 0; + var ind_1 = this.u.length; + var uf_1 = mrg(file, { + f: f, + u: u, + o: o, + t: function () { + if (file.terminate) + file.terminate(); + }, + r: function () { + pAll_1(); + if (tr_1) { + var nxt = _this.u[ind_1 + 1]; + if (nxt) + nxt.r(); + else + _this.d = 1; + } + tr_1 = 1; + } + }); + var cl_1 = 0; + file.ondata = function (err, dat, final) { + if (err) { + _this.ondata(err, dat, final); + _this.terminate(); + } + else { + cl_1 += dat.length; + chks_1.push(dat); + if (final) { + var dd = new u8(16); + wbytes(dd, 0, 0x8074B50); + wbytes(dd, 4, file.crc); + wbytes(dd, 8, cl_1); + wbytes(dd, 12, file.size); + chks_1.push(dd); + uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size; + if (tr_1) + uf_1.r(); + tr_1 = 1; + } + else if (tr_1) + pAll_1(); + } + }; + this.u.push(uf_1); + } + }; + /** + * Ends the process of adding files and prepares to emit the final chunks. + * This *must* be called after adding all desired files for the resulting + * ZIP file to work properly. + */ + Zip.prototype.end = function () { + var _this = this; + if (this.d & 2) { + this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true); + return; + } + if (this.d) + this.e(); + else + this.u.push({ + r: function () { + if (!(_this.d & 1)) + return; + _this.u.splice(-1, 1); + _this.e(); + }, + t: function () { } + }); + this.d = 3; + }; + Zip.prototype.e = function () { + var bt = 0, l = 0, tl = 0; + for (var _i = 0, _a = this.u; _i < _a.length; _i++) { + var f = _a[_i]; + tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0); + } + var out = new u8(tl + 22); + for (var _b = 0, _c = this.u; _b < _c.length; _b++) { + var f = _c[_b]; + wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o); + bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b; + } + wzf(out, bt, this.u.length, tl, l); + this.ondata(null, out, true); + this.d = 2; + }; + /** + * A method to terminate any internal workers used by the stream. Subsequent + * calls to add() will fail. + */ + Zip.prototype.terminate = function () { + for (var _i = 0, _a = this.u; _i < _a.length; _i++) { + var f = _a[_i]; + f.t(); + } + this.d = 2; + }; + return Zip; +}()); +exports.Zip = Zip; +function zip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + var r = {}; + fltn(data, '', r, opts); + var k = Object.keys(r); + var lft = k.length, o = 0, tot = 0; + var slft = lft, files = new Array(lft); + var term = []; + var tAll = function () { + for (var i = 0; i < term.length; ++i) + term[i](); + }; + var cbd = function (a, b) { + mt(function () { cb(a, b); }); + }; + mt(function () { cbd = cb; }); + var cbf = function () { + var out = new u8(tot + 22), oe = o, cdl = tot - o; + tot = 0; + for (var i = 0; i < slft; ++i) { + var f = files[i]; + try { + var l = f.c.length; + wzh(out, tot, f, f.f, f.u, l); + var badd = 30 + f.f.length + exfl(f.extra); + var loc = tot + badd; + out.set(f.c, loc); + wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l; + } + catch (e) { + return cbd(e, null); + } + } + wzf(out, o, files.length, cdl, oe); + cbd(null, out); + }; + if (!lft) + cbf(); + var _loop_1 = function (i) { + var fn = k[i]; + var _a = r[fn], file = _a[0], p = _a[1]; + var c = crc(), size = file.length; + c.p(file); + var f = strToU8(fn), s = f.length; + var com = p.comment, m = com && strToU8(com), ms = m && m.length; + var exl = exfl(p.extra); + var compression = p.level == 0 ? 0 : 8; + var cbl = function (e, d) { + if (e) { + tAll(); + cbd(e, null); + } + else { + var l = d.length; + files[i] = mrg(p, { + size: size, + crc: c.d(), + c: d, + f: f, + m: m, + u: s != fn.length || (m && (com.length != ms)), + compression: compression + }); + o += 30 + s + exl + l; + tot += 76 + 2 * (s + exl) + (ms || 0) + l; + if (!--lft) + cbf(); + } + }; + if (s > 65535) + cbl(err(11, 0, 1), null); + if (!compression) + cbl(null, file); + else if (size < 160000) { + try { + cbl(null, deflateSync(file, p)); + } + catch (e) { + cbl(e, null); + } + } + else + term.push(deflate(file, p, cbl)); + }; + // Cannot use lft because it can decrease + for (var i = 0; i < slft; ++i) { + _loop_1(i); + } + return tAll; +} +exports.zip = zip; +/** + * Synchronously creates a ZIP file. Prefer using `zip` for better performance + * with more than one file. + * @param data The directory structure for the ZIP archive + * @param opts The main options, merged with per-file options + * @returns The generated ZIP archive + */ +function zipSync(data, opts) { + if (!opts) + opts = {}; + var r = {}; + var files = []; + fltn(data, '', r, opts); + var o = 0; + var tot = 0; + for (var fn in r) { + var _a = r[fn], file = _a[0], p = _a[1]; + var compression = p.level == 0 ? 0 : 8; + var f = strToU8(fn), s = f.length; + var com = p.comment, m = com && strToU8(com), ms = m && m.length; + var exl = exfl(p.extra); + if (s > 65535) + err(11); + var d = compression ? deflateSync(file, p) : file, l = d.length; + var c = crc(); + c.p(file); + files.push(mrg(p, { + size: file.length, + crc: c.d(), + c: d, + f: f, + m: m, + u: s != fn.length || (m && (com.length != ms)), + o: o, + compression: compression + })); + o += 30 + s + exl + l; + tot += 76 + 2 * (s + exl) + (ms || 0) + l; + } + var out = new u8(tot + 22), oe = o, cdl = tot - o; + for (var i = 0; i < files.length; ++i) { + var f = files[i]; + wzh(out, f.o, f, f.f, f.u, f.c.length); + var badd = 30 + f.f.length + exfl(f.extra); + out.set(f.c, f.o + badd); + wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0); + } + wzf(out, o, files.length, cdl, oe); + return out; +} +exports.zipSync = zipSync; +/** + * Streaming pass-through decompression for ZIP archives + */ +var UnzipPassThrough = /*#__PURE__*/ (function () { + function UnzipPassThrough() { + } + UnzipPassThrough.prototype.push = function (data, final) { + this.ondata(null, data, final); + }; + UnzipPassThrough.compression = 0; + return UnzipPassThrough; +}()); +exports.UnzipPassThrough = UnzipPassThrough; +/** + * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for + * better performance. + */ +var UnzipInflate = /*#__PURE__*/ (function () { + /** + * Creates a DEFLATE decompression that can be used in ZIP archives + */ + function UnzipInflate() { + var _this = this; + this.i = new Inflate(function (dat, final) { + _this.ondata(null, dat, final); + }); + } + UnzipInflate.prototype.push = function (data, final) { + try { + this.i.push(data, final); + } + catch (e) { + this.ondata(e, null, final); + } + }; + UnzipInflate.compression = 8; + return UnzipInflate; +}()); +exports.UnzipInflate = UnzipInflate; +/** + * Asynchronous streaming DEFLATE decompression for ZIP archives + */ +var AsyncUnzipInflate = /*#__PURE__*/ (function () { + /** + * Creates a DEFLATE decompression that can be used in ZIP archives + */ + function AsyncUnzipInflate(_, sz) { + var _this = this; + if (sz < 320000) { + this.i = new Inflate(function (dat, final) { + _this.ondata(null, dat, final); + }); + } + else { + this.i = new AsyncInflate(function (err, dat, final) { + _this.ondata(err, dat, final); + }); + this.terminate = this.i.terminate; + } + } + AsyncUnzipInflate.prototype.push = function (data, final) { + if (this.i.terminate) + data = slc(data, 0); + this.i.push(data, final); + }; + AsyncUnzipInflate.compression = 8; + return AsyncUnzipInflate; +}()); +exports.AsyncUnzipInflate = AsyncUnzipInflate; +/** + * A ZIP archive decompression stream that emits files as they are discovered + */ +var Unzip = /*#__PURE__*/ (function () { + /** + * Creates a ZIP decompression stream + * @param cb The callback to call whenever a file in the ZIP archive is found + */ + function Unzip(cb) { + this.onfile = cb; + this.k = []; + this.o = { + 0: UnzipPassThrough + }; + this.p = et; + } + /** + * Pushes a chunk to be unzipped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Unzip.prototype.push = function (chunk, final) { + var _this = this; + if (!this.onfile) + err(5); + if (!this.p) + err(4); + if (this.c > 0) { + var len = Math.min(this.c, chunk.length); + var toAdd = chunk.subarray(0, len); + this.c -= len; + if (this.d) + this.d.push(toAdd, !this.c); + else + this.k[0].push(toAdd); + chunk = chunk.subarray(len); + if (chunk.length) + return this.push(chunk, final); + } + else { + var f = 0, i = 0, is = void 0, buf = void 0; + if (!this.p.length) + buf = chunk; + else if (!chunk.length) + buf = this.p; + else { + buf = new u8(this.p.length + chunk.length); + buf.set(this.p), buf.set(chunk, this.p.length); + } + var l = buf.length, oc = this.c, add = oc && this.d; + var _loop_2 = function () { + var _a; + var sig = b4(buf, i); + if (sig == 0x4034B50) { + f = 1, is = i; + this_1.d = null; + this_1.c = 0; + var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28); + if (l > i + 30 + fnl + es) { + var chks_3 = []; + this_1.k.unshift(chks_3); + f = 2; + var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22); + var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u); + if (sc_1 == 4294967295) { + _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1]; + } + else if (dd) + sc_1 = -1; + i += es; + this_1.c = sc_1; + var d_1; + var file_1 = { + name: fn_1, + compression: cmp_1, + start: function () { + if (!file_1.ondata) + err(5); + if (!sc_1) + file_1.ondata(null, et, true); + else { + var ctr = _this.o[cmp_1]; + if (!ctr) + file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false); + d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1); + d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); }; + for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) { + var dat = chks_4[_i]; + d_1.push(dat, false); + } + if (_this.k[0] == chks_3 && _this.c) + _this.d = d_1; + else + d_1.push(et, true); + } + }, + terminate: function () { + if (d_1 && d_1.terminate) + d_1.terminate(); + } + }; + if (sc_1 >= 0) + file_1.size = sc_1, file_1.originalSize = su_1; + this_1.onfile(file_1); + } + return "break"; + } + else if (oc) { + if (sig == 0x8074B50) { + is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0; + return "break"; + } + else if (sig == 0x2014B50) { + is = i -= 4, f = 3, this_1.c = 0; + return "break"; + } + } + }; + var this_1 = this; + for (; i < l - 4; ++i) { + var state_1 = _loop_2(); + if (state_1 === "break") + break; + } + this.p = et; + if (oc < 0) { + var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i); + if (add) + add.push(dat, !!f); + else + this.k[+(f == 2)].push(dat); + } + if (f & 2) + return this.push(buf.subarray(i), final); + this.p = buf.subarray(i); + } + if (final) { + if (this.c) + err(13); + this.p = null; + } + }; + /** + * Registers a decoder with the stream, allowing for files compressed with + * the compression type provided to be expanded correctly + * @param decoder The decoder constructor + */ + Unzip.prototype.register = function (decoder) { + this.o[decoder.compression] = decoder; + }; + return Unzip; +}()); +exports.Unzip = Unzip; +var mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); }; +function unzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + var term = []; + var tAll = function () { + for (var i = 0; i < term.length; ++i) + term[i](); + }; + var files = {}; + var cbd = function (a, b) { + mt(function () { cb(a, b); }); + }; + mt(function () { cbd = cb; }); + var e = data.length - 22; + for (; b4(data, e) != 0x6054B50; --e) { + if (!e || data.length - e > 65558) { + cbd(err(13, 0, 1), null); + return tAll; + } + } + ; + var lft = b2(data, e + 8); + if (lft) { + var c = lft; + var o = b4(data, e + 16); + var z = o == 4294967295 || c == 65535; + if (z) { + var ze = b4(data, e - 12); + z = b4(data, ze) == 0x6064B50; + if (z) { + c = lft = b4(data, ze + 32); + o = b4(data, ze + 48); + } + } + var fltr = opts && opts.filter; + var _loop_3 = function (i) { + var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off); + o = no; + var cbl = function (e, d) { + if (e) { + tAll(); + cbd(e, null); + } + else { + if (d) + files[fn] = d; + if (!--lft) + cbd(null, files); + } + }; + if (!fltr || fltr({ + name: fn, + size: sc, + originalSize: su, + compression: c_1 + })) { + if (!c_1) + cbl(null, slc(data, b, b + sc)); + else if (c_1 == 8) { + var infl = data.subarray(b, b + sc); + // Synchronously decompress under 512KB, or barely-compressed data + if (su < 524288 || sc > 0.8 * su) { + try { + cbl(null, inflateSync(infl, { out: new u8(su) })); + } + catch (e) { + cbl(e, null); + } + } + else + term.push(inflate(infl, { size: su }, cbl)); + } + else + cbl(err(14, 'unknown compression type ' + c_1, 1), null); + } + else + cbl(null, null); + }; + for (var i = 0; i < c; ++i) { + _loop_3(i); + } + } + else + cbd(null, {}); + return tAll; +} +exports.unzip = unzip; +/** + * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better + * performance with more than one file. + * @param data The raw compressed ZIP file + * @param opts The ZIP extraction options + * @returns The decompressed files + */ +function unzipSync(data, opts) { + var files = {}; + var e = data.length - 22; + for (; b4(data, e) != 0x6054B50; --e) { + if (!e || data.length - e > 65558) + err(13); + } + ; + var c = b2(data, e + 8); + if (!c) + return {}; + var o = b4(data, e + 16); + var z = o == 4294967295 || c == 65535; + if (z) { + var ze = b4(data, e - 12); + z = b4(data, ze) == 0x6064B50; + if (z) { + c = b4(data, ze + 32); + o = b4(data, ze + 48); + } + } + var fltr = opts && opts.filter; + for (var i = 0; i < c; ++i) { + var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off); + o = no; + if (!fltr || fltr({ + name: fn, + size: sc, + originalSize: su, + compression: c_2 + })) { + if (!c_2) + files[fn] = slc(data, b, b + sc); + else if (c_2 == 8) + files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) }); + else + err(14, 'unknown compression type ' + c_2); + } + } + return files; +} +exports.unzipSync = unzipSync; diff --git a/.pnpm-store/v3/files/8f/a3edee675cd6eb8b82c48ed047e49417a79a778140ccd1aa540e3f8934323e38cdbd7d4e1aae84e253808f42c2bec3ca44ae32e779184385c76a4bc64a9698 b/.pnpm-store/v3/files/8f/a3edee675cd6eb8b82c48ed047e49417a79a778140ccd1aa540e3f8934323e38cdbd7d4e1aae84e253808f42c2bec3ca44ae32e779184385c76a4bc64a9698 new file mode 100644 index 00000000..e60d6160 --- /dev/null +++ b/.pnpm-store/v3/files/8f/a3edee675cd6eb8b82c48ed047e49417a79a778140ccd1aa540e3f8934323e38cdbd7d4e1aae84e253808f42c2bec3ca44ae32e779184385c76a4bc64a9698 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","33":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","2":"F"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","2":"D"},K:{"1":"C u QC 3B","16":"A B 2B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","33":"TD"}},B:5,C:"::selection CSS pseudo-element",D:true}; diff --git a/.pnpm-store/v3/files/8f/a56c74a4ed002c4d685d4c6e4ec05badb2f51091a1730e599a51cb6a2994c7d3a350f41140e67622c83474cce30ea7dcf3f7461c7944242ac12a2a19b2b4f1 b/.pnpm-store/v3/files/8f/a56c74a4ed002c4d685d4c6e4ec05badb2f51091a1730e599a51cb6a2994c7d3a350f41140e67622c83474cce30ea7dcf3f7461c7944242ac12a2a19b2b4f1 new file mode 100644 index 00000000..6eb3e2e0 --- /dev/null +++ b/.pnpm-store/v3/files/8f/a56c74a4ed002c4d685d4c6e4ec05badb2f51091a1730e599a51cb6a2994c7d3a350f41140e67622c83474cce30ea7dcf3f7461c7944242ac12a2a19b2b4f1 @@ -0,0 +1 @@ +module.exports={C:{"48":0.00297,"52":0.00297,"73":0.01485,"78":0.01485,"86":0.00297,"109":0.00297,"110":0.00297,"113":0.00891,"115":0.09207,"116":0.00297,"118":0.00297,"119":0.00891,"120":0.59994,"121":0.60885,"122":0.13365,"123":0.00297,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 79 80 81 82 83 84 85 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 111 112 114 117 124 125 3.5 3.6"},D:{"11":0.00594,"29":0.03267,"49":0.00891,"50":0.00297,"63":0.00594,"65":0.00297,"69":0.01782,"70":0.02079,"73":0.02376,"74":0.00297,"75":0.00891,"76":0.0297,"77":0.00297,"78":0.00297,"79":0.03267,"80":0.00297,"81":0.04752,"83":0.25839,"84":0.00891,"86":0.01485,"87":0.04752,"88":0.01188,"89":0.00297,"90":0.00297,"91":0.00891,"92":0.00297,"93":0.0891,"94":0.00891,"95":0.00594,"96":0.00594,"97":0.00297,"98":0.00594,"99":0.00891,"100":0.00891,"101":0.00297,"102":0.00594,"103":0.19305,"104":0.00594,"105":0.03861,"106":0.00891,"107":0.00594,"108":0.00891,"109":0.4158,"110":0.01485,"111":0.01188,"112":0.0297,"113":0.02079,"114":0.03861,"115":0.02673,"116":0.13365,"117":0.04752,"118":0.09504,"119":0.85239,"120":15.36678,"121":0.9801,"122":0.01485,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 52 53 54 55 56 57 58 59 60 61 62 64 66 67 68 71 72 85 123 124"},F:{"28":0.00594,"46":0.00297,"69":0.00297,"85":0.00594,"89":0.00297,"95":0.01188,"102":0.00891,"104":0.00594,"105":0.43659,"106":0.38313,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00594,"18":0.00594,"92":0.01188,"99":0.00297,"100":0.00297,"103":0.00297,"109":0.02079,"113":0.00297,"114":0.00297,"116":0.01188,"117":0.00891,"118":0.02673,"119":0.08019,"120":3.80457,"121":0.41877,_:"12 13 14 15 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 101 102 104 105 106 107 108 110 111 112 115"},E:{"13":0.00594,"14":0.00891,"15":0.00297,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.00891,"12.1":0.00297,"13.1":0.12771,"14.1":0.04158,"15.1":0.00594,"15.2-15.3":0.01485,"15.4":0.02376,"15.5":0.02673,"15.6":0.13365,"16.0":0.01485,"16.1":0.02079,"16.2":0.04455,"16.3":0.07128,"16.4":0.07128,"16.5":0.04752,"16.6":0.22572,"17.0":0.05643,"17.1":0.24948,"17.2":0.44253,"17.3":0.02376},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00453,"5.0-5.1":0.0068,"6.0-6.1":0.01133,"7.0-7.1":0.01586,"8.1-8.4":0.00227,"9.0-9.2":0.01359,"9.3":0.05211,"10.0-10.2":0.00453,"10.3":0.08157,"11.0-11.2":0.03172,"11.3-11.4":0.03399,"12.0-12.1":0.02039,"12.2-12.5":0.40331,"13.0-13.1":0.0068,"13.2":0.07477,"13.3":0.02039,"13.4-13.7":0.09063,"14.0-14.4":0.1586,"14.5-14.8":0.24244,"15.0-15.1":0.10423,"15.2-15.3":0.12009,"15.4":0.14048,"15.5":0.18579,"15.6-15.8":1.44783,"16.0":0.43503,"16.1":0.9267,"16.2":0.42143,"16.3":0.78396,"16.4":0.17446,"16.5":0.37159,"16.6-16.7":3.04066,"17.0":0.50527,"17.1":5.209,"17.2":7.05107,"17.3":0.45315},P:{"4":0.20589,"20":0.03251,"21":0.10836,"22":0.10836,"23":2.73072,"5.0-5.4":0.01084,"6.2-6.4":0.01084,"7.2-7.4":0.21672,_:"8.2 9.2 10.1 12.0 15.0","11.1-11.2":0.02167,"13.0":0.02167,"14.0":0.01084,"16.0":0.03251,"17.0":0.02167,"18.0":0.02167,"19.0":0.10836},I:{"0":0.06999,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00018},A:{"10":0.00297,"11":0.00594,_:"6 7 8 9 5.5"},K:{"0":0.2109,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.26011},H:{"0":0},L:{"0":45.11786},R:{_:"0"},M:{"0":0.20387}}; diff --git a/.pnpm-store/v3/files/8f/ac36723d301dc2865c8b7557ff1bb478cb479853e27662a3bc5496f20d64d743bb474baa2de26353c54664aac42e96015bbb7a48294be1ef78c3b503da5ea4 b/.pnpm-store/v3/files/8f/ac36723d301dc2865c8b7557ff1bb478cb479853e27662a3bc5496f20d64d743bb474baa2de26353c54664aac42e96015bbb7a48294be1ef78c3b503da5ea4 new file mode 100644 index 00000000..ac77964c --- /dev/null +++ b/.pnpm-store/v3/files/8f/ac36723d301dc2865c8b7557ff1bb478cb479853e27662a3bc5496f20d64d743bb474baa2de26353c54664aac42e96015bbb7a48294be1ef78c3b503da5ea4 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 p v w x y z H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n","516":"o"},C:{"1":"0 1 2 3 4 5 6 7 8 y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a","194":"c d e f g h i j k l m n","450":"b","516":"o"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC"},F:{"1":"d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B iC jC kC lC 2B QC mC 3B","194":"P Q R AC S T U V W X Y Z","516":"a b c"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"q r s t","2":"I GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"CSS Container Queries (Size)",D:true}; diff --git a/.pnpm-store/v3/files/8f/c5e84984d4b33ee301e80d2c6857c0e067b96da3eee6bf6649e3baf3106800d648a439b3dabef39955d676e047db60189be2e55e7892dbed1a4aea1ccfb710 b/.pnpm-store/v3/files/8f/c5e84984d4b33ee301e80d2c6857c0e067b96da3eee6bf6649e3baf3106800d648a439b3dabef39955d676e047db60189be2e55e7892dbed1a4aea1ccfb710 new file mode 100644 index 00000000..6865e11f --- /dev/null +++ b/.pnpm-store/v3/files/8f/c5e84984d4b33ee301e80d2c6857c0e067b96da3eee6bf6649e3baf3106800d648a439b3dabef39955d676e047db60189be2e55e7892dbed1a4aea1ccfb710 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E SC","132":"F"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB"},E:{"1":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC ZC"},F:{"1":"B C AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p kC lC 2B QC mC 3B","2":"F G M N O iC jC"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"1":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","2":"D"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:4,C:"CSS background-repeat round and space",D:true}; diff --git a/.pnpm-store/v3/files/8f/fd9ad4e6301ea5f4cf991b3b7b0d97e88423ba6258b6f01de8338c9bc26ff225191411f192d0ce9711de4dae6336a369067497c3fc6607ec160e1b0626a81c b/.pnpm-store/v3/files/8f/fd9ad4e6301ea5f4cf991b3b7b0d97e88423ba6258b6f01de8338c9bc26ff225191411f192d0ce9711de4dae6336a369067497c3fc6607ec160e1b0626a81c new file mode 100644 index 00000000..684ab955 --- /dev/null +++ b/.pnpm-store/v3/files/8f/fd9ad4e6301ea5f4cf991b3b7b0d97e88423ba6258b6f01de8338c9bc26ff225191411f192d0ce9711de4dae6336a369067497c3fc6607ec160e1b0626a81c @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","194":"P Q R S T U","260":"0 1 2 3 4 5 6 7 8 V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y VC WC","516":"0 1 2 3 4 5 6 7 8 z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u","194":"wB xB yB zB 0B P Q R S T U","260":"0 1 2 3 4 5 6 7 8 V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC","516":"GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB iC jC kC lC 2B QC mC 3B","194":"lB mB nB oB pB qB rB sB tB uB","260":"vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C","516":"GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","516":"H"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"516":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"File System Access API",D:true}; diff --git a/.pnpm-store/v3/files/90/25ff78580dc7dda721dc7355eaa3e67accd8adc8d02ef7ca7ccc7c92906f904911de2620fece397ee32fd75db5e047bd63f0711f0d1f4c6316b3d4d7a6c68c b/.pnpm-store/v3/files/90/25ff78580dc7dda721dc7355eaa3e67accd8adc8d02ef7ca7ccc7c92906f904911de2620fece397ee32fd75db5e047bd63f0711f0d1f4c6316b3d4d7a6c68c new file mode 100644 index 00000000..e4c63288 --- /dev/null +++ b/.pnpm-store/v3/files/90/25ff78580dc7dda721dc7355eaa3e67accd8adc8d02ef7ca7ccc7c92906f904911de2620fece397ee32fd75db5e047bd63f0711f0d1f4c6316b3d4d7a6c68c @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC","260":"M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB","292":"9 I J D E F A B C K L G WC"},D:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","33":"A B C K L G M N O AB q r s t BB CB","548":"9 I J D E F"},E:{"1":"HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC","260":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC","292":"J YC","804":"9 I"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B iC jC kC lC","33":"C mC","164":"2B QC"},G:{"1":"HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","260":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC","292":"oC pC","804":"DC nC RC"},H:{"2":"9C"},I:{"1":"H ED FD","33":"I DD RC","548":"7B AD BD CD"},J:{"1":"A","548":"D"},K:{"1":"u 3B","2":"A B","33":"C","164":"2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS Gradients",D:true}; diff --git a/.pnpm-store/v3/files/90/fbc9407fbd29df0824a4c8ce854ca6e2bcf8de781b4f64e92bf90beb414b269b313d4489cb6a5e80a98a127494bbb2600b52fc7ed4d011a89d92c65da4c804 b/.pnpm-store/v3/files/90/fbc9407fbd29df0824a4c8ce854ca6e2bcf8de781b4f64e92bf90beb414b269b313d4489cb6a5e80a98a127494bbb2600b52fc7ed4d011a89d92c65da4c804 new file mode 100644 index 00000000..2b63e35f --- /dev/null +++ b/.pnpm-store/v3/files/90/fbc9407fbd29df0824a4c8ce854ca6e2bcf8de781b4f64e92bf90beb414b269b313d4489cb6a5e80a98a127494bbb2600b52fc7ed4d011a89d92c65da4c804 @@ -0,0 +1,44 @@ +function _usingCtx() { + var r = "function" == typeof SuppressedError ? SuppressedError : function (r, n) { + var e = new Error(); + return e.name = "SuppressedError", e.suppressed = n, e.error = r, e; + }, + n = {}, + e = []; + function using(r, n) { + if (null != n) { + if (Object(n) !== n) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined."); + if (r) var o = n[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")]; + if (null == o && (o = n[Symbol.dispose || Symbol["for"]("Symbol.dispose")]), "function" != typeof o) throw new TypeError("Property [Symbol.dispose] is not a function."); + e.push({ + v: n, + d: o, + a: r + }); + } + return n; + } + return { + e: n, + u: using.bind(null, !1), + a: using.bind(null, !0), + d: function d() { + var o = this.e; + function next() { + for (; r = e.pop();) try { + var r, + t = r.d.call(r.v); + if (r.a) return Promise.resolve(t).then(next, err); + } catch (r) { + return err(r); + } + if (o !== n) throw o; + } + function err(e) { + return o = o !== n ? new r(o, e) : e, next(); + } + return next(); + } + }; +} +module.exports = _usingCtx, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/.pnpm-store/v3/files/91/21347f1b285176b165d309669ecbe54c665f172a394e251e6f57c68597542c5c21158bbb9abd8ad54b43e76395f39d1bbc5a080411b1f53ce13c7deb5e1c26 b/.pnpm-store/v3/files/91/21347f1b285176b165d309669ecbe54c665f172a394e251e6f57c68597542c5c21158bbb9abd8ad54b43e76395f39d1bbc5a080411b1f53ce13c7deb5e1c26 new file mode 100644 index 00000000..74ab3c9d --- /dev/null +++ b/.pnpm-store/v3/files/91/21347f1b285176b165d309669ecbe54c665f172a394e251e6f57c68597542c5c21158bbb9abd8ad54b43e76395f39d1bbc5a080411b1f53ce13c7deb5e1c26 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M VC WC","129":"NB OB PB QB RB SB","420":"N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB"},D:{"1":"0 1 2 3 4 5 6 7 8 eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q","420":"r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B G M N iC jC kC lC 2B QC mC","420":"C O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC","513":"3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","1537":"wC xC yC zC 0C 1C 2C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D","420":"A"},K:{"1":"u","2":"A B 2B QC","420":"C 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","420":"I GD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:4,C:"getUserMedia/Stream API",D:true}; diff --git a/.pnpm-store/v3/files/91/79ad2392ba837e24fcf66ee46339726181c193f4cf7f57623be7ea5f8f727663cd946cc1a05d2cf7797e0daf4fbbe602edd31fc614df4976e6859839c8d095 b/.pnpm-store/v3/files/91/79ad2392ba837e24fcf66ee46339726181c193f4cf7f57623be7ea5f8f727663cd946cc1a05d2cf7797e0daf4fbbe602edd31fc614df4976e6859839c8d095 new file mode 100644 index 00000000..02bf5659 --- /dev/null +++ b/.pnpm-store/v3/files/91/79ad2392ba837e24fcf66ee46339726181c193f4cf7f57623be7ea5f8f727663cd946cc1a05d2cf7797e0daf4fbbe602edd31fc614df4976e6859839c8d095 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N"},C:{"1":"0 1 2 3 4 5 6 7 8 jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB"},E:{"1":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B XC DC YC ZC aC bC EC"},F:{"1":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB iC jC kC lC 2B QC mC 3B"},G:{"1":"xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:6,C:"Promise.prototype.finally",D:true}; diff --git a/.pnpm-store/v3/files/91/7aec81409d78febd68a1a0b895c4617e98cf17d0b6cc66160659870ae13358233b5acf1f5d610b8c74439b7c6430a1af36d0cb9a0e11bc9557c682cdcda54f b/.pnpm-store/v3/files/91/7aec81409d78febd68a1a0b895c4617e98cf17d0b6cc66160659870ae13358233b5acf1f5d610b8c74439b7c6430a1af36d0cb9a0e11bc9557c682cdcda54f new file mode 100644 index 00000000..e8a271ba --- /dev/null +++ b/.pnpm-store/v3/files/91/7aec81409d78febd68a1a0b895c4617e98cf17d0b6cc66160659870ae13358233b5acf1f5d610b8c74439b7c6430a1af36d0cb9a0e11bc9557c682cdcda54f @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"SC","8":"J D E"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC WC","132":"TC 7B VC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","132":"XC DC"},F:{"1":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"260":"9C"},I:{"1":"7B I H DD RC ED FD","132":"AD BD CD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Canvas (basic support)",D:true}; diff --git a/.pnpm-store/v3/files/91/a2bb7de5902f045180b1fb18bf0fce54a3898d48a8b8566b4cc9d5850d1d954ef78b189fa30f19b5f92d159a47c69c002efe966a32ead3842b64c1e3b25a80 b/.pnpm-store/v3/files/91/a2bb7de5902f045180b1fb18bf0fce54a3898d48a8b8566b4cc9d5850d1d954ef78b189fa30f19b5f92d159a47c69c002efe966a32ead3842b64c1e3b25a80 new file mode 100644 index 00000000..fe3b346f --- /dev/null +++ b/.pnpm-store/v3/files/91/a2bb7de5902f045180b1fb18bf0fce54a3898d48a8b8566b4cc9d5850d1d954ef78b189fa30f19b5f92d159a47c69c002efe966a32ead3842b64c1e3b25a80 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","132":"B"},B:{"1":"C K L G M N O","513":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB VC WC","513":"0 1 2 3 4 5 6 7 8 eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","513":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC","260":"F A bC EC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB","2":"F B C G M N O AB q r s t BB CB DB EB iC jC kC lC 2B QC mC 3B","513":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","513":"H"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","513":"u"},L:{"513":"H"},M:{"513":"1B"},N:{"2":"A B"},O:{"513":"4B"},P:{"1":"I","513":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"513":"FC"},R:{"513":"SD"},S:{"1":"TD","513":"UD"}},B:6,C:"HTTP/2 protocol",D:true}; diff --git a/.pnpm-store/v3/files/92/5d115aefac4dffba680e06b8dca48905904742575560a98fd3790fbc228d69c2449d773edfd4ef12cdc38e988c37d7fa9d7a4fc0dfe872e71b967057deb5c5 b/.pnpm-store/v3/files/92/5d115aefac4dffba680e06b8dca48905904742575560a98fd3790fbc228d69c2449d773edfd4ef12cdc38e988c37d7fa9d7a4fc0dfe872e71b967057deb5c5 new file mode 100644 index 00000000..c626a304 --- /dev/null +++ b/.pnpm-store/v3/files/92/5d115aefac4dffba680e06b8dca48905904742575560a98fd3790fbc228d69c2449d773edfd4ef12cdc38e988c37d7fa9d7a4fc0dfe872e71b967057deb5c5 @@ -0,0 +1,91 @@ +# bare-fs + +Native file system for Javascript. + +``` +npm i bare-fs +``` + +## Usage + +```js +const fs = require('bare-fs') + +// Currently supports: + +fs.access +fs.chmod +fs.close +fs.chmod +fs.exists +fs.fstat +fs.ftruncate +fs.lstat +fs.mkdir +fs.open +fs.opendir +fs.read +fs.readdir +fs.readlink +fs.readv +fs.realpath +fs.rename +fs.rmdir +fs.stat +fs.symlink +fs.unlink +fs.watch +fs.write +fs.writev + +fs.readFile +fs.writeFile + +fs.promises.access +fs.promises.chmod +fs.promises.lstat +fs.promises.mkdir +fs.promises.opendir +fs.promises.readFile +fs.promises.readdir +fs.promises.readlink +fs.promises.realpath +fs.promises.rename +fs.promises.rmdir +fs.promises.stat +fs.promises.symlink +fs.promises.unlink +fs.promises.watch +fs.promises.writeFile + +fs.createReadStream +fs.createWriteStream + +fs.accessSync +fs.chmodSync +fs.closeSync +fs.existsSync +fs.fchmodSync +fs.fstatSync +fs.lstatSync +fs.mkdirSync +fs.openSync +fs.opendirSync +fs.readSync +fs.readdirSync +fs.readlinkSync +fs.realpathSync +fs.renameSync +fs.rmdirSync +fs.statSync +fs.symlinkSync +fs.unlinkSync +fs.writeSync + +fs.readFileSync +fs.writeFileSync +``` + +## License + +Apache-2.0 diff --git a/.pnpm-store/v3/files/92/8fc6a9e48c6c8ec005383b74cc99c35180c5d34e6d48abed9c42a75a38d6673e092b6ffeea4365babb0b67ebfad26b44f4695b258942a56b737d0b86c6ed14 b/.pnpm-store/v3/files/92/8fc6a9e48c6c8ec005383b74cc99c35180c5d34e6d48abed9c42a75a38d6673e092b6ffeea4365babb0b67ebfad26b44f4695b258942a56b737d0b86c6ed14 new file mode 100644 index 00000000..95a35c77 --- /dev/null +++ b/.pnpm-store/v3/files/92/8fc6a9e48c6c8ec005383b74cc99c35180c5d34e6d48abed9c42a75a38d6673e092b6ffeea4365babb0b67ebfad26b44f4695b258942a56b737d0b86c6ed14 @@ -0,0 +1 @@ +module.exports={C:{"52":0.01819,"68":0.00727,"89":0.00364,"102":0.00364,"105":0.00364,"115":0.14184,"119":0.01091,"120":0.02546,"121":0.78196,"122":0.19276,"123":0.00364,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 103 104 106 107 108 109 110 111 112 113 114 116 117 118 124 125 3.5 3.6"},D:{"43":0.00364,"49":0.00364,"69":0.00727,"73":0.00364,"76":0.00364,"77":0.00364,"79":0.03637,"83":0.05092,"84":0.00727,"85":0.00727,"86":0.00364,"87":0.01091,"88":0.01819,"91":0.00364,"92":0.01091,"93":0.01091,"94":0.05456,"95":0.00364,"96":0.00364,"97":0.01091,"98":0.00364,"99":0.00727,"100":0.01091,"103":0.12002,"105":0.00364,"106":0.00364,"108":0.02182,"109":0.49463,"110":0.01091,"111":0.02546,"112":0.04728,"113":0.01455,"114":0.14548,"115":0.05092,"116":0.07638,"117":0.02546,"118":0.18912,"119":0.59647,"120":16.80294,"121":1.44753,"122":0.00364,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 72 74 75 78 80 81 89 90 101 102 104 107 123 124"},F:{"46":0.00364,"104":0.00364,"105":0.28732,"106":0.29096,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00727,"100":0.00364,"109":0.04728,"113":0.00364,"114":0.00364,"115":0.00364,"116":0.00727,"117":0.01455,"118":0.00727,"119":0.13093,"120":5.16818,"121":0.56737,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112"},E:{"14":0.01819,"15":0.00727,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3 17.4","12.1":0.05819,"13.1":0.08729,"14.1":0.08365,"15.1":0.00364,"15.4":0.0291,"15.5":0.03273,"15.6":0.37461,"16.0":0.00364,"16.1":0.07274,"16.2":0.03273,"16.3":0.18185,"16.4":0.02182,"16.5":0.11638,"16.6":0.49827,"17.0":1.09837,"17.1":0.87288,"17.2":1.37842,"17.3":0.0691},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00401,"5.0-5.1":0.00602,"6.0-6.1":0.01003,"7.0-7.1":0.01404,"8.1-8.4":0.00201,"9.0-9.2":0.01203,"9.3":0.04612,"10.0-10.2":0.00401,"10.3":0.07219,"11.0-11.2":0.02807,"11.3-11.4":0.03008,"12.0-12.1":0.01805,"12.2-12.5":0.35694,"13.0-13.1":0.00602,"13.2":0.06617,"13.3":0.01805,"13.4-13.7":0.08021,"14.0-14.4":0.14037,"14.5-14.8":0.21457,"15.0-15.1":0.09224,"15.2-15.3":0.10628,"15.4":0.12433,"15.5":0.16443,"15.6-15.8":1.28139,"16.0":0.38502,"16.1":0.82017,"16.2":0.37299,"16.3":0.69383,"16.4":0.15441,"16.5":0.32887,"16.6-16.7":2.69112,"17.0":0.44718,"17.1":4.61019,"17.2":6.2405,"17.3":0.40106},P:{"4":0.04422,"20":0.04422,"21":0.04422,"22":0.08844,"23":3.81416,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0","7.2-7.4":0.38694,"13.0":0.01106,"14.0":0.01106,"16.0":0.01106,"17.0":0.01106,"18.0":0.02211,"19.0":0.02211},I:{"0":0.02534,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"10":0.00364,"11":0.00364,_:"6 7 8 9 5.5"},K:{"0":0.2672,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.03817},H:{"0":0},L:{"0":41.42886},R:{_:"0"},M:{"0":0.17814}}; diff --git a/.pnpm-store/v3/files/93/4762a0e39d4ba0b2439b01c35a7f6b30ce15f587f5a99ead4417adfc31b5e38f1025accf0f1aaa970ab7afa16722263d64ae2fa6031bdc2014df8a46c0e2da b/.pnpm-store/v3/files/93/4762a0e39d4ba0b2439b01c35a7f6b30ce15f587f5a99ead4417adfc31b5e38f1025accf0f1aaa970ab7afa16722263d64ae2fa6031bdc2014df8a46c0e2da new file mode 100644 index 00000000..cb2dca2f --- /dev/null +++ b/.pnpm-store/v3/files/93/4762a0e39d4ba0b2439b01c35a7f6b30ce15f587f5a99ead4417adfc31b5e38f1025accf0f1aaa970ab7afa16722263d64ae2fa6031bdc2014df8a46c0e2da @@ -0,0 +1 @@ +module.exports={C:{"50":0.00578,"52":0.06931,"56":0.01155,"63":0.00578,"65":0.00578,"68":0.00578,"72":0.00578,"75":0.00578,"78":0.01733,"80":0.00578,"81":0.00578,"83":0.01155,"88":0.01155,"89":0.00578,"91":0.01155,"99":0.00578,"100":0.0231,"102":0.01155,"103":0.00578,"104":0.01733,"105":0.00578,"106":0.00578,"107":0.00578,"108":0.00578,"109":0.00578,"110":0.01155,"111":0.00578,"112":0.00578,"113":0.02888,"114":0.01733,"115":0.86062,"116":0.01733,"117":0.0231,"118":0.0231,"119":0.05776,"120":7.59544,"121":3.95078,"122":0.89528,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 53 54 55 57 58 59 60 61 62 64 66 67 69 70 71 73 74 76 77 79 82 84 85 86 87 90 92 93 94 95 96 97 98 101 123 124 125 3.5 3.6"},D:{"38":0.00578,"41":0.01155,"49":0.01733,"56":0.00578,"71":0.00578,"74":0.02888,"79":0.06354,"80":0.01155,"81":0.01155,"83":0.00578,"84":0.01155,"85":0.05776,"86":0.00578,"87":0.04621,"88":0.00578,"89":0.01155,"90":0.01733,"91":0.01733,"92":0.01733,"93":0.0231,"94":0.05776,"95":0.00578,"96":0.01155,"97":0.01155,"98":0.00578,"99":0.00578,"100":0.00578,"101":0.00578,"102":0.21949,"103":0.05198,"104":0.01155,"105":0.02888,"106":0.01155,"107":0.01155,"108":0.02888,"109":1.38624,"110":0.01733,"111":0.08086,"112":0.82019,"113":0.0231,"114":0.05198,"115":0.02888,"116":0.12707,"117":0.17328,"118":0.12707,"119":0.37544,"120":23.55453,"121":1.59995,"122":0.01155,"123":0.00578,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 45 46 47 48 50 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 72 73 75 76 77 78 124"},F:{"36":0.00578,"46":0.01155,"70":0.00578,"75":0.01155,"84":0.01155,"85":0.02888,"95":0.13862,"99":0.00578,"102":0.00578,"104":0.01155,"105":1.49598,"106":1.73858,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 73 74 76 77 78 79 80 81 82 83 86 87 88 89 90 91 92 93 94 96 97 98 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00578,"18":0.00578,"85":0.00578,"92":0.00578,"106":0.00578,"107":0.00578,"108":0.00578,"109":0.08664,"110":0.00578,"111":0.00578,"112":0.00578,"113":0.00578,"114":0.0231,"115":0.00578,"116":0.03466,"117":0.0231,"118":0.03466,"119":0.08086,"120":6.34205,"121":0.8664,_:"12 13 14 15 16 79 80 81 83 84 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105"},E:{"9":0.00578,"13":0.00578,"14":0.0231,"15":0.00578,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1 17.4","9.1":0.00578,"11.1":0.00578,"12.1":0.00578,"13.1":0.04043,"14.1":0.06354,"15.1":0.01155,"15.2-15.3":0.01733,"15.4":0.02888,"15.5":0.03466,"15.6":0.19061,"16.0":0.01733,"16.1":0.05776,"16.2":0.05776,"16.3":0.08086,"16.4":0.02888,"16.5":0.07509,"16.6":0.3119,"17.0":0.09242,"17.1":0.39854,"17.2":0.66424,"17.3":0.06354},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00263,"5.0-5.1":0.00395,"6.0-6.1":0.00658,"7.0-7.1":0.00921,"8.1-8.4":0.00132,"9.0-9.2":0.00789,"9.3":0.03026,"10.0-10.2":0.00263,"10.3":0.04737,"11.0-11.2":0.01842,"11.3-11.4":0.01974,"12.0-12.1":0.01184,"12.2-12.5":0.23421,"13.0-13.1":0.00395,"13.2":0.04342,"13.3":0.01184,"13.4-13.7":0.05263,"14.0-14.4":0.0921,"14.5-14.8":0.14079,"15.0-15.1":0.06053,"15.2-15.3":0.06974,"15.4":0.08158,"15.5":0.10789,"15.6-15.8":0.84078,"16.0":0.25263,"16.1":0.53815,"16.2":0.24473,"16.3":0.45526,"16.4":0.10131,"16.5":0.21579,"16.6-16.7":1.76577,"17.0":0.29342,"17.1":3.02497,"17.2":4.09469,"17.3":0.26316},P:{"4":0.06283,"20":0.02094,"21":0.03142,"22":0.05236,"23":1.79071,_:"5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0 16.0 18.0","6.2-6.4":0.01047,"13.0":0.01047,"14.0":0.01047,"17.0":0.01047,"19.0":0.01047},I:{"0":0.10093,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00026},A:{"8":0.00578,"10":0.1213,"11":0.08664,_:"6 7 9 5.5"},K:{"0":0.5349,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.1225},H:{"0":0.01},L:{"0":26.37074},R:{_:"0"},M:{"0":0.27878}}; diff --git a/.pnpm-store/v3/files/93/896b26b20a8cfe13db9d8e4c532337dfa2b22f0cd9cdf93430fd64f8d30ef038439276d5548f5fc1ae26b41bdf9218b01345a342643312ea2eb8795aab7370 b/.pnpm-store/v3/files/93/896b26b20a8cfe13db9d8e4c532337dfa2b22f0cd9cdf93430fd64f8d30ef038439276d5548f5fc1ae26b41bdf9218b01345a342643312ea2eb8795aab7370 new file mode 100644 index 00000000..93b9fcbc Binary files /dev/null and b/.pnpm-store/v3/files/93/896b26b20a8cfe13db9d8e4c532337dfa2b22f0cd9cdf93430fd64f8d30ef038439276d5548f5fc1ae26b41bdf9218b01345a342643312ea2eb8795aab7370 differ diff --git a/.pnpm-store/v3/files/94/0ecc4a796178feb8ec451b65d97f6fda0d73bd6a896f4e358da96bcc7a012d3d26c1ebfb2442616f13036bcab4f05252880a80554811dfa5370b4ed5d1b3cd b/.pnpm-store/v3/files/94/0ecc4a796178feb8ec451b65d97f6fda0d73bd6a896f4e358da96bcc7a012d3d26c1ebfb2442616f13036bcab4f05252880a80554811dfa5370b4ed5d1b3cd new file mode 100644 index 00000000..e0f52710 --- /dev/null +++ b/.pnpm-store/v3/files/94/0ecc4a796178feb8ec451b65d97f6fda0d73bd6a896f4e358da96bcc7a012d3d26c1ebfb2442616f13036bcab4f05252880a80554811dfa5370b4ed5d1b3cd @@ -0,0 +1,63 @@ +{ + "name": "escalade", + "version": "3.1.2", + "repository": "lukeed/escalade", + "description": "A tiny (183B to 210B) and fast utility to ascend parent directories", + "module": "dist/index.mjs", + "main": "dist/index.js", + "types": "index.d.ts", + "license": "MIT", + "author": { + "name": "Luke Edwards", + "email": "luke.edwards05@gmail.com", + "url": "https://lukeed.com" + }, + "exports": { + ".": [ + { + "types": "./index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.js" + }, + "./dist/index.js" + ], + "./sync": [ + { + "types": "./sync/index.d.ts", + "import": "./sync/index.mjs", + "require": "./sync/index.js" + }, + "./sync/index.js" + ] + }, + "files": [ + "*.d.ts", + "dist", + "sync" + ], + "modes": { + "sync": "src/sync.js", + "default": "src/async.js" + }, + "engines": { + "node": ">=6" + }, + "scripts": { + "build": "bundt", + "pretest": "npm run build", + "test": "uvu -r esm test -i fixtures" + }, + "keywords": [ + "find", + "parent", + "parents", + "directory", + "search", + "walk" + ], + "devDependencies": { + "bundt": "1.1.1", + "esm": "3.2.25", + "uvu": "0.3.3" + } +} diff --git a/.pnpm-store/v3/files/94/83f0e775e63a6298fe7c865cff7a0c73b22f705e6db286655b9f90488c9cd790a0e33a7e64da065f7d59e825418d30d973f0a9685a8c30cf279a7b24acef93 b/.pnpm-store/v3/files/94/83f0e775e63a6298fe7c865cff7a0c73b22f705e6db286655b9f90488c9cd790a0e33a7e64da065f7d59e825418d30d973f0a9685a8c30cf279a7b24acef93 new file mode 100644 index 00000000..b2ee9cae --- /dev/null +++ b/.pnpm-store/v3/files/94/83f0e775e63a6298fe7c865cff7a0c73b22f705e6db286655b9f90488c9cd790a0e33a7e64da065f7d59e825418d30d973f0a9685a8c30cf279a7b24acef93 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O","66":"P Q R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB","66":"0B P Q R S T U V W X"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB iC jC kC lC 2B QC mC 3B","66":"oB pB qB rB sB tB uB vB u wB xB"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"Web Serial API",D:true}; diff --git a/.pnpm-store/v3/files/94/a5484f2a095b79d6cd671659f711d8289b9a86c3ceb58d5af485f2214ce4d68d4d26f4bd0fd3199551fcc19cf8b4fc8ac7c83f99b114907d8f7d5f008957b2 b/.pnpm-store/v3/files/94/a5484f2a095b79d6cd671659f711d8289b9a86c3ceb58d5af485f2214ce4d68d4d26f4bd0fd3199551fcc19cf8b4fc8ac7c83f99b114907d8f7d5f008957b2 new file mode 100644 index 00000000..078bcc5c --- /dev/null +++ b/.pnpm-store/v3/files/94/a5484f2a095b79d6cd671659f711d8289b9a86c3ceb58d5af485f2214ce4d68d4d26f4bd0fd3199551fcc19cf8b4fc8ac7c83f99b114907d8f7d5f008957b2 @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self).Diff={})}(this,function(e){"use strict";function t(){}t.prototype={diff:function(s,a,e){var n,t=2=c&&f<=v+1)return d([{value:this.join(a),count:a.length}]);var m=-1/0,g=1/0;function w(){for(var e=Math.max(m,-p);e<=Math.min(g,p);e+=2){var n=void 0,t=h[e-1],r=h[e+1];t&&(h[e-1]=void 0);var i,o=!1;r&&(i=r.oldPos-e,o=r&&0<=i&&i=c&&f<=v+1)return d(function(e,n,t,r,i){var o,l=[];for(;n;)l.push(n),o=n.previousComponent,delete n.previousComponent,n=o;l.reverse();for(var s=0,a=l.length,u=0,d=0;se.length?t:e}),p.value=e.join(c)):p.value=e.join(t.slice(u,u+p.count)),u+=p.count,p.added||(d+=p.count))}var h=l[a-1];1=c&&(g=Math.min(g,e-1)),f<=v+1&&(m=Math.max(m,e+1))}else h[e]=void 0}p++}if(r)!function e(){setTimeout(function(){return il?r():void(w()||e())},0)}();else for(;p<=i&&Date.now()<=l;){var y=w();if(y)return y}},addToPath:function(e,n,t,r){var i=e.lastComponent;return i&&i.added===n&&i.removed===t?{oldPos:e.oldPos+r,lastComponent:{count:i.count+1,added:n,removed:t,previousComponent:i.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:n,removed:t,previousComponent:i}}},extractCommon:function(e,n,t,r){for(var i=n.length,o=t.length,l=e.oldPos,s=l-r,a=0;s+1e.length)&&(n=e.length);for(var t=0,r=new Array(n);t=c.length-2&&a.length<=f.context&&(i=/\n$/.test(u),o=/\n$/.test(d),l=0==a.length&&m.length>r.oldLines,!i&&l&&0e.length)return!1;for(var t=0;t"):i.removed&&t.push(""),t.push((n=i.value,n.replace(/&/g,"&").replace(//g,">").replace(/"/g,"""))),i.added?t.push(""):i.removed&&t.push("")}return t.join("")},e.createPatch=function(e,n,t,r,i,o){return b(e,e,n,t,r,i,o)},e.createTwoFilesPatch=b,e.diffArrays=function(e,n,t){return g.diff(e,n,t)},e.diffChars=function(e,n,t){return r.diff(e,n,t)},e.diffCss=function(e,n,t){return d.diff(e,n,t)},e.diffJson=function(e,n,t){return v.diff(e,n,t)},e.diffLines=L,e.diffSentences=function(e,n,t){return u.diff(e,n,t)},e.diffTrimmedLines=function(e,n,t){var r=i(t,{ignoreWhitespace:!0});return a.diff(e,n,r)},e.diffWords=function(e,n,t){return t=i(t,{ignoreWhitespace:!0}),s.diff(e,n,t)},e.diffWordsWithSpace=function(e,n,t){return s.diff(e,n,t)},e.formatPatch=S,e.merge=function(e,n,t){e=N(e,t),n=N(n,t);var r={};(e.index||n.index)&&(r.index=e.index||n.index),(e.newFileName||n.newFileName)&&(P(e)?P(n)?(r.oldFileName=j(r,e.oldFileName,n.oldFileName),r.newFileName=j(r,e.newFileName,n.newFileName),r.oldHeader=j(r,e.oldHeader,n.oldHeader),r.newHeader=j(r,e.newHeader,n.newHeader)):(r.oldFileName=e.oldFileName,r.newFileName=e.newFileName,r.oldHeader=e.oldHeader,r.newHeader=e.newHeader):(r.oldFileName=n.oldFileName||e.oldFileName,r.newFileName=n.newFileName||e.newFileName,r.oldHeader=n.oldHeader||e.oldHeader,r.newHeader=n.newHeader||e.newHeader)),r.hunks=[];for(var i=0,o=0,l=0,s=0;i { + switch (namedCurve) { + case 'prime256v1': + return 'P-256'; + case 'secp384r1': + return 'P-384'; + case 'secp521r1': + return 'P-521'; + case 'secp256k1': + return 'secp256k1'; + default: + throw new errors_js_1.JOSENotSupported('Unsupported key curve for this operation'); + } +}; +const getNamedCurve = (kee, raw) => { + let key; + if ((0, webcrypto_js_1.isCryptoKey)(kee)) { + key = node_crypto_1.KeyObject.from(kee); + } + else if ((0, is_key_object_js_1.default)(kee)) { + key = kee; + } + else { + throw new TypeError((0, invalid_key_input_js_1.default)(kee, ...is_key_like_js_1.types)); + } + if (key.type === 'secret') { + throw new TypeError('only "private" or "public" type keys can be used for this operation'); + } + switch (key.asymmetricKeyType) { + case 'ed25519': + case 'ed448': + return `Ed${key.asymmetricKeyType.slice(2)}`; + case 'x25519': + case 'x448': + return `X${key.asymmetricKeyType.slice(1)}`; + case 'ec': { + const namedCurve = key.asymmetricKeyDetails.namedCurve; + if (raw) { + return namedCurve; + } + return namedCurveToJOSE(namedCurve); + } + default: + throw new TypeError('Invalid asymmetric key type for this operation'); + } +}; +exports.default = getNamedCurve; diff --git a/.pnpm-store/v3/files/97/9874268d0fc89640467353f0b46061ce33e6f59fbd5fc23bb060c3a7c602e6481fb0c16e3ba2fe0c47a602e7685118f6f35600ab8d79e1b97a97836bdadcf9 b/.pnpm-store/v3/files/97/9874268d0fc89640467353f0b46061ce33e6f59fbd5fc23bb060c3a7c602e6481fb0c16e3ba2fe0c47a602e7685118f6f35600ab8d79e1b97a97836bdadcf9 new file mode 100644 index 00000000..07fa7eaf --- /dev/null +++ b/.pnpm-store/v3/files/97/9874268d0fc89640467353f0b46061ce33e6f59fbd5fc23bb060c3a7c602e6481fb0c16e3ba2fe0c47a602e7685118f6f35600ab8d79e1b97a97836bdadcf9 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB"},E:{"1":"K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B XC DC YC ZC aC bC EC","130":"C 2B"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB iC jC kC lC 2B QC mC 3B"},G:{"1":"xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:1,C:"AbortController & AbortSignal",D:true}; diff --git a/.pnpm-store/v3/files/98/69dd0e86639f30b44ca38f865aa36115c9a77211833cb99bcf34f6c537a39d5dea6a188f43af8b3cc1d8635d25563f76b1dc2d0480170fe75065d4b366d3a4 b/.pnpm-store/v3/files/98/69dd0e86639f30b44ca38f865aa36115c9a77211833cb99bcf34f6c537a39d5dea6a188f43af8b3cc1d8635d25563f76b1dc2d0480170fe75065d4b366d3a4 new file mode 100644 index 00000000..2605fec0 --- /dev/null +++ b/.pnpm-store/v3/files/98/69dd0e86639f30b44ca38f865aa36115c9a77211833cb99bcf34f6c537a39d5dea6a188f43af8b3cc1d8635d25563f76b1dc2d0480170fe75065d4b366d3a4 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","2":"SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","8":"9 TC 7B I J VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 2B QC mC 3B","33":"F iC jC kC lC"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"u 3B","33":"A B C 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS3 Text-overflow",D:true}; diff --git a/.pnpm-store/v3/files/98/ae89f8fb9b8390bd45f2b9bdc648f0d0b9770581c35a730db7456e1b5f5171e7d3548eef2940c98f59868dca4829dd71305e163301db09d23154654032da72 b/.pnpm-store/v3/files/98/ae89f8fb9b8390bd45f2b9bdc648f0d0b9770581c35a730db7456e1b5f5171e7d3548eef2940c98f59868dca4829dd71305e163301db09d23154654032da72 new file mode 100644 index 00000000..4b67e90f --- /dev/null +++ b/.pnpm-store/v3/files/98/ae89f8fb9b8390bd45f2b9bdc648f0d0b9770581c35a730db7456e1b5f5171e7d3548eef2940c98f59868dca4829dd71305e163301db09d23154654032da72 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","194":"5 6 7 8 H","962":"0 1 2 3 4 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z"},C:{"1":"6 7 8 H 1B BC CC UC","2":"TC","516":"0 1 2 3 4 5 b c d e f g h i j k l m n o p v w x y z","772":"9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a VC WC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","194":"8 H 1B BC CC","962":"0 1 2 3 4 5 6 7 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z"},E:{"1":"6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC","772":"LC MC fC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB iC jC kC lC 2B QC mC 3B","194":"l m n o p","962":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k"},G:{"1":"6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC","772":"LC MC 8C"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"194":"FC"},R:{"2":"SD"},S:{"2":"TD","516":"UD"}},B:2,C:"CSS font-size-adjust",D:true}; diff --git a/.pnpm-store/v3/files/99/15a679fb37f140d9dfc1ce1cd6646ecc6c393890180f8d430e027746658e38ad0a86a83cc3b81250cc10b7b01b735848eb8594700a5462ad98e42eaaed3d9a b/.pnpm-store/v3/files/99/15a679fb37f140d9dfc1ce1cd6646ecc6c393890180f8d430e027746658e38ad0a86a83cc3b81250cc10b7b01b735848eb8594700a5462ad98e42eaaed3d9a new file mode 100644 index 00000000..1d857cd2 --- /dev/null +++ b/.pnpm-store/v3/files/99/15a679fb37f140d9dfc1ce1cd6646ecc6c393890180f8d430e027746658e38ad0a86a83cc3b81250cc10b7b01b735848eb8594700a5462ad98e42eaaed3d9a @@ -0,0 +1 @@ +module.exports={C:{"52":0.10356,"56":0.00432,"68":0.00432,"70":0.00432,"76":0.00432,"78":0.01295,"80":0.00432,"81":0.00432,"83":0.00863,"86":0.00432,"88":0.01295,"90":0.00432,"91":0.00432,"100":0.00432,"102":0.00432,"103":0.00432,"104":0.00432,"105":0.00432,"108":0.07336,"109":0.00432,"110":0.00432,"112":0.01295,"113":0.00863,"114":0.00432,"115":0.44013,"116":0.00863,"117":0.00863,"118":0.00863,"119":0.01295,"120":0.03884,"121":1.37649,"122":0.34089,"123":0.00432,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 69 71 72 73 74 75 77 79 82 84 85 87 89 92 93 94 95 96 97 98 99 101 106 107 111 124 125 3.5 3.6"},D:{"34":0.00432,"38":0.00432,"41":0.00863,"47":0.00863,"49":0.05178,"53":0.00432,"55":0.20281,"60":0.16829,"61":0.01295,"63":0.00432,"65":0.01295,"67":0.00432,"70":0.00863,"71":0.00432,"73":0.00432,"74":0.00432,"75":0.00432,"76":0.00432,"77":0.00432,"78":0.00432,"79":0.04747,"80":0.00432,"81":0.00863,"83":0.00432,"84":0.00432,"85":0.02589,"86":0.00863,"87":0.03452,"88":0.02589,"89":0.00432,"90":0.00432,"91":0.04315,"92":0.00432,"93":0.00432,"94":0.00863,"95":0.00432,"96":0.00432,"97":0.00863,"98":0.01295,"99":0.01726,"100":0.12082,"101":0.00432,"102":0.01295,"103":0.02589,"104":0.00432,"105":0.02158,"106":0.01295,"107":0.01726,"108":0.02589,"109":3.08954,"110":0.01295,"111":0.02158,"112":0.03452,"113":0.02589,"114":0.06473,"115":0.03884,"116":0.12514,"117":0.07767,"118":0.09062,"119":1.53183,"120":23.7023,"121":2.08415,"122":0.00863,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 42 43 44 45 46 48 50 51 52 54 56 57 58 59 62 64 66 68 69 72 123 124"},F:{"36":0.00432,"46":0.00863,"85":0.01295,"95":0.06904,"97":0.00432,"102":0.00432,"104":0.00432,"105":1.20389,"106":1.0356,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00432,"17":0.08199,"18":0.00432,"85":0.00432,"92":0.00432,"103":0.00432,"105":0.00432,"107":0.00432,"108":0.00863,"109":0.03452,"110":0.00432,"112":0.00432,"113":0.00863,"114":0.01726,"115":0.01295,"116":0.01295,"117":0.01726,"118":0.01295,"119":0.1424,"120":1.83819,"121":0.28048,_:"12 13 15 16 79 80 81 83 84 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 104 106 111"},E:{"14":0.01726,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00432,"13.1":0.02158,"14.1":0.02158,"15.1":0.04747,"15.2-15.3":0.00432,"15.4":0.00863,"15.5":0.00863,"15.6":0.06473,"16.0":0.00863,"16.1":0.01726,"16.2":0.01726,"16.3":0.03452,"16.4":0.01295,"16.5":0.02589,"16.6":0.10356,"17.0":0.03452,"17.1":0.13808,"17.2":0.27185,"17.3":0.02158},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00239,"5.0-5.1":0.00358,"6.0-6.1":0.00597,"7.0-7.1":0.00836,"8.1-8.4":0.00119,"9.0-9.2":0.00717,"9.3":0.02748,"10.0-10.2":0.00239,"10.3":0.04302,"11.0-11.2":0.01673,"11.3-11.4":0.01792,"12.0-12.1":0.01075,"12.2-12.5":0.21271,"13.0-13.1":0.00358,"13.2":0.03943,"13.3":0.01075,"13.4-13.7":0.0478,"14.0-14.4":0.08365,"14.5-14.8":0.12786,"15.0-15.1":0.05497,"15.2-15.3":0.06333,"15.4":0.07409,"15.5":0.09799,"15.6-15.8":0.7636,"16.0":0.22944,"16.1":0.48875,"16.2":0.22227,"16.3":0.41347,"16.4":0.09201,"16.5":0.19598,"16.6-16.7":1.60367,"17.0":0.26648,"17.1":2.74728,"17.2":3.7188,"17.3":0.239},P:{"4":0.18398,"20":0.20443,"21":0.08177,"22":0.13288,"23":3.1584,"5.0-5.4":0.01022,"6.2-6.4":0.01022,"7.2-7.4":0.01022,_:"8.2 10.1","9.2":0.02044,"11.1-11.2":0.01022,"12.0":0.01022,"13.0":0.03066,"14.0":0.02044,"15.0":0.01022,"16.0":0.02044,"17.0":0.01022,"18.0":0.02044,"19.0":0.05111},I:{"0":0.10188,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00027},A:{"11":0.05178,_:"6 7 8 9 10 5.5"},K:{"0":0.30268,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.03411},H:{"0":0.01},L:{"0":42.03237},R:{_:"0"},M:{"0":0.18192}}; diff --git a/.pnpm-store/v3/files/99/ad1e0885fabf4c913080b8d9ae5c261a2dfc229ff29b053e0689395b95effb0674854986293479c2ca5ac7b89f19824d43da6253284f266cbbaaf94188a4d7 b/.pnpm-store/v3/files/99/ad1e0885fabf4c913080b8d9ae5c261a2dfc229ff29b053e0689395b95effb0674854986293479c2ca5ac7b89f19824d43da6253284f266cbbaaf94188a4d7 new file mode 100644 index 00000000..09e3178e --- /dev/null +++ b/.pnpm-store/v3/files/99/ad1e0885fabf4c913080b8d9ae5c261a2dfc229ff29b053e0689395b95effb0674854986293479c2ca5ac7b89f19824d43da6253284f266cbbaaf94188a4d7 @@ -0,0 +1 @@ +module.exports={C:{"48":0.01727,"67":0.00288,"68":0.00288,"72":0.00288,"75":0.00863,"78":0.00288,"82":0.00288,"95":0.05468,"114":0.00288,"115":0.04029,"118":0.00288,"120":0.00576,"121":0.22736,"122":0.05468,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 69 70 71 73 74 76 77 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 116 117 119 123 124 125 3.5 3.6"},D:{"29":0.00288,"44":0.00288,"45":0.00288,"49":0.00863,"51":0.00288,"67":0.00288,"70":0.00288,"71":0.00576,"75":0.00288,"76":0.03741,"78":0.00288,"79":0.00863,"81":0.00863,"83":0.00863,"85":0.02015,"86":0.00288,"87":0.02302,"88":0.00288,"90":0.02015,"91":0.00288,"92":0.00288,"93":0.03166,"94":0.00863,"97":0.00288,"98":0.00576,"100":0.00288,"103":0.08346,"104":0.00288,"105":0.00288,"106":0.00288,"107":0.00863,"108":0.01151,"109":0.29068,"110":0.00288,"111":0.00288,"112":0.00576,"113":0.00288,"114":0.01439,"115":0.02015,"116":0.18707,"117":0.01439,"118":0.03166,"119":0.20146,"120":4.58465,"121":0.3137,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 46 47 48 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 72 73 74 77 80 84 89 95 96 99 101 102 122 123 124"},F:{"65":0.00288,"74":0.00288,"94":0.00576,"95":0.00288,"104":0.00576,"105":0.04317,"106":0.03454,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00288,"16":0.00288,"18":0.00576,"107":0.00576,"108":0.00863,"109":0.02302,"111":0.00288,"112":0.00288,"115":0.00576,"116":0.00288,"117":0.01151,"118":0.00576,"119":0.03166,"120":2.17577,"121":0.21873,_:"13 14 15 17 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 110 113 114"},E:{"9":0.00288,"13":0.00288,"14":0.01439,"15":0.00288,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00863,"13.1":0.05756,"14.1":0.06044,"15.1":0.06332,"15.2-15.3":0.04893,"15.4":0.27917,"15.5":0.24751,"15.6":1.58578,"16.0":0.04029,"16.1":0.24463,"16.2":0.37126,"16.3":0.84613,"16.4":0.22448,"16.5":0.44321,"16.6":3.60901,"17.0":0.22161,"17.1":3.82774,"17.2":6.36614,"17.3":0.35399},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.01239,"5.0-5.1":0.01858,"6.0-6.1":0.03097,"7.0-7.1":0.04335,"8.1-8.4":0.00619,"9.0-9.2":0.03716,"9.3":0.14245,"10.0-10.2":0.01239,"10.3":0.22296,"11.0-11.2":0.08671,"11.3-11.4":0.0929,"12.0-12.1":0.05574,"12.2-12.5":1.10241,"13.0-13.1":0.01858,"13.2":0.20438,"13.3":0.05574,"13.4-13.7":0.24773,"14.0-14.4":0.43353,"14.5-14.8":0.66268,"15.0-15.1":0.28489,"15.2-15.3":0.32824,"15.4":0.38398,"15.5":0.50785,"15.6-15.8":3.95751,"16.0":1.18911,"16.1":2.53306,"16.2":1.15195,"16.3":2.14288,"16.4":0.47688,"16.5":1.0157,"16.6-16.7":8.3114,"17.0":1.3811,"17.1":14.23838,"17.2":19.27352,"17.3":1.23866},P:{"20":0.01045,"21":0.0209,"22":0.0209,"23":1.14944,_:"4 5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 14.0 15.0 16.0 17.0 18.0","7.2-7.4":0.0418,"11.1-11.2":0.01045,"13.0":0.01045,"19.0":0.01045},I:{"0":0.02127,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"8":0.00863,"9":0.00288,"10":0.00288,"11":0.01439,_:"6 7 5.5"},K:{"0":0.02849,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.00712},H:{"0":0},L:{"0":8.18927},R:{_:"0"},M:{"0":0.04273}}; diff --git a/.pnpm-store/v3/files/9a/367a0431711abd56833c73e67ed692f63867f2f95f3077862848d5f5c0567aceccd046c939a45c2af1359c8c7b44a5273e9778b2a864822e0ff5b709e387af b/.pnpm-store/v3/files/9a/367a0431711abd56833c73e67ed692f63867f2f95f3077862848d5f5c0567aceccd046c939a45c2af1359c8c7b44a5273e9778b2a864822e0ff5b709e387af new file mode 100644 index 00000000..0b101598 --- /dev/null +++ b/.pnpm-store/v3/files/9a/367a0431711abd56833c73e67ed692f63867f2f95f3077862848d5f5c0567aceccd046c939a45c2af1359c8c7b44a5273e9778b2a864822e0ff5b709e387af @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O","1028":"W X","1540":"P Q R S T U V"},C:{"1":"0 1 2 3 4 5 6 7 8 pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC","164":"9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB VC WC","1540":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB"},D:{"1":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","292":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB","1028":"W X","1540":"sB tB uB vB u wB xB yB zB 0B P Q R S T U V"},E:{"1":"G dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","292":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B","1540":"K L 3B FC","3076":"cC"},F:{"1":"yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","292":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB","1028":"wB xB","1540":"hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u"},G:{"1":"6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","292":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC","1540":"zC 0C 1C 2C 3C 4C","3076":"5C"},H:{"2":"9C"},I:{"1":"H","292":"7B I AD BD CD DD RC ED FD"},J:{"292":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t PD 5B 6B QD RD","292":"I GD HD ID JD KD","1540":"EC LD MD ND OD"},Q:{"1540":"FC"},R:{"1":"SD"},S:{"1":"UD","1540":"TD"}},B:5,C:"CSS Logical Properties",D:true}; diff --git a/.pnpm-store/v3/files/9a/3b4ef169cd909b4efd1afaaacc94948956e0c2320ce654f961bde0455031c0accccb40289f4483c83aec4d1b6d4059cfed3597ab7ba6da992fb0bdc2d67ed3 b/.pnpm-store/v3/files/9a/3b4ef169cd909b4efd1afaaacc94948956e0c2320ce654f961bde0455031c0accccb40289f4483c83aec4d1b6d4059cfed3597ab7ba6da992fb0bdc2d67ed3 new file mode 100644 index 00000000..aa3b3431 --- /dev/null +++ b/.pnpm-store/v3/files/9a/3b4ef169cd909b4efd1afaaacc94948956e0c2320ce654f961bde0455031c0accccb40289f4483c83aec4d1b6d4059cfed3597ab7ba6da992fb0bdc2d67ed3 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D SC","4":"E F A B"},B:{"4":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"4":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"4":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"XC DC","4":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F","4":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"4":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"4":"9C"},I:{"2":"7B I AD BD CD DD RC","4":"H ED FD"},J:{"2":"D A"},K:{"4":"A B C u 2B QC 3B"},L:{"4":"H"},M:{"4":"1B"},N:{"4":"A B"},O:{"4":"4B"},P:{"4":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"4":"FC"},R:{"4":"SD"},S:{"4":"TD UD"}},B:2,C:"WAI-ARIA Accessibility features",D:true}; diff --git a/.pnpm-store/v3/files/9a/81b51316aa5406ae54f08fa02849e17108d2e55eca104ac4ba9f63da861dc19e8add9102b9299db9163cdda6a11bba99ab0bf3afaa2d318b5f4b44f9ad0a5b b/.pnpm-store/v3/files/9a/81b51316aa5406ae54f08fa02849e17108d2e55eca104ac4ba9f63da861dc19e8add9102b9299db9163cdda6a11bba99ab0bf3afaa2d318b5f4b44f9ad0a5b new file mode 100644 index 00000000..8ee37b82 --- /dev/null +++ b/.pnpm-store/v3/files/9a/81b51316aa5406ae54f08fa02849e17108d2e55eca104ac4ba9f63da861dc19e8add9102b9299db9163cdda6a11bba99ab0bf3afaa2d318b5f4b44f9ad0a5b @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","516":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","260":"9 I J D E F A B C K L G M N O AB q r s t"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","4":"I"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC","132":"I DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","2":"F"},G:{"1":"E RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","132":"DC nC"},H:{"260":"9C"},I:{"1":"7B I H DD RC ED FD","2":"AD BD CD"},J:{"1":"D A"},K:{"1":"u","260":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"SVG in CSS backgrounds",D:true}; diff --git a/.pnpm-store/v3/files/9a/a5934280e8d59fec49e5bfb6949cd65c792202e0a0b996e3ca7626f33bec2b77af65c5b3bb41f7ef0f0b85b56d73021d331d4cbdd7c3cb43517920970e7edd b/.pnpm-store/v3/files/9a/a5934280e8d59fec49e5bfb6949cd65c792202e0a0b996e3ca7626f33bec2b77af65c5b3bb41f7ef0f0b85b56d73021d331d4cbdd7c3cb43517920970e7edd new file mode 100644 index 00000000..1a589b67 --- /dev/null +++ b/.pnpm-store/v3/files/9a/a5934280e8d59fec49e5bfb6949cd65c792202e0a0b996e3ca7626f33bec2b77af65c5b3bb41f7ef0f0b85b56d73021d331d4cbdd7c3cb43517920970e7edd @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","2":"SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"9 I XC DC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","2":"F iC jC kC lC","16":"B 2B QC"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"2":"9C"},I:{"1":"I H DD RC ED FD","2":"AD BD CD","16":"7B"},J:{"1":"D A"},K:{"1":"C u 3B","2":"A","16":"B 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:5,C:"focusin & focusout events",D:true}; diff --git a/.pnpm-store/v3/files/9a/c0e7796629079d256356beb538fb548a074cc9c19373aa5ca810f6bd6e70498f61224348a84d5acd42efee0508d5bf01a57e295d90b2e1a45c1a362c54c31f b/.pnpm-store/v3/files/9a/c0e7796629079d256356beb538fb548a074cc9c19373aa5ca810f6bd6e70498f61224348a84d5acd42efee0508d5bf01a57e295d90b2e1a45c1a362c54c31f new file mode 100644 index 00000000..c1bb8911 --- /dev/null +++ b/.pnpm-store/v3/files/9a/c0e7796629079d256356beb538fb548a074cc9c19373aa5ca810f6bd6e70498f61224348a84d5acd42efee0508d5bf01a57e295d90b2e1a45c1a362c54c31f @@ -0,0 +1 @@ +module.exports={C:{"30":0.00316,"47":0.03797,"52":0.00633,"68":0.24046,"72":0.00316,"80":0.00316,"82":0.00316,"90":0.00316,"92":0.00316,"94":0.00316,"95":0.00316,"98":0.00316,"102":0.00316,"108":0.01582,"110":0.00316,"111":0.02848,"112":0.00633,"113":0.00316,"114":0.00316,"115":0.69608,"116":0.00316,"117":0.00316,"118":0.00316,"119":0.00633,"120":0.04113,"121":2.28757,"122":0.55054,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 78 79 81 83 84 85 86 87 88 89 91 93 96 97 99 100 101 103 104 105 106 107 109 123 124 125 3.5 3.6"},D:{"33":0.00316,"34":0.00633,"38":0.00316,"43":0.00633,"47":0.03797,"49":0.00633,"50":0.00316,"56":0.00316,"58":0.00316,"63":0.00316,"64":0.00316,"65":0.03164,"66":0.00316,"68":0.01266,"69":0.00316,"70":0.00949,"72":0.00316,"73":0.00949,"74":0.00316,"75":0.02215,"76":0.11074,"77":0.00633,"79":0.02848,"80":0.00316,"81":0.00316,"83":0.00316,"85":0.00316,"86":0.00633,"87":0.01582,"88":0.00633,"89":0.02848,"90":0.00316,"91":0.02215,"93":0.23097,"94":0.01266,"95":0.00633,"96":0.01898,"99":0.00316,"102":0.01898,"103":0.09808,"104":0.00949,"105":0.00316,"106":0.01266,"108":0.01266,"109":3.07857,"110":0.00949,"111":0.00316,"112":0.00316,"113":0.00633,"114":0.01898,"115":0.01266,"116":0.05379,"117":0.02531,"118":0.04746,"119":0.20882,"120":11.04552,"121":0.98084,"122":0.00316,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 35 36 37 39 40 41 42 44 45 46 48 51 52 53 54 55 57 59 60 61 62 67 71 78 84 92 97 98 100 101 107 123 124"},F:{"12":0.00316,"28":0.00316,"36":0.00633,"71":0.02215,"79":0.0791,"95":0.20566,"96":0.00316,"104":0.06644,"105":0.4398,"106":0.87959,_:"9 11 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00316,"13":0.00316,"14":0.00316,"15":0.00949,"16":0.00316,"17":0.00316,"18":0.01582,"84":0.00316,"85":0.00316,"89":0.00633,"90":0.00633,"92":0.05695,"109":0.14238,"111":0.00633,"113":0.00316,"114":0.00316,"115":0.00316,"116":0.00633,"117":0.01582,"118":0.01266,"119":0.03164,"120":3.95184,"121":0.54104,_:"79 80 81 83 86 87 88 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 12.1 15.1 15.4 15.5 16.0 16.1 16.2 17.3 17.4","5.1":0.00316,"11.1":0.00316,"13.1":0.00316,"14.1":0.00633,"15.2-15.3":0.00316,"15.6":0.03164,"16.3":0.00316,"16.4":0.00316,"16.5":0.00316,"16.6":0.00949,"17.0":0.00316,"17.1":0.02848,"17.2":0.02215},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00144,"5.0-5.1":0.00216,"6.0-6.1":0.00361,"7.0-7.1":0.00505,"8.1-8.4":0.00072,"9.0-9.2":0.00433,"9.3":0.01659,"10.0-10.2":0.00144,"10.3":0.02596,"11.0-11.2":0.0101,"11.3-11.4":0.01082,"12.0-12.1":0.00649,"12.2-12.5":0.12835,"13.0-13.1":0.00216,"13.2":0.0238,"13.3":0.00649,"13.4-13.7":0.02884,"14.0-14.4":0.05048,"14.5-14.8":0.07716,"15.0-15.1":0.03317,"15.2-15.3":0.03822,"15.4":0.04471,"15.5":0.05913,"15.6-15.8":0.46078,"16.0":0.13845,"16.1":0.29493,"16.2":0.13412,"16.3":0.2495,"16.4":0.05552,"16.5":0.11826,"16.6-16.7":0.96771,"17.0":0.1608,"17.1":1.65779,"17.2":2.24404,"17.3":0.14422},P:{"4":0.18889,"21":0.03148,"22":0.20988,"23":0.30433,_:"20 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 18.0 19.0","5.0-5.4":0.02099,"7.2-7.4":0.01049,"13.0":0.01049,"17.0":0.26235},I:{"0":0.1361,"3":0,"4":0.00003,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00003,"4.2-4.3":0.0001,"4.4":0,"4.4.3-4.4.4":0.00036},A:{"11":0.00633,_:"6 7 8 9 10 5.5"},K:{"0":1.52936,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.04785,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.04101},O:{"0":0.31441},H:{"0":0.61},L:{"0":61.56487},R:{_:"0"},M:{"0":0.12987}}; diff --git a/.pnpm-store/v3/files/9a/e7d932a83f8eca80e05ff081cd9a99324bb2598e8e5ec6b4b9742fe770a29d882c5c39751c6bd11646ae07eca6e57b73cdd16b08f207d8784b505c630febcb b/.pnpm-store/v3/files/9a/e7d932a83f8eca80e05ff081cd9a99324bb2598e8e5ec6b4b9742fe770a29d882c5c39751c6bd11646ae07eca6e57b73cdd16b08f207d8784b505c630febcb new file mode 100644 index 00000000..dc097319 --- /dev/null +++ b/.pnpm-store/v3/files/9a/e7d932a83f8eca80e05ff081cd9a99324bb2598e8e5ec6b4b9742fe770a29d882c5c39751c6bd11646ae07eca6e57b73cdd16b08f207d8784b505c630febcb @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","16":"TC","33":"9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L","132":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC DC","132":"9 I J D E YC ZC aC"},F:{"1":"t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","16":"F B iC jC kC lC 2B","132":"C G M N O AB q r s QC mC 3B"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC","132":"E RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","16":"AD BD","132":"7B I CD DD RC ED FD"},J:{"1":"A","132":"D"},K:{"1":"u","2":"A B 2B","132":"C QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","33":"TD"}},B:1,C:"CSS :read-only and :read-write selectors",D:true}; diff --git a/.pnpm-store/v3/files/9b/331394bed53e1534a2c2db7a262bd7a5249a0ebe1c029e5a3ee430906ad5d81e63191d7688816b8b3849e9df6fdce4e706c75cef0f484e53773e8e972f5424 b/.pnpm-store/v3/files/9b/331394bed53e1534a2c2db7a262bd7a5249a0ebe1c029e5a3ee430906ad5d81e63191d7688816b8b3849e9df6fdce4e706c75cef0f484e53773e8e972f5424 new file mode 100644 index 00000000..617a92f9 --- /dev/null +++ b/.pnpm-store/v3/files/9b/331394bed53e1534a2c2db7a262bd7a5249a0ebe1c029e5a3ee430906ad5d81e63191d7688816b8b3849e9df6fdce4e706c75cef0f484e53773e8e972f5424 @@ -0,0 +1,119 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createLocalJWKSet = exports.LocalJWKSet = exports.isJWKSLike = void 0; +const import_js_1 = require("../key/import.js"); +const errors_js_1 = require("../util/errors.js"); +const is_object_js_1 = require("../lib/is_object.js"); +function getKtyFromAlg(alg) { + switch (typeof alg === 'string' && alg.slice(0, 2)) { + case 'RS': + case 'PS': + return 'RSA'; + case 'ES': + return 'EC'; + case 'Ed': + return 'OKP'; + default: + throw new errors_js_1.JOSENotSupported('Unsupported "alg" value for a JSON Web Key Set'); + } +} +function isJWKSLike(jwks) { + return (jwks && + typeof jwks === 'object' && + Array.isArray(jwks.keys) && + jwks.keys.every(isJWKLike)); +} +exports.isJWKSLike = isJWKSLike; +function isJWKLike(key) { + return (0, is_object_js_1.default)(key); +} +function clone(obj) { + if (typeof structuredClone === 'function') { + return structuredClone(obj); + } + return JSON.parse(JSON.stringify(obj)); +} +class LocalJWKSet { + _jwks; + _cached = new WeakMap(); + constructor(jwks) { + if (!isJWKSLike(jwks)) { + throw new errors_js_1.JWKSInvalid('JSON Web Key Set malformed'); + } + this._jwks = clone(jwks); + } + async getKey(protectedHeader, token) { + const { alg, kid } = { ...protectedHeader, ...token?.header }; + const kty = getKtyFromAlg(alg); + const candidates = this._jwks.keys.filter((jwk) => { + let candidate = kty === jwk.kty; + if (candidate && typeof kid === 'string') { + candidate = kid === jwk.kid; + } + if (candidate && typeof jwk.alg === 'string') { + candidate = alg === jwk.alg; + } + if (candidate && typeof jwk.use === 'string') { + candidate = jwk.use === 'sig'; + } + if (candidate && Array.isArray(jwk.key_ops)) { + candidate = jwk.key_ops.includes('verify'); + } + if (candidate && alg === 'EdDSA') { + candidate = jwk.crv === 'Ed25519' || jwk.crv === 'Ed448'; + } + if (candidate) { + switch (alg) { + case 'ES256': + candidate = jwk.crv === 'P-256'; + break; + case 'ES256K': + candidate = jwk.crv === 'secp256k1'; + break; + case 'ES384': + candidate = jwk.crv === 'P-384'; + break; + case 'ES512': + candidate = jwk.crv === 'P-521'; + break; + } + } + return candidate; + }); + const { 0: jwk, length } = candidates; + if (length === 0) { + throw new errors_js_1.JWKSNoMatchingKey(); + } + if (length !== 1) { + const error = new errors_js_1.JWKSMultipleMatchingKeys(); + const { _cached } = this; + error[Symbol.asyncIterator] = async function* () { + for (const jwk of candidates) { + try { + yield await importWithAlgCache(_cached, jwk, alg); + } + catch { } + } + }; + throw error; + } + return importWithAlgCache(this._cached, jwk, alg); + } +} +exports.LocalJWKSet = LocalJWKSet; +async function importWithAlgCache(cache, jwk, alg) { + const cached = cache.get(jwk) || cache.set(jwk, {}).get(jwk); + if (cached[alg] === undefined) { + const key = await (0, import_js_1.importJWK)({ ...jwk, ext: true }, alg); + if (key instanceof Uint8Array || key.type !== 'public') { + throw new errors_js_1.JWKSInvalid('JSON Web Key Set members must be public keys'); + } + cached[alg] = key; + } + return cached[alg]; +} +function createLocalJWKSet(jwks) { + const set = new LocalJWKSet(jwks); + return async (protectedHeader, token) => set.getKey(protectedHeader, token); +} +exports.createLocalJWKSet = createLocalJWKSet; diff --git a/.pnpm-store/v3/files/9b/a5d33d43c04ae74e60e4a7b2b91646aaef45ce46f51327f338164b18600b518530cd1862d0147a424a2a6387885ed412d2b2584791601a2b0d85d9d0036072 b/.pnpm-store/v3/files/9b/a5d33d43c04ae74e60e4a7b2b91646aaef45ce46f51327f338164b18600b518530cd1862d0147a424a2a6387885ed412d2b2584791601a2b0d85d9d0036072 new file mode 100644 index 00000000..f4a731a3 --- /dev/null +++ b/.pnpm-store/v3/files/9b/a5d33d43c04ae74e60e4a7b2b91646aaef45ce46f51327f338164b18600b518530cd1862d0147a424a2a6387885ed412d2b2584791601a2b0d85d9d0036072 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","16":"9","388":"J D E F A YC ZC aC bC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","2":"F"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC","388":"E oC pC qC rC sC tC uC"},H:{"2":"9C"},I:{"1":"H FD","2":"7B I AD BD CD DD RC ED"},J:{"1":"A","2":"D"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"132":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Pattern attribute for input fields",D:true}; diff --git a/.pnpm-store/v3/files/9b/a72b0d0d42bf2c7e5db379dc5c1b7595eff7273c0a8a0628ed30b2777275aa0bf5b94a71d9a5c4de42eb81386d4ba0642b449dca5ef81b5605babee95ccd5c b/.pnpm-store/v3/files/9b/a72b0d0d42bf2c7e5db379dc5c1b7595eff7273c0a8a0628ed30b2777275aa0bf5b94a71d9a5c4de42eb81386d4ba0642b449dca5ef81b5605babee95ccd5c new file mode 100644 index 00000000..76a1bb22 --- /dev/null +++ b/.pnpm-store/v3/files/9b/a72b0d0d42bf2c7e5db379dc5c1b7595eff7273c0a8a0628ed30b2777275aa0bf5b94a71d9a5c4de42eb81386d4ba0642b449dca5ef81b5605babee95ccd5c @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 o p v w x y z H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n"},C:{"1":"0 1 2 3 4 5 6 7 8 y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b","194":"k l m n","450":"c d e f g h i j"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC"},F:{"1":"a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B iC jC kC lC 2B QC mC 3B","194":"P Q R AC S T U V W X Y Z"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"q r s t","2":"I GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"CSS Container Query Units",D:true}; diff --git a/.pnpm-store/v3/files/9c/07fee5d48157161165f3cdfb5c95d77eef6e36090f20c562285b3e306b42c66c3924f63d8c6eb6917cb46644a288819d4222ce1c93d1f1f3cb60d3fc9e7b8d b/.pnpm-store/v3/files/9c/07fee5d48157161165f3cdfb5c95d77eef6e36090f20c562285b3e306b42c66c3924f63d8c6eb6917cb46644a288819d4222ce1c93d1f1f3cb60d3fc9e7b8d new file mode 100644 index 00000000..fb9c8a17 --- /dev/null +++ b/.pnpm-store/v3/files/9c/07fee5d48157161165f3cdfb5c95d77eef6e36090f20c562285b3e306b42c66c3924f63d8c6eb6917cb46644a288819d4222ce1c93d1f1f3cb60d3fc9e7b8d @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"SC","8":"J D E"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","8":"TC 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","8":"XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p kC lC 2B QC mC 3B","8":"F iC jC"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","8":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Text API for Canvas",D:true}; diff --git a/.pnpm-store/v3/files/9c/3cd7babbec7ee622fe812ab35e5d2551cff37723a04ffa6022d1f891c6069185d0755820442ae0bcdb70e1dfcee63aafb9bdc21e0b82f2331316195a47bd66 b/.pnpm-store/v3/files/9c/3cd7babbec7ee622fe812ab35e5d2551cff37723a04ffa6022d1f891c6069185d0755820442ae0bcdb70e1dfcee63aafb9bdc21e0b82f2331316195a47bd66 new file mode 100644 index 00000000..fa6d5be8 --- /dev/null +++ b/.pnpm-store/v3/files/9c/3cd7babbec7ee622fe812ab35e5d2551cff37723a04ffa6022d1f891c6069185d0755820442ae0bcdb70e1dfcee63aafb9bdc21e0b82f2331316195a47bd66 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z","2":"C K L G M N O","130":"2 3 4 5 6 7 8 H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z","16":"9 I J D E F A B C K L","130":"2 3 4 5 6 7 8 H 1B BC CC"},E:{"1":"9 I J D E F A B YC ZC aC bC EC 2B","16":"XC DC","130":"C K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i","2":"F B C iC jC kC lC 2B QC mC 3B","130":"j k l m n o p"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC","16":"DC","130":"yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I AD BD CD DD RC ED FD","130":"H"},J:{"16":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"130":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"CSS overflow: overlay",D:true}; diff --git a/.pnpm-store/v3/files/9c/97f8f48f83376fcda480a703a8aa8d4e49c27012ec67c2aae917b81fd3979eb855d28fb8f678a3439d0aa99d52f9d654867bb5a92965cb3dec7cef1cebf006 b/.pnpm-store/v3/files/9c/97f8f48f83376fcda480a703a8aa8d4e49c27012ec67c2aae917b81fd3979eb855d28fb8f678a3439d0aa99d52f9d654867bb5a92965cb3dec7cef1cebf006 new file mode 100644 index 00000000..ee74f0b7 --- /dev/null +++ b/.pnpm-store/v3/files/9c/97f8f48f83376fcda480a703a8aa8d4e49c27012ec67c2aae917b81fd3979eb855d28fb8f678a3439d0aa99d52f9d654867bb5a92965cb3dec7cef1cebf006 @@ -0,0 +1 @@ +module.exports={C:{"45":0.00633,"47":0.00633,"48":0.00633,"52":0.038,"56":0.00633,"72":0.01267,"75":0.00633,"78":0.00633,"79":0.00633,"88":0.00633,"89":0.00633,"90":0.00633,"91":0.02534,"99":0.01267,"102":0.01267,"105":0.00633,"106":0.00633,"109":0.02534,"110":0.019,"111":0.00633,"112":0.01267,"113":0.05701,"114":0.00633,"115":42.7165,"116":0.00633,"117":0.00633,"118":0.019,"119":0.019,"120":0.09501,"121":1.26047,"122":0.25969,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 76 77 80 81 82 83 84 85 86 87 92 93 94 95 96 97 98 100 101 103 104 107 108 123 124 125 3.5 3.6"},D:{"11":0.02534,"42":0.00633,"43":0.00633,"49":0.00633,"57":0.00633,"64":0.00633,"68":0.00633,"70":0.00633,"74":0.00633,"75":0.00633,"79":0.01267,"80":0.00633,"81":0.02534,"83":0.00633,"84":0.00633,"85":0.00633,"86":0.00633,"87":0.01267,"88":0.00633,"89":0.00633,"90":0.019,"92":0.00633,"95":0.019,"96":0.00633,"97":0.00633,"98":0.00633,"99":0.00633,"100":0.00633,"101":0.00633,"102":0.03167,"103":0.05067,"104":0.01267,"105":0.01267,"106":0.038,"107":0.01267,"108":0.04434,"109":2.4956,"110":0.00633,"111":0.00633,"112":0.02534,"113":0.00633,"114":0.019,"115":0.03167,"116":0.10768,"117":0.038,"118":0.04434,"119":0.26603,"120":7.97451,"121":0.6334,"122":0.00633,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 46 47 48 50 51 52 53 54 55 56 58 59 60 61 62 63 65 66 67 69 71 72 73 76 77 78 91 93 94 123 124"},F:{"53":0.04434,"74":0.00633,"79":0.00633,"85":0.00633,"95":0.08234,"105":0.18369,"106":0.3167,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00633,"18":0.02534,"85":0.00633,"89":0.00633,"92":0.04434,"100":0.01267,"106":0.00633,"109":0.06967,"114":0.00633,"116":0.00633,"117":0.01267,"118":0.01267,"119":0.03167,"120":1.67851,"121":0.22169,_:"12 13 15 16 17 79 80 81 83 84 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 107 108 110 111 112 113 115"},E:{"14":0.00633,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 15.4 16.2 16.4 17.4","13.1":0.00633,"14.1":0.00633,"15.1":0.00633,"15.5":0.00633,"15.6":0.019,"16.0":0.01267,"16.1":0.01267,"16.3":0.01267,"16.5":0.00633,"16.6":0.08868,"17.0":0.03167,"17.1":0.03167,"17.2":0.05067,"17.3":0.00633},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00042,"5.0-5.1":0.00063,"6.0-6.1":0.00105,"7.0-7.1":0.00147,"8.1-8.4":0.00021,"9.0-9.2":0.00126,"9.3":0.00483,"10.0-10.2":0.00042,"10.3":0.00756,"11.0-11.2":0.00294,"11.3-11.4":0.00315,"12.0-12.1":0.00189,"12.2-12.5":0.03739,"13.0-13.1":0.00063,"13.2":0.00693,"13.3":0.00189,"13.4-13.7":0.0084,"14.0-14.4":0.0147,"14.5-14.8":0.02248,"15.0-15.1":0.00966,"15.2-15.3":0.01113,"15.4":0.01302,"15.5":0.01723,"15.6-15.8":0.13423,"16.0":0.04033,"16.1":0.08592,"16.2":0.03907,"16.3":0.07268,"16.4":0.01617,"16.5":0.03445,"16.6-16.7":0.2819,"17.0":0.04684,"17.1":0.48293,"17.2":0.65371,"17.3":0.04201},P:{"4":0.02162,"20":0.01081,"21":0.04324,"22":0.01081,"23":0.20539,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 16.0","7.2-7.4":0.01081,"13.0":0.01081,"14.0":0.04324,"15.0":0.01081,"17.0":0.02162,"18.0":0.02162,"19.0":0.01081},I:{"0":0.07665,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.0002},A:{"11":0.01267,_:"6 7 8 9 10 5.5"},K:{"0":1.23494,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.53524,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00733},O:{"0":0.46192},H:{"0":2.75},L:{"0":32.04443},R:{_:"0"},M:{"0":0.12464}}; diff --git a/.pnpm-store/v3/files/9c/c033ec23996fe9464772786012151c90392ee8835d876d12ce13ddf87e3ce18b76d18d4853059c13408cf1508bd46686227a95df57266f4efa52b7c69fb7f2 b/.pnpm-store/v3/files/9c/c033ec23996fe9464772786012151c90392ee8835d876d12ce13ddf87e3ce18b76d18d4853059c13408cf1508bd46686227a95df57266f4efa52b7c69fb7f2 new file mode 100644 index 00000000..b313ab60 --- /dev/null +++ b/.pnpm-store/v3/files/9c/c033ec23996fe9464772786012151c90392ee8835d876d12ce13ddf87e3ce18b76d18d4853059c13408cf1508bd46686227a95df57266f4efa52b7c69fb7f2 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D XC DC YC ZC"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB iC jC kC lC 2B QC mC 3B"},G:{"1":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC qC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D","16":"A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Array.prototype.findIndex",D:true}; diff --git a/.pnpm-store/v3/files/9c/e34119fdad7d71316a768b450f250c399878ea0e4bd286cb977590afc65601b9032164734258727490493d28a12d9538649615ee0ef088e5575c78559304e7 b/.pnpm-store/v3/files/9c/e34119fdad7d71316a768b450f250c399878ea0e4bd286cb977590afc65601b9032164734258727490493d28a12d9538649615ee0ef088e5575c78559304e7 new file mode 100644 index 00000000..8adbac64 --- /dev/null +++ b/.pnpm-store/v3/files/9c/e34119fdad7d71316a768b450f250c399878ea0e4bd286cb977590afc65601b9032164734258727490493d28a12d9538649615ee0ef088e5575c78559304e7 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","161":"B"},B:{"2":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","161":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A","161":"B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"Input Method Editor API",D:true}; diff --git a/.pnpm-store/v3/files/9c/e43c2d3df50f7e9213ea524e022e91de6c7d144a9f58810b2cd70f785ae5fdcd2b0dbb4b04eaa6324425b098a68b5b11d0a70b5a7321c87a20b5636639aca6 b/.pnpm-store/v3/files/9c/e43c2d3df50f7e9213ea524e022e91de6c7d144a9f58810b2cd70f785ae5fdcd2b0dbb4b04eaa6324425b098a68b5b11d0a70b5a7321c87a20b5636639aca6 new file mode 100644 index 00000000..c2613fce --- /dev/null +++ b/.pnpm-store/v3/files/9c/e43c2d3df50f7e9213ea524e022e91de6c7d144a9f58810b2cd70f785ae5fdcd2b0dbb4b04eaa6324425b098a68b5b11d0a70b5a7321c87a20b5636639aca6 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O P Q R S T U V W X Y Z a b c"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC","132":"LC MC fC 6B NC OC PC gC hC"},F:{"1":"Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC","132":"LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t 6B QD RD","2":"I GD HD ID JD KD EC LD MD ND OD PD 5B"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:5,C:"WebCodecs API",D:true}; diff --git a/.pnpm-store/v3/files/9d/14f7e5db75b1418b36eb3efc68d17ee1eeb90f6ec929aab5ca99ef1a5f276c80579941d4650353343104f0a555ec15968b4de32bac25dacd116465742ccf50 b/.pnpm-store/v3/files/9d/14f7e5db75b1418b36eb3efc68d17ee1eeb90f6ec929aab5ca99ef1a5f276c80579941d4650353343104f0a555ec15968b4de32bac25dacd116465742ccf50 new file mode 100644 index 00000000..15e0938b --- /dev/null +++ b/.pnpm-store/v3/files/9d/14f7e5db75b1418b36eb3efc68d17ee1eeb90f6ec929aab5ca99ef1a5f276c80579941d4650353343104f0a555ec15968b4de32bac25dacd116465742ccf50 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L","260":"G"},C:{"1":"0 1 2 3 4 5 6 7 8 IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB","194":"ZB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC","260":"bC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB iC jC kC lC 2B QC mC 3B","194":"MB"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC","260":"tC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS Variables (Custom Properties)",D:true}; diff --git a/.pnpm-store/v3/files/9d/67e0e749af485b60240cb5935079a252454fbb0dc73be5ae1ca7bceaca876029aedea66f11b72f725c4644c051664db8f358f543c1e26c755268a30330c1a5 b/.pnpm-store/v3/files/9d/67e0e749af485b60240cb5935079a252454fbb0dc73be5ae1ca7bceaca876029aedea66f11b72f725c4644c051664db8f358f543c1e26c755268a30330c1a5 new file mode 100644 index 00000000..e09aca78 --- /dev/null +++ b/.pnpm-store/v3/files/9d/67e0e749af485b60240cb5935079a252454fbb0dc73be5ae1ca7bceaca876029aedea66f11b72f725c4644c051664db8f358f543c1e26c755268a30330c1a5 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00949,"52":0.01898,"60":0.00316,"105":0.01265,"115":0.10754,"119":0.00633,"120":0.00949,"121":0.51557,"122":0.10122,"123":0.00316,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 107 108 109 110 111 112 113 114 116 117 118 124 125 3.5 3.6"},D:{"34":0.00316,"38":0.02214,"49":0.00316,"50":0.00316,"55":0.00316,"56":0.01898,"58":0.04112,"62":0.00316,"64":0.00316,"65":0.00949,"66":0.00633,"68":0.01265,"69":0.00316,"70":0.00949,"72":0.02214,"75":0.00949,"76":0.00949,"78":0.00316,"79":0.11703,"80":0.00316,"81":0.00949,"83":0.00949,"85":0.01265,"86":0.02847,"87":0.05377,"88":0.00949,"89":0.00316,"90":0.00316,"91":0.00949,"92":0.00316,"93":0.0253,"94":0.00633,"95":0.01265,"96":0.00316,"97":0.00316,"98":0.01265,"99":0.00949,"100":0.00316,"101":0.00949,"102":0.00633,"103":0.12019,"104":0.00316,"105":0.00633,"106":0.03479,"107":0.01898,"108":0.02847,"109":0.83187,"110":0.01582,"111":0.0253,"112":0.02847,"113":0.01265,"114":0.05693,"115":0.03163,"116":0.1455,"117":0.07908,"118":0.05061,"119":0.45864,"120":18.57946,"121":1.40437,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 51 52 53 54 57 59 60 61 63 67 71 73 74 77 84 122 123 124"},F:{"28":0.01898,"36":0.00949,"46":0.01265,"74":0.00316,"80":0.00633,"82":0.00316,"89":0.00316,"95":0.00633,"99":0.00316,"101":0.03479,"102":0.01265,"103":0.00949,"104":0.01582,"105":0.31946,"106":0.13285,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 79 81 83 84 85 86 87 88 90 91 92 93 94 96 97 98 100 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00633,"89":0.00316,"92":0.03163,"100":0.00316,"107":0.00316,"109":0.03163,"110":0.00316,"112":0.00316,"113":0.00316,"114":0.01898,"115":0.00633,"116":0.00316,"117":0.00633,"118":0.01265,"119":0.05377,"120":3.46032,"121":0.44915,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 111"},E:{"13":0.00949,"14":0.05061,"15":0.00633,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.00316,"13.1":0.03163,"14.1":0.0253,"15.1":0.02847,"15.2-15.3":0.01582,"15.4":0.01582,"15.5":0.02214,"15.6":0.18029,"16.0":0.00949,"16.1":0.04428,"16.2":0.01898,"16.3":0.07275,"16.4":0.03796,"16.5":0.06959,"16.6":0.33844,"17.0":0.07275,"17.1":0.35742,"17.2":0.46496,"17.3":0.03796},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00345,"5.0-5.1":0.00518,"6.0-6.1":0.00863,"7.0-7.1":0.01208,"8.1-8.4":0.00173,"9.0-9.2":0.01035,"9.3":0.03968,"10.0-10.2":0.00345,"10.3":0.06211,"11.0-11.2":0.02415,"11.3-11.4":0.02588,"12.0-12.1":0.01553,"12.2-12.5":0.30709,"13.0-13.1":0.00518,"13.2":0.05693,"13.3":0.01553,"13.4-13.7":0.06901,"14.0-14.4":0.12077,"14.5-14.8":0.1846,"15.0-15.1":0.07936,"15.2-15.3":0.09144,"15.4":0.10696,"15.5":0.14147,"15.6-15.8":1.10242,"16.0":0.33124,"16.1":0.70562,"16.2":0.32089,"16.3":0.59693,"16.4":0.13284,"16.5":0.28294,"16.6-16.7":2.31526,"17.0":0.38473,"17.1":3.9663,"17.2":5.36891,"17.3":0.34505},P:{"4":0.05123,"20":0.03074,"21":0.07172,"22":0.15369,"23":2.49997,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 15.0","7.2-7.4":0.05123,"11.1-11.2":0.1127,"12.0":0.01025,"13.0":0.02049,"14.0":0.02049,"16.0":0.02049,"17.0":0.02049,"18.0":0.01025,"19.0":0.05123},I:{"0":0.06808,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00018},A:{"11":0.08224,_:"6 7 8 9 10 5.5"},K:{"0":1.76104,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00684},O:{"0":2.64631},H:{"0":0.01},L:{"0":43.87673},R:{_:"0"},M:{"0":0.87526}}; diff --git a/.pnpm-store/v3/files/9d/8dcd0de34da7fbb2adb36464b85d7dce605372e568a60a813661bdd1404fa8e0c59aad9126cb70a1f5497487b62f31b1b22dc40274d2d38cd5e16fc69873e4 b/.pnpm-store/v3/files/9d/8dcd0de34da7fbb2adb36464b85d7dce605372e568a60a813661bdd1404fa8e0c59aad9126cb70a1f5497487b62f31b1b22dc40274d2d38cd5e16fc69873e4 new file mode 100644 index 00000000..8a38edde --- /dev/null +++ b/.pnpm-store/v3/files/9d/8dcd0de34da7fbb2adb36464b85d7dce605372e568a60a813661bdd1404fa8e0c59aad9126cb70a1f5497487b62f31b1b22dc40274d2d38cd5e16fc69873e4 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","33":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"2":"XC DC","33":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB"},G:{"33":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"H","33":"7B I AD BD CD DD RC ED FD"},J:{"33":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","33":"I"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"CSS Canvas Drawings",D:true}; diff --git a/.pnpm-store/v3/files/9d/97afa74e04b5d228a6a5d9339fbadacc89ff1c6dca7cfd20d270706c4668df595efff20ec4b57a11075194f2db6fb5c77558a61d2c5f8e7be64e6eebc8eb83 b/.pnpm-store/v3/files/9d/97afa74e04b5d228a6a5d9339fbadacc89ff1c6dca7cfd20d270706c4668df595efff20ec4b57a11075194f2db6fb5c77558a61d2c5f8e7be64e6eebc8eb83 new file mode 100644 index 00000000..6c365399 --- /dev/null +++ b/.pnpm-store/v3/files/9d/97afa74e04b5d228a6a5d9339fbadacc89ff1c6dca7cfd20d270706c4668df595efff20ec4b57a11075194f2db6fb5c77558a61d2c5f8e7be64e6eebc8eb83 @@ -0,0 +1 @@ +module.exports={A:{A:{"388":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 Z a b c d e f g h i j k l m n o p v w x y z H","260":"P Q R S T U V W X Y","388":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","260":"9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q","388":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","260":"rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y","388":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","260":"L G FC cC dC GC HC 4B eC","388":"9 I J D E F A B C K XC DC YC ZC aC bC EC 2B 3B"},F:{"1":"yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","260":"gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB","388":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB iC jC kC lC 2B QC mC 3B"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","260":"3C 4C 5C 6C GC HC 4B 7C","388":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C"},H:{"388":"9C"},I:{"1":"H","388":"7B I AD BD CD DD RC ED FD"},J:{"388":"D A"},K:{"1":"u","388":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"388":"A B"},O:{"388":"4B"},P:{"1":"q r s t PD 5B 6B QD RD","388":"I GD HD ID JD KD EC LD MD ND OD"},Q:{"388":"FC"},R:{"1":"SD"},S:{"1":"UD","388":"TD"}},B:5,C:"CSS overflow property",D:true}; diff --git a/.pnpm-store/v3/files/9e/1fdadedb15a2102f51dab26a1da0e44157b8ff61a9f20c6d8aead1846f357d9de77185ce9e9f3d8735a39b2db80f4096ff826918f88219a4f2eb9625907b97 b/.pnpm-store/v3/files/9e/1fdadedb15a2102f51dab26a1da0e44157b8ff61a9f20c6d8aead1846f357d9de77185ce9e9f3d8735a39b2db80f4096ff826918f88219a4f2eb9625907b97 new file mode 100644 index 00000000..d7fa9cb7 --- /dev/null +++ b/.pnpm-store/v3/files/9e/1fdadedb15a2102f51dab26a1da0e44157b8ff61a9f20c6d8aead1846f357d9de77185ce9e9f3d8735a39b2db80f4096ff826918f88219a4f2eb9625907b97 @@ -0,0 +1 @@ +module.exports={C:{"51":0.00361,"52":0.00722,"68":0.00722,"78":0.00361,"88":0.00361,"91":0.00722,"102":0.01083,"103":0.01805,"104":0.00361,"105":0.00361,"106":0.00361,"108":0.01083,"111":0.00361,"114":0.00361,"115":0.2815,"116":0.00722,"117":0.00722,"118":0.01083,"119":0.01805,"120":0.09023,"121":1.37142,"122":0.3212,"123":0.00361,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 107 109 110 112 113 124 125 3.5 3.6"},D:{"38":0.00361,"49":0.03609,"53":0.00361,"55":0.00361,"65":0.00361,"66":0.00361,"70":0.00361,"74":0.01083,"75":0.00722,"76":0.00361,"77":0.00361,"78":0.00722,"79":0.06135,"80":0.00361,"81":0.00722,"83":0.00361,"84":0.00722,"87":0.05774,"88":0.01444,"91":0.00722,"92":0.00361,"93":0.01444,"94":0.01444,"95":0.00722,"96":0.00722,"97":0.00361,"98":0.00361,"99":0.01083,"100":0.00361,"101":0.00722,"102":0.00722,"103":0.23819,"104":0.00361,"105":0.03609,"106":0.02165,"107":0.01805,"108":0.03248,"109":1.75037,"110":0.01805,"111":0.01083,"112":0.02165,"113":0.02526,"114":0.05053,"115":0.01444,"116":0.16241,"117":0.05053,"118":0.15519,"119":0.3609,"120":20.08409,"121":1.54826,"122":0.01083,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 56 57 58 59 60 61 62 63 64 67 68 69 71 72 73 85 86 89 90 123 124"},F:{"28":0.00722,"95":0.10827,"104":0.00361,"105":1.10435,"106":0.77233,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.01805,"18":0.00722,"80":0.00361,"85":0.00361,"89":0.00361,"92":0.04331,"99":0.00361,"100":0.00361,"103":0.00361,"104":0.00361,"105":0.00722,"106":0.00722,"107":0.00361,"108":0.00722,"109":0.04331,"110":0.00361,"112":0.00722,"113":0.00722,"114":0.01444,"115":0.01083,"116":0.09383,"117":0.02165,"118":0.06857,"119":0.09023,"120":3.17231,"121":0.4006,_:"12 13 14 16 17 79 81 83 84 86 87 88 90 91 93 94 95 96 97 98 101 102 111"},E:{"12":0.00361,"14":0.00361,"15":0.00361,_:"0 4 5 6 7 8 9 10 11 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 17.4","5.1":0.01083,"12.1":0.00361,"13.1":0.01444,"14.1":0.04692,"15.1":0.00722,"15.2-15.3":0.00722,"15.4":0.00722,"15.5":0.00361,"15.6":0.05774,"16.0":0.00361,"16.1":0.01444,"16.2":0.00722,"16.3":0.03248,"16.4":0.01444,"16.5":0.01444,"16.6":0.08301,"17.0":0.02526,"17.1":0.12632,"17.2":0.23098,"17.3":0.04331},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00126,"5.0-5.1":0.00189,"6.0-6.1":0.00315,"7.0-7.1":0.00441,"8.1-8.4":0.00063,"9.0-9.2":0.00378,"9.3":0.01449,"10.0-10.2":0.00126,"10.3":0.02269,"11.0-11.2":0.00882,"11.3-11.4":0.00945,"12.0-12.1":0.00567,"12.2-12.5":0.11217,"13.0-13.1":0.00189,"13.2":0.0208,"13.3":0.00567,"13.4-13.7":0.02521,"14.0-14.4":0.04411,"14.5-14.8":0.06743,"15.0-15.1":0.02899,"15.2-15.3":0.0334,"15.4":0.03907,"15.5":0.05167,"15.6-15.8":0.40267,"16.0":0.12099,"16.1":0.25773,"16.2":0.11721,"16.3":0.21803,"16.4":0.04852,"16.5":0.10335,"16.6-16.7":0.84566,"17.0":0.14052,"17.1":1.44872,"17.2":1.96103,"17.3":0.12603},P:{"4":0.0411,"20":0.07193,"21":0.0822,"22":0.10275,"23":1.75706,_:"5.0-5.4 8.2 9.2 10.1 12.0","6.2-6.4":0.01028,"7.2-7.4":0.09248,"11.1-11.2":0.02055,"13.0":0.07193,"14.0":0.01028,"15.0":0.01028,"16.0":0.03083,"17.0":0.02055,"18.0":0.02055,"19.0":0.0411},I:{"0":0.13998,"3":0,"4":0.00003,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00003,"4.2-4.3":0.0001,"4.4":0,"4.4.3-4.4.4":0.00037},A:{"11":0.00722,_:"6 7 8 9 10 5.5"},K:{"0":0.35068,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00639,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.08947},H:{"0":0.02},L:{"0":56.25928},R:{_:"0"},M:{"0":0.19173}}; diff --git a/.pnpm-store/v3/files/9e/259a05e9e9018932a1a0c4b984c09e3d76ff6016fa7fcc4483f84f135a80345e8e651baab8244e958b61755586e881dc09773da3b7a11959ec37e03d9d9b75 b/.pnpm-store/v3/files/9e/259a05e9e9018932a1a0c4b984c09e3d76ff6016fa7fcc4483f84f135a80345e8e651baab8244e958b61755586e881dc09773da3b7a11959ec37e03d9d9b75 new file mode 100644 index 00000000..8bb76372 --- /dev/null +++ b/.pnpm-store/v3/files/9e/259a05e9e9018932a1a0c4b984c09e3d76ff6016fa7fcc4483f84f135a80345e8e651baab8244e958b61755586e881dc09773da3b7a11959ec37e03d9d9b75 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","132":"B"},B:{"132":"C K L G M N O","1028":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z VC WC","4098":"8","8258":"H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p","2052":"0 1 2 3 4 5 6 7 8 v w x y z H 1B BC CC"},E:{"1":"K L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC","516":"B C 2B 3B"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c iC jC kC lC 2B QC mC 3B","2052":"d e f g h i j k l m n o p"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","2052":"H"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","258":"u"},L:{"2052":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"r s t","2":"I","258":"q GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:6,C:"HEVC/H.265 video format",D:true}; diff --git a/.pnpm-store/v3/files/9e/a62374ded072a17a05224265b51c342a894bd8a2930a7e7742d1c76197974b1f32b458fc77c721d3652a736a1929ab8bcfd491043543e1104e2445a8431e58 b/.pnpm-store/v3/files/9e/a62374ded072a17a05224265b51c342a894bd8a2930a7e7742d1c76197974b1f32b458fc77c721d3652a736a1929ab8bcfd491043543e1104e2445a8431e58 new file mode 100644 index 00000000..54f1d7e4 --- /dev/null +++ b/.pnpm-store/v3/files/9e/a62374ded072a17a05224265b51c342a894bd8a2930a7e7742d1c76197974b1f32b458fc77c721d3652a736a1929ab8bcfd491043543e1104e2445a8431e58 @@ -0,0 +1 @@ +module.exports={C:{"31":0.02149,"34":0.0043,"48":0.0043,"49":0.0043,"50":0.0043,"52":0.0043,"65":0.0043,"72":0.0043,"78":0.0086,"88":0.0043,"91":0.0086,"106":0.0086,"107":0.0043,"111":0.02579,"112":0.0043,"114":0.0043,"115":0.15473,"116":0.0086,"117":0.0043,"118":0.0086,"119":0.01289,"120":0.06877,"121":1.00143,"122":0.24499,"123":0.0043,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 102 103 104 105 108 109 110 113 124 125 3.5 3.6"},D:{"11":0.01289,"40":0.0043,"49":0.0043,"50":0.0043,"55":0.0086,"56":0.0086,"58":0.0043,"59":0.0043,"63":0.0043,"65":0.0086,"66":0.0086,"68":0.0043,"70":0.0086,"71":0.0086,"72":0.0043,"73":0.0043,"74":0.0086,"76":0.0043,"77":0.0043,"79":0.0086,"80":0.03438,"81":0.01719,"83":0.0086,"84":0.01289,"85":0.0043,"86":0.01289,"87":0.01289,"88":0.05587,"89":0.0086,"90":0.02579,"91":0.0043,"92":0.0086,"93":0.0043,"94":0.0043,"95":0.0086,"96":0.01289,"97":0.0043,"98":0.09456,"99":0.0043,"100":0.0043,"101":0.0086,"102":0.02149,"103":0.06017,"104":0.0086,"105":0.02149,"106":0.06447,"107":0.02149,"108":0.02579,"109":0.96275,"110":0.01289,"111":0.03438,"112":0.03009,"113":0.03009,"114":0.07307,"115":0.03009,"116":0.2149,"117":0.04298,"118":0.10745,"119":0.62321,"120":21.16335,"121":1.80086,"122":0.01719,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 51 52 53 54 57 60 61 62 64 67 69 75 78 123 124"},F:{"74":0.0043,"79":0.0086,"80":0.0043,"95":0.02579,"104":0.0086,"105":0.15903,"106":0.72636,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.06017,"13":0.07736,"14":0.02579,"15":0.02149,"16":0.04728,"17":0.03009,"18":0.24928,"84":0.01719,"85":0.01289,"89":0.03868,"90":0.05158,"92":0.2149,"99":0.0043,"100":0.33954,"103":0.0086,"104":0.0086,"105":0.0043,"107":0.02149,"108":0.01719,"109":0.03438,"110":0.01289,"111":0.0043,"112":0.03009,"113":0.01289,"114":0.03438,"115":0.01289,"116":0.02579,"117":0.06447,"118":0.04728,"119":0.23639,"120":5.45846,"121":0.81662,_:"79 80 81 83 86 87 88 91 93 94 95 96 97 98 101 102 106"},E:{"12":0.0043,"14":0.0043,_:"0 4 5 6 7 8 9 10 11 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.2-15.3 16.2 17.4","5.1":0.0043,"12.1":0.0043,"13.1":0.0086,"14.1":0.02149,"15.1":0.01719,"15.4":0.0086,"15.5":0.0086,"15.6":0.05587,"16.0":0.01719,"16.1":0.01289,"16.3":0.0043,"16.4":0.01289,"16.5":0.03438,"16.6":0.04728,"17.0":0.02149,"17.1":0.07307,"17.2":0.11175,"17.3":0.01289},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00108,"5.0-5.1":0.00163,"6.0-6.1":0.00271,"7.0-7.1":0.00379,"8.1-8.4":0.00054,"9.0-9.2":0.00325,"9.3":0.01246,"10.0-10.2":0.00108,"10.3":0.0195,"11.0-11.2":0.00758,"11.3-11.4":0.00813,"12.0-12.1":0.00488,"12.2-12.5":0.09644,"13.0-13.1":0.00163,"13.2":0.01788,"13.3":0.00488,"13.4-13.7":0.02167,"14.0-14.4":0.03792,"14.5-14.8":0.05797,"15.0-15.1":0.02492,"15.2-15.3":0.02871,"15.4":0.03359,"15.5":0.04443,"15.6-15.8":0.3462,"16.0":0.10402,"16.1":0.22159,"16.2":0.10077,"16.3":0.18746,"16.4":0.04172,"16.5":0.08885,"16.6-16.7":0.72708,"17.0":0.12082,"17.1":1.24556,"17.2":1.68603,"17.3":0.10836},P:{"4":0.04251,"20":0.01063,"21":0.08503,"22":0.08503,"23":0.51016,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 14.0 15.0 16.0","7.2-7.4":0.05314,"11.1-11.2":0.01063,"13.0":0.01063,"17.0":0.01063,"18.0":0.01063,"19.0":0.10628},I:{"0":0.02839,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"11":0.05158,_:"6 7 8 9 10 5.5"},K:{"0":4.99835,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.11406,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.25664},H:{"0":5.94},L:{"0":44.5817},R:{_:"0"},M:{"0":0.13687}}; diff --git a/.pnpm-store/v3/files/9f/0195a2d8ade378d960dd34503d5314c18de863c00659b00cb2bdad634413b2049d0aa7a8d9497cb80fa2f1833b329ccdd943463ab786d3d477661b98bd06b7 b/.pnpm-store/v3/files/9f/0195a2d8ade378d960dd34503d5314c18de863c00659b00cb2bdad634413b2049d0aa7a8d9497cb80fa2f1833b329ccdd943463ab786d3d477661b98bd06b7 new file mode 100644 index 00000000..6d645b20 --- /dev/null +++ b/.pnpm-store/v3/files/9f/0195a2d8ade378d960dd34503d5314c18de863c00659b00cb2bdad634413b2049d0aa7a8d9497cb80fa2f1833b329ccdd943463ab786d3d477661b98bd06b7 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","132":"9 YC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","2":"F B iC jC kC lC 2B QC"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"1":"9C"},I:{"1":"7B I H DD RC ED FD","2":"AD BD CD"},J:{"1":"D A"},K:{"1":"C u QC 3B","2":"A B 2B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"ECMAScript 5 Strict Mode",D:true}; diff --git a/.pnpm-store/v3/files/9f/940258be50d2f146c7f3ee10535c1fcb97644933a1d3e5951cfcffcb8be75eca73559fbc611628318dedb69495d4edc50f2deb4c951f1013a6fe37b9b4a4d4 b/.pnpm-store/v3/files/9f/940258be50d2f146c7f3ee10535c1fcb97644933a1d3e5951cfcffcb8be75eca73559fbc611628318dedb69495d4edc50f2deb4c951f1013a6fe37b9b4a4d4 new file mode 100644 index 00000000..f8518b57 --- /dev/null +++ b/.pnpm-store/v3/files/9f/940258be50d2f146c7f3ee10535c1fcb97644933a1d3e5951cfcffcb8be75eca73559fbc611628318dedb69495d4edc50f2deb4c951f1013a6fe37b9b4a4d4 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D SC","129":"E F"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB"},E:{"1":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC ZC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","129":"F B iC jC kC lC 2B QC mC"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"1":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"2":"D A"},K:{"1":"u 3B","2":"A B C 2B QC"},L:{"1":"H"},M:{"2":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:2,C:"CSS widows & orphans",D:true}; diff --git a/.pnpm-store/v3/files/9f/aa2820f141a87b07fac6b39ca684f5b39c4f484c6724e6b8de237bec89aac8f9ced301b3b787cf7f836511a08b7a4dc8d8598afe149d697d9de3224535449c b/.pnpm-store/v3/files/9f/aa2820f141a87b07fac6b39ca684f5b39c4f484c6724e6b8de237bec89aac8f9ced301b3b787cf7f836511a08b7a4dc8d8598afe149d697d9de3224535449c new file mode 100644 index 00000000..6972e94f --- /dev/null +++ b/.pnpm-store/v3/files/9f/aa2820f141a87b07fac6b39ca684f5b39c4f484c6724e6b8de237bec89aac8f9ced301b3b787cf7f836511a08b7a4dc8d8598afe149d697d9de3224535449c @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r VC WC","132":"0 1 2 3 4 5 6 7 8 s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F","16":"A B"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC"},H:{"2":"9C"},I:{"1":"7B I H DD RC ED FD","2":"AD BD CD"},J:{"1":"A","2":"D"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"132":"1B"},N:{"1":"A","2":"B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"132":"TD UD"}},B:6,C:"AAC audio file format",D:true}; diff --git a/.pnpm-store/v3/files/a0/12fe7ad8aa02c3ee5c965db143ce3013a448a3f676e6e7fade22a5a6afa1d42d97e44c60f2e852f21ca8d17e17c468f30d83589710df7e21f2970ac86fc4e1-exec b/.pnpm-store/v3/files/a0/12fe7ad8aa02c3ee5c965db143ce3013a448a3f676e6e7fade22a5a6afa1d42d97e44c60f2e852f21ca8d17e17c468f30d83589710df7e21f2970ac86fc4e1-exec new file mode 100755 index 00000000..3708e8d7 --- /dev/null +++ b/.pnpm-store/v3/files/a0/12fe7ad8aa02c3ee5c965db143ce3013a448a3f676e6e7fade22a5a6afa1d42d97e44c60f2e852f21ca8d17e17c468f30d83589710df7e21f2970ac86fc4e1-exec @@ -0,0 +1,12 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../../../../../semver@7.6.0/node_modules/semver/bin/semver.js" "$@" +else + exec node "$basedir/../../../../../semver@7.6.0/node_modules/semver/bin/semver.js" "$@" +fi diff --git a/.pnpm-store/v3/files/a0/179a116cd1aa3f26b7582389bf0ba884f20882daf26845ecd3af9066622ecff82cdf8f7b28c27c1d9e2f80dae746d280fb48854d62b8afc2a57bebc6d7f3a3 b/.pnpm-store/v3/files/a0/179a116cd1aa3f26b7582389bf0ba884f20882daf26845ecd3af9066622ecff82cdf8f7b28c27c1d9e2f80dae746d280fb48854d62b8afc2a57bebc6d7f3a3 new file mode 100644 index 00000000..4bac1f9a --- /dev/null +++ b/.pnpm-store/v3/files/a0/179a116cd1aa3f26b7582389bf0ba884f20882daf26845ecd3af9066622ecff82cdf8f7b28c27c1d9e2f80dae746d280fb48854d62b8afc2a57bebc6d7f3a3 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC WC","2":"TC 7B VC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"I"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p lC 2B QC mC 3B","2":"F iC jC kC"},G:{"1":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC"},H:{"130":"9C"},I:{"130":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"130":"A B C u 2B QC 3B"},L:{"132":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"130":"4B"},P:{"130":"I","132":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"132":"FC"},R:{"132":"SD"},S:{"1":"UD","2":"TD"}},B:1,C:"Multiple file selection",D:true}; diff --git a/.pnpm-store/v3/files/a0/37d33bc8670656cbcd7b00f3fca11f7937f521b19282c659f29a97d14a88e3b2dd5c8fc632353b001e5d4e8c431a0bf1d6efaa481efe52feb2c89e599e5825 b/.pnpm-store/v3/files/a0/37d33bc8670656cbcd7b00f3fca11f7937f521b19282c659f29a97d14a88e3b2dd5c8fc632353b001e5d4e8c431a0bf1d6efaa481efe52feb2c89e599e5825 new file mode 100644 index 00000000..9c6b4234 --- /dev/null +++ b/.pnpm-store/v3/files/a0/37d33bc8670656cbcd7b00f3fca11f7937f521b19282c659f29a97d14a88e3b2dd5c8fc632353b001e5d4e8c431a0bf1d6efaa481efe52feb2c89e599e5825 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"SC","8":"J D E"},B:{"1":"C K L G M N O","129":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB VC WC","8":"TC 7B","129":"0 1 2 3 4 5 6 7 8 gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"9 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","4":"I","129":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 J D E F B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","8":"I XC DC","129":"A"},F:{"1":"B C M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB lC 2B QC mC 3B","2":"F G iC","8":"jC kC","129":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"E DC nC RC oC pC qC rC sC tC","129":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I AD BD CD DD RC ED FD","129":"H"},J:{"1":"D A"},K:{"1":"B C 2B QC 3B","8":"A","129":"u"},L:{"129":"H"},M:{"129":"1B"},N:{"1":"A B"},O:{"129":"4B"},P:{"1":"I","129":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"129":"FC"},R:{"129":"SD"},S:{"1":"TD","129":"UD"}},B:2,C:"Geolocation",D:true}; diff --git a/.pnpm-store/v3/files/a0/66ea80ecd88cb865b1999db2da43417ff4bf51927bc7cf7187abb67559de238635ff6e7671734854566322050adfa599b5af81db8b1d24e106721129e7ed84 b/.pnpm-store/v3/files/a0/66ea80ecd88cb865b1999db2da43417ff4bf51927bc7cf7187abb67559de238635ff6e7671734854566322050adfa599b5af81db8b1d24e106721129e7ed84 new file mode 100644 index 00000000..70791cfe --- /dev/null +++ b/.pnpm-store/v3/files/a0/66ea80ecd88cb865b1999db2da43417ff4bf51927bc7cf7187abb67559de238635ff6e7671734854566322050adfa599b5af81db8b1d24e106721129e7ed84 @@ -0,0 +1 @@ +module.exports={C:{"48":0.01841,"52":0.03069,"54":0.38049,"56":0.00614,"78":0.04296,"83":0.00614,"87":0.00614,"91":0.01227,"102":0.01227,"103":0.00614,"104":0.01841,"105":0.01841,"106":0.02455,"107":0.03069,"108":0.03069,"109":0.03069,"110":0.02455,"111":0.01841,"112":0.00614,"113":0.01227,"114":0.00614,"115":0.30071,"116":0.00614,"117":0.03682,"118":0.00614,"119":0.01841,"120":0.0491,"121":1.91474,"122":0.42345,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 88 89 90 92 93 94 95 96 97 98 99 100 101 123 124 125 3.5 3.6"},D:{"41":0.00614,"43":0.00614,"48":0.01227,"49":0.04296,"53":0.01841,"56":0.00614,"61":0.00614,"64":0.00614,"65":0.01227,"66":0.00614,"67":0.00614,"68":0.00614,"69":0.00614,"70":0.00614,"71":0.00614,"72":0.00614,"74":0.00614,"75":0.01227,"76":0.00614,"77":0.01841,"78":0.00614,"79":0.01841,"80":0.01227,"81":0.0491,"83":0.03069,"84":0.00614,"85":0.01841,"86":0.05523,"87":0.03069,"88":0.00614,"89":0.01227,"90":0.01841,"91":0.04296,"92":0.00614,"93":0.00614,"94":0.02455,"95":0.02455,"96":0.01227,"97":0.04296,"98":0.04296,"99":0.01841,"100":0.03069,"101":0.03682,"102":0.0491,"103":0.11047,"104":0.03682,"105":0.13501,"106":0.23321,"107":0.30685,"108":0.40504,"109":1.22126,"110":0.22093,"111":0.24548,"112":0.24548,"113":0.02455,"114":0.08592,"115":0.09206,"116":0.26389,"117":0.11047,"118":0.2148,"119":2.84143,"120":24.91008,"121":1.51584,"122":0.02455,"123":0.00614,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 44 45 46 47 50 51 52 54 55 57 58 59 60 62 63 73 124"},F:{"46":0.00614,"91":0.01227,"92":0.01227,"93":0.01227,"94":0.01227,"95":0.02455,"96":0.00614,"101":0.00614,"105":0.1166,"106":0.19025,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 97 98 99 100 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00614},B:{"14":0.00614,"17":0.00614,"18":0.01227,"86":0.00614,"92":0.01227,"100":0.00614,"102":0.00614,"103":0.01841,"104":0.00614,"105":0.00614,"106":0.01841,"107":0.05523,"108":0.05523,"109":0.3314,"110":0.04296,"111":0.03069,"112":0.01841,"113":0.01841,"114":0.02455,"115":0.01227,"116":0.01841,"117":0.02455,"118":0.03682,"119":0.10433,"120":10.33471,"121":1.35014,_:"12 13 15 16 79 80 81 83 84 85 87 88 89 90 91 93 94 95 96 97 98 99 101"},E:{"13":0.00614,"14":0.0491,"15":0.00614,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 17.4","10.1":0.00614,"11.1":0.00614,"12.1":0.01841,"13.1":0.06137,"14.1":0.14729,"15.1":0.01227,"15.2-15.3":0.01227,"15.4":0.04296,"15.5":0.04296,"15.6":0.27617,"16.0":0.03069,"16.1":0.08592,"16.2":0.06137,"16.3":0.1657,"16.4":0.04296,"16.5":0.08592,"16.6":0.57074,"17.0":0.07364,"17.1":0.55233,"17.2":0.8285,"17.3":0.06137},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00448,"5.0-5.1":0.00672,"6.0-6.1":0.0112,"7.0-7.1":0.01569,"8.1-8.4":0.00224,"9.0-9.2":0.01345,"9.3":0.05154,"10.0-10.2":0.00448,"10.3":0.08067,"11.0-11.2":0.03137,"11.3-11.4":0.03361,"12.0-12.1":0.02017,"12.2-12.5":0.39888,"13.0-13.1":0.00672,"13.2":0.07395,"13.3":0.02017,"13.4-13.7":0.08964,"14.0-14.4":0.15686,"14.5-14.8":0.23978,"15.0-15.1":0.10308,"15.2-15.3":0.11877,"15.4":0.13894,"15.5":0.18376,"15.6-15.8":1.43195,"16.0":0.43026,"16.1":0.91654,"16.2":0.41681,"16.3":0.77536,"16.4":0.17255,"16.5":0.36751,"16.6-16.7":3.00732,"17.0":0.49973,"17.1":5.15189,"17.2":6.97376,"17.3":0.44819},P:{"4":0.01086,"20":0.01086,"21":0.02171,"22":0.02171,"23":0.75989,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 17.0","13.0":0.01086,"18.0":0.01086,"19.0":0.01086},I:{"0":0.07692,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.0002},A:{"8":0.0091,"9":0.0091,"10":0.0091,"11":0.48208,_:"6 7 5.5"},K:{"0":0.14293,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.03863},O:{"0":0.21247},H:{"0":0},L:{"0":20.72673},R:{_:"0"},M:{"0":0.2511}}; diff --git a/.pnpm-store/v3/files/a0/69e8986c7dcc213d93340cf24d4dde269d4bd6aab2cc50a2caeb10e511bf7d165d0bf81319ebbe17895b4abee76866e324727e8b8a2fc38db631d90515b604 b/.pnpm-store/v3/files/a0/69e8986c7dcc213d93340cf24d4dde269d4bd6aab2cc50a2caeb10e511bf7d165d0bf81319ebbe17895b4abee76866e324727e8b8a2fc38db631d90515b604 new file mode 100644 index 00000000..49c0a72e --- /dev/null +++ b/.pnpm-store/v3/files/a0/69e8986c7dcc213d93340cf24d4dde269d4bd6aab2cc50a2caeb10e511bf7d165d0bf81319ebbe17895b4abee76866e324727e8b8a2fc38db631d90515b604 @@ -0,0 +1 @@ +module.exports={A:{A:{"644":"J D E F SC","772":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","260":"C K L G M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","8":"TC 7B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","8":"F B iC jC kC lC 2B QC mC"},G:{"1":"6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","1025":"H"},J:{"2":"D A"},K:{"1":"3B","8":"A B C 2B QC","1025":"u"},L:{"1025":"H"},M:{"2":"1B"},N:{"1":"A B"},O:{"1025":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:1,C:"Drag and Drop",D:true}; diff --git a/.pnpm-store/v3/files/a0/c57ff6405605502b1b8626b9cde8053d030c6b30a3457458525777cd3c48b79e0f5704390e590eb79f4f768f4eab3ed131c88f363022b7e7b195519d232c00 b/.pnpm-store/v3/files/a0/c57ff6405605502b1b8626b9cde8053d030c6b30a3457458525777cd3c48b79e0f5704390e590eb79f4f768f4eab3ed131c88f363022b7e7b195519d232c00 new file mode 100644 index 00000000..464e3f7b --- /dev/null +++ b/.pnpm-store/v3/files/a0/c57ff6405605502b1b8626b9cde8053d030c6b30a3457458525777cd3c48b79e0f5704390e590eb79f4f768f4eab3ed131c88f363022b7e7b195519d232c00 @@ -0,0 +1,42 @@ +{ + "name": "@types/hast", + "version": "3.0.4", + "description": "TypeScript definitions for hast", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/hast", + "license": "MIT", + "contributors": [ + { + "name": "lukeggchapman", + "githubUsername": "lukeggchapman", + "url": "https://github.com/lukeggchapman" + }, + { + "name": "Junyoung Choi", + "githubUsername": "rokt33r", + "url": "https://github.com/rokt33r" + }, + { + "name": "Christian Murphy", + "githubUsername": "ChristianMurphy", + "url": "https://github.com/ChristianMurphy" + }, + { + "name": "Remco Haszing", + "githubUsername": "remcohaszing", + "url": "https://github.com/remcohaszing" + } + ], + "main": "", + "types": "index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/hast" + }, + "scripts": {}, + "dependencies": { + "@types/unist": "*" + }, + "typesPublisherContentHash": "3f3f73826d79157c12087f5bb36195319c6f435b9e218fa7a8de88d1cc64d097", + "typeScriptVersion": "4.6" +} \ No newline at end of file diff --git a/.pnpm-store/v3/files/a0/cef2c4bb70f0afbfd24f354ec701a4defd0e78140474ee38236664e95b5a7bc557b467a6561dd24fbe9792f86b066d2357cf4f825c08d4c99abd0ccf0c7d5a b/.pnpm-store/v3/files/a0/cef2c4bb70f0afbfd24f354ec701a4defd0e78140474ee38236664e95b5a7bc557b467a6561dd24fbe9792f86b066d2357cf4f825c08d4c99abd0ccf0c7d5a new file mode 100644 index 00000000..53dc7ee5 --- /dev/null +++ b/.pnpm-store/v3/files/a0/cef2c4bb70f0afbfd24f354ec701a4defd0e78140474ee38236664e95b5a7bc557b467a6561dd24fbe9792f86b066d2357cf4f825c08d4c99abd0ccf0c7d5a @@ -0,0 +1 @@ +module.exports={C:{"4":0.04411,"7":0.02206,"42":0.01323,"50":0.0397,"52":0.06617,"54":0.04852,"78":0.01764,"88":0.01323,"91":0.01764,"102":0.00441,"103":0.00882,"110":0.00441,"113":0.00882,"114":0.00441,"115":0.22496,"116":0.00441,"117":0.00882,"118":0.01764,"119":0.01323,"120":0.03529,"121":0.95719,"122":0.20291,_:"2 3 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 51 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 111 112 123 124 125 3.5 3.6"},D:{"38":0.00882,"47":0.02647,"49":0.02206,"55":0.03088,"57":0.04852,"60":0.14997,"65":0.00441,"66":0.00882,"75":0.01323,"76":0.00441,"77":0.00882,"78":0.00441,"79":0.06617,"80":0.00882,"81":0.00882,"83":0.00882,"84":0.00441,"85":0.01323,"86":0.01323,"87":0.05293,"88":0.01764,"89":0.00882,"90":0.00882,"91":0.42787,"92":0.01323,"93":0.08822,"94":0.01323,"95":0.00441,"96":0.00882,"97":0.00882,"98":0.00882,"99":0.00882,"100":0.00882,"101":0.00882,"102":0.01323,"103":0.05734,"104":0.01323,"105":0.03088,"106":0.03088,"107":0.0397,"108":0.05734,"109":3.32589,"110":0.03088,"111":0.03529,"112":0.0397,"113":0.01764,"114":0.05293,"115":0.03088,"116":0.14115,"117":0.05734,"118":0.29995,"119":1.53944,"120":22.4167,"121":1.83057,"122":0.00882,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 53 54 56 58 59 61 62 63 64 67 68 69 70 71 72 73 74 123 124"},F:{"95":0.05734,"102":0.00441,"104":0.00882,"105":2.83186,"106":1.31889,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.02206,"13":0.04411,"14":0.04852,"15":0.0397,"92":0.01764,"108":0.00441,"109":0.04852,"110":0.00441,"111":0.00441,"114":0.00882,"115":0.00441,"116":0.00441,"117":0.00882,"118":0.00882,"119":0.0794,"120":3.06565,"121":0.41463,_:"16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 112 113"},E:{"14":0.00882,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 10.1 11.1 12.1 15.2-15.3 17.4","5.1":0.01323,"9.1":0.00882,"13.1":0.01764,"14.1":0.03088,"15.1":0.00441,"15.4":0.00882,"15.5":0.00882,"15.6":0.05734,"16.0":0.00441,"16.1":0.01764,"16.2":0.01323,"16.3":0.02647,"16.4":0.01323,"16.5":0.02206,"16.6":0.08381,"17.0":0.03088,"17.1":0.11028,"17.2":0.18085,"17.3":0.01764},G:{"8":0,"3.2":0.00071,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00214,"6.0-6.1":0,"7.0-7.1":0.00214,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.01355,"10.0-10.2":0,"10.3":0.0107,"11.0-11.2":0.0107,"11.3-11.4":0.01212,"12.0-12.1":0.00571,"12.2-12.5":0.05848,"13.0-13.1":0.00143,"13.2":0.00071,"13.3":0.00285,"13.4-13.7":0.00571,"14.0-14.4":0.0164,"14.5-14.8":0.04065,"15.0-15.1":0.00998,"15.2-15.3":0.01712,"15.4":0.01926,"15.5":0.03281,"15.6-15.8":0.46569,"16.0":0.12623,"16.1":0.23891,"16.2":0.10412,"16.3":0.21181,"16.4":0.02781,"16.5":0.08843,"16.6-16.7":1.23661,"17.0":0.15119,"17.1":1.70159,"17.2":2.33701,"17.3":0.17258},P:{"4":0.07534,"20":0.02153,"21":0.05381,"22":0.07534,"23":1.7436,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 14.0 15.0 16.0 18.0","7.2-7.4":0.11839,"11.1-11.2":0.01076,"13.0":0.01076,"17.0":0.04305,"19.0":0.02153},I:{"0":0.03901,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"8":0.00457,"9":0.05022,"11":0.20546,_:"6 7 10 5.5"},K:{"0":0.26268,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.0503},H:{"0":0},L:{"0":47.37012},R:{_:"0"},M:{"0":0.12296}}; diff --git a/.pnpm-store/v3/files/a0/e61d7f91d6d0c940ec01d80ba7ddef04df19234c55deea650e413f8135188c814bb777a8faa3b60351a3284d4655dc705432656d55a0b4361e9f424a0abb73 b/.pnpm-store/v3/files/a0/e61d7f91d6d0c940ec01d80ba7ddef04df19234c55deea650e413f8135188c814bb777a8faa3b60351a3284d4655dc705432656d55a0b4361e9f424a0abb73 new file mode 100644 index 00000000..8fa011ba --- /dev/null +++ b/.pnpm-store/v3/files/a0/e61d7f91d6d0c940ec01d80ba7ddef04df19234c55deea650e413f8135188c814bb777a8faa3b60351a3284d4655dc705432656d55a0b4361e9f424a0abb73 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","194":"8B"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB iC jC kC lC 2B QC mC 3B","194":"XB"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:7,C:":focus-within CSS pseudo-class",D:true}; diff --git a/.pnpm-store/v3/files/a0/f0dfb032e6bd683492b1805324cfac57d85b4018e11f70fd67f46828762991e4bc5daf28e4ffa5a55eec3210c1597c2bc49743dd5e78f207ee1d2149078a6b b/.pnpm-store/v3/files/a0/f0dfb032e6bd683492b1805324cfac57d85b4018e11f70fd67f46828762991e4bc5daf28e4ffa5a55eec3210c1597c2bc49743dd5e78f207ee1d2149078a6b new file mode 100644 index 00000000..6d6eded7 --- /dev/null +++ b/.pnpm-store/v3/files/a0/f0dfb032e6bd683492b1805324cfac57d85b4018e11f70fd67f46828762991e4bc5daf28e4ffa5a55eec3210c1597c2bc49743dd5e78f207ee1d2149078a6b @@ -0,0 +1,18 @@ +module.exports = class EventEmitterError extends Error { + constructor (msg, code, fn = EventEmitterError, opts) { + super(`${code}: ${msg}`, opts) + this.code = code + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, fn) + } + } + + get name () { + return 'EventEmitterError' + } + + static OPERATION_ABORTED (cause, msg = 'Operation aborted') { + return new EventEmitterError(msg, 'OPERATION_ABORTED', EventEmitterError.OPERATION_ABORTED, { cause }) + } +} diff --git a/.pnpm-store/v3/files/a1/38ad63d6caab7a4396ba88105e9aa610e0b6b6be03d5f871d894bc358d05d2639e2fd2f30b4ab2a84dd2a7ae948819f128df9b0641fc56412d7856477b9460 b/.pnpm-store/v3/files/a1/38ad63d6caab7a4396ba88105e9aa610e0b6b6be03d5f871d894bc358d05d2639e2fd2f30b4ab2a84dd2a7ae948819f128df9b0641fc56412d7856477b9460 new file mode 100644 index 00000000..b451a336 --- /dev/null +++ b/.pnpm-store/v3/files/a1/38ad63d6caab7a4396ba88105e9aa610e0b6b6be03d5f871d894bc358d05d2639e2fd2f30b4ab2a84dd2a7ae948819f128df9b0641fc56412d7856477b9460 @@ -0,0 +1,34 @@ +import { JOSENotSupported } from '../util/errors.js'; +function validateCrit(Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader) { + if (joseHeader.crit !== undefined && protectedHeader.crit === undefined) { + throw new Err('"crit" (Critical) Header Parameter MUST be integrity protected'); + } + if (!protectedHeader || protectedHeader.crit === undefined) { + return new Set(); + } + if (!Array.isArray(protectedHeader.crit) || + protectedHeader.crit.length === 0 || + protectedHeader.crit.some((input) => typeof input !== 'string' || input.length === 0)) { + throw new Err('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present'); + } + let recognized; + if (recognizedOption !== undefined) { + recognized = new Map([...Object.entries(recognizedOption), ...recognizedDefault.entries()]); + } + else { + recognized = recognizedDefault; + } + for (const parameter of protectedHeader.crit) { + if (!recognized.has(parameter)) { + throw new JOSENotSupported(`Extension Header Parameter "${parameter}" is not recognized`); + } + if (joseHeader[parameter] === undefined) { + throw new Err(`Extension Header Parameter "${parameter}" is missing`); + } + if (recognized.get(parameter) && protectedHeader[parameter] === undefined) { + throw new Err(`Extension Header Parameter "${parameter}" MUST be integrity protected`); + } + } + return new Set(protectedHeader.crit); +} +export default validateCrit; diff --git a/.pnpm-store/v3/files/a1/6464fb4e730b2ae520d39d11741682adfdc1342b6851dbf3d595df1ff3c5bc5caa73ee8f0e83bbaf1db76e21c5a06b125f9ffdced53b53e56ff1a47d5b0fa3 b/.pnpm-store/v3/files/a1/6464fb4e730b2ae520d39d11741682adfdc1342b6851dbf3d595df1ff3c5bc5caa73ee8f0e83bbaf1db76e21c5a06b125f9ffdced53b53e56ff1a47d5b0fa3 new file mode 100644 index 00000000..c5598064 --- /dev/null +++ b/.pnpm-store/v3/files/a1/6464fb4e730b2ae520d39d11741682adfdc1342b6851dbf3d595df1ff3c5bc5caa73ee8f0e83bbaf1db76e21c5a06b125f9ffdced53b53e56ff1a47d5b0fa3 @@ -0,0 +1,626 @@ +// A simple implementation of make-array +function makeArray (subject) { + return Array.isArray(subject) + ? subject + : [subject] +} + +const EMPTY = '' +const SPACE = ' ' +const ESCAPE = '\\' +const REGEX_TEST_BLANK_LINE = /^\s+$/ +const REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/ +const REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/ +const REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/ +const REGEX_SPLITALL_CRLF = /\r?\n/g +// /foo, +// ./foo, +// ../foo, +// . +// .. +const REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/ + +const SLASH = '/' + +// Do not use ternary expression here, since "istanbul ignore next" is buggy +let TMP_KEY_IGNORE = 'node-ignore' +/* istanbul ignore else */ +if (typeof Symbol !== 'undefined') { + TMP_KEY_IGNORE = Symbol.for('node-ignore') +} +const KEY_IGNORE = TMP_KEY_IGNORE + +const define = (object, key, value) => + Object.defineProperty(object, key, {value}) + +const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g + +const RETURN_FALSE = () => false + +// Sanitize the range of a regular expression +// The cases are complicated, see test cases for details +const sanitizeRange = range => range.replace( + REGEX_REGEXP_RANGE, + (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) + ? match + // Invalid range (out of order) which is ok for gitignore rules but + // fatal for JavaScript regular expression, so eliminate it. + : EMPTY +) + +// See fixtures #59 +const cleanRangeBackSlash = slashes => { + const {length} = slashes + return slashes.slice(0, length - length % 2) +} + +// > If the pattern ends with a slash, +// > it is removed for the purpose of the following description, +// > but it would only find a match with a directory. +// > In other words, foo/ will match a directory foo and paths underneath it, +// > but will not match a regular file or a symbolic link foo +// > (this is consistent with the way how pathspec works in general in Git). +// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`' +// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call +// you could use option `mark: true` with `glob` + +// '`foo/`' should not continue with the '`..`' +const REPLACERS = [ + + [ + // remove BOM + // TODO: + // Other similar zero-width characters? + /^\uFEFF/, + () => EMPTY + ], + + // > Trailing spaces are ignored unless they are quoted with backslash ("\") + [ + // (a\ ) -> (a ) + // (a ) -> (a) + // (a \ ) -> (a ) + /\\?\s+$/, + match => match.indexOf('\\') === 0 + ? SPACE + : EMPTY + ], + + // replace (\ ) with ' ' + [ + /\\\s/g, + () => SPACE + ], + + // Escape metacharacters + // which is written down by users but means special for regular expressions. + + // > There are 12 characters with special meanings: + // > - the backslash \, + // > - the caret ^, + // > - the dollar sign $, + // > - the period or dot ., + // > - the vertical bar or pipe symbol |, + // > - the question mark ?, + // > - the asterisk or star *, + // > - the plus sign +, + // > - the opening parenthesis (, + // > - the closing parenthesis ), + // > - and the opening square bracket [, + // > - the opening curly brace {, + // > These special characters are often called "metacharacters". + [ + /[\\$.|*+(){^]/g, + match => `\\${match}` + ], + + [ + // > a question mark (?) matches a single character + /(?!\\)\?/g, + () => '[^/]' + ], + + // leading slash + [ + + // > A leading slash matches the beginning of the pathname. + // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c". + // A leading slash matches the beginning of the pathname + /^\//, + () => '^' + ], + + // replace special metacharacter slash after the leading slash + [ + /\//g, + () => '\\/' + ], + + [ + // > A leading "**" followed by a slash means match in all directories. + // > For example, "**/foo" matches file or directory "foo" anywhere, + // > the same as pattern "foo". + // > "**/foo/bar" matches file or directory "bar" anywhere that is directly + // > under directory "foo". + // Notice that the '*'s have been replaced as '\\*' + /^\^*\\\*\\\*\\\//, + + // '**/foo' <-> 'foo' + () => '^(?:.*\\/)?' + ], + + // starting + [ + // there will be no leading '/' + // (which has been replaced by section "leading slash") + // If starts with '**', adding a '^' to the regular expression also works + /^(?=[^^])/, + function startingReplacer () { + // If has a slash `/` at the beginning or middle + return !/\/(?!$)/.test(this) + // > Prior to 2.22.1 + // > If the pattern does not contain a slash /, + // > Git treats it as a shell glob pattern + // Actually, if there is only a trailing slash, + // git also treats it as a shell glob pattern + + // After 2.22.1 (compatible but clearer) + // > If there is a separator at the beginning or middle (or both) + // > of the pattern, then the pattern is relative to the directory + // > level of the particular .gitignore file itself. + // > Otherwise the pattern may also match at any level below + // > the .gitignore level. + ? '(?:^|\\/)' + + // > Otherwise, Git treats the pattern as a shell glob suitable for + // > consumption by fnmatch(3) + : '^' + } + ], + + // two globstars + [ + // Use lookahead assertions so that we could match more than one `'/**'` + /\\\/\\\*\\\*(?=\\\/|$)/g, + + // Zero, one or several directories + // should not use '*', or it will be replaced by the next replacer + + // Check if it is not the last `'/**'` + (_, index, str) => index + 6 < str.length + + // case: /**/ + // > A slash followed by two consecutive asterisks then a slash matches + // > zero or more directories. + // > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on. + // '/**/' + ? '(?:\\/[^\\/]+)*' + + // case: /** + // > A trailing `"/**"` matches everything inside. + + // #21: everything inside but it should not include the current folder + : '\\/.+' + ], + + // normal intermediate wildcards + [ + // Never replace escaped '*' + // ignore rule '\*' will match the path '*' + + // 'abc.*/' -> go + // 'abc.*' -> skip this rule, + // coz trailing single wildcard will be handed by [trailing wildcard] + /(^|[^\\]+)(\\\*)+(?=.+)/g, + + // '*.js' matches '.js' + // '*.js' doesn't match 'abc' + (_, p1, p2) => { + // 1. + // > An asterisk "*" matches anything except a slash. + // 2. + // > Other consecutive asterisks are considered regular asterisks + // > and will match according to the previous rules. + const unescaped = p2.replace(/\\\*/g, '[^\\/]*') + return p1 + unescaped + } + ], + + [ + // unescape, revert step 3 except for back slash + // For example, if a user escape a '\\*', + // after step 3, the result will be '\\\\\\*' + /\\\\\\(?=[$.|*+(){^])/g, + () => ESCAPE + ], + + [ + // '\\\\' -> '\\' + /\\\\/g, + () => ESCAPE + ], + + [ + // > The range notation, e.g. [a-zA-Z], + // > can be used to match one of the characters in a range. + + // `\` is escaped by step 3 + /(\\)?\[([^\]/]*?)(\\*)($|\])/g, + (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE + // '\\[bar]' -> '\\\\[bar\\]' + ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` + : close === ']' + ? endEscape.length % 2 === 0 + // A normal case, and it is a range notation + // '[bar]' + // '[bar\\\\]' + ? `[${sanitizeRange(range)}${endEscape}]` + // Invalid range notaton + // '[bar\\]' -> '[bar\\\\]' + : '[]' + : '[]' + ], + + // ending + [ + // 'js' will not match 'js.' + // 'ab' will not match 'abc' + /(?:[^*])$/, + + // WTF! + // https://git-scm.com/docs/gitignore + // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1) + // which re-fixes #24, #38 + + // > If there is a separator at the end of the pattern then the pattern + // > will only match directories, otherwise the pattern can match both + // > files and directories. + + // 'js*' will not match 'a.js' + // 'js/' will not match 'a.js' + // 'js' will match 'a.js' and 'a.js/' + match => /\/$/.test(match) + // foo/ will not match 'foo' + ? `${match}$` + // foo matches 'foo' and 'foo/' + : `${match}(?=$|\\/$)` + ], + + // trailing wildcard + [ + /(\^|\\\/)?\\\*$/, + (_, p1) => { + const prefix = p1 + // '\^': + // '/*' does not match EMPTY + // '/*' does not match everything + + // '\\\/': + // 'abc/*' does not match 'abc/' + ? `${p1}[^/]+` + + // 'a*' matches 'a' + // 'a*' matches 'aa' + : '[^/]*' + + return `${prefix}(?=$|\\/$)` + } + ], +] + +// A simple cache, because an ignore rule only has only one certain meaning +const regexCache = Object.create(null) + +// @param {pattern} +const makeRegex = (pattern, ignoreCase) => { + let source = regexCache[pattern] + + if (!source) { + source = REPLACERS.reduce( + (prev, current) => prev.replace(current[0], current[1].bind(pattern)), + pattern + ) + regexCache[pattern] = source + } + + return ignoreCase + ? new RegExp(source, 'i') + : new RegExp(source) +} + +const isString = subject => typeof subject === 'string' + +// > A blank line matches no files, so it can serve as a separator for readability. +const checkPattern = pattern => pattern + && isString(pattern) + && !REGEX_TEST_BLANK_LINE.test(pattern) + && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) + + // > A line starting with # serves as a comment. + && pattern.indexOf('#') !== 0 + +const splitPattern = pattern => pattern.split(REGEX_SPLITALL_CRLF) + +class IgnoreRule { + constructor ( + origin, + pattern, + negative, + regex + ) { + this.origin = origin + this.pattern = pattern + this.negative = negative + this.regex = regex + } +} + +const createRule = (pattern, ignoreCase) => { + const origin = pattern + let negative = false + + // > An optional prefix "!" which negates the pattern; + if (pattern.indexOf('!') === 0) { + negative = true + pattern = pattern.substr(1) + } + + pattern = pattern + // > Put a backslash ("\") in front of the first "!" for patterns that + // > begin with a literal "!", for example, `"\!important!.txt"`. + .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!') + // > Put a backslash ("\") in front of the first hash for patterns that + // > begin with a hash. + .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#') + + const regex = makeRegex(pattern, ignoreCase) + + return new IgnoreRule( + origin, + pattern, + negative, + regex + ) +} + +const throwError = (message, Ctor) => { + throw new Ctor(message) +} + +const checkPath = (path, originalPath, doThrow) => { + if (!isString(path)) { + return doThrow( + `path must be a string, but got \`${originalPath}\``, + TypeError + ) + } + + // We don't know if we should ignore EMPTY, so throw + if (!path) { + return doThrow(`path must not be empty`, TypeError) + } + + // Check if it is a relative path + if (checkPath.isNotRelative(path)) { + const r = '`path.relative()`d' + return doThrow( + `path should be a ${r} string, but got "${originalPath}"`, + RangeError + ) + } + + return true +} + +const isNotRelative = path => REGEX_TEST_INVALID_PATH.test(path) + +checkPath.isNotRelative = isNotRelative +checkPath.convert = p => p + +class Ignore { + constructor ({ + ignorecase = true, + ignoreCase = ignorecase, + allowRelativePaths = false + } = {}) { + define(this, KEY_IGNORE, true) + + this._rules = [] + this._ignoreCase = ignoreCase + this._allowRelativePaths = allowRelativePaths + this._initCache() + } + + _initCache () { + this._ignoreCache = Object.create(null) + this._testCache = Object.create(null) + } + + _addPattern (pattern) { + // #32 + if (pattern && pattern[KEY_IGNORE]) { + this._rules = this._rules.concat(pattern._rules) + this._added = true + return + } + + if (checkPattern(pattern)) { + const rule = createRule(pattern, this._ignoreCase) + this._added = true + this._rules.push(rule) + } + } + + // @param {Array | string | Ignore} pattern + add (pattern) { + this._added = false + + makeArray( + isString(pattern) + ? splitPattern(pattern) + : pattern + ).forEach(this._addPattern, this) + + // Some rules have just added to the ignore, + // making the behavior changed. + if (this._added) { + this._initCache() + } + + return this + } + + // legacy + addPattern (pattern) { + return this.add(pattern) + } + + // | ignored : unignored + // negative | 0:0 | 0:1 | 1:0 | 1:1 + // -------- | ------- | ------- | ------- | -------- + // 0 | TEST | TEST | SKIP | X + // 1 | TESTIF | SKIP | TEST | X + + // - SKIP: always skip + // - TEST: always test + // - TESTIF: only test if checkUnignored + // - X: that never happen + + // @param {boolean} whether should check if the path is unignored, + // setting `checkUnignored` to `false` could reduce additional + // path matching. + + // @returns {TestResult} true if a file is ignored + _testOne (path, checkUnignored) { + let ignored = false + let unignored = false + + this._rules.forEach(rule => { + const {negative} = rule + if ( + unignored === negative && ignored !== unignored + || negative && !ignored && !unignored && !checkUnignored + ) { + return + } + + const matched = rule.regex.test(path) + + if (matched) { + ignored = !negative + unignored = negative + } + }) + + return { + ignored, + unignored + } + } + + // @returns {TestResult} + _test (originalPath, cache, checkUnignored, slices) { + const path = originalPath + // Supports nullable path + && checkPath.convert(originalPath) + + checkPath( + path, + originalPath, + this._allowRelativePaths + ? RETURN_FALSE + : throwError + ) + + return this._t(path, cache, checkUnignored, slices) + } + + _t (path, cache, checkUnignored, slices) { + if (path in cache) { + return cache[path] + } + + if (!slices) { + // path/to/a.js + // ['path', 'to', 'a.js'] + slices = path.split(SLASH) + } + + slices.pop() + + // If the path has no parent directory, just test it + if (!slices.length) { + return cache[path] = this._testOne(path, checkUnignored) + } + + const parent = this._t( + slices.join(SLASH) + SLASH, + cache, + checkUnignored, + slices + ) + + // If the path contains a parent directory, check the parent first + return cache[path] = parent.ignored + // > It is not possible to re-include a file if a parent directory of + // > that file is excluded. + ? parent + : this._testOne(path, checkUnignored) + } + + ignores (path) { + return this._test(path, this._ignoreCache, false).ignored + } + + createFilter () { + return path => !this.ignores(path) + } + + filter (paths) { + return makeArray(paths).filter(this.createFilter()) + } + + // @returns {TestResult} + test (path) { + return this._test(path, this._testCache, true) + } +} + +const factory = options => new Ignore(options) + +const isPathValid = path => + checkPath(path && checkPath.convert(path), path, RETURN_FALSE) + +factory.isPathValid = isPathValid + +// Fixes typescript +factory.default = factory + +module.exports = factory + +// Windows +// -------------------------------------------------------------- +/* istanbul ignore if */ +if ( + // Detect `process` so that it can run in browsers. + typeof process !== 'undefined' + && ( + process.env && process.env.IGNORE_TEST_WIN32 + || process.platform === 'win32' + ) +) { + /* eslint no-control-regex: "off" */ + const makePosix = str => /^\\\\\?\\/.test(str) + || /["<>|\u0000-\u001F]+/u.test(str) + ? str + : str.replace(/\\/g, '/') + + checkPath.convert = makePosix + + // 'C:\\foo' <- 'C:\\foo' has been converted to 'C:/' + // 'd:\\foo' + const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i + checkPath.isNotRelative = path => + REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) + || isNotRelative(path) +} diff --git a/.pnpm-store/v3/files/a1/eba53dfb4378ae8eaed2962cbc8569114818c97b457a01997b7472801bddf0e41a728878a00681a1abc6d3945f3d92f1ce23074223095e0703590156c454e1 b/.pnpm-store/v3/files/a1/eba53dfb4378ae8eaed2962cbc8569114818c97b457a01997b7472801bddf0e41a728878a00681a1abc6d3945f3d92f1ce23074223095e0703590156c454e1 new file mode 100644 index 00000000..df2598df --- /dev/null +++ b/.pnpm-store/v3/files/a1/eba53dfb4378ae8eaed2962cbc8569114818c97b457a01997b7472801bddf0e41a728878a00681a1abc6d3945f3d92f1ce23074223095e0703590156c454e1 @@ -0,0 +1,103 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const node_crypto_1 = require("node:crypto"); +const check_iv_length_js_1 = require("../lib/check_iv_length.js"); +const check_cek_length_js_1 = require("./check_cek_length.js"); +const buffer_utils_js_1 = require("../lib/buffer_utils.js"); +const errors_js_1 = require("../util/errors.js"); +const timing_safe_equal_js_1 = require("./timing_safe_equal.js"); +const cbc_tag_js_1 = require("./cbc_tag.js"); +const webcrypto_js_1 = require("./webcrypto.js"); +const crypto_key_js_1 = require("../lib/crypto_key.js"); +const is_key_object_js_1 = require("./is_key_object.js"); +const invalid_key_input_js_1 = require("../lib/invalid_key_input.js"); +const ciphers_js_1 = require("./ciphers.js"); +const is_key_like_js_1 = require("./is_key_like.js"); +function cbcDecrypt(enc, cek, ciphertext, iv, tag, aad) { + const keySize = parseInt(enc.slice(1, 4), 10); + if ((0, is_key_object_js_1.default)(cek)) { + cek = cek.export(); + } + const encKey = cek.subarray(keySize >> 3); + const macKey = cek.subarray(0, keySize >> 3); + const macSize = parseInt(enc.slice(-3), 10); + const algorithm = `aes-${keySize}-cbc`; + if (!(0, ciphers_js_1.default)(algorithm)) { + throw new errors_js_1.JOSENotSupported(`alg ${enc} is not supported by your javascript runtime`); + } + const expectedTag = (0, cbc_tag_js_1.default)(aad, iv, ciphertext, macSize, macKey, keySize); + let macCheckPassed; + try { + macCheckPassed = (0, timing_safe_equal_js_1.default)(tag, expectedTag); + } + catch { + } + if (!macCheckPassed) { + throw new errors_js_1.JWEDecryptionFailed(); + } + let plaintext; + try { + const decipher = (0, node_crypto_1.createDecipheriv)(algorithm, encKey, iv); + plaintext = (0, buffer_utils_js_1.concat)(decipher.update(ciphertext), decipher.final()); + } + catch { + } + if (!plaintext) { + throw new errors_js_1.JWEDecryptionFailed(); + } + return plaintext; +} +function gcmDecrypt(enc, cek, ciphertext, iv, tag, aad) { + const keySize = parseInt(enc.slice(1, 4), 10); + const algorithm = `aes-${keySize}-gcm`; + if (!(0, ciphers_js_1.default)(algorithm)) { + throw new errors_js_1.JOSENotSupported(`alg ${enc} is not supported by your javascript runtime`); + } + try { + const decipher = (0, node_crypto_1.createDecipheriv)(algorithm, cek, iv, { authTagLength: 16 }); + decipher.setAuthTag(tag); + if (aad.byteLength) { + decipher.setAAD(aad, { plaintextLength: ciphertext.length }); + } + const plaintext = decipher.update(ciphertext); + decipher.final(); + return plaintext; + } + catch { + throw new errors_js_1.JWEDecryptionFailed(); + } +} +const decrypt = (enc, cek, ciphertext, iv, tag, aad) => { + let key; + if ((0, webcrypto_js_1.isCryptoKey)(cek)) { + (0, crypto_key_js_1.checkEncCryptoKey)(cek, enc, 'decrypt'); + key = node_crypto_1.KeyObject.from(cek); + } + else if (cek instanceof Uint8Array || (0, is_key_object_js_1.default)(cek)) { + key = cek; + } + else { + throw new TypeError((0, invalid_key_input_js_1.default)(cek, ...is_key_like_js_1.types, 'Uint8Array')); + } + if (!iv) { + throw new errors_js_1.JWEInvalid('JWE Initialization Vector missing'); + } + if (!tag) { + throw new errors_js_1.JWEInvalid('JWE Authentication Tag missing'); + } + (0, check_cek_length_js_1.default)(enc, key); + (0, check_iv_length_js_1.default)(enc, iv); + switch (enc) { + case 'A128CBC-HS256': + case 'A192CBC-HS384': + case 'A256CBC-HS512': + return cbcDecrypt(enc, key, ciphertext, iv, tag, aad); + case 'A128GCM': + case 'A192GCM': + case 'A256GCM': + return gcmDecrypt(enc, key, ciphertext, iv, tag, aad); + default: + throw new errors_js_1.JOSENotSupported('Unsupported JWE Content Encryption Algorithm'); + } +}; +exports.default = decrypt; diff --git a/.pnpm-store/v3/files/a2/258222eafc35a38b9e9ad701589d42179678da3340bcf2ca83b6a190e67871493b59b66950560a4c032fb23e8414d926caf48cb07582a3607545ad344db984 b/.pnpm-store/v3/files/a2/258222eafc35a38b9e9ad701589d42179678da3340bcf2ca83b6a190e67871493b59b66950560a4c032fb23e8414d926caf48cb07582a3607545ad344db984 new file mode 100644 index 00000000..8fb479d7 --- /dev/null +++ b/.pnpm-store/v3/files/a2/258222eafc35a38b9e9ad701589d42179678da3340bcf2ca83b6a190e67871493b59b66950560a4c032fb23e8414d926caf48cb07582a3607545ad344db984 @@ -0,0 +1 @@ +module.exports={C:{"52":52.69233,"56":0.00707,"102":0.00707,"108":0.00707,"115":0.14138,"116":0.02121,"119":0.00707,"120":0.01414,"121":0.50897,"122":0.07069,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 109 110 111 112 113 114 117 118 123 124 125 3.5 3.6"},D:{"49":0.01414,"51":0.01414,"70":0.00707,"74":0.00707,"79":0.00707,"80":0.00707,"89":0.00707,"90":0.00707,"92":0.00707,"97":0.02121,"98":0.03535,"99":0.02121,"100":0.00707,"101":0.00707,"102":0.02828,"103":0.01414,"104":0.02121,"105":0.01414,"106":0.04948,"107":0.01414,"108":0.03535,"109":1.86622,"110":0.01414,"111":0.00707,"112":0.08483,"113":0.01414,"114":0.01414,"115":0.01414,"116":0.13431,"117":0.02828,"118":0.04241,"119":0.19793,"120":9.77643,"121":0.72104,"122":0.00707,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 75 76 77 78 81 83 84 85 86 87 88 91 93 94 95 96 123 124"},F:{"79":0.01414,"82":0.02121,"85":0.00707,"93":0.00707,"95":0.04948,"105":0.19793,"106":0.41707,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 86 87 88 89 90 91 92 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00707,"98":0.00707,"109":0.00707,"118":0.00707,"119":0.01414,"120":0.84828,"121":0.12724,_:"12 13 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117"},E:{"9":0.00707,"14":0.00707,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 17.4","13.1":0.00707,"14.1":0.01414,"15.4":0.00707,"15.5":0.00707,"15.6":0.04948,"16.0":0.00707,"16.1":0.12017,"16.2":0.03535,"16.3":0.07776,"16.4":0.00707,"16.5":0.01414,"16.6":0.10604,"17.0":0.02828,"17.1":0.10604,"17.2":0.35345,"17.3":0.02828},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00143,"5.0-5.1":0.00214,"6.0-6.1":0.00357,"7.0-7.1":0.00499,"8.1-8.4":0.00071,"9.0-9.2":0.00428,"9.3":0.0164,"10.0-10.2":0.00143,"10.3":0.02567,"11.0-11.2":0.00998,"11.3-11.4":0.0107,"12.0-12.1":0.00642,"12.2-12.5":0.12694,"13.0-13.1":0.00214,"13.2":0.02353,"13.3":0.00642,"13.4-13.7":0.02853,"14.0-14.4":0.04992,"14.5-14.8":0.07631,"15.0-15.1":0.03281,"15.2-15.3":0.0378,"15.4":0.04422,"15.5":0.05848,"15.6-15.8":0.45571,"16.0":0.13693,"16.1":0.29168,"16.2":0.13265,"16.3":0.24675,"16.4":0.05491,"16.5":0.11696,"16.6-16.7":0.95706,"17.0":0.15904,"17.1":1.63956,"17.2":2.21936,"17.3":0.14263},P:{"20":0.0209,"21":0.08358,"22":0.05224,"23":1.00301,_:"4 5.0-5.4 6.2-6.4 9.2 10.1 12.0 13.0 14.0 15.0","7.2-7.4":0.07314,"8.2":0.04179,"11.1-11.2":0.01045,"16.0":0.01045,"17.0":0.01045,"18.0":0.01045,"19.0":0.03134},I:{"0":0.02625,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.01414,"11":0.03535,_:"6 7 9 10 5.5"},K:{"0":0.2923,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00293,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00293},O:{"0":0.15236},H:{"0":0.03},L:{"0":20.32437},R:{_:"0"},M:{"0":0.03809}}; diff --git a/.pnpm-store/v3/files/a2/328db287540de925f4bdd43963d65453599aa3c606afbae369a491dab6c59db78e12f2544c104db9c4b43b36c7f57757f174c5ed537a6d9e49642d30c80e1c b/.pnpm-store/v3/files/a2/328db287540de925f4bdd43963d65453599aa3c606afbae369a491dab6c59db78e12f2544c104db9c4b43b36c7f57757f174c5ed537a6d9e49642d30c80e1c new file mode 100644 index 00000000..dbd1ee4d --- /dev/null +++ b/.pnpm-store/v3/files/a2/328db287540de925f4bdd43963d65453599aa3c606afbae369a491dab6c59db78e12f2544c104db9c4b43b36c7f57757f174c5ed537a6d9e49642d30c80e1c @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB"},E:{"1":"K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B"},F:{"1":"lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB iC jC kC lC 2B QC mC 3B"},G:{"1":"0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:5,C:"prefers-color-scheme media query",D:true}; diff --git a/.pnpm-store/v3/files/a2/3d3278b77a6db153165f15049a8e3ad3c45deac0965ea4e4d8f8cb08501a6cbfad3efb3d3f6953e83f9ee9f5457e1e5c672823405277173de11403b6b0cebc b/.pnpm-store/v3/files/a2/3d3278b77a6db153165f15049a8e3ad3c45deac0965ea4e4d8f8cb08501a6cbfad3efb3d3f6953e83f9ee9f5457e1e5c672823405277173de11403b6b0cebc new file mode 100644 index 00000000..37cbae77 --- /dev/null +++ b/.pnpm-store/v3/files/a2/3d3278b77a6db153165f15049a8e3ad3c45deac0965ea4e4d8f8cb08501a6cbfad3efb3d3f6953e83f9ee9f5457e1e5c672823405277173de11403b6b0cebc @@ -0,0 +1,3093 @@ +module.exports = { + "39.0.2171.65": [ + "0.20.0", + "0.20.1", + "0.20.2", + "0.20.3", + "0.20.4", + "0.20.5", + "0.20.6", + "0.20.7", + "0.20.8" + ], + "40.0.2214.91": [ + "0.21.0", + "0.21.1", + "0.21.2" + ], + "41.0.2272.76": [ + "0.21.3", + "0.22.1", + "0.22.2", + "0.22.3", + "0.23.0", + "0.24.0" + ], + "42.0.2311.107": [ + "0.25.0", + "0.25.1", + "0.25.2", + "0.25.3", + "0.26.0", + "0.26.1", + "0.27.0", + "0.27.1" + ], + "43.0.2357.65": [ + "0.27.2", + "0.27.3", + "0.28.0", + "0.28.1", + "0.28.2", + "0.28.3", + "0.29.1", + "0.29.2" + ], + "44.0.2403.125": [ + "0.30.4", + "0.31.0" + ], + "45.0.2454.85": [ + "0.31.2", + "0.32.2", + "0.32.3", + "0.33.0", + "0.33.1", + "0.33.2", + "0.33.3", + "0.33.4", + "0.33.6", + "0.33.7", + "0.33.8", + "0.33.9", + "0.34.0", + "0.34.1", + "0.34.2", + "0.34.3", + "0.34.4", + "0.35.1", + "0.35.2", + "0.35.3", + "0.35.4", + "0.35.5" + ], + "47.0.2526.73": [ + "0.36.0", + "0.36.2", + "0.36.3", + "0.36.4" + ], + "47.0.2526.110": [ + "0.36.5", + "0.36.6", + "0.36.7", + "0.36.8", + "0.36.9", + "0.36.10", + "0.36.11", + "0.36.12" + ], + "49.0.2623.75": [ + "0.37.0", + "0.37.1", + "0.37.3", + "0.37.4", + "0.37.5", + "0.37.6", + "0.37.7", + "0.37.8", + "1.0.0", + "1.0.1", + "1.0.2" + ], + "50.0.2661.102": [ + "1.1.0", + "1.1.1", + "1.1.2", + "1.1.3" + ], + "51.0.2704.63": [ + "1.2.0", + "1.2.1" + ], + "51.0.2704.84": [ + "1.2.2", + "1.2.3" + ], + "51.0.2704.103": [ + "1.2.4", + "1.2.5" + ], + "51.0.2704.106": [ + "1.2.6", + "1.2.7", + "1.2.8" + ], + "52.0.2743.82": [ + "1.3.0", + "1.3.1", + "1.3.2", + "1.3.3", + "1.3.4", + "1.3.5", + "1.3.6", + "1.3.7", + "1.3.9", + "1.3.10", + "1.3.13", + "1.3.14", + "1.3.15" + ], + "53.0.2785.113": [ + "1.4.0", + "1.4.1", + "1.4.2", + "1.4.3", + "1.4.4", + "1.4.5" + ], + "53.0.2785.143": [ + "1.4.6", + "1.4.7", + "1.4.8", + "1.4.10", + "1.4.11", + "1.4.13", + "1.4.14", + "1.4.15", + "1.4.16" + ], + "54.0.2840.51": [ + "1.4.12" + ], + "54.0.2840.101": [ + "1.5.0", + "1.5.1" + ], + "56.0.2924.87": [ + "1.6.0", + "1.6.1", + "1.6.2", + "1.6.3", + "1.6.4", + "1.6.5", + "1.6.6", + "1.6.7", + "1.6.8", + "1.6.9", + "1.6.10", + "1.6.11", + "1.6.12", + "1.6.13", + "1.6.14", + "1.6.15", + "1.6.16", + "1.6.17", + "1.6.18" + ], + "58.0.3029.110": [ + "1.7.0", + "1.7.1", + "1.7.2", + "1.7.3", + "1.7.4", + "1.7.5", + "1.7.6", + "1.7.7", + "1.7.8", + "1.7.9", + "1.7.10", + "1.7.11", + "1.7.12", + "1.7.13", + "1.7.14", + "1.7.15", + "1.7.16" + ], + "59.0.3071.115": [ + "1.8.0", + "1.8.1", + "1.8.2-beta.1", + "1.8.2-beta.2", + "1.8.2-beta.3", + "1.8.2-beta.4", + "1.8.2-beta.5", + "1.8.2", + "1.8.3", + "1.8.4", + "1.8.5", + "1.8.6", + "1.8.7", + "1.8.8" + ], + "61.0.3163.100": [ + "2.0.0-beta.1", + "2.0.0-beta.2", + "2.0.0-beta.3", + "2.0.0-beta.4", + "2.0.0-beta.5", + "2.0.0-beta.6", + "2.0.0-beta.7", + "2.0.0-beta.8", + "2.0.0", + "2.0.1", + "2.0.2", + "2.0.3", + "2.0.4", + "2.0.5", + "2.0.6", + "2.0.7", + "2.0.8-nightly.20180819", + "2.0.8-nightly.20180820", + "2.0.8", + "2.0.9", + "2.0.10", + "2.0.11", + "2.0.12", + "2.0.13", + "2.0.14", + "2.0.15", + "2.0.16", + "2.0.17", + "2.0.18", + "2.1.0-unsupported.20180809" + ], + "66.0.3359.181": [ + "3.0.0-beta.1", + "3.0.0-beta.2", + "3.0.0-beta.3", + "3.0.0-beta.4", + "3.0.0-beta.5", + "3.0.0-beta.6", + "3.0.0-beta.7", + "3.0.0-beta.8", + "3.0.0-beta.9", + "3.0.0-beta.10", + "3.0.0-beta.11", + "3.0.0-beta.12", + "3.0.0-beta.13", + "3.0.0-nightly.20180818", + "3.0.0-nightly.20180821", + "3.0.0-nightly.20180823", + "3.0.0-nightly.20180904", + "3.0.0", + "3.0.1", + "3.0.2", + "3.0.3", + "3.0.4", + "3.0.5", + "3.0.6", + "3.0.7", + "3.0.8", + "3.0.9", + "3.0.10", + "3.0.11", + "3.0.12", + "3.0.13", + "3.0.14", + "3.0.15", + "3.0.16", + "3.1.0-beta.1", + "3.1.0-beta.2", + "3.1.0-beta.3", + "3.1.0-beta.4", + "3.1.0-beta.5", + "3.1.0", + "3.1.1", + "3.1.2", + "3.1.3", + "3.1.4", + "3.1.5", + "3.1.6", + "3.1.7", + "3.1.8", + "3.1.9", + "3.1.10", + "3.1.11", + "3.1.12", + "3.1.13", + "4.0.0-nightly.20180817", + "4.0.0-nightly.20180819", + "4.0.0-nightly.20180821" + ], + "69.0.3497.106": [ + "4.0.0-beta.1", + "4.0.0-beta.2", + "4.0.0-beta.3", + "4.0.0-beta.4", + "4.0.0-beta.5", + "4.0.0-beta.6", + "4.0.0-beta.7", + "4.0.0-beta.8", + "4.0.0-beta.9", + "4.0.0-beta.10", + "4.0.0-beta.11", + "4.0.0-nightly.20181010", + "4.0.0", + "4.0.1", + "4.0.2", + "4.0.3", + "4.0.4", + "4.0.5", + "4.0.6" + ], + "67.0.3396.99": [ + "4.0.0-nightly.20180929" + ], + "68.0.3440.128": [ + "4.0.0-nightly.20181006" + ], + "69.0.3497.128": [ + "4.0.7", + "4.0.8", + "4.1.0", + "4.1.1", + "4.1.2", + "4.1.3", + "4.1.4", + "4.1.5", + "4.2.0", + "4.2.1", + "4.2.2", + "4.2.3", + "4.2.4", + "4.2.5", + "4.2.6", + "4.2.7", + "4.2.8", + "4.2.9", + "4.2.10", + "4.2.11", + "4.2.12" + ], + "72.0.3626.52": [ + "5.0.0-beta.1", + "5.0.0-beta.2", + "6.0.0-nightly.20190123" + ], + "73.0.3683.27": [ + "5.0.0-beta.3" + ], + "73.0.3683.54": [ + "5.0.0-beta.4" + ], + "73.0.3683.61": [ + "5.0.0-beta.5" + ], + "73.0.3683.84": [ + "5.0.0-beta.6" + ], + "73.0.3683.94": [ + "5.0.0-beta.7" + ], + "73.0.3683.104": [ + "5.0.0-beta.8" + ], + "73.0.3683.117": [ + "5.0.0-beta.9" + ], + "70.0.3538.110": [ + "5.0.0-nightly.20190107" + ], + "71.0.3578.98": [ + "5.0.0-nightly.20190121", + "5.0.0-nightly.20190122" + ], + "73.0.3683.119": [ + "5.0.0" + ], + "73.0.3683.121": [ + "5.0.1", + "5.0.2", + "5.0.3", + "5.0.4", + "5.0.5", + "5.0.6", + "5.0.7", + "5.0.8", + "5.0.9", + "5.0.10", + "5.0.11", + "5.0.12", + "5.0.13" + ], + "76.0.3774.1": [ + "6.0.0-beta.1" + ], + "76.0.3783.1": [ + "6.0.0-beta.2", + "6.0.0-beta.3", + "6.0.0-beta.4" + ], + "76.0.3805.4": [ + "6.0.0-beta.5" + ], + "76.0.3809.3": [ + "6.0.0-beta.6" + ], + "76.0.3809.22": [ + "6.0.0-beta.7" + ], + "76.0.3809.26": [ + "6.0.0-beta.8", + "6.0.0-beta.9" + ], + "76.0.3809.37": [ + "6.0.0-beta.10" + ], + "76.0.3809.42": [ + "6.0.0-beta.11" + ], + "76.0.3809.54": [ + "6.0.0-beta.12" + ], + "76.0.3809.60": [ + "6.0.0-beta.13" + ], + "76.0.3809.68": [ + "6.0.0-beta.14" + ], + "76.0.3809.74": [ + "6.0.0-beta.15" + ], + "72.0.3626.107": [ + "6.0.0-nightly.20190212" + ], + "72.0.3626.110": [ + "6.0.0-nightly.20190213" + ], + "74.0.3724.8": [ + "6.0.0-nightly.20190311" + ], + "76.0.3809.88": [ + "6.0.0" + ], + "76.0.3809.102": [ + "6.0.1" + ], + "76.0.3809.110": [ + "6.0.2" + ], + "76.0.3809.126": [ + "6.0.3" + ], + "76.0.3809.131": [ + "6.0.4" + ], + "76.0.3809.136": [ + "6.0.5" + ], + "76.0.3809.138": [ + "6.0.6" + ], + "76.0.3809.139": [ + "6.0.7" + ], + "76.0.3809.146": [ + "6.0.8", + "6.0.9", + "6.0.10", + "6.0.11", + "6.0.12", + "6.1.0", + "6.1.1", + "6.1.2", + "6.1.3", + "6.1.4", + "6.1.5", + "6.1.6", + "6.1.7", + "6.1.8", + "6.1.9", + "6.1.10", + "6.1.11", + "6.1.12" + ], + "78.0.3866.0": [ + "7.0.0-beta.1", + "7.0.0-beta.2", + "7.0.0-beta.3", + "7.0.0-nightly.20190727", + "7.0.0-nightly.20190728", + "7.0.0-nightly.20190729", + "7.0.0-nightly.20190730", + "7.0.0-nightly.20190731", + "8.0.0-nightly.20190801", + "8.0.0-nightly.20190802" + ], + "78.0.3896.6": [ + "7.0.0-beta.4" + ], + "78.0.3905.1": [ + "7.0.0-beta.5", + "7.0.0-beta.6", + "7.0.0-beta.7", + "7.0.0" + ], + "76.0.3784.0": [ + "7.0.0-nightly.20190521" + ], + "76.0.3806.0": [ + "7.0.0-nightly.20190529", + "7.0.0-nightly.20190530", + "7.0.0-nightly.20190531", + "7.0.0-nightly.20190602", + "7.0.0-nightly.20190603" + ], + "77.0.3814.0": [ + "7.0.0-nightly.20190604" + ], + "77.0.3815.0": [ + "7.0.0-nightly.20190605", + "7.0.0-nightly.20190606", + "7.0.0-nightly.20190607", + "7.0.0-nightly.20190608", + "7.0.0-nightly.20190609", + "7.0.0-nightly.20190611", + "7.0.0-nightly.20190612", + "7.0.0-nightly.20190613", + "7.0.0-nightly.20190615", + "7.0.0-nightly.20190616", + "7.0.0-nightly.20190618", + "7.0.0-nightly.20190619", + "7.0.0-nightly.20190622", + "7.0.0-nightly.20190623", + "7.0.0-nightly.20190624", + "7.0.0-nightly.20190627", + "7.0.0-nightly.20190629", + "7.0.0-nightly.20190630", + "7.0.0-nightly.20190701", + "7.0.0-nightly.20190702" + ], + "77.0.3843.0": [ + "7.0.0-nightly.20190704", + "7.0.0-nightly.20190705" + ], + "77.0.3848.0": [ + "7.0.0-nightly.20190719", + "7.0.0-nightly.20190720", + "7.0.0-nightly.20190721" + ], + "77.0.3864.0": [ + "7.0.0-nightly.20190726" + ], + "78.0.3904.92": [ + "7.0.1" + ], + "78.0.3904.94": [ + "7.1.0" + ], + "78.0.3904.99": [ + "7.1.1" + ], + "78.0.3904.113": [ + "7.1.2" + ], + "78.0.3904.126": [ + "7.1.3" + ], + "78.0.3904.130": [ + "7.1.4", + "7.1.5", + "7.1.6", + "7.1.7", + "7.1.8", + "7.1.9", + "7.1.10", + "7.1.11", + "7.1.12", + "7.1.13", + "7.1.14", + "7.2.0", + "7.2.1", + "7.2.2", + "7.2.3", + "7.2.4", + "7.3.0", + "7.3.1", + "7.3.2", + "7.3.3" + ], + "79.0.3931.0": [ + "8.0.0-beta.1", + "8.0.0-beta.2", + "8.0.0-nightly.20191019", + "8.0.0-nightly.20191020", + "8.0.0-nightly.20191021", + "8.0.0-nightly.20191023" + ], + "80.0.3955.0": [ + "8.0.0-beta.3", + "8.0.0-beta.4" + ], + "80.0.3987.14": [ + "8.0.0-beta.5" + ], + "80.0.3987.51": [ + "8.0.0-beta.6" + ], + "80.0.3987.59": [ + "8.0.0-beta.7" + ], + "80.0.3987.75": [ + "8.0.0-beta.8", + "8.0.0-beta.9" + ], + "78.0.3871.0": [ + "8.0.0-nightly.20190803", + "8.0.0-nightly.20190806", + "8.0.0-nightly.20190807", + "8.0.0-nightly.20190808", + "8.0.0-nightly.20190809", + "8.0.0-nightly.20190810", + "8.0.0-nightly.20190811", + "8.0.0-nightly.20190812", + "8.0.0-nightly.20190813", + "8.0.0-nightly.20190814", + "8.0.0-nightly.20190815" + ], + "78.0.3881.0": [ + "8.0.0-nightly.20190816", + "8.0.0-nightly.20190817", + "8.0.0-nightly.20190818", + "8.0.0-nightly.20190819", + "8.0.0-nightly.20190820" + ], + "78.0.3892.0": [ + "8.0.0-nightly.20190824", + "8.0.0-nightly.20190825", + "8.0.0-nightly.20190827", + "8.0.0-nightly.20190828", + "8.0.0-nightly.20190830", + "8.0.0-nightly.20190901", + "8.0.0-nightly.20190902", + "8.0.0-nightly.20190907", + "8.0.0-nightly.20190909", + "8.0.0-nightly.20190910", + "8.0.0-nightly.20190911", + "8.0.0-nightly.20190912", + "8.0.0-nightly.20190913", + "8.0.0-nightly.20190914", + "8.0.0-nightly.20190915", + "8.0.0-nightly.20190917" + ], + "79.0.3915.0": [ + "8.0.0-nightly.20190919", + "8.0.0-nightly.20190920" + ], + "79.0.3919.0": [ + "8.0.0-nightly.20190922", + "8.0.0-nightly.20190923", + "8.0.0-nightly.20190924", + "8.0.0-nightly.20190926", + "8.0.0-nightly.20190928", + "8.0.0-nightly.20190929", + "8.0.0-nightly.20190930", + "8.0.0-nightly.20191001", + "8.0.0-nightly.20191004", + "8.0.0-nightly.20191005", + "8.0.0-nightly.20191006", + "8.0.0-nightly.20191009", + "8.0.0-nightly.20191011", + "8.0.0-nightly.20191012", + "8.0.0-nightly.20191017" + ], + "80.0.3952.0": [ + "8.0.0-nightly.20191101", + "8.0.0-nightly.20191103", + "8.0.0-nightly.20191105" + ], + "80.0.3987.86": [ + "8.0.0", + "8.0.1", + "8.0.2" + ], + "80.0.3987.134": [ + "8.0.3" + ], + "80.0.3987.137": [ + "8.1.0" + ], + "80.0.3987.141": [ + "8.1.1" + ], + "80.0.3987.158": [ + "8.2.0" + ], + "80.0.3987.163": [ + "8.2.1", + "8.2.2", + "8.2.3", + "8.5.3", + "8.5.4", + "8.5.5" + ], + "80.0.3987.165": [ + "8.2.4", + "8.2.5", + "8.3.0", + "8.3.1", + "8.3.2", + "8.3.3", + "8.3.4", + "8.4.0", + "8.4.1", + "8.5.0", + "8.5.1", + "8.5.2" + ], + "82.0.4048.0": [ + "9.0.0-beta.1", + "9.0.0-beta.2", + "9.0.0-beta.3", + "9.0.0-beta.4", + "9.0.0-beta.5" + ], + "82.0.4058.2": [ + "9.0.0-beta.6", + "9.0.0-beta.7", + "9.0.0-beta.9" + ], + "82.0.4085.10": [ + "9.0.0-beta.10" + ], + "82.0.4085.14": [ + "9.0.0-beta.11", + "9.0.0-beta.12", + "9.0.0-beta.13" + ], + "82.0.4085.27": [ + "9.0.0-beta.14" + ], + "83.0.4102.3": [ + "9.0.0-beta.15", + "9.0.0-beta.16" + ], + "83.0.4103.14": [ + "9.0.0-beta.17" + ], + "83.0.4103.16": [ + "9.0.0-beta.18" + ], + "83.0.4103.24": [ + "9.0.0-beta.19" + ], + "83.0.4103.26": [ + "9.0.0-beta.20", + "9.0.0-beta.21" + ], + "83.0.4103.34": [ + "9.0.0-beta.22" + ], + "83.0.4103.44": [ + "9.0.0-beta.23" + ], + "83.0.4103.45": [ + "9.0.0-beta.24" + ], + "80.0.3954.0": [ + "9.0.0-nightly.20191121", + "9.0.0-nightly.20191122", + "9.0.0-nightly.20191123", + "9.0.0-nightly.20191124", + "9.0.0-nightly.20191126", + "9.0.0-nightly.20191128", + "9.0.0-nightly.20191129", + "9.0.0-nightly.20191130", + "9.0.0-nightly.20191201", + "9.0.0-nightly.20191202", + "9.0.0-nightly.20191203", + "9.0.0-nightly.20191204", + "9.0.0-nightly.20191205", + "9.0.0-nightly.20191210" + ], + "81.0.3994.0": [ + "9.0.0-nightly.20191220", + "9.0.0-nightly.20191221", + "9.0.0-nightly.20191222", + "9.0.0-nightly.20191223", + "9.0.0-nightly.20191224", + "9.0.0-nightly.20191225", + "9.0.0-nightly.20191226", + "9.0.0-nightly.20191228", + "9.0.0-nightly.20191229", + "9.0.0-nightly.20191230", + "9.0.0-nightly.20191231", + "9.0.0-nightly.20200101", + "9.0.0-nightly.20200103", + "9.0.0-nightly.20200104", + "9.0.0-nightly.20200105", + "9.0.0-nightly.20200106", + "9.0.0-nightly.20200108", + "9.0.0-nightly.20200109", + "9.0.0-nightly.20200110", + "9.0.0-nightly.20200111", + "9.0.0-nightly.20200113", + "9.0.0-nightly.20200115", + "9.0.0-nightly.20200116", + "9.0.0-nightly.20200117" + ], + "81.0.4030.0": [ + "9.0.0-nightly.20200119", + "9.0.0-nightly.20200121" + ], + "83.0.4103.64": [ + "9.0.0" + ], + "83.0.4103.94": [ + "9.0.1", + "9.0.2" + ], + "83.0.4103.100": [ + "9.0.3" + ], + "83.0.4103.104": [ + "9.0.4" + ], + "83.0.4103.119": [ + "9.0.5" + ], + "83.0.4103.122": [ + "9.1.0", + "9.1.1", + "9.1.2", + "9.2.0", + "9.2.1", + "9.3.0", + "9.3.1", + "9.3.2", + "9.3.3", + "9.3.4", + "9.3.5", + "9.4.0", + "9.4.1", + "9.4.2", + "9.4.3", + "9.4.4" + ], + "84.0.4129.0": [ + "10.0.0-beta.1", + "10.0.0-beta.2", + "10.0.0-nightly.20200501", + "10.0.0-nightly.20200504", + "10.0.0-nightly.20200505", + "10.0.0-nightly.20200506", + "10.0.0-nightly.20200507", + "10.0.0-nightly.20200508", + "10.0.0-nightly.20200511", + "10.0.0-nightly.20200512", + "10.0.0-nightly.20200513", + "10.0.0-nightly.20200514", + "10.0.0-nightly.20200515", + "10.0.0-nightly.20200518", + "10.0.0-nightly.20200519", + "10.0.0-nightly.20200520", + "10.0.0-nightly.20200521", + "11.0.0-nightly.20200525", + "11.0.0-nightly.20200526" + ], + "85.0.4161.2": [ + "10.0.0-beta.3", + "10.0.0-beta.4" + ], + "85.0.4181.1": [ + "10.0.0-beta.8", + "10.0.0-beta.9" + ], + "85.0.4183.19": [ + "10.0.0-beta.10" + ], + "85.0.4183.20": [ + "10.0.0-beta.11" + ], + "85.0.4183.26": [ + "10.0.0-beta.12" + ], + "85.0.4183.39": [ + "10.0.0-beta.13", + "10.0.0-beta.14", + "10.0.0-beta.15", + "10.0.0-beta.17", + "10.0.0-beta.19", + "10.0.0-beta.20", + "10.0.0-beta.21" + ], + "85.0.4183.70": [ + "10.0.0-beta.23" + ], + "85.0.4183.78": [ + "10.0.0-beta.24" + ], + "85.0.4183.80": [ + "10.0.0-beta.25" + ], + "82.0.4050.0": [ + "10.0.0-nightly.20200209", + "10.0.0-nightly.20200210", + "10.0.0-nightly.20200211", + "10.0.0-nightly.20200216", + "10.0.0-nightly.20200217", + "10.0.0-nightly.20200218", + "10.0.0-nightly.20200221", + "10.0.0-nightly.20200222", + "10.0.0-nightly.20200223", + "10.0.0-nightly.20200226", + "10.0.0-nightly.20200303" + ], + "82.0.4076.0": [ + "10.0.0-nightly.20200304", + "10.0.0-nightly.20200305", + "10.0.0-nightly.20200306", + "10.0.0-nightly.20200309", + "10.0.0-nightly.20200310" + ], + "82.0.4083.0": [ + "10.0.0-nightly.20200311" + ], + "83.0.4086.0": [ + "10.0.0-nightly.20200316" + ], + "83.0.4087.0": [ + "10.0.0-nightly.20200317", + "10.0.0-nightly.20200318", + "10.0.0-nightly.20200320", + "10.0.0-nightly.20200323", + "10.0.0-nightly.20200324", + "10.0.0-nightly.20200325", + "10.0.0-nightly.20200326", + "10.0.0-nightly.20200327", + "10.0.0-nightly.20200330", + "10.0.0-nightly.20200331", + "10.0.0-nightly.20200401", + "10.0.0-nightly.20200402", + "10.0.0-nightly.20200403", + "10.0.0-nightly.20200406" + ], + "83.0.4095.0": [ + "10.0.0-nightly.20200408", + "10.0.0-nightly.20200410", + "10.0.0-nightly.20200413" + ], + "84.0.4114.0": [ + "10.0.0-nightly.20200414" + ], + "84.0.4115.0": [ + "10.0.0-nightly.20200415", + "10.0.0-nightly.20200416", + "10.0.0-nightly.20200417" + ], + "84.0.4121.0": [ + "10.0.0-nightly.20200422", + "10.0.0-nightly.20200423" + ], + "84.0.4125.0": [ + "10.0.0-nightly.20200427", + "10.0.0-nightly.20200428", + "10.0.0-nightly.20200429", + "10.0.0-nightly.20200430" + ], + "85.0.4183.84": [ + "10.0.0" + ], + "85.0.4183.86": [ + "10.0.1" + ], + "85.0.4183.87": [ + "10.1.0" + ], + "85.0.4183.93": [ + "10.1.1" + ], + "85.0.4183.98": [ + "10.1.2" + ], + "85.0.4183.121": [ + "10.1.3", + "10.1.4", + "10.1.5", + "10.1.6", + "10.1.7", + "10.2.0", + "10.3.0", + "10.3.1", + "10.3.2", + "10.4.0", + "10.4.1", + "10.4.2", + "10.4.3", + "10.4.4", + "10.4.5", + "10.4.6", + "10.4.7" + ], + "86.0.4234.0": [ + "11.0.0-beta.1", + "11.0.0-beta.3", + "11.0.0-beta.4", + "11.0.0-beta.5", + "11.0.0-beta.6", + "11.0.0-beta.7", + "11.0.0-nightly.20200822", + "11.0.0-nightly.20200824", + "11.0.0-nightly.20200825", + "11.0.0-nightly.20200826", + "12.0.0-nightly.20200827", + "12.0.0-nightly.20200831", + "12.0.0-nightly.20200902", + "12.0.0-nightly.20200903", + "12.0.0-nightly.20200907", + "12.0.0-nightly.20200910", + "12.0.0-nightly.20200911", + "12.0.0-nightly.20200914" + ], + "87.0.4251.1": [ + "11.0.0-beta.8", + "11.0.0-beta.9", + "11.0.0-beta.11" + ], + "87.0.4280.11": [ + "11.0.0-beta.12", + "11.0.0-beta.13" + ], + "87.0.4280.27": [ + "11.0.0-beta.16", + "11.0.0-beta.17", + "11.0.0-beta.18", + "11.0.0-beta.19" + ], + "87.0.4280.40": [ + "11.0.0-beta.20" + ], + "87.0.4280.47": [ + "11.0.0-beta.22", + "11.0.0-beta.23" + ], + "85.0.4156.0": [ + "11.0.0-nightly.20200529" + ], + "85.0.4162.0": [ + "11.0.0-nightly.20200602", + "11.0.0-nightly.20200603", + "11.0.0-nightly.20200604", + "11.0.0-nightly.20200609", + "11.0.0-nightly.20200610", + "11.0.0-nightly.20200611", + "11.0.0-nightly.20200615", + "11.0.0-nightly.20200616", + "11.0.0-nightly.20200617", + "11.0.0-nightly.20200618", + "11.0.0-nightly.20200619" + ], + "85.0.4179.0": [ + "11.0.0-nightly.20200701", + "11.0.0-nightly.20200702", + "11.0.0-nightly.20200703", + "11.0.0-nightly.20200706", + "11.0.0-nightly.20200707", + "11.0.0-nightly.20200708", + "11.0.0-nightly.20200709" + ], + "86.0.4203.0": [ + "11.0.0-nightly.20200716", + "11.0.0-nightly.20200717", + "11.0.0-nightly.20200720", + "11.0.0-nightly.20200721" + ], + "86.0.4209.0": [ + "11.0.0-nightly.20200723", + "11.0.0-nightly.20200724", + "11.0.0-nightly.20200729", + "11.0.0-nightly.20200730", + "11.0.0-nightly.20200731", + "11.0.0-nightly.20200803", + "11.0.0-nightly.20200804", + "11.0.0-nightly.20200805", + "11.0.0-nightly.20200811", + "11.0.0-nightly.20200812" + ], + "87.0.4280.60": [ + "11.0.0", + "11.0.1" + ], + "87.0.4280.67": [ + "11.0.2", + "11.0.3", + "11.0.4" + ], + "87.0.4280.88": [ + "11.0.5", + "11.1.0", + "11.1.1" + ], + "87.0.4280.141": [ + "11.2.0", + "11.2.1", + "11.2.2", + "11.2.3", + "11.3.0", + "11.4.0", + "11.4.1", + "11.4.2", + "11.4.3", + "11.4.4", + "11.4.5", + "11.4.6", + "11.4.7", + "11.4.8", + "11.4.9", + "11.4.10", + "11.4.11", + "11.4.12", + "11.5.0" + ], + "89.0.4328.0": [ + "12.0.0-beta.1", + "12.0.0-beta.3", + "12.0.0-beta.4", + "12.0.0-beta.5", + "12.0.0-beta.6", + "12.0.0-beta.7", + "12.0.0-beta.8", + "12.0.0-beta.9", + "12.0.0-beta.10", + "12.0.0-beta.11", + "12.0.0-beta.12", + "12.0.0-beta.14", + "13.0.0-nightly.20201119", + "13.0.0-nightly.20201123", + "13.0.0-nightly.20201124", + "13.0.0-nightly.20201126", + "13.0.0-nightly.20201127", + "13.0.0-nightly.20201130", + "13.0.0-nightly.20201201", + "13.0.0-nightly.20201202", + "13.0.0-nightly.20201203", + "13.0.0-nightly.20201204", + "13.0.0-nightly.20201207", + "13.0.0-nightly.20201208", + "13.0.0-nightly.20201209", + "13.0.0-nightly.20201210", + "13.0.0-nightly.20201211", + "13.0.0-nightly.20201214" + ], + "89.0.4348.1": [ + "12.0.0-beta.16", + "12.0.0-beta.18", + "12.0.0-beta.19", + "12.0.0-beta.20" + ], + "89.0.4388.2": [ + "12.0.0-beta.21", + "12.0.0-beta.22", + "12.0.0-beta.23", + "12.0.0-beta.24", + "12.0.0-beta.25", + "12.0.0-beta.26" + ], + "89.0.4389.23": [ + "12.0.0-beta.27", + "12.0.0-beta.28", + "12.0.0-beta.29" + ], + "89.0.4389.58": [ + "12.0.0-beta.30", + "12.0.0-beta.31" + ], + "87.0.4268.0": [ + "12.0.0-nightly.20201002", + "12.0.0-nightly.20201007", + "12.0.0-nightly.20201009", + "12.0.0-nightly.20201012", + "12.0.0-nightly.20201013", + "12.0.0-nightly.20201014", + "12.0.0-nightly.20201015" + ], + "88.0.4292.0": [ + "12.0.0-nightly.20201023", + "12.0.0-nightly.20201026" + ], + "88.0.4306.0": [ + "12.0.0-nightly.20201030", + "12.0.0-nightly.20201102", + "12.0.0-nightly.20201103", + "12.0.0-nightly.20201104", + "12.0.0-nightly.20201105", + "12.0.0-nightly.20201106", + "12.0.0-nightly.20201111", + "12.0.0-nightly.20201112" + ], + "88.0.4324.0": [ + "12.0.0-nightly.20201116" + ], + "89.0.4389.69": [ + "12.0.0" + ], + "89.0.4389.82": [ + "12.0.1" + ], + "89.0.4389.90": [ + "12.0.2" + ], + "89.0.4389.114": [ + "12.0.3", + "12.0.4" + ], + "89.0.4389.128": [ + "12.0.5", + "12.0.6", + "12.0.7", + "12.0.8", + "12.0.9", + "12.0.10", + "12.0.11", + "12.0.12", + "12.0.13", + "12.0.14", + "12.0.15", + "12.0.16", + "12.0.17", + "12.0.18", + "12.1.0", + "12.1.1", + "12.1.2", + "12.2.0", + "12.2.1", + "12.2.2", + "12.2.3" + ], + "90.0.4402.0": [ + "13.0.0-beta.2", + "13.0.0-beta.3", + "13.0.0-nightly.20210210", + "13.0.0-nightly.20210211", + "13.0.0-nightly.20210212", + "13.0.0-nightly.20210216", + "13.0.0-nightly.20210217", + "13.0.0-nightly.20210218", + "13.0.0-nightly.20210219", + "13.0.0-nightly.20210222", + "13.0.0-nightly.20210225", + "13.0.0-nightly.20210226", + "13.0.0-nightly.20210301", + "13.0.0-nightly.20210302", + "13.0.0-nightly.20210303", + "14.0.0-nightly.20210304" + ], + "90.0.4415.0": [ + "13.0.0-beta.4", + "13.0.0-beta.5", + "13.0.0-beta.6", + "13.0.0-beta.7", + "13.0.0-beta.8", + "13.0.0-beta.9", + "13.0.0-beta.10", + "13.0.0-beta.11", + "13.0.0-beta.12", + "13.0.0-beta.13", + "14.0.0-nightly.20210305", + "14.0.0-nightly.20210308", + "14.0.0-nightly.20210309", + "14.0.0-nightly.20210311", + "14.0.0-nightly.20210315", + "14.0.0-nightly.20210316", + "14.0.0-nightly.20210317", + "14.0.0-nightly.20210318", + "14.0.0-nightly.20210319", + "14.0.0-nightly.20210323", + "14.0.0-nightly.20210324", + "14.0.0-nightly.20210325", + "14.0.0-nightly.20210326", + "14.0.0-nightly.20210329", + "14.0.0-nightly.20210330" + ], + "91.0.4448.0": [ + "13.0.0-beta.14", + "13.0.0-beta.16", + "13.0.0-beta.17", + "13.0.0-beta.18", + "13.0.0-beta.20", + "14.0.0-nightly.20210331", + "14.0.0-nightly.20210401", + "14.0.0-nightly.20210402", + "14.0.0-nightly.20210406", + "14.0.0-nightly.20210407", + "14.0.0-nightly.20210408", + "14.0.0-nightly.20210409", + "14.0.0-nightly.20210413" + ], + "91.0.4472.33": [ + "13.0.0-beta.21", + "13.0.0-beta.22", + "13.0.0-beta.23" + ], + "91.0.4472.38": [ + "13.0.0-beta.24", + "13.0.0-beta.25", + "13.0.0-beta.26", + "13.0.0-beta.27", + "13.0.0-beta.28" + ], + "89.0.4349.0": [ + "13.0.0-nightly.20201215", + "13.0.0-nightly.20201216", + "13.0.0-nightly.20201221", + "13.0.0-nightly.20201222" + ], + "89.0.4359.0": [ + "13.0.0-nightly.20201223", + "13.0.0-nightly.20210104", + "13.0.0-nightly.20210108", + "13.0.0-nightly.20210111" + ], + "89.0.4386.0": [ + "13.0.0-nightly.20210113", + "13.0.0-nightly.20210114", + "13.0.0-nightly.20210118", + "13.0.0-nightly.20210122", + "13.0.0-nightly.20210125" + ], + "89.0.4389.0": [ + "13.0.0-nightly.20210127", + "13.0.0-nightly.20210128", + "13.0.0-nightly.20210129", + "13.0.0-nightly.20210201", + "13.0.0-nightly.20210202", + "13.0.0-nightly.20210203", + "13.0.0-nightly.20210205", + "13.0.0-nightly.20210208", + "13.0.0-nightly.20210209" + ], + "91.0.4472.69": [ + "13.0.0", + "13.0.1" + ], + "91.0.4472.77": [ + "13.1.0", + "13.1.1", + "13.1.2" + ], + "91.0.4472.106": [ + "13.1.3", + "13.1.4" + ], + "91.0.4472.124": [ + "13.1.5", + "13.1.6", + "13.1.7" + ], + "91.0.4472.164": [ + "13.1.8", + "13.1.9", + "13.2.0", + "13.2.1", + "13.2.2", + "13.2.3", + "13.3.0", + "13.4.0", + "13.5.0", + "13.5.1", + "13.5.2", + "13.6.0", + "13.6.1", + "13.6.2", + "13.6.3", + "13.6.6", + "13.6.7", + "13.6.8", + "13.6.9" + ], + "92.0.4511.0": [ + "14.0.0-beta.1", + "14.0.0-beta.2", + "14.0.0-beta.3", + "14.0.0-nightly.20210520", + "14.0.0-nightly.20210523", + "14.0.0-nightly.20210524", + "15.0.0-nightly.20210527", + "15.0.0-nightly.20210528", + "15.0.0-nightly.20210531", + "15.0.0-nightly.20210601", + "15.0.0-nightly.20210602" + ], + "93.0.4536.0": [ + "14.0.0-beta.5", + "14.0.0-beta.6", + "14.0.0-beta.7", + "14.0.0-beta.8", + "15.0.0-nightly.20210609", + "15.0.0-nightly.20210610", + "15.0.0-nightly.20210611", + "15.0.0-nightly.20210614", + "15.0.0-nightly.20210615", + "15.0.0-nightly.20210616" + ], + "93.0.4539.0": [ + "14.0.0-beta.9", + "14.0.0-beta.10", + "15.0.0-nightly.20210617", + "15.0.0-nightly.20210618", + "15.0.0-nightly.20210621", + "15.0.0-nightly.20210622" + ], + "93.0.4557.4": [ + "14.0.0-beta.11", + "14.0.0-beta.12" + ], + "93.0.4566.0": [ + "14.0.0-beta.13", + "14.0.0-beta.14", + "14.0.0-beta.15", + "14.0.0-beta.16", + "14.0.0-beta.17", + "15.0.0-alpha.1", + "15.0.0-alpha.2", + "15.0.0-nightly.20210706", + "15.0.0-nightly.20210707", + "15.0.0-nightly.20210708", + "15.0.0-nightly.20210709", + "15.0.0-nightly.20210712", + "15.0.0-nightly.20210713", + "15.0.0-nightly.20210714", + "15.0.0-nightly.20210715", + "15.0.0-nightly.20210716", + "15.0.0-nightly.20210719", + "15.0.0-nightly.20210720", + "15.0.0-nightly.20210721", + "16.0.0-nightly.20210722", + "16.0.0-nightly.20210723", + "16.0.0-nightly.20210726" + ], + "93.0.4577.15": [ + "14.0.0-beta.18", + "14.0.0-beta.19", + "14.0.0-beta.20", + "14.0.0-beta.21" + ], + "93.0.4577.25": [ + "14.0.0-beta.22", + "14.0.0-beta.23" + ], + "93.0.4577.51": [ + "14.0.0-beta.24", + "14.0.0-beta.25" + ], + "92.0.4475.0": [ + "14.0.0-nightly.20210426", + "14.0.0-nightly.20210427" + ], + "92.0.4488.0": [ + "14.0.0-nightly.20210430", + "14.0.0-nightly.20210503" + ], + "92.0.4496.0": [ + "14.0.0-nightly.20210505" + ], + "92.0.4498.0": [ + "14.0.0-nightly.20210506" + ], + "92.0.4499.0": [ + "14.0.0-nightly.20210507", + "14.0.0-nightly.20210510", + "14.0.0-nightly.20210511", + "14.0.0-nightly.20210512", + "14.0.0-nightly.20210513" + ], + "92.0.4505.0": [ + "14.0.0-nightly.20210514", + "14.0.0-nightly.20210517", + "14.0.0-nightly.20210518", + "14.0.0-nightly.20210519" + ], + "93.0.4577.58": [ + "14.0.0" + ], + "93.0.4577.63": [ + "14.0.1" + ], + "93.0.4577.82": [ + "14.0.2", + "14.1.0", + "14.1.1", + "14.2.0", + "14.2.1", + "14.2.2", + "14.2.3", + "14.2.4", + "14.2.5", + "14.2.6", + "14.2.7", + "14.2.8", + "14.2.9" + ], + "94.0.4584.0": [ + "15.0.0-alpha.3", + "15.0.0-alpha.4", + "15.0.0-alpha.5", + "15.0.0-alpha.6", + "16.0.0-nightly.20210727", + "16.0.0-nightly.20210728", + "16.0.0-nightly.20210729", + "16.0.0-nightly.20210730", + "16.0.0-nightly.20210802", + "16.0.0-nightly.20210803", + "16.0.0-nightly.20210804", + "16.0.0-nightly.20210805", + "16.0.0-nightly.20210806", + "16.0.0-nightly.20210809", + "16.0.0-nightly.20210810", + "16.0.0-nightly.20210811" + ], + "94.0.4590.2": [ + "15.0.0-alpha.7", + "15.0.0-alpha.8", + "15.0.0-alpha.9", + "16.0.0-nightly.20210812", + "16.0.0-nightly.20210813", + "16.0.0-nightly.20210816", + "16.0.0-nightly.20210817", + "16.0.0-nightly.20210818", + "16.0.0-nightly.20210819", + "16.0.0-nightly.20210820", + "16.0.0-nightly.20210823" + ], + "94.0.4606.12": [ + "15.0.0-alpha.10" + ], + "94.0.4606.20": [ + "15.0.0-beta.1", + "15.0.0-beta.2" + ], + "94.0.4606.31": [ + "15.0.0-beta.3", + "15.0.0-beta.4", + "15.0.0-beta.5", + "15.0.0-beta.6", + "15.0.0-beta.7" + ], + "93.0.4530.0": [ + "15.0.0-nightly.20210603", + "15.0.0-nightly.20210604" + ], + "93.0.4535.0": [ + "15.0.0-nightly.20210608" + ], + "93.0.4550.0": [ + "15.0.0-nightly.20210623", + "15.0.0-nightly.20210624" + ], + "93.0.4552.0": [ + "15.0.0-nightly.20210625", + "15.0.0-nightly.20210628", + "15.0.0-nightly.20210629" + ], + "93.0.4558.0": [ + "15.0.0-nightly.20210630", + "15.0.0-nightly.20210701", + "15.0.0-nightly.20210702", + "15.0.0-nightly.20210705" + ], + "94.0.4606.51": [ + "15.0.0" + ], + "94.0.4606.61": [ + "15.1.0", + "15.1.1" + ], + "94.0.4606.71": [ + "15.1.2" + ], + "94.0.4606.81": [ + "15.2.0", + "15.3.0", + "15.3.1", + "15.3.2", + "15.3.3", + "15.3.4", + "15.3.5", + "15.3.6", + "15.3.7", + "15.4.0", + "15.4.1", + "15.4.2", + "15.5.0", + "15.5.1", + "15.5.2", + "15.5.3", + "15.5.4", + "15.5.5", + "15.5.6", + "15.5.7" + ], + "95.0.4629.0": [ + "16.0.0-alpha.1", + "16.0.0-alpha.2", + "16.0.0-alpha.3", + "16.0.0-alpha.4", + "16.0.0-alpha.5", + "16.0.0-alpha.6", + "16.0.0-alpha.7", + "16.0.0-nightly.20210902", + "16.0.0-nightly.20210903", + "16.0.0-nightly.20210906", + "16.0.0-nightly.20210907", + "16.0.0-nightly.20210908", + "16.0.0-nightly.20210909", + "16.0.0-nightly.20210910", + "16.0.0-nightly.20210913", + "16.0.0-nightly.20210914", + "16.0.0-nightly.20210915", + "16.0.0-nightly.20210916", + "16.0.0-nightly.20210917", + "16.0.0-nightly.20210920", + "16.0.0-nightly.20210921", + "16.0.0-nightly.20210922", + "17.0.0-nightly.20210923", + "17.0.0-nightly.20210924", + "17.0.0-nightly.20210927", + "17.0.0-nightly.20210928", + "17.0.0-nightly.20210929", + "17.0.0-nightly.20210930", + "17.0.0-nightly.20211001", + "17.0.0-nightly.20211004", + "17.0.0-nightly.20211005" + ], + "96.0.4647.0": [ + "16.0.0-alpha.8", + "16.0.0-alpha.9", + "16.0.0-beta.1", + "16.0.0-beta.2", + "16.0.0-beta.3", + "17.0.0-nightly.20211006", + "17.0.0-nightly.20211007", + "17.0.0-nightly.20211008", + "17.0.0-nightly.20211011", + "17.0.0-nightly.20211012", + "17.0.0-nightly.20211013", + "17.0.0-nightly.20211014", + "17.0.0-nightly.20211015", + "17.0.0-nightly.20211018", + "17.0.0-nightly.20211019", + "17.0.0-nightly.20211020", + "17.0.0-nightly.20211021" + ], + "96.0.4664.18": [ + "16.0.0-beta.4", + "16.0.0-beta.5" + ], + "96.0.4664.27": [ + "16.0.0-beta.6", + "16.0.0-beta.7" + ], + "96.0.4664.35": [ + "16.0.0-beta.8", + "16.0.0-beta.9" + ], + "95.0.4612.5": [ + "16.0.0-nightly.20210824", + "16.0.0-nightly.20210825", + "16.0.0-nightly.20210826", + "16.0.0-nightly.20210827", + "16.0.0-nightly.20210830", + "16.0.0-nightly.20210831", + "16.0.0-nightly.20210901" + ], + "96.0.4664.45": [ + "16.0.0", + "16.0.1" + ], + "96.0.4664.55": [ + "16.0.2", + "16.0.3", + "16.0.4", + "16.0.5" + ], + "96.0.4664.110": [ + "16.0.6", + "16.0.7", + "16.0.8" + ], + "96.0.4664.174": [ + "16.0.9", + "16.0.10", + "16.1.0", + "16.1.1", + "16.2.0", + "16.2.1", + "16.2.2", + "16.2.3", + "16.2.4", + "16.2.5", + "16.2.6", + "16.2.7", + "16.2.8" + ], + "96.0.4664.4": [ + "17.0.0-alpha.1", + "17.0.0-alpha.2", + "17.0.0-alpha.3", + "17.0.0-nightly.20211022", + "17.0.0-nightly.20211025", + "17.0.0-nightly.20211026", + "17.0.0-nightly.20211027", + "17.0.0-nightly.20211028", + "17.0.0-nightly.20211029", + "17.0.0-nightly.20211101", + "17.0.0-nightly.20211102", + "17.0.0-nightly.20211103", + "17.0.0-nightly.20211104", + "17.0.0-nightly.20211105", + "17.0.0-nightly.20211108", + "17.0.0-nightly.20211109", + "17.0.0-nightly.20211110", + "17.0.0-nightly.20211111", + "17.0.0-nightly.20211112", + "17.0.0-nightly.20211115", + "17.0.0-nightly.20211116", + "17.0.0-nightly.20211117", + "18.0.0-nightly.20211118", + "18.0.0-nightly.20211119", + "18.0.0-nightly.20211122", + "18.0.0-nightly.20211123" + ], + "98.0.4706.0": [ + "17.0.0-alpha.4", + "17.0.0-alpha.5", + "17.0.0-alpha.6", + "17.0.0-beta.1", + "17.0.0-beta.2", + "18.0.0-nightly.20211124", + "18.0.0-nightly.20211125", + "18.0.0-nightly.20211126", + "18.0.0-nightly.20211129", + "18.0.0-nightly.20211130", + "18.0.0-nightly.20211201", + "18.0.0-nightly.20211202", + "18.0.0-nightly.20211203", + "18.0.0-nightly.20211206", + "18.0.0-nightly.20211207", + "18.0.0-nightly.20211208", + "18.0.0-nightly.20211209", + "18.0.0-nightly.20211210", + "18.0.0-nightly.20211213", + "18.0.0-nightly.20211214", + "18.0.0-nightly.20211215", + "18.0.0-nightly.20211216", + "18.0.0-nightly.20211217", + "18.0.0-nightly.20211220", + "18.0.0-nightly.20211221", + "18.0.0-nightly.20211222", + "18.0.0-nightly.20211223", + "18.0.0-nightly.20211228", + "18.0.0-nightly.20211229", + "18.0.0-nightly.20211231", + "18.0.0-nightly.20220103", + "18.0.0-nightly.20220104", + "18.0.0-nightly.20220105", + "18.0.0-nightly.20220106", + "18.0.0-nightly.20220107", + "18.0.0-nightly.20220110" + ], + "98.0.4758.9": [ + "17.0.0-beta.3" + ], + "98.0.4758.11": [ + "17.0.0-beta.4", + "17.0.0-beta.5", + "17.0.0-beta.6", + "17.0.0-beta.7", + "17.0.0-beta.8", + "17.0.0-beta.9" + ], + "98.0.4758.74": [ + "17.0.0" + ], + "98.0.4758.82": [ + "17.0.1" + ], + "98.0.4758.102": [ + "17.1.0" + ], + "98.0.4758.109": [ + "17.1.1", + "17.1.2", + "17.2.0" + ], + "98.0.4758.141": [ + "17.3.0", + "17.3.1", + "17.4.0", + "17.4.1", + "17.4.2", + "17.4.3", + "17.4.4", + "17.4.5", + "17.4.6", + "17.4.7", + "17.4.8", + "17.4.9", + "17.4.10", + "17.4.11" + ], + "99.0.4767.0": [ + "18.0.0-alpha.1", + "18.0.0-alpha.2", + "18.0.0-alpha.3", + "18.0.0-alpha.4", + "18.0.0-alpha.5", + "18.0.0-nightly.20220111", + "18.0.0-nightly.20220112", + "18.0.0-nightly.20220113", + "18.0.0-nightly.20220114", + "18.0.0-nightly.20220117", + "18.0.0-nightly.20220118", + "18.0.0-nightly.20220119", + "18.0.0-nightly.20220121", + "18.0.0-nightly.20220124", + "18.0.0-nightly.20220125", + "18.0.0-nightly.20220127", + "18.0.0-nightly.20220128", + "18.0.0-nightly.20220131", + "18.0.0-nightly.20220201", + "19.0.0-nightly.20220202", + "19.0.0-nightly.20220203", + "19.0.0-nightly.20220204", + "19.0.0-nightly.20220207", + "19.0.0-nightly.20220208", + "19.0.0-nightly.20220209" + ], + "100.0.4894.0": [ + "18.0.0-beta.1", + "18.0.0-beta.2", + "18.0.0-beta.3", + "18.0.0-beta.4", + "18.0.0-beta.5", + "18.0.0-beta.6", + "19.0.0-nightly.20220308", + "19.0.0-nightly.20220309", + "19.0.0-nightly.20220310", + "19.0.0-nightly.20220311", + "19.0.0-nightly.20220314", + "19.0.0-nightly.20220315", + "19.0.0-nightly.20220316", + "19.0.0-nightly.20220317", + "19.0.0-nightly.20220318", + "19.0.0-nightly.20220321", + "19.0.0-nightly.20220322", + "19.0.0-nightly.20220323", + "19.0.0-nightly.20220324" + ], + "100.0.4896.56": [ + "18.0.0" + ], + "100.0.4896.60": [ + "18.0.1", + "18.0.2" + ], + "100.0.4896.75": [ + "18.0.3", + "18.0.4" + ], + "100.0.4896.127": [ + "18.1.0" + ], + "100.0.4896.143": [ + "18.2.0", + "18.2.1", + "18.2.2", + "18.2.3" + ], + "100.0.4896.160": [ + "18.2.4", + "18.3.0", + "18.3.1", + "18.3.2", + "18.3.3", + "18.3.4", + "18.3.5", + "18.3.6", + "18.3.7", + "18.3.8", + "18.3.9", + "18.3.11", + "18.3.12", + "18.3.13", + "18.3.14", + "18.3.15" + ], + "102.0.4962.3": [ + "19.0.0-alpha.1", + "19.0.0-nightly.20220328", + "19.0.0-nightly.20220329", + "20.0.0-nightly.20220330" + ], + "102.0.4971.0": [ + "19.0.0-alpha.2", + "19.0.0-alpha.3", + "20.0.0-nightly.20220411" + ], + "102.0.4989.0": [ + "19.0.0-alpha.4", + "19.0.0-alpha.5", + "20.0.0-nightly.20220414", + "20.0.0-nightly.20220415", + "20.0.0-nightly.20220418", + "20.0.0-nightly.20220419", + "20.0.0-nightly.20220420", + "20.0.0-nightly.20220421" + ], + "102.0.4999.0": [ + "19.0.0-beta.1", + "19.0.0-beta.2", + "19.0.0-beta.3", + "20.0.0-nightly.20220425", + "20.0.0-nightly.20220426", + "20.0.0-nightly.20220427", + "20.0.0-nightly.20220428", + "20.0.0-nightly.20220429", + "20.0.0-nightly.20220502", + "20.0.0-nightly.20220503", + "20.0.0-nightly.20220504", + "20.0.0-nightly.20220505", + "20.0.0-nightly.20220506", + "20.0.0-nightly.20220509", + "20.0.0-nightly.20220511", + "20.0.0-nightly.20220512", + "20.0.0-nightly.20220513", + "20.0.0-nightly.20220516", + "20.0.0-nightly.20220517" + ], + "102.0.5005.27": [ + "19.0.0-beta.4" + ], + "102.0.5005.40": [ + "19.0.0-beta.5", + "19.0.0-beta.6", + "19.0.0-beta.7" + ], + "102.0.5005.49": [ + "19.0.0-beta.8" + ], + "102.0.4961.0": [ + "19.0.0-nightly.20220325" + ], + "102.0.5005.61": [ + "19.0.0", + "19.0.1" + ], + "102.0.5005.63": [ + "19.0.2", + "19.0.3", + "19.0.4" + ], + "102.0.5005.115": [ + "19.0.5", + "19.0.6" + ], + "102.0.5005.134": [ + "19.0.7" + ], + "102.0.5005.148": [ + "19.0.8" + ], + "102.0.5005.167": [ + "19.0.9", + "19.0.10", + "19.0.11", + "19.0.12", + "19.0.13", + "19.0.14", + "19.0.15", + "19.0.16", + "19.0.17", + "19.1.0", + "19.1.1", + "19.1.2", + "19.1.3", + "19.1.4", + "19.1.5", + "19.1.6", + "19.1.7", + "19.1.8", + "19.1.9" + ], + "103.0.5044.0": [ + "20.0.0-alpha.1", + "20.0.0-nightly.20220518", + "20.0.0-nightly.20220519", + "20.0.0-nightly.20220520", + "20.0.0-nightly.20220523", + "20.0.0-nightly.20220524", + "21.0.0-nightly.20220526", + "21.0.0-nightly.20220527", + "21.0.0-nightly.20220530", + "21.0.0-nightly.20220531" + ], + "104.0.5073.0": [ + "20.0.0-alpha.2", + "20.0.0-alpha.3", + "20.0.0-alpha.4", + "20.0.0-alpha.5", + "20.0.0-alpha.6", + "20.0.0-alpha.7", + "20.0.0-beta.1", + "20.0.0-beta.2", + "20.0.0-beta.3", + "20.0.0-beta.4", + "20.0.0-beta.5", + "20.0.0-beta.6", + "20.0.0-beta.7", + "20.0.0-beta.8", + "21.0.0-nightly.20220602", + "21.0.0-nightly.20220603", + "21.0.0-nightly.20220606", + "21.0.0-nightly.20220607", + "21.0.0-nightly.20220608", + "21.0.0-nightly.20220609", + "21.0.0-nightly.20220610", + "21.0.0-nightly.20220613", + "21.0.0-nightly.20220614", + "21.0.0-nightly.20220615", + "21.0.0-nightly.20220616", + "21.0.0-nightly.20220617", + "21.0.0-nightly.20220620", + "21.0.0-nightly.20220621", + "21.0.0-nightly.20220622", + "21.0.0-nightly.20220623", + "21.0.0-nightly.20220624", + "21.0.0-nightly.20220627" + ], + "104.0.5112.39": [ + "20.0.0-beta.9" + ], + "104.0.5112.48": [ + "20.0.0-beta.10", + "20.0.0-beta.11", + "20.0.0-beta.12" + ], + "104.0.5112.57": [ + "20.0.0-beta.13" + ], + "104.0.5112.65": [ + "20.0.0" + ], + "104.0.5112.81": [ + "20.0.1", + "20.0.2", + "20.0.3" + ], + "104.0.5112.102": [ + "20.1.0", + "20.1.1" + ], + "104.0.5112.114": [ + "20.1.2", + "20.1.3", + "20.1.4" + ], + "104.0.5112.124": [ + "20.2.0", + "20.3.0", + "20.3.1", + "20.3.2", + "20.3.3", + "20.3.4", + "20.3.5", + "20.3.6", + "20.3.7", + "20.3.8", + "20.3.9", + "20.3.10", + "20.3.11", + "20.3.12" + ], + "105.0.5187.0": [ + "21.0.0-alpha.1", + "21.0.0-alpha.2", + "21.0.0-alpha.3", + "21.0.0-alpha.4", + "21.0.0-alpha.5", + "21.0.0-nightly.20220720", + "21.0.0-nightly.20220721", + "21.0.0-nightly.20220722", + "21.0.0-nightly.20220725", + "21.0.0-nightly.20220726", + "21.0.0-nightly.20220727", + "21.0.0-nightly.20220728", + "21.0.0-nightly.20220801", + "21.0.0-nightly.20220802", + "22.0.0-nightly.20220808", + "22.0.0-nightly.20220809", + "22.0.0-nightly.20220810", + "22.0.0-nightly.20220811", + "22.0.0-nightly.20220812", + "22.0.0-nightly.20220815", + "22.0.0-nightly.20220816", + "22.0.0-nightly.20220817" + ], + "106.0.5216.0": [ + "21.0.0-alpha.6", + "21.0.0-beta.1", + "21.0.0-beta.2", + "21.0.0-beta.3", + "21.0.0-beta.4", + "21.0.0-beta.5", + "22.0.0-nightly.20220822", + "22.0.0-nightly.20220823", + "22.0.0-nightly.20220824", + "22.0.0-nightly.20220825", + "22.0.0-nightly.20220829", + "22.0.0-nightly.20220830", + "22.0.0-nightly.20220831", + "22.0.0-nightly.20220901", + "22.0.0-nightly.20220902", + "22.0.0-nightly.20220905" + ], + "106.0.5249.40": [ + "21.0.0-beta.6", + "21.0.0-beta.7", + "21.0.0-beta.8" + ], + "105.0.5129.0": [ + "21.0.0-nightly.20220628", + "21.0.0-nightly.20220629", + "21.0.0-nightly.20220630", + "21.0.0-nightly.20220701", + "21.0.0-nightly.20220704", + "21.0.0-nightly.20220705", + "21.0.0-nightly.20220706", + "21.0.0-nightly.20220707", + "21.0.0-nightly.20220708", + "21.0.0-nightly.20220711", + "21.0.0-nightly.20220712", + "21.0.0-nightly.20220713" + ], + "105.0.5173.0": [ + "21.0.0-nightly.20220715", + "21.0.0-nightly.20220718", + "21.0.0-nightly.20220719" + ], + "106.0.5249.51": [ + "21.0.0" + ], + "106.0.5249.61": [ + "21.0.1" + ], + "106.0.5249.91": [ + "21.1.0" + ], + "106.0.5249.103": [ + "21.1.1" + ], + "106.0.5249.119": [ + "21.2.0" + ], + "106.0.5249.165": [ + "21.2.1" + ], + "106.0.5249.168": [ + "21.2.2", + "21.2.3" + ], + "106.0.5249.181": [ + "21.3.0", + "21.3.1" + ], + "106.0.5249.199": [ + "21.3.3", + "21.3.4", + "21.3.5", + "21.4.0", + "21.4.1", + "21.4.2", + "21.4.3", + "21.4.4" + ], + "107.0.5286.0": [ + "22.0.0-alpha.1", + "22.0.0-nightly.20220909", + "22.0.0-nightly.20220912", + "22.0.0-nightly.20220913", + "22.0.0-nightly.20220914", + "22.0.0-nightly.20220915", + "22.0.0-nightly.20220916", + "22.0.0-nightly.20220919", + "22.0.0-nightly.20220920", + "22.0.0-nightly.20220921", + "22.0.0-nightly.20220922", + "22.0.0-nightly.20220923", + "22.0.0-nightly.20220926", + "22.0.0-nightly.20220927", + "22.0.0-nightly.20220928", + "23.0.0-nightly.20220929", + "23.0.0-nightly.20220930", + "23.0.0-nightly.20221003" + ], + "108.0.5329.0": [ + "22.0.0-alpha.3", + "22.0.0-alpha.4", + "22.0.0-alpha.5", + "22.0.0-alpha.6", + "23.0.0-nightly.20221004", + "23.0.0-nightly.20221005", + "23.0.0-nightly.20221006", + "23.0.0-nightly.20221007", + "23.0.0-nightly.20221010", + "23.0.0-nightly.20221011", + "23.0.0-nightly.20221012", + "23.0.0-nightly.20221013", + "23.0.0-nightly.20221014", + "23.0.0-nightly.20221017" + ], + "108.0.5355.0": [ + "22.0.0-alpha.7", + "23.0.0-nightly.20221018", + "23.0.0-nightly.20221019", + "23.0.0-nightly.20221020", + "23.0.0-nightly.20221021", + "23.0.0-nightly.20221024", + "23.0.0-nightly.20221026" + ], + "108.0.5359.10": [ + "22.0.0-alpha.8", + "22.0.0-beta.1", + "22.0.0-beta.2", + "22.0.0-beta.3" + ], + "108.0.5359.29": [ + "22.0.0-beta.4" + ], + "108.0.5359.40": [ + "22.0.0-beta.5", + "22.0.0-beta.6" + ], + "108.0.5359.48": [ + "22.0.0-beta.7", + "22.0.0-beta.8" + ], + "107.0.5274.0": [ + "22.0.0-nightly.20220908" + ], + "108.0.5359.62": [ + "22.0.0" + ], + "108.0.5359.125": [ + "22.0.1" + ], + "108.0.5359.179": [ + "22.0.2", + "22.0.3", + "22.1.0" + ], + "108.0.5359.215": [ + "22.2.0", + "22.2.1", + "22.3.0", + "22.3.1", + "22.3.2", + "22.3.3", + "22.3.4", + "22.3.5", + "22.3.6", + "22.3.7", + "22.3.8", + "22.3.9", + "22.3.10", + "22.3.11", + "22.3.12", + "22.3.13", + "22.3.14", + "22.3.15", + "22.3.16", + "22.3.17", + "22.3.18", + "22.3.20", + "22.3.21", + "22.3.22", + "22.3.23", + "22.3.24", + "22.3.25", + "22.3.26", + "22.3.27" + ], + "110.0.5415.0": [ + "23.0.0-alpha.1", + "23.0.0-nightly.20221118", + "23.0.0-nightly.20221121", + "23.0.0-nightly.20221122", + "23.0.0-nightly.20221123", + "23.0.0-nightly.20221124", + "23.0.0-nightly.20221125", + "23.0.0-nightly.20221128", + "23.0.0-nightly.20221129", + "23.0.0-nightly.20221130", + "24.0.0-nightly.20221201", + "24.0.0-nightly.20221202", + "24.0.0-nightly.20221205" + ], + "110.0.5451.0": [ + "23.0.0-alpha.2", + "23.0.0-alpha.3", + "24.0.0-nightly.20221206", + "24.0.0-nightly.20221207", + "24.0.0-nightly.20221208", + "24.0.0-nightly.20221213", + "24.0.0-nightly.20221214", + "24.0.0-nightly.20221215", + "24.0.0-nightly.20221216" + ], + "110.0.5478.5": [ + "23.0.0-beta.1", + "23.0.0-beta.2", + "23.0.0-beta.3" + ], + "110.0.5481.30": [ + "23.0.0-beta.4" + ], + "110.0.5481.38": [ + "23.0.0-beta.5" + ], + "110.0.5481.52": [ + "23.0.0-beta.6", + "23.0.0-beta.8" + ], + "109.0.5382.0": [ + "23.0.0-nightly.20221027", + "23.0.0-nightly.20221028", + "23.0.0-nightly.20221031", + "23.0.0-nightly.20221101", + "23.0.0-nightly.20221102", + "23.0.0-nightly.20221103", + "23.0.0-nightly.20221104", + "23.0.0-nightly.20221107", + "23.0.0-nightly.20221108", + "23.0.0-nightly.20221109", + "23.0.0-nightly.20221110", + "23.0.0-nightly.20221111", + "23.0.0-nightly.20221114", + "23.0.0-nightly.20221115", + "23.0.0-nightly.20221116", + "23.0.0-nightly.20221117" + ], + "110.0.5481.77": [ + "23.0.0" + ], + "110.0.5481.100": [ + "23.1.0" + ], + "110.0.5481.104": [ + "23.1.1" + ], + "110.0.5481.177": [ + "23.1.2" + ], + "110.0.5481.179": [ + "23.1.3" + ], + "110.0.5481.192": [ + "23.1.4", + "23.2.0" + ], + "110.0.5481.208": [ + "23.2.1", + "23.2.2", + "23.2.3", + "23.2.4", + "23.3.0", + "23.3.1", + "23.3.2", + "23.3.3", + "23.3.4", + "23.3.5", + "23.3.6", + "23.3.7", + "23.3.8", + "23.3.9", + "23.3.10", + "23.3.11", + "23.3.12", + "23.3.13" + ], + "111.0.5560.0": [ + "24.0.0-alpha.1", + "24.0.0-alpha.2", + "24.0.0-alpha.3", + "24.0.0-alpha.4", + "24.0.0-alpha.5", + "24.0.0-alpha.6", + "24.0.0-alpha.7", + "24.0.0-nightly.20230203", + "24.0.0-nightly.20230206", + "24.0.0-nightly.20230207", + "24.0.0-nightly.20230208", + "24.0.0-nightly.20230209", + "25.0.0-nightly.20230210", + "25.0.0-nightly.20230214", + "25.0.0-nightly.20230215", + "25.0.0-nightly.20230216", + "25.0.0-nightly.20230217", + "25.0.0-nightly.20230220", + "25.0.0-nightly.20230221", + "25.0.0-nightly.20230222", + "25.0.0-nightly.20230223", + "25.0.0-nightly.20230224", + "25.0.0-nightly.20230227", + "25.0.0-nightly.20230228", + "25.0.0-nightly.20230301", + "25.0.0-nightly.20230302", + "25.0.0-nightly.20230303", + "25.0.0-nightly.20230306", + "25.0.0-nightly.20230307", + "25.0.0-nightly.20230308", + "25.0.0-nightly.20230309", + "25.0.0-nightly.20230310" + ], + "111.0.5563.50": [ + "24.0.0-beta.1", + "24.0.0-beta.2" + ], + "112.0.5615.20": [ + "24.0.0-beta.3", + "24.0.0-beta.4" + ], + "112.0.5615.29": [ + "24.0.0-beta.5" + ], + "112.0.5615.39": [ + "24.0.0-beta.6", + "24.0.0-beta.7" + ], + "111.0.5518.0": [ + "24.0.0-nightly.20230109", + "24.0.0-nightly.20230110", + "24.0.0-nightly.20230111", + "24.0.0-nightly.20230112", + "24.0.0-nightly.20230113", + "24.0.0-nightly.20230116", + "24.0.0-nightly.20230117", + "24.0.0-nightly.20230118", + "24.0.0-nightly.20230119", + "24.0.0-nightly.20230120", + "24.0.0-nightly.20230123", + "24.0.0-nightly.20230124", + "24.0.0-nightly.20230125", + "24.0.0-nightly.20230126", + "24.0.0-nightly.20230127", + "24.0.0-nightly.20230131", + "24.0.0-nightly.20230201", + "24.0.0-nightly.20230202" + ], + "112.0.5615.49": [ + "24.0.0" + ], + "112.0.5615.50": [ + "24.1.0", + "24.1.1" + ], + "112.0.5615.87": [ + "24.1.2" + ], + "112.0.5615.165": [ + "24.1.3", + "24.2.0", + "24.3.0" + ], + "112.0.5615.183": [ + "24.3.1" + ], + "112.0.5615.204": [ + "24.4.0", + "24.4.1", + "24.5.0", + "24.5.1", + "24.6.0", + "24.6.1", + "24.6.2", + "24.6.3", + "24.6.4", + "24.6.5", + "24.7.0", + "24.7.1", + "24.8.0", + "24.8.1", + "24.8.2", + "24.8.3", + "24.8.4", + "24.8.5", + "24.8.6", + "24.8.7", + "24.8.8" + ], + "114.0.5694.0": [ + "25.0.0-alpha.1", + "25.0.0-alpha.2", + "25.0.0-nightly.20230405", + "26.0.0-nightly.20230406", + "26.0.0-nightly.20230407", + "26.0.0-nightly.20230410", + "26.0.0-nightly.20230411" + ], + "114.0.5710.0": [ + "25.0.0-alpha.3", + "25.0.0-alpha.4", + "26.0.0-nightly.20230413", + "26.0.0-nightly.20230414", + "26.0.0-nightly.20230417" + ], + "114.0.5719.0": [ + "25.0.0-alpha.5", + "25.0.0-alpha.6", + "25.0.0-beta.1", + "25.0.0-beta.2", + "25.0.0-beta.3", + "26.0.0-nightly.20230421", + "26.0.0-nightly.20230424", + "26.0.0-nightly.20230425", + "26.0.0-nightly.20230426", + "26.0.0-nightly.20230427", + "26.0.0-nightly.20230428", + "26.0.0-nightly.20230501", + "26.0.0-nightly.20230502", + "26.0.0-nightly.20230503", + "26.0.0-nightly.20230504", + "26.0.0-nightly.20230505", + "26.0.0-nightly.20230508", + "26.0.0-nightly.20230509", + "26.0.0-nightly.20230510" + ], + "114.0.5735.16": [ + "25.0.0-beta.4", + "25.0.0-beta.5", + "25.0.0-beta.6", + "25.0.0-beta.7" + ], + "114.0.5735.35": [ + "25.0.0-beta.8" + ], + "114.0.5735.45": [ + "25.0.0-beta.9", + "25.0.0", + "25.0.1" + ], + "113.0.5636.0": [ + "25.0.0-nightly.20230314" + ], + "113.0.5651.0": [ + "25.0.0-nightly.20230315" + ], + "113.0.5653.0": [ + "25.0.0-nightly.20230317" + ], + "113.0.5660.0": [ + "25.0.0-nightly.20230320" + ], + "113.0.5664.0": [ + "25.0.0-nightly.20230321" + ], + "113.0.5666.0": [ + "25.0.0-nightly.20230322" + ], + "113.0.5668.0": [ + "25.0.0-nightly.20230323" + ], + "113.0.5670.0": [ + "25.0.0-nightly.20230324", + "25.0.0-nightly.20230327", + "25.0.0-nightly.20230328", + "25.0.0-nightly.20230329", + "25.0.0-nightly.20230330" + ], + "114.0.5684.0": [ + "25.0.0-nightly.20230331", + "25.0.0-nightly.20230403" + ], + "114.0.5692.0": [ + "25.0.0-nightly.20230404" + ], + "114.0.5735.106": [ + "25.1.0", + "25.1.1" + ], + "114.0.5735.134": [ + "25.2.0" + ], + "114.0.5735.199": [ + "25.3.0" + ], + "114.0.5735.243": [ + "25.3.1" + ], + "114.0.5735.248": [ + "25.3.2", + "25.4.0" + ], + "114.0.5735.289": [ + "25.5.0", + "25.6.0", + "25.7.0", + "25.8.0", + "25.8.1", + "25.8.2", + "25.8.3", + "25.8.4", + "25.9.0", + "25.9.1", + "25.9.2", + "25.9.3", + "25.9.4", + "25.9.5", + "25.9.6", + "25.9.7", + "25.9.8" + ], + "116.0.5791.0": [ + "26.0.0-alpha.1", + "26.0.0-alpha.2", + "26.0.0-alpha.3", + "26.0.0-alpha.4", + "26.0.0-alpha.5", + "26.0.0-nightly.20230526", + "26.0.0-nightly.20230529", + "26.0.0-nightly.20230530", + "26.0.0-nightly.20230531", + "27.0.0-nightly.20230601", + "27.0.0-nightly.20230602", + "27.0.0-nightly.20230605", + "27.0.0-nightly.20230606", + "27.0.0-nightly.20230607", + "27.0.0-nightly.20230609" + ], + "116.0.5815.0": [ + "26.0.0-alpha.6", + "27.0.0-nightly.20230612", + "27.0.0-nightly.20230613" + ], + "116.0.5831.0": [ + "26.0.0-alpha.7", + "27.0.0-nightly.20230615" + ], + "116.0.5845.0": [ + "26.0.0-alpha.8", + "26.0.0-beta.1", + "27.0.0-nightly.20230622", + "27.0.0-nightly.20230623", + "27.0.0-nightly.20230626", + "27.0.0-nightly.20230627", + "27.0.0-nightly.20230628", + "27.0.0-nightly.20230629", + "27.0.0-nightly.20230630" + ], + "116.0.5845.14": [ + "26.0.0-beta.2", + "26.0.0-beta.3", + "26.0.0-beta.4", + "26.0.0-beta.5", + "26.0.0-beta.6", + "26.0.0-beta.7" + ], + "116.0.5845.42": [ + "26.0.0-beta.8", + "26.0.0-beta.9" + ], + "116.0.5845.49": [ + "26.0.0-beta.10", + "26.0.0-beta.11" + ], + "116.0.5845.62": [ + "26.0.0-beta.12" + ], + "114.0.5708.0": [ + "26.0.0-nightly.20230412" + ], + "114.0.5715.0": [ + "26.0.0-nightly.20230418" + ], + "115.0.5760.0": [ + "26.0.0-nightly.20230511", + "26.0.0-nightly.20230512", + "26.0.0-nightly.20230515", + "26.0.0-nightly.20230516", + "26.0.0-nightly.20230517", + "26.0.0-nightly.20230518", + "26.0.0-nightly.20230519", + "26.0.0-nightly.20230522", + "26.0.0-nightly.20230523" + ], + "115.0.5786.0": [ + "26.0.0-nightly.20230524" + ], + "115.0.5790.0": [ + "26.0.0-nightly.20230525" + ], + "116.0.5845.82": [ + "26.0.0" + ], + "116.0.5845.97": [ + "26.1.0" + ], + "116.0.5845.179": [ + "26.2.0" + ], + "116.0.5845.188": [ + "26.2.1" + ], + "116.0.5845.190": [ + "26.2.2", + "26.2.3", + "26.2.4" + ], + "116.0.5845.228": [ + "26.3.0", + "26.4.0", + "26.4.1", + "26.4.2", + "26.4.3", + "26.5.0", + "26.6.0", + "26.6.1", + "26.6.2", + "26.6.3", + "26.6.4", + "26.6.5", + "26.6.6", + "26.6.7", + "26.6.8", + "26.6.9" + ], + "118.0.5949.0": [ + "27.0.0-alpha.1", + "27.0.0-alpha.2", + "27.0.0-alpha.3", + "27.0.0-alpha.4", + "27.0.0-alpha.5", + "27.0.0-alpha.6", + "27.0.0-nightly.20230816", + "28.0.0-nightly.20230817", + "28.0.0-nightly.20230818", + "28.0.0-nightly.20230821", + "28.0.0-nightly.20230822", + "28.0.0-nightly.20230823", + "28.0.0-nightly.20230824", + "28.0.0-nightly.20230825", + "28.0.0-nightly.20230828", + "28.0.0-nightly.20230829", + "28.0.0-nightly.20230830", + "28.0.0-nightly.20230831" + ], + "118.0.5993.5": [ + "27.0.0-beta.1", + "27.0.0-beta.2", + "27.0.0-beta.3" + ], + "118.0.5993.11": [ + "27.0.0-beta.4" + ], + "118.0.5993.18": [ + "27.0.0-beta.5", + "27.0.0-beta.6", + "27.0.0-beta.7", + "27.0.0-beta.8", + "27.0.0-beta.9" + ], + "116.0.5829.0": [ + "27.0.0-nightly.20230614" + ], + "116.0.5833.0": [ + "27.0.0-nightly.20230616", + "27.0.0-nightly.20230619", + "27.0.0-nightly.20230620", + "27.0.0-nightly.20230621" + ], + "117.0.5852.0": [ + "27.0.0-nightly.20230703", + "27.0.0-nightly.20230704", + "27.0.0-nightly.20230705", + "27.0.0-nightly.20230706", + "27.0.0-nightly.20230707", + "27.0.0-nightly.20230710", + "27.0.0-nightly.20230711", + "27.0.0-nightly.20230712", + "27.0.0-nightly.20230713", + "27.0.0-nightly.20230714" + ], + "117.0.5884.1": [ + "27.0.0-nightly.20230717", + "27.0.0-nightly.20230718" + ], + "117.0.5892.0": [ + "27.0.0-nightly.20230719" + ], + "117.0.5897.0": [ + "27.0.0-nightly.20230720", + "27.0.0-nightly.20230721", + "27.0.0-nightly.20230724", + "27.0.0-nightly.20230725", + "27.0.0-nightly.20230726", + "27.0.0-nightly.20230727", + "27.0.0-nightly.20230728", + "27.0.0-nightly.20230731" + ], + "117.0.5911.0": [ + "27.0.0-nightly.20230801", + "27.0.0-nightly.20230802", + "27.0.0-nightly.20230803" + ], + "117.0.5921.0": [ + "27.0.0-nightly.20230804", + "27.0.0-nightly.20230807", + "27.0.0-nightly.20230808", + "27.0.0-nightly.20230814", + "27.0.0-nightly.20230815" + ], + "118.0.5993.54": [ + "27.0.0" + ], + "118.0.5993.89": [ + "27.0.1", + "27.0.2" + ], + "118.0.5993.120": [ + "27.0.3" + ], + "118.0.5993.129": [ + "27.0.4" + ], + "118.0.5993.144": [ + "27.1.0", + "27.1.2" + ], + "118.0.5993.159": [ + "27.1.3", + "27.2.0", + "27.2.1", + "27.2.2", + "27.2.3", + "27.2.4", + "27.3.0", + "27.3.1", + "27.3.2" + ], + "119.0.6045.0": [ + "28.0.0-alpha.1", + "28.0.0-alpha.2", + "28.0.0-nightly.20231006", + "28.0.0-nightly.20231009", + "28.0.0-nightly.20231010", + "28.0.0-nightly.20231011", + "29.0.0-nightly.20231012", + "29.0.0-nightly.20231013", + "29.0.0-nightly.20231016", + "29.0.0-nightly.20231017", + "29.0.0-nightly.20231018", + "29.0.0-nightly.20231019", + "29.0.0-nightly.20231020", + "29.0.0-nightly.20231023", + "29.0.0-nightly.20231024" + ], + "119.0.6045.21": [ + "28.0.0-alpha.3", + "28.0.0-alpha.4" + ], + "119.0.6045.33": [ + "28.0.0-alpha.5", + "28.0.0-alpha.6", + "28.0.0-alpha.7", + "28.0.0-beta.1" + ], + "120.0.6099.0": [ + "28.0.0-beta.2" + ], + "120.0.6099.5": [ + "28.0.0-beta.3", + "28.0.0-beta.4" + ], + "120.0.6099.18": [ + "28.0.0-beta.5", + "28.0.0-beta.6", + "28.0.0-beta.7", + "28.0.0-beta.8", + "28.0.0-beta.9", + "28.0.0-beta.10" + ], + "120.0.6099.35": [ + "28.0.0-beta.11" + ], + "118.0.5991.0": [ + "28.0.0-nightly.20230906" + ], + "118.0.5993.0": [ + "28.0.0-nightly.20230907", + "28.0.0-nightly.20230908", + "28.0.0-nightly.20230911", + "28.0.0-nightly.20230912", + "28.0.0-nightly.20230913", + "28.0.0-nightly.20230914", + "28.0.0-nightly.20230915" + ], + "119.0.6006.0": [ + "28.0.0-nightly.20230919" + ], + "119.0.6017.0": [ + "28.0.0-nightly.20230920" + ], + "119.0.6019.2": [ + "28.0.0-nightly.20230921", + "28.0.0-nightly.20230925", + "28.0.0-nightly.20230926", + "28.0.0-nightly.20230927", + "28.0.0-nightly.20230928" + ], + "119.0.6029.0": [ + "28.0.0-nightly.20230929", + "28.0.0-nightly.20231002" + ], + "119.0.6043.0": [ + "28.0.0-nightly.20231003", + "28.0.0-nightly.20231004", + "28.0.0-nightly.20231005" + ], + "120.0.6099.56": [ + "28.0.0" + ], + "120.0.6099.109": [ + "28.1.0", + "28.1.1" + ], + "120.0.6099.199": [ + "28.1.2", + "28.1.3" + ], + "120.0.6099.216": [ + "28.1.4" + ], + "120.0.6099.227": [ + "28.2.0" + ], + "120.0.6099.268": [ + "28.2.1" + ], + "120.0.6099.276": [ + "28.2.2" + ], + "120.0.6099.283": [ + "28.2.3" + ], + "121.0.6147.0": [ + "29.0.0-alpha.1", + "29.0.0-alpha.2", + "29.0.0-alpha.3", + "29.0.0-nightly.20231129", + "29.0.0-nightly.20231130", + "29.0.0-nightly.20231201", + "29.0.0-nightly.20231204", + "29.0.0-nightly.20231205", + "29.0.0-nightly.20231206", + "30.0.0-nightly.20231207", + "30.0.0-nightly.20231208", + "30.0.0-nightly.20231211" + ], + "121.0.6159.0": [ + "29.0.0-alpha.4", + "29.0.0-alpha.5", + "29.0.0-alpha.6", + "29.0.0-alpha.7", + "30.0.0-nightly.20231212", + "30.0.0-nightly.20231213", + "30.0.0-nightly.20231214", + "30.0.0-nightly.20231215", + "30.0.0-nightly.20231218", + "30.0.0-nightly.20240102" + ], + "122.0.6194.0": [ + "29.0.0-alpha.8", + "30.0.0-nightly.20240103", + "30.0.0-nightly.20240104", + "30.0.0-nightly.20240105", + "30.0.0-nightly.20240108", + "30.0.0-nightly.20240109", + "30.0.0-nightly.20240110" + ], + "122.0.6236.2": [ + "29.0.0-alpha.9", + "29.0.0-alpha.10", + "29.0.0-alpha.11", + "29.0.0-beta.1", + "29.0.0-beta.2", + "30.0.0-nightly.20240111", + "30.0.0-nightly.20240112", + "30.0.0-nightly.20240115", + "30.0.0-nightly.20240116", + "30.0.0-nightly.20240117", + "30.0.0-nightly.20240118", + "30.0.0-nightly.20240119", + "30.0.0-nightly.20240122", + "30.0.0-nightly.20240123", + "30.0.0-nightly.20240124", + "30.0.0-nightly.20240125" + ], + "122.0.6261.6": [ + "29.0.0-beta.3", + "29.0.0-beta.4" + ], + "122.0.6261.18": [ + "29.0.0-beta.5", + "29.0.0-beta.6", + "29.0.0-beta.7", + "29.0.0-beta.8", + "29.0.0-beta.9", + "29.0.0-beta.10", + "29.0.0-beta.11" + ], + "120.0.6078.0": [ + "29.0.0-nightly.20231025", + "29.0.0-nightly.20231026", + "29.0.0-nightly.20231027", + "29.0.0-nightly.20231030", + "29.0.0-nightly.20231031", + "29.0.0-nightly.20231101" + ], + "121.0.6100.0": [ + "29.0.0-nightly.20231102", + "29.0.0-nightly.20231103" + ], + "121.0.6104.0": [ + "29.0.0-nightly.20231106" + ], + "121.0.6110.0": [ + "29.0.0-nightly.20231107", + "29.0.0-nightly.20231108", + "29.0.0-nightly.20231109", + "29.0.0-nightly.20231110", + "29.0.0-nightly.20231113", + "29.0.0-nightly.20231114" + ], + "121.0.6116.0": [ + "29.0.0-nightly.20231115", + "29.0.0-nightly.20231116", + "29.0.0-nightly.20231117", + "29.0.0-nightly.20231120", + "29.0.0-nightly.20231121", + "29.0.0-nightly.20231122", + "29.0.0-nightly.20231123", + "29.0.0-nightly.20231124", + "29.0.0-nightly.20231127", + "29.0.0-nightly.20231128" + ], + "123.0.6264.0": [ + "30.0.0-nightly.20240126", + "30.0.0-nightly.20240129", + "30.0.0-nightly.20240130", + "30.0.0-nightly.20240131" + ], + "123.0.6272.0": [ + "30.0.0-nightly.20240201", + "30.0.0-nightly.20240202", + "30.0.0-nightly.20240205", + "30.0.0-nightly.20240206", + "30.0.0-nightly.20240207", + "30.0.0-nightly.20240208", + "30.0.0-nightly.20240209", + "30.0.0-nightly.20240212", + "30.0.0-nightly.20240213", + "30.0.0-nightly.20240214" + ] +}; \ No newline at end of file diff --git a/.pnpm-store/v3/files/a2/5acaa6a0fdc25932a3ad58e3e144ec0a6adef23745e449a01155ff4465c0820c967e4a7b40b34c76757f4a8f8cf762ace5f790ac87b89fea2a6b7527b64eec b/.pnpm-store/v3/files/a2/5acaa6a0fdc25932a3ad58e3e144ec0a6adef23745e449a01155ff4465c0820c967e4a7b40b34c76757f4a8f8cf762ace5f790ac87b89fea2a6b7527b64eec new file mode 100644 index 00000000..aabaebe2 --- /dev/null +++ b/.pnpm-store/v3/files/a2/5acaa6a0fdc25932a3ad58e3e144ec0a6adef23745e449a01155ff4465c0820c967e4a7b40b34c76757f4a8f8cf762ace5f790ac87b89fea2a6b7527b64eec @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"SC","8":"J D E F A","164":"B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","513":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","8":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB VC WC","66":"JB KB"},D:{"1":"0 1 2 3 4 5 6 7 8 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","8":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","8":"9 I J D XC DC YC ZC","289":"E F A aC bC EC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","8":"F B C G M N O AB q r s t iC jC kC lC 2B QC mC 3B"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","8":"DC nC RC oC pC qC","289":"E rC sC tC uC vC"},H:{"2":"9C"},I:{"1":"H","8":"7B I AD BD CD DD RC ED FD"},J:{"8":"D A"},K:{"1":"u","8":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"8":"A","164":"B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"Web Cryptography",D:true}; diff --git a/.pnpm-store/v3/files/a2/c288e4464c0c1e93f51a1c95949d8320c6110d6352be363f8d4027efd618e227ac793ab8d4b8eeb09e20ffea8410d2fb518b2148cd10df2bb3bc392df73e7a b/.pnpm-store/v3/files/a2/c288e4464c0c1e93f51a1c95949d8320c6110d6352be363f8d4027efd618e227ac793ab8d4b8eeb09e20ffea8410d2fb518b2148cd10df2bb3bc392df73e7a new file mode 100644 index 00000000..b449b84e --- /dev/null +++ b/.pnpm-store/v3/files/a2/c288e4464c0c1e93f51a1c95949d8320c6110d6352be363f8d4027efd618e227ac793ab8d4b8eeb09e20ffea8410d2fb518b2148cd10df2bb3bc392df73e7a @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E SC","36":"F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","36":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC","36":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB WC"},D:{"1":"0 1 2 3 4 5 6 7 8 LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","36":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB"},E:{"1":"E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","36":"9 J D YC ZC"},F:{"1":"r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B iC jC kC lC 2B","36":"C G M N O AB q QC mC 3B"},G:{"1":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC","36":"nC RC oC pC qC"},H:{"2":"9C"},I:{"1":"H","2":"AD","36":"7B I BD CD DD RC ED FD"},J:{"36":"D A"},K:{"1":"u","2":"A B","36":"C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"36":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","36":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"matches() DOM method",D:true}; diff --git a/.pnpm-store/v3/files/a2/cd8f963a1afe29460a248c7b9e6a7dd89dc088bf8fde10b2b40cbb8bd2d53c5303d0bf8ad62a38be0c209ee7966163e9eee3e2180f1bce63d4864ab84c9602 b/.pnpm-store/v3/files/a2/cd8f963a1afe29460a248c7b9e6a7dd89dc088bf8fde10b2b40cbb8bd2d53c5303d0bf8ad62a38be0c209ee7966163e9eee3e2180f1bce63d4864ab84c9602 new file mode 100644 index 00000000..faee7abf --- /dev/null +++ b/.pnpm-store/v3/files/a2/cd8f963a1afe29460a248c7b9e6a7dd89dc088bf8fde10b2b40cbb8bd2d53c5303d0bf8ad62a38be0c209ee7966163e9eee3e2180f1bce63d4864ab84c9602 @@ -0,0 +1,57 @@ +{ + "name": "micromark-util-character", + "version": "2.1.0", + "description": "micromark utility to handle character codes", + "license": "MIT", + "keywords": [ + "micromark", + "util", + "utility", + "character" + ], + "repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-character", + "bugs": "https://github.com/micromark/micromark/issues", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "files": [ + "dev/", + "lib/", + "index.d.ts.map", + "index.d.ts", + "index.js" + ], + "exports": { + "development": "./dev/index.js", + "default": "./index.js" + }, + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "scripts": { + "build": "micromark-build" + }, + "xo": { + "envs": [ + "shared-node-browser" + ], + "prettier": true, + "rules": { + "unicorn/prefer-code-point": "off" + } + } +} diff --git a/.pnpm-store/v3/files/a3/0f82d9f8135ce7a051edd2fbe3436c2ff019d298a2fb955cde1bd11ea589bb3681ae1a2c6d4f3b9af3a035dd4db6909ae915dfd5a8bfa9109212701d5d80ad b/.pnpm-store/v3/files/a3/0f82d9f8135ce7a051edd2fbe3436c2ff019d298a2fb955cde1bd11ea589bb3681ae1a2c6d4f3b9af3a035dd4db6909ae915dfd5a8bfa9109212701d5d80ad new file mode 100644 index 00000000..829c5b0a --- /dev/null +++ b/.pnpm-store/v3/files/a3/0f82d9f8135ce7a051edd2fbe3436c2ff019d298a2fb955cde1bd11ea589bb3681ae1a2c6d4f3b9af3a035dd4db6909ae915dfd5a8bfa9109212701d5d80ad @@ -0,0 +1 @@ +module.exports={C:{"34":0.00187,"52":0.00187,"57":0.00561,"66":0.00187,"67":0.00187,"68":0.00187,"72":0.00374,"78":0.00374,"79":0.00374,"95":0.00187,"96":0.00187,"99":0.00374,"100":0.00187,"108":0.00187,"109":0.00561,"112":0.00187,"113":0.00374,"114":0.00374,"115":0.14407,"116":0.00374,"117":0.00374,"118":0.00187,"119":0.00561,"120":0.05052,"121":0.6324,"122":0.13471,"123":0.00187,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 58 59 60 61 62 63 64 65 69 70 71 73 74 75 76 77 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 97 98 101 102 103 104 105 106 107 110 111 124 125 3.5 3.6"},D:{"11":0.00187,"31":0.00187,"33":0.00187,"37":0.00187,"38":0.00187,"47":0.00748,"49":0.00561,"50":0.00374,"56":0.00374,"58":0.00374,"59":0.00187,"64":0.0131,"65":0.01123,"66":0.00187,"68":0.00374,"69":0.00374,"70":0.03555,"72":0.00187,"73":0.00561,"74":0.00748,"75":0.00374,"76":0.00936,"77":0.00374,"78":0.00187,"79":0.04116,"80":0.00936,"81":0.02245,"83":0.01123,"84":0.00187,"85":0.00561,"86":0.00187,"87":0.11226,"88":0.03368,"89":0.00374,"90":0.00561,"91":0.05613,"92":0.00374,"93":0.0131,"94":0.01123,"95":0.02058,"96":0.00374,"97":0.00748,"98":0.00187,"99":0.02432,"100":0.00561,"101":0.01871,"102":0.0131,"103":0.05613,"104":0.02807,"105":0.02432,"106":0.01497,"107":0.02619,"108":0.01684,"109":1.69887,"110":0.00748,"111":0.01123,"112":0.00561,"113":0.00748,"114":0.02245,"115":0.01497,"116":0.04303,"117":0.03368,"118":0.04303,"119":0.20207,"120":7.20335,"121":0.57066,"122":0.00187,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 34 35 36 39 40 41 42 43 44 45 46 48 51 52 53 54 55 57 60 61 62 63 67 71 123 124"},F:{"46":0.00187,"79":0.00187,"95":0.03929,"102":0.00561,"105":0.11226,"106":0.3742,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00187,"14":0.00187,"16":0.00187,"17":0.00187,"18":0.01123,"84":0.00561,"85":0.00187,"89":0.00374,"90":0.00187,"92":0.02432,"100":0.00187,"104":0.00187,"109":0.01871,"110":0.00374,"112":0.00561,"113":0.00187,"114":0.00374,"115":0.00187,"116":0.00374,"117":0.01123,"118":0.00936,"119":0.02994,"120":1.64274,"121":0.21329,_:"13 15 79 80 81 83 86 87 88 91 93 94 95 96 97 98 99 101 102 103 105 106 107 108 111"},E:{"14":0.00561,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 16.0 17.4","5.1":0.00187,"12.1":0.00187,"13.1":0.01497,"14.1":0.00748,"15.4":0.00561,"15.5":0.00374,"15.6":0.02994,"16.1":0.00187,"16.2":0.00187,"16.3":0.00748,"16.4":0.00374,"16.5":0.00561,"16.6":0.02245,"17.0":0.02807,"17.1":0.03368,"17.2":0.0711,"17.3":0.00374},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00398,"5.0-5.1":0.00597,"6.0-6.1":0.00995,"7.0-7.1":0.01393,"8.1-8.4":0.00199,"9.0-9.2":0.01194,"9.3":0.04577,"10.0-10.2":0.00398,"10.3":0.07164,"11.0-11.2":0.02786,"11.3-11.4":0.02985,"12.0-12.1":0.01791,"12.2-12.5":0.35422,"13.0-13.1":0.00597,"13.2":0.06567,"13.3":0.01791,"13.4-13.7":0.0796,"14.0-14.4":0.1393,"14.5-14.8":0.21293,"15.0-15.1":0.09154,"15.2-15.3":0.10547,"15.4":0.12338,"15.5":0.16318,"15.6-15.8":1.2716,"16.0":0.38208,"16.1":0.8139,"16.2":0.37014,"16.3":0.68853,"16.4":0.15323,"16.5":0.32636,"16.6-16.7":2.67055,"17.0":0.44377,"17.1":4.57496,"17.2":6.19282,"17.3":0.398},P:{"4":0.03039,"20":0.03039,"21":0.07092,"22":0.10131,"23":0.69903,_:"5.0-5.4 8.2 10.1 12.0 15.0","6.2-6.4":0.01013,"7.2-7.4":0.1317,"9.2":0.04052,"11.1-11.2":0.03039,"13.0":0.02026,"14.0":0.01013,"16.0":0.08105,"17.0":0.01013,"18.0":0.02026,"19.0":0.07092},I:{"0":0.02428,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"11":0.00561,_:"6 7 8 9 10 5.5"},K:{"0":0.58296,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00813,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.01626},O:{"0":0.06503},H:{"0":0.36},L:{"0":62.80616},R:{_:"0"},M:{"0":0.08942}}; diff --git a/.pnpm-store/v3/files/a3/2e2c2c05a3454d618c0fbdd02a882cf3ad290ad849283e62ec79ea382f44298cde9feae7fd5eb750bea176930a3f678d6954254fd6a877e0d31e3f1d8773ff b/.pnpm-store/v3/files/a3/2e2c2c05a3454d618c0fbdd02a882cf3ad290ad849283e62ec79ea382f44298cde9feae7fd5eb750bea176930a3f678d6954254fd6a877e0d31e3f1d8773ff new file mode 100644 index 00000000..243e30a8 --- /dev/null +++ b/.pnpm-store/v3/files/a3/2e2c2c05a3454d618c0fbdd02a882cf3ad290ad849283e62ec79ea382f44298cde9feae7fd5eb750bea176930a3f678d6954254fd6a877e0d31e3f1d8773ff @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M VC WC","4":"N O AB q r s t BB CB DB EB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC"},H:{"2":"9C"},I:{"1":"7B I H BD CD DD RC ED FD","2":"AD"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"sandbox attribute for iframes",D:true}; diff --git a/.pnpm-store/v3/files/a3/3594e9cb8686fd5245f165d584f17b35ddf260e595a42706cad4b0e7d05e7aebb4d05cac1f00a2d6a01896fbaed3434c709384eefe7a0534820024672355f9 b/.pnpm-store/v3/files/a3/3594e9cb8686fd5245f165d584f17b35ddf260e595a42706cad4b0e7d05e7aebb4d05cac1f00a2d6a01896fbaed3434c709384eefe7a0534820024672355f9 new file mode 100644 index 00000000..c6fb3f63 --- /dev/null +++ b/.pnpm-store/v3/files/a3/3594e9cb8686fd5245f165d584f17b35ddf260e595a42706cad4b0e7d05e7aebb4d05cac1f00a2d6a01896fbaed3434c709384eefe7a0534820024672355f9 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00451,"47":0.00451,"52":0.01806,"56":0.00451,"60":0.01354,"62":0.00903,"63":0.00451,"64":0.00451,"68":0.01354,"72":0.00451,"93":0.04063,"97":0.00451,"99":0.07674,"101":0.00451,"115":0.48751,"118":0.00451,"120":0.01806,"121":0.92086,"122":0.34758,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 57 58 59 61 65 66 67 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 94 95 96 98 100 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 119 123 124 125 3.5 3.6"},D:{"33":0.00903,"38":0.01354,"52":0.01806,"53":0.00903,"72":0.09931,"73":0.01354,"77":0.00451,"79":0.0316,"81":0.00903,"83":0.00451,"86":0.00451,"87":0.00903,"88":0.00451,"89":0.00451,"90":0.01806,"92":0.00903,"93":0.00451,"94":0.00903,"97":0.00451,"98":0.00451,"99":0.00451,"100":0.00451,"101":0.0316,"102":0.00451,"103":0.02257,"104":0.00451,"105":0.00903,"106":0.00903,"107":0.00451,"108":0.00451,"109":1.77852,"111":0.00903,"113":0.04063,"114":0.07222,"115":0.00451,"116":0.0632,"117":0.00903,"118":0.08577,"119":0.09479,"120":9.511,"121":0.63196,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 74 75 76 78 80 84 85 91 95 96 110 112 122 123 124"},F:{"48":0.00903,"56":0.00903,"90":0.01354,"95":0.04063,"105":0.09028,"106":0.09931,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00451,"13":0.00451,"14":0.02257,"15":0.00451,"16":0.00451,"18":0.08577,"89":0.04514,"90":0.02257,"92":0.00903,"99":0.00451,"100":0.00451,"104":0.09028,"109":0.02708,"114":0.00451,"115":0.06771,"116":0.01354,"117":0.13091,"118":0.17153,"119":3.49835,"120":18.56608,"121":2.91604,_:"17 79 80 81 83 84 85 86 87 88 91 93 94 95 96 97 98 101 102 103 105 106 107 108 110 111 112 113"},E:{"14":0.00451,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 14.1 15.1 15.4 16.0 16.2 16.5 17.3 17.4","5.1":0.00451,"13.1":0.00451,"15.2-15.3":0.00451,"15.5":0.00903,"15.6":0.00451,"16.1":0.0316,"16.3":0.00451,"16.4":0.00903,"16.6":0.12188,"17.0":0.00451,"17.1":0.02708,"17.2":0.02257},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00233,"5.0-5.1":0.0035,"6.0-6.1":0.00584,"7.0-7.1":0.00817,"8.1-8.4":0.00117,"9.0-9.2":0.007,"9.3":0.02685,"10.0-10.2":0.00233,"10.3":0.04203,"11.0-11.2":0.01634,"11.3-11.4":0.01751,"12.0-12.1":0.01051,"12.2-12.5":0.2078,"13.0-13.1":0.0035,"13.2":0.03852,"13.3":0.01051,"13.4-13.7":0.0467,"14.0-14.4":0.08172,"14.5-14.8":0.12491,"15.0-15.1":0.0537,"15.2-15.3":0.06187,"15.4":0.07238,"15.5":0.09573,"15.6-15.8":0.74598,"16.0":0.22414,"16.1":0.47748,"16.2":0.21714,"16.3":0.40393,"16.4":0.08989,"16.5":0.19146,"16.6-16.7":1.56668,"17.0":0.26033,"17.1":2.6839,"17.2":3.63301,"17.3":0.23348},P:{"4":0.19574,"20":0.0206,"21":0.0103,"22":0.39147,"23":0.60782,"5.0-5.4":0.0206,_:"6.2-6.4 8.2 10.1 12.0 13.0 14.0 15.0","7.2-7.4":0.0103,"9.2":0.0206,"11.1-11.2":0.0103,"16.0":0.0103,"17.0":0.0103,"18.0":0.03091,"19.0":0.0103},I:{"0":0.02731,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"11":0.00451,_:"6 7 8 9 10 5.5"},K:{"0":0.39499,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":1.6074,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.03292},O:{"0":0.24138},H:{"0":0},L:{"0":43.46659},R:{_:"0"},M:{"0":0.04389}}; diff --git a/.pnpm-store/v3/files/a3/76dce48d0721cd3383ebe9af4bac370f716b441b2328e6c09e423716fe3f3b3fa95006443e175c84b49081a7b5fa7c000f1e90c5a6c57277ef11473bc881fa b/.pnpm-store/v3/files/a3/76dce48d0721cd3383ebe9af4bac370f716b441b2328e6c09e423716fe3f3b3fa95006443e175c84b49081a7b5fa7c000f1e90c5a6c57277ef11473bc881fa new file mode 100644 index 00000000..99c42623 --- /dev/null +++ b/.pnpm-store/v3/files/a3/76dce48d0721cd3383ebe9af4bac370f716b441b2328e6c09e423716fe3f3b3fa95006443e175c84b49081a7b5fa7c000f1e90c5a6c57277ef11473bc881fa @@ -0,0 +1,98 @@ +# Lilconfig ⚙️ +[![npm version](https://badge.fury.io/js/lilconfig.svg)](https://badge.fury.io/js/lilconfig) +[![install size](https://packagephobia.now.sh/badge?p=lilconfig)](https://packagephobia.now.sh/result?p=lilconfig) +[![Coverage Status](https://coveralls.io/repos/github/antonk52/lilconfig/badge.svg)](https://coveralls.io/github/antonk52/lilconfig) + +A zero-dependency alternative to [cosmiconfig](https://www.npmjs.com/package/cosmiconfig) with the same API. + +## Installation + +```sh +npm install lilconfig +``` + +## Usage + +```js +import {lilconfig, lilconfigSync} from 'lilconfig'; + +// all keys are optional +const options = { + stopDir: '/Users/you/some/dir', + searchPlaces: ['package.json', 'myapp.conf.js'], + ignoreEmptySearchPlaces: false +} + +lilconfig( + 'myapp', + options // optional +).search() // Promise + +lilconfigSync( + 'myapp', + options // optional +).load(pathToConfig) // LilconfigResult + +/** + * LilconfigResult + * { + * config: any; // your config + * filepath: string; + * } + */ +``` + +## ESM + +ESM configs can be loaded with **async API only**. Specifically `js` files in projects with `"type": "module"` in `package.json` or `mjs` files. + +## Difference to `cosmiconfig` +Lilconfig does not intend to be 100% compatible with `cosmiconfig` but tries to mimic it where possible. The key difference is **no** support for yaml files out of the box(`lilconfig` attempts to parse files with no extension as JSON instead of YAML). You can still add the support for YAML files by providing a loader, see an [example](#yaml-loader) below. + +### Options difference between the two. + +|cosmiconfig option | lilconfig | +|------------------------|-----------| +|cache | ✅ | +|loaders | ✅ | +|ignoreEmptySearchPlaces | ✅ | +|packageProp | ✅ | +|searchPlaces | ✅ | +|stopDir | ✅ | +|transform | ✅ | + +## Loaders examples + +### Yaml loader + +If you need the YAML support you can provide your own loader + +```js +import {lilconfig} from 'lilconfig'; +import yaml from 'yaml'; + +function loadYaml(filepath, content) { + return yaml.parse(content); +} + +const options = { + loaders: { + '.yaml': loadYaml, + '.yml': loadYaml, + // loader for files with no extension + noExt: loadYaml + } +}; + +lilconfig('myapp', options) + .search() + .then(result => { + result // {config, filepath} + }); +``` + +## Version correlation + +- lilconig v1 → cosmiconfig v6 +- lilconig v2 → cosmiconfig v7 +- lilconig v3 → cosmiconfig v8 diff --git a/.pnpm-store/v3/files/a3/7d8fffdb2e3636b0bb0411504c04a17405d893d4174955ea6389a19671471e4492951f398a7c24ad569d334a531bcf4adacdc4b7e19f80d9beafc9c180599a b/.pnpm-store/v3/files/a3/7d8fffdb2e3636b0bb0411504c04a17405d893d4174955ea6389a19671471e4492951f398a7c24ad569d334a531bcf4adacdc4b7e19f80d9beafc9c180599a new file mode 100644 index 00000000..74a9ed47 --- /dev/null +++ b/.pnpm-store/v3/files/a3/7d8fffdb2e3636b0bb0411504c04a17405d893d4174955ea6389a19671471e4492951f398a7c24ad569d334a531bcf4adacdc4b7e19f80d9beafc9c180599a @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"I"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","2":"F"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H DD RC ED FD","132":"AD BD CD"},J:{"1":"A","132":"D"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Email, telephone & URL input types",D:true}; diff --git a/.pnpm-store/v3/files/a4/2c83e2f716eb0bf6b0fbb3e719973a1ccc8955b725ce4deb16b4ef4dd4d85d233a8749ec6399cb97a60114d054a40183dcc81211edc6761b0f63e7a85d252c b/.pnpm-store/v3/files/a4/2c83e2f716eb0bf6b0fbb3e719973a1ccc8955b725ce4deb16b4ef4dd4d85d233a8749ec6399cb97a60114d054a40183dcc81211edc6761b0f63e7a85d252c new file mode 100644 index 00000000..5aaa39e0 --- /dev/null +++ b/.pnpm-store/v3/files/a4/2c83e2f716eb0bf6b0fbb3e719973a1ccc8955b725ce4deb16b4ef4dd4d85d233a8749ec6399cb97a60114d054a40183dcc81211edc6761b0f63e7a85d252c @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O P Q R S T","132":"0 1 2 3 4 5 6 7 8 U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T","132":"0 1 2 3 4 5 6 7 8 U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB iC jC kC lC 2B QC mC 3B","132":"uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED FD","132":"H"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","132":"u"},L:{"132":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"132":"SD"},S:{"2":"TD UD"}},B:7,C:"Document Policy",D:true}; diff --git a/.pnpm-store/v3/files/a4/9d4c765ae5b66c91d240f6078e1408d3915ed907736a5b772a41c2bcba8489476553a38a1ecc197adeaa84653baab4cc36d159d21e5f8d12325c4d54bc08a0 b/.pnpm-store/v3/files/a4/9d4c765ae5b66c91d240f6078e1408d3915ed907736a5b772a41c2bcba8489476553a38a1ecc197adeaa84653baab4cc36d159d21e5f8d12325c4d54bc08a0 new file mode 100644 index 00000000..fe98f22d --- /dev/null +++ b/.pnpm-store/v3/files/a4/9d4c765ae5b66c91d240f6078e1408d3915ed907736a5b772a41c2bcba8489476553a38a1ecc197adeaa84653baab4cc36d159d21e5f8d12325c4d54bc08a0 @@ -0,0 +1,317 @@ +# Release Notes + +## v5.2.0 + +[Commits](https://github.com/kpdecker/jsdiff/compare/v5.1.0...master) + +- [#411](https://github.com/kpdecker/jsdiff/pull/411) Big performance improvement. Previously an O(n) array-copying operation inside the innermost loop of jsdiff's base diffing code increased the overall worst-case time complexity of computing a diff from O(n²) to O(n³). This is now fixed, bringing the worst-case time complexity down to what it theoretically should be for a Myers diff implementation. +- [#448](https://github.com/kpdecker/jsdiff/pull/411) Performance improvement. Diagonals whose furthest-reaching D-path would go off the edge of the edit graph are now skipped, rather than being pointlessly considered as called for by the original Myers diff algorithm. This dramatically speeds up computing diffs where the new text just appends or truncates content at the end of the old text. +- [#351](https://github.com/kpdecker/jsdiff/issues/351) Importing from the lib folder - e.g. `require("diff/lib/diff/word.js")` - will work again now. This had been broken for users on the latest version of Node since Node 17.5.0, which changed how Node interprets the `exports` property in jsdiff's `package.json` file. +- [#344](https://github.com/kpdecker/jsdiff/issues/344) `diffLines`, `createTwoFilesPatch`, and other patch-creation methods now take an optional `stripTrailingCr: true` option which causes Windows-style `\r\n` line endings to be replaced with Unix-style `\n` line endings before calculating the diff, just like GNU `diff`'s `--strip-trailing-cr` flag. +- [#451](https://github.com/kpdecker/jsdiff/pull/451) Added `diff.formatPatch`. +- [#450](https://github.com/kpdecker/jsdiff/pull/450) Added `diff.reversePatch`. +- [#478](https://github.com/kpdecker/jsdiff/pull/478) Added `timeout` option. + +## v5.1.0 + +- [#365](https://github.com/kpdecker/jsdiff/issues/365) Allow early termination to limit execution time with degenerate cases + +[Commits](https://github.com/kpdecker/jsdiff/compare/v5.0.0...v5.1.0) + +## v5.0.0 + +- Breaking: UMD export renamed from `JsDiff` to `Diff`. +- Breaking: Newlines separated into separate tokens for word diff. +- Breaking: Unified diffs now match ["quirks"](https://www.artima.com/weblogs/viewpost.jsp?thread=164293) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v4.0.1...v5.0.0) + +## v4.0.1 - January 6th, 2019 + +- Fix main reference path - b826104 + +[Commits](https://github.com/kpdecker/jsdiff/compare/v4.0.0...v4.0.1) + +## v4.0.0 - January 5th, 2019 + +- [#94](https://github.com/kpdecker/jsdiff/issues/94) - Missing "No newline at end of file" when comparing two texts that do not end in newlines ([@federicotdn](https://api.github.com/users/federicotdn)) +- [#227](https://github.com/kpdecker/jsdiff/issues/227) - Licence +- [#199](https://github.com/kpdecker/jsdiff/issues/199) - Import statement for jsdiff +- [#159](https://github.com/kpdecker/jsdiff/issues/159) - applyPatch affecting wrong line number with with new lines +- [#8](https://github.com/kpdecker/jsdiff/issues/8) - A new state "replace" +- Drop ie9 from karma targets - 79c31bd +- Upgrade deps. Convert from webpack to rollup - 2c1a29c +- Make ()[]"' as word boundaries between each other - f27b899 +- jsdiff: Replaced phantomJS by chrome - ec3114e +- Add yarn.lock to .npmignore - 29466d8 + +Compatibility notes: + +- Bower and Component packages no longer supported + +[Commits](https://github.com/kpdecker/jsdiff/compare/v3.5.0...v4.0.0) + +## v3.5.0 - March 4th, 2018 + +- Omit redundant slice in join method of diffArrays - 1023590 +- Support patches with empty lines - fb0f208 +- Accept a custom JSON replacer function for JSON diffing - 69c7f0a +- Optimize parch header parser - 2aec429 +- Fix typos - e89c832 + +[Commits](https://github.com/kpdecker/jsdiff/compare/v3.4.0...v3.5.0) + +## v3.4.0 - October 7th, 2017 + +- [#183](https://github.com/kpdecker/jsdiff/issues/183) - Feature request: ability to specify a custom equality checker for `diffArrays` +- [#173](https://github.com/kpdecker/jsdiff/issues/173) - Bug: diffArrays gives wrong result on array of booleans +- [#158](https://github.com/kpdecker/jsdiff/issues/158) - diffArrays will not compare the empty string in array? +- comparator for custom equality checks - 30e141e +- count oldLines and newLines when there are conflicts - 53bf384 +- Fix: diffArrays can compare falsey items - 9e24284 +- Docs: Replace grunt with npm test - 00e2f94 + +[Commits](https://github.com/kpdecker/jsdiff/compare/v3.3.1...v3.4.0) + +## v3.3.1 - September 3rd, 2017 + +- [#141](https://github.com/kpdecker/jsdiff/issues/141) - Cannot apply patch because my file delimiter is "/r/n" instead of "/n" +- [#192](https://github.com/kpdecker/jsdiff/pull/192) - Fix: Bad merge when adding new files (#189) +- correct spelling mistake - 21fa478 + +[Commits](https://github.com/kpdecker/jsdiff/compare/v3.3.0...v3.3.1) + +## v3.3.0 - July 5th, 2017 + +- [#114](https://github.com/kpdecker/jsdiff/issues/114) - /patch/merge not exported +- Gracefully accept invalid newStart in hunks, same as patch(1) does. - d8a3635 +- Use regex rather than starts/ends with for parsePatch - 6cab62c +- Add browser flag - e64f674 +- refactor: simplified code a bit more - 8f8e0f2 +- refactor: simplified code a bit - b094a6f +- fix: some corrections re ignoreCase option - 3c78fd0 +- ignoreCase option - 3cbfbb5 +- Sanitize filename while parsing patches - 2fe8129 +- Added better installation methods - aced50b +- Simple export of functionality - 8690f31 + +[Commits](https://github.com/kpdecker/jsdiff/compare/v3.2.0...v3.3.0) + +## v3.2.0 - December 26th, 2016 + +- [#156](https://github.com/kpdecker/jsdiff/pull/156) - Add `undefinedReplacement` option to `diffJson` ([@ewnd9](https://api.github.com/users/ewnd9)) +- [#154](https://github.com/kpdecker/jsdiff/pull/154) - Add `examples` and `images` to `.npmignore`. ([@wtgtybhertgeghgtwtg](https://api.github.com/users/wtgtybhertgeghgtwtg)) +- [#153](https://github.com/kpdecker/jsdiff/pull/153) - feat(structuredPatch): Pass options to diffLines ([@Kiougar](https://api.github.com/users/Kiougar)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v3.1.0...v3.2.0) + +## v3.1.0 - November 27th, 2016 + +- [#146](https://github.com/kpdecker/jsdiff/pull/146) - JsDiff.diffArrays to compare arrays ([@wvanderdeijl](https://api.github.com/users/wvanderdeijl)) +- [#144](https://github.com/kpdecker/jsdiff/pull/144) - Split file using all possible line delimiter instead of hard-coded "/n" and join lines back using the original delimiters ([@soulbeing](https://api.github.com/users/soulbeing)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v3.0.1...v3.1.0) + +## v3.0.1 - October 9th, 2016 + +- [#139](https://github.com/kpdecker/jsdiff/pull/139) - Make README.md look nicer in npmjs.com ([@takenspc](https://api.github.com/users/takenspc)) +- [#135](https://github.com/kpdecker/jsdiff/issues/135) - parsePatch combines patches from multiple files into a single IUniDiff when there is no "Index" line ([@ramya-rao-a](https://api.github.com/users/ramya-rao-a)) +- [#124](https://github.com/kpdecker/jsdiff/issues/124) - IE7/IE8 failure since 2.0.0 ([@boneskull](https://api.github.com/users/boneskull)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v3.0.0...v3.0.1) + +## v3.0.0 - August 23rd, 2016 + +- [#130](https://github.com/kpdecker/jsdiff/pull/130) - Add callback argument to applyPatches `patched` option ([@piranna](https://api.github.com/users/piranna)) +- [#120](https://github.com/kpdecker/jsdiff/pull/120) - Correctly handle file names containing spaces ([@adius](https://api.github.com/users/adius)) +- [#119](https://github.com/kpdecker/jsdiff/pull/119) - Do single reflow ([@wifiextender](https://api.github.com/users/wifiextender)) +- [#117](https://github.com/kpdecker/jsdiff/pull/117) - Make more usable with long strings. ([@abnbgist](https://api.github.com/users/abnbgist)) + +Compatibility notes: + +- applyPatches patch callback now is async and requires the callback be called to continue operation + +[Commits](https://github.com/kpdecker/jsdiff/compare/v2.2.3...v3.0.0) + +## v2.2.3 - May 31st, 2016 + +- [#118](https://github.com/kpdecker/jsdiff/pull/118) - Add a fix for applying 0-length destination patches ([@chaaz](https://api.github.com/users/chaaz)) +- [#115](https://github.com/kpdecker/jsdiff/pull/115) - Fixed grammar in README ([@krizalys](https://api.github.com/users/krizalys)) +- [#113](https://github.com/kpdecker/jsdiff/pull/113) - fix typo ([@vmazare](https://api.github.com/users/vmazare)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v2.2.2...v2.2.3) + +## v2.2.2 - March 13th, 2016 + +- [#102](https://github.com/kpdecker/jsdiff/issues/102) - diffJson with dates, returns empty curly braces ([@dr-dimitru](https://api.github.com/users/dr-dimitru)) +- [#97](https://github.com/kpdecker/jsdiff/issues/97) - Whitespaces & diffWords ([@faiwer](https://api.github.com/users/faiwer)) +- [#92](https://github.com/kpdecker/jsdiff/pull/92) - Fixes typo in the readme ([@bg451](https://api.github.com/users/bg451)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v2.2.1...v2.2.2) + +## v2.2.1 - November 12th, 2015 + +- [#89](https://github.com/kpdecker/jsdiff/pull/89) - add in display selector to readme ([@FranDias](https://api.github.com/users/FranDias)) +- [#88](https://github.com/kpdecker/jsdiff/pull/88) - Split diffs based on file headers instead of 'Index:' metadata ([@piranna](https://api.github.com/users/piranna)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v2.2.0...v2.2.1) + +## v2.2.0 - October 29th, 2015 + +- [#80](https://github.com/kpdecker/jsdiff/pull/80) - Fix a typo: applyPath -> applyPatch ([@fluxxu](https://api.github.com/users/fluxxu)) +- [#83](https://github.com/kpdecker/jsdiff/pull/83) - Add basic fuzzy matching to applyPatch ([@piranna](https://github.com/piranna)) + [Commits](https://github.com/kpdecker/jsdiff/compare/v2.2.0...v2.2.0) + +## v2.2.0 - October 29th, 2015 + +- [#80](https://github.com/kpdecker/jsdiff/pull/80) - Fix a typo: applyPath -> applyPatch ([@fluxxu](https://api.github.com/users/fluxxu)) +- [#83](https://github.com/kpdecker/jsdiff/pull/83) - Add basic fuzzy matching to applyPatch ([@piranna](https://github.com/piranna)) + [Commits](https://github.com/kpdecker/jsdiff/compare/v2.1.3...v2.2.0) + +## v2.1.3 - September 30th, 2015 + +- [#78](https://github.com/kpdecker/jsdiff/pull/78) - fix: error throwing when apply patch to empty string ([@21paradox](https://api.github.com/users/21paradox)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v2.1.2...v2.1.3) + +## v2.1.2 - September 23rd, 2015 + +- [#76](https://github.com/kpdecker/jsdiff/issues/76) - diff headers give error ([@piranna](https://api.github.com/users/piranna)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v2.1.1...v2.1.2) + +## v2.1.1 - September 9th, 2015 + +- [#73](https://github.com/kpdecker/jsdiff/issues/73) - Is applyPatches() exposed in the API? ([@davidparsson](https://api.github.com/users/davidparsson)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v2.1.0...v2.1.1) + +## v2.1.0 - August 27th, 2015 + +- [#72](https://github.com/kpdecker/jsdiff/issues/72) - Consider using options object API for flag permutations ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#70](https://github.com/kpdecker/jsdiff/issues/70) - diffWords treats \n at the end as significant whitespace ([@nesQuick](https://api.github.com/users/nesQuick)) +- [#69](https://github.com/kpdecker/jsdiff/issues/69) - Missing count ([@wfalkwallace](https://api.github.com/users/wfalkwallace)) +- [#68](https://github.com/kpdecker/jsdiff/issues/68) - diffLines seems broken ([@wfalkwallace](https://api.github.com/users/wfalkwallace)) +- [#60](https://github.com/kpdecker/jsdiff/issues/60) - Support multiple diff hunks ([@piranna](https://api.github.com/users/piranna)) +- [#54](https://github.com/kpdecker/jsdiff/issues/54) - Feature Request: 3-way merge ([@mog422](https://api.github.com/users/mog422)) +- [#42](https://github.com/kpdecker/jsdiff/issues/42) - Fuzz factor for applyPatch ([@stuartpb](https://api.github.com/users/stuartpb)) +- Move whitespace ignore out of equals method - 542063c +- Include source maps in babel output - 7f7ab21 +- Merge diff/line and diff/patch implementations - 1597705 +- Drop map utility method - 1ddc939 +- Documentation for parsePatch and applyPatches - 27c4b77 + +Compatibility notes: + +- The undocumented ignoreWhitespace flag has been removed from the Diff equality check directly. This implementation may be copied to diff utilities if dependencies existed on this functionality. + +[Commits](https://github.com/kpdecker/jsdiff/compare/v2.0.2...v2.1.0) + +## v2.0.2 - August 8th, 2015 + +- [#67](https://github.com/kpdecker/jsdiff/issues/67) - cannot require from npm module in node ([@commenthol](https://api.github.com/users/commenthol)) +- Convert to chai since we don’t support IE8 - a96bbad + +[Commits](https://github.com/kpdecker/jsdiff/compare/v2.0.1...v2.0.2) + +## v2.0.1 - August 7th, 2015 + +- Add release build at proper step - 57542fd + +[Commits](https://github.com/kpdecker/jsdiff/compare/v2.0.0...v2.0.1) + +## v2.0.0 - August 7th, 2015 + +- [#66](https://github.com/kpdecker/jsdiff/issues/66) - Add karma and sauce tests ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#65](https://github.com/kpdecker/jsdiff/issues/65) - Create component repository for bower ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#64](https://github.com/kpdecker/jsdiff/issues/64) - Automatically call removeEmpty for all tokenizer calls ([@kpdecker](https://api.github.com/users/kpdecker)) +- [#62](https://github.com/kpdecker/jsdiff/pull/62) - Allow access to structured object representation of patch data ([@bittrance](https://api.github.com/users/bittrance)) +- [#61](https://github.com/kpdecker/jsdiff/pull/61) - Use svg instead of png to get better image quality ([@PeterDaveHello](https://api.github.com/users/PeterDaveHello)) +- [#29](https://github.com/kpdecker/jsdiff/issues/29) - word tokenizer works only for 7 bit ascii ([@plasmagunman](https://api.github.com/users/plasmagunman)) + +Compatibility notes: + +- `this.removeEmpty` is now called automatically for all instances. If this is not desired, this may be overridden on a per instance basis. +- The library has been refactored to use some ES6 features. The external APIs should remain the same, but bower projects that directly referenced the repository will now have to point to the [components/jsdiff](https://github.com/components/jsdiff) repository. + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.4.0...v2.0.0) + +## v1.4.0 - May 6th, 2015 + +- [#57](https://github.com/kpdecker/jsdiff/issues/57) - createPatch -> applyPatch failed. ([@mog422](https://api.github.com/users/mog422)) +- [#56](https://github.com/kpdecker/jsdiff/pull/56) - Two files patch ([@rgeissert](https://api.github.com/users/rgeissert)) +- [#14](https://github.com/kpdecker/jsdiff/issues/14) - Flip added and removed order? ([@jakesandlund](https://api.github.com/users/jakesandlund)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.3.2...v1.4.0) + +## v1.3.2 - March 30th, 2015 + +- [#53](https://github.com/kpdecker/jsdiff/pull/53) - Updated README.MD with Bower installation instructions ([@ofbriggs](https://api.github.com/users/ofbriggs)) +- [#49](https://github.com/kpdecker/jsdiff/issues/49) - Cannot read property 'oldlines' of undefined ([@nwtn](https://api.github.com/users/nwtn)) +- [#44](https://github.com/kpdecker/jsdiff/issues/44) - invalid-meta jsdiff is missing "main" entry in bower.json + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.3.1...v1.3.2) + +## v1.3.1 - March 13th, 2015 + +- [#52](https://github.com/kpdecker/jsdiff/pull/52) - Fix for #51 Wrong result of JsDiff.diffLines ([@felicienfrancois](https://api.github.com/users/felicienfrancois)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.3.0...v1.3.1) + +## v1.3.0 - March 2nd, 2015 + +- [#47](https://github.com/kpdecker/jsdiff/pull/47) - Adding Diff Trimmed Lines ([@JamesGould123](https://api.github.com/users/JamesGould123)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.2.2...v1.3.0) + +## v1.2.2 - January 26th, 2015 + +- [#45](https://github.com/kpdecker/jsdiff/pull/45) - Fix AMD module loading ([@pedrocarrico](https://api.github.com/users/pedrocarrico)) +- [#43](https://github.com/kpdecker/jsdiff/pull/43) - added a bower file ([@nbrustein](https://api.github.com/users/nbrustein)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.2.1...v1.2.2) + +## v1.2.1 - December 26th, 2014 + +- [#41](https://github.com/kpdecker/jsdiff/pull/41) - change condition of using node export system. ([@ironhee](https://api.github.com/users/ironhee)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.2.0...v1.2.1) + +## v1.2.0 - November 29th, 2014 + +- [#37](https://github.com/kpdecker/jsdiff/pull/37) - Add support for sentences. ([@vmariano](https://api.github.com/users/vmariano)) +- [#28](https://github.com/kpdecker/jsdiff/pull/28) - Implemented diffJson ([@papandreou](https://api.github.com/users/papandreou)) +- [#27](https://github.com/kpdecker/jsdiff/issues/27) - Slow to execute over diffs with a large number of changes ([@termi](https://api.github.com/users/termi)) +- Allow for optional async diffing - 19385b9 +- Fix diffChars implementation - eaa44ed + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.1.0...v1.2.0) + +## v1.1.0 - November 25th, 2014 + +- [#33](https://github.com/kpdecker/jsdiff/pull/33) - AMD and global exports ([@ovcharik](https://api.github.com/users/ovcharik)) +- [#32](https://github.com/kpdecker/jsdiff/pull/32) - Add support for component ([@vmariano](https://api.github.com/users/vmariano)) +- [#31](https://github.com/kpdecker/jsdiff/pull/31) - Don't rely on Array.prototype.map ([@papandreou](https://api.github.com/users/papandreou)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.0.8...v1.1.0) + +## v1.0.8 - December 22nd, 2013 + +- [#24](https://github.com/kpdecker/jsdiff/pull/24) - Handle windows newlines on non windows machines. ([@benogle](https://api.github.com/users/benogle)) +- [#23](https://github.com/kpdecker/jsdiff/pull/23) - Prettied up the API formatting a little, and added basic node and web examples ([@airportyh](https://api.github.com/users/airportyh)) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.0.7...v1.0.8) + +## v1.0.7 - September 11th, 2013 + +- [#22](https://github.com/kpdecker/jsdiff/pull/22) - Added variant of WordDiff that doesn't ignore whitespace differences ([@papandreou](https://api.github.com/users/papandreou) + +- Add 0.10 to travis tests - 243a526 + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.0.6...v1.0.7) + +## v1.0.6 - August 30th, 2013 + +- [#19](https://github.com/kpdecker/jsdiff/pull/19) - Explicitly define contents of npm package ([@sindresorhus](https://api.github.com/users/sindresorhus) + +[Commits](https://github.com/kpdecker/jsdiff/compare/v1.0.5...v1.0.6) diff --git a/.pnpm-store/v3/files/a4/e9cd433f6bb0da36c20706c8a836ffe3409fede38da25c19674a2c79f7f62f93abaedc5858e81441fcd8e25a402cc662b727879ba547eea5b4896d6b95a3a7 b/.pnpm-store/v3/files/a4/e9cd433f6bb0da36c20706c8a836ffe3409fede38da25c19674a2c79f7f62f93abaedc5858e81441fcd8e25a402cc662b727879ba547eea5b4896d6b95a3a7 new file mode 100644 index 00000000..ee19e16a --- /dev/null +++ b/.pnpm-store/v3/files/a4/e9cd433f6bb0da36c20706c8a836ffe3409fede38da25c19674a2c79f7f62f93abaedc5858e81441fcd8e25a402cc662b727879ba547eea5b4896d6b95a3a7 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00543,"48":0.00543,"52":0.02171,"54":0.00543,"78":0.02171,"83":0.00543,"88":0.01085,"102":0.00543,"104":0.00543,"108":0.00543,"109":0.00543,"110":0.00543,"111":0.00543,"112":0.00543,"113":0.00543,"114":0.00543,"115":1.06369,"116":0.00543,"117":0.02714,"118":0.01085,"119":0.01628,"120":0.0597,"121":1.47614,"122":0.33105,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 103 105 106 107 123 124 125 3.5 3.6"},D:{"25":0.02171,"26":0.01085,"34":0.02714,"35":0.02714,"38":0.08141,"45":0.00543,"46":0.00543,"47":0.00543,"49":0.01628,"51":0.00543,"55":0.00543,"56":0.00543,"59":0.01628,"65":0.00543,"66":0.01628,"67":0.00543,"69":0.00543,"70":0.00543,"72":0.00543,"73":0.00543,"74":0.01085,"75":0.00543,"76":0.00543,"77":0.00543,"78":0.00543,"79":0.09226,"80":0.00543,"81":0.02714,"83":0.00543,"84":0.00543,"85":0.01628,"86":0.03256,"87":0.06512,"88":0.03799,"89":0.01085,"90":0.01628,"91":0.00543,"92":0.00543,"93":0.01628,"94":0.01628,"95":0.00543,"96":0.01085,"97":0.01085,"98":0.01085,"99":0.03256,"100":0.03256,"101":0.0597,"102":0.03799,"103":0.17366,"104":0.04342,"105":0.01628,"106":0.01628,"107":0.03256,"108":0.04884,"109":0.71636,"110":0.03256,"111":0.03799,"112":0.04884,"113":0.03799,"114":0.11397,"115":0.05427,"116":0.42331,"117":0.17366,"118":1.06369,"119":6.09995,"120":20.61175,"121":1.2265,"122":0.02171,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 27 28 29 30 31 32 33 36 37 39 40 41 42 43 44 48 50 52 53 54 57 58 60 61 62 63 64 68 71 123 124"},F:{"46":0.02714,"95":0.01085,"102":0.00543,"104":0.01085,"105":0.58612,"106":0.37989,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00543,"85":0.00543,"92":0.00543,"100":0.00543,"106":0.00543,"107":0.00543,"108":0.00543,"109":0.0597,"110":0.00543,"111":0.00543,"112":0.01085,"113":0.01628,"114":0.01628,"115":0.01085,"116":0.04342,"117":0.01628,"118":0.03256,"119":0.96058,"120":5.20992,"121":2.34989,_:"12 13 14 15 16 17 79 80 81 83 84 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105"},E:{"9":0.01085,"13":0.02171,"14":0.10311,"15":0.02171,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.00543,"12.1":0.03799,"13.1":0.15738,"14.1":0.30391,"15.1":0.03799,"15.2-15.3":0.04342,"15.4":0.06512,"15.5":0.11939,"15.6":0.72722,"16.0":0.07598,"16.1":0.16824,"16.2":0.13568,"16.3":0.3419,"16.4":0.10854,"16.5":0.21165,"16.6":1.25906,"17.0":0.1411,"17.1":1.40017,"17.2":1.86146,"17.3":0.10311},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00473,"5.0-5.1":0.00709,"6.0-6.1":0.01181,"7.0-7.1":0.01654,"8.1-8.4":0.00236,"9.0-9.2":0.01418,"9.3":0.05435,"10.0-10.2":0.00473,"10.3":0.08507,"11.0-11.2":0.03308,"11.3-11.4":0.03544,"12.0-12.1":0.02127,"12.2-12.5":0.4206,"13.0-13.1":0.00709,"13.2":0.07798,"13.3":0.02127,"13.4-13.7":0.09452,"14.0-14.4":0.1654,"14.5-14.8":0.25283,"15.0-15.1":0.10869,"15.2-15.3":0.12524,"15.4":0.1465,"15.5":0.19376,"15.6-15.8":1.50991,"16.0":0.45368,"16.1":0.96644,"16.2":0.4395,"16.3":0.81757,"16.4":0.18195,"16.5":0.38752,"16.6-16.7":3.17105,"17.0":0.52693,"17.1":5.43237,"17.2":7.35343,"17.3":0.47259},P:{"4":0.19833,"20":0.03306,"21":0.09917,"22":0.08815,"23":2.61138,"5.0-5.4":0.03306,"6.2-6.4":0.01102,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0","13.0":0.01102,"14.0":0.01102,"15.0":0.01102,"16.0":0.02204,"17.0":0.02204,"18.0":0.01102,"19.0":0.04407},I:{"0":0.06831,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00018},A:{"8":0.04342,"9":0.01447,"10":0.01447,"11":0.1013,_:"6 7 5.5"},K:{"0":0.15094,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00457,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00915},O:{"0":0.05031},H:{"0":0},L:{"0":19.48057},R:{_:"0"},M:{"0":0.32933}}; diff --git a/.pnpm-store/v3/files/a4/fc8fddbc047b392f174e6fbf90bcc80c2c13cd3220d92a48226281ce2cce1d3ef4ffbb2dc9f1ed88f88a344a05c9a18ca3647950ffdba67301c6f863132063 b/.pnpm-store/v3/files/a4/fc8fddbc047b392f174e6fbf90bcc80c2c13cd3220d92a48226281ce2cce1d3ef4ffbb2dc9f1ed88f88a344a05c9a18ca3647950ffdba67301c6f863132063 new file mode 100644 index 00000000..24c7c54a --- /dev/null +++ b/.pnpm-store/v3/files/a4/fc8fddbc047b392f174e6fbf90bcc80c2c13cd3220d92a48226281ce2cce1d3ef4ffbb2dc9f1ed88f88a344a05c9a18ca3647950ffdba67301c6f863132063 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","1028":"B","1316":"A"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","164":"9 TC 7B I J D E F A B C K L G M N O AB q r VC WC","516":"s t BB CB DB EB"},D:{"1":"0 1 2 3 4 5 6 7 8 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","33":"r s t BB CB DB EB FB","164":"9 I J D E F A B C K L G M N O AB q"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","33":"D E ZC aC","164":"9 I J XC DC YC"},F:{"1":"N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B C iC jC kC lC 2B QC mC","33":"G M"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","33":"E qC rC","164":"DC nC RC oC pC"},H:{"1":"9C"},I:{"1":"H ED FD","164":"7B I AD BD CD DD RC"},J:{"1":"A","164":"D"},K:{"1":"u 3B","2":"A B C 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","292":"A"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS Flexible Box Layout Module",D:true}; diff --git a/.pnpm-store/v3/files/a5/1f427d6b075d37a4a0b126c32767921c96914d81625e56edf0adf2def56afc1e115d736d30f2ddd2cea802c0329f5f8bf52665dbc310ea2324618487b16726 b/.pnpm-store/v3/files/a5/1f427d6b075d37a4a0b126c32767921c96914d81625e56edf0adf2def56afc1e115d736d30f2ddd2cea802c0329f5f8bf52665dbc310ea2324618487b16726 new file mode 100644 index 00000000..ddb202a6 --- /dev/null +++ b/.pnpm-store/v3/files/a5/1f427d6b075d37a4a0b126c32767921c96914d81625e56edf0adf2def56afc1e115d736d30f2ddd2cea802c0329f5f8bf52665dbc310ea2324618487b16726 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G","1028":"P Q R S T U V W X Y Z","4100":"M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB VC WC","194":"DB EB FB GB HB IB","516":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB","322":"t BB CB DB EB FB GB HB IB JB KB LB MB NB dB eB fB gB","1028":"hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z"},E:{"1":"K L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC","33":"E F A B C aC bC EC 2B 3B","2084":"D ZC"},F:{"1":"0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB iC jC kC lC 2B QC mC 3B","322":"QB RB SB","1028":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB"},G:{"1":"0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC","33":"E rC sC tC uC vC wC xC yC zC","2084":"pC qC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD"},Q:{"1028":"FC"},R:{"1":"SD"},S:{"1":"UD","516":"TD"}},B:5,C:"CSS position:sticky",D:true}; diff --git a/.pnpm-store/v3/files/a5/9c6ba4f02d48a1b1dc586cee46a26a5111e0c431ae7b21ec8a7116e085a53e532c71910c20a0823e7e0ab8a77e837b2c4fcb4202691b55eaa8a33a88be43e9 b/.pnpm-store/v3/files/a5/9c6ba4f02d48a1b1dc586cee46a26a5111e0c431ae7b21ec8a7116e085a53e532c71910c20a0823e7e0ab8a77e837b2c4fcb4202691b55eaa8a33a88be43e9 new file mode 100644 index 00000000..6adc0816 --- /dev/null +++ b/.pnpm-store/v3/files/a5/9c6ba4f02d48a1b1dc586cee46a26a5111e0c431ae7b21ec8a7116e085a53e532c71910c20a0823e7e0ab8a77e837b2c4fcb4202691b55eaa8a33a88be43e9 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t iC jC kC lC 2B QC mC 3B"},G:{"1":"tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC"},H:{"2":"9C"},I:{"1":"H FD","2":"7B I AD BD CD DD RC ED"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS all property",D:true}; diff --git a/.pnpm-store/v3/files/a5/a42bf0e4065d5f3fcd48d3207b6fbfeeda4c05e1314a062d581b417ebad02de85f84ef35ac8ac37be75b5bbe99506eb32efc64e1460bdd96af81f410aa0f8f b/.pnpm-store/v3/files/a5/a42bf0e4065d5f3fcd48d3207b6fbfeeda4c05e1314a062d581b417ebad02de85f84ef35ac8ac37be75b5bbe99506eb32efc64e1460bdd96af81f410aa0f8f new file mode 100644 index 00000000..12234b06 --- /dev/null +++ b/.pnpm-store/v3/files/a5/a42bf0e4065d5f3fcd48d3207b6fbfeeda4c05e1314a062d581b417ebad02de85f84ef35ac8ac37be75b5bbe99506eb32efc64e1460bdd96af81f410aa0f8f @@ -0,0 +1 @@ +module.exports={C:{"26":0.00077,"29":0.00309,"47":0.00077,"50":0.00154,"52":0.00077,"56":0.00154,"58":0.00077,"68":0.00077,"72":0.00154,"77":0.00077,"84":0.00154,"86":0.00077,"95":0.01004,"96":0.00618,"100":0.00386,"103":0.01081,"106":0.00077,"110":0.00077,"114":0.00154,"115":0.10654,"116":0.00232,"119":0.00077,"120":0.01544,"121":0.41225,"122":0.08724,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 51 53 54 55 57 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 78 79 80 81 82 83 85 87 88 89 90 91 92 93 94 97 98 99 101 102 104 105 107 108 109 111 112 113 117 118 123 124 125 3.5 3.6"},D:{"49":0.00077,"54":0.00077,"58":0.00695,"62":0.00077,"63":0.00232,"64":0.0193,"65":0.00077,"66":0.00154,"68":0.00154,"69":0.00077,"70":0.00154,"77":0.00154,"79":0.00309,"80":0.00077,"81":0.00077,"83":0.00154,"85":0.00077,"87":0.00077,"88":0.00154,"89":0.00154,"90":0.00077,"91":0.00232,"93":0.00077,"94":0.0139,"95":0.08569,"97":0.03165,"99":0.04092,"102":0.00077,"103":0.0054,"104":0.00232,"105":0.00232,"106":0.00386,"108":0.00077,"109":0.10576,"111":0.00309,"114":0.02239,"115":0.00618,"116":0.00849,"117":0.01467,"118":0.00232,"119":0.01467,"120":1.05224,"121":0.07257,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 55 56 57 59 60 61 67 71 72 73 74 75 76 78 84 86 92 96 98 100 101 107 110 112 113 122 123 124"},F:{"34":0.00077,"45":0.00154,"76":0.00232,"79":0.00077,"90":0.00077,"95":0.00154,"102":0.00077,"105":0.03551,"106":0.08955,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 80 81 82 83 84 85 86 87 88 89 91 92 93 94 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00309,"13":0.00077,"14":0.00695,"15":0.00154,"16":0.00154,"17":0.00154,"18":0.00849,"84":0.00309,"89":0.00232,"90":0.00077,"92":0.02007,"100":0.00077,"107":0.00077,"108":0.00154,"109":0.06022,"110":0.00077,"111":0.01467,"112":0.00386,"113":0.00077,"116":0.00232,"117":0.00309,"118":0.04014,"119":0.00463,"120":0.48636,"121":0.03706,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 114 115"},E:{"14":0.00077,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.4 15.5 16.0 16.1 16.2 16.4 17.3 17.4","5.1":0.03783,"13.1":0.00232,"14.1":0.0054,"15.2-15.3":0.00077,"15.6":0.00386,"16.3":0.00077,"16.5":0.00695,"16.6":0.01776,"17.0":0.00695,"17.1":0.00309,"17.2":0.01776},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00097,"5.0-5.1":0.00146,"6.0-6.1":0.00244,"7.0-7.1":0.00341,"8.1-8.4":0.00049,"9.0-9.2":0.00292,"9.3":0.01121,"10.0-10.2":0.00097,"10.3":0.01754,"11.0-11.2":0.00682,"11.3-11.4":0.00731,"12.0-12.1":0.00439,"12.2-12.5":0.08673,"13.0-13.1":0.00146,"13.2":0.01608,"13.3":0.00439,"13.4-13.7":0.01949,"14.0-14.4":0.03411,"14.5-14.8":0.05213,"15.0-15.1":0.02241,"15.2-15.3":0.02582,"15.4":0.03021,"15.5":0.03995,"15.6-15.8":0.31135,"16.0":0.09355,"16.1":0.19928,"16.2":0.09063,"16.3":0.16858,"16.4":0.03752,"16.5":0.07991,"16.6-16.7":0.65387,"17.0":0.10865,"17.1":1.12016,"17.2":1.51629,"17.3":0.09745},P:{"4":0.02039,"20":0.24469,"21":0.82583,"22":0.13254,"23":0.49958,_:"5.0-5.4 8.2 10.1 12.0 13.0 14.0 15.0","6.2-6.4":0.05098,"7.2-7.4":0.09176,"9.2":0.09176,"11.1-11.2":0.05098,"16.0":0.06117,"17.0":0.0102,"18.0":0.03059,"19.0":0.41801},I:{"0":0.00919,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.01698,_:"6 7 8 9 10 5.5"},K:{"0":1.29571,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.02768,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00923},O:{"0":0.07382},H:{"0":0.19},L:{"0":87.69974},R:{_:"0"},M:{"0":0.00923}}; diff --git a/.pnpm-store/v3/files/a6/095ef893c594994c5c03878cf7e7e8f57a097d2bfffc91f0a835e336ee7120b034e7fdc45698f21d8eeae978940abb3ec6c01c78ac9781dea3654f3a25efa4 b/.pnpm-store/v3/files/a6/095ef893c594994c5c03878cf7e7e8f57a097d2bfffc91f0a835e336ee7120b034e7fdc45698f21d8eeae978940abb3ec6c01c78ac9781dea3654f3a25efa4 new file mode 100644 index 00000000..0a686aba --- /dev/null +++ b/.pnpm-store/v3/files/a6/095ef893c594994c5c03878cf7e7e8f57a097d2bfffc91f0a835e336ee7120b034e7fdc45698f21d8eeae978940abb3ec6c01c78ac9781dea3654f3a25efa4 @@ -0,0 +1 @@ +module.exports={C:{"52":0.00447,"78":0.00447,"106":0.00447,"107":0.21437,"108":0.00447,"111":0.00447,"115":0.05359,"119":0.00447,"120":0.00447,"121":1.48718,"122":0.25903,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 109 110 112 113 114 116 117 118 123 124 125 3.5 3.6"},D:{"74":0.00447,"76":0.00447,"78":0.00447,"79":0.0134,"80":0.00447,"84":0.00447,"86":0.00447,"87":0.00893,"90":0.00447,"91":0.00447,"95":0.00447,"103":0.26796,"104":0.20544,"105":0.00447,"106":1.43805,"107":0.02233,"108":1.19242,"109":2.86717,"110":0.05806,"111":0.31709,"112":0.32602,"113":0.05806,"114":0.01786,"115":0.02233,"116":0.33495,"117":0.24116,"118":0.05359,"119":0.60291,"120":19.25293,"121":1.19242,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 75 77 81 83 85 88 89 92 93 94 96 97 98 99 100 101 102 122 123 124"},F:{"95":0.00447,"104":0.00447,"105":0.56272,"106":0.42427,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.00447,"18":0.04019,"79":0.00447,"83":0.00447,"86":0.00447,"105":0.50466,"106":0.9066,"108":0.62971,"109":0.00893,"110":0.60738,"116":0.00447,"118":0.02233,"119":0.04019,"120":5.23415,"121":0.68776,_:"12 13 14 16 17 80 81 84 85 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 107 111 112 113 114 115 117"},E:{"14":0.04019,"15":0.00447,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 10.1 11.1 12.1 15.1 17.4","5.1":0.04019,"9.1":0.0134,"13.1":0.17864,"14.1":0.04019,"15.2-15.3":0.00447,"15.4":0.0134,"15.5":0.15184,"15.6":0.20544,"16.0":0.04019,"16.1":0.10272,"16.2":0.05806,"16.3":0.08485,"16.4":0.05359,"16.5":0.07146,"16.6":0.79495,"17.0":0.09379,"17.1":0.88427,"17.2":0.80388,"17.3":0.02233},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00337,"5.0-5.1":0.00506,"6.0-6.1":0.00843,"7.0-7.1":0.01181,"8.1-8.4":0.00169,"9.0-9.2":0.01012,"9.3":0.0388,"10.0-10.2":0.00337,"10.3":0.06072,"11.0-11.2":0.02361,"11.3-11.4":0.0253,"12.0-12.1":0.01518,"12.2-12.5":0.30024,"13.0-13.1":0.00506,"13.2":0.05566,"13.3":0.01518,"13.4-13.7":0.06747,"14.0-14.4":0.11807,"14.5-14.8":0.18048,"15.0-15.1":0.07759,"15.2-15.3":0.0894,"15.4":0.10458,"15.5":0.13831,"15.6-15.8":1.07784,"16.0":0.32386,"16.1":0.68989,"16.2":0.31374,"16.3":0.58362,"16.4":0.12988,"16.5":0.27663,"16.6-16.7":2.26364,"17.0":0.37615,"17.1":3.87787,"17.2":5.24921,"17.3":0.33735},P:{"4":0.13542,"20":0.05208,"21":0.07292,"22":0.08334,"23":3.04175,_:"5.0-5.4 6.2-6.4 8.2 10.1 12.0 13.0","7.2-7.4":0.22917,"9.2":0.01042,"11.1-11.2":0.01042,"14.0":0.01042,"15.0":0.01042,"16.0":0.03125,"17.0":0.01042,"18.0":0.01042,"19.0":0.07292},I:{"0":0.01102,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.00893,_:"6 7 8 9 10 5.5"},K:{"0":0.64515,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00553},O:{"0":0.10515},H:{"0":0.03},L:{"0":33.75633},R:{_:"0"},M:{"0":0.21583}}; diff --git a/.pnpm-store/v3/files/a6/83030a57684a6aeb620f087a097c3297e5e69df290b63b2c1151c7d31e728a7dcec40c054b56704de574d277fe54dbe81ec13491caf729c7e2d051d6cda6a7 b/.pnpm-store/v3/files/a6/83030a57684a6aeb620f087a097c3297e5e69df290b63b2c1151c7d31e728a7dcec40c054b56704de574d277fe54dbe81ec13491caf729c7e2d051d6cda6a7 new file mode 100644 index 00000000..faa04379 --- /dev/null +++ b/.pnpm-store/v3/files/a6/83030a57684a6aeb620f087a097c3297e5e69df290b63b2c1151c7d31e728a7dcec40c054b56704de574d277fe54dbe81ec13491caf729c7e2d051d6cda6a7 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 e f g h i j k l m n o p v w x y z H","2":"C K L G M N O P Q","516":"R S T U V W X Y Z a b c d"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"9 I J D E F A B C K L G M N CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X","130":"O AB q r s t BB","1028":"0 1 2 3 4 5 6 7 8 Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"L G cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B","2049":"K 3B FC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC","2049":"zC 0C 1C 2C 3C"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC ED","258":"H FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I","258":"GD HD ID"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:4,C:"Web Share API",D:true}; diff --git a/.pnpm-store/v3/files/a6/b659838a4c172acb890772ef81634ba10a07e8b924111dbbda7cd35e92a3861dae7ef1ae92fa2ac7fc891ae0a615b1a75656016b0a488e6afabb469c1683ca b/.pnpm-store/v3/files/a6/b659838a4c172acb890772ef81634ba10a07e8b924111dbbda7cd35e92a3861dae7ef1ae92fa2ac7fc891ae0a615b1a75656016b0a488e6afabb469c1683ca new file mode 100644 index 00000000..626c6c0b --- /dev/null +++ b/.pnpm-store/v3/files/a6/b659838a4c172acb890772ef81634ba10a07e8b924111dbbda7cd35e92a3861dae7ef1ae92fa2ac7fc891ae0a615b1a75656016b0a488e6afabb469c1683ca @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:5,C:"Web MIDI API",D:true}; diff --git a/.pnpm-store/v3/files/a7/04f0315db733b47a70f813998bb23725f83fa57d9ea7139b875fa8281eba02534581c870661bb0dde856561b68229ceede2f7cdfa3be45bcf9291dd3dd30dd b/.pnpm-store/v3/files/a7/04f0315db733b47a70f813998bb23725f83fa57d9ea7139b875fa8281eba02534581c870661bb0dde856561b68229ceede2f7cdfa3be45bcf9291dd3dd30dd new file mode 100644 index 00000000..e91fba40 --- /dev/null +++ b/.pnpm-store/v3/files/a7/04f0315db733b47a70f813998bb23725f83fa57d9ea7139b875fa8281eba02534581c870661bb0dde856561b68229ceede2f7cdfa3be45bcf9291dd3dd30dd @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.25) + +project(bare_os C) + +include(bare) + +add_bare_module(bare_os) + +target_sources( + ${bare_os} + PRIVATE + binding.c +) diff --git a/.pnpm-store/v3/files/a7/07455f2097599acbbed8da0ef8de9eac4d64f5a755fbf4cda5888a5e71be3350fe3ab55c955a0069b86eae3bc0d4aaac70704e4b9d1a5bf3f0dfe6089dc473 b/.pnpm-store/v3/files/a7/07455f2097599acbbed8da0ef8de9eac4d64f5a755fbf4cda5888a5e71be3350fe3ab55c955a0069b86eae3bc0d4aaac70704e4b9d1a5bf3f0dfe6089dc473 new file mode 100644 index 00000000..b663b034 --- /dev/null +++ b/.pnpm-store/v3/files/a7/07455f2097599acbbed8da0ef8de9eac4d64f5a755fbf4cda5888a5e71be3350fe3ab55c955a0069b86eae3bc0d4aaac70704e4b9d1a5bf3f0dfe6089dc473 @@ -0,0 +1,83 @@ +'use strict'; + +var test = require('tape'); + +var getSideChannel = require('../'); + +test('export', function (t) { + t.equal(typeof getSideChannel, 'function', 'is a function'); + t.equal(getSideChannel.length, 0, 'takes no arguments'); + + var channel = getSideChannel(); + t.ok(channel, 'is truthy'); + t.equal(typeof channel, 'object', 'is an object'); + + t.end(); +}); + +test('assert', function (t) { + var channel = getSideChannel(); + t['throws']( + function () { channel.assert({}); }, + TypeError, + 'nonexistent value throws' + ); + + var o = {}; + channel.set(o, 'data'); + t.doesNotThrow(function () { channel.assert(o); }, 'existent value noops'); + + t.end(); +}); + +test('has', function (t) { + var channel = getSideChannel(); + var o = []; + + t.equal(channel.has(o), false, 'nonexistent value yields false'); + + channel.set(o, 'foo'); + t.equal(channel.has(o), true, 'existent value yields true'); + + t.equal(channel.has('abc'), false, 'non object value non existent yields false'); + + channel.set('abc', 'foo'); + t.equal(channel.has('abc'), true, 'non object value that exists yields true'); + + t.end(); +}); + +test('get', function (t) { + var channel = getSideChannel(); + var o = {}; + t.equal(channel.get(o), undefined, 'nonexistent value yields undefined'); + + var data = {}; + channel.set(o, data); + t.equal(channel.get(o), data, '"get" yields data set by "set"'); + + t.end(); +}); + +test('set', function (t) { + var channel = getSideChannel(); + var o = function () {}; + t.equal(channel.get(o), undefined, 'value not set'); + + channel.set(o, 42); + t.equal(channel.get(o), 42, 'value was set'); + + channel.set(o, Infinity); + t.equal(channel.get(o), Infinity, 'value was set again'); + + var o2 = {}; + channel.set(o2, 17); + t.equal(channel.get(o), Infinity, 'o is not modified'); + t.equal(channel.get(o2), 17, 'o2 is set'); + + channel.set(o, 14); + t.equal(channel.get(o), 14, 'o is modified'); + t.equal(channel.get(o2), 17, 'o2 is not modified'); + + t.end(); +}); diff --git a/.pnpm-store/v3/files/a7/30fb89782cb65067095150b0ad72b42daf2895d22cbf4ffa9ffb5148b887efd3ca1c063696e7df7b7233ed51a26bdc881e80ec907e6c6bb4a8b07d3da613b1 b/.pnpm-store/v3/files/a7/30fb89782cb65067095150b0ad72b42daf2895d22cbf4ffa9ffb5148b887efd3ca1c063696e7df7b7233ed51a26bdc881e80ec907e6c6bb4a8b07d3da613b1 new file mode 100644 index 00000000..a6eae67d --- /dev/null +++ b/.pnpm-store/v3/files/a7/30fb89782cb65067095150b0ad72b42daf2895d22cbf4ffa9ffb5148b887efd3ca1c063696e7df7b7233ed51a26bdc881e80ec907e6c6bb4a8b07d3da613b1 @@ -0,0 +1,761 @@ +# Immutable collections for JavaScript + +[![Build Status](https://github.com/immutable-js/immutable-js/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/immutable-js/immutable-js/actions/workflows/ci.yml?query=branch%3Amain) [Chat on slack](https://immutable-js.slack.com) + +[Read the docs](https://immutable-js.com/docs/) and eat your vegetables. + +Docs are automatically generated from [README.md][] and [immutable.d.ts][]. +Please contribute! Also, don't miss the [wiki][] which contains articles on +additional specific topics. Can't find something? Open an [issue][]. + +**Table of contents:** + +- [Introduction](#introduction) +- [Getting started](#getting-started) +- [The case for Immutability](#the-case-for-immutability) +- [JavaScript-first API](#javascript-first-api) +- [Nested Structures](#nested-structures) +- [Equality treats Collections as Values](#equality-treats-collections-as-values) +- [Batching Mutations](#batching-mutations) +- [Lazy Seq](#lazy-seq) +- [Additional Tools and Resources](#additional-tools-and-resources) +- [Contributing](#contributing) + +## Introduction + +[Immutable][] data cannot be changed once created, leading to much simpler +application development, no defensive copying, and enabling advanced memoization +and change detection techniques with simple logic. [Persistent][] data presents +a mutative API which does not update the data in-place, but instead always +yields new updated data. + +Immutable.js provides many Persistent Immutable data structures including: +`List`, `Stack`, `Map`, `OrderedMap`, `Set`, `OrderedSet` and `Record`. + +These data structures are highly efficient on modern JavaScript VMs by using +structural sharing via [hash maps tries][] and [vector tries][] as popularized +by Clojure and Scala, minimizing the need to copy or cache data. + +Immutable.js also provides a lazy `Seq`, allowing efficient +chaining of collection methods like `map` and `filter` without creating +intermediate representations. Create some `Seq` with `Range` and `Repeat`. + +Want to hear more? Watch the presentation about Immutable.js: + +[![Immutable Data and React](website/public/Immutable-Data-and-React-YouTube.png)](https://youtu.be/I7IdS-PbEgI) + +[README.md]: https://github.com/immutable-js/immutable-js/blob/main/README.md +[immutable.d.ts]: https://github.com/immutable-js/immutable-js/blob/main/type-definitions/immutable.d.ts +[wiki]: https://github.com/immutable-js/immutable-js/wiki +[issue]: https://github.com/immutable-js/immutable-js/issues +[Persistent]: https://en.wikipedia.org/wiki/Persistent_data_structure +[Immutable]: https://en.wikipedia.org/wiki/Immutable_object +[hash maps tries]: https://en.wikipedia.org/wiki/Hash_array_mapped_trie +[vector tries]: https://hypirion.com/musings/understanding-persistent-vector-pt-1 + +## Getting started + +Install `immutable` using npm. + +```shell +# using npm +npm install immutable + +# using Yarn +yarn add immutable + +# using pnpm +pnpm add immutable + +# using Bun +bun add immutable +``` + +Then require it into any module. + + + +```js +const { Map } = require('immutable'); +const map1 = Map({ a: 1, b: 2, c: 3 }); +const map2 = map1.set('b', 50); +map1.get('b') + ' vs. ' + map2.get('b'); // 2 vs. 50 +``` + +### Browser + +Immutable.js has no dependencies, which makes it predictable to include in a Browser. + +It's highly recommended to use a module bundler like [webpack](https://webpack.github.io/), +[rollup](https://rollupjs.org/), or +[browserify](https://browserify.org/). The `immutable` npm module works +without any additional consideration. All examples throughout the documentation +will assume use of this kind of tool. + +Alternatively, Immutable.js may be directly included as a script tag. Download +or link to a CDN such as [CDNJS](https://cdnjs.com/libraries/immutable) +or [jsDelivr](https://www.jsdelivr.com/package/npm/immutable). + +Use a script tag to directly add `Immutable` to the global scope: + +```html + + +``` + +Or use an AMD-style loader (such as [RequireJS](https://requirejs.org/)): + +```js +require(['./immutable.min.js'], function (Immutable) { + var map1 = Immutable.Map({ a: 1, b: 2, c: 3 }); + var map2 = map1.set('b', 50); + map1.get('b'); // 2 + map2.get('b'); // 50 +}); +``` + +### Flow & TypeScript + +Use these Immutable collections and sequences as you would use native +collections in your [Flowtype](https://flowtype.org/) or [TypeScript](https://typescriptlang.org) programs while still taking +advantage of type generics, error detection, and auto-complete in your IDE. + +Installing `immutable` via npm brings with it type definitions for Flow (v0.55.0 or higher) +and TypeScript (v2.1.0 or higher), so you shouldn't need to do anything at all! + +#### Using TypeScript with Immutable.js v4 + +Immutable.js type definitions embrace ES2015. While Immutable.js itself supports +legacy browsers and environments, its type definitions require TypeScript's 2015 +lib. Include either `"target": "es2015"` or `"lib": "es2015"` in your +`tsconfig.json`, or provide `--target es2015` or `--lib es2015` to the +`tsc` command. + + + +```js +const { Map } = require('immutable'); +const map1 = Map({ a: 1, b: 2, c: 3 }); +const map2 = map1.set('b', 50); +map1.get('b') + ' vs. ' + map2.get('b'); // 2 vs. 50 +``` + +#### Using TypeScript with Immutable.js v3 and earlier: + +Previous versions of Immutable.js include a reference file which you can include +via relative path to the type definitions at the top of your file. + +```js +/// +import Immutable from 'immutable'; +var map1: Immutable.Map; +map1 = Immutable.Map({ a: 1, b: 2, c: 3 }); +var map2 = map1.set('b', 50); +map1.get('b'); // 2 +map2.get('b'); // 50 +``` + +## The case for Immutability + +Much of what makes application development difficult is tracking mutation and +maintaining state. Developing with immutable data encourages you to think +differently about how data flows through your application. + +Subscribing to data events throughout your application creates a huge overhead of +book-keeping which can hurt performance, sometimes dramatically, and creates +opportunities for areas of your application to get out of sync with each other +due to easy to make programmer error. Since immutable data never changes, +subscribing to changes throughout the model is a dead-end and new data can only +ever be passed from above. + +This model of data flow aligns well with the architecture of [React][] +and especially well with an application designed using the ideas of [Flux][]. + +When data is passed from above rather than being subscribed to, and you're only +interested in doing work when something has changed, you can use equality. + +Immutable collections should be treated as _values_ rather than _objects_. While +objects represent some thing which could change over time, a value represents +the state of that thing at a particular instance of time. This principle is most +important to understanding the appropriate use of immutable data. In order to +treat Immutable.js collections as values, it's important to use the +`Immutable.is()` function or `.equals()` method to determine _value equality_ +instead of the `===` operator which determines object _reference identity_. + + + +```js +const { Map } = require('immutable'); +const map1 = Map({ a: 1, b: 2, c: 3 }); +const map2 = Map({ a: 1, b: 2, c: 3 }); +map1.equals(map2); // true +map1 === map2; // false +``` + +Note: As a performance optimization Immutable.js attempts to return the existing +collection when an operation would result in an identical collection, allowing +for using `===` reference equality to determine if something definitely has not +changed. This can be extremely useful when used within a memoization function +which would prefer to re-run the function if a deeper equality check could +potentially be more costly. The `===` equality check is also used internally by +`Immutable.is` and `.equals()` as a performance optimization. + + + +```js +const { Map } = require('immutable'); +const map1 = Map({ a: 1, b: 2, c: 3 }); +const map2 = map1.set('b', 2); // Set to same value +map1 === map2; // true +``` + +If an object is immutable, it can be "copied" simply by making another reference +to it instead of copying the entire object. Because a reference is much smaller +than the object itself, this results in memory savings and a potential boost in +execution speed for programs which rely on copies (such as an undo-stack). + + + +```js +const { Map } = require('immutable'); +const map = Map({ a: 1, b: 2, c: 3 }); +const mapCopy = map; // Look, "copies" are free! +``` + +[React]: https://reactjs.org/ +[Flux]: https://facebook.github.io/flux/docs/in-depth-overview/ + + +## JavaScript-first API + +While Immutable.js is inspired by Clojure, Scala, Haskell and other functional +programming environments, it's designed to bring these powerful concepts to +JavaScript, and therefore has an Object-Oriented API that closely mirrors that +of [ES2015][] [Array][], [Map][], and [Set][]. + +[es2015]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla +[array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array +[map]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map +[set]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set + +The difference for the immutable collections is that methods which would mutate +the collection, like `push`, `set`, `unshift` or `splice`, instead return a new +immutable collection. Methods which return new arrays, like `slice` or `concat`, +instead return new immutable collections. + + + +```js +const { List } = require('immutable'); +const list1 = List([1, 2]); +const list2 = list1.push(3, 4, 5); +const list3 = list2.unshift(0); +const list4 = list1.concat(list2, list3); +assert.equal(list1.size, 2); +assert.equal(list2.size, 5); +assert.equal(list3.size, 6); +assert.equal(list4.size, 13); +assert.equal(list4.get(0), 1); +``` + +Almost all of the methods on [Array][] will be found in similar form on +`Immutable.List`, those of [Map][] found on `Immutable.Map`, and those of [Set][] +found on `Immutable.Set`, including collection operations like `forEach()` +and `map()`. + + + +```js +const { Map } = require('immutable'); +const alpha = Map({ a: 1, b: 2, c: 3, d: 4 }); +alpha.map((v, k) => k.toUpperCase()).join(); +// 'A,B,C,D' +``` + +### Convert from raw JavaScript objects and arrays. + +Designed to inter-operate with your existing JavaScript, Immutable.js +accepts plain JavaScript Arrays and Objects anywhere a method expects a +`Collection`. + + + +```js +const { Map, List } = require('immutable'); +const map1 = Map({ a: 1, b: 2, c: 3, d: 4 }); +const map2 = Map({ c: 10, a: 20, t: 30 }); +const obj = { d: 100, o: 200, g: 300 }; +const map3 = map1.merge(map2, obj); +// Map { a: 20, b: 2, c: 10, d: 100, t: 30, o: 200, g: 300 } +const list1 = List([1, 2, 3]); +const list2 = List([4, 5, 6]); +const array = [7, 8, 9]; +const list3 = list1.concat(list2, array); +// List [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ] +``` + +This is possible because Immutable.js can treat any JavaScript Array or Object +as a Collection. You can take advantage of this in order to get sophisticated +collection methods on JavaScript Objects, which otherwise have a very sparse +native API. Because Seq evaluates lazily and does not cache intermediate +results, these operations can be extremely efficient. + + + +```js +const { Seq } = require('immutable'); +const myObject = { a: 1, b: 2, c: 3 }; +Seq(myObject) + .map(x => x * x) + .toObject(); +// { a: 1, b: 4, c: 9 } +``` + +Keep in mind, when using JS objects to construct Immutable Maps, that +JavaScript Object properties are always strings, even if written in a quote-less +shorthand, while Immutable Maps accept keys of any type. + + + +```js +const { fromJS } = require('immutable'); + +const obj = { 1: 'one' }; +console.log(Object.keys(obj)); // [ "1" ] +console.log(obj['1'], obj[1]); // "one", "one" + +const map = fromJS(obj); +console.log(map.get('1'), map.get(1)); // "one", undefined +``` + +Property access for JavaScript Objects first converts the key to a string, but +since Immutable Map keys can be of any type the argument to `get()` is +not altered. + +### Converts back to raw JavaScript objects. + +All Immutable.js Collections can be converted to plain JavaScript Arrays and +Objects shallowly with `toArray()` and `toObject()` or deeply with `toJS()`. +All Immutable Collections also implement `toJSON()` allowing them to be passed +to `JSON.stringify` directly. They also respect the custom `toJSON()` methods of +nested objects. + + + +```js +const { Map, List } = require('immutable'); +const deep = Map({ a: 1, b: 2, c: List([3, 4, 5]) }); +console.log(deep.toObject()); // { a: 1, b: 2, c: List [ 3, 4, 5 ] } +console.log(deep.toArray()); // [ 1, 2, List [ 3, 4, 5 ] ] +console.log(deep.toJS()); // { a: 1, b: 2, c: [ 3, 4, 5 ] } +JSON.stringify(deep); // '{"a":1,"b":2,"c":[3,4,5]}' +``` + +### Embraces ES2015 + +Immutable.js supports all JavaScript environments, including legacy +browsers (even IE11). However it also takes advantage of features added to +JavaScript in [ES2015][], the latest standard version of JavaScript, including +[Iterators][], [Arrow Functions][], [Classes][], and [Modules][]. It's inspired +by the native [Map][] and [Set][] collections added to ES2015. + +All examples in the Documentation are presented in ES2015. To run in all +browsers, they need to be translated to ES5. + +```js +// ES2015 +const mapped = foo.map(x => x * x); +// ES5 +var mapped = foo.map(function (x) { + return x * x; +}); +``` + +All Immutable.js collections are [Iterable][iterators], which allows them to be +used anywhere an Iterable is expected, such as when spreading into an Array. + + + +```js +const { List } = require('immutable'); +const aList = List([1, 2, 3]); +const anArray = [0, ...aList, 4, 5]; // [ 0, 1, 2, 3, 4, 5 ] +``` + +Note: A Collection is always iterated in the same order, however that order may +not always be well defined, as is the case for the `Map` and `Set`. + +[Iterators]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol +[Arrow Functions]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions +[Classes]: https://wiki.ecmascript.org/doku.php?id=strawman:maximally_minimal_classes +[Modules]: https://www.2ality.com/2014/09/es6-modules-final.html + + +## Nested Structures + +The collections in Immutable.js are intended to be nested, allowing for deep +trees of data, similar to JSON. + + + +```js +const { fromJS } = require('immutable'); +const nested = fromJS({ a: { b: { c: [3, 4, 5] } } }); +// Map { a: Map { b: Map { c: List [ 3, 4, 5 ] } } } +``` + +A few power-tools allow for reading and operating on nested data. The +most useful are `mergeDeep`, `getIn`, `setIn`, and `updateIn`, found on `List`, +`Map` and `OrderedMap`. + + + +```js +const { fromJS } = require('immutable'); +const nested = fromJS({ a: { b: { c: [3, 4, 5] } } }); + +const nested2 = nested.mergeDeep({ a: { b: { d: 6 } } }); +// Map { a: Map { b: Map { c: List [ 3, 4, 5 ], d: 6 } } } + +console.log(nested2.getIn(['a', 'b', 'd'])); // 6 + +const nested3 = nested2.updateIn(['a', 'b', 'd'], value => value + 1); +console.log(nested3); +// Map { a: Map { b: Map { c: List [ 3, 4, 5 ], d: 7 } } } + +const nested4 = nested3.updateIn(['a', 'b', 'c'], list => list.push(6)); +// Map { a: Map { b: Map { c: List [ 3, 4, 5, 6 ], d: 7 } } } +``` + +## Equality treats Collections as Values + +Immutable.js collections are treated as pure data _values_. Two immutable +collections are considered _value equal_ (via `.equals()` or `is()`) if they +represent the same collection of values. This differs from JavaScript's typical +_reference equal_ (via `===` or `==`) for Objects and Arrays which only +determines if two variables represent references to the same object instance. + +Consider the example below where two identical `Map` instances are not +_reference equal_ but are _value equal_. + + + +```js +// First consider: +const obj1 = { a: 1, b: 2, c: 3 }; +const obj2 = { a: 1, b: 2, c: 3 }; +obj1 !== obj2; // two different instances are always not equal with === + +const { Map, is } = require('immutable'); +const map1 = Map({ a: 1, b: 2, c: 3 }); +const map2 = Map({ a: 1, b: 2, c: 3 }); +map1 !== map2; // two different instances are not reference-equal +map1.equals(map2); // but are value-equal if they have the same values +is(map1, map2); // alternatively can use the is() function +``` + +Value equality allows Immutable.js collections to be used as keys in Maps or +values in Sets, and retrieved with different but equivalent collections: + + + +```js +const { Map, Set } = require('immutable'); +const map1 = Map({ a: 1, b: 2, c: 3 }); +const map2 = Map({ a: 1, b: 2, c: 3 }); +const set = Set().add(map1); +set.has(map2); // true because these are value-equal +``` + +Note: `is()` uses the same measure of equality as [Object.is][] for scalar +strings and numbers, but uses value equality for Immutable collections, +determining if both are immutable and all keys and values are equal +using the same measure of equality. + +[object.is]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + +#### Performance tradeoffs + +While value equality is useful in many circumstances, it has different +performance characteristics than reference equality. Understanding these +tradeoffs may help you decide which to use in each case, especially when used +to memoize some operation. + +When comparing two collections, value equality may require considering every +item in each collection, on an `O(N)` time complexity. For large collections of +values, this could become a costly operation. Though if the two are not equal +and hardly similar, the inequality is determined very quickly. In contrast, when +comparing two collections with reference equality, only the initial references +to memory need to be compared which is not based on the size of the collections, +which has an `O(1)` time complexity. Checking reference equality is always very +fast, however just because two collections are not reference-equal does not rule +out the possibility that they may be value-equal. + +#### Return self on no-op optimization + +When possible, Immutable.js avoids creating new objects for updates where no +change in _value_ occurred, to allow for efficient _reference equality_ checking +to quickly determine if no change occurred. + + + +```js +const { Map } = require('immutable'); +const originalMap = Map({ a: 1, b: 2, c: 3 }); +const updatedMap = originalMap.set('b', 2); +updatedMap === originalMap; // No-op .set() returned the original reference. +``` + +However updates which do result in a change will return a new reference. Each +of these operations occur independently, so two similar updates will not return +the same reference: + + + +```js +const { Map } = require('immutable'); +const originalMap = Map({ a: 1, b: 2, c: 3 }); +const updatedMap = originalMap.set('b', 1000); +// New instance, leaving the original immutable. +updatedMap !== originalMap; +const anotherUpdatedMap = originalMap.set('b', 1000); +// Despite both the results of the same operation, each created a new reference. +anotherUpdatedMap !== updatedMap; +// However the two are value equal. +anotherUpdatedMap.equals(updatedMap); +``` + +## Batching Mutations + +> If a tree falls in the woods, does it make a sound? +> +> If a pure function mutates some local data in order to produce an immutable +> return value, is that ok? +> +> — Rich Hickey, Clojure + +Applying a mutation to create a new immutable object results in some overhead, +which can add up to a minor performance penalty. If you need to apply a series +of mutations locally before returning, Immutable.js gives you the ability to +create a temporary mutable (transient) copy of a collection and apply a batch of +mutations in a performant manner by using `withMutations`. In fact, this is +exactly how Immutable.js applies complex mutations itself. + +As an example, building `list2` results in the creation of 1, not 3, new +immutable Lists. + + + +```js +const { List } = require('immutable'); +const list1 = List([1, 2, 3]); +const list2 = list1.withMutations(function (list) { + list.push(4).push(5).push(6); +}); +assert.equal(list1.size, 3); +assert.equal(list2.size, 6); +``` + +Note: Immutable.js also provides `asMutable` and `asImmutable`, but only +encourages their use when `withMutations` will not suffice. Use caution to not +return a mutable copy, which could result in undesired behavior. + +_Important!_: Only a select few methods can be used in `withMutations` including +`set`, `push` and `pop`. These methods can be applied directly against a +persistent data-structure where other methods like `map`, `filter`, `sort`, +and `splice` will always return new immutable data-structures and never mutate +a mutable collection. + +## Lazy Seq + +`Seq` describes a lazy operation, allowing them to efficiently chain +use of all the higher-order collection methods (such as `map` and `filter`) +by not creating intermediate collections. + +**Seq is immutable** — Once a Seq is created, it cannot be +changed, appended to, rearranged or otherwise modified. Instead, any mutative +method called on a `Seq` will return a new `Seq`. + +**Seq is lazy** — `Seq` does as little work as necessary to respond to any +method call. Values are often created during iteration, including implicit +iteration when reducing or converting to a concrete data structure such as +a `List` or JavaScript `Array`. + +For example, the following performs no work, because the resulting +`Seq`'s values are never iterated: + +```js +const { Seq } = require('immutable'); +const oddSquares = Seq([1, 2, 3, 4, 5, 6, 7, 8]) + .filter(x => x % 2 !== 0) + .map(x => x * x); +``` + +Once the `Seq` is used, it performs only the work necessary. In this +example, no intermediate arrays are ever created, filter is called three +times, and map is only called once: + +```js +oddSquares.get(1); // 9 +``` + +Any collection can be converted to a lazy Seq with `Seq()`. + + + +```js +const { Map, Seq } = require('immutable'); +const map = Map({ a: 1, b: 2, c: 3 }); +const lazySeq = Seq(map); +``` + +`Seq` allows for the efficient chaining of operations, allowing for the +expression of logic that can otherwise be very tedious: + +```js +lazySeq + .flip() + .map(key => key.toUpperCase()) + .flip(); +// Seq { A: 1, B: 2, C: 3 } +``` + +As well as expressing logic that would otherwise seem memory or time +limited, for example `Range` is a special kind of Lazy sequence. + + + +```js +const { Range } = require('immutable'); +Range(1, Infinity) + .skip(1000) + .map(n => -n) + .filter(n => n % 2 === 0) + .take(2) + .reduce((r, n) => r * n, 1); +// 1006008 +``` + +## Comparison of filter(), groupBy(), and partition() + +The `filter()`, `groupBy()`, and `partition()` methods are similar in that they +all divide a collection into parts based on applying a function to each element. +All three call the predicate or grouping function once for each item in the +input collection. All three return zero or more collections of the same type as +their input. The returned collections are always distinct from the input +(according to `===`), even if the contents are identical. + +Of these methods, `filter()` is the only one that is lazy and the only one which +discards items from the input collection. It is the simplest to use, and the +fact that it returns exactly one collection makes it easy to combine with other +methods to form a pipeline of operations. + +The `partition()` method is similar to an eager version of `filter()`, but it +returns two collections; the first contains the items that would have been +discarded by `filter()`, and the second contains the items that would have been +kept. It always returns an array of exactly two collections, which can make it +easier to use than `groupBy()`. Compared to making two separate calls to +`filter()`, `partition()` makes half as many calls it the predicate passed to +it. + +The `groupBy()` method is a more generalized version of `partition()` that can +group by an arbitrary function rather than just a predicate. It returns a map +with zero or more entries, where the keys are the values returned by the +grouping function, and the values are nonempty collections of the corresponding +arguments. Although `groupBy()` is more powerful than `partition()`, it can be +harder to use because it is not always possible predict in advance how many +entries the returned map will have and what their keys will be. + +| Summary | `filter` | `partition` | `groupBy` | +|:------------------------------|:---------|:------------|:---------------| +| ease of use | easiest | moderate | hardest | +| generality | least | moderate | most | +| laziness | lazy | eager | eager | +| # of returned sub-collections | 1 | 2 | 0 or more | +| sub-collections may be empty | yes | yes | no | +| can discard items | yes | no | no | +| wrapping container | none | array | Map/OrderedMap | + +## Additional Tools and Resources + +- [Atom-store](https://github.com/jameshopkins/atom-store/) + - A Clojure-inspired atom implementation in Javascript with configurability + for external persistance. + +- [Chai Immutable](https://github.com/astorije/chai-immutable) + - If you are using the [Chai Assertion Library](https://chaijs.com/), this + provides a set of assertions to use against Immutable.js collections. + +- [Fantasy-land](https://github.com/fantasyland/fantasy-land) + - Specification for interoperability of common algebraic structures in JavaScript. + +- [Immutagen](https://github.com/pelotom/immutagen) + - A library for simulating immutable generators in JavaScript. + +- [Immutable-cursor](https://github.com/redbadger/immutable-cursor) + - Immutable cursors incorporating the Immutable.js interface over + Clojure-inspired atom. + +- [Immutable-ext](https://github.com/DrBoolean/immutable-ext) + - Fantasyland extensions for immutablejs + +- [Immutable-js-tools](https://github.com/madeinfree/immutable-js-tools) + - Util tools for immutable.js + +- [Immutable-Redux](https://github.com/gajus/redux-immutable) + - redux-immutable is used to create an equivalent function of Redux + combineReducers that works with Immutable.js state. + +- [Immutable-Treeutils](https://github.com/lukasbuenger/immutable-treeutils) + - Functional tree traversal helpers for ImmutableJS data structures. + +- [Irecord](https://github.com/ericelliott/irecord) + - An immutable store that exposes an RxJS observable. Great for React. + +- [Mudash](https://github.com/brianneisler/mudash) + - Lodash wrapper providing Immutable.JS support. + +- [React-Immutable-PropTypes](https://github.com/HurricaneJames/react-immutable-proptypes) + - PropType validators that work with Immutable.js. + +- [Redux-Immutablejs](https://github.com/indexiatech/redux-immutablejs) + - Redux Immutable facilities. + +- [Rxstate](https://github.com/yamalight/rxstate) + - Simple opinionated state management library based on RxJS and Immutable.js. + +- [Transit-Immutable-js](https://github.com/glenjamin/transit-immutable-js) + - Transit serialisation for Immutable.js. + - See also: [Transit-js](https://github.com/cognitect/transit-js) + +Have an additional tool designed to work with Immutable.js? +Submit a PR to add it to this list in alphabetical order. + +## Contributing + +Use [Github issues](https://github.com/immutable-js/immutable-js/issues) for requests. + +We actively welcome pull requests, learn how to [contribute](https://github.com/immutable-js/immutable-js/blob/main/.github/CONTRIBUTING.md). + +Immutable.js is maintained within the [Contributor Covenant's Code of Conduct](https://www.contributor-covenant.org/version/2/0/code_of_conduct/). + +### Changelog + +Changes are tracked as [Github releases](https://github.com/immutable-js/immutable-js/releases). + +### License + +Immutable.js is [MIT-licensed](./LICENSE). + +### Thanks + +[Phil Bagwell](https://www.youtube.com/watch?v=K2NYwP90bNs), for his inspiration +and research in persistent data structures. + +[Hugh Jackson](https://github.com/hughfdjackson/), for providing the npm package +name. If you're looking for his unsupported package, see [this repository](https://github.com/hughfdjackson/immutable). diff --git a/.pnpm-store/v3/files/a7/53fe9eca02a3bc20759f87930c43f8f48f2d818e26a4862190f35d7afe1e7575b7912617c898c5c2c5023694461aa3440f39bd2daeb05c2994365f55f92282 b/.pnpm-store/v3/files/a7/53fe9eca02a3bc20759f87930c43f8f48f2d818e26a4862190f35d7afe1e7575b7912617c898c5c2c5023694461aa3440f39bd2daeb05c2994365f55f92282 new file mode 100644 index 00000000..760187e1 --- /dev/null +++ b/.pnpm-store/v3/files/a7/53fe9eca02a3bc20759f87930c43f8f48f2d818e26a4862190f35d7afe1e7575b7912617c898c5c2c5023694461aa3440f39bd2daeb05c2994365f55f92282 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","16":"9"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 2B QC mC 3B","2":"F iC jC kC lC"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC"},H:{"1":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"document.head",D:true}; diff --git a/.pnpm-store/v3/files/a7/61906f1c9063a47357603ee8f3c51a4d25eb593d3b47d8f7301e3484d263b0482adad57b1ca438aea071e5496ae4a73627d077b36b399a8fa0bae0a71fb02e b/.pnpm-store/v3/files/a7/61906f1c9063a47357603ee8f3c51a4d25eb593d3b47d8f7301e3484d263b0482adad57b1ca438aea071e5496ae4a73627d077b36b399a8fa0bae0a71fb02e new file mode 100644 index 00000000..5828e462 --- /dev/null +++ b/.pnpm-store/v3/files/a7/61906f1c9063a47357603ee8f3c51a4d25eb593d3b47d8f7301e3484d263b0482adad57b1ca438aea071e5496ae4a73627d077b36b399a8fa0bae0a71fb02e @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"SC","8":"J D E F","260":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","260":"C K L G","1284":"M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 y z H 1B BC CC UC","8":"TC 7B VC WC","516":"l m n o p v w x","4612":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k"},D:{"1":"0 1 2 3 4 5 6 7 8 sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","8":"9 I J D E F A B C K L G M N O AB","132":"q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB"},E:{"1":"K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","8":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B"},F:{"1":"F B C nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","132":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB"},G:{"8":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC","2049":"zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H FD","8":"7B I AD BD CD DD RC ED"},J:{"1":"A","8":"D"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"8":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:1,C:"Datalist element",D:true}; diff --git a/.pnpm-store/v3/files/a7/7733d09579bf0fd77a8b815372dd9e9f999018c4fa7f32749e2673006b3a25d73ea365af3181a96b3d5f831617b7fe88a501bbbf7863c1e1f326b08896c28f-index.json b/.pnpm-store/v3/files/a7/7733d09579bf0fd77a8b815372dd9e9f999018c4fa7f32749e2673006b3a25d73ea365af3181a96b3d5f831617b7fe88a501bbbf7863c1e1f326b08896c28f-index.json new file mode 100644 index 00000000..a79d3ae0 --- /dev/null +++ b/.pnpm-store/v3/files/a7/7733d09579bf0fd77a8b815372dd9e9f999018c4fa7f32749e2673006b3a25d73ea365af3181a96b3d5f831617b7fe88a501bbbf7863c1e1f326b08896c28f-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001725533,"integrity":"sha512-txMJJrZgavEhj/NNGDrQdf6TTioNOY9MLDz5oQSN9g27QsPlawzM72tkT23oYk3CwOG9FRa9Lh8s/3mATJ6N+A==","mode":420,"size":1074},"dist/index.js":{"checkedAt":1708001725533,"integrity":"sha512-UJ/0cWU4+AeW4oH8mt+M/S4zk4QXfE12lVsZUK4psUbZdDZzS2bZY9Rl6FgIGOx5Zf9LHRTKqCm3GpXWoLkhCg==","mode":420,"size":13073},"package.json":{"checkedAt":1708001725534,"integrity":"sha512-IzftLWrJSZCTNmLFghi12jV277lOcVPYs2EHBDwlLstgtwBsgDN962UvdMJJWRRuuNYKU4ZHOjurOGUF+ywXEg==","mode":420,"size":1378},"readme.md":{"checkedAt":1708001725534,"integrity":"sha512-o3bc5I0HIc0zg+vpr0usNw9xa0QbIyjmwJ5CNxb+Pzs/qVAGRD4XXIS0kIGntfp8AA8ekMWmxXJ37xFHO8iB+g==","mode":420,"size":2629},"dist/index.d.ts":{"checkedAt":1708001725534,"integrity":"sha512-OBjsJkBlis+KCm5XYpLbyBQ1pSFxjOXMhtWdNhiu3bUhp9DqyHOgGDpUgxhjg7HfZL5AHDwY+/4TQB1X6hLniQ==","mode":420,"size":1659}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/a7/9b0a4f45bb42313fa8577d95fa6b3f4068b3b8a4575c8d82eb8ffb221b771f741c95606c3130613356eb1a5eac29c9eb7cc0f507904a9482bda28f54eba93f b/.pnpm-store/v3/files/a7/9b0a4f45bb42313fa8577d95fa6b3f4068b3b8a4575c8d82eb8ffb221b771f741c95606c3130613356eb1a5eac29c9eb7cc0f507904a9482bda28f54eba93f new file mode 100644 index 00000000..c0d4a3c0 --- /dev/null +++ b/.pnpm-store/v3/files/a7/9b0a4f45bb42313fa8577d95fa6b3f4068b3b8a4575c8d82eb8ffb221b771f741c95606c3130613356eb1a5eac29c9eb7cc0f507904a9482bda28f54eba93f @@ -0,0 +1 @@ +module.exports={C:{"48":0.00207,"61":0.00207,"67":0.00207,"72":0.00207,"91":0.00207,"107":0.0062,"109":0.00413,"110":0.00827,"113":0.00413,"115":0.04961,"116":0.0124,"118":0.00207,"119":0.00207,"120":0.06614,"121":0.52502,"122":0.10748,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 62 63 64 65 66 68 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 111 112 114 117 123 124 125 3.5 3.6"},D:{"40":0.0062,"43":0.00207,"50":0.00413,"58":0.00413,"63":0.00207,"64":0.0124,"65":0.00207,"68":0.02274,"69":0.00207,"70":0.00413,"72":0.0062,"73":0.00827,"74":0.00413,"76":0.00207,"77":0.00827,"79":0.05788,"80":0.00207,"81":0.00827,"83":0.0186,"86":0.01654,"87":0.08061,"88":0.04547,"90":0.00207,"91":0.0062,"92":0.00413,"93":0.05994,"94":0.00413,"95":0.00413,"96":0.01034,"98":0.00413,"99":0.03101,"100":0.00413,"101":0.00207,"102":0.01034,"103":0.04547,"104":0.00827,"105":0.0062,"106":0.05168,"107":0.05168,"108":0.09508,"109":0.51468,"110":0.06614,"111":0.05788,"112":0.0248,"113":0.01447,"114":0.03101,"115":0.01654,"116":0.03101,"117":0.06201,"118":0.05168,"119":0.28111,"120":11.91419,"121":1.21746,"122":0.00207,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 44 45 46 47 48 49 51 52 53 54 55 56 57 59 60 61 62 66 67 71 75 78 84 85 89 97 123 124"},F:{"46":0.01447,"79":0.00207,"95":0.0062,"103":0.03927,"104":0.00207,"105":0.08888,"106":0.43407,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00827,"13":0.00207,"14":0.00413,"15":0.0062,"16":0.00413,"17":0.00413,"18":0.03927,"84":0.0062,"89":0.00207,"90":0.00827,"92":0.05374,"100":0.00413,"103":0.0062,"104":0.00207,"107":0.0062,"109":0.01034,"110":0.00827,"111":0.00207,"112":0.00207,"113":0.00207,"114":0.00827,"115":0.0062,"116":0.0062,"117":0.01034,"118":0.06614,"119":0.05788,"120":1.81069,"121":0.25838,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 105 106 108"},E:{"13":0.00207,"14":0.00413,"15":0.00413,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 16.0 16.2 17.4","5.1":0.01034,"13.1":0.00413,"14.1":0.01654,"15.1":0.0062,"15.2-15.3":0.00207,"15.4":0.02894,"15.5":0.14056,"15.6":0.18603,"16.1":0.0186,"16.3":0.00827,"16.4":0.00413,"16.5":0.00827,"16.6":0.06201,"17.0":0.0248,"17.1":0.04961,"17.2":0.04547,"17.3":0.00413},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00151,"5.0-5.1":0.00227,"6.0-6.1":0.00378,"7.0-7.1":0.00529,"8.1-8.4":0.00076,"9.0-9.2":0.00453,"9.3":0.01737,"10.0-10.2":0.00151,"10.3":0.02719,"11.0-11.2":0.01057,"11.3-11.4":0.01133,"12.0-12.1":0.0068,"12.2-12.5":0.13445,"13.0-13.1":0.00227,"13.2":0.02493,"13.3":0.0068,"13.4-13.7":0.03021,"14.0-14.4":0.05287,"14.5-14.8":0.08082,"15.0-15.1":0.03474,"15.2-15.3":0.04003,"15.4":0.04683,"15.5":0.06194,"15.6-15.8":0.48265,"16.0":0.14502,"16.1":0.30892,"16.2":0.14049,"16.3":0.26134,"16.4":0.05816,"16.5":0.12387,"16.6-16.7":1.01364,"17.0":0.16844,"17.1":1.73647,"17.2":2.35055,"17.3":0.15106},P:{"4":0.2166,"20":0.10314,"21":0.23723,"22":0.34037,"23":2.1041,_:"5.0-5.4 8.2 10.1","6.2-6.4":0.01031,"7.2-7.4":0.56728,"9.2":0.01031,"11.1-11.2":0.0722,"12.0":0.01031,"13.0":0.02063,"14.0":0.04126,"15.0":0.01031,"16.0":0.05157,"17.0":0.12377,"18.0":0.04126,"19.0":0.37131},I:{"0":0.09479,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00025},A:{"11":0.0248,_:"6 7 8 9 10 5.5"},K:{"0":2.02425,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00793,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.99968},H:{"0":0.11},L:{"0":64.95306},R:{_:"0"},M:{"0":0.07141}}; diff --git a/.pnpm-store/v3/files/a7/a6b183d1486efb5c31096dd0ad40e18b006a6992ee17ec3f55e98b9f4e577beddf9f9d01d0496ed0d0e04cb24e65fcd669742140becc062002219991597b79 b/.pnpm-store/v3/files/a7/a6b183d1486efb5c31096dd0ad40e18b006a6992ee17ec3f55e98b9f4e577beddf9f9d01d0496ed0d0e04cb24e65fcd669742140becc062002219991597b79 new file mode 100644 index 00000000..30dfd52c --- /dev/null +++ b/.pnpm-store/v3/files/a7/a6b183d1486efb5c31096dd0ad40e18b006a6992ee17ec3f55e98b9f4e577beddf9f9d01d0496ed0d0e04cb24e65fcd669742140becc062002219991597b79 @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const errors_js_1 = require("../util/errors.js"); +function validateCrit(Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader) { + if (joseHeader.crit !== undefined && protectedHeader.crit === undefined) { + throw new Err('"crit" (Critical) Header Parameter MUST be integrity protected'); + } + if (!protectedHeader || protectedHeader.crit === undefined) { + return new Set(); + } + if (!Array.isArray(protectedHeader.crit) || + protectedHeader.crit.length === 0 || + protectedHeader.crit.some((input) => typeof input !== 'string' || input.length === 0)) { + throw new Err('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present'); + } + let recognized; + if (recognizedOption !== undefined) { + recognized = new Map([...Object.entries(recognizedOption), ...recognizedDefault.entries()]); + } + else { + recognized = recognizedDefault; + } + for (const parameter of protectedHeader.crit) { + if (!recognized.has(parameter)) { + throw new errors_js_1.JOSENotSupported(`Extension Header Parameter "${parameter}" is not recognized`); + } + if (joseHeader[parameter] === undefined) { + throw new Err(`Extension Header Parameter "${parameter}" is missing`); + } + if (recognized.get(parameter) && protectedHeader[parameter] === undefined) { + throw new Err(`Extension Header Parameter "${parameter}" MUST be integrity protected`); + } + } + return new Set(protectedHeader.crit); +} +exports.default = validateCrit; diff --git a/.pnpm-store/v3/files/a7/f7970c7acb4574fc3ad0b2f3d9f58208035671cf53d85a0ed8edbf5bf1f636f30582e436f3c4c1e4bf934a20fbbe64e6e6540743109905e5497a8c959f6c58 b/.pnpm-store/v3/files/a7/f7970c7acb4574fc3ad0b2f3d9f58208035671cf53d85a0ed8edbf5bf1f636f30582e436f3c4c1e4bf934a20fbbe64e6e6540743109905e5497a8c959f6c58 new file mode 100644 index 00000000..105e6acb --- /dev/null +++ b/.pnpm-store/v3/files/a7/f7970c7acb4574fc3ad0b2f3d9f58208035671cf53d85a0ed8edbf5bf1f636f30582e436f3c4c1e4bf934a20fbbe64e6e6540743109905e5497a8c959f6c58 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"Decorators",D:true}; diff --git a/.pnpm-store/v3/files/a8/00fb08c0683aa2edd7a52ebafef12d6d058e19dd1e7dff8bf1eea04f72b063de1e2b3ffeca2325ab4e56d314c4a38377bfcac730bc34ccc45200e984d38e2b b/.pnpm-store/v3/files/a8/00fb08c0683aa2edd7a52ebafef12d6d058e19dd1e7dff8bf1eea04f72b063de1e2b3ffeca2325ab4e56d314c4a38377bfcac730bc34ccc45200e984d38e2b new file mode 100644 index 00000000..d44509bd --- /dev/null +++ b/.pnpm-store/v3/files/a8/00fb08c0683aa2edd7a52ebafef12d6d058e19dd1e7dff8bf1eea04f72b063de1e2b3ffeca2325ab4e56d314c4a38377bfcac730bc34ccc45200e984d38e2b @@ -0,0 +1,91 @@ +import { concat, uint64be } from '../lib/buffer_utils.js'; +import checkIvLength from '../lib/check_iv_length.js'; +import checkCekLength from './check_cek_length.js'; +import timingSafeEqual from './timing_safe_equal.js'; +import { JOSENotSupported, JWEDecryptionFailed, JWEInvalid } from '../util/errors.js'; +import crypto, { isCryptoKey } from './webcrypto.js'; +import { checkEncCryptoKey } from '../lib/crypto_key.js'; +import invalidKeyInput from '../lib/invalid_key_input.js'; +import { types } from './is_key_like.js'; +async function cbcDecrypt(enc, cek, ciphertext, iv, tag, aad) { + if (!(cek instanceof Uint8Array)) { + throw new TypeError(invalidKeyInput(cek, 'Uint8Array')); + } + const keySize = parseInt(enc.slice(1, 4), 10); + const encKey = await crypto.subtle.importKey('raw', cek.subarray(keySize >> 3), 'AES-CBC', false, ['decrypt']); + const macKey = await crypto.subtle.importKey('raw', cek.subarray(0, keySize >> 3), { + hash: `SHA-${keySize << 1}`, + name: 'HMAC', + }, false, ['sign']); + const macData = concat(aad, iv, ciphertext, uint64be(aad.length << 3)); + const expectedTag = new Uint8Array((await crypto.subtle.sign('HMAC', macKey, macData)).slice(0, keySize >> 3)); + let macCheckPassed; + try { + macCheckPassed = timingSafeEqual(tag, expectedTag); + } + catch { + } + if (!macCheckPassed) { + throw new JWEDecryptionFailed(); + } + let plaintext; + try { + plaintext = new Uint8Array(await crypto.subtle.decrypt({ iv, name: 'AES-CBC' }, encKey, ciphertext)); + } + catch { + } + if (!plaintext) { + throw new JWEDecryptionFailed(); + } + return plaintext; +} +async function gcmDecrypt(enc, cek, ciphertext, iv, tag, aad) { + let encKey; + if (cek instanceof Uint8Array) { + encKey = await crypto.subtle.importKey('raw', cek, 'AES-GCM', false, ['decrypt']); + } + else { + checkEncCryptoKey(cek, enc, 'decrypt'); + encKey = cek; + } + try { + return new Uint8Array(await crypto.subtle.decrypt({ + additionalData: aad, + iv, + name: 'AES-GCM', + tagLength: 128, + }, encKey, concat(ciphertext, tag))); + } + catch { + throw new JWEDecryptionFailed(); + } +} +const decrypt = async (enc, cek, ciphertext, iv, tag, aad) => { + if (!isCryptoKey(cek) && !(cek instanceof Uint8Array)) { + throw new TypeError(invalidKeyInput(cek, ...types, 'Uint8Array')); + } + if (!iv) { + throw new JWEInvalid('JWE Initialization Vector missing'); + } + if (!tag) { + throw new JWEInvalid('JWE Authentication Tag missing'); + } + checkIvLength(enc, iv); + switch (enc) { + case 'A128CBC-HS256': + case 'A192CBC-HS384': + case 'A256CBC-HS512': + if (cek instanceof Uint8Array) + checkCekLength(cek, parseInt(enc.slice(-3), 10)); + return cbcDecrypt(enc, cek, ciphertext, iv, tag, aad); + case 'A128GCM': + case 'A192GCM': + case 'A256GCM': + if (cek instanceof Uint8Array) + checkCekLength(cek, parseInt(enc.slice(1, 4), 10)); + return gcmDecrypt(enc, cek, ciphertext, iv, tag, aad); + default: + throw new JOSENotSupported('Unsupported JWE Content Encryption Algorithm'); + } +}; +export default decrypt; diff --git a/.pnpm-store/v3/files/a8/072483d18d1f6b6abf216e73da9e39384b4ec80bc94f641377a891ad52f6cd44bdca9b6c8707eae034e25e89f7b508a305467c183bb2d14c09bb9994789436 b/.pnpm-store/v3/files/a8/072483d18d1f6b6abf216e73da9e39384b4ec80bc94f641377a891ad52f6cd44bdca9b6c8707eae034e25e89f7b508a305467c183bb2d14c09bb9994789436 new file mode 100644 index 00000000..194450b7 --- /dev/null +++ b/.pnpm-store/v3/files/a8/072483d18d1f6b6abf216e73da9e39384b4ec80bc94f641377a891ad52f6cd44bdca9b6c8707eae034e25e89f7b508a305467c183bb2d14c09bb9994789436 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","66":"q r s t BB CB DB"},E:{"2":"9 I J E F A B C K L G XC DC YC ZC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","130":"D aC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","130":"qC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"seamless attribute for iframes",D:true}; diff --git a/.pnpm-store/v3/files/a8/1d6ebbb61b849ae633b210bb9d326a7601d527ba19743f7f8b28560f610ee25dfc6c00974a9a2ad2ce2c82cbee67f017bbfc6dea38cc926245dcf7a226e89f b/.pnpm-store/v3/files/a8/1d6ebbb61b849ae633b210bb9d326a7601d527ba19743f7f8b28560f610ee25dfc6c00974a9a2ad2ce2c82cbee67f017bbfc6dea38cc926245dcf7a226e89f new file mode 100644 index 00000000..9034f0af --- /dev/null +++ b/.pnpm-store/v3/files/a8/1d6ebbb61b849ae633b210bb9d326a7601d527ba19743f7f8b28560f610ee25dfc6c00974a9a2ad2ce2c82cbee67f017bbfc6dea38cc926245dcf7a226e89f @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","129":"B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC ZC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B iC jC kC lC 2B QC mC"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Strict Transport Security",D:true}; diff --git a/.pnpm-store/v3/files/a8/22bfa9a42f5c6edd84f06b05321961fe5e8e628812ae177ba10233b6f97b42ef6ff7fce373258e6db1be2f716c564b9bba4b182c45693e1322d6c35a32ed7e b/.pnpm-store/v3/files/a8/22bfa9a42f5c6edd84f06b05321961fe5e8e628812ae177ba10233b6f97b42ef6ff7fce373258e6db1be2f716c564b9bba4b182c45693e1322d6c35a32ed7e new file mode 100644 index 00000000..b1443390 --- /dev/null +++ b/.pnpm-store/v3/files/a8/22bfa9a42f5c6edd84f06b05321961fe5e8e628812ae177ba10233b6f97b42ef6ff7fce373258e6db1be2f716c564b9bba4b182c45693e1322d6c35a32ed7e @@ -0,0 +1 @@ +module.exports={C:{"78":0.01302,"114":0.00434,"115":0.04774,"119":0.00868,"120":0.01736,"121":2.23076,"122":0.42966,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 116 117 118 123 124 125 3.5 3.6"},D:{"49":0.00434,"65":0.00434,"79":0.00434,"80":0.05208,"85":0.00434,"87":0.00434,"93":0.00434,"94":0.01302,"98":0.01736,"99":0.01302,"100":0.00434,"101":0.00868,"103":0.13888,"108":0.00434,"109":0.4557,"111":0.00868,"112":0.00434,"113":0.01302,"114":0.00434,"115":0.03472,"116":0.25172,"117":0.1085,"118":0.18662,"119":0.7595,"120":15.7976,"121":1.20218,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 81 83 84 86 88 89 90 91 92 95 96 97 102 104 105 106 107 110 122 123 124"},F:{"105":0.38626,"106":0.19964,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00434,"98":0.00434,"103":0.00868,"108":0.00434,"109":0.01302,"110":0.00868,"117":0.00868,"119":0.16058,"120":7.80332,"121":1.01556,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 104 105 106 107 111 112 113 114 115 116 118"},E:{"11":0.00434,"14":0.22134,"15":0.01736,_:"0 4 5 6 7 8 9 10 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.03038,"13.1":0.07378,"14.1":0.33852,"15.1":0.0217,"15.2-15.3":0.0217,"15.4":0.03472,"15.5":0.3689,"15.6":0.7812,"16.0":0.0434,"16.1":0.98084,"16.2":0.08246,"16.3":0.29078,"16.4":0.1085,"16.5":0.41664,"16.6":1.99206,"17.0":0.12152,"17.1":1.80978,"17.2":3.46332,"17.3":0.2387},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00732,"5.0-5.1":0.01097,"6.0-6.1":0.01829,"7.0-7.1":0.02561,"8.1-8.4":0.00366,"9.0-9.2":0.02195,"9.3":0.08413,"10.0-10.2":0.00732,"10.3":0.13169,"11.0-11.2":0.05121,"11.3-11.4":0.05487,"12.0-12.1":0.03292,"12.2-12.5":0.65112,"13.0-13.1":0.01097,"13.2":0.12071,"13.3":0.03292,"13.4-13.7":0.14632,"14.0-14.4":0.25606,"14.5-14.8":0.3914,"15.0-15.1":0.16827,"15.2-15.3":0.19387,"15.4":0.22679,"15.5":0.29995,"15.6-15.8":2.33745,"16.0":0.70233,"16.1":1.49611,"16.2":0.68038,"16.3":1.26566,"16.4":0.28166,"16.5":0.59991,"16.6-16.7":4.90901,"17.0":0.81573,"17.1":8.40969,"17.2":11.38363,"17.3":0.7316},P:{"4":0.24962,"20":0.01135,"21":0.02269,"22":0.06808,"23":4.19808,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","19.0":0.01135},I:{"0":0.00563,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.01302,_:"6 7 8 9 10 5.5"},K:{"0":0.17675,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{_:"0"},H:{"0":0.01},L:{"0":14.98512},R:{_:"0"},M:{"0":0.27729}}; diff --git a/.pnpm-store/v3/files/a8/c83beaeeb85ac13a772d1bb5d26a0f35d581d603f7b3d097f057fd4c77921a4136d4f00b3dca122f62be63508239707d2a8e6654d5df1e28f76ef92302cd46 b/.pnpm-store/v3/files/a8/c83beaeeb85ac13a772d1bb5d26a0f35d581d603f7b3d097f057fd4c77921a4136d4f00b3dca122f62be63508239707d2a8e6654d5df1e28f76ef92302cd46 new file mode 100644 index 00000000..59e7c3fd --- /dev/null +++ b/.pnpm-store/v3/files/a8/c83beaeeb85ac13a772d1bb5d26a0f35d581d603f7b3d097f057fd4c77921a4136d4f00b3dca122f62be63508239707d2a8e6654d5df1e28f76ef92302cd46 @@ -0,0 +1 @@ +module.exports={A:{A:{"388":"A B","900":"J D E F SC"},B:{"388":"C K L G M N O","900":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"772":"0 1 2 3 4 5 6 7 8 oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","900":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB VC WC"},D:{"900":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"772":"A","900":"9 I J D E F B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"16":"F iC","129":"B C jC kC lC 2B QC mC 3B","900":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"900":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"129":"9C"},I:{"900":"7B I H AD BD CD DD RC ED FD"},J:{"900":"D A"},K:{"129":"A B C 2B QC 3B","900":"u"},L:{"900":"H"},M:{"772":"1B"},N:{"388":"A B"},O:{"900":"4B"},P:{"900":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"900":"FC"},R:{"900":"SD"},S:{"772":"UD","900":"TD"}},B:2,C:"CSS page-break properties",D:true}; diff --git a/.pnpm-store/v3/files/a8/f114d1c1a0ac1c01f604bbf96a06b774ce1935a4ce61d8e0decef33261d62058908938ed3dee5e4a76e705234895ec6acbd0beaca753f73a766d9b041b45ed b/.pnpm-store/v3/files/a8/f114d1c1a0ac1c01f604bbf96a06b774ce1935a4ce61d8e0decef33261d62058908938ed3dee5e4a76e705234895ec6acbd0beaca753f73a766d9b041b45ed new file mode 100644 index 00000000..dcd3bbdc --- /dev/null +++ b/.pnpm-store/v3/files/a8/f114d1c1a0ac1c01f604bbf96a06b774ce1935a4ce61d8e0decef33261d62058908938ed3dee5e4a76e705234895ec6acbd0beaca753f73a766d9b041b45ed @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","36":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","33":"AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","130":"9 TC 7B I J D E F A B C K L G M N O VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","36":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC","36":"9 J D E F A YC ZC aC bC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","36":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC","36":"E RC oC pC qC rC sC tC uC"},H:{"2":"9C"},I:{"1":"H","36":"7B I AD BD CD DD RC ED FD"},J:{"36":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"36":"A B"},O:{"1":"4B"},P:{"1":"q r s t ID JD KD EC LD MD ND OD PD 5B 6B QD RD","36":"I GD HD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","33":"TD"}},B:5,C:"::placeholder CSS pseudo-element",D:true}; diff --git a/.pnpm-store/v3/files/a8/fd4dc611696b82138b4f7c0a5ef4bc73b09a2194698ac9c20b243b806e8bfb27ac95511303365234a5b7c96bd63d38b6e506dad02a2239663783e7083794bf b/.pnpm-store/v3/files/a8/fd4dc611696b82138b4f7c0a5ef4bc73b09a2194698ac9c20b243b806e8bfb27ac95511303365234a5b7c96bd63d38b6e506dad02a2239663783e7083794bf new file mode 100644 index 00000000..a817c852 --- /dev/null +++ b/.pnpm-store/v3/files/a8/fd4dc611696b82138b4f7c0a5ef4bc73b09a2194698ac9c20b243b806e8bfb27ac95511303365234a5b7c96bd63d38b6e506dad02a2239663783e7083794bf @@ -0,0 +1,2483 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +/** + * Per-thread singleton response handler that all file system requests + * reference. + */ +typedef struct { + js_env_t *env; + js_ref_t *ctx; + js_ref_t *on_response; +} bare_fs_t; + +typedef struct { + uv_fs_t req; + + js_env_t *env; + js_ref_t *ctx; + js_ref_t *on_response; + + uint32_t id; + + js_ref_t *data; +} bare_fs_req_t; + +typedef utf8_t bare_fs_path_t[4096 + 1 /* NULL */]; + +typedef struct { + uv_dir_t *dir; +} bare_fs_dir_t; + +typedef struct { + uv_fs_event_t handle; + + js_env_t *env; + js_ref_t *ctx; + js_ref_t *on_event; + js_ref_t *on_close; +} bare_fs_watcher_t; + +typedef uv_dirent_t bare_fs_dirent_t; + +static inline void +on_fs_response (uv_fs_t *uv_req) { + int err; + + bare_fs_req_t *req = (bare_fs_req_t *) uv_req; + + js_env_t *env = req->env; + + js_handle_scope_t *scope; + err = js_open_handle_scope(env, &scope); + assert(err == 0); + + js_value_t *ctx; + err = js_get_reference_value(env, req->ctx, &ctx); + assert(err == 0); + + js_value_t *on_response; + err = js_get_reference_value(env, req->on_response, &on_response); + assert(err == 0); + + js_value_t *args[3]; + + err = js_create_uint32(env, req->id, &args[0]); + assert(err == 0); + + if (uv_req->result < 0) { + js_value_t *code; + err = js_create_string_utf8(env, (utf8_t *) uv_err_name(uv_req->result), -1, &code); + assert(err == 0); + + js_value_t *message; + err = js_create_string_utf8(env, (utf8_t *) uv_strerror(uv_req->result), -1, &message); + assert(err == 0); + + err = js_create_error(env, code, message, &args[1]); + assert(err == 0); + } else { + err = js_get_null(env, &args[1]); + assert(err == 0); + } + + err = js_create_int32(env, uv_req->result, &args[2]); + assert(err == 0); + + uv_fs_req_cleanup(uv_req); + + if (req->data) { + err = js_delete_reference(env, req->data); + assert(err == 0); + + req->data = NULL; + } + + js_call_function(req->env, ctx, on_response, 3, args, NULL); + + err = js_close_handle_scope(req->env, scope); + assert(err == 0); +} + +static void +on_fs_stat_response (uv_fs_t *uv_req) { + int err; + + bare_fs_req_t *req = (bare_fs_req_t *) uv_req; + + js_env_t *env = req->env; + + if (uv_req->result == 0) { + js_value_t *data; + err = js_get_reference_value(env, req->data, &data); + assert(err == 0); + + uint32_t i = 0; + +#define V(property) \ + { \ + js_value_t *value; \ + err = js_create_int64(env, uv_req->statbuf.st_##property, &value); \ + assert(err == 0); \ +\ + err = js_set_element(env, data, i++, value); \ + assert(err == 0); \ + } + V(dev) + V(mode) + V(nlink) + V(uid) + V(gid) + V(rdev) + V(blksize) + V(ino) + V(size) + V(blocks) +#undef V + +#define V(property) \ + { \ + uv_timespec_t time = uv_req->statbuf.st_##property; \ +\ + js_value_t *value; \ + err = js_create_int64(env, time.tv_sec * 1e3 + time.tv_nsec / 1e6, &value); \ + assert(err == 0); \ +\ + err = js_set_element(env, data, i++, value); \ + assert(err == 0); \ + } + V(atim) + V(mtim) + V(ctim) + V(birthtim) +#undef V + } + + on_fs_response(uv_req); +} + +static void +on_fs_realpath_response (uv_fs_t *uv_req) { + int err; + + bare_fs_req_t *req = (bare_fs_req_t *) uv_req; + + js_env_t *env = req->env; + + if (uv_req->result == 0) { + js_value_t *data; + err = js_get_reference_value(env, req->data, &data); + assert(err == 0); + + char *path; + err = js_get_typedarray_info(env, data, NULL, (void **) &path, NULL, NULL, NULL); + assert(err == 0); + + strncpy(path, uv_req->ptr, sizeof(bare_fs_path_t)); + } + + on_fs_response(uv_req); +} + +static void +on_fs_readlink_response (uv_fs_t *uv_req) { + int err; + + bare_fs_req_t *req = (bare_fs_req_t *) uv_req; + + js_env_t *env = req->env; + + if (uv_req->result == 0) { + js_value_t *data; + err = js_get_reference_value(env, req->data, &data); + assert(err == 0); + + char *path; + err = js_get_typedarray_info(env, data, NULL, (void **) &path, NULL, NULL, NULL); + assert(err == 0); + + strncpy(path, uv_req->ptr, sizeof(bare_fs_path_t)); + } + + on_fs_response(uv_req); +} + +static void +on_fs_opendir_response (uv_fs_t *uv_req) { + int err; + + bare_fs_req_t *req = (bare_fs_req_t *) uv_req; + + js_env_t *env = req->env; + + if (uv_req->result == 0) { + js_value_t *data; + err = js_get_reference_value(env, req->data, &data); + assert(err == 0); + + bare_fs_dir_t *dir; + err = js_get_typedarray_info(env, data, NULL, (void **) &dir, NULL, NULL, NULL); + assert(err == 0); + + dir->dir = uv_req->ptr; + } + + on_fs_response(uv_req); +} + +static void +on_fs_readdir_response (uv_fs_t *uv_req) { + int err; + + bare_fs_req_t *req = (bare_fs_req_t *) uv_req; + + js_env_t *env = req->env; + + if (uv_req->result > 0) { + js_value_t *data; + err = js_get_reference_value(env, req->data, &data); + assert(err == 0); + + uv_dir_t *dir = uv_req->ptr; + + for (size_t i = 0, n = uv_req->result; i < n; i++) { + uv_dirent_t *dirent = &dir->dirents[i]; + + js_value_t *entry; + err = js_create_object(env, &entry); + assert(err == 0); + + err = js_set_element(env, data, i, entry); + assert(err == 0); + + size_t name_len = strlen(dirent->name); + + js_value_t *name; + void *data; + err = js_create_arraybuffer(env, name_len, &data, &name); + assert(err == 0); + + memcpy(data, dirent->name, name_len); + + err = js_set_named_property(env, entry, "name", name); + assert(err == 0); + + js_value_t *type; + err = js_create_uint32(env, dirent->type, &type); + assert(err == 0); + + err = js_set_named_property(env, entry, "type", type); + assert(err == 0); + } + } + + on_fs_response(uv_req); +} + +static void +on_fs_watcher_event (uv_fs_event_t *handle, const char *filename, int events, int status) { + int err; + + bare_fs_watcher_t *watcher = (bare_fs_watcher_t *) handle; + + js_env_t *env = watcher->env; + + js_handle_scope_t *scope; + err = js_open_handle_scope(env, &scope); + assert(err == 0); + + js_value_t *ctx; + err = js_get_reference_value(env, watcher->ctx, &ctx); + assert(err == 0); + + js_value_t *on_event; + err = js_get_reference_value(env, watcher->on_event, &on_event); + assert(err == 0); + + js_value_t *args[3]; + + if (status < 0) { + js_value_t *code; + err = js_create_string_utf8(env, (utf8_t *) uv_err_name(status), -1, &code); + assert(err == 0); + + js_value_t *message; + err = js_create_string_utf8(env, (utf8_t *) uv_strerror(status), -1, &message); + assert(err == 0); + + err = js_create_error(env, code, message, &args[0]); + assert(err == 0); + + err = js_create_int32(env, 0, &args[1]); + assert(err == 0); + + err = js_get_null(env, &args[2]); + assert(err == 0); + } else { + err = js_get_null(env, &args[0]); + assert(err == 0); + + err = js_create_int32(env, events, &args[1]); + assert(err == 0); + + size_t len = strlen(filename); + + void *data; + err = js_create_arraybuffer(env, len, &data, &args[2]); + assert(err == 0); + + memcpy(data, (void *) filename, len); + } + + js_call_function(env, ctx, on_event, 3, args, NULL); + + err = js_close_handle_scope(env, scope); + assert(err == 0); +} + +static void +on_fs_watcher_close (uv_handle_t *handle) { + int err; + + bare_fs_watcher_t *watcher = (bare_fs_watcher_t *) handle; + + js_env_t *env = watcher->env; + + js_handle_scope_t *scope; + err = js_open_handle_scope(env, &scope); + assert(err == 0); + + js_value_t *ctx; + err = js_get_reference_value(env, watcher->ctx, &ctx); + assert(err == 0); + + js_value_t *on_close; + err = js_get_reference_value(env, watcher->on_close, &on_close); + assert(err == 0); + + js_call_function(env, ctx, on_close, 0, NULL, NULL); + + err = js_delete_reference(env, watcher->on_event); + assert(err == 0); + + err = js_delete_reference(env, watcher->on_close); + assert(err == 0); + + err = js_delete_reference(env, watcher->ctx); + assert(err == 0); + + err = js_close_handle_scope(env, scope); + assert(err == 0); +} + +static js_value_t * +bare_fs_init (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_t *fs; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &fs, NULL, NULL, NULL); + assert(err == 0); + + fs->env = env; + + err = js_create_reference(env, argv[1], 1, &fs->ctx); + assert(err == 0); + + err = js_create_reference(env, argv[2], 1, &fs->on_response); + assert(err == 0); + + return NULL; +} + +static js_value_t * +bare_fs_destroy (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + bare_fs_t *fs; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &fs, NULL, NULL, NULL); + assert(err == 0); + + err = js_delete_reference(env, fs->on_response); + assert(err == 0); + + err = js_delete_reference(env, fs->ctx); + assert(err == 0); + + return NULL; +} + +static js_value_t * +bare_fs_req_init (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_t *fs; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &fs, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[1], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + // Copy the singleton response handler to the request. + req->env = fs->env; + req->ctx = fs->ctx; + req->on_response = fs->on_response; + + return NULL; +} + +static js_value_t * +bare_fs_open (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 4; + js_value_t *argv[4]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 4); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + int32_t flags; + err = js_get_value_int32(env, argv[2], &flags); + assert(err == 0); + + int32_t mode; + err = js_get_value_int32(env, argv[3], &mode); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_open(loop, (uv_fs_t *) req, (char *) path, flags, mode, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_open_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + int32_t flags; + err = js_get_value_int32(env, argv[1], &flags); + assert(err == 0); + + int32_t mode; + err = js_get_value_int32(env, argv[2], &mode); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_open(loop, &req, (char *) path, flags, mode, NULL); + + js_value_t *res = NULL; + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } else { + err = js_create_int32(env, req.result, &res); + assert(err == 0); + } + + uv_fs_req_cleanup(&req); + + return res; +} + +static js_value_t * +bare_fs_close (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + uint32_t fd; + err = js_get_value_uint32(env, argv[1], &fd); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_close(loop, (uv_fs_t *) req, fd, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_close_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + uint32_t fd; + err = js_get_value_uint32(env, argv[0], &fd); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_close(loop, &req, fd, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_access (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + int32_t mode; + err = js_get_value_int32(env, argv[2], &mode); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_access(loop, (uv_fs_t *) req, (char *) path, mode, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_access_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + int32_t mode; + err = js_get_value_int32(env, argv[1], &mode); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_access(loop, &req, (char *) path, mode, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_read (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 6; + js_value_t *argv[6]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 6); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + uint32_t fd; + err = js_get_value_uint32(env, argv[1], &fd); + assert(err == 0); + + uint8_t *data; + size_t data_len; + err = js_get_typedarray_info(env, argv[2], NULL, (void **) &data, &data_len, NULL, NULL); + assert(err == 0); + + uint32_t offset; + err = js_get_value_uint32(env, argv[3], &offset); + assert(err == 0); + + uint32_t len; + err = js_get_value_uint32(env, argv[4], &len); + assert(err == 0); + + if (offset >= data_len) len = 0; + else if (offset + len >= data_len) len = data_len - offset; + + int64_t pos; + err = js_get_value_int64(env, argv[5], &pos); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_buf_t buf = uv_buf_init((void *) (data + offset), len); + + uv_fs_read(loop, (uv_fs_t *) req, fd, &buf, 1, pos, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_read_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 5; + js_value_t *argv[5]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 5); + + uint32_t fd; + err = js_get_value_uint32(env, argv[0], &fd); + assert(err == 0); + + uint8_t *data; + size_t data_len; + err = js_get_typedarray_info(env, argv[1], NULL, (void **) &data, &data_len, NULL, NULL); + assert(err == 0); + + uint32_t offset; + err = js_get_value_uint32(env, argv[2], &offset); + assert(err == 0); + + uint32_t len; + err = js_get_value_uint32(env, argv[3], &len); + assert(err == 0); + + if (offset >= data_len) len = 0; + else if (offset + len >= data_len) len = data_len - offset; + + int64_t pos; + err = js_get_value_int64(env, argv[4], &pos); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_buf_t buf = uv_buf_init((void *) (data + offset), len); + + uv_fs_t req; + uv_fs_read(loop, (uv_fs_t *) &req, fd, &buf, 1, pos, NULL); + + js_value_t *res; + err = js_create_int32(env, req.result, &res); + assert(err == 0); + + uv_fs_req_cleanup(&req); + + return res; +} + +static js_value_t * +bare_fs_readv (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 4; + js_value_t *argv[4]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 4); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + uint32_t fd; + err = js_get_value_uint32(env, argv[1], &fd); + assert(err == 0); + + js_value_t *arr = argv[2]; + js_value_t *item; + + int64_t pos; + err = js_get_value_int64(env, argv[3], &pos); + assert(err == 0); + + err = js_create_reference(env, arr, 1, &req->data); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uint32_t bufs_len; + err = js_get_array_length(env, arr, &bufs_len); + assert(err == 0); + + uv_buf_t *bufs = malloc(sizeof(uv_buf_t) * bufs_len); + + for (uint32_t i = 0; i < bufs_len; i++) { + err = js_get_element(env, arr, i, &item); + assert(err == 0); + + uv_buf_t *buf = &bufs[i]; + err = js_get_typedarray_info(env, item, NULL, (void **) &buf->base, (size_t *) &buf->len, NULL, NULL); + assert(err == 0); + } + + uv_fs_read(loop, (uv_fs_t *) req, fd, bufs, bufs_len, pos, on_fs_response); + + free(bufs); + + return NULL; +} + +static js_value_t * +bare_fs_write (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 6; + js_value_t *argv[6]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 6); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + uint32_t fd; + err = js_get_value_uint32(env, argv[1], &fd); + assert(err == 0); + + uint8_t *data; + size_t data_len; + err = js_get_typedarray_info(env, argv[2], NULL, (void **) &data, &data_len, NULL, NULL); + assert(err == 0); + + uint32_t offset; + err = js_get_value_uint32(env, argv[3], &offset); + assert(err == 0); + + uint32_t len; + err = js_get_value_uint32(env, argv[4], &len); + assert(err == 0); + + if (offset >= data_len) len = 0; + else if (offset + len >= data_len) len = data_len - offset; + + int64_t pos; + err = js_get_value_int64(env, argv[5], &pos); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_buf_t buf = uv_buf_init((void *) (data + offset), len); + + uv_fs_write(loop, (uv_fs_t *) req, fd, &buf, 1, pos, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_write_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 5; + js_value_t *argv[5]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 5); + + uint32_t fd; + err = js_get_value_uint32(env, argv[0], &fd); + assert(err == 0); + + uint8_t *data; + size_t data_len; + err = js_get_typedarray_info(env, argv[1], NULL, (void **) &data, &data_len, NULL, NULL); + assert(err == 0); + + uint32_t offset; + err = js_get_value_uint32(env, argv[2], &offset); + assert(err == 0); + + uint32_t len; + err = js_get_value_uint32(env, argv[3], &len); + assert(err == 0); + + if (offset >= data_len) len = 0; + else if (offset + len >= data_len) len = data_len - offset; + + int64_t pos; + err = js_get_value_int64(env, argv[4], &pos); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_buf_t buf = uv_buf_init((void *) (data + offset), len); + + uv_fs_t req; + uv_fs_write(loop, &req, fd, &buf, 1, pos, NULL); + + js_value_t *res; + err = js_create_int32(env, req.result, &res); + assert(err == 0); + + uv_fs_req_cleanup(&req); + + return res; +} + +static js_value_t * +bare_fs_writev (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 4; + js_value_t *argv[4]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 4); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + uint32_t fd; + err = js_get_value_uint32(env, argv[1], &fd); + assert(err == 0); + + js_value_t *arr = argv[2]; + js_value_t *item; + + int64_t pos; + err = js_get_value_int64(env, argv[3], &pos); + assert(err == 0); + + err = js_create_reference(env, arr, 1, &req->data); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uint32_t bufs_len; + err = js_get_array_length(env, arr, &bufs_len); + assert(err == 0); + + uv_buf_t *bufs = malloc(sizeof(uv_buf_t) * bufs_len); + + for (uint32_t i = 0; i < bufs_len; i++) { + err = js_get_element(env, arr, i, &item); + assert(err == 0); + + uv_buf_t *buf = &bufs[i]; + err = js_get_typedarray_info(env, item, NULL, (void **) &buf->base, (size_t *) &buf->len, NULL, NULL); + assert(err == 0); + } + + uv_fs_write(loop, (uv_fs_t *) req, fd, bufs, bufs_len, pos, on_fs_response); + + free(bufs); + + return NULL; +} + +static js_value_t * +bare_fs_ftruncate (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + uint32_t fd; + err = js_get_value_uint32(env, argv[1], &fd); + assert(err == 0); + + int64_t len; + err = js_get_value_int64(env, argv[2], &len); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_ftruncate(loop, (uv_fs_t *) req, fd, len, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_chmod (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + int32_t mode; + err = js_get_value_int32(env, argv[2], &mode); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_chmod(loop, (uv_fs_t *) req, (char *) path, mode, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_chmod_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + int32_t mode; + err = js_get_value_int32(env, argv[1], &mode); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_chmod(loop, &req, (char *) path, mode, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_fchmod (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + uint32_t fd; + err = js_get_value_uint32(env, argv[1], &fd); + assert(err == 0); + + int32_t mode; + err = js_get_value_int32(env, argv[2], &mode); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_fchmod(loop, (uv_fs_t *) req, fd, mode, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_fchmod_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + uint32_t fd; + err = js_get_value_uint32(env, argv[0], &fd); + assert(err == 0); + + int32_t mode; + err = js_get_value_int32(env, argv[1], &mode); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_fchmod(loop, &req, fd, mode, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_rename (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t src; + err = js_get_value_string_utf8(env, argv[1], src, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + bare_fs_path_t dest; + err = js_get_value_string_utf8(env, argv[2], dest, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_rename(loop, (uv_fs_t *) req, (char *) src, (char *) dest, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_rename_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_path_t src; + err = js_get_value_string_utf8(env, argv[0], src, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + bare_fs_path_t dest; + err = js_get_value_string_utf8(env, argv[1], dest, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_rename(loop, &req, (char *) src, (char *) dest, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_mkdir (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + int32_t mode; + err = js_get_value_int32(env, argv[2], &mode); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_mkdir(loop, (uv_fs_t *) req, (char *) path, mode, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_mkdir_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + int32_t mode; + err = js_get_value_int32(env, argv[1], &mode); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_mkdir(loop, &req, (char *) path, mode, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_rmdir (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_rmdir(loop, (uv_fs_t *) req, (char *) path, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_rmdir_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_rmdir(loop, &req, (char *) path, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_stat (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + err = js_create_reference(env, argv[2], 1, &req->data); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_stat(loop, (uv_fs_t *) req, (char *) path, on_fs_stat_response); + + return NULL; +} + +static js_value_t * +bare_fs_stat_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_stat(loop, &req, (char *) path, NULL); + + js_value_t *res = NULL; + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } else { + err = js_create_array_with_length(env, 14, &res); + assert(err == 0); + + uint32_t i = 0; + +#define V(property) \ + { \ + js_value_t *value; \ + err = js_create_int64(env, req.statbuf.st_##property, &value); \ + assert(err == 0); \ +\ + err = js_set_element(env, res, i++, value); \ + assert(err == 0); \ + } + V(dev) + V(mode) + V(nlink) + V(uid) + V(gid) + V(rdev) + V(blksize) + V(ino) + V(size) + V(blocks) +#undef V + +#define V(property) \ + { \ + uv_timespec_t time = req.statbuf.st_##property; \ +\ + js_value_t *value; \ + err = js_create_int64(env, time.tv_sec * 1e3 + time.tv_nsec / 1e6, &value); \ + assert(err == 0); \ +\ + err = js_set_element(env, res, i++, value); \ + assert(err == 0); \ + } + V(atim) + V(mtim) + V(ctim) + V(birthtim) +#undef V + } + + uv_fs_req_cleanup(&req); + + return res; +} + +static js_value_t * +bare_fs_lstat (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + err = js_create_reference(env, argv[2], 1, &req->data); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_lstat(loop, (uv_fs_t *) req, (char *) path, on_fs_stat_response); + + return NULL; +} + +static js_value_t * +bare_fs_lstat_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_lstat(loop, &req, (char *) path, NULL); + + js_value_t *res = NULL; + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } else { + err = js_create_array_with_length(env, 14, &res); + assert(err == 0); + + uint32_t i = 0; + +#define V(property) \ + { \ + js_value_t *value; \ + err = js_create_int64(env, req.statbuf.st_##property, &value); \ + assert(err == 0); \ +\ + err = js_set_element(env, res, i++, value); \ + assert(err == 0); \ + } + V(dev) + V(mode) + V(nlink) + V(uid) + V(gid) + V(rdev) + V(blksize) + V(ino) + V(size) + V(blocks) +#undef V + +#define V(property) \ + { \ + uv_timespec_t time = req.statbuf.st_##property; \ +\ + js_value_t *value; \ + err = js_create_int64(env, time.tv_sec * 1e3 + time.tv_nsec / 1e6, &value); \ + assert(err == 0); \ +\ + err = js_set_element(env, res, i++, value); \ + assert(err == 0); \ + } + V(atim) + V(mtim) + V(ctim) + V(birthtim) +#undef V + } + + uv_fs_req_cleanup(&req); + + return res; +} + +static js_value_t * +bare_fs_fstat (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + uint32_t fd; + err = js_get_value_uint32(env, argv[1], &fd); + assert(err == 0); + + err = js_create_reference(env, argv[2], 1, &req->data); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_fstat(loop, (uv_fs_t *) req, fd, on_fs_stat_response); + + return NULL; +} + +static js_value_t * +bare_fs_fstat_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + uint32_t fd; + err = js_get_value_uint32(env, argv[0], &fd); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_fstat(loop, &req, fd, NULL); + + js_value_t *res = NULL; + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } else { + err = js_create_array_with_length(env, 14, &res); + assert(err == 0); + + uint32_t i = 0; + +#define V(property) \ + { \ + js_value_t *value; \ + err = js_create_int64(env, req.statbuf.st_##property, &value); \ + assert(err == 0); \ +\ + err = js_set_element(env, res, i++, value); \ + assert(err == 0); \ + } + V(dev) + V(mode) + V(nlink) + V(uid) + V(gid) + V(rdev) + V(blksize) + V(ino) + V(size) + V(blocks) +#undef V + +#define V(property) \ + { \ + uv_timespec_t time = req.statbuf.st_##property; \ +\ + js_value_t *value; \ + err = js_create_int64(env, time.tv_sec * 1e3 + time.tv_nsec / 1e6, &value); \ + assert(err == 0); \ +\ + err = js_set_element(env, res, i++, value); \ + assert(err == 0); \ + } + V(atim) + V(mtim) + V(ctim) + V(birthtim) +#undef V + } + + uv_fs_req_cleanup(&req); + + return res; +} + +static js_value_t * +bare_fs_unlink (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_unlink(loop, (uv_fs_t *) req, (char *) path, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_unlink_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_unlink(loop, &req, (char *) path, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_realpath (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + err = js_create_reference(env, argv[2], 1, &req->data); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_realpath(loop, (uv_fs_t *) req, (char *) path, on_fs_realpath_response); + + return NULL; +} + +static js_value_t * +bare_fs_realpath_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_realpath(loop, &req, (char *) path, NULL); + + js_value_t *res = NULL; + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } else { + char *path; + err = js_get_typedarray_info(env, argv[1], NULL, (void **) &path, NULL, NULL, NULL); + assert(err == 0); + + strncpy(path, req.ptr, sizeof(bare_fs_path_t)); + } + + uv_fs_req_cleanup(&req); + + return res; +} + +static js_value_t * +bare_fs_readlink (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + err = js_create_reference(env, argv[2], 1, &req->data); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_readlink(loop, (uv_fs_t *) req, (char *) path, on_fs_readlink_response); + + return NULL; +} + +static js_value_t * +bare_fs_readlink_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_readlink(loop, &req, (char *) path, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } else { + char *path; + err = js_get_typedarray_info(env, argv[1], NULL, (void **) &path, NULL, NULL, NULL); + assert(err == 0); + + strncpy(path, req.ptr, sizeof(bare_fs_path_t)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_symlink (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 4; + js_value_t *argv[4]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 4); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t target; + err = js_get_value_string_utf8(env, argv[1], target, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[2], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + int32_t flags; + err = js_get_value_int32(env, argv[3], &flags); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_symlink(loop, (uv_fs_t *) req, (char *) target, (char *) path, flags, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_symlink_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_path_t target; + err = js_get_value_string_utf8(env, argv[0], target, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + int32_t flags; + err = js_get_value_int32(env, argv[2], &flags); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_symlink(loop, &req, (char *) target, (char *) path, flags, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_opendir (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[1], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + err = js_create_reference(env, argv[2], 1, &req->data); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_opendir(loop, (uv_fs_t *) req, (char *) path, on_fs_opendir_response); + + return NULL; +} + +static js_value_t * +bare_fs_opendir_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + js_value_t *data = argv[1]; + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_opendir(loop, &req, (char *) path, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } else { + bare_fs_dir_t *dir; + err = js_get_typedarray_info(env, argv[1], NULL, (void **) &dir, NULL, NULL, NULL); + assert(err == 0); + + dir->dir = req.ptr; + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_readdir (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 4; + js_value_t *argv[4]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 4); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_dir_t *dir; + err = js_get_typedarray_info(env, argv[1], NULL, (void **) &dir, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_dirent_t *dirents; + size_t dirents_len; + err = js_get_typedarray_info(env, argv[2], NULL, (void **) &dirents, &dirents_len, NULL, NULL); + assert(err == 0); + + err = js_create_reference(env, argv[3], 1, &req->data); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + dir->dir->dirents = dirents; + dir->dir->nentries = dirents_len / sizeof(bare_fs_dirent_t); + + uv_fs_readdir(loop, (uv_fs_t *) req, dir->dir, on_fs_readdir_response); + + return NULL; +} + +static js_value_t * +bare_fs_readdir_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 3; + js_value_t *argv[3]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 3); + + bare_fs_dir_t *dir; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &dir, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_dirent_t *dirents; + size_t dirents_len; + err = js_get_typedarray_info(env, argv[1], NULL, (void **) &dirents, &dirents_len, NULL, NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + dir->dir->dirents = dirents; + dir->dir->nentries = dirents_len / sizeof(bare_fs_dirent_t); + + uv_fs_t req; + uv_fs_readdir(loop, &req, dir->dir, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } else { + uv_dir_t *dir = req.ptr; + + for (size_t i = 0, n = req.result; i < n; i++) { + uv_dirent_t *dirent = &dir->dirents[i]; + + js_value_t *entry; + err = js_create_object(env, &entry); + assert(err == 0); + + err = js_set_element(env, argv[2], i, entry); + assert(err == 0); + + size_t name_len = strlen(dirent->name); + + js_value_t *name; + void *data; + err = js_create_arraybuffer(env, name_len, &data, &name); + assert(err == 0); + + memcpy(data, dirent->name, name_len); + + err = js_set_named_property(env, entry, "name", name); + assert(err == 0); + + js_value_t *type; + err = js_create_uint32(env, dirent->type, &type); + assert(err == 0); + + err = js_set_named_property(env, entry, "type", type); + assert(err == 0); + } + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_closedir (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 2; + js_value_t *argv[2]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 2); + + bare_fs_req_t *req; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &req, NULL, NULL, NULL); + assert(err == 0); + + bare_fs_dir_t *dir; + err = js_get_typedarray_info(env, argv[1], NULL, (void **) &dir, NULL, NULL, NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_closedir(loop, (uv_fs_t *) req, dir->dir, on_fs_response); + + return NULL; +} + +static js_value_t * +bare_fs_closedir_sync (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + bare_fs_dir_t *dir; + err = js_get_typedarray_info(env, argv[0], NULL, (void **) &dir, NULL, NULL, NULL); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + uv_fs_t req; + uv_fs_closedir(loop, &req, dir->dir, NULL); + + if (req.result < 0) { + js_throw_error(env, uv_err_name(req.result), uv_strerror(req.result)); + } + + uv_fs_req_cleanup(&req); + + return NULL; +} + +static js_value_t * +bare_fs_watcher_init (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 5; + js_value_t *argv[5]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 5); + + bare_fs_path_t path; + err = js_get_value_string_utf8(env, argv[0], path, sizeof(bare_fs_path_t), NULL); + assert(err == 0); + + bool recursive; + err = js_get_value_bool(env, argv[1], &recursive); + assert(err == 0); + + js_value_t *result; + + bare_fs_watcher_t *watcher; + err = js_create_arraybuffer(env, sizeof(bare_fs_watcher_t), (void **) &watcher, &result); + assert(err == 0); + + uv_loop_t *loop; + js_get_env_loop(env, &loop); + + err = uv_fs_event_init(loop, &watcher->handle); + + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + + return NULL; + } + + err = uv_fs_event_start(&watcher->handle, on_fs_watcher_event, (char *) path, recursive ? UV_FS_EVENT_RECURSIVE : 0); + + if (err < 0) { + js_throw_error(env, uv_err_name(err), uv_strerror(err)); + + return NULL; + } + + watcher->env = env; + + err = js_create_reference(env, argv[2], 1, &watcher->ctx); + assert(err == 0); + + err = js_create_reference(env, argv[3], 1, &watcher->on_event); + assert(err == 0); + + err = js_create_reference(env, argv[4], 1, &watcher->on_close); + assert(err == 0); + + return result; +} + +static js_value_t * +bare_fs_watcher_close (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + bare_fs_watcher_t *watcher; + err = js_get_arraybuffer_info(env, argv[0], (void **) &watcher, NULL); + assert(err == 0); + + err = uv_fs_event_stop(&watcher->handle); + assert(err == 0); + + uv_close((uv_handle_t *) &watcher->handle, on_fs_watcher_close); + + return NULL; +} + +static js_value_t * +bare_fs_watcher_ref (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + bare_fs_watcher_t *watcher; + err = js_get_arraybuffer_info(env, argv[0], (void **) &watcher, NULL); + assert(err == 0); + + uv_ref((uv_handle_t *) &watcher->handle); + + return NULL; +} + +static js_value_t * +bare_fs_watcher_unref (js_env_t *env, js_callback_info_t *info) { + int err; + + size_t argc = 1; + js_value_t *argv[1]; + + err = js_get_callback_info(env, info, &argc, argv, NULL, NULL); + assert(err == 0); + + assert(argc == 1); + + bare_fs_watcher_t *watcher; + err = js_get_arraybuffer_info(env, argv[0], (void **) &watcher, NULL); + assert(err == 0); + + uv_unref((uv_handle_t *) &watcher->handle); + + return NULL; +} + +static js_value_t * +init (js_env_t *env, js_value_t *exports) { + int err; + + { + js_value_t *val; + js_create_uint32(env, sizeof(bare_fs_t), &val); + js_set_named_property(env, exports, "sizeofFS", val); + } + { + js_value_t *val; + js_create_uint32(env, sizeof(bare_fs_req_t), &val); + js_set_named_property(env, exports, "sizeofFSReq", val); + } + { + js_value_t *val; + js_create_uint32(env, offsetof(bare_fs_req_t, id), &val); + js_set_named_property(env, exports, "offsetofFSReqID", val); + } + { + js_value_t *val; + js_create_uint32(env, sizeof(bare_fs_dir_t), &val); + js_set_named_property(env, exports, "sizeofFSDir", val); + } + { + js_value_t *val; + js_create_uint32(env, sizeof(bare_fs_dirent_t), &val); + js_set_named_property(env, exports, "sizeofFSDirent", val); + } + { + js_value_t *val; + js_create_uint32(env, sizeof(bare_fs_path_t), &val); + js_set_named_property(env, exports, "sizeofFSPath", val); + } +#define V(name, fn) \ + { \ + js_value_t *val; \ + err = js_create_function(env, name, -1, fn, NULL, &val); \ + assert(err == 0); \ + js_set_named_property(env, exports, name, val); \ + assert(err == 0); \ + } + + V("init", bare_fs_init) + V("destroy", bare_fs_destroy) + V("initReq", bare_fs_req_init) + V("open", bare_fs_open) + V("openSync", bare_fs_open_sync) + V("close", bare_fs_close) + V("closeSync", bare_fs_close_sync) + V("access", bare_fs_access) + V("accessSync", bare_fs_access_sync) + V("read", bare_fs_read) + V("readSync", bare_fs_read_sync) + V("readv", bare_fs_readv) + V("write", bare_fs_write) + V("writeSync", bare_fs_write_sync) + V("writev", bare_fs_writev) + V("ftruncate", bare_fs_ftruncate) + V("chmod", bare_fs_chmod) + V("chmodSync", bare_fs_chmod_sync) + V("fchmod", bare_fs_fchmod) + V("fchmodSync", bare_fs_fchmod_sync) + V("rename", bare_fs_rename) + V("renameSync", bare_fs_rename_sync) + V("mkdir", bare_fs_mkdir) + V("mkdirSync", bare_fs_mkdir_sync) + V("rmdir", bare_fs_rmdir) + V("rmdirSync", bare_fs_rmdir_sync) + V("stat", bare_fs_stat) + V("statSync", bare_fs_stat_sync) + V("lstat", bare_fs_lstat) + V("lstatSync", bare_fs_lstat_sync) + V("fstat", bare_fs_fstat) + V("fstatSync", bare_fs_fstat_sync) + V("unlink", bare_fs_unlink) + V("unlinkSync", bare_fs_unlink_sync) + V("realpath", bare_fs_realpath) + V("realpathSync", bare_fs_realpath_sync) + V("readlink", bare_fs_readlink) + V("readlinkSync", bare_fs_readlink_sync) + V("symlink", bare_fs_symlink) + V("symlinkSync", bare_fs_symlink_sync) + V("opendir", bare_fs_opendir) + V("opendirSync", bare_fs_opendir_sync) + V("readdir", bare_fs_readdir) + V("readdirSync", bare_fs_readdir_sync) + V("closedir", bare_fs_closedir) + V("closedirSync", bare_fs_closedir_sync) + V("watcherInit", bare_fs_watcher_init) + V("watcherClose", bare_fs_watcher_close) + V("watcherRef", bare_fs_watcher_ref) + V("watcherUnref", bare_fs_watcher_unref) +#undef V + +#define V(name) \ + { \ + js_value_t *val; \ + err = js_create_uint32(env, name, &val); \ + assert(err == 0); \ + err = js_set_named_property(env, exports, #name, val); \ + assert(err == 0); \ + } + + V(O_RDWR) + V(O_RDONLY) + V(O_WRONLY) + V(O_CREAT) + V(O_TRUNC) + V(O_APPEND) + +#ifdef F_OK + V(F_OK) +#endif +#ifdef R_OK + V(R_OK) +#endif +#ifdef W_OK + V(W_OK) +#endif +#ifdef X_OK + V(X_OK) +#endif + + V(S_IFMT) + V(S_IFREG) + V(S_IFDIR) + V(S_IFCHR) + V(S_IFLNK) +#ifdef S_IFBLK + V(S_IFBLK) +#endif +#ifdef S_IFIFO + V(S_IFIFO) +#endif +#ifdef S_IFSOCK + V(S_IFSOCK) +#endif + +#ifdef S_IRUSR + V(S_IRUSR) +#endif +#ifdef S_IWUSR + V(S_IWUSR) +#endif +#ifdef S_IXUSR + V(S_IXUSR) +#endif +#ifdef S_IRGRP + V(S_IRGRP) +#endif +#ifdef S_IWGRP + V(S_IWGRP) +#endif +#ifdef S_IXGRP + V(S_IXGRP) +#endif +#ifdef S_IROTH + V(S_IROTH) +#endif +#ifdef S_IWOTH + V(S_IWOTH) +#endif +#ifdef S_IXOTH + V(S_IXOTH) +#endif + + V(UV_DIRENT_UNKNOWN) + V(UV_DIRENT_FILE) + V(UV_DIRENT_DIR) + V(UV_DIRENT_LINK) + V(UV_DIRENT_FIFO) + V(UV_DIRENT_SOCKET) + V(UV_DIRENT_CHAR) + V(UV_DIRENT_BLOCK) + + V(UV_FS_SYMLINK_DIR) + V(UV_FS_SYMLINK_JUNCTION) + + V(UV_RENAME) + V(UV_CHANGE) +#undef V + + return exports; +} + +BARE_MODULE(bare_fs, init) diff --git a/.pnpm-store/v3/files/a9/0b99d643f8ae8d97eacec45d097d0959fa7543008bf61c002f5f049196d99552034b4687be153ed6f92671f821ee7a2903c30bd02d555d7383e3f451d79cf8 b/.pnpm-store/v3/files/a9/0b99d643f8ae8d97eacec45d097d0959fa7543008bf61c002f5f049196d99552034b4687be153ed6f92671f821ee7a2903c30bd02d555d7383e3f451d79cf8 new file mode 100644 index 00000000..ae146959 --- /dev/null +++ b/.pnpm-store/v3/files/a9/0b99d643f8ae8d97eacec45d097d0959fa7543008bf61c002f5f049196d99552034b4687be153ed6f92671f821ee7a2903c30bd02d555d7383e3f451d79cf8 @@ -0,0 +1 @@ +module.exports={C:{"69":0.00387,"78":0.02711,"83":0.00387,"86":0.00387,"91":0.01549,"94":0.00775,"100":0.00775,"102":0.00387,"106":0.01162,"109":0.01549,"110":0.00775,"112":0.00387,"113":0.00775,"115":0.61581,"116":0.00387,"117":0.08521,"118":0.06971,"119":0.02324,"120":0.1007,"121":2.33155,"122":0.61193,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 79 80 81 82 84 85 87 88 89 90 92 93 95 96 97 98 99 101 103 104 105 107 108 111 114 123 124 125 3.5 3.6"},D:{"35":0.00387,"38":0.02324,"49":0.01937,"60":0.00387,"67":0.00775,"79":0.00387,"80":0.00387,"81":0.00387,"83":0.00387,"86":0.00387,"87":0.00775,"88":0.00387,"91":0.00775,"93":0.00775,"96":0.00775,"98":0.00387,"99":0.00387,"102":0.02711,"103":0.04648,"104":0.00387,"105":0.01937,"106":0.00387,"107":0.00387,"108":0.08133,"109":1.37492,"110":0.00775,"111":0.00387,"112":0.03873,"113":0.00775,"114":0.02711,"115":0.01549,"116":0.17429,"117":0.03098,"118":0.07359,"119":0.36406,"120":16.28209,"121":1.10381,"122":0.01549,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 61 62 63 64 65 66 68 69 70 71 72 73 74 75 76 77 78 84 85 89 90 92 94 95 97 100 101 123 124"},F:{"28":0.00387,"46":0.01162,"95":0.00387,"104":0.00387,"105":1.14641,"106":0.54609,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00387,"81":0.01162,"92":0.01549,"97":0.01162,"100":0.00387,"107":0.01549,"109":0.02324,"110":0.00775,"111":0.00387,"112":0.00387,"113":0.00775,"114":0.02324,"115":0.02324,"116":0.00387,"117":0.02711,"118":0.01937,"119":0.30597,"120":5.99153,"121":0.72812,_:"12 13 14 15 16 18 79 80 83 84 85 86 87 88 89 90 91 93 94 95 96 98 99 101 102 103 104 105 106 108"},E:{"11":0.00775,"14":0.08521,"15":0.00387,_:"0 4 5 6 7 8 9 10 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.02324,"13.1":0.29435,"14.1":0.41054,"15.1":0.01162,"15.2-15.3":0.03098,"15.4":0.02324,"15.5":0.06197,"15.6":0.6739,"16.0":0.01937,"16.1":0.12006,"16.2":0.12781,"16.3":0.13556,"16.4":0.04648,"16.5":0.36406,"16.6":0.44927,"17.0":0.13556,"17.1":0.80558,"17.2":0.97987,"17.3":0.13168},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00399,"5.0-5.1":0.00599,"6.0-6.1":0.00998,"7.0-7.1":0.01397,"8.1-8.4":0.002,"9.0-9.2":0.01197,"9.3":0.0459,"10.0-10.2":0.00399,"10.3":0.07184,"11.0-11.2":0.02794,"11.3-11.4":0.02993,"12.0-12.1":0.01796,"12.2-12.5":0.35521,"13.0-13.1":0.00599,"13.2":0.06585,"13.3":0.01796,"13.4-13.7":0.07982,"14.0-14.4":0.13969,"14.5-14.8":0.21353,"15.0-15.1":0.0918,"15.2-15.3":0.10576,"15.4":0.12372,"15.5":0.16364,"15.6-15.8":1.27517,"16.0":0.38315,"16.1":0.81619,"16.2":0.37117,"16.3":0.69047,"16.4":0.15366,"16.5":0.32727,"16.6-16.7":2.67805,"17.0":0.44501,"17.1":4.5878,"17.2":6.21019,"17.3":0.39911},P:{"4":0.03142,"20":0.20947,"21":0.06284,"22":0.14663,"23":4.59778,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2","7.2-7.4":0.05237,"12.0":0.05237,"13.0":0.01047,"14.0":0.08379,"15.0":0.02095,"16.0":0.05237,"17.0":0.02095,"18.0":0.06284,"19.0":0.07331},I:{"0":0.0854,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00022},A:{"11":0.01549,_:"6 7 8 9 10 5.5"},K:{"0":0.2941,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.00613},H:{"0":0},L:{"0":35.65047},R:{_:"0"},M:{"0":0.41051}}; diff --git a/.pnpm-store/v3/files/a9/2711607b9dab2726e20b798b7efbe9e6d36f7de1ae774e476770e6ea592995398dbb4b74b55f1f684777292d460b17ebd26f1830e2081e5dff8d8a6a342607 b/.pnpm-store/v3/files/a9/2711607b9dab2726e20b798b7efbe9e6d36f7de1ae774e476770e6ea592995398dbb4b74b55f1f684777292d460b17ebd26f1830e2081e5dff8d8a6a342607 new file mode 100644 index 00000000..1b27fda9 --- /dev/null +++ b/.pnpm-store/v3/files/a9/2711607b9dab2726e20b798b7efbe9e6d36f7de1ae774e476770e6ea592995398dbb4b74b55f1f684777292d460b17ebd26f1830e2081e5dff8d8a6a342607 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB VC WC","194":"TB UB VB","450":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","2242":"WB XB YB ZB aB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","578":"UB VB WB XB YB ZB aB bB cB dB eB fB gB"},E:{"1":"G dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC","1090":"B C K L EC 2B 3B FC cC"},F:{"1":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB iC jC kC lC 2B QC mC 3B"},G:{"1":"6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC","1090":"yC zC 0C 1C 2C 3C 4C 5C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2242":"TD"}},B:6,C:"WebGL 2.0",D:true}; diff --git a/.pnpm-store/v3/files/a9/34724eb193afdeba880ec5051588bc220cd45ca2413d71002cd8aead479303a593c828c9514ad3bb2a502806f1177b7ca48cd8c2179ab57c4d73e013e5a960 b/.pnpm-store/v3/files/a9/34724eb193afdeba880ec5051588bc220cd45ca2413d71002cd8aead479303a593c828c9514ad3bb2a502806f1177b7ca48cd8c2179ab57c4d73e013e5a960 new file mode 100644 index 00000000..04d20e25 --- /dev/null +++ b/.pnpm-store/v3/files/a9/34724eb193afdeba880ec5051588bc220cd45ca2413d71002cd8aead479303a593c828c9514ad3bb2a502806f1177b7ca48cd8c2179ab57c4d73e013e5a960 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D SC","132":"E F","260":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","2":"TC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","2":"F"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"4":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Cross-document messaging",D:true}; diff --git a/.pnpm-store/v3/files/a9/3e55c06dd09fc16be5769c60025065deb0e592fb5bc159a3ccaf62b0a57e6d35c429d67012fcb781c73a270fb6d55ba37efdaaa98444f16899817ca52da84d b/.pnpm-store/v3/files/a9/3e55c06dd09fc16be5769c60025065deb0e592fb5bc159a3ccaf62b0a57e6d35c429d67012fcb781c73a270fb6d55ba37efdaaa98444f16899817ca52da84d new file mode 100644 index 00000000..c59ccc32 --- /dev/null +++ b/.pnpm-store/v3/files/a9/3e55c06dd09fc16be5769c60025065deb0e592fb5bc159a3ccaf62b0a57e6d35c429d67012fcb781c73a270fb6d55ba37efdaaa98444f16899817ca52da84d @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","194":"UB VB WB"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB iC jC kC lC 2B QC mC 3B","194":"HB IB JB"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:5,C:"CSS Motion Path",D:true}; diff --git a/.pnpm-store/v3/files/a9/eca261637225d59a50fc331fab8725d1b557f71f275147b78bdd65df6a01d2ded80e47cad50ab635ae6f3ad9b7580ca97dd3cecd79eba2b5fd3d1493bc3fc8 b/.pnpm-store/v3/files/a9/eca261637225d59a50fc331fab8725d1b557f71f275147b78bdd65df6a01d2ded80e47cad50ab635ae6f3ad9b7580ca97dd3cecd79eba2b5fd3d1493bc3fc8 new file mode 100644 index 00000000..380a89a5 --- /dev/null +++ b/.pnpm-store/v3/files/a9/eca261637225d59a50fc331fab8725d1b557f71f275147b78bdd65df6a01d2ded80e47cad50ab635ae6f3ad9b7580ca97dd3cecd79eba2b5fd3d1493bc3fc8 @@ -0,0 +1 @@ +module.exports={C:{"48":0.00386,"52":0.00771,"56":0.00386,"78":0.20056,"82":0.00386,"88":0.01543,"91":0.05786,"98":0.00386,"100":0.00386,"102":0.03086,"103":0.00771,"104":0.01157,"105":0.00386,"107":0.00771,"109":0.00386,"113":0.00771,"115":0.58241,"116":0.00771,"117":0.00771,"118":0.00771,"119":0.01929,"120":0.06943,"121":3.18588,"122":0.68269,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 83 84 85 86 87 89 90 92 93 94 95 96 97 99 101 106 108 110 111 112 114 123 124 125 3.5 3.6"},D:{"40":0.00386,"49":0.00386,"54":0.00771,"61":0.01929,"65":0.01543,"70":0.00386,"71":0.00386,"76":0.00386,"79":0.04243,"80":0.00386,"81":0.01543,"83":0.00771,"85":0.01157,"86":0.01157,"87":0.04243,"88":0.01543,"94":0.00771,"95":0.01929,"98":0.00386,"100":0.00386,"102":0.00771,"103":0.08485,"105":0.081,"106":0.00386,"107":0.00771,"108":0.00771,"109":0.82154,"110":0.00386,"111":0.00386,"112":0.00771,"113":0.01543,"114":0.01543,"115":0.08871,"116":0.16199,"117":0.054,"118":0.04243,"119":0.52841,"120":16.19169,"121":1.29595,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 50 51 52 53 55 56 57 58 59 60 62 63 64 66 67 68 69 72 73 74 75 77 78 84 89 90 91 92 93 96 97 99 101 104 122 123 124"},F:{"46":0.01157,"69":0.01157,"95":0.00771,"102":0.01543,"103":0.00386,"104":0.00386,"105":1.11467,"106":0.72126,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00386,"89":0.00771,"92":0.00771,"96":0.04243,"103":0.00386,"108":0.00386,"109":0.03471,"110":0.00386,"112":0.58626,"113":0.00386,"114":0.00386,"115":0.00771,"116":0.00771,"117":0.01543,"118":0.01929,"119":0.19285,"120":5.56179,"121":0.78683,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 97 98 99 100 101 102 104 105 106 107 111"},E:{"13":0.00386,"14":0.01929,"15":0.01157,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.01157,"12.1":0.00771,"13.1":0.21985,"14.1":0.16971,"15.1":0.01543,"15.2-15.3":0.03471,"15.4":0.03086,"15.5":0.01929,"15.6":0.34713,"16.0":0.06943,"16.1":0.05786,"16.2":0.04628,"16.3":0.11571,"16.4":0.04243,"16.5":0.135,"16.6":0.36642,"17.0":0.10028,"17.1":0.56698,"17.2":0.6634,"17.3":0.054},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00358,"5.0-5.1":0.00537,"6.0-6.1":0.00895,"7.0-7.1":0.01253,"8.1-8.4":0.00179,"9.0-9.2":0.01074,"9.3":0.04116,"10.0-10.2":0.00358,"10.3":0.06443,"11.0-11.2":0.02506,"11.3-11.4":0.02685,"12.0-12.1":0.01611,"12.2-12.5":0.31858,"13.0-13.1":0.00537,"13.2":0.05906,"13.3":0.01611,"13.4-13.7":0.07159,"14.0-14.4":0.12528,"14.5-14.8":0.19151,"15.0-15.1":0.08233,"15.2-15.3":0.09486,"15.4":0.11097,"15.5":0.14676,"15.6-15.8":1.14367,"16.0":0.34364,"16.1":0.73202,"16.2":0.3329,"16.3":0.61926,"16.4":0.13781,"16.5":0.29352,"16.6-16.7":2.40188,"17.0":0.39912,"17.1":4.1147,"17.2":5.56979,"17.3":0.35796},P:{"4":0.03128,"20":0.30233,"21":0.10425,"22":0.0834,"23":3.49239,_:"5.0-5.4 8.2 9.2 10.1 12.0 13.0","6.2-6.4":0.01043,"7.2-7.4":0.02085,"11.1-11.2":0.05213,"14.0":0.03128,"15.0":0.01043,"16.0":0.0417,"17.0":0.03128,"18.0":0.02085,"19.0":0.07298},I:{"0":0.03669,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"11":0.01157,_:"6 7 8 9 10 5.5"},K:{"0":0.38837,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00614,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.01228},H:{"0":0.06},L:{"0":39.49762},R:{_:"0"},M:{"0":0.34395}}; diff --git a/.pnpm-store/v3/files/a9/eef8983881733e88ae8542dc2f289862587f01608f57c0167c307ce169914816fd9701125951f8340762086ba42518e602259445bc21b02f9e39fcf479d8f3 b/.pnpm-store/v3/files/a9/eef8983881733e88ae8542dc2f289862587f01608f57c0167c307ce169914816fd9701125951f8340762086ba42518e602259445bc21b02f9e39fcf479d8f3 new file mode 100644 index 00000000..e4494dc9 --- /dev/null +++ b/.pnpm-store/v3/files/a9/eef8983881733e88ae8542dc2f289862587f01608f57c0167c307ce169914816fd9701125951f8340762086ba42518e602259445bc21b02f9e39fcf479d8f3 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","33":"9 TC 7B I J D E F A B C K L G M N O AB q r s t VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","33":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","33":"9 I J D E XC DC YC ZC aC"},F:{"1":"C BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","2":"F B iC jC kC lC 2B QC","33":"G M N O AB q r s t"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"33":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:2,C:"CSS3 Cursors: zoom-in & zoom-out",D:true}; diff --git a/.pnpm-store/v3/files/aa/0fc867889e12de39a39a2fe555b0e11af8d5983501cf43d1bd1c939b68bc7cefe0f4230a3c66c5bdb3ed81190ed0a144481e81478432906b1c480b70870f8d b/.pnpm-store/v3/files/aa/0fc867889e12de39a39a2fe555b0e11af8d5983501cf43d1bd1c939b68bc7cefe0f4230a3c66c5bdb3ed81190ed0a144481e81478432906b1c480b70870f8d new file mode 100644 index 00000000..6acf9aea --- /dev/null +++ b/.pnpm-store/v3/files/aa/0fc867889e12de39a39a2fe555b0e11af8d5983501cf43d1bd1c939b68bc7cefe0f4230a3c66c5bdb3ed81190ed0a144481e81478432906b1c480b70870f8d @@ -0,0 +1,145 @@ +# Buffer for Array + +Buffer for Array (B4A) provides a set of functions for bridging the gap between the Node.js `Buffer` class and the `Uint8Array` class. A browser compatibility layer is also included, making it possible to use B4A in both Node.js and browsers without having to worry about whether you're dealing with buffers or typed arrays. + +## Installation + +```sh +npm install b4a +``` + +## API + +#### `b4a.isBuffer(value)` + +See https://nodejs.org/api/buffer.html#static-method-bufferisbufferobj + +This will also return `true` when passed a `Uint8Array`. + +#### `b4a.isEncoding(encoding)` + +See https://nodejs.org/api/buffer.html#static-method-bufferisencodingencoding + +#### `b4a.alloc(size[, fill[, encoding]])` + +See https://nodejs.org/api/buffer.html#static-method-bufferallocsize-fill-encoding + +#### `b4a.allocUnsafe(size)` + +See https://nodejs.org/api/buffer.html#static-method-bufferallocunsafesize + +#### `b4a.allocUnsafeSlow(size)` + +See https://nodejs.org/api/buffer.html#static-method-bufferallocunsafeslowsize + +#### `b4a.byteLength(string)` + +See https://nodejs.org/api/buffer.html#static-method-bufferbytelengthstring-encoding + +#### `b4a.compare(buf1, buf2)` + +See https://nodejs.org/api/buffer.html#static-method-buffercomparebuf1-buf2 + +#### `b4a.concat(buffers[, totalLength])` + +See https://nodejs.org/api/buffer.html#static-method-bufferconcatlist-totallength + +#### `b4a.copy(source, target[, targetStart[, sourceStart[, sourceEnd]]])` + +See https://nodejs.org/api/buffer.html#bufcopytarget-targetstart-sourcestart-sourceend + +#### `b4a.equals(buf1, buf2)` + +See https://nodejs.org/api/buffer.html#bufequalsotherbuffer + +#### `b4a.fill(buffer, value[, offset[, end]][, encoding])` + +See https://nodejs.org/api/buffer.html#buffillvalue-offset-end-encoding + +#### `b4a.from(array)` + +See https://nodejs.org/api/buffer.html#static-method-bufferfromarray + +#### `b4a.from(arrayBuffer[, byteOffset[, length]])` + +See https://nodejs.org/api/buffer.html#static-method-bufferfromarraybuffer-byteoffset-length + +#### `b4a.from(buffer)` + +See https://nodejs.org/api/buffer.html#static-method-bufferfrombuffer + +#### `b4a.from(string[, encoding])` + +See https://nodejs.org/api/buffer.html#static-method-bufferfromstring-encoding + +#### `b4a.includes(buffer, value[, byteOffset][, encoding])` + +See https://nodejs.org/api/buffer.html#bufincludesvalue-byteoffset-encoding + +#### `b4a.indexOf(buffer, value[, byteOffset][, encoding])` + +See https://nodejs.org/api/buffer.html#bufindexofvalue-byteoffset-encoding + +#### `b4a.lastIndexOf(buffer, value[, byteOffset][, encoding])` + +See https://nodejs.org/api/buffer.html#buflastindexofvalue-byteoffset-encoding + +#### `b4a.swap16(buffer)` + +See https://nodejs.org/api/buffer.html#bufswap16 + +#### `b4a.swap32(buffer)` + +See https://nodejs.org/api/buffer.html#bufswap32 + +#### `b4a.swap64(buffer)` + +See https://nodejs.org/api/buffer.html#bufswap64 + +#### `b4a.toBuffer(buffer)` + +Convert a buffer to its canonical representation. In Node.js, the canonical representation is a `Buffer`. In the browser, the canonical representation is a `Uint8Array`. + +#### `b4a.toString(buffer, [encoding[, start[, end]]])` + +See https://nodejs.org/api/buffer.html#buftostringencoding-start-end + +#### `b4a.write(buffer, string[, offset[, length]][, encoding])` + +See https://nodejs.org/api/buffer.html#bufwritestring-offset-length-encoding + +#### `b4a.writeDoubleLE(buffer, value[, offset])` + +See https://nodejs.org/api/buffer.html#bufwritedoublelevalue-offset + +#### `b4a.writeFloatLE(buffer, value[, offset])` + +See https://nodejs.org/api/buffer.html#bufwritefloatlevalue-offset + +#### `b4a.writeUInt32LE(buffer, value[, offset])` + +https://nodejs.org/api/buffer.html#bufwriteuint32levalue-offset + +#### `b4a.writeInt32LE(buffer, value[, offset])` + +See https://nodejs.org/api/buffer.html#bufwriteint32levalue-offset + +#### `b4a.readDoubleLE(buffer[, offset])` + +See https://nodejs.org/api/buffer.html#bufreaddoubleleoffset + +#### `b4a.readFloatLE(buffer[, offset])` + +See https://nodejs.org/api/buffer.html#bufreadfloatleoffset + +#### `b4a.readUInt32LE(buffer[, offset])` + +See https://nodejs.org/api/buffer.html#bufreaduint32leoffset + +#### `b4a.readInt32LE(buffer[, offset])` + +See https://nodejs.org/api/buffer.html#bufreadint32leoffset + +## License + +Apache 2.0 diff --git a/.pnpm-store/v3/files/aa/531f072f4b9b763bbacde0bbeee20caf6b9f7af836396d1d9bc258cbd09b9da19e95166713ac2663aed0e41f2572daaf7536deb69ace874e9004d368519fac b/.pnpm-store/v3/files/aa/531f072f4b9b763bbacde0bbeee20caf6b9f7af836396d1d9bc258cbd09b9da19e95166713ac2663aed0e41f2572daaf7536deb69ace874e9004d368519fac new file mode 100644 index 00000000..4871a037 --- /dev/null +++ b/.pnpm-store/v3/files/aa/531f072f4b9b763bbacde0bbeee20caf6b9f7af836396d1d9bc258cbd09b9da19e95166713ac2663aed0e41f2572daaf7536deb69ace874e9004d368519fac @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","194":"jB 8B kB 9B lB mB nB oB pB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:4,C:"Gyroscope",D:true}; diff --git a/.pnpm-store/v3/files/aa/cb966eab825c3c229339f7b0f73dfcd7362727ea15b22d4e2ae2e590ad7d769f6ca79357fb9414aa814a14cbb682170367b07df5dbb66fe580b677a6c3dde5 b/.pnpm-store/v3/files/aa/cb966eab825c3c229339f7b0f73dfcd7362727ea15b22d4e2ae2e590ad7d769f6ca79357fb9414aa814a14cbb682170367b07df5dbb66fe580b677a6c3dde5 new file mode 100644 index 00000000..ccced76e --- /dev/null +++ b/.pnpm-store/v3/files/aa/cb966eab825c3c229339f7b0f73dfcd7362727ea15b22d4e2ae2e590ad7d769f6ca79357fb9414aa814a14cbb682170367b07df5dbb66fe580b677a6c3dde5 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z y z H","578":"a b c d e f g h i j k l m n o p v w x"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y VC WC","322":"0 1 2 3 4 5 6 7 8 Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z y z H 1B BC CC","194":"a b c d e f g h i j k l m n o p v w x"},E:{"1":"6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB iC jC kC lC 2B QC mC 3B","194":"zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:6,C:"JPEG XL image format",D:true}; diff --git a/.pnpm-store/v3/files/ab/3260511a89e75752306c07df457c38cad0903f39eb89f29e6873c0edc9e72ed37e1b22e39a5f18bd28c4f06e60286767a8104ecc44760aeb0a466b00fcfa3c b/.pnpm-store/v3/files/ab/3260511a89e75752306c07df457c38cad0903f39eb89f29e6873c0edc9e72ed37e1b22e39a5f18bd28c4f06e60286767a8104ecc44760aeb0a466b00fcfa3c new file mode 100644 index 00000000..4fdf31fe --- /dev/null +++ b/.pnpm-store/v3/files/ab/3260511a89e75752306c07df457c38cad0903f39eb89f29e6873c0edc9e72ed37e1b22e39a5f18bd28c4f06e60286767a8104ecc44760aeb0a466b00fcfa3c @@ -0,0 +1 @@ +module.exports={C:{"31":0.00219,"38":0.00219,"43":0.01093,"44":0.00219,"45":0.00219,"47":0.00219,"48":0.00219,"53":0.00219,"56":0.00219,"66":0.04153,"72":0.01312,"81":0.00656,"84":0.00219,"89":0.00219,"93":0.00437,"107":0.01312,"109":0.12897,"112":0.01312,"113":0.01749,"115":0.04372,"116":0.00219,"118":0.00437,"119":0.00437,"120":0.00874,"121":0.75636,"122":0.33664,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 39 40 41 42 46 49 50 51 52 54 55 57 58 59 60 61 62 63 64 65 67 68 69 70 71 73 74 75 76 77 78 79 80 82 83 85 86 87 88 90 91 92 94 95 96 97 98 99 100 101 102 103 104 105 106 108 110 111 114 117 123 124 125 3.5 3.6"},D:{"33":0.01312,"36":0.00874,"40":0.00874,"43":0.00219,"50":0.00219,"53":0.00219,"55":0.01312,"57":0.15739,"61":0.00437,"65":0.00219,"68":0.00219,"69":0.00219,"71":0.03716,"73":0.00656,"74":0.00437,"75":0.00219,"77":0.00219,"79":0.13335,"80":0.02405,"81":0.00874,"83":0.01312,"87":0.04372,"88":0.00874,"90":0.00874,"91":0.00656,"92":0.00874,"93":0.00437,"96":0.00656,"98":0.11804,"99":0.03716,"100":0.00219,"101":0.01749,"102":0.01093,"103":0.01312,"104":0.00874,"105":0.0306,"106":0.00656,"107":0.00219,"108":0.01749,"109":3.01887,"110":0.01749,"111":0.00874,"112":0.01749,"114":0.01093,"115":0.01093,"116":0.02623,"117":0.02405,"118":0.04809,"119":0.25358,"120":6.65418,"121":0.75417,"122":0.01312,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 37 38 39 41 42 44 45 46 47 48 49 51 52 54 56 58 59 60 62 63 64 66 67 70 72 76 78 84 85 86 89 94 95 97 113 123 124"},F:{"32":0.00219,"34":0.00437,"46":0.00219,"50":0.00219,"63":0.00874,"64":0.00874,"70":0.00437,"71":0.00219,"77":0.00219,"79":0.04809,"82":0.0153,"88":0.00437,"95":0.00874,"99":0.00219,"101":0.00656,"104":0.00219,"105":0.51152,"106":0.60989,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 35 36 37 38 39 40 41 42 43 44 45 47 48 49 51 52 53 54 55 56 57 58 60 62 65 66 67 68 69 72 73 74 75 76 78 80 81 83 84 85 86 87 89 90 91 92 93 94 96 97 98 100 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.01967,"13":0.00219,"14":0.00656,"15":0.00437,"16":0.00656,"17":0.00656,"18":0.05028,"84":0.01749,"89":0.0153,"90":0.00437,"92":0.02623,"100":0.00656,"103":0.00874,"104":0.00219,"106":0.00219,"108":0.00656,"109":0.01312,"111":0.00437,"113":0.01093,"114":0.01967,"115":0.00656,"117":0.05465,"119":0.06777,"120":3.31179,"121":0.59241,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 105 107 110 112 116 118"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 14.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.1 17.3 17.4","13.1":0.00219,"15.1":0.00219,"15.6":0.00656,"17.2":0.00219},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00029,"5.0-5.1":0.00044,"6.0-6.1":0.00073,"7.0-7.1":0.00103,"8.1-8.4":0.00015,"9.0-9.2":0.00088,"9.3":0.00338,"10.0-10.2":0.00029,"10.3":0.00529,"11.0-11.2":0.00206,"11.3-11.4":0.0022,"12.0-12.1":0.00132,"12.2-12.5":0.02615,"13.0-13.1":0.00044,"13.2":0.00485,"13.3":0.00132,"13.4-13.7":0.00588,"14.0-14.4":0.01028,"14.5-14.8":0.01572,"15.0-15.1":0.00676,"15.2-15.3":0.00779,"15.4":0.00911,"15.5":0.01205,"15.6-15.8":0.09387,"16.0":0.02821,"16.1":0.06008,"16.2":0.02732,"16.3":0.05083,"16.4":0.01131,"16.5":0.02409,"16.6-16.7":0.19714,"17.0":0.03276,"17.1":0.33773,"17.2":0.45716,"17.3":0.02938},P:{"4":0.12144,"21":0.08096,"22":0.0506,"23":0.75898,_:"20 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 18.0","5.0-5.4":0.01012,"6.2-6.4":0.01012,"7.2-7.4":0.02024,"15.0":0.11132,"16.0":0.01012,"17.0":0.0506,"19.0":0.01012},I:{"0":0.06224,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00016},A:{"11":0.01749,_:"6 7 8 9 10 5.5"},K:{"0":1.46813,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.04688,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":1.38308},H:{"0":5.08},L:{"0":69.16019},R:{_:"0"},M:{"0":0.03126}}; diff --git a/.pnpm-store/v3/files/ac/276d2423bcb724ab7f5ea898be8347dd35441502ddbdaa8bacfb283f02a610d063eeaa9b4c40d78d218bebcd69209ce620fa8ce68cc9d7f1f9a83992ba1daf b/.pnpm-store/v3/files/ac/276d2423bcb724ab7f5ea898be8347dd35441502ddbdaa8bacfb283f02a610d063eeaa9b4c40d78d218bebcd69209ce620fa8ce68cc9d7f1f9a83992ba1daf new file mode 100644 index 00000000..f121dadf --- /dev/null +++ b/.pnpm-store/v3/files/ac/276d2423bcb724ab7f5ea898be8347dd35441502ddbdaa8bacfb283f02a610d063eeaa9b4c40d78d218bebcd69209ce620fa8ce68cc9d7f1f9a83992ba1daf @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"C K L G M N O","322":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB VC WC","194":"0 1 2 3 4 5 6 7 8 KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB","322":"0 1 2 3 4 5 6 7 8 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB iC jC kC lC 2B QC mC 3B","322":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","322":"u"},L:{"322":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"322":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"322":"FC"},R:{"322":"SD"},S:{"194":"TD UD"}},B:1,C:"Video Tracks",D:true}; diff --git a/.pnpm-store/v3/files/ac/381b239a39d3369cb1c8a8efe74ca6ffd76e12fcc7d845d134024355c566370241bff1e0e92e9af2c28d4bdb9091a1caa09ef0d7b8656d752309ff462fe263 b/.pnpm-store/v3/files/ac/381b239a39d3369cb1c8a8efe74ca6ffd76e12fcc7d845d134024355c566370241bff1e0e92e9af2c28d4bdb9091a1caa09ef0d7b8656d752309ff462fe263 new file mode 100644 index 00000000..901259e7 --- /dev/null +++ b/.pnpm-store/v3/files/ac/381b239a39d3369cb1c8a8efe74ca6ffd76e12fcc7d845d134024355c566370241bff1e0e92e9af2c28d4bdb9091a1caa09ef0d7b8656d752309ff462fe263 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E SC","2561":"A B","2692":"F"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2561":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","16":"TC","1537":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB WC","1796":"7B VC"},D:{"1":"0 1 2 3 4 5 6 7 8 pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L","1025":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB","1537":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB"},E:{"1":"L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"9 I J XC DC","1025":"D E F A B C ZC aC bC EC 2B","1537":"YC","4097":"K 3B"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","16":"F B C iC jC kC lC 2B QC","260":"mC","1025":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB","1537":"G M N O AB q r"},G:{"1":"1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC","1025":"E rC sC tC uC vC wC xC yC","1537":"oC pC qC","4097":"zC 0C"},H:{"2":"9C"},I:{"16":"AD BD","1025":"H FD","1537":"7B I CD DD RC ED"},J:{"1025":"A","1537":"D"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2561":"A B"},O:{"1":"4B"},P:{"1025":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","1537":"TD"}},B:1,C:"input event",D:true}; diff --git a/.pnpm-store/v3/files/ac/42539a082ba338e5497b41204f9e17928f97e4d1491c14d35950927854f722792f32d87d7fd9ba84566c26998684e5c177bf08f165bd08df0e4f1430727911 b/.pnpm-store/v3/files/ac/42539a082ba338e5497b41204f9e17928f97e4d1491c14d35950927854f722792f32d87d7fd9ba84566c26998684e5c177bf08f165bd08df0e4f1430727911 new file mode 100644 index 00000000..53f93ac3 --- /dev/null +++ b/.pnpm-store/v3/files/ac/42539a082ba338e5497b41204f9e17928f97e4d1491c14d35950927854f722792f32d87d7fd9ba84566c26998684e5c177bf08f165bd08df0e4f1430727911 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00543,"37":0.01085,"48":0.00543,"52":0.02714,"54":0.00543,"59":0.02714,"66":0.00543,"78":0.05427,"88":0.01085,"105":0.00543,"108":0.00543,"113":0.01628,"114":0.01085,"115":0.27135,"116":0.00543,"117":0.01085,"118":0.00543,"119":0.01085,"120":0.08683,"121":1.71493,"122":0.39617,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 38 39 40 41 42 43 44 45 46 47 49 50 51 53 55 56 57 58 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 107 109 110 111 112 123 124 125 3.5 3.6"},D:{"34":0.02171,"38":0.12482,"47":0.00543,"49":0.03256,"52":0.01085,"53":0.00543,"56":0.00543,"59":0.01085,"61":0.01085,"63":0.00543,"65":0.01085,"66":0.15196,"67":0.00543,"69":0.00543,"71":0.00543,"73":0.00543,"74":0.00543,"76":0.00543,"77":0.00543,"78":0.00543,"79":0.08141,"81":0.00543,"83":0.02171,"85":0.00543,"86":0.01085,"87":0.07598,"88":0.01628,"89":0.00543,"90":0.06512,"91":0.00543,"92":0.01085,"93":0.03799,"94":0.03799,"95":0.00543,"96":0.00543,"97":0.01628,"98":0.01628,"99":0.03799,"100":0.00543,"101":0.00543,"102":0.01085,"103":0.21165,"104":0.01628,"105":0.01085,"106":0.01628,"107":0.02171,"108":0.03799,"109":0.77606,"110":0.03799,"111":0.04884,"112":0.03256,"113":0.04342,"114":0.16281,"115":0.04884,"116":0.44501,"117":0.16824,"118":0.17366,"119":6.21934,"120":24.05246,"121":1.5467,"122":0.01628,"123":0.00543,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 51 54 55 57 58 60 62 64 68 70 72 75 80 84 124"},F:{"45":0.00543,"46":0.02171,"80":0.00543,"86":0.00543,"95":0.02171,"98":0.00543,"99":0.00543,"100":0.00543,"102":0.00543,"104":0.01085,"105":0.65124,"106":0.47215,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 81 82 83 84 85 87 88 89 90 91 92 93 94 96 97 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.01085,"18":0.01628,"91":0.00543,"92":0.00543,"103":0.00543,"104":0.01628,"105":0.01085,"107":0.00543,"108":0.00543,"109":0.04884,"110":0.00543,"111":0.00543,"112":0.00543,"113":0.02171,"114":0.01085,"115":0.00543,"116":0.00543,"117":0.01085,"118":0.00543,"119":0.10854,"120":5.37816,"121":0.8032,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 93 94 95 96 97 98 99 100 101 102 106"},E:{"12":0.00543,"13":0.03799,"14":0.10311,"15":0.02171,_:"0 4 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.02714,"12.1":0.02714,"13.1":0.20623,"14.1":0.29849,"15.1":0.03256,"15.2-15.3":0.03256,"15.4":0.06512,"15.5":0.13568,"15.6":0.81948,"16.0":0.07055,"16.1":0.16824,"16.2":0.22251,"16.3":0.26592,"16.4":0.09226,"16.5":0.19537,"16.6":1.16138,"17.0":0.10311,"17.1":1.38389,"17.2":2.01884,"17.3":0.10311},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00353,"5.0-5.1":0.0053,"6.0-6.1":0.00883,"7.0-7.1":0.01237,"8.1-8.4":0.00177,"9.0-9.2":0.0106,"9.3":0.04063,"10.0-10.2":0.00353,"10.3":0.0636,"11.0-11.2":0.02473,"11.3-11.4":0.0265,"12.0-12.1":0.0159,"12.2-12.5":0.31445,"13.0-13.1":0.0053,"13.2":0.0583,"13.3":0.0159,"13.4-13.7":0.07066,"14.0-14.4":0.12366,"14.5-14.8":0.18902,"15.0-15.1":0.08126,"15.2-15.3":0.09363,"15.4":0.10953,"15.5":0.14486,"15.6-15.8":1.12883,"16.0":0.33918,"16.1":0.72252,"16.2":0.32858,"16.3":0.61123,"16.4":0.13602,"16.5":0.28971,"16.6-16.7":2.37071,"17.0":0.39394,"17.1":4.0613,"17.2":5.4975,"17.3":0.35331},P:{"4":0.19817,"20":0.02202,"21":0.08808,"22":0.09909,"23":2.66434,"5.0-5.4":0.04404,"6.2-6.4":0.02202,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0","13.0":0.01101,"14.0":0.01101,"16.0":0.01101,"17.0":0.01101,"18.0":0.01101,"19.0":0.02202},I:{"0":0.04098,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00011},A:{"8":0.02306,"11":0.16145,_:"6 7 9 10 5.5"},K:{"0":0.21036,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00457},O:{"0":0.06402},H:{"0":0},L:{"0":24.40426},R:{_:"0"},M:{"0":0.46187}}; diff --git a/.pnpm-store/v3/files/ac/4ddf1fe9fdd0f606a4e851dda63577406b53a8413bd164094eb0f2942b249f3a19d57eef3918b2c96bda866c6d4c1e27d6f0ca1201d54977354c3b1daeb7f3 b/.pnpm-store/v3/files/ac/4ddf1fe9fdd0f606a4e851dda63577406b53a8413bd164094eb0f2942b249f3a19d57eef3918b2c96bda866c6d4c1e27d6f0ca1201d54977354c3b1daeb7f3 new file mode 100644 index 00000000..2b98b51f --- /dev/null +++ b/.pnpm-store/v3/files/ac/4ddf1fe9fdd0f606a4e851dda63577406b53a8413bd164094eb0f2942b249f3a19d57eef3918b2c96bda866c6d4c1e27d6f0ca1201d54977354c3b1daeb7f3 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O P Q R S T U V W X Y"},C:{"1":"BC CC UC","2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T","66":"U V W X Y"},E:{"1":"LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC"},F:{"1":"zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB iC jC kC lC 2B QC mC 3B"},G:{"1":"LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD ND OD"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"Declarative Shadow DOM",D:true}; diff --git a/.pnpm-store/v3/files/ac/8e2aa467ea9bf2cae0258fa1d3f1d59f07cb5d10336626116058e3b3c6421c64d274d1b0781a624981ca56cd311e836a4560e041c7cbb4852a6d6ca6f5d383 b/.pnpm-store/v3/files/ac/8e2aa467ea9bf2cae0258fa1d3f1d59f07cb5d10336626116058e3b3c6421c64d274d1b0781a624981ca56cd311e836a4560e041c7cbb4852a6d6ca6f5d383 new file mode 100644 index 00000000..3ea9f963 --- /dev/null +++ b/.pnpm-store/v3/files/ac/8e2aa467ea9bf2cae0258fa1d3f1d59f07cb5d10336626116058e3b3c6421c64d274d1b0781a624981ca56cd311e836a4560e041c7cbb4852a6d6ca6f5d383 @@ -0,0 +1 @@ +module.exports={C:{"115":0.01675,"120":0.06142,"121":0.33783,"122":0.11587,"123":0.01117,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 124 125 3.5 3.6"},D:{"11":0.0014,"33":0.0014,"40":0.01117,"43":0.00279,"48":0.0014,"49":0.00838,"59":0.00977,"63":0.00698,"64":0.00558,"66":0.00279,"67":0.02932,"68":0.0014,"69":0.00279,"70":0.0014,"72":0.00279,"76":0.0014,"78":0.02373,"79":0.00279,"81":0.00419,"86":0.00698,"87":0.02513,"88":0.01536,"90":0.0014,"92":0.0014,"93":0.0014,"94":0.0014,"95":0.00838,"99":0.00698,"102":0.00419,"103":0.07259,"104":0.0014,"105":0.0014,"106":0.0014,"108":0.00279,"109":0.08934,"110":0.0014,"111":0.00698,"114":0.00977,"115":0.02513,"116":0.00838,"117":0.00558,"118":0.00558,"119":0.05584,"120":2.20568,"121":0.19823,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 41 42 44 45 46 47 50 51 52 53 54 55 56 57 58 60 61 62 65 71 73 74 75 77 80 83 84 85 89 91 96 97 98 100 101 107 112 113 122 123 124"},F:{"30":0.0014,"42":0.0014,"58":0.00279,"95":0.00279,"105":0.02373,"106":0.09632,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00279},B:{"12":0.00279,"13":0.0014,"15":0.0014,"17":0.00419,"18":0.01536,"84":0.00419,"88":0.01675,"89":0.00279,"90":0.06003,"92":0.01256,"95":0.0014,"97":0.0014,"100":0.0014,"107":0.0014,"109":0.00279,"110":0.0014,"113":0.01117,"114":0.00698,"115":0.00279,"116":0.00279,"117":0.00698,"118":0.0014,"119":0.04467,"120":0.57794,"121":0.06701,_:"14 16 79 80 81 83 85 86 87 91 93 94 96 98 99 101 102 103 104 105 106 108 111 112"},E:{"13":0.0014,_:"0 4 5 6 7 8 9 10 11 12 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 15.5 16.0 16.1 16.2 16.4 17.3 17.4","13.1":0.01675,"14.1":0.0014,"15.1":0.00279,"15.4":0.00279,"15.6":0.03071,"16.3":0.0014,"16.5":0.0014,"16.6":0.00698,"17.0":0.00419,"17.1":0.01117,"17.2":0.00698},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00192,"5.0-5.1":0.00288,"6.0-6.1":0.00481,"7.0-7.1":0.00673,"8.1-8.4":0.00096,"9.0-9.2":0.00577,"9.3":0.0221,"10.0-10.2":0.00192,"10.3":0.0346,"11.0-11.2":0.01345,"11.3-11.4":0.01442,"12.0-12.1":0.00865,"12.2-12.5":0.17107,"13.0-13.1":0.00288,"13.2":0.03172,"13.3":0.00865,"13.4-13.7":0.03844,"14.0-14.4":0.06727,"14.5-14.8":0.10283,"15.0-15.1":0.04421,"15.2-15.3":0.05094,"15.4":0.05959,"15.5":0.07881,"15.6-15.8":0.61412,"16.0":0.18452,"16.1":0.39308,"16.2":0.17876,"16.3":0.33253,"16.4":0.074,"16.5":0.15761,"16.6-16.7":1.28975,"17.0":0.21432,"17.1":2.20949,"17.2":2.99084,"17.3":0.19221},P:{"4":0.19213,"20":0.12135,"21":0.24269,"22":0.26292,"23":0.45505,"5.0-5.4":0.07079,"6.2-6.4":0.03034,"7.2-7.4":0.37415,"8.2":0.01011,"9.2":0.09101,"10.1":0.01011,"11.1-11.2":0.06067,_:"12.0 17.0","13.0":0.04045,"14.0":0.02022,"15.0":0.02022,"16.0":0.18202,"18.0":0.04045,"19.0":0.31348},I:{"0":0.00857,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.02652,_:"6 7 8 9 10 5.5"},K:{"0":0.87032,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.18068,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.01721},O:{"0":0.03442},H:{"0":4.12},L:{"0":77.81828},R:{_:"0"},M:{_:"0"}}; diff --git a/.pnpm-store/v3/files/ac/a1dcc625d9aa1128c2c774e730722c7698ce87f4b4673f4ca01591e5f2a4ac733929e41f510afbe2d316d9c5ddaad4b6a093768b7e42b76a3ee94e2a0903b8 b/.pnpm-store/v3/files/ac/a1dcc625d9aa1128c2c774e730722c7698ce87f4b4673f4ca01591e5f2a4ac733929e41f510afbe2d316d9c5ddaad4b6a093768b7e42b76a3ee94e2a0903b8 new file mode 100644 index 00000000..ef13e879 --- /dev/null +++ b/.pnpm-store/v3/files/ac/a1dcc625d9aa1128c2c774e730722c7698ce87f4b4673f4ca01591e5f2a4ac733929e41f510afbe2d316d9c5ddaad4b6a093768b7e42b76a3ee94e2a0903b8 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","8":"A B"},B:{"1":"P","2":"0 1 2 3 4 5 6 7 8 Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","8":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","66":"t BB CB DB EB FB GB","72":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P","2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","66":"EB FB GB HB IB JB"},E:{"2":"9 I XC DC YC","8":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB","2":"F B C qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","66":"G M N O AB"},G:{"2":"DC nC RC oC pC","8":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"FD","2":"7B I H AD BD CD DD RC ED"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I GD HD ID JD KD EC LD MD","2":"q r s t ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"2":"SD"},S:{"2":"UD","72":"TD"}},B:7,C:"Custom Elements (deprecated V0 spec)",D:true}; diff --git a/.pnpm-store/v3/files/ac/a72b75ff866cda1ae6395a8628547c79ed6ef1c7cb90c0227e14c69f3da47eb0e8ea59329686bc8b9ee3ab6ae8b7fbb8cfc62269deb4e3dee27c61844cd030 b/.pnpm-store/v3/files/ac/a72b75ff866cda1ae6395a8628547c79ed6ef1c7cb90c0227e14c69f3da47eb0e8ea59329686bc8b9ee3ab6ae8b7fbb8cfc62269deb4e3dee27c61844cd030 new file mode 100644 index 00000000..363bc3a7 --- /dev/null +++ b/.pnpm-store/v3/files/ac/a72b75ff866cda1ae6395a8628547c79ed6ef1c7cb90c0227e14c69f3da47eb0e8ea59329686bc8b9ee3ab6ae8b7fbb8cfc62269deb4e3dee27c61844cd030 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:7,C:"background-position-x & background-position-y",D:true}; diff --git a/.pnpm-store/v3/files/ac/b9851f7528bc5ee3ce89e818481cea7908de5f1875e9ae02932191e1f06a7fad0509dfb9804254ed7a587a818c143f1e5339c14e4762b90435c275f12e4011 b/.pnpm-store/v3/files/ac/b9851f7528bc5ee3ce89e818481cea7908de5f1875e9ae02932191e1f06a7fad0509dfb9804254ed7a587a818c143f1e5339c14e4762b90435c275f12e4011 new file mode 100644 index 00000000..fc8336e8 --- /dev/null +++ b/.pnpm-store/v3/files/ac/b9851f7528bc5ee3ce89e818481cea7908de5f1875e9ae02932191e1f06a7fad0509dfb9804254ed7a587a818c143f1e5339c14e4762b90435c275f12e4011 @@ -0,0 +1,30 @@ +/* + @license + Rollup.js v4.11.0 + Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99 + + https://github.com/rollup/rollup + + Released under the MIT License. +*/ +'use strict'; + +Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); + +require('node:fs/promises'); +require('node:path'); +require('node:process'); +require('node:url'); +require('./shared/rollup.js'); +require('./shared/parseAst.js'); +const loadConfigFile_js = require('./shared/loadConfigFile.js'); +require('tty'); +require('path'); +require('node:perf_hooks'); +require('./native.js'); +require('./getLogFilter.js'); + + + +exports.loadConfigFile = loadConfigFile_js.loadConfigFile; +//# sourceMappingURL=loadConfigFile.js.map diff --git a/.pnpm-store/v3/files/ad/08c67979e44fbab1597a7db21dfa0c2f5f6db66b2e2bec7af47b34610420a67071de844c7dfadf856594d8d16e8b2c48c8e557b6daf258f6a853613778b42e b/.pnpm-store/v3/files/ad/08c67979e44fbab1597a7db21dfa0c2f5f6db66b2e2bec7af47b34610420a67071de844c7dfadf856594d8d16e8b2c48c8e557b6daf258f6a853613778b42e new file mode 100644 index 00000000..54fb053e --- /dev/null +++ b/.pnpm-store/v3/files/ad/08c67979e44fbab1597a7db21dfa0c2f5f6db66b2e2bec7af47b34610420a67071de844c7dfadf856594d8d16e8b2c48c8e557b6daf258f6a853613778b42e @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C","388":"K L"},C:{"1":"0 1 2 3 4 5 6 7 8 s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB","132":"DB EB FB GB HB IB JB KB LB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D XC DC YC","388":"E aC","514":"ZC"},F:{"1":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","132":"G M N O AB q r"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC qC","388":"E rC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"HTML templates",D:true}; diff --git a/.pnpm-store/v3/files/ad/1b2ca4f9ee0ab4eccb9788facb8170efff9769072c56eb7d79c119808bcfb994d11a49a07c8259ff41865571fe2e0ee9cc2c4aa9d27b0a21d2acb2c378c085 b/.pnpm-store/v3/files/ad/1b2ca4f9ee0ab4eccb9788facb8170efff9769072c56eb7d79c119808bcfb994d11a49a07c8259ff41865571fe2e0ee9cc2c4aa9d27b0a21d2acb2c378c085 new file mode 100644 index 00000000..9f66ad92 --- /dev/null +++ b/.pnpm-store/v3/files/ad/1b2ca4f9ee0ab4eccb9788facb8170efff9769072c56eb7d79c119808bcfb994d11a49a07c8259ff41865571fe2e0ee9cc2c4aa9d27b0a21d2acb2c378c085 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"L G M N O","2":"C K","257":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB VC WC","194":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB","257":"0 1 2 3 4 5 6 7 8 gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC ZC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB","2":"F B C G M N O AB q r s t BB CB DB iC jC kC lC 2B QC mC 3B","257":"nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"2":"SD"},S:{"1":"TD UD"}},B:7,C:"Speech Synthesis API",D:true}; diff --git a/.pnpm-store/v3/files/ad/2a2c65605e96762fd319a4e8bb3838f0235e800a9758f810902ef5592f0578fb02ee369e23bc07d709fee06f79fa6a71cca4d1160b339c6c4665b75d08ceae b/.pnpm-store/v3/files/ad/2a2c65605e96762fd319a4e8bb3838f0235e800a9758f810902ef5592f0578fb02ee369e23bc07d709fee06f79fa6a71cca4d1160b339c6c4665b75d08ceae new file mode 100644 index 00000000..be3ff31b --- /dev/null +++ b/.pnpm-store/v3/files/ad/2a2c65605e96762fd319a4e8bb3838f0235e800a9758f810902ef5592f0578fb02ee369e23bc07d709fee06f79fa6a71cca4d1160b339c6c4665b75d08ceae @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 2B QC mC 3B","2":"F iC jC kC lC","16":"B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"u","16":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"B","2":"A"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"console.time and console.timeEnd",D:true}; diff --git a/.pnpm-store/v3/files/ad/91ec9de6f46dfb1ec38983a67a5ccf1c159b4233ac962e55b3d8edcad272021e506fe9b4c02e76767ab73398ef4b981fe1e91229d6618686d6971a27e06ebc b/.pnpm-store/v3/files/ad/91ec9de6f46dfb1ec38983a67a5ccf1c159b4233ac962e55b3d8edcad272021e506fe9b4c02e76767ab73398ef4b981fe1e91229d6618686d6971a27e06ebc new file mode 100644 index 00000000..99da9aa5 --- /dev/null +++ b/.pnpm-store/v3/files/ad/91ec9de6f46dfb1ec38983a67a5ccf1c159b4233ac962e55b3d8edcad272021e506fe9b4c02e76767ab73398ef4b981fe1e91229d6618686d6971a27e06ebc @@ -0,0 +1 @@ +module.exports={C:{"48":0.00365,"78":0.00365,"91":0.00365,"92":0.01826,"101":0.00365,"102":0.01461,"103":0.03652,"111":0.02556,"112":0.01096,"115":0.17164,"119":0.06939,"120":0.05113,"121":2.87412,"122":0.94587,"123":0.03287,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 93 94 95 96 97 98 99 100 104 105 106 107 108 109 110 113 114 116 117 118 124 125 3.5 3.6"},D:{"38":0.0073,"47":0.00365,"69":0.01461,"76":0.00365,"79":0.01461,"81":0.0073,"86":0.00365,"87":0.00365,"88":0.02922,"94":0.00365,"95":0.00365,"98":0.0073,"100":0.04382,"102":0.04382,"103":0.01461,"104":0.05478,"106":0.08034,"108":0.03652,"109":1.1029,"110":0.00365,"111":0.13878,"112":0.00365,"113":0.00365,"114":0.0073,"115":0.00365,"116":0.12782,"117":0.05478,"118":0.06208,"119":0.22277,"120":12.0589,"121":1.78218,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 72 73 74 75 77 78 80 83 84 85 89 90 91 92 93 96 97 99 101 105 107 122 123 124"},F:{"105":0.29581,"106":0.2812,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00365,"89":0.01461,"92":0.00365,"100":0.01096,"109":0.01461,"114":0.01461,"115":0.10591,"116":0.01461,"117":0.02556,"118":0.23373,"119":0.06939,"120":7.89562,"121":0.93856,_:"12 13 14 15 16 18 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113"},E:{"13":0.0073,"14":0.03652,"15":0.00365,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3 17.4","12.1":0.00365,"13.1":0.02556,"14.1":0.2812,"15.1":0.00365,"15.4":0.00365,"15.5":0.00365,"15.6":0.49302,"16.0":0.0073,"16.1":0.084,"16.2":0.03652,"16.3":0.06574,"16.4":0.01096,"16.5":0.04748,"16.6":0.31407,"17.0":0.01826,"17.1":0.4565,"17.2":0.90204,"17.3":0.04382},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00203,"5.0-5.1":0.00305,"6.0-6.1":0.00508,"7.0-7.1":0.00711,"8.1-8.4":0.00102,"9.0-9.2":0.00609,"9.3":0.02335,"10.0-10.2":0.00203,"10.3":0.03654,"11.0-11.2":0.01421,"11.3-11.4":0.01523,"12.0-12.1":0.00914,"12.2-12.5":0.18068,"13.0-13.1":0.00305,"13.2":0.0335,"13.3":0.00914,"13.4-13.7":0.0406,"14.0-14.4":0.07105,"14.5-14.8":0.10861,"15.0-15.1":0.04669,"15.2-15.3":0.0538,"15.4":0.06293,"15.5":0.08323,"15.6-15.8":0.64861,"16.0":0.19489,"16.1":0.41515,"16.2":0.1888,"16.3":0.35121,"16.4":0.07816,"16.5":0.16647,"16.6-16.7":1.36219,"17.0":0.22636,"17.1":2.33359,"17.2":3.15882,"17.3":0.20301},P:{"4":0.06043,"20":0.05036,"21":0.03022,"22":0.08058,"23":1.61155,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 15.0 18.0","7.2-7.4":0.17123,"11.1-11.2":0.01007,"13.0":0.01007,"14.0":0.01007,"16.0":0.02014,"17.0":0.03022,"19.0":0.1813},I:{"0":0.00632,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.13184,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.03174},H:{"0":0.23},L:{"0":53.51122},R:{_:"0"},M:{"0":0.1714}}; diff --git a/.pnpm-store/v3/files/ad/9fe44b72be035710e524d08c743782b3ede515e4a84e216d35f1fa7b4a27761fa50296460a04298604cd9f1dd5e2ad24b362a5d67f271bced876848879e10a b/.pnpm-store/v3/files/ad/9fe44b72be035710e524d08c743782b3ede515e4a84e216d35f1fa7b4a27761fa50296460a04298604cd9f1dd5e2ad24b362a5d67f271bced876848879e10a new file mode 100644 index 00000000..f0c940ad --- /dev/null +++ b/.pnpm-store/v3/files/ad/9fe44b72be035710e524d08c743782b3ede515e4a84e216d35f1fa7b4a27761fa50296460a04298604cd9f1dd5e2ad24b362a5d67f271bced876848879e10a @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B","132":"9 I J D E F A B C K L G M N O AB q r VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC"},H:{"2":"9C"},I:{"1":"7B I H CD DD RC ED FD","2":"AD BD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"MP3 audio format",D:true}; diff --git a/.pnpm-store/v3/files/ad/d1b63de7af77e4bea3a3e9a1390b190ce74b3ed311166a686295a4869dc098e84bada6fcf0280c185522c1baa615e2c3ca6609fb1de75819330109a5faa6d5 b/.pnpm-store/v3/files/ad/d1b63de7af77e4bea3a3e9a1390b190ce74b3ed311166a686295a4869dc098e84bada6fcf0280c185522c1baa615e2c3ca6609fb1de75819330109a5faa6d5 new file mode 100644 index 00000000..392c6142 --- /dev/null +++ b/.pnpm-store/v3/files/ad/d1b63de7af77e4bea3a3e9a1390b190ce74b3ed311166a686295a4869dc098e84bada6fcf0280c185522c1baa615e2c3ca6609fb1de75819330109a5faa6d5 @@ -0,0 +1 @@ +module.exports={A:{D:{"2":"9 I J D E F A B C K L G M","33":"0 1 2 3 4 5 6 7 8 N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},L:{"33":"H"},B:{"2":"C K L G M N O","33":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB VC WC","33":"ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f"},M:{"1":"1B"},A:{"2":"J D E F A B SC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},K:{"2":"A B C 2B QC 3B","33":"u"},E:{"1":"HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC","2":"9 I XC DC YC hC","33":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC"},G:{"1":"HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC","33":"E pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC"},P:{"33":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},I:{"2":"7B I AD BD CD DD RC","33":"H ED FD"}},B:6,C:"print-color-adjust property",D:undefined}; diff --git a/.pnpm-store/v3/files/ad/ec5cc2c18e067b9f4917921298e25b0806d5a70e78ee7523bed5135b85befda7bb0306df025486e617671974785abc9b8d829c56608d1f5cac3c65b1aaa9f7 b/.pnpm-store/v3/files/ad/ec5cc2c18e067b9f4917921298e25b0806d5a70e78ee7523bed5135b85befda7bb0306df025486e617671974785abc9b8d829c56608d1f5cac3c65b1aaa9f7 new file mode 100644 index 00000000..3fae97fc --- /dev/null +++ b/.pnpm-store/v3/files/ad/ec5cc2c18e067b9f4917921298e25b0806d5a70e78ee7523bed5135b85befda7bb0306df025486e617671974785abc9b8d829c56608d1f5cac3c65b1aaa9f7 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K","132":"L G M N O","322":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r VC WC","132":"s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B","194":"0 1 2 3 4 5 6 7 8 kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","322":"0 1 2 3 4 5 6 7 8 jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB iC jC kC lC 2B QC mC 3B","322":"u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"132":"TD UD"}},B:4,C:"Ambient Light Sensor",D:true}; diff --git a/.pnpm-store/v3/files/ae/007922b0bc4912771393406f4664044bb295f3423c2c557a9bcd24f94681b8e6981a891353fde867ed396e7e854a6fc00a9ad70f8058d1d94adaaf8d63d3a8 b/.pnpm-store/v3/files/ae/007922b0bc4912771393406f4664044bb295f3423c2c557a9bcd24f94681b8e6981a891353fde867ed396e7e854a6fc00a9ad70f8058d1d94adaaf8d63d3a8 new file mode 100644 index 00000000..71819a35 --- /dev/null +++ b/.pnpm-store/v3/files/ae/007922b0bc4912771393406f4664044bb295f3423c2c557a9bcd24f94681b8e6981a891353fde867ed396e7e854a6fc00a9ad70f8058d1d94adaaf8d63d3a8 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K","194":"L"},C:{"1":"0 1 2 3 4 5 6 7 8 dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC","258":"EC"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB iC jC kC lC 2B QC mC 3B"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC","258":"vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:6,C:"Async functions",D:true}; diff --git a/.pnpm-store/v3/files/ae/1b9c1fb1362ed7bfc6058193b32d094f2c532ad354244faa17c7575e826957602a85b8ca2b10b791197079a63e2d98c259fc5e5353cf9c7b9b845cfb7016ed b/.pnpm-store/v3/files/ae/1b9c1fb1362ed7bfc6058193b32d094f2c532ad354244faa17c7575e826957602a85b8ca2b10b791197079a63e2d98c259fc5e5353cf9c7b9b845cfb7016ed new file mode 100644 index 00000000..e13dfbe9 --- /dev/null +++ b/.pnpm-store/v3/files/ae/1b9c1fb1362ed7bfc6058193b32d094f2c532ad354244faa17c7575e826957602a85b8ca2b10b791197079a63e2d98c259fc5e5353cf9c7b9b845cfb7016ed @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB VC WC","132":"0 1 2 3 4 5 6 7 8 vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","1090":"qB","1412":"uB","1668":"rB sB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB","2114":"sB"},E:{"1":"L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC","4100":"A B C K EC 2B 3B"},F:{"1":"u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB iC jC kC lC 2B QC mC 3B","8196":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB"},G:{"1":"4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC","4100":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"16388":"H"},M:{"16388":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"Picture-in-Picture",D:true}; diff --git a/.pnpm-store/v3/files/ae/3a1847d729e4d5deb59c341fceb67b5e2f285389168706cd4398cf47ab831f01ab28b0f99adbb9035abad93d53da3cf4b3f453bd187e171641d7c39ed338a2 b/.pnpm-store/v3/files/ae/3a1847d729e4d5deb59c341fceb67b5e2f285389168706cd4398cf47ab831f01ab28b0f99adbb9035abad93d53da3cf4b3f453bd187e171641d7c39ed338a2 new file mode 100644 index 00000000..ceb0de99 --- /dev/null +++ b/.pnpm-store/v3/files/ae/3a1847d729e4d5deb59c341fceb67b5e2f285389168706cd4398cf47ab831f01ab28b0f99adbb9035abad93d53da3cf4b3f453bd187e171641d7c39ed338a2 @@ -0,0 +1 @@ +module.exports={C:{"38":0.02238,"43":0.02798,"44":0.10073,"45":0.02798,"47":0.0056,"48":0.0056,"52":0.03358,"57":0.01119,"59":0.0056,"65":0.02798,"68":0.0056,"77":0.0056,"78":0.02798,"83":0.0056,"88":0.01119,"91":0.0056,"100":0.0056,"102":0.0056,"103":0.0056,"104":0.02238,"105":0.0056,"106":0.0056,"107":0.0056,"108":0.0056,"109":0.01119,"110":0.0056,"111":0.0056,"112":0.0056,"113":0.01119,"114":0.0056,"115":0.32457,"116":0.0056,"117":0.0056,"118":0.01119,"119":0.47006,"120":0.10073,"121":1.6788,"122":0.36934,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 46 49 50 51 53 54 55 56 58 60 61 62 63 64 66 67 69 70 71 72 73 74 75 76 79 80 81 82 84 85 86 87 89 90 92 93 94 95 96 97 98 99 101 123 124 125 3.5 3.6"},D:{"29":0.0056,"38":0.0056,"42":0.0056,"47":0.02238,"48":0.73308,"49":0.08954,"53":0.0056,"56":0.0056,"57":0.0056,"60":0.05036,"65":0.0056,"66":0.02238,"67":0.0056,"68":0.0056,"70":0.0056,"72":0.0056,"74":0.0056,"75":0.0056,"76":0.01119,"77":0.0056,"78":0.0056,"79":1.13599,"80":0.01679,"81":0.03358,"83":0.845,"84":0.01119,"85":0.01679,"86":0.03917,"87":0.05036,"88":0.10632,"89":0.0056,"90":0.01119,"91":0.01119,"92":0.01119,"93":0.05036,"94":0.01119,"95":0.0056,"96":0.01119,"97":0.0056,"98":0.0056,"99":0.01119,"100":0.02798,"101":0.04477,"102":0.02798,"103":0.25182,"104":0.06156,"105":0.07275,"106":0.02798,"107":0.03917,"108":0.09513,"109":2.27198,"110":0.02798,"111":0.05596,"112":0.04477,"113":0.05596,"114":0.08954,"115":0.12871,"116":0.40851,"117":0.17348,"118":0.7051,"119":4.16342,"120":19.74828,"121":1.42698,"122":0.01119,"123":0.0056,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 39 40 41 43 44 45 46 50 51 52 54 55 58 59 61 62 63 64 69 71 73 124"},F:{"52":0.0056,"95":0.04477,"102":0.0056,"104":0.01119,"105":0.39172,"106":0.32457,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0056,"13":0.0056,"15":0.0056,"17":0.0056,"18":0.0056,"85":0.0056,"92":0.0056,"103":0.0056,"106":0.0056,"107":0.0056,"108":0.0056,"109":0.10073,"110":0.0056,"111":0.01119,"112":0.0056,"113":0.0056,"114":0.01119,"115":0.0056,"116":0.01119,"117":0.01119,"118":0.01679,"119":1.00728,"120":5.41133,"121":0.74986,_:"14 16 79 80 81 83 84 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 104 105"},E:{"8":0.0056,"9":0.05036,"13":0.01119,"14":0.08394,"15":0.01119,_:"0 4 5 6 7 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1 17.4","9.1":0.01119,"11.1":0.0056,"12.1":0.03358,"13.1":0.16228,"14.1":0.20705,"15.1":0.02798,"15.2-15.3":0.02798,"15.4":0.06156,"15.5":0.09513,"15.6":0.76665,"16.0":0.06715,"16.1":0.12871,"16.2":0.1399,"16.3":0.31897,"16.4":0.10632,"16.5":0.21265,"16.6":2.21042,"17.0":0.1455,"17.1":1.85787,"17.2":2.26638,"17.3":0.15109},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00472,"5.0-5.1":0.00709,"6.0-6.1":0.01181,"7.0-7.1":0.01654,"8.1-8.4":0.00236,"9.0-9.2":0.01417,"9.3":0.05433,"10.0-10.2":0.00472,"10.3":0.08504,"11.0-11.2":0.03307,"11.3-11.4":0.03543,"12.0-12.1":0.02126,"12.2-12.5":0.42049,"13.0-13.1":0.00709,"13.2":0.07796,"13.3":0.02126,"13.4-13.7":0.09449,"14.0-14.4":0.16536,"14.5-14.8":0.25277,"15.0-15.1":0.10867,"15.2-15.3":0.1252,"15.4":0.14646,"15.5":0.19371,"15.6-15.8":1.50951,"16.0":0.45356,"16.1":0.96618,"16.2":0.43939,"16.3":0.81736,"16.4":0.1819,"16.5":0.38742,"16.6-16.7":3.17021,"17.0":0.52679,"17.1":5.43094,"17.2":7.3515,"17.3":0.47246},P:{"4":0.08802,"20":0.022,"21":0.07701,"22":0.04401,"23":2.70649,"5.0-5.4":0.011,"6.2-6.4":0.011,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0","13.0":0.011,"16.0":0.022,"17.0":0.011,"18.0":0.011,"19.0":0.011},I:{"0":0.02631,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.00636,"9":0.01908,"11":0.11446,_:"6 7 10 5.5"},K:{"0":0.17616,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00881},O:{"0":0.08368},H:{"0":0},L:{"0":16.7232},R:{_:"0"},M:{"0":1.33441}}; diff --git a/.pnpm-store/v3/files/ae/86f7f943480c14d24e2825efc516dc72438d7bc0d7ec22abc04ab64921d42c8b59b701e053b86f2d6d07b03a2b1abf8ce11ee75a81a34be59532132316b0e7 b/.pnpm-store/v3/files/ae/86f7f943480c14d24e2825efc516dc72438d7bc0d7ec22abc04ab64921d42c8b59b701e053b86f2d6d07b03a2b1abf8ce11ee75a81a34be59532132316b0e7 new file mode 100644 index 00000000..afb77dea --- /dev/null +++ b/.pnpm-store/v3/files/ae/86f7f943480c14d24e2825efc516dc72438d7bc0d7ec22abc04ab64921d42c8b59b701e053b86f2d6d07b03a2b1abf8ce11ee75a81a34be59532132316b0e7 @@ -0,0 +1 @@ +module.exports={C:{"34":0.00445,"43":0.0089,"51":0.00445,"52":0.0801,"56":0.0089,"60":0.00445,"68":0.00445,"70":0.00445,"78":0.01335,"80":0.00445,"82":0.00445,"88":0.0089,"91":0.01335,"99":0.0089,"102":0.0089,"103":0.01335,"104":0.00445,"105":0.00445,"108":0.00445,"109":0.00445,"110":0.00445,"111":0.00445,"112":0.00445,"113":0.0089,"114":0.00445,"115":0.7921,"116":0.00445,"117":0.0089,"118":0.02225,"119":0.0267,"120":0.0979,"121":3.43985,"122":0.80545,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 53 54 55 57 58 59 61 62 63 64 65 66 67 69 71 72 73 74 75 76 77 79 81 83 84 85 86 87 89 90 92 93 94 95 96 97 98 100 101 106 107 123 124 125 3.5 3.6"},D:{"34":0.0178,"38":0.03115,"41":0.0089,"47":0.02225,"49":0.0267,"53":0.01335,"55":0.00445,"56":0.00445,"63":0.06675,"65":0.00445,"67":0.0089,"68":0.00445,"70":0.00445,"71":0.00445,"72":0.00445,"74":0.00445,"76":0.00445,"78":0.00445,"79":0.24475,"80":0.00445,"81":0.01335,"83":0.0089,"84":0.00445,"85":0.03115,"86":0.0178,"87":0.1068,"88":0.0178,"89":0.0089,"90":0.0178,"91":0.01335,"92":0.0089,"93":0.08455,"94":0.01335,"95":0.00445,"96":0.0089,"97":0.00445,"98":0.01335,"99":0.02225,"100":0.00445,"101":0.0089,"102":0.0089,"103":0.04895,"104":0.00445,"105":0.00445,"106":0.0178,"107":0.0178,"108":0.04005,"109":2.17605,"110":0.0089,"111":0.02225,"112":0.0178,"113":0.0089,"114":0.1157,"115":0.0445,"116":0.089,"117":0.04005,"118":0.0534,"119":0.36045,"120":21.6804,"121":1.48185,"122":0.00445,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 42 43 44 45 46 48 50 51 52 54 57 58 59 60 61 62 64 66 69 73 75 77 123 124"},F:{"28":0.00445,"36":0.00445,"40":0.0089,"46":0.04895,"77":0.0089,"79":0.00445,"80":0.00445,"83":0.00445,"85":0.00445,"94":0.00445,"95":0.178,"97":0.0089,"102":0.0089,"104":0.00445,"105":1.45515,"106":1.958,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 81 82 84 86 87 88 89 90 91 92 93 96 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00445,"92":0.0089,"105":0.01335,"106":0.0089,"107":0.00445,"109":0.0623,"110":0.01335,"111":0.00445,"112":0.00445,"113":0.00445,"114":0.0178,"115":0.02225,"116":0.0089,"117":0.03115,"118":0.0267,"119":0.0801,"120":3.95605,"121":0.58295,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 108"},E:{"13":0.00445,"14":0.02225,"15":0.0089,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1 11.1 17.4","9.1":0.01335,"12.1":0.0089,"13.1":0.0267,"14.1":0.06675,"15.1":0.01335,"15.2-15.3":0.0089,"15.4":0.0089,"15.5":0.02225,"15.6":0.12905,"16.0":0.0178,"16.1":0.0356,"16.2":0.04895,"16.3":0.08455,"16.4":0.04005,"16.5":0.05785,"16.6":0.25365,"17.0":0.08455,"17.1":0.356,"17.2":0.60965,"17.3":0.06675},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00225,"5.0-5.1":0.00337,"6.0-6.1":0.00561,"7.0-7.1":0.00786,"8.1-8.4":0.00112,"9.0-9.2":0.00674,"9.3":0.02583,"10.0-10.2":0.00225,"10.3":0.04043,"11.0-11.2":0.01572,"11.3-11.4":0.01684,"12.0-12.1":0.01011,"12.2-12.5":0.19989,"13.0-13.1":0.00337,"13.2":0.03706,"13.3":0.01011,"13.4-13.7":0.04492,"14.0-14.4":0.07861,"14.5-14.8":0.12016,"15.0-15.1":0.05166,"15.2-15.3":0.05952,"15.4":0.06962,"15.5":0.09208,"15.6-15.8":0.71758,"16.0":0.21561,"16.1":0.45929,"16.2":0.20887,"16.3":0.38855,"16.4":0.08647,"16.5":0.18417,"16.6-16.7":1.50702,"17.0":0.25042,"17.1":2.5817,"17.2":3.49467,"17.3":0.22459},P:{"4":0.35173,"20":0.02069,"21":0.04138,"22":0.05173,"23":2.38971,"5.0-5.4":0.03104,"6.2-6.4":0.01035,_:"7.2-7.4 8.2 9.2 10.1 12.0 14.0 15.0 16.0","11.1-11.2":0.01035,"13.0":0.01035,"17.0":0.01035,"18.0":0.01035,"19.0":0.02069},I:{"0":0.07737,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.0002},A:{"8":0.00445,"11":0.05785,_:"6 7 9 10 5.5"},K:{"0":0.5329,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.02776},H:{"0":0},L:{"0":41.10943},R:{_:"0"},M:{"0":0.27755}}; diff --git a/.pnpm-store/v3/files/ae/bf91ca5e2afdb6624610d453e6b42438cf670653e2613c2a8f976e5a64d88aa1d33fd1de95e5c1ab0858aa7ba2bdd7ed0030af5938d27ed3cfdc6abf32764e b/.pnpm-store/v3/files/ae/bf91ca5e2afdb6624610d453e6b42438cf670653e2613c2a8f976e5a64d88aa1d33fd1de95e5c1ab0858aa7ba2bdd7ed0030af5938d27ed3cfdc6abf32764e new file mode 100644 index 00000000..dc2b2454 --- /dev/null +++ b/.pnpm-store/v3/files/ae/bf91ca5e2afdb6624610d453e6b42438cf670653e2613c2a8f976e5a64d88aa1d33fd1de95e5c1ab0858aa7ba2bdd7ed0030af5938d27ed3cfdc6abf32764e @@ -0,0 +1,5912 @@ +/** + * Immutable data encourages pure functions (data-in, data-out) and lends itself + * to much simpler application development and enabling techniques from + * functional programming such as lazy evaluation. + * + * While designed to bring these powerful functional concepts to JavaScript, it + * presents an Object-Oriented API familiar to Javascript engineers and closely + * mirroring that of Array, Map, and Set. It is easy and efficient to convert to + * and from plain Javascript types. + * + * ## How to read these docs + * + * In order to better explain what kinds of values the Immutable.js API expects + * and produces, this documentation is presented in a statically typed dialect of + * JavaScript (like [Flow][] or [TypeScript][]). You *don't need* to use these + * type checking tools in order to use Immutable.js, however becoming familiar + * with their syntax will help you get a deeper understanding of this API. + * + * **A few examples and how to read them.** + * + * All methods describe the kinds of data they accept and the kinds of data + * they return. For example a function which accepts two numbers and returns + * a number would look like this: + * + * ```js + * sum(first: number, second: number): number + * ``` + * + * Sometimes, methods can accept different kinds of data or return different + * kinds of data, and this is described with a *type variable*, which is + * typically in all-caps. For example, a function which always returns the same + * kind of data it was provided would look like this: + * + * ```js + * identity(value: T): T + * ``` + * + * Type variables are defined with classes and referred to in methods. For + * example, a class that holds onto a value for you might look like this: + * + * ```js + * class Box { + * constructor(value: T) + * getValue(): T + * } + * ``` + * + * In order to manipulate Immutable data, methods that we're used to affecting + * a Collection instead return a new Collection of the same type. The type + * `this` refers to the same kind of class. For example, a List which returns + * new Lists when you `push` a value onto it might look like: + * + * ```js + * class List { + * push(value: T): this + * } + * ``` + * + * Many methods in Immutable.js accept values which implement the JavaScript + * [Iterable][] protocol, and might appear like `Iterable` for something + * which represents sequence of strings. Typically in JavaScript we use plain + * Arrays (`[]`) when an Iterable is expected, but also all of the Immutable.js + * collections are iterable themselves! + * + * For example, to get a value deep within a structure of data, we might use + * `getIn` which expects an `Iterable` path: + * + * ``` + * getIn(path: Iterable): unknown + * ``` + * + * To use this method, we could pass an array: `data.getIn([ "key", 2 ])`. + * + * + * Note: All examples are presented in the modern [ES2015][] version of + * JavaScript. Use tools like Babel to support older browsers. + * + * For example: + * + * ```js + * // ES2015 + * const mappedFoo = foo.map(x => x * x); + * // ES5 + * var mappedFoo = foo.map(function (x) { return x * x; }); + * ``` + * + * [ES2015]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla + * [TypeScript]: https://www.typescriptlang.org/ + * [Flow]: https://flowtype.org/ + * [Iterable]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols + */ + +declare namespace Immutable { + /** @ignore */ + type OnlyObject = Extract; + + /** @ignore */ + type ContainObject = OnlyObject extends object + ? OnlyObject extends never + ? false + : true + : false; + + /** + * @ignore + * + * Used to convert deeply all immutable types to a plain TS type. + * Using `unknown` on object instead of recursive call as we have a circular reference issue + */ + export type DeepCopy = T extends Record + ? // convert Record to DeepCopy plain JS object + { + [key in keyof R]: ContainObject extends true ? unknown : R[key]; + } + : T extends Collection.Keyed + ? // convert KeyedCollection to DeepCopy plain JS object + { + [key in KeyedKey extends string | number | symbol + ? KeyedKey + : string]: V extends object ? unknown : V; + } + : // convert IndexedCollection or Immutable.Set to DeepCopy plain JS array + T extends Collection + ? Array> + : T extends string | number // Iterable scalar types : should be kept as is + ? T + : T extends Iterable // Iterable are converted to plain JS array + ? Array> + : T extends object // plain JS object are converted deeply + ? { + [ObjectKey in keyof T]: ContainObject extends true + ? unknown + : T[ObjectKey]; + } + : // other case : should be kept as is + T; + + /** + * Describes which item in a pair should be placed first when sorting + * + * @ignore + */ + export enum PairSorting { + LeftThenRight = -1, + RightThenLeft = +1, + } + + /** + * Function comparing two items of the same type. It can return: + * + * * a PairSorting value, to indicate whether the left-hand item or the right-hand item should be placed before the other + * + * * the traditional numeric return value - especially -1, 0, or 1 + * + * @ignore + */ + export type Comparator = (left: T, right: T) => PairSorting | number; + + /** + * Lists are ordered indexed dense collections, much like a JavaScript + * Array. + * + * Lists are immutable and fully persistent with O(log32 N) gets and sets, + * and O(1) push and pop. + * + * Lists implement Deque, with efficient addition and removal from both the + * end (`push`, `pop`) and beginning (`unshift`, `shift`). + * + * Unlike a JavaScript Array, there is no distinction between an + * "unset" index and an index set to `undefined`. `List#forEach` visits all + * indices from 0 to size, regardless of whether they were explicitly defined. + */ + namespace List { + /** + * True if the provided value is a List + * + * + * ```js + * const { List } = require('immutable'); + * List.isList([]); // false + * List.isList(List()); // true + * ``` + */ + function isList(maybeList: unknown): maybeList is List; + + /** + * Creates a new List containing `values`. + * + * + * ```js + * const { List } = require('immutable'); + * List.of(1, 2, 3, 4) + * // List [ 1, 2, 3, 4 ] + * ``` + * + * Note: Values are not altered or converted in any way. + * + * + * ```js + * const { List } = require('immutable'); + * List.of({x:1}, 2, [3], 4) + * // List [ { x: 1 }, 2, [ 3 ], 4 ] + * ``` + */ + function of(...values: Array): List; + } + + /** + * Create a new immutable List containing the values of the provided + * collection-like. + * + * Note: `List` is a factory function and not a class, and does not use the + * `new` keyword during construction. + * + * + * ```js + * const { List, Set } = require('immutable') + * + * const emptyList = List() + * // List [] + * + * const plainArray = [ 1, 2, 3, 4 ] + * const listFromPlainArray = List(plainArray) + * // List [ 1, 2, 3, 4 ] + * + * const plainSet = Set([ 1, 2, 3, 4 ]) + * const listFromPlainSet = List(plainSet) + * // List [ 1, 2, 3, 4 ] + * + * const arrayIterator = plainArray[Symbol.iterator]() + * const listFromCollectionArray = List(arrayIterator) + * // List [ 1, 2, 3, 4 ] + * + * listFromPlainArray.equals(listFromCollectionArray) // true + * listFromPlainSet.equals(listFromCollectionArray) // true + * listFromPlainSet.equals(listFromPlainArray) // true + * ``` + */ + function List(collection?: Iterable | ArrayLike): List; + + interface List extends Collection.Indexed { + /** + * The number of items in this List. + */ + readonly size: number; + + // Persistent changes + + /** + * Returns a new List which includes `value` at `index`. If `index` already + * exists in this List, it will be replaced. + * + * `index` may be a negative number, which indexes back from the end of the + * List. `v.set(-1, "value")` sets the last item in the List. + * + * If `index` larger than `size`, the returned List's `size` will be large + * enough to include the `index`. + * + * + * ```js + * const originalList = List([ 0 ]); + * // List [ 0 ] + * originalList.set(1, 1); + * // List [ 0, 1 ] + * originalList.set(0, 'overwritten'); + * // List [ "overwritten" ] + * originalList.set(2, 2); + * // List [ 0, undefined, 2 ] + * + * List().set(50000, 'value').size; + * // 50001 + * ``` + * + * Note: `set` can be used in `withMutations`. + */ + set(index: number, value: T): List; + + /** + * Returns a new List which excludes this `index` and with a size 1 less + * than this List. Values at indices above `index` are shifted down by 1 to + * fill the position. + * + * This is synonymous with `list.splice(index, 1)`. + * + * `index` may be a negative number, which indexes back from the end of the + * List. `v.delete(-1)` deletes the last item in the List. + * + * Note: `delete` cannot be safely used in IE8 + * + * + * ```js + * List([ 0, 1, 2, 3, 4 ]).delete(0); + * // List [ 1, 2, 3, 4 ] + * ``` + * + * Since `delete()` re-indexes values, it produces a complete copy, which + * has `O(N)` complexity. + * + * Note: `delete` *cannot* be used in `withMutations`. + * + * @alias remove + */ + delete(index: number): List; + remove(index: number): List; + + /** + * Returns a new List with `value` at `index` with a size 1 more than this + * List. Values at indices above `index` are shifted over by 1. + * + * This is synonymous with `list.splice(index, 0, value)`. + * + * + * ```js + * List([ 0, 1, 2, 3, 4 ]).insert(6, 5) + * // List [ 0, 1, 2, 3, 4, 5 ] + * ``` + * + * Since `insert()` re-indexes values, it produces a complete copy, which + * has `O(N)` complexity. + * + * Note: `insert` *cannot* be used in `withMutations`. + */ + insert(index: number, value: T): List; + + /** + * Returns a new List with 0 size and no values in constant time. + * + * + * ```js + * List([ 1, 2, 3, 4 ]).clear() + * // List [] + * ``` + * + * Note: `clear` can be used in `withMutations`. + */ + clear(): List; + + /** + * Returns a new List with the provided `values` appended, starting at this + * List's `size`. + * + * + * ```js + * List([ 1, 2, 3, 4 ]).push(5) + * // List [ 1, 2, 3, 4, 5 ] + * ``` + * + * Note: `push` can be used in `withMutations`. + */ + push(...values: Array): List; + + /** + * Returns a new List with a size ones less than this List, excluding + * the last index in this List. + * + * Note: this differs from `Array#pop` because it returns a new + * List rather than the removed value. Use `last()` to get the last value + * in this List. + * + * ```js + * List([ 1, 2, 3, 4 ]).pop() + * // List[ 1, 2, 3 ] + * ``` + * + * Note: `pop` can be used in `withMutations`. + */ + pop(): List; + + /** + * Returns a new List with the provided `values` prepended, shifting other + * values ahead to higher indices. + * + * + * ```js + * List([ 2, 3, 4]).unshift(1); + * // List [ 1, 2, 3, 4 ] + * ``` + * + * Note: `unshift` can be used in `withMutations`. + */ + unshift(...values: Array): List; + + /** + * Returns a new List with a size ones less than this List, excluding + * the first index in this List, shifting all other values to a lower index. + * + * Note: this differs from `Array#shift` because it returns a new + * List rather than the removed value. Use `first()` to get the first + * value in this List. + * + * + * ```js + * List([ 0, 1, 2, 3, 4 ]).shift(); + * // List [ 1, 2, 3, 4 ] + * ``` + * + * Note: `shift` can be used in `withMutations`. + */ + shift(): List; + + /** + * Returns a new List with an updated value at `index` with the return + * value of calling `updater` with the existing value, or `notSetValue` if + * `index` was not set. If called with a single argument, `updater` is + * called with the List itself. + * + * `index` may be a negative number, which indexes back from the end of the + * List. `v.update(-1)` updates the last item in the List. + * + * + * ```js + * const list = List([ 'a', 'b', 'c' ]) + * const result = list.update(2, val => val.toUpperCase()) + * // List [ "a", "b", "C" ] + * ``` + * + * This can be very useful as a way to "chain" a normal function into a + * sequence of methods. RxJS calls this "let" and lodash calls it "thru". + * + * For example, to sum a List after mapping and filtering: + * + * + * ```js + * function sum(collection) { + * return collection.reduce((sum, x) => sum + x, 0) + * } + * + * List([ 1, 2, 3 ]) + * .map(x => x + 1) + * .filter(x => x % 2 === 0) + * .update(sum) + * // 6 + * ``` + * + * Note: `update(index)` can be used in `withMutations`. + * + * @see `Map#update` + */ + update(index: number, notSetValue: T, updater: (value: T) => T): this; + update( + index: number, + updater: (value: T | undefined) => T | undefined + ): this; + update(updater: (value: this) => R): R; + + /** + * Returns a new List with size `size`. If `size` is less than this + * List's size, the new List will exclude values at the higher indices. + * If `size` is greater than this List's size, the new List will have + * undefined values for the newly available indices. + * + * When building a new List and the final size is known up front, `setSize` + * used in conjunction with `withMutations` may result in the more + * performant construction. + */ + setSize(size: number): List; + + // Deep persistent changes + + /** + * Returns a new List having set `value` at this `keyPath`. If any keys in + * `keyPath` do not exist, a new immutable Map will be created at that key. + * + * Index numbers are used as keys to determine the path to follow in + * the List. + * + * + * ```js + * const { List } = require('immutable') + * const list = List([ 0, 1, 2, List([ 3, 4 ])]) + * list.setIn([3, 0], 999); + * // List [ 0, 1, 2, List [ 999, 4 ] ] + * ``` + * + * Plain JavaScript Object or Arrays may be nested within an Immutable.js + * Collection, and setIn() can update those values as well, treating them + * immutably by creating new copies of those values with the changes applied. + * + * + * ```js + * const { List } = require('immutable') + * const list = List([ 0, 1, 2, { plain: 'object' }]) + * list.setIn([3, 'plain'], 'value'); + * // List([ 0, 1, 2, { plain: 'value' }]) + * ``` + * + * Note: `setIn` can be used in `withMutations`. + */ + setIn(keyPath: Iterable, value: unknown): this; + + /** + * Returns a new List having removed the value at this `keyPath`. If any + * keys in `keyPath` do not exist, no change will occur. + * + * + * ```js + * const { List } = require('immutable') + * const list = List([ 0, 1, 2, List([ 3, 4 ])]) + * list.deleteIn([3, 0]); + * // List [ 0, 1, 2, List [ 4 ] ] + * ``` + * + * Plain JavaScript Object or Arrays may be nested within an Immutable.js + * Collection, and removeIn() can update those values as well, treating them + * immutably by creating new copies of those values with the changes applied. + * + * + * ```js + * const { List } = require('immutable') + * const list = List([ 0, 1, 2, { plain: 'object' }]) + * list.removeIn([3, 'plain']); + * // List([ 0, 1, 2, {}]) + * ``` + * + * Note: `deleteIn` *cannot* be safely used in `withMutations`. + * + * @alias removeIn + */ + deleteIn(keyPath: Iterable): this; + removeIn(keyPath: Iterable): this; + + /** + * Note: `updateIn` can be used in `withMutations`. + * + * @see `Map#updateIn` + */ + updateIn( + keyPath: Iterable, + notSetValue: unknown, + updater: (value: unknown) => unknown + ): this; + updateIn( + keyPath: Iterable, + updater: (value: unknown) => unknown + ): this; + + /** + * Note: `mergeIn` can be used in `withMutations`. + * + * @see `Map#mergeIn` + */ + mergeIn(keyPath: Iterable, ...collections: Array): this; + + /** + * Note: `mergeDeepIn` can be used in `withMutations`. + * + * @see `Map#mergeDeepIn` + */ + mergeDeepIn( + keyPath: Iterable, + ...collections: Array + ): this; + + // Transient changes + + /** + * Note: Not all methods can be safely used on a mutable collection or within + * `withMutations`! Check the documentation for each method to see if it + * allows being used in `withMutations`. + * + * @see `Map#withMutations` + */ + withMutations(mutator: (mutable: this) => unknown): this; + + /** + * An alternative API for withMutations() + * + * Note: Not all methods can be safely used on a mutable collection or within + * `withMutations`! Check the documentation for each method to see if it + * allows being used in `withMutations`. + * + * @see `Map#asMutable` + */ + asMutable(): this; + + /** + * @see `Map#wasAltered` + */ + wasAltered(): boolean; + + /** + * @see `Map#asImmutable` + */ + asImmutable(): this; + + // Sequence algorithms + + /** + * Returns a new List with other values or collections concatenated to this one. + * + * Note: `concat` can be used in `withMutations`. + * + * @alias merge + */ + concat(...valuesOrCollections: Array | C>): List; + merge(...collections: Array>): List; + + /** + * Returns a new List with values passed through a + * `mapper` function. + * + * + * ```js + * List([ 1, 2 ]).map(x => 10 * x) + * // List [ 10, 20 ] + * ``` + */ + map( + mapper: (value: T, key: number, iter: this) => M, + context?: unknown + ): List; + + /** + * Flat-maps the List, returning a new List. + * + * Similar to `list.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: T, key: number, iter: this) => Iterable, + context?: unknown + ): List; + + /** + * Returns a new List with only the values for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: T, index: number, iter: this) => value is F, + context?: unknown + ): List; + filter( + predicate: (value: T, index: number, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new List with the values for which the `predicate` + * function returns false and another for which is returns true. + */ + partition( + predicate: (this: C, value: T, index: number, iter: this) => value is F, + context?: C + ): [List, List]; + partition( + predicate: (this: C, value: T, index: number, iter: this) => unknown, + context?: C + ): [this, this]; + + /** + * Returns a List "zipped" with the provided collection. + * + * Like `zipWith`, but using the default `zipper`: creating an `Array`. + * + * + * ```js + * const a = List([ 1, 2, 3 ]); + * const b = List([ 4, 5, 6 ]); + * const c = a.zip(b); // List [ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ] + * ``` + */ + zip(other: Collection): List<[T, U]>; + zip( + other: Collection, + other2: Collection + ): List<[T, U, V]>; + zip(...collections: Array>): List; + + /** + * Returns a List "zipped" with the provided collections. + * + * Unlike `zip`, `zipAll` continues zipping until the longest collection is + * exhausted. Missing values from shorter collections are filled with `undefined`. + * + * + * ```js + * const a = List([ 1, 2 ]); + * const b = List([ 3, 4, 5 ]); + * const c = a.zipAll(b); // List [ [ 1, 3 ], [ 2, 4 ], [ undefined, 5 ] ] + * ``` + * + * Note: Since zipAll will return a collection as large as the largest + * input, some results may contain undefined values. TypeScript cannot + * account for these without cases (as of v2.5). + */ + zipAll(other: Collection): List<[T, U]>; + zipAll( + other: Collection, + other2: Collection + ): List<[T, U, V]>; + zipAll(...collections: Array>): List; + + /** + * Returns a List "zipped" with the provided collections by using a + * custom `zipper` function. + * + * + * ```js + * const a = List([ 1, 2, 3 ]); + * const b = List([ 4, 5, 6 ]); + * const c = a.zipWith((a, b) => a + b, b); + * // List [ 5, 7, 9 ] + * ``` + */ + zipWith( + zipper: (value: T, otherValue: U) => Z, + otherCollection: Collection + ): List; + zipWith( + zipper: (value: T, otherValue: U, thirdValue: V) => Z, + otherCollection: Collection, + thirdCollection: Collection + ): List; + zipWith( + zipper: (...values: Array) => Z, + ...collections: Array> + ): List; + } + + /** + * Immutable Map is an unordered Collection.Keyed of (key, value) pairs with + * `O(log32 N)` gets and `O(log32 N)` persistent sets. + * + * Iteration order of a Map is undefined, however is stable. Multiple + * iterations of the same Map will iterate in the same order. + * + * Map's keys can be of any type, and use `Immutable.is` to determine key + * equality. This allows the use of any value (including NaN) as a key. + * + * Because `Immutable.is` returns equality based on value semantics, and + * Immutable collections are treated as values, any Immutable collection may + * be used as a key. + * + * + * ```js + * const { Map, List } = require('immutable'); + * Map().set(List([ 1 ]), 'listofone').get(List([ 1 ])); + * // 'listofone' + * ``` + * + * Any JavaScript object may be used as a key, however strict identity is used + * to evaluate key equality. Two similar looking objects will represent two + * different keys. + * + * Implemented by a hash-array mapped trie. + */ + namespace Map { + /** + * True if the provided value is a Map + * + * + * ```js + * const { Map } = require('immutable') + * Map.isMap({}) // false + * Map.isMap(Map()) // true + * ``` + */ + function isMap(maybeMap: unknown): maybeMap is Map; + + /** + * Creates a new Map from alternating keys and values + * + * + * ```js + * const { Map } = require('immutable') + * Map.of( + * 'key', 'value', + * 'numerical value', 3, + * 0, 'numerical key' + * ) + * // Map { 0: "numerical key", "key": "value", "numerical value": 3 } + * ``` + * + * @deprecated Use Map([ [ 'k', 'v' ] ]) or Map({ k: 'v' }) + */ + function of(...keyValues: Array): Map; + } + + /** + * Creates a new Immutable Map. + * + * Created with the same key value pairs as the provided Collection.Keyed or + * JavaScript Object or expects a Collection of [K, V] tuple entries. + * + * Note: `Map` is a factory function and not a class, and does not use the + * `new` keyword during construction. + * + * + * ```js + * const { Map } = require('immutable') + * Map({ key: "value" }) + * Map([ [ "key", "value" ] ]) + * ``` + * + * Keep in mind, when using JS objects to construct Immutable Maps, that + * JavaScript Object properties are always strings, even if written in a + * quote-less shorthand, while Immutable Maps accept keys of any type. + * + * + * ```js + * let obj = { 1: "one" } + * Object.keys(obj) // [ "1" ] + * assert.equal(obj["1"], obj[1]) // "one" === "one" + * + * let map = Map(obj) + * assert.notEqual(map.get("1"), map.get(1)) // "one" !== undefined + * ``` + * + * Property access for JavaScript Objects first converts the key to a string, + * but since Immutable Map keys can be of any type the argument to `get()` is + * not altered. + */ + function Map(collection?: Iterable<[K, V]>): Map; + function Map(obj: { [key: string]: V }): Map; + function Map(obj: { [P in K]?: V }): Map; + + interface Map extends Collection.Keyed { + /** + * The number of entries in this Map. + */ + readonly size: number; + + // Persistent changes + + /** + * Returns a new Map also containing the new key, value pair. If an equivalent + * key already exists in this Map, it will be replaced. + * + * + * ```js + * const { Map } = require('immutable') + * const originalMap = Map() + * const newerMap = originalMap.set('key', 'value') + * const newestMap = newerMap.set('key', 'newer value') + * + * originalMap + * // Map {} + * newerMap + * // Map { "key": "value" } + * newestMap + * // Map { "key": "newer value" } + * ``` + * + * Note: `set` can be used in `withMutations`. + */ + set(key: K, value: V): this; + + /** + * Returns a new Map which excludes this `key`. + * + * Note: `delete` cannot be safely used in IE8, but is provided to mirror + * the ES6 collection API. + * + * + * ```js + * const { Map } = require('immutable') + * const originalMap = Map({ + * key: 'value', + * otherKey: 'other value' + * }) + * // Map { "key": "value", "otherKey": "other value" } + * originalMap.delete('otherKey') + * // Map { "key": "value" } + * ``` + * + * Note: `delete` can be used in `withMutations`. + * + * @alias remove + */ + delete(key: K): this; + remove(key: K): this; + + /** + * Returns a new Map which excludes the provided `keys`. + * + * + * ```js + * const { Map } = require('immutable') + * const names = Map({ a: "Aaron", b: "Barry", c: "Connor" }) + * names.deleteAll([ 'a', 'c' ]) + * // Map { "b": "Barry" } + * ``` + * + * Note: `deleteAll` can be used in `withMutations`. + * + * @alias removeAll + */ + deleteAll(keys: Iterable): this; + removeAll(keys: Iterable): this; + + /** + * Returns a new Map containing no keys or values. + * + * + * ```js + * const { Map } = require('immutable') + * Map({ key: 'value' }).clear() + * // Map {} + * ``` + * + * Note: `clear` can be used in `withMutations`. + */ + clear(): this; + + /** + * Returns a new Map having updated the value at this `key` with the return + * value of calling `updater` with the existing value. + * + * Similar to: `map.set(key, updater(map.get(key)))`. + * + * + * ```js + * const { Map } = require('immutable') + * const aMap = Map({ key: 'value' }) + * const newMap = aMap.update('key', value => value + value) + * // Map { "key": "valuevalue" } + * ``` + * + * This is most commonly used to call methods on collections within a + * structure of data. For example, in order to `.push()` onto a nested `List`, + * `update` and `push` can be used together: + * + * + * ```js + * const aMap = Map({ nestedList: List([ 1, 2, 3 ]) }) + * const newMap = aMap.update('nestedList', list => list.push(4)) + * // Map { "nestedList": List [ 1, 2, 3, 4 ] } + * ``` + * + * When a `notSetValue` is provided, it is provided to the `updater` + * function when the value at the key does not exist in the Map. + * + * + * ```js + * const aMap = Map({ key: 'value' }) + * const newMap = aMap.update('noKey', 'no value', value => value + value) + * // Map { "key": "value", "noKey": "no valueno value" } + * ``` + * + * However, if the `updater` function returns the same value it was called + * with, then no change will occur. This is still true if `notSetValue` + * is provided. + * + * + * ```js + * const aMap = Map({ apples: 10 }) + * const newMap = aMap.update('oranges', 0, val => val) + * // Map { "apples": 10 } + * assert.strictEqual(newMap, map); + * ``` + * + * For code using ES2015 or later, using `notSetValue` is discourged in + * favor of function parameter default values. This helps to avoid any + * potential confusion with identify functions as described above. + * + * The previous example behaves differently when written with default values: + * + * + * ```js + * const aMap = Map({ apples: 10 }) + * const newMap = aMap.update('oranges', (val = 0) => val) + * // Map { "apples": 10, "oranges": 0 } + * ``` + * + * If no key is provided, then the `updater` function return value is + * returned as well. + * + * + * ```js + * const aMap = Map({ key: 'value' }) + * const result = aMap.update(aMap => aMap.get('key')) + * // "value" + * ``` + * + * This can be very useful as a way to "chain" a normal function into a + * sequence of methods. RxJS calls this "let" and lodash calls it "thru". + * + * For example, to sum the values in a Map + * + * + * ```js + * function sum(collection) { + * return collection.reduce((sum, x) => sum + x, 0) + * } + * + * Map({ x: 1, y: 2, z: 3 }) + * .map(x => x + 1) + * .filter(x => x % 2 === 0) + * .update(sum) + * // 6 + * ``` + * + * Note: `update(key)` can be used in `withMutations`. + */ + update(key: K, notSetValue: V, updater: (value: V) => V): this; + update(key: K, updater: (value: V | undefined) => V | undefined): this; + update(updater: (value: this) => R): R; + + /** + * Returns a new Map resulting from merging the provided Collections + * (or JS objects) into this Map. In other words, this takes each entry of + * each collection and sets it on this Map. + * + * Note: Values provided to `merge` are shallowly converted before being + * merged. No nested values are altered. + * + * + * ```js + * const { Map } = require('immutable') + * const one = Map({ a: 10, b: 20, c: 30 }) + * const two = Map({ b: 40, a: 50, d: 60 }) + * one.merge(two) // Map { "a": 50, "b": 40, "c": 30, "d": 60 } + * two.merge(one) // Map { "b": 20, "a": 10, "d": 60, "c": 30 } + * ``` + * + * Note: `merge` can be used in `withMutations`. + * + * @alias concat + */ + merge( + ...collections: Array> + ): Map; + merge( + ...collections: Array<{ [key: string]: C }> + ): Map; + concat( + ...collections: Array> + ): Map; + concat( + ...collections: Array<{ [key: string]: C }> + ): Map; + + /** + * Like `merge()`, `mergeWith()` returns a new Map resulting from merging + * the provided Collections (or JS objects) into this Map, but uses the + * `merger` function for dealing with conflicts. + * + * + * ```js + * const { Map } = require('immutable') + * const one = Map({ a: 10, b: 20, c: 30 }) + * const two = Map({ b: 40, a: 50, d: 60 }) + * one.mergeWith((oldVal, newVal) => oldVal / newVal, two) + * // { "a": 0.2, "b": 0.5, "c": 30, "d": 60 } + * two.mergeWith((oldVal, newVal) => oldVal / newVal, one) + * // { "b": 2, "a": 5, "d": 60, "c": 30 } + * ``` + * + * Note: `mergeWith` can be used in `withMutations`. + */ + mergeWith( + merger: (oldVal: V, newVal: V, key: K) => V, + ...collections: Array | { [key: string]: V }> + ): this; + + /** + * Like `merge()`, but when two compatible collections are encountered with + * the same key, it merges them as well, recursing deeply through the nested + * data. Two collections are considered to be compatible (and thus will be + * merged together) if they both fall into one of three categories: keyed + * (e.g., `Map`s, `Record`s, and objects), indexed (e.g., `List`s and + * arrays), or set-like (e.g., `Set`s). If they fall into separate + * categories, `mergeDeep` will replace the existing collection with the + * collection being merged in. This behavior can be customized by using + * `mergeDeepWith()`. + * + * Note: Indexed and set-like collections are merged using + * `concat()`/`union()` and therefore do not recurse. + * + * + * ```js + * const { Map } = require('immutable') + * const one = Map({ a: Map({ x: 10, y: 10 }), b: Map({ x: 20, y: 50 }) }) + * const two = Map({ a: Map({ x: 2 }), b: Map({ y: 5 }), c: Map({ z: 3 }) }) + * one.mergeDeep(two) + * // Map { + * // "a": Map { "x": 2, "y": 10 }, + * // "b": Map { "x": 20, "y": 5 }, + * // "c": Map { "z": 3 } + * // } + * ``` + * + * Note: `mergeDeep` can be used in `withMutations`. + */ + mergeDeep( + ...collections: Array | { [key: string]: V }> + ): this; + + /** + * Like `mergeDeep()`, but when two non-collections or incompatible + * collections are encountered at the same key, it uses the `merger` + * function to determine the resulting value. Collections are considered + * incompatible if they fall into separate categories between keyed, + * indexed, and set-like. + * + * + * ```js + * const { Map } = require('immutable') + * const one = Map({ a: Map({ x: 10, y: 10 }), b: Map({ x: 20, y: 50 }) }) + * const two = Map({ a: Map({ x: 2 }), b: Map({ y: 5 }), c: Map({ z: 3 }) }) + * one.mergeDeepWith((oldVal, newVal) => oldVal / newVal, two) + * // Map { + * // "a": Map { "x": 5, "y": 10 }, + * // "b": Map { "x": 20, "y": 10 }, + * // "c": Map { "z": 3 } + * // } + * ``` + * + * Note: `mergeDeepWith` can be used in `withMutations`. + */ + mergeDeepWith( + merger: (oldVal: unknown, newVal: unknown, key: unknown) => unknown, + ...collections: Array | { [key: string]: V }> + ): this; + + // Deep persistent changes + + /** + * Returns a new Map having set `value` at this `keyPath`. If any keys in + * `keyPath` do not exist, a new immutable Map will be created at that key. + * + * + * ```js + * const { Map } = require('immutable') + * const originalMap = Map({ + * subObject: Map({ + * subKey: 'subvalue', + * subSubObject: Map({ + * subSubKey: 'subSubValue' + * }) + * }) + * }) + * + * const newMap = originalMap.setIn(['subObject', 'subKey'], 'ha ha!') + * // Map { + * // "subObject": Map { + * // "subKey": "ha ha!", + * // "subSubObject": Map { "subSubKey": "subSubValue" } + * // } + * // } + * + * const newerMap = originalMap.setIn( + * ['subObject', 'subSubObject', 'subSubKey'], + * 'ha ha ha!' + * ) + * // Map { + * // "subObject": Map { + * // "subKey": "subvalue", + * // "subSubObject": Map { "subSubKey": "ha ha ha!" } + * // } + * // } + * ``` + * + * Plain JavaScript Object or Arrays may be nested within an Immutable.js + * Collection, and setIn() can update those values as well, treating them + * immutably by creating new copies of those values with the changes applied. + * + * + * ```js + * const { Map } = require('immutable') + * const originalMap = Map({ + * subObject: { + * subKey: 'subvalue', + * subSubObject: { + * subSubKey: 'subSubValue' + * } + * } + * }) + * + * originalMap.setIn(['subObject', 'subKey'], 'ha ha!') + * // Map { + * // "subObject": { + * // subKey: "ha ha!", + * // subSubObject: { subSubKey: "subSubValue" } + * // } + * // } + * ``` + * + * If any key in the path exists but cannot be updated (such as a primitive + * like number or a custom Object like Date), an error will be thrown. + * + * Note: `setIn` can be used in `withMutations`. + */ + setIn(keyPath: Iterable, value: unknown): this; + + /** + * Returns a new Map having removed the value at this `keyPath`. If any keys + * in `keyPath` do not exist, no change will occur. + * + * Note: `deleteIn` can be used in `withMutations`. + * + * @alias removeIn + */ + deleteIn(keyPath: Iterable): this; + removeIn(keyPath: Iterable): this; + + /** + * Returns a new Map having applied the `updater` to the entry found at the + * keyPath. + * + * This is most commonly used to call methods on collections nested within a + * structure of data. For example, in order to `.push()` onto a nested `List`, + * `updateIn` and `push` can be used together: + * + * + * ```js + * const { Map, List } = require('immutable') + * const map = Map({ inMap: Map({ inList: List([ 1, 2, 3 ]) }) }) + * const newMap = map.updateIn(['inMap', 'inList'], list => list.push(4)) + * // Map { "inMap": Map { "inList": List [ 1, 2, 3, 4 ] } } + * ``` + * + * If any keys in `keyPath` do not exist, new Immutable `Map`s will + * be created at those keys. If the `keyPath` does not already contain a + * value, the `updater` function will be called with `notSetValue`, if + * provided, otherwise `undefined`. + * + * + * ```js + * const map = Map({ a: Map({ b: Map({ c: 10 }) }) }) + * const newMap = map.updateIn(['a', 'b', 'c'], val => val * 2) + * // Map { "a": Map { "b": Map { "c": 20 } } } + * ``` + * + * If the `updater` function returns the same value it was called with, then + * no change will occur. This is still true if `notSetValue` is provided. + * + * + * ```js + * const map = Map({ a: Map({ b: Map({ c: 10 }) }) }) + * const newMap = map.updateIn(['a', 'b', 'x'], 100, val => val) + * // Map { "a": Map { "b": Map { "c": 10 } } } + * assert.strictEqual(newMap, aMap) + * ``` + * + * For code using ES2015 or later, using `notSetValue` is discourged in + * favor of function parameter default values. This helps to avoid any + * potential confusion with identify functions as described above. + * + * The previous example behaves differently when written with default values: + * + * + * ```js + * const map = Map({ a: Map({ b: Map({ c: 10 }) }) }) + * const newMap = map.updateIn(['a', 'b', 'x'], (val = 100) => val) + * // Map { "a": Map { "b": Map { "c": 10, "x": 100 } } } + * ``` + * + * Plain JavaScript Object or Arrays may be nested within an Immutable.js + * Collection, and updateIn() can update those values as well, treating them + * immutably by creating new copies of those values with the changes applied. + * + * + * ```js + * const map = Map({ a: { b: { c: 10 } } }) + * const newMap = map.updateIn(['a', 'b', 'c'], val => val * 2) + * // Map { "a": { b: { c: 20 } } } + * ``` + * + * If any key in the path exists but cannot be updated (such as a primitive + * like number or a custom Object like Date), an error will be thrown. + * + * Note: `updateIn` can be used in `withMutations`. + */ + updateIn( + keyPath: Iterable, + notSetValue: unknown, + updater: (value: unknown) => unknown + ): this; + updateIn( + keyPath: Iterable, + updater: (value: unknown) => unknown + ): this; + + /** + * A combination of `updateIn` and `merge`, returning a new Map, but + * performing the merge at a point arrived at by following the keyPath. + * In other words, these two lines are equivalent: + * + * ```js + * map.updateIn(['a', 'b', 'c'], abc => abc.merge(y)) + * map.mergeIn(['a', 'b', 'c'], y) + * ``` + * + * Note: `mergeIn` can be used in `withMutations`. + */ + mergeIn(keyPath: Iterable, ...collections: Array): this; + + /** + * A combination of `updateIn` and `mergeDeep`, returning a new Map, but + * performing the deep merge at a point arrived at by following the keyPath. + * In other words, these two lines are equivalent: + * + * ```js + * map.updateIn(['a', 'b', 'c'], abc => abc.mergeDeep(y)) + * map.mergeDeepIn(['a', 'b', 'c'], y) + * ``` + * + * Note: `mergeDeepIn` can be used in `withMutations`. + */ + mergeDeepIn( + keyPath: Iterable, + ...collections: Array + ): this; + + // Transient changes + + /** + * Every time you call one of the above functions, a new immutable Map is + * created. If a pure function calls a number of these to produce a final + * return value, then a penalty on performance and memory has been paid by + * creating all of the intermediate immutable Maps. + * + * If you need to apply a series of mutations to produce a new immutable + * Map, `withMutations()` creates a temporary mutable copy of the Map which + * can apply mutations in a highly performant manner. In fact, this is + * exactly how complex mutations like `merge` are done. + * + * As an example, this results in the creation of 2, not 4, new Maps: + * + * + * ```js + * const { Map } = require('immutable') + * const map1 = Map() + * const map2 = map1.withMutations(map => { + * map.set('a', 1).set('b', 2).set('c', 3) + * }) + * assert.equal(map1.size, 0) + * assert.equal(map2.size, 3) + * ``` + * + * Note: Not all methods can be used on a mutable collection or within + * `withMutations`! Read the documentation for each method to see if it + * is safe to use in `withMutations`. + */ + withMutations(mutator: (mutable: this) => unknown): this; + + /** + * Another way to avoid creation of intermediate Immutable maps is to create + * a mutable copy of this collection. Mutable copies *always* return `this`, + * and thus shouldn't be used for equality. Your function should never return + * a mutable copy of a collection, only use it internally to create a new + * collection. + * + * If possible, use `withMutations` to work with temporary mutable copies as + * it provides an easier to use API and considers many common optimizations. + * + * Note: if the collection is already mutable, `asMutable` returns itself. + * + * Note: Not all methods can be used on a mutable collection or within + * `withMutations`! Read the documentation for each method to see if it + * is safe to use in `withMutations`. + * + * @see `Map#asImmutable` + */ + asMutable(): this; + + /** + * Returns true if this is a mutable copy (see `asMutable()`) and mutative + * alterations have been applied. + * + * @see `Map#asMutable` + */ + wasAltered(): boolean; + + /** + * The yin to `asMutable`'s yang. Because it applies to mutable collections, + * this operation is *mutable* and may return itself (though may not + * return itself, i.e. if the result is an empty collection). Once + * performed, the original mutable copy must no longer be mutated since it + * may be the immutable result. + * + * If possible, use `withMutations` to work with temporary mutable copies as + * it provides an easier to use API and considers many common optimizations. + * + * @see `Map#asMutable` + */ + asImmutable(): this; + + // Sequence algorithms + + /** + * Returns a new Map with values passed through a + * `mapper` function. + * + * Map({ a: 1, b: 2 }).map(x => 10 * x) + * // Map { a: 10, b: 20 } + */ + map( + mapper: (value: V, key: K, iter: this) => M, + context?: unknown + ): Map; + + /** + * @see Collection.Keyed.mapKeys + */ + mapKeys( + mapper: (key: K, value: V, iter: this) => M, + context?: unknown + ): Map; + + /** + * @see Collection.Keyed.mapEntries + */ + mapEntries( + mapper: ( + entry: [K, V], + index: number, + iter: this + ) => [KM, VM] | undefined, + context?: unknown + ): Map; + + /** + * Flat-maps the Map, returning a new Map. + * + * Similar to `data.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: V, key: K, iter: this) => Iterable<[KM, VM]>, + context?: unknown + ): Map; + + /** + * Returns a new Map with only the entries for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: V, key: K, iter: this) => value is F, + context?: unknown + ): Map; + filter( + predicate: (value: V, key: K, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new Map with the values for which the `predicate` + * function returns false and another for which is returns true. + */ + partition( + predicate: (this: C, value: V, key: K, iter: this) => value is F, + context?: C + ): [Map, Map]; + partition( + predicate: (this: C, value: V, key: K, iter: this) => unknown, + context?: C + ): [this, this]; + + /** + * @see Collection.Keyed.flip + */ + flip(): Map; + } + + /** + * A type of Map that has the additional guarantee that the iteration order of + * entries will be the order in which they were set(). + * + * The iteration behavior of OrderedMap is the same as native ES6 Map and + * JavaScript Object. + * + * Note that `OrderedMap` are more expensive than non-ordered `Map` and may + * consume more memory. `OrderedMap#set` is amortized O(log32 N), but not + * stable. + */ + namespace OrderedMap { + /** + * True if the provided value is an OrderedMap. + */ + function isOrderedMap( + maybeOrderedMap: unknown + ): maybeOrderedMap is OrderedMap; + } + + /** + * Creates a new Immutable OrderedMap. + * + * Created with the same key value pairs as the provided Collection.Keyed or + * JavaScript Object or expects a Collection of [K, V] tuple entries. + * + * The iteration order of key-value pairs provided to this constructor will + * be preserved in the OrderedMap. + * + * let newOrderedMap = OrderedMap({key: "value"}) + * let newOrderedMap = OrderedMap([["key", "value"]]) + * + * Note: `OrderedMap` is a factory function and not a class, and does not use + * the `new` keyword during construction. + */ + function OrderedMap(collection?: Iterable<[K, V]>): OrderedMap; + function OrderedMap(obj: { [key: string]: V }): OrderedMap; + + interface OrderedMap extends Map { + /** + * The number of entries in this OrderedMap. + */ + readonly size: number; + + /** + * Returns a new OrderedMap also containing the new key, value pair. If an + * equivalent key already exists in this OrderedMap, it will be replaced + * while maintaining the existing order. + * + * + * ```js + * const { OrderedMap } = require('immutable') + * const originalMap = OrderedMap({a:1, b:1, c:1}) + * const updatedMap = originalMap.set('b', 2) + * + * originalMap + * // OrderedMap {a: 1, b: 1, c: 1} + * updatedMap + * // OrderedMap {a: 1, b: 2, c: 1} + * ``` + * + * Note: `set` can be used in `withMutations`. + */ + set(key: K, value: V): this; + + /** + * Returns a new OrderedMap resulting from merging the provided Collections + * (or JS objects) into this OrderedMap. In other words, this takes each + * entry of each collection and sets it on this OrderedMap. + * + * Note: Values provided to `merge` are shallowly converted before being + * merged. No nested values are altered. + * + * + * ```js + * const { OrderedMap } = require('immutable') + * const one = OrderedMap({ a: 10, b: 20, c: 30 }) + * const two = OrderedMap({ b: 40, a: 50, d: 60 }) + * one.merge(two) // OrderedMap { "a": 50, "b": 40, "c": 30, "d": 60 } + * two.merge(one) // OrderedMap { "b": 20, "a": 10, "d": 60, "c": 30 } + * ``` + * + * Note: `merge` can be used in `withMutations`. + * + * @alias concat + */ + merge( + ...collections: Array> + ): OrderedMap; + merge( + ...collections: Array<{ [key: string]: C }> + ): OrderedMap; + concat( + ...collections: Array> + ): OrderedMap; + concat( + ...collections: Array<{ [key: string]: C }> + ): OrderedMap; + + // Sequence algorithms + + /** + * Returns a new OrderedMap with values passed through a + * `mapper` function. + * + * OrderedMap({ a: 1, b: 2 }).map(x => 10 * x) + * // OrderedMap { "a": 10, "b": 20 } + * + * Note: `map()` always returns a new instance, even if it produced the same + * value at every step. + */ + map( + mapper: (value: V, key: K, iter: this) => M, + context?: unknown + ): OrderedMap; + + /** + * @see Collection.Keyed.mapKeys + */ + mapKeys( + mapper: (key: K, value: V, iter: this) => M, + context?: unknown + ): OrderedMap; + + /** + * @see Collection.Keyed.mapEntries + */ + mapEntries( + mapper: ( + entry: [K, V], + index: number, + iter: this + ) => [KM, VM] | undefined, + context?: unknown + ): OrderedMap; + + /** + * Flat-maps the OrderedMap, returning a new OrderedMap. + * + * Similar to `data.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: V, key: K, iter: this) => Iterable<[KM, VM]>, + context?: unknown + ): OrderedMap; + + /** + * Returns a new OrderedMap with only the entries for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: V, key: K, iter: this) => value is F, + context?: unknown + ): OrderedMap; + filter( + predicate: (value: V, key: K, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new OrderedMap with the values for which the `predicate` + * function returns false and another for which is returns true. + */ + partition( + predicate: (this: C, value: V, key: K, iter: this) => value is F, + context?: C + ): [OrderedMap, OrderedMap]; + partition( + predicate: (this: C, value: V, key: K, iter: this) => unknown, + context?: C + ): [this, this]; + + /** + * @see Collection.Keyed.flip + */ + flip(): OrderedMap; + } + + /** + * A Collection of unique values with `O(log32 N)` adds and has. + * + * When iterating a Set, the entries will be (value, value) pairs. Iteration + * order of a Set is undefined, however is stable. Multiple iterations of the + * same Set will iterate in the same order. + * + * Set values, like Map keys, may be of any type. Equality is determined using + * `Immutable.is`, enabling Sets to uniquely include other Immutable + * collections, custom value types, and NaN. + */ + namespace Set { + /** + * True if the provided value is a Set + */ + function isSet(maybeSet: unknown): maybeSet is Set; + + /** + * Creates a new Set containing `values`. + */ + function of(...values: Array): Set; + + /** + * `Set.fromKeys()` creates a new immutable Set containing the keys from + * this Collection or JavaScript Object. + */ + function fromKeys(iter: Collection.Keyed): Set; + // tslint:disable-next-line unified-signatures + function fromKeys(iter: Collection): Set; + function fromKeys(obj: { [key: string]: unknown }): Set; + + /** + * `Set.intersect()` creates a new immutable Set that is the intersection of + * a collection of other sets. + * + * ```js + * const { Set } = require('immutable') + * const intersected = Set.intersect([ + * Set([ 'a', 'b', 'c' ]) + * Set([ 'c', 'a', 't' ]) + * ]) + * // Set [ "a", "c" ] + * ``` + */ + function intersect(sets: Iterable>): Set; + + /** + * `Set.union()` creates a new immutable Set that is the union of a + * collection of other sets. + * + * ```js + * const { Set } = require('immutable') + * const unioned = Set.union([ + * Set([ 'a', 'b', 'c' ]) + * Set([ 'c', 'a', 't' ]) + * ]) + * // Set [ "a", "b", "c", "t" ] + * ``` + */ + function union(sets: Iterable>): Set; + } + + /** + * Create a new immutable Set containing the values of the provided + * collection-like. + * + * Note: `Set` is a factory function and not a class, and does not use the + * `new` keyword during construction. + */ + function Set(collection?: Iterable | ArrayLike): Set; + + interface Set extends Collection.Set { + /** + * The number of items in this Set. + */ + readonly size: number; + + // Persistent changes + + /** + * Returns a new Set which also includes this value. + * + * Note: `add` can be used in `withMutations`. + */ + add(value: T): this; + + /** + * Returns a new Set which excludes this value. + * + * Note: `delete` can be used in `withMutations`. + * + * Note: `delete` **cannot** be safely used in IE8, use `remove` if + * supporting old browsers. + * + * @alias remove + */ + delete(value: T): this; + remove(value: T): this; + + /** + * Returns a new Set containing no values. + * + * Note: `clear` can be used in `withMutations`. + */ + clear(): this; + + /** + * Returns a Set including any value from `collections` that does not already + * exist in this Set. + * + * Note: `union` can be used in `withMutations`. + * @alias merge + * @alias concat + */ + union(...collections: Array>): Set; + merge(...collections: Array>): Set; + concat(...collections: Array>): Set; + + /** + * Returns a Set which has removed any values not also contained + * within `collections`. + * + * Note: `intersect` can be used in `withMutations`. + */ + intersect(...collections: Array>): this; + + /** + * Returns a Set excluding any values contained within `collections`. + * + * + * ```js + * const { OrderedSet } = require('immutable') + * OrderedSet([ 1, 2, 3 ]).subtract([1, 3]) + * // OrderedSet [2] + * ``` + * + * Note: `subtract` can be used in `withMutations`. + */ + subtract(...collections: Array>): this; + + // Transient changes + + /** + * Note: Not all methods can be used on a mutable collection or within + * `withMutations`! Check the documentation for each method to see if it + * mentions being safe to use in `withMutations`. + * + * @see `Map#withMutations` + */ + withMutations(mutator: (mutable: this) => unknown): this; + + /** + * Note: Not all methods can be used on a mutable collection or within + * `withMutations`! Check the documentation for each method to see if it + * mentions being safe to use in `withMutations`. + * + * @see `Map#asMutable` + */ + asMutable(): this; + + /** + * @see `Map#wasAltered` + */ + wasAltered(): boolean; + + /** + * @see `Map#asImmutable` + */ + asImmutable(): this; + + // Sequence algorithms + + /** + * Returns a new Set with values passed through a + * `mapper` function. + * + * Set([1,2]).map(x => 10 * x) + * // Set [10,20] + */ + map( + mapper: (value: T, key: T, iter: this) => M, + context?: unknown + ): Set; + + /** + * Flat-maps the Set, returning a new Set. + * + * Similar to `set.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: T, key: T, iter: this) => Iterable, + context?: unknown + ): Set; + + /** + * Returns a new Set with only the values for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: T, key: T, iter: this) => value is F, + context?: unknown + ): Set; + filter( + predicate: (value: T, key: T, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new Set with the values for which the `predicate` function + * returns false and another for which is returns true. + */ + partition( + predicate: (this: C, value: T, key: T, iter: this) => value is F, + context?: C + ): [Set, Set]; + partition( + predicate: (this: C, value: T, key: T, iter: this) => unknown, + context?: C + ): [this, this]; + } + + /** + * A type of Set that has the additional guarantee that the iteration order of + * values will be the order in which they were `add`ed. + * + * The iteration behavior of OrderedSet is the same as native ES6 Set. + * + * Note that `OrderedSet` are more expensive than non-ordered `Set` and may + * consume more memory. `OrderedSet#add` is amortized O(log32 N), but not + * stable. + */ + namespace OrderedSet { + /** + * True if the provided value is an OrderedSet. + */ + function isOrderedSet( + maybeOrderedSet: unknown + ): maybeOrderedSet is OrderedSet; + + /** + * Creates a new OrderedSet containing `values`. + */ + function of(...values: Array): OrderedSet; + + /** + * `OrderedSet.fromKeys()` creates a new immutable OrderedSet containing + * the keys from this Collection or JavaScript Object. + */ + function fromKeys(iter: Collection.Keyed): OrderedSet; + // tslint:disable-next-line unified-signatures + function fromKeys(iter: Collection): OrderedSet; + function fromKeys(obj: { [key: string]: unknown }): OrderedSet; + } + + /** + * Create a new immutable OrderedSet containing the values of the provided + * collection-like. + * + * Note: `OrderedSet` is a factory function and not a class, and does not use + * the `new` keyword during construction. + */ + function OrderedSet( + collection?: Iterable | ArrayLike + ): OrderedSet; + + interface OrderedSet extends Set { + /** + * The number of items in this OrderedSet. + */ + readonly size: number; + + /** + * Returns an OrderedSet including any value from `collections` that does + * not already exist in this OrderedSet. + * + * Note: `union` can be used in `withMutations`. + * @alias merge + * @alias concat + */ + union(...collections: Array>): OrderedSet; + merge(...collections: Array>): OrderedSet; + concat(...collections: Array>): OrderedSet; + + // Sequence algorithms + + /** + * Returns a new Set with values passed through a + * `mapper` function. + * + * OrderedSet([ 1, 2 ]).map(x => 10 * x) + * // OrderedSet [10, 20] + */ + map( + mapper: (value: T, key: T, iter: this) => M, + context?: unknown + ): OrderedSet; + + /** + * Flat-maps the OrderedSet, returning a new OrderedSet. + * + * Similar to `set.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: T, key: T, iter: this) => Iterable, + context?: unknown + ): OrderedSet; + + /** + * Returns a new OrderedSet with only the values for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: T, key: T, iter: this) => value is F, + context?: unknown + ): OrderedSet; + filter( + predicate: (value: T, key: T, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new OrderedSet with the values for which the `predicate` + * function returns false and another for which is returns true. + */ + partition( + predicate: (this: C, value: T, key: T, iter: this) => value is F, + context?: C + ): [OrderedSet, OrderedSet]; + partition( + predicate: (this: C, value: T, key: T, iter: this) => unknown, + context?: C + ): [this, this]; + + /** + * Returns an OrderedSet of the same type "zipped" with the provided + * collections. + * + * Like `zipWith`, but using the default `zipper`: creating an `Array`. + * + * ```js + * const a = OrderedSet([ 1, 2, 3 ]) + * const b = OrderedSet([ 4, 5, 6 ]) + * const c = a.zip(b) + * // OrderedSet [ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ] + * ``` + */ + zip(other: Collection): OrderedSet<[T, U]>; + zip( + other1: Collection, + other2: Collection + ): OrderedSet<[T, U, V]>; + zip( + ...collections: Array> + ): OrderedSet; + + /** + * Returns a OrderedSet of the same type "zipped" with the provided + * collections. + * + * Unlike `zip`, `zipAll` continues zipping until the longest collection is + * exhausted. Missing values from shorter collections are filled with `undefined`. + * + * ```js + * const a = OrderedSet([ 1, 2 ]); + * const b = OrderedSet([ 3, 4, 5 ]); + * const c = a.zipAll(b); // OrderedSet [ [ 1, 3 ], [ 2, 4 ], [ undefined, 5 ] ] + * ``` + * + * Note: Since zipAll will return a collection as large as the largest + * input, some results may contain undefined values. TypeScript cannot + * account for these without cases (as of v2.5). + */ + zipAll(other: Collection): OrderedSet<[T, U]>; + zipAll( + other1: Collection, + other2: Collection + ): OrderedSet<[T, U, V]>; + zipAll( + ...collections: Array> + ): OrderedSet; + + /** + * Returns an OrderedSet of the same type "zipped" with the provided + * collections by using a custom `zipper` function. + * + * @see Seq.Indexed.zipWith + */ + zipWith( + zipper: (value: T, otherValue: U) => Z, + otherCollection: Collection + ): OrderedSet; + zipWith( + zipper: (value: T, otherValue: U, thirdValue: V) => Z, + otherCollection: Collection, + thirdCollection: Collection + ): OrderedSet; + zipWith( + zipper: (...values: Array) => Z, + ...collections: Array> + ): OrderedSet; + } + + /** + * Stacks are indexed collections which support very efficient O(1) addition + * and removal from the front using `unshift(v)` and `shift()`. + * + * For familiarity, Stack also provides `push(v)`, `pop()`, and `peek()`, but + * be aware that they also operate on the front of the list, unlike List or + * a JavaScript Array. + * + * Note: `reverse()` or any inherent reverse traversal (`reduceRight`, + * `lastIndexOf`, etc.) is not efficient with a Stack. + * + * Stack is implemented with a Single-Linked List. + */ + namespace Stack { + /** + * True if the provided value is a Stack + */ + function isStack(maybeStack: unknown): maybeStack is Stack; + + /** + * Creates a new Stack containing `values`. + */ + function of(...values: Array): Stack; + } + + /** + * Create a new immutable Stack containing the values of the provided + * collection-like. + * + * The iteration order of the provided collection is preserved in the + * resulting `Stack`. + * + * Note: `Stack` is a factory function and not a class, and does not use the + * `new` keyword during construction. + */ + function Stack(collection?: Iterable | ArrayLike): Stack; + + interface Stack extends Collection.Indexed { + /** + * The number of items in this Stack. + */ + readonly size: number; + + // Reading values + + /** + * Alias for `Stack.first()`. + */ + peek(): T | undefined; + + // Persistent changes + + /** + * Returns a new Stack with 0 size and no values. + * + * Note: `clear` can be used in `withMutations`. + */ + clear(): Stack; + + /** + * Returns a new Stack with the provided `values` prepended, shifting other + * values ahead to higher indices. + * + * This is very efficient for Stack. + * + * Note: `unshift` can be used in `withMutations`. + */ + unshift(...values: Array): Stack; + + /** + * Like `Stack#unshift`, but accepts a collection rather than varargs. + * + * Note: `unshiftAll` can be used in `withMutations`. + */ + unshiftAll(iter: Iterable): Stack; + + /** + * Returns a new Stack with a size ones less than this Stack, excluding + * the first item in this Stack, shifting all other values to a lower index. + * + * Note: this differs from `Array#shift` because it returns a new + * Stack rather than the removed value. Use `first()` or `peek()` to get the + * first value in this Stack. + * + * Note: `shift` can be used in `withMutations`. + */ + shift(): Stack; + + /** + * Alias for `Stack#unshift` and is not equivalent to `List#push`. + */ + push(...values: Array): Stack; + + /** + * Alias for `Stack#unshiftAll`. + */ + pushAll(iter: Iterable): Stack; + + /** + * Alias for `Stack#shift` and is not equivalent to `List#pop`. + */ + pop(): Stack; + + // Transient changes + + /** + * Note: Not all methods can be used on a mutable collection or within + * `withMutations`! Check the documentation for each method to see if it + * mentions being safe to use in `withMutations`. + * + * @see `Map#withMutations` + */ + withMutations(mutator: (mutable: this) => unknown): this; + + /** + * Note: Not all methods can be used on a mutable collection or within + * `withMutations`! Check the documentation for each method to see if it + * mentions being safe to use in `withMutations`. + * + * @see `Map#asMutable` + */ + asMutable(): this; + + /** + * @see `Map#wasAltered` + */ + wasAltered(): boolean; + + /** + * @see `Map#asImmutable` + */ + asImmutable(): this; + + // Sequence algorithms + + /** + * Returns a new Stack with other collections concatenated to this one. + */ + concat(...valuesOrCollections: Array | C>): Stack; + + /** + * Returns a new Stack with values passed through a + * `mapper` function. + * + * Stack([ 1, 2 ]).map(x => 10 * x) + * // Stack [ 10, 20 ] + * + * Note: `map()` always returns a new instance, even if it produced the same + * value at every step. + */ + map( + mapper: (value: T, key: number, iter: this) => M, + context?: unknown + ): Stack; + + /** + * Flat-maps the Stack, returning a new Stack. + * + * Similar to `stack.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: T, key: number, iter: this) => Iterable, + context?: unknown + ): Stack; + + /** + * Returns a new Set with only the values for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: T, index: number, iter: this) => value is F, + context?: unknown + ): Set; + filter( + predicate: (value: T, index: number, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a Stack "zipped" with the provided collections. + * + * Like `zipWith`, but using the default `zipper`: creating an `Array`. + * + * ```js + * const a = Stack([ 1, 2, 3 ]); + * const b = Stack([ 4, 5, 6 ]); + * const c = a.zip(b); // Stack [ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ] + * ``` + */ + zip(other: Collection): Stack<[T, U]>; + zip( + other: Collection, + other2: Collection + ): Stack<[T, U, V]>; + zip(...collections: Array>): Stack; + + /** + * Returns a Stack "zipped" with the provided collections. + * + * Unlike `zip`, `zipAll` continues zipping until the longest collection is + * exhausted. Missing values from shorter collections are filled with `undefined`. + * + * ```js + * const a = Stack([ 1, 2 ]); + * const b = Stack([ 3, 4, 5 ]); + * const c = a.zipAll(b); // Stack [ [ 1, 3 ], [ 2, 4 ], [ undefined, 5 ] ] + * ``` + * + * Note: Since zipAll will return a collection as large as the largest + * input, some results may contain undefined values. TypeScript cannot + * account for these without cases (as of v2.5). + */ + zipAll(other: Collection): Stack<[T, U]>; + zipAll( + other: Collection, + other2: Collection + ): Stack<[T, U, V]>; + zipAll(...collections: Array>): Stack; + + /** + * Returns a Stack "zipped" with the provided collections by using a + * custom `zipper` function. + * + * ```js + * const a = Stack([ 1, 2, 3 ]); + * const b = Stack([ 4, 5, 6 ]); + * const c = a.zipWith((a, b) => a + b, b); + * // Stack [ 5, 7, 9 ] + * ``` + */ + zipWith( + zipper: (value: T, otherValue: U) => Z, + otherCollection: Collection + ): Stack; + zipWith( + zipper: (value: T, otherValue: U, thirdValue: V) => Z, + otherCollection: Collection, + thirdCollection: Collection + ): Stack; + zipWith( + zipper: (...values: Array) => Z, + ...collections: Array> + ): Stack; + } + + /** + * Returns a Seq.Indexed of numbers from `start` (inclusive) to `end` + * (exclusive), by `step`, where `start` defaults to 0, `step` to 1, and `end` to + * infinity. When `start` is equal to `end`, returns empty range. + * + * Note: `Range` is a factory function and not a class, and does not use the + * `new` keyword during construction. + * + * ```js + * const { Range } = require('immutable') + * Range() // [ 0, 1, 2, 3, ... ] + * Range(10) // [ 10, 11, 12, 13, ... ] + * Range(10, 15) // [ 10, 11, 12, 13, 14 ] + * Range(10, 30, 5) // [ 10, 15, 20, 25 ] + * Range(30, 10, 5) // [ 30, 25, 20, 15 ] + * Range(30, 30, 5) // [] + * ``` + */ + function Range( + start?: number, + end?: number, + step?: number + ): Seq.Indexed; + + /** + * Returns a Seq.Indexed of `value` repeated `times` times. When `times` is + * not defined, returns an infinite `Seq` of `value`. + * + * Note: `Repeat` is a factory function and not a class, and does not use the + * `new` keyword during construction. + * + * ```js + * const { Repeat } = require('immutable') + * Repeat('foo') // [ 'foo', 'foo', 'foo', ... ] + * Repeat('bar', 4) // [ 'bar', 'bar', 'bar', 'bar' ] + * ``` + */ + function Repeat(value: T, times?: number): Seq.Indexed; + + /** + * A record is similar to a JS object, but enforces a specific set of allowed + * string keys, and has default values. + * + * The `Record()` function produces new Record Factories, which when called + * create Record instances. + * + * ```js + * const { Record } = require('immutable') + * const ABRecord = Record({ a: 1, b: 2 }) + * const myRecord = ABRecord({ b: 3 }) + * ``` + * + * Records always have a value for the keys they define. `remove`ing a key + * from a record simply resets it to the default value for that key. + * + * ```js + * myRecord.get('a') // 1 + * myRecord.get('b') // 3 + * const myRecordWithoutB = myRecord.remove('b') + * myRecordWithoutB.get('b') // 2 + * ``` + * + * Values provided to the constructor not found in the Record type will + * be ignored. For example, in this case, ABRecord is provided a key "x" even + * though only "a" and "b" have been defined. The value for "x" will be + * ignored for this record. + * + * ```js + * const myRecord = ABRecord({ b: 3, x: 10 }) + * myRecord.get('x') // undefined + * ``` + * + * Because Records have a known set of string keys, property get access works + * as expected, however property sets will throw an Error. + * + * Note: IE8 does not support property access. Only use `get()` when + * supporting IE8. + * + * ```js + * myRecord.b // 3 + * myRecord.b = 5 // throws Error + * ``` + * + * Record Types can be extended as well, allowing for custom methods on your + * Record. This is not a common pattern in functional environments, but is in + * many JS programs. + * + * However Record Types are more restricted than typical JavaScript classes. + * They do not use a class constructor, which also means they cannot use + * class properties (since those are technically part of a constructor). + * + * While Record Types can be syntactically created with the JavaScript `class` + * form, the resulting Record function is actually a factory function, not a + * class constructor. Even though Record Types are not classes, JavaScript + * currently requires the use of `new` when creating new Record instances if + * they are defined as a `class`. + * + * ``` + * class ABRecord extends Record({ a: 1, b: 2 }) { + * getAB() { + * return this.a + this.b; + * } + * } + * + * var myRecord = new ABRecord({b: 3}) + * myRecord.getAB() // 4 + * ``` + * + * + * **Flow Typing Records:** + * + * Immutable.js exports two Flow types designed to make it easier to use + * Records with flow typed code, `RecordOf` and `RecordFactory`. + * + * When defining a new kind of Record factory function, use a flow type that + * describes the values the record contains along with `RecordFactory`. + * To type instances of the Record (which the factory function returns), + * use `RecordOf`. + * + * Typically, new Record definitions will export both the Record factory + * function as well as the Record instance type for use in other code. + * + * ```js + * import type { RecordFactory, RecordOf } from 'immutable'; + * + * // Use RecordFactory for defining new Record factory functions. + * type Point3DProps = { x: number, y: number, z: number }; + * const defaultValues: Point3DProps = { x: 0, y: 0, z: 0 }; + * const makePoint3D: RecordFactory = Record(defaultValues); + * export makePoint3D; + * + * // Use RecordOf for defining new instances of that Record. + * export type Point3D = RecordOf; + * const some3DPoint: Point3D = makePoint3D({ x: 10, y: 20, z: 30 }); + * ``` + * + * **Flow Typing Record Subclasses:** + * + * Records can be subclassed as a means to add additional methods to Record + * instances. This is generally discouraged in favor of a more functional API, + * since Subclasses have some minor overhead. However the ability to create + * a rich API on Record types can be quite valuable. + * + * When using Flow to type Subclasses, do not use `RecordFactory`, + * instead apply the props type when subclassing: + * + * ```js + * type PersonProps = {name: string, age: number}; + * const defaultValues: PersonProps = {name: 'Aristotle', age: 2400}; + * const PersonRecord = Record(defaultValues); + * class Person extends PersonRecord { + * getName(): string { + * return this.get('name') + * } + * + * setName(name: string): this { + * return this.set('name', name); + * } + * } + * ``` + * + * **Choosing Records vs plain JavaScript objects** + * + * Records offer a persistently immutable alternative to plain JavaScript + * objects, however they're not required to be used within Immutable.js + * collections. In fact, the deep-access and deep-updating functions + * like `getIn()` and `setIn()` work with plain JavaScript Objects as well. + * + * Deciding to use Records or Objects in your application should be informed + * by the tradeoffs and relative benefits of each: + * + * - *Runtime immutability*: plain JS objects may be carefully treated as + * immutable, however Record instances will *throw* if attempted to be + * mutated directly. Records provide this additional guarantee, however at + * some marginal runtime cost. While JS objects are mutable by nature, the + * use of type-checking tools like [Flow](https://medium.com/@gcanti/immutability-with-flow-faa050a1aef4) + * can help gain confidence in code written to favor immutability. + * + * - *Value equality*: Records use value equality when compared with `is()` + * or `record.equals()`. That is, two Records with the same keys and values + * are equal. Plain objects use *reference equality*. Two objects with the + * same keys and values are not equal since they are different objects. + * This is important to consider when using objects as keys in a `Map` or + * values in a `Set`, which use equality when retrieving values. + * + * - *API methods*: Records have a full featured API, with methods like + * `.getIn()`, and `.equals()`. These can make working with these values + * easier, but comes at the cost of not allowing keys with those names. + * + * - *Default values*: Records provide default values for every key, which + * can be useful when constructing Records with often unchanging values. + * However default values can make using Flow and TypeScript more laborious. + * + * - *Serialization*: Records use a custom internal representation to + * efficiently store and update their values. Converting to and from this + * form isn't free. If converting Records to plain objects is common, + * consider sticking with plain objects to begin with. + */ + namespace Record { + /** + * True if `maybeRecord` is an instance of a Record. + */ + function isRecord(maybeRecord: unknown): maybeRecord is Record<{}>; + + /** + * Records allow passing a second parameter to supply a descriptive name + * that appears when converting a Record to a string or in any error + * messages. A descriptive name for any record can be accessed by using this + * method. If one was not provided, the string "Record" is returned. + * + * ```js + * const { Record } = require('immutable') + * const Person = Record({ + * name: null + * }, 'Person') + * + * var me = Person({ name: 'My Name' }) + * me.toString() // "Person { "name": "My Name" }" + * Record.getDescriptiveName(me) // "Person" + * ``` + */ + function getDescriptiveName(record: Record): string; + + /** + * A Record.Factory is created by the `Record()` function. Record instances + * are created by passing it some of the accepted values for that Record + * type: + * + * + * ```js + * // makePerson is a Record Factory function + * const makePerson = Record({ name: null, favoriteColor: 'unknown' }); + * + * // alan is a Record instance + * const alan = makePerson({ name: 'Alan' }); + * ``` + * + * Note that Record Factories return `Record & Readonly`, + * this allows use of both the Record instance API, and direct property + * access on the resulting instances: + * + * + * ```js + * // Use the Record API + * console.log('Record API: ' + alan.get('name')) + * + * // Or direct property access (Readonly) + * console.log('property access: ' + alan.name) + * ``` + * + * **Flow Typing Records:** + * + * Use the `RecordFactory` Flow type to get high quality type checking of + * Records: + * + * ```js + * import type { RecordFactory, RecordOf } from 'immutable'; + * + * // Use RecordFactory for defining new Record factory functions. + * type PersonProps = { name: ?string, favoriteColor: string }; + * const makePerson: RecordFactory = Record({ name: null, favoriteColor: 'unknown' }); + * + * // Use RecordOf for defining new instances of that Record. + * type Person = RecordOf; + * const alan: Person = makePerson({ name: 'Alan' }); + * ``` + */ + namespace Factory {} + + interface Factory { + (values?: Partial | Iterable<[string, unknown]>): Record & + Readonly; + new ( + values?: Partial | Iterable<[string, unknown]> + ): Record & Readonly; + + /** + * The name provided to `Record(values, name)` can be accessed with + * `displayName`. + */ + displayName: string; + } + + function Factory( + values?: Partial | Iterable<[string, unknown]> + ): Record & Readonly; + } + + /** + * Unlike other types in Immutable.js, the `Record()` function creates a new + * Record Factory, which is a function that creates Record instances. + * + * See above for examples of using `Record()`. + * + * Note: `Record` is a factory function and not a class, and does not use the + * `new` keyword during construction. + */ + function Record( + defaultValues: TProps, + name?: string + ): Record.Factory; + + interface Record { + // Reading values + + has(key: string): key is keyof TProps & string; + + /** + * Returns the value associated with the provided key, which may be the + * default value defined when creating the Record factory function. + * + * If the requested key is not defined by this Record type, then + * notSetValue will be returned if provided. Note that this scenario would + * produce an error when using Flow or TypeScript. + */ + get(key: K, notSetValue?: unknown): TProps[K]; + get(key: string, notSetValue: T): T; + + // Reading deep values + + hasIn(keyPath: Iterable): boolean; + getIn(keyPath: Iterable): unknown; + + // Value equality + + equals(other: unknown): boolean; + hashCode(): number; + + // Persistent changes + + set(key: K, value: TProps[K]): this; + update( + key: K, + updater: (value: TProps[K]) => TProps[K] + ): this; + merge( + ...collections: Array | Iterable<[string, unknown]>> + ): this; + mergeDeep( + ...collections: Array | Iterable<[string, unknown]>> + ): this; + + mergeWith( + merger: (oldVal: unknown, newVal: unknown, key: keyof TProps) => unknown, + ...collections: Array | Iterable<[string, unknown]>> + ): this; + mergeDeepWith( + merger: (oldVal: unknown, newVal: unknown, key: unknown) => unknown, + ...collections: Array | Iterable<[string, unknown]>> + ): this; + + /** + * Returns a new instance of this Record type with the value for the + * specific key set to its default value. + * + * @alias remove + */ + delete(key: K): this; + remove(key: K): this; + + /** + * Returns a new instance of this Record type with all values set + * to their default values. + */ + clear(): this; + + // Deep persistent changes + + setIn(keyPath: Iterable, value: unknown): this; + updateIn( + keyPath: Iterable, + updater: (value: unknown) => unknown + ): this; + mergeIn(keyPath: Iterable, ...collections: Array): this; + mergeDeepIn( + keyPath: Iterable, + ...collections: Array + ): this; + + /** + * @alias removeIn + */ + deleteIn(keyPath: Iterable): this; + removeIn(keyPath: Iterable): this; + + // Conversion to JavaScript types + + /** + * Deeply converts this Record to equivalent native JavaScript Object. + * + * Note: This method may not be overridden. Objects with custom + * serialization to plain JS may override toJSON() instead. + */ + toJS(): DeepCopy; + + /** + * Shallowly converts this Record to equivalent native JavaScript Object. + */ + toJSON(): TProps; + + /** + * Shallowly converts this Record to equivalent JavaScript Object. + */ + toObject(): TProps; + + // Transient changes + + /** + * Note: Not all methods can be used on a mutable collection or within + * `withMutations`! Only `set` may be used mutatively. + * + * @see `Map#withMutations` + */ + withMutations(mutator: (mutable: this) => unknown): this; + + /** + * @see `Map#asMutable` + */ + asMutable(): this; + + /** + * @see `Map#wasAltered` + */ + wasAltered(): boolean; + + /** + * @see `Map#asImmutable` + */ + asImmutable(): this; + + // Sequence algorithms + + toSeq(): Seq.Keyed; + + [Symbol.iterator](): IterableIterator<[keyof TProps, TProps[keyof TProps]]>; + } + + /** + * RecordOf is used in TypeScript to define interfaces expecting an + * instance of record with type T. + * + * This is equivalent to an instance of a record created by a Record Factory. + */ + type RecordOf = Record & Readonly; + + /** + * `Seq` describes a lazy operation, allowing them to efficiently chain + * use of all the higher-order collection methods (such as `map` and `filter`) + * by not creating intermediate collections. + * + * **Seq is immutable** — Once a Seq is created, it cannot be + * changed, appended to, rearranged or otherwise modified. Instead, any + * mutative method called on a `Seq` will return a new `Seq`. + * + * **Seq is lazy** — `Seq` does as little work as necessary to respond to any + * method call. Values are often created during iteration, including implicit + * iteration when reducing or converting to a concrete data structure such as + * a `List` or JavaScript `Array`. + * + * For example, the following performs no work, because the resulting + * `Seq`'s values are never iterated: + * + * ```js + * const { Seq } = require('immutable') + * const oddSquares = Seq([ 1, 2, 3, 4, 5, 6, 7, 8 ]) + * .filter(x => x % 2 !== 0) + * .map(x => x * x) + * ``` + * + * Once the `Seq` is used, it performs only the work necessary. In this + * example, no intermediate arrays are ever created, filter is called three + * times, and map is only called once: + * + * ```js + * oddSquares.get(1); // 9 + * ``` + * + * Any collection can be converted to a lazy Seq with `Seq()`. + * + * + * ```js + * const { Map } = require('immutable') + * const map = Map({ a: 1, b: 2, c: 3 }) + * const lazySeq = Seq(map) + * ``` + * + * `Seq` allows for the efficient chaining of operations, allowing for the + * expression of logic that can otherwise be very tedious: + * + * ```js + * lazySeq + * .flip() + * .map(key => key.toUpperCase()) + * .flip() + * // Seq { A: 1, B: 1, C: 1 } + * ``` + * + * As well as expressing logic that would otherwise seem memory or time + * limited, for example `Range` is a special kind of Lazy sequence. + * + * + * ```js + * const { Range } = require('immutable') + * Range(1, Infinity) + * .skip(1000) + * .map(n => -n) + * .filter(n => n % 2 === 0) + * .take(2) + * .reduce((r, n) => r * n, 1) + * // 1006008 + * ``` + * + * Seq is often used to provide a rich collection API to JavaScript Object. + * + * ```js + * Seq({ x: 0, y: 1, z: 2 }).map(v => v * 2).toObject(); + * // { x: 0, y: 2, z: 4 } + * ``` + */ + + namespace Seq { + /** + * True if `maybeSeq` is a Seq, it is not backed by a concrete + * structure such as Map, List, or Set. + */ + function isSeq( + maybeSeq: unknown + ): maybeSeq is + | Seq.Indexed + | Seq.Keyed + | Seq.Set; + + /** + * `Seq` which represents key-value pairs. + */ + namespace Keyed {} + + /** + * Always returns a Seq.Keyed, if input is not keyed, expects an + * collection of [K, V] tuples. + * + * Note: `Seq.Keyed` is a conversion function and not a class, and does not + * use the `new` keyword during construction. + */ + function Keyed(collection?: Iterable<[K, V]>): Seq.Keyed; + function Keyed(obj: { [key: string]: V }): Seq.Keyed; + + interface Keyed extends Seq, Collection.Keyed { + /** + * Deeply converts this Keyed Seq to equivalent native JavaScript Object. + * + * Converts keys to Strings. + */ + toJS(): { [key in string | number | symbol]: DeepCopy }; + + /** + * Shallowly converts this Keyed Seq to equivalent native JavaScript Object. + * + * Converts keys to Strings. + */ + toJSON(): { [key in string | number | symbol]: V }; + + /** + * Shallowly converts this collection to an Array. + */ + toArray(): Array<[K, V]>; + + /** + * Returns itself + */ + toSeq(): this; + + /** + * Returns a new Seq with other collections concatenated to this one. + * + * All entries will be present in the resulting Seq, even if they + * have the same key. + */ + concat( + ...collections: Array> + ): Seq.Keyed; + concat( + ...collections: Array<{ [key: string]: C }> + ): Seq.Keyed; + + /** + * Returns a new Seq.Keyed with values passed through a + * `mapper` function. + * + * ```js + * const { Seq } = require('immutable') + * Seq.Keyed({ a: 1, b: 2 }).map(x => 10 * x) + * // Seq { "a": 10, "b": 20 } + * ``` + * + * Note: `map()` always returns a new instance, even if it produced the + * same value at every step. + */ + map( + mapper: (value: V, key: K, iter: this) => M, + context?: unknown + ): Seq.Keyed; + + /** + * @see Collection.Keyed.mapKeys + */ + mapKeys( + mapper: (key: K, value: V, iter: this) => M, + context?: unknown + ): Seq.Keyed; + + /** + * @see Collection.Keyed.mapEntries + */ + mapEntries( + mapper: ( + entry: [K, V], + index: number, + iter: this + ) => [KM, VM] | undefined, + context?: unknown + ): Seq.Keyed; + + /** + * Flat-maps the Seq, returning a Seq of the same type. + * + * Similar to `seq.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: V, key: K, iter: this) => Iterable<[KM, VM]>, + context?: unknown + ): Seq.Keyed; + + /** + * Returns a new Seq with only the entries for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: V, key: K, iter: this) => value is F, + context?: unknown + ): Seq.Keyed; + filter( + predicate: (value: V, key: K, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new keyed Seq with the values for which the `predicate` + * function returns false and another for which is returns true. + */ + partition( + predicate: (this: C, value: V, key: K, iter: this) => value is F, + context?: C + ): [Seq.Keyed, Seq.Keyed]; + partition( + predicate: (this: C, value: V, key: K, iter: this) => unknown, + context?: C + ): [this, this]; + + /** + * @see Collection.Keyed.flip + */ + flip(): Seq.Keyed; + + [Symbol.iterator](): IterableIterator<[K, V]>; + } + + /** + * `Seq` which represents an ordered indexed list of values. + */ + namespace Indexed { + /** + * Provides an Seq.Indexed of the values provided. + */ + function of(...values: Array): Seq.Indexed; + } + + /** + * Always returns Seq.Indexed, discarding associated keys and + * supplying incrementing indices. + * + * Note: `Seq.Indexed` is a conversion function and not a class, and does + * not use the `new` keyword during construction. + */ + function Indexed( + collection?: Iterable | ArrayLike + ): Seq.Indexed; + + interface Indexed extends Seq, Collection.Indexed { + /** + * Deeply converts this Indexed Seq to equivalent native JavaScript Array. + */ + toJS(): Array>; + + /** + * Shallowly converts this Indexed Seq to equivalent native JavaScript Array. + */ + toJSON(): Array; + + /** + * Shallowly converts this collection to an Array. + */ + toArray(): Array; + + /** + * Returns itself + */ + toSeq(): this; + + /** + * Returns a new Seq with other collections concatenated to this one. + */ + concat( + ...valuesOrCollections: Array | C> + ): Seq.Indexed; + + /** + * Returns a new Seq.Indexed with values passed through a + * `mapper` function. + * + * ```js + * const { Seq } = require('immutable') + * Seq.Indexed([ 1, 2 ]).map(x => 10 * x) + * // Seq [ 10, 20 ] + * ``` + * + * Note: `map()` always returns a new instance, even if it produced the + * same value at every step. + */ + map( + mapper: (value: T, key: number, iter: this) => M, + context?: unknown + ): Seq.Indexed; + + /** + * Flat-maps the Seq, returning a a Seq of the same type. + * + * Similar to `seq.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: T, key: number, iter: this) => Iterable, + context?: unknown + ): Seq.Indexed; + + /** + * Returns a new Seq with only the values for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: T, index: number, iter: this) => value is F, + context?: unknown + ): Seq.Indexed; + filter( + predicate: (value: T, index: number, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new indexed Seq with the values for which the `predicate` + * function returns false and another for which is returns true. + */ + partition( + predicate: (this: C, value: T, index: number, iter: this) => value is F, + context?: C + ): [Seq.Indexed, Seq.Indexed]; + partition( + predicate: (this: C, value: T, index: number, iter: this) => unknown, + context?: C + ): [this, this]; + + /** + * Returns a Seq "zipped" with the provided collections. + * + * Like `zipWith`, but using the default `zipper`: creating an `Array`. + * + * ```js + * const a = Seq([ 1, 2, 3 ]); + * const b = Seq([ 4, 5, 6 ]); + * const c = a.zip(b); // Seq [ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ] + * ``` + */ + zip(other: Collection): Seq.Indexed<[T, U]>; + zip( + other: Collection, + other2: Collection + ): Seq.Indexed<[T, U, V]>; + zip( + ...collections: Array> + ): Seq.Indexed; + + /** + * Returns a Seq "zipped" with the provided collections. + * + * Unlike `zip`, `zipAll` continues zipping until the longest collection is + * exhausted. Missing values from shorter collections are filled with `undefined`. + * + * ```js + * const a = Seq([ 1, 2 ]); + * const b = Seq([ 3, 4, 5 ]); + * const c = a.zipAll(b); // Seq [ [ 1, 3 ], [ 2, 4 ], [ undefined, 5 ] ] + * ``` + */ + zipAll(other: Collection): Seq.Indexed<[T, U]>; + zipAll( + other: Collection, + other2: Collection + ): Seq.Indexed<[T, U, V]>; + zipAll( + ...collections: Array> + ): Seq.Indexed; + + /** + * Returns a Seq "zipped" with the provided collections by using a + * custom `zipper` function. + * + * ```js + * const a = Seq([ 1, 2, 3 ]); + * const b = Seq([ 4, 5, 6 ]); + * const c = a.zipWith((a, b) => a + b, b); + * // Seq [ 5, 7, 9 ] + * ``` + */ + zipWith( + zipper: (value: T, otherValue: U) => Z, + otherCollection: Collection + ): Seq.Indexed; + zipWith( + zipper: (value: T, otherValue: U, thirdValue: V) => Z, + otherCollection: Collection, + thirdCollection: Collection + ): Seq.Indexed; + zipWith( + zipper: (...values: Array) => Z, + ...collections: Array> + ): Seq.Indexed; + + [Symbol.iterator](): IterableIterator; + } + + /** + * `Seq` which represents a set of values. + * + * Because `Seq` are often lazy, `Seq.Set` does not provide the same guarantee + * of value uniqueness as the concrete `Set`. + */ + namespace Set { + /** + * Returns a Seq.Set of the provided values + */ + function of(...values: Array): Seq.Set; + } + + /** + * Always returns a Seq.Set, discarding associated indices or keys. + * + * Note: `Seq.Set` is a conversion function and not a class, and does not + * use the `new` keyword during construction. + */ + function Set(collection?: Iterable | ArrayLike): Seq.Set; + + interface Set extends Seq, Collection.Set { + /** + * Deeply converts this Set Seq to equivalent native JavaScript Array. + */ + toJS(): Array>; + + /** + * Shallowly converts this Set Seq to equivalent native JavaScript Array. + */ + toJSON(): Array; + + /** + * Shallowly converts this collection to an Array. + */ + toArray(): Array; + + /** + * Returns itself + */ + toSeq(): this; + + /** + * Returns a new Seq with other collections concatenated to this one. + * + * All entries will be present in the resulting Seq, even if they + * are duplicates. + */ + concat(...collections: Array>): Seq.Set; + + /** + * Returns a new Seq.Set with values passed through a + * `mapper` function. + * + * ```js + * Seq.Set([ 1, 2 ]).map(x => 10 * x) + * // Seq { 10, 20 } + * ``` + * + * Note: `map()` always returns a new instance, even if it produced the + * same value at every step. + */ + map( + mapper: (value: T, key: T, iter: this) => M, + context?: unknown + ): Seq.Set; + + /** + * Flat-maps the Seq, returning a Seq of the same type. + * + * Similar to `seq.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: T, key: T, iter: this) => Iterable, + context?: unknown + ): Seq.Set; + + /** + * Returns a new Seq with only the values for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: T, key: T, iter: this) => value is F, + context?: unknown + ): Seq.Set; + filter( + predicate: (value: T, key: T, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new set Seq with the values for which the `predicate` + * function returns false and another for which is returns true. + */ + partition( + predicate: (this: C, value: T, key: T, iter: this) => value is F, + context?: C + ): [Seq.Set, Seq.Set]; + partition( + predicate: (this: C, value: T, key: T, iter: this) => unknown, + context?: C + ): [this, this]; + + [Symbol.iterator](): IterableIterator; + } + } + + /** + * Creates a Seq. + * + * Returns a particular kind of `Seq` based on the input. + * + * * If a `Seq`, that same `Seq`. + * * If an `Collection`, a `Seq` of the same kind (Keyed, Indexed, or Set). + * * If an Array-like, an `Seq.Indexed`. + * * If an Iterable Object, an `Seq.Indexed`. + * * If an Object, a `Seq.Keyed`. + * + * Note: An Iterator itself will be treated as an object, becoming a `Seq.Keyed`, + * which is usually not what you want. You should turn your Iterator Object into + * an iterable object by defining a Symbol.iterator (or @@iterator) method which + * returns `this`. + * + * Note: `Seq` is a conversion function and not a class, and does not use the + * `new` keyword during construction. + */ + function Seq>(seq: S): S; + function Seq(collection: Collection.Keyed): Seq.Keyed; + function Seq(collection: Collection.Set): Seq.Set; + function Seq( + collection: Collection.Indexed | Iterable | ArrayLike + ): Seq.Indexed; + function Seq(obj: { [key: string]: V }): Seq.Keyed; + function Seq(): Seq; + + interface Seq extends Collection { + /** + * Some Seqs can describe their size lazily. When this is the case, + * size will be an integer. Otherwise it will be undefined. + * + * For example, Seqs returned from `map()` or `reverse()` + * preserve the size of the original `Seq` while `filter()` does not. + * + * Note: `Range`, `Repeat` and `Seq`s made from `Array`s and `Object`s will + * always have a size. + */ + readonly size: number | undefined; + + // Force evaluation + + /** + * Because Sequences are lazy and designed to be chained together, they do + * not cache their results. For example, this map function is called a total + * of 6 times, as each `join` iterates the Seq of three values. + * + * var squares = Seq([ 1, 2, 3 ]).map(x => x * x) + * squares.join() + squares.join() + * + * If you know a `Seq` will be used multiple times, it may be more + * efficient to first cache it in memory. Here, the map function is called + * only 3 times. + * + * var squares = Seq([ 1, 2, 3 ]).map(x => x * x).cacheResult() + * squares.join() + squares.join() + * + * Use this method judiciously, as it must fully evaluate a Seq which can be + * a burden on memory and possibly performance. + * + * Note: after calling `cacheResult`, a Seq will always have a `size`. + */ + cacheResult(): this; + + // Sequence algorithms + + /** + * Returns a new Seq with values passed through a + * `mapper` function. + * + * ```js + * const { Seq } = require('immutable') + * Seq([ 1, 2 ]).map(x => 10 * x) + * // Seq [ 10, 20 ] + * ``` + * + * Note: `map()` always returns a new instance, even if it produced the same + * value at every step. + */ + map( + mapper: (value: V, key: K, iter: this) => M, + context?: unknown + ): Seq; + + /** + * Returns a new Seq with values passed through a + * `mapper` function. + * + * ```js + * const { Seq } = require('immutable') + * Seq([ 1, 2 ]).map(x => 10 * x) + * // Seq [ 10, 20 ] + * ``` + * + * Note: `map()` always returns a new instance, even if it produced the same + * value at every step. + * Note: used only for sets. + */ + map( + mapper: (value: V, key: K, iter: this) => M, + context?: unknown + ): Seq; + + /** + * Flat-maps the Seq, returning a Seq of the same type. + * + * Similar to `seq.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: V, key: K, iter: this) => Iterable, + context?: unknown + ): Seq; + + /** + * Flat-maps the Seq, returning a Seq of the same type. + * + * Similar to `seq.map(...).flatten(true)`. + * Note: Used only for sets. + */ + flatMap( + mapper: (value: V, key: K, iter: this) => Iterable, + context?: unknown + ): Seq; + + /** + * Returns a new Seq with only the values for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: V, key: K, iter: this) => value is F, + context?: unknown + ): Seq; + filter( + predicate: (value: V, key: K, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new Seq with the values for which the `predicate` function + * returns false and another for which is returns true. + */ + partition( + predicate: (this: C, value: V, key: K, iter: this) => value is F, + context?: C + ): [Seq, Seq]; + partition( + predicate: (this: C, value: V, key: K, iter: this) => unknown, + context?: C + ): [this, this]; + } + + /** + * The `Collection` is a set of (key, value) entries which can be iterated, and + * is the base class for all collections in `immutable`, allowing them to + * make use of all the Collection methods (such as `map` and `filter`). + * + * Note: A collection is always iterated in the same order, however that order + * may not always be well defined, as is the case for the `Map` and `Set`. + * + * Collection is the abstract base class for concrete data structures. It + * cannot be constructed directly. + * + * Implementations should extend one of the subclasses, `Collection.Keyed`, + * `Collection.Indexed`, or `Collection.Set`. + */ + namespace Collection { + /** + * @deprecated use `const { isKeyed } = require('immutable')` + */ + function isKeyed( + maybeKeyed: unknown + ): maybeKeyed is Collection.Keyed; + + /** + * @deprecated use `const { isIndexed } = require('immutable')` + */ + function isIndexed( + maybeIndexed: unknown + ): maybeIndexed is Collection.Indexed; + + /** + * @deprecated use `const { isAssociative } = require('immutable')` + */ + function isAssociative( + maybeAssociative: unknown + ): maybeAssociative is + | Collection.Keyed + | Collection.Indexed; + + /** + * @deprecated use `const { isOrdered } = require('immutable')` + */ + function isOrdered(maybeOrdered: unknown): boolean; + + /** + * Keyed Collections have discrete keys tied to each value. + * + * When iterating `Collection.Keyed`, each iteration will yield a `[K, V]` + * tuple, in other words, `Collection#entries` is the default iterator for + * Keyed Collections. + */ + namespace Keyed {} + + /** + * Creates a Collection.Keyed + * + * Similar to `Collection()`, however it expects collection-likes of [K, V] + * tuples if not constructed from a Collection.Keyed or JS Object. + * + * Note: `Collection.Keyed` is a conversion function and not a class, and + * does not use the `new` keyword during construction. + */ + function Keyed(collection?: Iterable<[K, V]>): Collection.Keyed; + function Keyed(obj: { [key: string]: V }): Collection.Keyed; + + interface Keyed extends Collection { + /** + * Deeply converts this Keyed collection to equivalent native JavaScript Object. + * + * Converts keys to Strings. + */ + toJS(): { [key in string | number | symbol]: DeepCopy }; + + /** + * Shallowly converts this Keyed collection to equivalent native JavaScript Object. + * + * Converts keys to Strings. + */ + toJSON(): { [key in string | number | symbol]: V }; + + /** + * Shallowly converts this collection to an Array. + */ + toArray(): Array<[K, V]>; + + /** + * Returns Seq.Keyed. + * @override + */ + toSeq(): Seq.Keyed; + + // Sequence functions + + /** + * Returns a new Collection.Keyed of the same type where the keys and values + * have been flipped. + * + * + * ```js + * const { Map } = require('immutable') + * Map({ a: 'z', b: 'y' }).flip() + * // Map { "z": "a", "y": "b" } + * ``` + */ + flip(): Collection.Keyed; + + /** + * Returns a new Collection with other collections concatenated to this one. + */ + concat( + ...collections: Array> + ): Collection.Keyed; + concat( + ...collections: Array<{ [key: string]: C }> + ): Collection.Keyed; + + /** + * Returns a new Collection.Keyed with values passed through a + * `mapper` function. + * + * ```js + * const { Collection } = require('immutable') + * Collection.Keyed({ a: 1, b: 2 }).map(x => 10 * x) + * // Seq { "a": 10, "b": 20 } + * ``` + * + * Note: `map()` always returns a new instance, even if it produced the + * same value at every step. + */ + map( + mapper: (value: V, key: K, iter: this) => M, + context?: unknown + ): Collection.Keyed; + + /** + * Returns a new Collection.Keyed of the same type with keys passed through + * a `mapper` function. + * + * + * ```js + * const { Map } = require('immutable') + * Map({ a: 1, b: 2 }).mapKeys(x => x.toUpperCase()) + * // Map { "A": 1, "B": 2 } + * ``` + * + * Note: `mapKeys()` always returns a new instance, even if it produced + * the same key at every step. + */ + mapKeys( + mapper: (key: K, value: V, iter: this) => M, + context?: unknown + ): Collection.Keyed; + + /** + * Returns a new Collection.Keyed of the same type with entries + * ([key, value] tuples) passed through a `mapper` function. + * + * + * ```js + * const { Map } = require('immutable') + * Map({ a: 1, b: 2 }) + * .mapEntries(([ k, v ]) => [ k.toUpperCase(), v * 2 ]) + * // Map { "A": 2, "B": 4 } + * ``` + * + * Note: `mapEntries()` always returns a new instance, even if it produced + * the same entry at every step. + * + * If the mapper function returns `undefined`, then the entry will be filtered + */ + mapEntries( + mapper: ( + entry: [K, V], + index: number, + iter: this + ) => [KM, VM] | undefined, + context?: unknown + ): Collection.Keyed; + + /** + * Flat-maps the Collection, returning a Collection of the same type. + * + * Similar to `collection.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: V, key: K, iter: this) => Iterable<[KM, VM]>, + context?: unknown + ): Collection.Keyed; + + /** + * Returns a new Collection with only the values for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: V, key: K, iter: this) => value is F, + context?: unknown + ): Collection.Keyed; + filter( + predicate: (value: V, key: K, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new keyed Collection with the values for which the + * `predicate` function returns false and another for which is returns + * true. + */ + partition( + predicate: (this: C, value: V, key: K, iter: this) => value is F, + context?: C + ): [Collection.Keyed, Collection.Keyed]; + partition( + predicate: (this: C, value: V, key: K, iter: this) => unknown, + context?: C + ): [this, this]; + + [Symbol.iterator](): IterableIterator<[K, V]>; + } + + /** + * Indexed Collections have incrementing numeric keys. They exhibit + * slightly different behavior than `Collection.Keyed` for some methods in order + * to better mirror the behavior of JavaScript's `Array`, and add methods + * which do not make sense on non-indexed Collections such as `indexOf`. + * + * Unlike JavaScript arrays, `Collection.Indexed`s are always dense. "Unset" + * indices and `undefined` indices are indistinguishable, and all indices from + * 0 to `size` are visited when iterated. + * + * All Collection.Indexed methods return re-indexed Collections. In other words, + * indices always start at 0 and increment until size. If you wish to + * preserve indices, using them as keys, convert to a Collection.Keyed by + * calling `toKeyedSeq`. + */ + namespace Indexed {} + + /** + * Creates a new Collection.Indexed. + * + * Note: `Collection.Indexed` is a conversion function and not a class, and + * does not use the `new` keyword during construction. + */ + function Indexed( + collection?: Iterable | ArrayLike + ): Collection.Indexed; + + interface Indexed extends Collection { + /** + * Deeply converts this Indexed collection to equivalent native JavaScript Array. + */ + toJS(): Array>; + + /** + * Shallowly converts this Indexed collection to equivalent native JavaScript Array. + */ + toJSON(): Array; + + /** + * Shallowly converts this collection to an Array. + */ + toArray(): Array; + + // Reading values + + /** + * Returns the value associated with the provided index, or notSetValue if + * the index is beyond the bounds of the Collection. + * + * `index` may be a negative number, which indexes back from the end of the + * Collection. `s.get(-1)` gets the last item in the Collection. + */ + get(index: number, notSetValue: NSV): T | NSV; + get(index: number): T | undefined; + + // Conversion to Seq + + /** + * Returns Seq.Indexed. + * @override + */ + toSeq(): Seq.Indexed; + + /** + * If this is a collection of [key, value] entry tuples, it will return a + * Seq.Keyed of those entries. + */ + fromEntrySeq(): Seq.Keyed; + + // Combination + + /** + * Returns a Collection of the same type with `separator` between each item + * in this Collection. + */ + interpose(separator: T): this; + + /** + * Returns a Collection of the same type with the provided `collections` + * interleaved into this collection. + * + * The resulting Collection includes the first item from each, then the + * second from each, etc. + * + * + * ```js + * const { List } = require('immutable') + * List([ 1, 2, 3 ]).interleave(List([ 'A', 'B', 'C' ])) + * // List [ 1, "A", 2, "B", 3, "C" ] + * ``` + * + * The shortest Collection stops interleave. + * + * + * ```js + * List([ 1, 2, 3 ]).interleave( + * List([ 'A', 'B' ]), + * List([ 'X', 'Y', 'Z' ]) + * ) + * // List [ 1, "A", "X", 2, "B", "Y" ] + * ``` + * + * Since `interleave()` re-indexes values, it produces a complete copy, + * which has `O(N)` complexity. + * + * Note: `interleave` *cannot* be used in `withMutations`. + */ + interleave(...collections: Array>): this; + + /** + * Splice returns a new indexed Collection by replacing a region of this + * Collection with new values. If values are not provided, it only skips the + * region to be removed. + * + * `index` may be a negative number, which indexes back from the end of the + * Collection. `s.splice(-2)` splices after the second to last item. + * + * + * ```js + * const { List } = require('immutable') + * List([ 'a', 'b', 'c', 'd' ]).splice(1, 2, 'q', 'r', 's') + * // List [ "a", "q", "r", "s", "d" ] + * ``` + * + * Since `splice()` re-indexes values, it produces a complete copy, which + * has `O(N)` complexity. + * + * Note: `splice` *cannot* be used in `withMutations`. + */ + splice(index: number, removeNum: number, ...values: Array): this; + + /** + * Returns a Collection of the same type "zipped" with the provided + * collections. + * + * Like `zipWith`, but using the default `zipper`: creating an `Array`. + * + * + * + * ```js + * const a = List([ 1, 2, 3 ]); + * const b = List([ 4, 5, 6 ]); + * const c = a.zip(b); // List [ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ] + * ``` + */ + zip(other: Collection): Collection.Indexed<[T, U]>; + zip( + other: Collection, + other2: Collection + ): Collection.Indexed<[T, U, V]>; + zip( + ...collections: Array> + ): Collection.Indexed; + + /** + * Returns a Collection "zipped" with the provided collections. + * + * Unlike `zip`, `zipAll` continues zipping until the longest collection is + * exhausted. Missing values from shorter collections are filled with `undefined`. + * + * ```js + * const a = List([ 1, 2 ]); + * const b = List([ 3, 4, 5 ]); + * const c = a.zipAll(b); // List [ [ 1, 3 ], [ 2, 4 ], [ undefined, 5 ] ] + * ``` + */ + zipAll(other: Collection): Collection.Indexed<[T, U]>; + zipAll( + other: Collection, + other2: Collection + ): Collection.Indexed<[T, U, V]>; + zipAll( + ...collections: Array> + ): Collection.Indexed; + + /** + * Returns a Collection of the same type "zipped" with the provided + * collections by using a custom `zipper` function. + * + * + * ```js + * const a = List([ 1, 2, 3 ]); + * const b = List([ 4, 5, 6 ]); + * const c = a.zipWith((a, b) => a + b, b); + * // List [ 5, 7, 9 ] + * ``` + */ + zipWith( + zipper: (value: T, otherValue: U) => Z, + otherCollection: Collection + ): Collection.Indexed; + zipWith( + zipper: (value: T, otherValue: U, thirdValue: V) => Z, + otherCollection: Collection, + thirdCollection: Collection + ): Collection.Indexed; + zipWith( + zipper: (...values: Array) => Z, + ...collections: Array> + ): Collection.Indexed; + + // Search for value + + /** + * Returns the first index at which a given value can be found in the + * Collection, or -1 if it is not present. + */ + indexOf(searchValue: T): number; + + /** + * Returns the last index at which a given value can be found in the + * Collection, or -1 if it is not present. + */ + lastIndexOf(searchValue: T): number; + + /** + * Returns the first index in the Collection where a value satisfies the + * provided predicate function. Otherwise -1 is returned. + */ + findIndex( + predicate: (value: T, index: number, iter: this) => boolean, + context?: unknown + ): number; + + /** + * Returns the last index in the Collection where a value satisfies the + * provided predicate function. Otherwise -1 is returned. + */ + findLastIndex( + predicate: (value: T, index: number, iter: this) => boolean, + context?: unknown + ): number; + + // Sequence algorithms + + /** + * Returns a new Collection with other collections concatenated to this one. + */ + concat( + ...valuesOrCollections: Array | C> + ): Collection.Indexed; + + /** + * Returns a new Collection.Indexed with values passed through a + * `mapper` function. + * + * ```js + * const { Collection } = require('immutable') + * Collection.Indexed([1,2]).map(x => 10 * x) + * // Seq [ 1, 2 ] + * ``` + * + * Note: `map()` always returns a new instance, even if it produced the + * same value at every step. + */ + map( + mapper: (value: T, key: number, iter: this) => M, + context?: unknown + ): Collection.Indexed; + + /** + * Flat-maps the Collection, returning a Collection of the same type. + * + * Similar to `collection.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: T, key: number, iter: this) => Iterable, + context?: unknown + ): Collection.Indexed; + + /** + * Returns a new Collection with only the values for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: T, index: number, iter: this) => value is F, + context?: unknown + ): Collection.Indexed; + filter( + predicate: (value: T, index: number, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new indexed Collection with the values for which the + * `predicate` function returns false and another for which is returns + * true. + */ + partition( + predicate: (this: C, value: T, index: number, iter: this) => value is F, + context?: C + ): [Collection.Indexed, Collection.Indexed]; + partition( + predicate: (this: C, value: T, index: number, iter: this) => unknown, + context?: C + ): [this, this]; + + [Symbol.iterator](): IterableIterator; + } + + /** + * Set Collections only represent values. They have no associated keys or + * indices. Duplicate values are possible in the lazy `Seq.Set`s, however + * the concrete `Set` Collection does not allow duplicate values. + * + * Collection methods on Collection.Set such as `map` and `forEach` will provide + * the value as both the first and second arguments to the provided function. + * + * ```js + * const { Collection } = require('immutable') + * const seq = Collection.Set([ 'A', 'B', 'C' ]) + * // Seq { "A", "B", "C" } + * seq.forEach((v, k) => + * assert.equal(v, k) + * ) + * ``` + */ + namespace Set {} + + /** + * Similar to `Collection()`, but always returns a Collection.Set. + * + * Note: `Collection.Set` is a factory function and not a class, and does + * not use the `new` keyword during construction. + */ + function Set(collection?: Iterable | ArrayLike): Collection.Set; + + interface Set extends Collection { + /** + * Deeply converts this Set collection to equivalent native JavaScript Array. + */ + toJS(): Array>; + + /** + * Shallowly converts this Set collection to equivalent native JavaScript Array. + */ + toJSON(): Array; + + /** + * Shallowly converts this collection to an Array. + */ + toArray(): Array; + + /** + * Returns Seq.Set. + * @override + */ + toSeq(): Seq.Set; + + // Sequence algorithms + + /** + * Returns a new Collection with other collections concatenated to this one. + */ + concat(...collections: Array>): Collection.Set; + + /** + * Returns a new Collection.Set with values passed through a + * `mapper` function. + * + * ``` + * Collection.Set([ 1, 2 ]).map(x => 10 * x) + * // Seq { 1, 2 } + * ``` + * + * Note: `map()` always returns a new instance, even if it produced the + * same value at every step. + */ + map( + mapper: (value: T, key: T, iter: this) => M, + context?: unknown + ): Collection.Set; + + /** + * Flat-maps the Collection, returning a Collection of the same type. + * + * Similar to `collection.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: T, key: T, iter: this) => Iterable, + context?: unknown + ): Collection.Set; + + /** + * Returns a new Collection with only the values for which the `predicate` + * function returns true. + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: T, key: T, iter: this) => value is F, + context?: unknown + ): Collection.Set; + filter( + predicate: (value: T, key: T, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new set Collection with the values for which the + * `predicate` function returns false and another for which is returns + * true. + */ + partition( + predicate: (this: C, value: T, key: T, iter: this) => value is F, + context?: C + ): [Collection.Set, Collection.Set]; + partition( + predicate: (this: C, value: T, key: T, iter: this) => unknown, + context?: C + ): [this, this]; + + [Symbol.iterator](): IterableIterator; + } + } + + /** + * Creates a Collection. + * + * The type of Collection created is based on the input. + * + * * If an `Collection`, that same `Collection`. + * * If an Array-like, an `Collection.Indexed`. + * * If an Object with an Iterator defined, an `Collection.Indexed`. + * * If an Object, an `Collection.Keyed`. + * + * This methods forces the conversion of Objects and Strings to Collections. + * If you want to ensure that a Collection of one item is returned, use + * `Seq.of`. + * + * Note: An Iterator itself will be treated as an object, becoming a `Seq.Keyed`, + * which is usually not what you want. You should turn your Iterator Object into + * an iterable object by defining a Symbol.iterator (or @@iterator) method which + * returns `this`. + * + * Note: `Collection` is a conversion function and not a class, and does not + * use the `new` keyword during construction. + */ + function Collection>(collection: I): I; + function Collection( + collection: Iterable | ArrayLike + ): Collection.Indexed; + function Collection(obj: { + [key: string]: V; + }): Collection.Keyed; + function Collection(): Collection; + + interface Collection extends ValueObject { + // Value equality + + /** + * True if this and the other Collection have value equality, as defined + * by `Immutable.is()`. + * + * Note: This is equivalent to `Immutable.is(this, other)`, but provided to + * allow for chained expressions. + */ + equals(other: unknown): boolean; + + /** + * Computes and returns the hashed identity for this Collection. + * + * The `hashCode` of a Collection is used to determine potential equality, + * and is used when adding this to a `Set` or as a key in a `Map`, enabling + * lookup via a different instance. + * + * + * ```js + * const a = List([ 1, 2, 3 ]); + * const b = List([ 1, 2, 3 ]); + * assert.notStrictEqual(a, b); // different instances + * const set = Set([ a ]); + * assert.equal(set.has(b), true); + * ``` + * + * If two values have the same `hashCode`, they are [not guaranteed + * to be equal][Hash Collision]. If two values have different `hashCode`s, + * they must not be equal. + * + * [Hash Collision]: https://en.wikipedia.org/wiki/Collision_(computer_science) + */ + hashCode(): number; + + // Reading values + + /** + * Returns the value associated with the provided key, or notSetValue if + * the Collection does not contain this key. + * + * Note: it is possible a key may be associated with an `undefined` value, + * so if `notSetValue` is not provided and this method returns `undefined`, + * that does not guarantee the key was not found. + */ + get(key: K, notSetValue: NSV): V | NSV; + get(key: K): V | undefined; + + /** + * True if a key exists within this `Collection`, using `Immutable.is` + * to determine equality + */ + has(key: K): boolean; + + /** + * True if a value exists within this `Collection`, using `Immutable.is` + * to determine equality + * @alias contains + */ + includes(value: V): boolean; + contains(value: V): boolean; + + /** + * In case the `Collection` is not empty returns the first element of the + * `Collection`. + * In case the `Collection` is empty returns the optional default + * value if provided, if no default value is provided returns undefined. + */ + first(notSetValue?: NSV): V | NSV; + + /** + * In case the `Collection` is not empty returns the last element of the + * `Collection`. + * In case the `Collection` is empty returns the optional default + * value if provided, if no default value is provided returns undefined. + */ + last(notSetValue?: NSV): V | NSV; + + // Reading deep values + + /** + * Returns the value found by following a path of keys or indices through + * nested Collections. + * + * + * ```js + * const { Map, List } = require('immutable') + * const deepData = Map({ x: List([ Map({ y: 123 }) ]) }); + * deepData.getIn(['x', 0, 'y']) // 123 + * ``` + * + * Plain JavaScript Object or Arrays may be nested within an Immutable.js + * Collection, and getIn() can access those values as well: + * + * + * ```js + * const { Map, List } = require('immutable') + * const deepData = Map({ x: [ { y: 123 } ] }); + * deepData.getIn(['x', 0, 'y']) // 123 + * ``` + */ + getIn(searchKeyPath: Iterable, notSetValue?: unknown): unknown; + + /** + * True if the result of following a path of keys or indices through nested + * Collections results in a set value. + */ + hasIn(searchKeyPath: Iterable): boolean; + + // Persistent changes + + /** + * This can be very useful as a way to "chain" a normal function into a + * sequence of methods. RxJS calls this "let" and lodash calls it "thru". + * + * For example, to sum a Seq after mapping and filtering: + * + * + * ```js + * const { Seq } = require('immutable') + * + * function sum(collection) { + * return collection.reduce((sum, x) => sum + x, 0) + * } + * + * Seq([ 1, 2, 3 ]) + * .map(x => x + 1) + * .filter(x => x % 2 === 0) + * .update(sum) + * // 6 + * ``` + */ + update(updater: (value: this) => R): R; + + // Conversion to JavaScript types + + /** + * Deeply converts this Collection to equivalent native JavaScript Array or Object. + * + * `Collection.Indexed`, and `Collection.Set` become `Array`, while + * `Collection.Keyed` become `Object`, converting keys to Strings. + */ + toJS(): + | Array> + | { [key in string | number | symbol]: DeepCopy }; + + /** + * Shallowly converts this Collection to equivalent native JavaScript Array or Object. + * + * `Collection.Indexed`, and `Collection.Set` become `Array`, while + * `Collection.Keyed` become `Object`, converting keys to Strings. + */ + toJSON(): Array | { [key in string | number | symbol]: V }; + + /** + * Shallowly converts this collection to an Array. + * + * `Collection.Indexed`, and `Collection.Set` produce an Array of values. + * `Collection.Keyed` produce an Array of [key, value] tuples. + */ + toArray(): Array | Array<[K, V]>; + + /** + * Shallowly converts this Collection to an Object. + * + * Converts keys to Strings. + */ + toObject(): { [key: string]: V }; + + // Conversion to Collections + + /** + * Converts this Collection to a Map, Throws if keys are not hashable. + * + * Note: This is equivalent to `Map(this.toKeyedSeq())`, but provided + * for convenience and to allow for chained expressions. + */ + toMap(): Map; + + /** + * Converts this Collection to a Map, maintaining the order of iteration. + * + * Note: This is equivalent to `OrderedMap(this.toKeyedSeq())`, but + * provided for convenience and to allow for chained expressions. + */ + toOrderedMap(): OrderedMap; + + /** + * Converts this Collection to a Set, discarding keys. Throws if values + * are not hashable. + * + * Note: This is equivalent to `Set(this)`, but provided to allow for + * chained expressions. + */ + toSet(): Set; + + /** + * Converts this Collection to a Set, maintaining the order of iteration and + * discarding keys. + * + * Note: This is equivalent to `OrderedSet(this.valueSeq())`, but provided + * for convenience and to allow for chained expressions. + */ + toOrderedSet(): OrderedSet; + + /** + * Converts this Collection to a List, discarding keys. + * + * This is similar to `List(collection)`, but provided to allow for chained + * expressions. However, when called on `Map` or other keyed collections, + * `collection.toList()` discards the keys and creates a list of only the + * values, whereas `List(collection)` creates a list of entry tuples. + * + * + * ```js + * const { Map, List } = require('immutable') + * var myMap = Map({ a: 'Apple', b: 'Banana' }) + * List(myMap) // List [ [ "a", "Apple" ], [ "b", "Banana" ] ] + * myMap.toList() // List [ "Apple", "Banana" ] + * ``` + */ + toList(): List; + + /** + * Converts this Collection to a Stack, discarding keys. Throws if values + * are not hashable. + * + * Note: This is equivalent to `Stack(this)`, but provided to allow for + * chained expressions. + */ + toStack(): Stack; + + // Conversion to Seq + + /** + * Converts this Collection to a Seq of the same kind (indexed, + * keyed, or set). + */ + toSeq(): Seq; + + /** + * Returns a Seq.Keyed from this Collection where indices are treated as keys. + * + * This is useful if you want to operate on an + * Collection.Indexed and preserve the [index, value] pairs. + * + * The returned Seq will have identical iteration order as + * this Collection. + * + * + * ```js + * const { Seq } = require('immutable') + * const indexedSeq = Seq([ 'A', 'B', 'C' ]) + * // Seq [ "A", "B", "C" ] + * indexedSeq.filter(v => v === 'B') + * // Seq [ "B" ] + * const keyedSeq = indexedSeq.toKeyedSeq() + * // Seq { 0: "A", 1: "B", 2: "C" } + * keyedSeq.filter(v => v === 'B') + * // Seq { 1: "B" } + * ``` + */ + toKeyedSeq(): Seq.Keyed; + + /** + * Returns an Seq.Indexed of the values of this Collection, discarding keys. + */ + toIndexedSeq(): Seq.Indexed; + + /** + * Returns a Seq.Set of the values of this Collection, discarding keys. + */ + toSetSeq(): Seq.Set; + + // Iterators + + /** + * An iterator of this `Collection`'s keys. + * + * Note: this will return an ES6 iterator which does not support + * Immutable.js sequence algorithms. Use `keySeq` instead, if this is + * what you want. + */ + keys(): IterableIterator; + + /** + * An iterator of this `Collection`'s values. + * + * Note: this will return an ES6 iterator which does not support + * Immutable.js sequence algorithms. Use `valueSeq` instead, if this is + * what you want. + */ + values(): IterableIterator; + + /** + * An iterator of this `Collection`'s entries as `[ key, value ]` tuples. + * + * Note: this will return an ES6 iterator which does not support + * Immutable.js sequence algorithms. Use `entrySeq` instead, if this is + * what you want. + */ + entries(): IterableIterator<[K, V]>; + + [Symbol.iterator](): IterableIterator; + + // Collections (Seq) + + /** + * Returns a new Seq.Indexed of the keys of this Collection, + * discarding values. + */ + keySeq(): Seq.Indexed; + + /** + * Returns an Seq.Indexed of the values of this Collection, discarding keys. + */ + valueSeq(): Seq.Indexed; + + /** + * Returns a new Seq.Indexed of [key, value] tuples. + */ + entrySeq(): Seq.Indexed<[K, V]>; + + // Sequence algorithms + + /** + * Returns a new Collection of the same type with values passed through a + * `mapper` function. + * + * + * ```js + * const { Collection } = require('immutable') + * Collection({ a: 1, b: 2 }).map(x => 10 * x) + * // Seq { "a": 10, "b": 20 } + * ``` + * + * Note: `map()` always returns a new instance, even if it produced the same + * value at every step. + */ + map( + mapper: (value: V, key: K, iter: this) => M, + context?: unknown + ): Collection; + + /** + * Note: used only for sets, which return Collection but are otherwise + * identical to normal `map()`. + * + * @ignore + */ + map(...args: Array): unknown; + + /** + * Returns a new Collection of the same type with only the entries for which + * the `predicate` function returns true. + * + * + * ```js + * const { Map } = require('immutable') + * Map({ a: 1, b: 2, c: 3, d: 4}).filter(x => x % 2 === 0) + * // Map { "b": 2, "d": 4 } + * ``` + * + * Note: `filter()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filter( + predicate: (value: V, key: K, iter: this) => value is F, + context?: unknown + ): Collection; + filter( + predicate: (value: V, key: K, iter: this) => unknown, + context?: unknown + ): this; + + /** + * Returns a new Collection of the same type with only the entries for which + * the `predicate` function returns false. + * + * + * ```js + * const { Map } = require('immutable') + * Map({ a: 1, b: 2, c: 3, d: 4}).filterNot(x => x % 2 === 0) + * // Map { "a": 1, "c": 3 } + * ``` + * + * Note: `filterNot()` always returns a new instance, even if it results in + * not filtering out any values. + */ + filterNot( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown + ): this; + + /** + * Returns a new Collection with the values for which the `predicate` + * function returns false and another for which is returns true. + */ + partition( + predicate: (this: C, value: V, key: K, iter: this) => value is F, + context?: C + ): [Collection, Collection]; + partition( + predicate: (this: C, value: V, key: K, iter: this) => unknown, + context?: C + ): [this, this]; + + /** + * Returns a new Collection of the same type in reverse order. + */ + reverse(): this; + + /** + * Returns a new Collection of the same type which includes the same entries, + * stably sorted by using a `comparator`. + * + * If a `comparator` is not provided, a default comparator uses `<` and `>`. + * + * `comparator(valueA, valueB)`: + * + * * Returns `0` if the elements should not be swapped. + * * Returns `-1` (or any negative number) if `valueA` comes before `valueB` + * * Returns `1` (or any positive number) if `valueA` comes after `valueB` + * * Alternatively, can return a value of the `PairSorting` enum type + * * Is pure, i.e. it must always return the same value for the same pair + * of values. + * + * When sorting collections which have no defined order, their ordered + * equivalents will be returned. e.g. `map.sort()` returns OrderedMap. + * + * + * ```js + * const { Map } = require('immutable') + * Map({ "c": 3, "a": 1, "b": 2 }).sort((a, b) => { + * if (a < b) { return -1; } + * if (a > b) { return 1; } + * if (a === b) { return 0; } + * }); + * // OrderedMap { "a": 1, "b": 2, "c": 3 } + * ``` + * + * Note: `sort()` Always returns a new instance, even if the original was + * already sorted. + * + * Note: This is always an eager operation. + */ + sort(comparator?: Comparator): this; + + /** + * Like `sort`, but also accepts a `comparatorValueMapper` which allows for + * sorting by more sophisticated means: + * + * + * ```js + * const { Map } = require('immutable') + * const beattles = Map({ + * John: { name: "Lennon" }, + * Paul: { name: "McCartney" }, + * George: { name: "Harrison" }, + * Ringo: { name: "Starr" }, + * }); + * beattles.sortBy(member => member.name); + * ``` + * + * Note: `sortBy()` Always returns a new instance, even if the original was + * already sorted. + * + * Note: This is always an eager operation. + */ + sortBy( + comparatorValueMapper: (value: V, key: K, iter: this) => C, + comparator?: Comparator + ): this; + + /** + * Returns a `Map` of `Collection`, grouped by the return + * value of the `grouper` function. + * + * Note: This is always an eager operation. + * + * + * ```js + * const { List, Map } = require('immutable') + * const listOfMaps = List([ + * Map({ v: 0 }), + * Map({ v: 1 }), + * Map({ v: 1 }), + * Map({ v: 0 }), + * Map({ v: 2 }) + * ]) + * const groupsOfMaps = listOfMaps.groupBy(x => x.get('v')) + * // Map { + * // 0: List [ Map{ "v": 0 }, Map { "v": 0 } ], + * // 1: List [ Map{ "v": 1 }, Map { "v": 1 } ], + * // 2: List [ Map{ "v": 2 } ], + * // } + * ``` + */ + groupBy( + grouper: (value: V, key: K, iter: this) => G, + context?: unknown + ): Map; + + // Side effects + + /** + * The `sideEffect` is executed for every entry in the Collection. + * + * Unlike `Array#forEach`, if any call of `sideEffect` returns + * `false`, the iteration will stop. Returns the number of entries iterated + * (including the last iteration which returned false). + */ + forEach( + sideEffect: (value: V, key: K, iter: this) => unknown, + context?: unknown + ): number; + + // Creating subsets + + /** + * Returns a new Collection of the same type representing a portion of this + * Collection from start up to but not including end. + * + * If begin is negative, it is offset from the end of the Collection. e.g. + * `slice(-2)` returns a Collection of the last two entries. If it is not + * provided the new Collection will begin at the beginning of this Collection. + * + * If end is negative, it is offset from the end of the Collection. e.g. + * `slice(0, -1)` returns a Collection of everything but the last entry. If + * it is not provided, the new Collection will continue through the end of + * this Collection. + * + * If the requested slice is equivalent to the current Collection, then it + * will return itself. + */ + slice(begin?: number, end?: number): this; + + /** + * Returns a new Collection of the same type containing all entries except + * the first. + */ + rest(): this; + + /** + * Returns a new Collection of the same type containing all entries except + * the last. + */ + butLast(): this; + + /** + * Returns a new Collection of the same type which excludes the first `amount` + * entries from this Collection. + */ + skip(amount: number): this; + + /** + * Returns a new Collection of the same type which excludes the last `amount` + * entries from this Collection. + */ + skipLast(amount: number): this; + + /** + * Returns a new Collection of the same type which includes entries starting + * from when `predicate` first returns false. + * + * + * ```js + * const { List } = require('immutable') + * List([ 'dog', 'frog', 'cat', 'hat', 'god' ]) + * .skipWhile(x => x.match(/g/)) + * // List [ "cat", "hat", "god" ] + * ``` + */ + skipWhile( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown + ): this; + + /** + * Returns a new Collection of the same type which includes entries starting + * from when `predicate` first returns true. + * + * + * ```js + * const { List } = require('immutable') + * List([ 'dog', 'frog', 'cat', 'hat', 'god' ]) + * .skipUntil(x => x.match(/hat/)) + * // List [ "hat", "god" ] + * ``` + */ + skipUntil( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown + ): this; + + /** + * Returns a new Collection of the same type which includes the first `amount` + * entries from this Collection. + */ + take(amount: number): this; + + /** + * Returns a new Collection of the same type which includes the last `amount` + * entries from this Collection. + */ + takeLast(amount: number): this; + + /** + * Returns a new Collection of the same type which includes entries from this + * Collection as long as the `predicate` returns true. + * + * + * ```js + * const { List } = require('immutable') + * List([ 'dog', 'frog', 'cat', 'hat', 'god' ]) + * .takeWhile(x => x.match(/o/)) + * // List [ "dog", "frog" ] + * ``` + */ + takeWhile( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown + ): this; + + /** + * Returns a new Collection of the same type which includes entries from this + * Collection as long as the `predicate` returns false. + * + * + * ```js + * const { List } = require('immutable') + * List([ 'dog', 'frog', 'cat', 'hat', 'god' ]) + * .takeUntil(x => x.match(/at/)) + * // List [ "dog", "frog" ] + * ``` + */ + takeUntil( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown + ): this; + + // Combination + + /** + * Returns a new Collection of the same type with other values and + * collection-like concatenated to this one. + * + * For Seqs, all entries will be present in the resulting Seq, even if they + * have the same key. + */ + concat( + ...valuesOrCollections: Array + ): Collection; + + /** + * Flattens nested Collections. + * + * Will deeply flatten the Collection by default, returning a Collection of the + * same type, but a `depth` can be provided in the form of a number or + * boolean (where true means to shallowly flatten one level). A depth of 0 + * (or shallow: false) will deeply flatten. + * + * Flattens only others Collection, not Arrays or Objects. + * + * Note: `flatten(true)` operates on Collection> and + * returns Collection + */ + flatten(depth?: number): Collection; + // tslint:disable-next-line unified-signatures + flatten(shallow?: boolean): Collection; + + /** + * Flat-maps the Collection, returning a Collection of the same type. + * + * Similar to `collection.map(...).flatten(true)`. + */ + flatMap( + mapper: (value: V, key: K, iter: this) => Iterable, + context?: unknown + ): Collection; + + /** + * Flat-maps the Collection, returning a Collection of the same type. + * + * Similar to `collection.map(...).flatten(true)`. + * Used for Dictionaries only. + */ + flatMap( + mapper: (value: V, key: K, iter: this) => Iterable<[KM, VM]>, + context?: unknown + ): Collection; + + // Reducing a value + + /** + * Reduces the Collection to a value by calling the `reducer` for every entry + * in the Collection and passing along the reduced value. + * + * If `initialReduction` is not provided, the first item in the + * Collection will be used. + * + * @see `Array#reduce`. + */ + reduce( + reducer: (reduction: R, value: V, key: K, iter: this) => R, + initialReduction: R, + context?: unknown + ): R; + reduce( + reducer: (reduction: V | R, value: V, key: K, iter: this) => R + ): R; + + /** + * Reduces the Collection in reverse (from the right side). + * + * Note: Similar to this.reverse().reduce(), and provided for parity + * with `Array#reduceRight`. + */ + reduceRight( + reducer: (reduction: R, value: V, key: K, iter: this) => R, + initialReduction: R, + context?: unknown + ): R; + reduceRight( + reducer: (reduction: V | R, value: V, key: K, iter: this) => R + ): R; + + /** + * True if `predicate` returns true for all entries in the Collection. + */ + every( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown + ): boolean; + + /** + * True if `predicate` returns true for any entry in the Collection. + */ + some( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown + ): boolean; + + /** + * Joins values together as a string, inserting a separator between each. + * The default separator is `","`. + */ + join(separator?: string): string; + + /** + * Returns true if this Collection includes no values. + * + * For some lazy `Seq`, `isEmpty` might need to iterate to determine + * emptiness. At most one iteration will occur. + */ + isEmpty(): boolean; + + /** + * Returns the size of this Collection. + * + * Regardless of if this Collection can describe its size lazily (some Seqs + * cannot), this method will always return the correct size. E.g. it + * evaluates a lazy `Seq` if necessary. + * + * If `predicate` is provided, then this returns the count of entries in the + * Collection for which the `predicate` returns true. + */ + count(): number; + count( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown + ): number; + + /** + * Returns a `Seq.Keyed` of counts, grouped by the return value of + * the `grouper` function. + * + * Note: This is not a lazy operation. + */ + countBy( + grouper: (value: V, key: K, iter: this) => G, + context?: unknown + ): Map; + + // Search for value + + /** + * Returns the first value for which the `predicate` returns true. + */ + find( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown, + notSetValue?: V + ): V | undefined; + + /** + * Returns the last value for which the `predicate` returns true. + * + * Note: `predicate` will be called for each entry in reverse. + */ + findLast( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown, + notSetValue?: V + ): V | undefined; + + /** + * Returns the first [key, value] entry for which the `predicate` returns true. + */ + findEntry( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown, + notSetValue?: V + ): [K, V] | undefined; + + /** + * Returns the last [key, value] entry for which the `predicate` + * returns true. + * + * Note: `predicate` will be called for each entry in reverse. + */ + findLastEntry( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown, + notSetValue?: V + ): [K, V] | undefined; + + /** + * Returns the key for which the `predicate` returns true. + */ + findKey( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown + ): K | undefined; + + /** + * Returns the last key for which the `predicate` returns true. + * + * Note: `predicate` will be called for each entry in reverse. + */ + findLastKey( + predicate: (value: V, key: K, iter: this) => boolean, + context?: unknown + ): K | undefined; + + /** + * Returns the key associated with the search value, or undefined. + */ + keyOf(searchValue: V): K | undefined; + + /** + * Returns the last key associated with the search value, or undefined. + */ + lastKeyOf(searchValue: V): K | undefined; + + /** + * Returns the maximum value in this collection. If any values are + * comparatively equivalent, the first one found will be returned. + * + * The `comparator` is used in the same way as `Collection#sort`. If it is not + * provided, the default comparator is `>`. + * + * When two values are considered equivalent, the first encountered will be + * returned. Otherwise, `max` will operate independent of the order of input + * as long as the comparator is commutative. The default comparator `>` is + * commutative *only* when types do not differ. + * + * If `comparator` returns 0 and either value is NaN, undefined, or null, + * that value will be returned. + */ + max(comparator?: Comparator): V | undefined; + + /** + * Like `max`, but also accepts a `comparatorValueMapper` which allows for + * comparing by more sophisticated means: + * + * + * ```js + * const { List, } = require('immutable'); + * const l = List([ + * { name: 'Bob', avgHit: 1 }, + * { name: 'Max', avgHit: 3 }, + * { name: 'Lili', avgHit: 2 } , + * ]); + * l.maxBy(i => i.avgHit); // will output { name: 'Max', avgHit: 3 } + * ``` + */ + maxBy( + comparatorValueMapper: (value: V, key: K, iter: this) => C, + comparator?: Comparator + ): V | undefined; + + /** + * Returns the minimum value in this collection. If any values are + * comparatively equivalent, the first one found will be returned. + * + * The `comparator` is used in the same way as `Collection#sort`. If it is not + * provided, the default comparator is `<`. + * + * When two values are considered equivalent, the first encountered will be + * returned. Otherwise, `min` will operate independent of the order of input + * as long as the comparator is commutative. The default comparator `<` is + * commutative *only* when types do not differ. + * + * If `comparator` returns 0 and either value is NaN, undefined, or null, + * that value will be returned. + */ + min(comparator?: Comparator): V | undefined; + + /** + * Like `min`, but also accepts a `comparatorValueMapper` which allows for + * comparing by more sophisticated means: + * + * + * ```js + * const { List, } = require('immutable'); + * const l = List([ + * { name: 'Bob', avgHit: 1 }, + * { name: 'Max', avgHit: 3 }, + * { name: 'Lili', avgHit: 2 } , + * ]); + * l.minBy(i => i.avgHit); // will output { name: 'Bob', avgHit: 1 } + * ``` + */ + minBy( + comparatorValueMapper: (value: V, key: K, iter: this) => C, + comparator?: Comparator + ): V | undefined; + + // Comparison + + /** + * True if `iter` includes every value in this Collection. + */ + isSubset(iter: Iterable): boolean; + + /** + * True if this Collection includes every value in `iter`. + */ + isSuperset(iter: Iterable): boolean; + } + + /** + * The interface to fulfill to qualify as a Value Object. + */ + interface ValueObject { + /** + * True if this and the other Collection have value equality, as defined + * by `Immutable.is()`. + * + * Note: This is equivalent to `Immutable.is(this, other)`, but provided to + * allow for chained expressions. + */ + equals(other: unknown): boolean; + + /** + * Computes and returns the hashed identity for this Collection. + * + * The `hashCode` of a Collection is used to determine potential equality, + * and is used when adding this to a `Set` or as a key in a `Map`, enabling + * lookup via a different instance. + * + * + * ```js + * const { List, Set } = require('immutable'); + * const a = List([ 1, 2, 3 ]); + * const b = List([ 1, 2, 3 ]); + * assert.notStrictEqual(a, b); // different instances + * const set = Set([ a ]); + * assert.equal(set.has(b), true); + * ``` + * + * Note: hashCode() MUST return a Uint32 number. The easiest way to + * guarantee this is to return `myHash | 0` from a custom implementation. + * + * If two values have the same `hashCode`, they are [not guaranteed + * to be equal][Hash Collision]. If two values have different `hashCode`s, + * they must not be equal. + * + * Note: `hashCode()` is not guaranteed to always be called before + * `equals()`. Most but not all Immutable.js collections use hash codes to + * organize their internal data structures, while all Immutable.js + * collections use equality during lookups. + * + * [Hash Collision]: https://en.wikipedia.org/wiki/Collision_(computer_science) + */ + hashCode(): number; + } + + /** + * Deeply converts plain JS objects and arrays to Immutable Maps and Lists. + * + * `fromJS` will convert Arrays and [array-like objects][2] to a List, and + * plain objects (without a custom prototype) to a Map. [Iterable objects][3] + * may be converted to List, Map, or Set. + * + * If a `reviver` is optionally provided, it will be called with every + * collection as a Seq (beginning with the most nested collections + * and proceeding to the top-level collection itself), along with the key + * referring to each collection and the parent JS object provided as `this`. + * For the top level, object, the key will be `""`. This `reviver` is expected + * to return a new Immutable Collection, allowing for custom conversions from + * deep JS objects. Finally, a `path` is provided which is the sequence of + * keys to this value from the starting value. + * + * `reviver` acts similarly to the [same parameter in `JSON.parse`][1]. + * + * If `reviver` is not provided, the default behavior will convert Objects + * into Maps and Arrays into Lists like so: + * + * + * ```js + * const { fromJS, isKeyed } = require('immutable') + * function (key, value) { + * return isKeyed(value) ? value.toMap() : value.toList() + * } + * ``` + * + * Accordingly, this example converts native JS data to OrderedMap and List: + * + * + * ```js + * const { fromJS, isKeyed } = require('immutable') + * fromJS({ a: {b: [10, 20, 30]}, c: 40}, function (key, value, path) { + * console.log(key, value, path) + * return isKeyed(value) ? value.toOrderedMap() : value.toList() + * }) + * + * > "b", [ 10, 20, 30 ], [ "a", "b" ] + * > "a", {b: [10, 20, 30]}, [ "a" ] + * > "", {a: {b: [10, 20, 30]}, c: 40}, [] + * ``` + * + * Keep in mind, when using JS objects to construct Immutable Maps, that + * JavaScript Object properties are always strings, even if written in a + * quote-less shorthand, while Immutable Maps accept keys of any type. + * + * + * ```js + * const { Map } = require('immutable') + * let obj = { 1: "one" }; + * Object.keys(obj); // [ "1" ] + * assert.equal(obj["1"], obj[1]); // "one" === "one" + * + * let map = Map(obj); + * assert.notEqual(map.get("1"), map.get(1)); // "one" !== undefined + * ``` + * + * Property access for JavaScript Objects first converts the key to a string, + * but since Immutable Map keys can be of any type the argument to `get()` is + * not altered. + * + * [1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Example.3A_Using_the_reviver_parameter + * "Using the reviver parameter" + * [2]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Indexed_collections#working_with_array-like_objects + * "Working with array-like objects" + * [3]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_iterable_protocol + * "The iterable protocol" + */ + function fromJS( + jsValue: JSValue, + reviver?: undefined + ): FromJS; + function fromJS( + jsValue: unknown, + reviver?: ( + key: string | number, + sequence: Collection.Keyed | Collection.Indexed, + path?: Array + ) => unknown + ): Collection; + + type FromJS = JSValue extends FromJSNoTransform + ? JSValue + : JSValue extends Array + ? FromJSArray + : JSValue extends {} + ? FromJSObject + : any; + + type FromJSNoTransform = + | Collection + | number + | string + | null + | undefined; + + type FromJSArray = JSValue extends Array + ? List> + : never; + + type FromJSObject = JSValue extends {} + ? Map> + : never; + + /** + * Value equality check with semantics similar to `Object.is`, but treats + * Immutable `Collection`s as values, equal if the second `Collection` includes + * equivalent values. + * + * It's used throughout Immutable when checking for equality, including `Map` + * key equality and `Set` membership. + * + * + * ```js + * const { Map, is } = require('immutable') + * const map1 = Map({ a: 1, b: 1, c: 1 }) + * const map2 = Map({ a: 1, b: 1, c: 1 }) + * assert.equal(map1 !== map2, true) + * assert.equal(Object.is(map1, map2), false) + * assert.equal(is(map1, map2), true) + * ``` + * + * `is()` compares primitive types like strings and numbers, Immutable.js + * collections like `Map` and `List`, but also any custom object which + * implements `ValueObject` by providing `equals()` and `hashCode()` methods. + * + * Note: Unlike `Object.is`, `Immutable.is` assumes `0` and `-0` are the same + * value, matching the behavior of ES6 Map key equality. + */ + function is(first: unknown, second: unknown): boolean; + + /** + * The `hash()` function is an important part of how Immutable determines if + * two values are equivalent and is used to determine how to store those + * values. Provided with any value, `hash()` will return a 31-bit integer. + * + * When designing Objects which may be equal, it's important that when a + * `.equals()` method returns true, that both values `.hashCode()` method + * return the same value. `hash()` may be used to produce those values. + * + * For non-Immutable Objects that do not provide a `.hashCode()` functions + * (including plain Objects, plain Arrays, Date objects, etc), a unique hash + * value will be created for each *instance*. That is, the create hash + * represents referential equality, and not value equality for Objects. This + * ensures that if that Object is mutated over time that its hash code will + * remain consistent, allowing Objects to be used as keys and values in + * Immutable.js collections. + * + * Note that `hash()` attempts to balance between speed and avoiding + * collisions, however it makes no attempt to produce secure hashes. + * + * *New in Version 4.0* + */ + function hash(value: unknown): number; + + /** + * True if `maybeImmutable` is an Immutable Collection or Record. + * + * Note: Still returns true even if the collections is within a `withMutations()`. + * + * + * ```js + * const { isImmutable, Map, List, Stack } = require('immutable'); + * isImmutable([]); // false + * isImmutable({}); // false + * isImmutable(Map()); // true + * isImmutable(List()); // true + * isImmutable(Stack()); // true + * isImmutable(Map().asMutable()); // true + * ``` + */ + function isImmutable( + maybeImmutable: unknown + ): maybeImmutable is Collection; + + /** + * True if `maybeCollection` is a Collection, or any of its subclasses. + * + * + * ```js + * const { isCollection, Map, List, Stack } = require('immutable'); + * isCollection([]); // false + * isCollection({}); // false + * isCollection(Map()); // true + * isCollection(List()); // true + * isCollection(Stack()); // true + * ``` + */ + function isCollection( + maybeCollection: unknown + ): maybeCollection is Collection; + + /** + * True if `maybeKeyed` is a Collection.Keyed, or any of its subclasses. + * + * + * ```js + * const { isKeyed, Map, List, Stack } = require('immutable'); + * isKeyed([]); // false + * isKeyed({}); // false + * isKeyed(Map()); // true + * isKeyed(List()); // false + * isKeyed(Stack()); // false + * ``` + */ + function isKeyed( + maybeKeyed: unknown + ): maybeKeyed is Collection.Keyed; + + /** + * True if `maybeIndexed` is a Collection.Indexed, or any of its subclasses. + * + * + * ```js + * const { isIndexed, Map, List, Stack, Set } = require('immutable'); + * isIndexed([]); // false + * isIndexed({}); // false + * isIndexed(Map()); // false + * isIndexed(List()); // true + * isIndexed(Stack()); // true + * isIndexed(Set()); // false + * ``` + */ + function isIndexed( + maybeIndexed: unknown + ): maybeIndexed is Collection.Indexed; + + /** + * True if `maybeAssociative` is either a Keyed or Indexed Collection. + * + * + * ```js + * const { isAssociative, Map, List, Stack, Set } = require('immutable'); + * isAssociative([]); // false + * isAssociative({}); // false + * isAssociative(Map()); // true + * isAssociative(List()); // true + * isAssociative(Stack()); // true + * isAssociative(Set()); // false + * ``` + */ + function isAssociative( + maybeAssociative: unknown + ): maybeAssociative is + | Collection.Keyed + | Collection.Indexed; + + /** + * True if `maybeOrdered` is a Collection where iteration order is well + * defined. True for Collection.Indexed as well as OrderedMap and OrderedSet. + * + * + * ```js + * const { isOrdered, Map, OrderedMap, List, Set } = require('immutable'); + * isOrdered([]); // false + * isOrdered({}); // false + * isOrdered(Map()); // false + * isOrdered(OrderedMap()); // true + * isOrdered(List()); // true + * isOrdered(Set()); // false + * ``` + */ + function isOrdered(maybeOrdered: unknown): boolean; + + /** + * True if `maybeValue` is a JavaScript Object which has *both* `equals()` + * and `hashCode()` methods. + * + * Any two instances of *value objects* can be compared for value equality with + * `Immutable.is()` and can be used as keys in a `Map` or members in a `Set`. + */ + function isValueObject(maybeValue: unknown): maybeValue is ValueObject; + + /** + * True if `maybeSeq` is a Seq. + */ + function isSeq( + maybeSeq: unknown + ): maybeSeq is + | Seq.Indexed + | Seq.Keyed + | Seq.Set; + + /** + * True if `maybeList` is a List. + */ + function isList(maybeList: unknown): maybeList is List; + + /** + * True if `maybeMap` is a Map. + * + * Also true for OrderedMaps. + */ + function isMap(maybeMap: unknown): maybeMap is Map; + + /** + * True if `maybeOrderedMap` is an OrderedMap. + */ + function isOrderedMap( + maybeOrderedMap: unknown + ): maybeOrderedMap is OrderedMap; + + /** + * True if `maybeStack` is a Stack. + */ + function isStack(maybeStack: unknown): maybeStack is Stack; + + /** + * True if `maybeSet` is a Set. + * + * Also true for OrderedSets. + */ + function isSet(maybeSet: unknown): maybeSet is Set; + + /** + * True if `maybeOrderedSet` is an OrderedSet. + */ + function isOrderedSet( + maybeOrderedSet: unknown + ): maybeOrderedSet is OrderedSet; + + /** + * True if `maybeRecord` is a Record. + */ + function isRecord(maybeRecord: unknown): maybeRecord is Record<{}>; + + /** + * Returns the value within the provided collection associated with the + * provided key, or notSetValue if the key is not defined in the collection. + * + * A functional alternative to `collection.get(key)` which will also work on + * plain Objects and Arrays as an alternative for `collection[key]`. + * + * + * ```js + * const { get } = require('immutable') + * get([ 'dog', 'frog', 'cat' ], 2) // 'frog' + * get({ x: 123, y: 456 }, 'x') // 123 + * get({ x: 123, y: 456 }, 'z', 'ifNotSet') // 'ifNotSet' + * ``` + */ + function get(collection: Collection, key: K): V | undefined; + function get( + collection: Collection, + key: K, + notSetValue: NSV + ): V | NSV; + function get( + record: Record, + key: K, + notSetValue: unknown + ): TProps[K]; + function get(collection: Array, key: number): V | undefined; + function get( + collection: Array, + key: number, + notSetValue: NSV + ): V | NSV; + function get( + object: C, + key: K, + notSetValue: unknown + ): C[K]; + function get(collection: { [key: string]: V }, key: string): V | undefined; + function get( + collection: { [key: string]: V }, + key: string, + notSetValue: NSV + ): V | NSV; + + /** + * Returns true if the key is defined in the provided collection. + * + * A functional alternative to `collection.has(key)` which will also work with + * plain Objects and Arrays as an alternative for + * `collection.hasOwnProperty(key)`. + * + * + * ```js + * const { has } = require('immutable') + * has([ 'dog', 'frog', 'cat' ], 2) // true + * has([ 'dog', 'frog', 'cat' ], 5) // false + * has({ x: 123, y: 456 }, 'x') // true + * has({ x: 123, y: 456 }, 'z') // false + * ``` + */ + function has(collection: object, key: unknown): boolean; + + /** + * Returns a copy of the collection with the value at key removed. + * + * A functional alternative to `collection.remove(key)` which will also work + * with plain Objects and Arrays as an alternative for + * `delete collectionCopy[key]`. + * + * + * ```js + * const { remove } = require('immutable') + * const originalArray = [ 'dog', 'frog', 'cat' ] + * remove(originalArray, 1) // [ 'dog', 'cat' ] + * console.log(originalArray) // [ 'dog', 'frog', 'cat' ] + * const originalObject = { x: 123, y: 456 } + * remove(originalObject, 'x') // { y: 456 } + * console.log(originalObject) // { x: 123, y: 456 } + * ``` + */ + function remove>( + collection: C, + key: K + ): C; + function remove< + TProps extends object, + C extends Record, + K extends keyof TProps + >(collection: C, key: K): C; + function remove>(collection: C, key: number): C; + function remove(collection: C, key: K): C; + function remove( + collection: C, + key: K + ): C; + + /** + * Returns a copy of the collection with the value at key set to the provided + * value. + * + * A functional alternative to `collection.set(key, value)` which will also + * work with plain Objects and Arrays as an alternative for + * `collectionCopy[key] = value`. + * + * + * ```js + * const { set } = require('immutable') + * const originalArray = [ 'dog', 'frog', 'cat' ] + * set(originalArray, 1, 'cow') // [ 'dog', 'cow', 'cat' ] + * console.log(originalArray) // [ 'dog', 'frog', 'cat' ] + * const originalObject = { x: 123, y: 456 } + * set(originalObject, 'x', 789) // { x: 789, y: 456 } + * console.log(originalObject) // { x: 123, y: 456 } + * ``` + */ + function set>( + collection: C, + key: K, + value: V + ): C; + function set< + TProps extends object, + C extends Record, + K extends keyof TProps + >(record: C, key: K, value: TProps[K]): C; + function set>(collection: C, key: number, value: V): C; + function set(object: C, key: K, value: C[K]): C; + function set( + collection: C, + key: string, + value: V + ): C; + + /** + * Returns a copy of the collection with the value at key set to the result of + * providing the existing value to the updating function. + * + * A functional alternative to `collection.update(key, fn)` which will also + * work with plain Objects and Arrays as an alternative for + * `collectionCopy[key] = fn(collection[key])`. + * + * + * ```js + * const { update } = require('immutable') + * const originalArray = [ 'dog', 'frog', 'cat' ] + * update(originalArray, 1, val => val.toUpperCase()) // [ 'dog', 'FROG', 'cat' ] + * console.log(originalArray) // [ 'dog', 'frog', 'cat' ] + * const originalObject = { x: 123, y: 456 } + * update(originalObject, 'x', val => val * 6) // { x: 738, y: 456 } + * console.log(originalObject) // { x: 123, y: 456 } + * ``` + */ + function update>( + collection: C, + key: K, + updater: (value: V | undefined) => V | undefined + ): C; + function update, NSV>( + collection: C, + key: K, + notSetValue: NSV, + updater: (value: V | NSV) => V + ): C; + function update< + TProps extends object, + C extends Record, + K extends keyof TProps + >(record: C, key: K, updater: (value: TProps[K]) => TProps[K]): C; + function update< + TProps extends object, + C extends Record, + K extends keyof TProps, + NSV + >( + record: C, + key: K, + notSetValue: NSV, + updater: (value: TProps[K] | NSV) => TProps[K] + ): C; + function update( + collection: Array, + key: number, + updater: (value: V | undefined) => V | undefined + ): Array; + function update( + collection: Array, + key: number, + notSetValue: NSV, + updater: (value: V | NSV) => V + ): Array; + function update( + object: C, + key: K, + updater: (value: C[K]) => C[K] + ): C; + function update( + object: C, + key: K, + notSetValue: NSV, + updater: (value: C[K] | NSV) => C[K] + ): C; + function update( + collection: C, + key: K, + updater: (value: V) => V + ): { [key: string]: V }; + function update( + collection: C, + key: K, + notSetValue: NSV, + updater: (value: V | NSV) => V + ): { [key: string]: V }; + + /** + * Returns the value at the provided key path starting at the provided + * collection, or notSetValue if the key path is not defined. + * + * A functional alternative to `collection.getIn(keypath)` which will also + * work with plain Objects and Arrays. + * + * + * ```js + * const { getIn } = require('immutable') + * getIn({ x: { y: { z: 123 }}}, ['x', 'y', 'z']) // 123 + * getIn({ x: { y: { z: 123 }}}, ['x', 'q', 'p'], 'ifNotSet') // 'ifNotSet' + * ``` + */ + function getIn( + collection: unknown, + keyPath: Iterable, + notSetValue?: unknown + ): unknown; + + /** + * Returns true if the key path is defined in the provided collection. + * + * A functional alternative to `collection.hasIn(keypath)` which will also + * work with plain Objects and Arrays. + * + * + * ```js + * const { hasIn } = require('immutable') + * hasIn({ x: { y: { z: 123 }}}, ['x', 'y', 'z']) // true + * hasIn({ x: { y: { z: 123 }}}, ['x', 'q', 'p']) // false + * ``` + */ + function hasIn(collection: unknown, keyPath: Iterable): boolean; + + /** + * Returns a copy of the collection with the value at the key path removed. + * + * A functional alternative to `collection.removeIn(keypath)` which will also + * work with plain Objects and Arrays. + * + * + * ```js + * const { removeIn } = require('immutable') + * const original = { x: { y: { z: 123 }}} + * removeIn(original, ['x', 'y', 'z']) // { x: { y: {}}} + * console.log(original) // { x: { y: { z: 123 }}} + * ``` + */ + function removeIn(collection: C, keyPath: Iterable): C; + + /** + * Returns a copy of the collection with the value at the key path set to the + * provided value. + * + * A functional alternative to `collection.setIn(keypath)` which will also + * work with plain Objects and Arrays. + * + * + * ```js + * const { setIn } = require('immutable') + * const original = { x: { y: { z: 123 }}} + * setIn(original, ['x', 'y', 'z'], 456) // { x: { y: { z: 456 }}} + * console.log(original) // { x: { y: { z: 123 }}} + * ``` + */ + function setIn( + collection: C, + keyPath: Iterable, + value: unknown + ): C; + + /** + * Returns a copy of the collection with the value at key path set to the + * result of providing the existing value to the updating function. + * + * A functional alternative to `collection.updateIn(keypath)` which will also + * work with plain Objects and Arrays. + * + * + * ```js + * const { updateIn } = require('immutable') + * const original = { x: { y: { z: 123 }}} + * updateIn(original, ['x', 'y', 'z'], val => val * 6) // { x: { y: { z: 738 }}} + * console.log(original) // { x: { y: { z: 123 }}} + * ``` + */ + function updateIn( + collection: C, + keyPath: Iterable, + updater: (value: unknown) => unknown + ): C; + function updateIn( + collection: C, + keyPath: Iterable, + notSetValue: unknown, + updater: (value: unknown) => unknown + ): C; + + /** + * Returns a copy of the collection with the remaining collections merged in. + * + * A functional alternative to `collection.merge()` which will also work with + * plain Objects and Arrays. + * + * + * ```js + * const { merge } = require('immutable') + * const original = { x: 123, y: 456 } + * merge(original, { y: 789, z: 'abc' }) // { x: 123, y: 789, z: 'abc' } + * console.log(original) // { x: 123, y: 456 } + * ``` + */ + function merge( + collection: C, + ...collections: Array< + | Iterable + | Iterable<[unknown, unknown]> + | { [key: string]: unknown } + > + ): C; + + /** + * Returns a copy of the collection with the remaining collections merged in, + * calling the `merger` function whenever an existing value is encountered. + * + * A functional alternative to `collection.mergeWith()` which will also work + * with plain Objects and Arrays. + * + * + * ```js + * const { mergeWith } = require('immutable') + * const original = { x: 123, y: 456 } + * mergeWith( + * (oldVal, newVal) => oldVal + newVal, + * original, + * { y: 789, z: 'abc' } + * ) // { x: 123, y: 1245, z: 'abc' } + * console.log(original) // { x: 123, y: 456 } + * ``` + */ + function mergeWith( + merger: (oldVal: unknown, newVal: unknown, key: unknown) => unknown, + collection: C, + ...collections: Array< + | Iterable + | Iterable<[unknown, unknown]> + | { [key: string]: unknown } + > + ): C; + + /** + * Like `merge()`, but when two compatible collections are encountered with + * the same key, it merges them as well, recursing deeply through the nested + * data. Two collections are considered to be compatible (and thus will be + * merged together) if they both fall into one of three categories: keyed + * (e.g., `Map`s, `Record`s, and objects), indexed (e.g., `List`s and + * arrays), or set-like (e.g., `Set`s). If they fall into separate + * categories, `mergeDeep` will replace the existing collection with the + * collection being merged in. This behavior can be customized by using + * `mergeDeepWith()`. + * + * Note: Indexed and set-like collections are merged using + * `concat()`/`union()` and therefore do not recurse. + * + * A functional alternative to `collection.mergeDeep()` which will also work + * with plain Objects and Arrays. + * + * + * ```js + * const { mergeDeep } = require('immutable') + * const original = { x: { y: 123 }} + * mergeDeep(original, { x: { z: 456 }}) // { x: { y: 123, z: 456 }} + * console.log(original) // { x: { y: 123 }} + * ``` + */ + function mergeDeep( + collection: C, + ...collections: Array< + | Iterable + | Iterable<[unknown, unknown]> + | { [key: string]: unknown } + > + ): C; + + /** + * Like `mergeDeep()`, but when two non-collections or incompatible + * collections are encountered at the same key, it uses the `merger` function + * to determine the resulting value. Collections are considered incompatible + * if they fall into separate categories between keyed, indexed, and set-like. + * + * A functional alternative to `collection.mergeDeepWith()` which will also + * work with plain Objects and Arrays. + * + * + * ```js + * const { mergeDeepWith } = require('immutable') + * const original = { x: { y: 123 }} + * mergeDeepWith( + * (oldVal, newVal) => oldVal + newVal, + * original, + * { x: { y: 456 }} + * ) // { x: { y: 579 }} + * console.log(original) // { x: { y: 123 }} + * ``` + */ + function mergeDeepWith( + merger: (oldVal: unknown, newVal: unknown, key: unknown) => unknown, + collection: C, + ...collections: Array< + | Iterable + | Iterable<[unknown, unknown]> + | { [key: string]: unknown } + > + ): C; +} + +/** + * Defines the main export of the immutable module to be the Immutable namespace + * This supports many common module import patterns: + * + * const Immutable = require("immutable"); + * const { List } = require("immutable"); + * import Immutable from "immutable"; + * import * as Immutable from "immutable"; + * import { List } from "immutable"; + * + */ +export = Immutable; + +/** + * A global "Immutable" namespace used by UMD modules which allows the use of + * the full Immutable API. + * + * If using Immutable as an imported module, prefer using: + * + * import Immutable from 'immutable' + * + */ +export as namespace Immutable; diff --git a/.pnpm-store/v3/files/af/4cc9b434a7ae4c40ff4b8f7273546ed4dff3fb97885f483d24978836211b4a97841ffa254976126e74801984d09eb501265d72fbc4ca3b370c598409829d3c b/.pnpm-store/v3/files/af/4cc9b434a7ae4c40ff4b8f7273546ed4dff3fb97885f483d24978836211b4a97841ffa254976126e74801984d09eb501265d72fbc4ca3b370c598409829d3c new file mode 100644 index 00000000..e8fdbf7c --- /dev/null +++ b/.pnpm-store/v3/files/af/4cc9b434a7ae4c40ff4b8f7273546ed4dff3fb97885f483d24978836211b4a97841ffa254976126e74801984d09eb501265d72fbc4ca3b370c598409829d3c @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","4":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","4":"9 I J D E XC DC YC ZC aC"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","4":"G M N O AB q r s t BB CB DB EB FB GB HB"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","4":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","4":"7B I AD BD CD DD RC ED FD"},J:{"4":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS3 word-break",D:true}; diff --git a/.pnpm-store/v3/files/af/9b19fa1af7b5486d0f7b96203461c301c7cb3defdf8ba445c73af8667e92fe8e2d47f6a7948205411131f718c2d3d63bdc29fbf12ee1b771ce7f14ae4550e5 b/.pnpm-store/v3/files/af/9b19fa1af7b5486d0f7b96203461c301c7cb3defdf8ba445c73af8667e92fe8e2d47f6a7948205411131f718c2d3d63bdc29fbf12ee1b771ce7f14ae4550e5 new file mode 100644 index 00000000..c69eda85 --- /dev/null +++ b/.pnpm-store/v3/files/af/9b19fa1af7b5486d0f7b96203461c301c7cb3defdf8ba445c73af8667e92fe8e2d47f6a7948205411131f718c2d3d63bdc29fbf12ee1b771ce7f14ae4550e5 @@ -0,0 +1 @@ +module.exports={C:{"7":0.00353,"42":0.00353,"50":0.01059,"52":0.00706,"54":0.01059,"61":0.00353,"78":0.10943,"88":0.00353,"110":0.00353,"115":0.12002,"120":0.04236,"121":0.45184,"122":0.09178,_:"2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 51 53 55 56 57 58 59 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 111 112 113 114 116 117 118 119 123 124 125 3.5 3.6"},D:{"39":0.04942,"41":0.00353,"47":0.00353,"55":0.01059,"57":0.00706,"58":0.00353,"60":0.02471,"64":0.00353,"65":0.00353,"66":0.03883,"68":0.00353,"70":0.00353,"73":0.00353,"74":0.00353,"75":0.00706,"76":0.01059,"78":0.02118,"79":0.06001,"80":0.00353,"81":0.00353,"83":0.00706,"86":0.00353,"87":0.05648,"89":0.00353,"90":0.01765,"91":0.00353,"92":0.00706,"93":0.00706,"95":0.11296,"97":0.00353,"99":0.06707,"100":0.00353,"102":0.00353,"103":0.15885,"104":0.00353,"105":2.13918,"106":0.01059,"107":0.00353,"108":0.00353,"109":0.83308,"110":0.00353,"111":0.00706,"112":0.00353,"113":0.07766,"114":0.0353,"115":0.0353,"116":0.24004,"117":0.00706,"118":0.03177,"119":0.6001,"120":16.37214,"121":1.17549,"122":0.00706,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 42 43 44 45 46 48 49 50 51 52 53 54 56 59 61 62 63 67 69 71 72 77 84 85 88 94 96 98 101 123 124"},F:{"40":0.00353,"46":0.00353,"95":0.00706,"105":0.58598,"106":0.99193,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00353,"13":0.00706,"14":0.00706,"15":0.00353,"16":0.00353,"18":0.00706,"84":0.00706,"92":0.02118,"99":0.00353,"100":0.00353,"105":0.00353,"107":0.00706,"109":0.01765,"111":0.00353,"112":0.13414,"114":0.01059,"115":0.02471,"116":0.01765,"117":0.04236,"118":0.02471,"119":0.10237,"120":4.93141,"121":0.78013,_:"17 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 97 98 101 102 103 104 106 108 110 113"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 16.0 17.4","13.1":0.01765,"14.1":0.0706,"15.1":0.00706,"15.2-15.3":0.00353,"15.4":0.00706,"15.5":0.00706,"15.6":0.13767,"16.1":0.00706,"16.2":0.00353,"16.3":0.01059,"16.4":0.00353,"16.5":0.04589,"16.6":0.1059,"17.0":0.03177,"17.1":0.08472,"17.2":0.39183,"17.3":0.00706},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00229,"5.0-5.1":0.00343,"6.0-6.1":0.00572,"7.0-7.1":0.008,"8.1-8.4":0.00114,"9.0-9.2":0.00686,"9.3":0.0263,"10.0-10.2":0.00229,"10.3":0.04116,"11.0-11.2":0.01601,"11.3-11.4":0.01715,"12.0-12.1":0.01029,"12.2-12.5":0.20353,"13.0-13.1":0.00343,"13.2":0.03773,"13.3":0.01029,"13.4-13.7":0.04574,"14.0-14.4":0.08004,"14.5-14.8":0.12235,"15.0-15.1":0.0526,"15.2-15.3":0.0606,"15.4":0.07089,"15.5":0.09376,"15.6-15.8":0.73065,"16.0":0.21954,"16.1":0.46766,"16.2":0.21268,"16.3":0.39563,"16.4":0.08804,"16.5":0.18752,"16.6-16.7":1.53448,"17.0":0.25498,"17.1":2.62874,"17.2":3.55834,"17.3":0.22869},P:{"4":0.26644,"20":0.03074,"21":0.04099,"22":0.2152,"23":1.73186,"5.0-5.4":0.01025,"6.2-6.4":0.01025,"7.2-7.4":0.13322,_:"8.2 10.1 12.0 13.0","9.2":0.01025,"11.1-11.2":0.04099,"14.0":0.01025,"15.0":0.13322,"16.0":0.08198,"17.0":0.04099,"18.0":0.01025,"19.0":0.11272},I:{"0":0.01933,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"9":0.01412,"11":0.01765,_:"6 7 8 10 5.5"},K:{"0":0.09001,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.09059},H:{"0":0.02},L:{"0":53.08784},R:{_:"0"},M:{"0":0.10354}}; diff --git a/.pnpm-store/v3/files/af/e6e46e49eb0934cda79bd979f06e95f60c91fb43ce6de8debd5f8c27fcc195e3621338e6b492f69ef15b3c1bfac03258a229905ce18929d55996d1c37c9be0 b/.pnpm-store/v3/files/af/e6e46e49eb0934cda79bd979f06e95f60c91fb43ce6de8debd5f8c27fcc195e3621338e6b492f69ef15b3c1bfac03258a229905ce18929d55996d1c37c9be0 new file mode 100644 index 00000000..87c11c68 --- /dev/null +++ b/.pnpm-store/v3/files/af/e6e46e49eb0934cda79bd979f06e95f60c91fb43ce6de8debd5f8c27fcc195e3621338e6b492f69ef15b3c1bfac03258a229905ce18929d55996d1c37c9be0 @@ -0,0 +1,2679 @@ +import { createRequire } from 'module'; +var require = createRequire('/'); +// DEFLATE is a complex format; to read this code, you should probably check the RFC first: +// https://tools.ietf.org/html/rfc1951 +// You may also wish to take a look at the guide I made about this program: +// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad +// Some of the following code is similar to that of UZIP.js: +// https://github.com/photopea/UZIP.js +// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size. +// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint +// is better for memory in most engines (I *think*). +// Mediocre shim +var Worker; +var workerAdd = ";var __w=require('worker_threads');__w.parentPort.on('message',function(m){onmessage({data:m})}),postMessage=function(m,t){__w.parentPort.postMessage(m,t)},close=process.exit;self=global"; +try { + Worker = require('worker_threads').Worker; +} +catch (e) { +} +var wk = Worker ? function (c, _, msg, transfer, cb) { + var done = false; + var w = new Worker(c + workerAdd, { eval: true }) + .on('error', function (e) { return cb(e, null); }) + .on('message', function (m) { return cb(null, m); }) + .on('exit', function (c) { + if (c && !done) + cb(new Error('exited with code ' + c), null); + }); + w.postMessage(msg, transfer); + w.terminate = function () { + done = true; + return Worker.prototype.terminate.call(w); + }; + return w; +} : function (_, __, ___, ____, cb) { + setImmediate(function () { return cb(new Error('async operations unsupported - update to Node 12+ (or Node 10-11 with the --experimental-worker CLI flag)'), null); }); + var NOP = function () { }; + return { + terminate: NOP, + postMessage: NOP + }; +}; + +// aliases for shorter compressed code (most minifers don't do this) +var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array; +// fixed length extra bits +var fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]); +// fixed distance extra bits +var fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]); +// code length index map +var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); +// get base, reverse index map from extra bits +var freb = function (eb, start) { + var b = new u16(31); + for (var i = 0; i < 31; ++i) { + b[i] = start += 1 << eb[i - 1]; + } + // numbers here are at max 18 bits + var r = new i32(b[30]); + for (var i = 1; i < 30; ++i) { + for (var j = b[i]; j < b[i + 1]; ++j) { + r[j] = ((j - b[i]) << 5) | i; + } + } + return { b: b, r: r }; +}; +var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r; +// we can ignore the fact that the other numbers are wrong; they never happen anyway +fl[28] = 258, revfl[258] = 28; +var _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r; +// map of value to reverse (assuming 16 bits) +var rev = new u16(32768); +for (var i = 0; i < 32768; ++i) { + // reverse table algorithm from SO + var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1); + x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2); + x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4); + rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1; +} +// create huffman tree from u8 "map": index -> code length for code index +// mb (max bits) must be at most 15 +// TODO: optimize/split up? +var hMap = (function (cd, mb, r) { + var s = cd.length; + // index + var i = 0; + // u16 "map": index -> # of codes with bit length = index + var l = new u16(mb); + // length of cd must be 288 (total # of codes) + for (; i < s; ++i) { + if (cd[i]) + ++l[cd[i] - 1]; + } + // u16 "map": index -> minimum code for bit length = index + var le = new u16(mb); + for (i = 1; i < mb; ++i) { + le[i] = (le[i - 1] + l[i - 1]) << 1; + } + var co; + if (r) { + // u16 "map": index -> number of actual bits, symbol for code + co = new u16(1 << mb); + // bits to remove for reverser + var rvb = 15 - mb; + for (i = 0; i < s; ++i) { + // ignore 0 lengths + if (cd[i]) { + // num encoding both symbol and bits read + var sv = (i << 4) | cd[i]; + // free bits + var r_1 = mb - cd[i]; + // start value + var v = le[cd[i] - 1]++ << r_1; + // m is end value + for (var m = v | ((1 << r_1) - 1); v <= m; ++v) { + // every 16 bit value starting with the code yields the same result + co[rev[v] >> rvb] = sv; + } + } + } + } + else { + co = new u16(s); + for (i = 0; i < s; ++i) { + if (cd[i]) { + co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]); + } + } + } + return co; +}); +// fixed length tree +var flt = new u8(288); +for (var i = 0; i < 144; ++i) + flt[i] = 8; +for (var i = 144; i < 256; ++i) + flt[i] = 9; +for (var i = 256; i < 280; ++i) + flt[i] = 7; +for (var i = 280; i < 288; ++i) + flt[i] = 8; +// fixed distance tree +var fdt = new u8(32); +for (var i = 0; i < 32; ++i) + fdt[i] = 5; +// fixed length map +var flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1); +// fixed distance map +var fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1); +// find max of array +var max = function (a) { + var m = a[0]; + for (var i = 1; i < a.length; ++i) { + if (a[i] > m) + m = a[i]; + } + return m; +}; +// read d, starting at bit p and mask with m +var bits = function (d, p, m) { + var o = (p / 8) | 0; + return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m; +}; +// read d, starting at bit p continuing for at least 16 bits +var bits16 = function (d, p) { + var o = (p / 8) | 0; + return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7)); +}; +// get end of byte +var shft = function (p) { return ((p + 7) / 8) | 0; }; +// typed array slice - allows garbage collector to free original reference, +// while being more compatible than .slice +var slc = function (v, s, e) { + if (s == null || s < 0) + s = 0; + if (e == null || e > v.length) + e = v.length; + // can't use .constructor in case user-supplied + return new u8(v.subarray(s, e)); +}; +/** + * Codes for errors generated within this library + */ +export var FlateErrorCode = { + UnexpectedEOF: 0, + InvalidBlockType: 1, + InvalidLengthLiteral: 2, + InvalidDistance: 3, + StreamFinished: 4, + NoStreamHandler: 5, + InvalidHeader: 6, + NoCallback: 7, + InvalidUTF8: 8, + ExtraFieldTooLong: 9, + InvalidDate: 10, + FilenameTooLong: 11, + StreamFinishing: 12, + InvalidZipData: 13, + UnknownCompressionMethod: 14 +}; +// error codes +var ec = [ + 'unexpected EOF', + 'invalid block type', + 'invalid length/literal', + 'invalid distance', + 'stream finished', + 'no stream handler', + , + 'no callback', + 'invalid UTF-8 data', + 'extra field too long', + 'date not in range 1980-2099', + 'filename too long', + 'stream finishing', + 'invalid zip data' + // determined by unknown compression method +]; +; +var err = function (ind, msg, nt) { + var e = new Error(msg || ec[ind]); + e.code = ind; + if (Error.captureStackTrace) + Error.captureStackTrace(e, err); + if (!nt) + throw e; + return e; +}; +// expands raw DEFLATE data +var inflt = function (dat, st, buf, dict) { + // source length dict length + var sl = dat.length, dl = dict ? dict.length : 0; + if (!sl || st.f && !st.l) + return buf || new u8(0); + var noBuf = !buf; + // have to estimate size + var resize = noBuf || st.i != 2; + // no state + var noSt = st.i; + // Assumes roughly 33% compression ratio average + if (noBuf) + buf = new u8(sl * 3); + // ensure buffer can fit at least l elements + var cbuf = function (l) { + var bl = buf.length; + // need to increase size to fit + if (l > bl) { + // Double or set to necessary, whichever is greater + var nbuf = new u8(Math.max(bl * 2, l)); + nbuf.set(buf); + buf = nbuf; + } + }; + // last chunk bitpos bytes + var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n; + // total bits + var tbts = sl * 8; + do { + if (!lm) { + // BFINAL - this is only 1 when last chunk is next + final = bits(dat, pos, 1); + // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman + var type = bits(dat, pos + 1, 3); + pos += 3; + if (!type) { + // go to end of byte boundary + var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l; + if (t > sl) { + if (noSt) + err(0); + break; + } + // ensure size + if (resize) + cbuf(bt + l); + // Copy over uncompressed data + buf.set(dat.subarray(s, t), bt); + // Get new bitpos, update byte count + st.b = bt += l, st.p = pos = t * 8, st.f = final; + continue; + } + else if (type == 1) + lm = flrm, dm = fdrm, lbt = 9, dbt = 5; + else if (type == 2) { + // literal lengths + var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4; + var tl = hLit + bits(dat, pos + 5, 31) + 1; + pos += 14; + // length+distance tree + var ldt = new u8(tl); + // code length tree + var clt = new u8(19); + for (var i = 0; i < hcLen; ++i) { + // use index map to get real code + clt[clim[i]] = bits(dat, pos + i * 3, 7); + } + pos += hcLen * 3; + // code lengths bits + var clb = max(clt), clbmsk = (1 << clb) - 1; + // code lengths map + var clm = hMap(clt, clb, 1); + for (var i = 0; i < tl;) { + var r = clm[bits(dat, pos, clbmsk)]; + // bits read + pos += r & 15; + // symbol + var s = r >> 4; + // code length to copy + if (s < 16) { + ldt[i++] = s; + } + else { + // copy count + var c = 0, n = 0; + if (s == 16) + n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1]; + else if (s == 17) + n = 3 + bits(dat, pos, 7), pos += 3; + else if (s == 18) + n = 11 + bits(dat, pos, 127), pos += 7; + while (n--) + ldt[i++] = c; + } + } + // length tree distance tree + var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit); + // max length bits + lbt = max(lt); + // max dist bits + dbt = max(dt); + lm = hMap(lt, lbt, 1); + dm = hMap(dt, dbt, 1); + } + else + err(1); + if (pos > tbts) { + if (noSt) + err(0); + break; + } + } + // Make sure the buffer can hold this + the largest possible addition + // Maximum chunk size (practically, theoretically infinite) is 2^17 + if (resize) + cbuf(bt + 131072); + var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1; + var lpos = pos; + for (;; lpos = pos) { + // bits read, code + var c = lm[bits16(dat, pos) & lms], sym = c >> 4; + pos += c & 15; + if (pos > tbts) { + if (noSt) + err(0); + break; + } + if (!c) + err(2); + if (sym < 256) + buf[bt++] = sym; + else if (sym == 256) { + lpos = pos, lm = null; + break; + } + else { + var add = sym - 254; + // no extra bits needed if less + if (sym > 264) { + // index + var i = sym - 257, b = fleb[i]; + add = bits(dat, pos, (1 << b) - 1) + fl[i]; + pos += b; + } + // dist + var d = dm[bits16(dat, pos) & dms], dsym = d >> 4; + if (!d) + err(3); + pos += d & 15; + var dt = fd[dsym]; + if (dsym > 3) { + var b = fdeb[dsym]; + dt += bits16(dat, pos) & (1 << b) - 1, pos += b; + } + if (pos > tbts) { + if (noSt) + err(0); + break; + } + if (resize) + cbuf(bt + 131072); + var end = bt + add; + if (bt < dt) { + var shift = dl - dt, dend = Math.min(dt, end); + if (shift + bt < 0) + err(3); + for (; bt < dend; ++bt) + buf[bt] = dict[shift + bt]; + } + for (; bt < end; ++bt) + buf[bt] = buf[bt - dt]; + } + } + st.l = lm, st.p = lpos, st.b = bt, st.f = final; + if (lm) + final = 1, st.m = lbt, st.d = dm, st.n = dbt; + } while (!final); + // don't reallocate for streams or user buffers + return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt); +}; +// starting at p, write the minimum number of bits that can hold v to d +var wbits = function (d, p, v) { + v <<= p & 7; + var o = (p / 8) | 0; + d[o] |= v; + d[o + 1] |= v >> 8; +}; +// starting at p, write the minimum number of bits (>8) that can hold v to d +var wbits16 = function (d, p, v) { + v <<= p & 7; + var o = (p / 8) | 0; + d[o] |= v; + d[o + 1] |= v >> 8; + d[o + 2] |= v >> 16; +}; +// creates code lengths from a frequency table +var hTree = function (d, mb) { + // Need extra info to make a tree + var t = []; + for (var i = 0; i < d.length; ++i) { + if (d[i]) + t.push({ s: i, f: d[i] }); + } + var s = t.length; + var t2 = t.slice(); + if (!s) + return { t: et, l: 0 }; + if (s == 1) { + var v = new u8(t[0].s + 1); + v[t[0].s] = 1; + return { t: v, l: 1 }; + } + t.sort(function (a, b) { return a.f - b.f; }); + // after i2 reaches last ind, will be stopped + // freq must be greater than largest possible number of symbols + t.push({ s: -1, f: 25001 }); + var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2; + t[0] = { s: -1, f: l.f + r.f, l: l, r: r }; + // efficient algorithm from UZIP.js + // i0 is lookbehind, i2 is lookahead - after processing two low-freq + // symbols that combined have high freq, will start processing i2 (high-freq, + // non-composite) symbols instead + // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/ + while (i1 != s - 1) { + l = t[t[i0].f < t[i2].f ? i0++ : i2++]; + r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++]; + t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r }; + } + var maxSym = t2[0].s; + for (var i = 1; i < s; ++i) { + if (t2[i].s > maxSym) + maxSym = t2[i].s; + } + // code lengths + var tr = new u16(maxSym + 1); + // max bits in tree + var mbt = ln(t[i1 - 1], tr, 0); + if (mbt > mb) { + // more algorithms from UZIP.js + // TODO: find out how this code works (debt) + // ind debt + var i = 0, dt = 0; + // left cost + var lft = mbt - mb, cst = 1 << lft; + t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; }); + for (; i < s; ++i) { + var i2_1 = t2[i].s; + if (tr[i2_1] > mb) { + dt += cst - (1 << (mbt - tr[i2_1])); + tr[i2_1] = mb; + } + else + break; + } + dt >>= lft; + while (dt > 0) { + var i2_2 = t2[i].s; + if (tr[i2_2] < mb) + dt -= 1 << (mb - tr[i2_2]++ - 1); + else + ++i; + } + for (; i >= 0 && dt; --i) { + var i2_3 = t2[i].s; + if (tr[i2_3] == mb) { + --tr[i2_3]; + ++dt; + } + } + mbt = mb; + } + return { t: new u8(tr), l: mbt }; +}; +// get the max length and assign length codes +var ln = function (n, l, d) { + return n.s == -1 + ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1)) + : (l[n.s] = d); +}; +// length codes generation +var lc = function (c) { + var s = c.length; + // Note that the semicolon was intentional + while (s && !c[--s]) + ; + var cl = new u16(++s); + // ind num streak + var cli = 0, cln = c[0], cls = 1; + var w = function (v) { cl[cli++] = v; }; + for (var i = 1; i <= s; ++i) { + if (c[i] == cln && i != s) + ++cls; + else { + if (!cln && cls > 2) { + for (; cls > 138; cls -= 138) + w(32754); + if (cls > 2) { + w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305); + cls = 0; + } + } + else if (cls > 3) { + w(cln), --cls; + for (; cls > 6; cls -= 6) + w(8304); + if (cls > 2) + w(((cls - 3) << 5) | 8208), cls = 0; + } + while (cls--) + w(cln); + cls = 1; + cln = c[i]; + } + } + return { c: cl.subarray(0, cli), n: s }; +}; +// calculate the length of output from tree, code lengths +var clen = function (cf, cl) { + var l = 0; + for (var i = 0; i < cl.length; ++i) + l += cf[i] * cl[i]; + return l; +}; +// writes a fixed block +// returns the new bit pos +var wfblk = function (out, pos, dat) { + // no need to write 00 as type: TypedArray defaults to 0 + var s = dat.length; + var o = shft(pos + 2); + out[o] = s & 255; + out[o + 1] = s >> 8; + out[o + 2] = out[o] ^ 255; + out[o + 3] = out[o + 1] ^ 255; + for (var i = 0; i < s; ++i) + out[o + i + 4] = dat[i]; + return (o + 4 + s) * 8; +}; +// writes a block +var wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) { + wbits(out, p++, final); + ++lf[256]; + var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l; + var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l; + var _c = lc(dlt), lclt = _c.c, nlc = _c.n; + var _d = lc(ddt), lcdt = _d.c, ndc = _d.n; + var lcfreq = new u16(19); + for (var i = 0; i < lclt.length; ++i) + ++lcfreq[lclt[i] & 31]; + for (var i = 0; i < lcdt.length; ++i) + ++lcfreq[lcdt[i] & 31]; + var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l; + var nlcc = 19; + for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc) + ; + var flen = (bl + 5) << 3; + var ftlen = clen(lf, flt) + clen(df, fdt) + eb; + var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]; + if (bs >= 0 && flen <= ftlen && flen <= dtlen) + return wfblk(out, p, dat.subarray(bs, bs + bl)); + var lm, ll, dm, dl; + wbits(out, p, 1 + (dtlen < ftlen)), p += 2; + if (dtlen < ftlen) { + lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt; + var llm = hMap(lct, mlcb, 0); + wbits(out, p, nlc - 257); + wbits(out, p + 5, ndc - 1); + wbits(out, p + 10, nlcc - 4); + p += 14; + for (var i = 0; i < nlcc; ++i) + wbits(out, p + 3 * i, lct[clim[i]]); + p += 3 * nlcc; + var lcts = [lclt, lcdt]; + for (var it = 0; it < 2; ++it) { + var clct = lcts[it]; + for (var i = 0; i < clct.length; ++i) { + var len = clct[i] & 31; + wbits(out, p, llm[len]), p += lct[len]; + if (len > 15) + wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12; + } + } + } + else { + lm = flm, ll = flt, dm = fdm, dl = fdt; + } + for (var i = 0; i < li; ++i) { + var sym = syms[i]; + if (sym > 255) { + var len = (sym >> 18) & 31; + wbits16(out, p, lm[len + 257]), p += ll[len + 257]; + if (len > 7) + wbits(out, p, (sym >> 23) & 31), p += fleb[len]; + var dst = sym & 31; + wbits16(out, p, dm[dst]), p += dl[dst]; + if (dst > 3) + wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst]; + } + else { + wbits16(out, p, lm[sym]), p += ll[sym]; + } + } + wbits16(out, p, lm[256]); + return p + ll[256]; +}; +// deflate options (nice << 13) | chain +var deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]); +// empty +var et = /*#__PURE__*/ new u8(0); +// compresses data into a raw DEFLATE buffer +var dflt = function (dat, lvl, plvl, pre, post, st) { + var s = st.z || dat.length; + var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post); + // writing to this writes to the output buffer + var w = o.subarray(pre, o.length - post); + var lst = st.l; + var pos = (st.r || 0) & 7; + if (lvl) { + if (pos) + w[0] = st.r >> 3; + var opt = deo[lvl - 1]; + var n = opt >> 13, c = opt & 8191; + var msk_1 = (1 << plvl) - 1; + // prev 2-byte val map curr 2-byte val map + var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1); + var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1; + var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; }; + // 24576 is an arbitrary number of maximum symbols per block + // 424 buffer for last block + var syms = new i32(25000); + // length/literal freq distance freq + var lf = new u16(288), df = new u16(32); + // l/lcnt exbits index l/lind waitdx blkpos + var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0; + for (; i + 2 < s; ++i) { + // hash value + var hv = hsh(i); + // index mod 32768 previous index mod + var imod = i & 32767, pimod = head[hv]; + prev[imod] = pimod; + head[hv] = imod; + // We always should modify head and prev, but only add symbols if + // this data is not yet processed ("wait" for wait index) + if (wi <= i) { + // bytes remaining + var rem = s - i; + if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) { + pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos); + li = lc_1 = eb = 0, bs = i; + for (var j = 0; j < 286; ++j) + lf[j] = 0; + for (var j = 0; j < 30; ++j) + df[j] = 0; + } + // len dist chain + var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767; + if (rem > 2 && hv == hsh(i - dif)) { + var maxn = Math.min(n, rem) - 1; + var maxd = Math.min(32767, i); + // max possible length + // not capped at dif because decompressors implement "rolling" index population + var ml = Math.min(258, rem); + while (dif <= maxd && --ch_1 && imod != pimod) { + if (dat[i + l] == dat[i + l - dif]) { + var nl = 0; + for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl) + ; + if (nl > l) { + l = nl, d = dif; + // break out early when we reach "nice" (we are satisfied enough) + if (nl > maxn) + break; + // now, find the rarest 2-byte sequence within this + // length of literals and search for that instead. + // Much faster than just using the start + var mmd = Math.min(dif, nl - 2); + var md = 0; + for (var j = 0; j < mmd; ++j) { + var ti = i - dif + j & 32767; + var pti = prev[ti]; + var cd = ti - pti & 32767; + if (cd > md) + md = cd, pimod = ti; + } + } + } + // check the previous match + imod = pimod, pimod = prev[imod]; + dif += imod - pimod & 32767; + } + } + // d will be nonzero only when a match was found + if (d) { + // store both dist and len data in one int32 + // Make sure this is recognized as a len/dist with 28th bit (2^28) + syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d]; + var lin = revfl[l] & 31, din = revfd[d] & 31; + eb += fleb[lin] + fdeb[din]; + ++lf[257 + lin]; + ++df[din]; + wi = i + l; + ++lc_1; + } + else { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + } + } + for (i = Math.max(i, wi); i < s; ++i) { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos); + if (!lst) { + st.r = (pos & 7) | w[(pos / 8) | 0] << 3; + // shft(pos) now 1 less if pos & 7 != 0 + pos -= 7; + st.h = head, st.p = prev, st.i = i, st.w = wi; + } + } + else { + for (var i = st.w || 0; i < s + lst; i += 65535) { + // end + var e = i + 65535; + if (e >= s) { + // write final block + w[(pos / 8) | 0] = lst; + e = s; + } + pos = wfblk(w, pos + 1, dat.subarray(i, e)); + } + st.i = s; + } + return slc(o, 0, pre + shft(pos) + post); +}; +// CRC32 table +var crct = /*#__PURE__*/ (function () { + var t = new Int32Array(256); + for (var i = 0; i < 256; ++i) { + var c = i, k = 9; + while (--k) + c = ((c & 1) && -306674912) ^ (c >>> 1); + t[i] = c; + } + return t; +})(); +// CRC32 +var crc = function () { + var c = -1; + return { + p: function (d) { + // closures have awful performance + var cr = c; + for (var i = 0; i < d.length; ++i) + cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8); + c = cr; + }, + d: function () { return ~c; } + }; +}; +// Adler32 +var adler = function () { + var a = 1, b = 0; + return { + p: function (d) { + // closures have awful performance + var n = a, m = b; + var l = d.length | 0; + for (var i = 0; i != l;) { + var e = Math.min(i + 2655, l); + for (; i < e; ++i) + m += n += d[i]; + n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16); + } + a = n, b = m; + }, + d: function () { + a %= 65521, b %= 65521; + return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8); + } + }; +}; +; +// deflate with opts +var dopt = function (dat, opt, pre, post, st) { + if (!st) { + st = { l: 1 }; + if (opt.dictionary) { + var dict = opt.dictionary.subarray(-32768); + var newDat = new u8(dict.length + dat.length); + newDat.set(dict); + newDat.set(dat, dict.length); + dat = newDat; + st.w = dict.length; + } + } + return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (12 + opt.mem), pre, post, st); +}; +// Walmart object spread +var mrg = function (a, b) { + var o = {}; + for (var k in a) + o[k] = a[k]; + for (var k in b) + o[k] = b[k]; + return o; +}; +// worker clone +// This is possibly the craziest part of the entire codebase, despite how simple it may seem. +// The only parameter to this function is a closure that returns an array of variables outside of the function scope. +// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization. +// We will return an object mapping of true variable name to value (basically, the current scope as a JS object). +// The reason we can't just use the original variable names is minifiers mangling the toplevel scope. +// This took me three weeks to figure out how to do. +var wcln = function (fn, fnStr, td) { + var dt = fn(); + var st = fn.toString(); + var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\s+/g, '').split(','); + for (var i = 0; i < dt.length; ++i) { + var v = dt[i], k = ks[i]; + if (typeof v == 'function') { + fnStr += ';' + k + '='; + var st_1 = v.toString(); + if (v.prototype) { + // for global objects + if (st_1.indexOf('[native code]') != -1) { + var spInd = st_1.indexOf(' ', 8) + 1; + fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd)); + } + else { + fnStr += st_1; + for (var t in v.prototype) + fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString(); + } + } + else + fnStr += st_1; + } + else + td[k] = v; + } + return fnStr; +}; +var ch = []; +// clone bufs +var cbfs = function (v) { + var tl = []; + for (var k in v) { + if (v[k].buffer) { + tl.push((v[k] = new v[k].constructor(v[k])).buffer); + } + } + return tl; +}; +// use a worker to execute code +var wrkr = function (fns, init, id, cb) { + if (!ch[id]) { + var fnStr = '', td_1 = {}, m = fns.length - 1; + for (var i = 0; i < m; ++i) + fnStr = wcln(fns[i], fnStr, td_1); + ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 }; + } + var td = mrg({}, ch[id].e); + return wk(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb); +}; +// base async inflate fn +var bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; }; +var bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; }; +// gzip extra +var gze = function () { return [gzh, gzhl, wbytes, crc, crct]; }; +// gunzip extra +var guze = function () { return [gzs, gzl]; }; +// zlib extra +var zle = function () { return [zlh, wbytes, adler]; }; +// unzlib extra +var zule = function () { return [zls]; }; +// post buf +var pbf = function (msg) { return postMessage(msg, [msg.buffer]); }; +// get opts +var gopt = function (o) { return o && { + out: o.size && new u8(o.size), + dictionary: o.dictionary +}; }; +// async helper +var cbify = function (dat, opts, fns, init, id, cb) { + var w = wrkr(fns, init, id, function (err, dat) { + w.terminate(); + cb(err, dat); + }); + w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []); + return function () { w.terminate(); }; +}; +// auto stream +var astrm = function (strm) { + strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); }; + return function (ev) { + if (ev.data.length) { + strm.push(ev.data[0], ev.data[1]); + postMessage([ev.data[0].length]); + } + else + strm.flush(); + }; +}; +// async stream attach +var astrmify = function (fns, strm, opts, init, id, flush, ext) { + var t; + var w = wrkr(fns, init, id, function (err, dat) { + if (err) + w.terminate(), strm.ondata.call(strm, err); + else if (!Array.isArray(dat)) + ext(dat); + else if (dat.length == 1) { + strm.queuedSize -= dat[0]; + if (strm.ondrain) + strm.ondrain(dat[0]); + } + else { + if (dat[1]) + w.terminate(); + strm.ondata.call(strm, err, dat[0], dat[1]); + } + }); + w.postMessage(opts); + strm.queuedSize = 0; + strm.push = function (d, f) { + if (!strm.ondata) + err(5); + if (t) + strm.ondata(err(4, 0, 1), null, !!f); + strm.queuedSize += d.length; + w.postMessage([d, t = f], [d.buffer]); + }; + strm.terminate = function () { w.terminate(); }; + if (flush) { + strm.flush = function () { w.postMessage([]); }; + } +}; +// read 2 bytes +var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); }; +// read 4 bytes +var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; }; +var b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); }; +// write bytes +var wbytes = function (d, b, v) { + for (; v; ++b) + d[b] = v, v >>>= 8; +}; +// gzip header +var gzh = function (c, o) { + var fn = o.filename; + c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix + if (o.mtime != 0) + wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000)); + if (fn) { + c[3] = 8; + for (var i = 0; i <= fn.length; ++i) + c[i + 10] = fn.charCodeAt(i); + } +}; +// gzip footer: -8 to -4 = CRC, -4 to -0 is length +// gzip start +var gzs = function (d) { + if (d[0] != 31 || d[1] != 139 || d[2] != 8) + err(6, 'invalid gzip data'); + var flg = d[3]; + var st = 10; + if (flg & 4) + st += (d[10] | d[11] << 8) + 2; + for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++]) + ; + return st + (flg & 2); +}; +// gzip length +var gzl = function (d) { + var l = d.length; + return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0; +}; +// gzip header length +var gzhl = function (o) { return 10 + (o.filename ? o.filename.length + 1 : 0); }; +// zlib header +var zlh = function (c, o) { + var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2; + c[0] = 120, c[1] = (fl << 6) | (o.dictionary && 32); + c[1] |= 31 - ((c[0] << 8) | c[1]) % 31; + if (o.dictionary) { + var h = adler(); + h.p(o.dictionary); + wbytes(c, 2, h.d()); + } +}; +// zlib start +var zls = function (d, dict) { + if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31)) + err(6, 'invalid zlib data'); + if ((d[1] >> 5 & 1) == +!dict) + err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary'); + return (d[1] >> 3 & 4) + 2; +}; +function StrmOpt(opts, cb) { + if (typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + return opts; +} +/** + * Streaming DEFLATE compression + */ +var Deflate = /*#__PURE__*/ (function () { + function Deflate(opts, cb) { + if (typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + this.o = opts || {}; + this.s = { l: 0, i: 32768, w: 32768, z: 32768 }; + // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev + // 98304 = 32768 (lookback) + 65536 (common chunk size) + this.b = new u8(98304); + if (this.o.dictionary) { + var dict = this.o.dictionary.subarray(-32768); + this.b.set(dict, 32768 - dict.length); + this.s.i = 32768 - dict.length; + } + } + Deflate.prototype.p = function (c, f) { + this.ondata(dopt(c, this.o, 0, 0, this.s), f); + }; + /** + * Pushes a chunk to be deflated + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Deflate.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + if (this.s.l) + err(4); + var endLen = chunk.length + this.s.z; + if (endLen > this.b.length) { + if (endLen > 2 * this.b.length - 32768) { + var newBuf = new u8(endLen & -32768); + newBuf.set(this.b.subarray(0, this.s.z)); + this.b = newBuf; + } + var split = this.b.length - this.s.z; + this.b.set(chunk.subarray(0, split), this.s.z); + this.s.z = this.b.length; + this.p(this.b, false); + this.b.set(this.b.subarray(-32768)); + this.b.set(chunk.subarray(split), 32768); + this.s.z = chunk.length - split + 32768; + this.s.i = 32766, this.s.w = 32768; + } + else { + this.b.set(chunk, this.s.z); + this.s.z += chunk.length; + } + this.s.l = final & 1; + if (this.s.z > this.s.w + 8191 || final) { + this.p(this.b, final || false); + this.s.w = this.s.i, this.s.i -= 2; + } + }; + /** + * Flushes buffered uncompressed data. Useful to immediately retrieve the + * deflated output for small inputs. + */ + Deflate.prototype.flush = function () { + if (!this.ondata) + err(5); + if (this.s.l) + err(4); + this.p(this.b, false); + this.s.w = this.s.i, this.s.i -= 2; + }; + return Deflate; +}()); +export { Deflate }; +/** + * Asynchronous streaming DEFLATE compression + */ +var AsyncDeflate = /*#__PURE__*/ (function () { + function AsyncDeflate(opts, cb) { + astrmify([ + bDflt, + function () { return [astrm, Deflate]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Deflate(ev.data); + onmessage = astrm(strm); + }, 6, 1); + } + return AsyncDeflate; +}()); +export { AsyncDeflate }; +export function deflate(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bDflt, + ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb); +} +/** + * Compresses data with DEFLATE without any wrapper + * @param data The data to compress + * @param opts The compression options + * @returns The deflated version of the data + */ +export function deflateSync(data, opts) { + return dopt(data, opts || {}, 0, 0); +} +/** + * Streaming DEFLATE decompression + */ +var Inflate = /*#__PURE__*/ (function () { + function Inflate(opts, cb) { + // no StrmOpt here to avoid adding to workerizer + if (typeof opts == 'function') + cb = opts, opts = {}; + this.ondata = cb; + var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768); + this.s = { i: 0, b: dict ? dict.length : 0 }; + this.o = new u8(32768); + this.p = new u8(0); + if (dict) + this.o.set(dict); + } + Inflate.prototype.e = function (c) { + if (!this.ondata) + err(5); + if (this.d) + err(4); + if (!this.p.length) + this.p = c; + else if (c.length) { + var n = new u8(this.p.length + c.length); + n.set(this.p), n.set(c, this.p.length), this.p = n; + } + }; + Inflate.prototype.c = function (final) { + this.s.i = +(this.d = final || false); + var bts = this.s.b; + var dt = inflt(this.p, this.s, this.o); + this.ondata(slc(dt, bts, this.s.b), this.d); + this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length; + this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7; + }; + /** + * Pushes a chunk to be inflated + * @param chunk The chunk to push + * @param final Whether this is the final chunk + */ + Inflate.prototype.push = function (chunk, final) { + this.e(chunk), this.c(final); + }; + return Inflate; +}()); +export { Inflate }; +/** + * Asynchronous streaming DEFLATE decompression + */ +var AsyncInflate = /*#__PURE__*/ (function () { + function AsyncInflate(opts, cb) { + astrmify([ + bInflt, + function () { return [astrm, Inflate]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Inflate(ev.data); + onmessage = astrm(strm); + }, 7, 0); + } + return AsyncInflate; +}()); +export { AsyncInflate }; +export function inflate(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bInflt + ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb); +} +/** + * Expands DEFLATE data with no wrapper + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +export function inflateSync(data, opts) { + return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary); +} +// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize. +/** + * Streaming GZIP compression + */ +var Gzip = /*#__PURE__*/ (function () { + function Gzip(opts, cb) { + this.c = crc(); + this.l = 0; + this.v = 1; + Deflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be GZIPped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Gzip.prototype.push = function (chunk, final) { + this.c.p(chunk); + this.l += chunk.length; + Deflate.prototype.push.call(this, chunk, final); + }; + Gzip.prototype.p = function (c, f) { + var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s); + if (this.v) + gzh(raw, this.o), this.v = 0; + if (f) + wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l); + this.ondata(raw, f); + }; + /** + * Flushes buffered uncompressed data. Useful to immediately retrieve the + * GZIPped output for small inputs. + */ + Gzip.prototype.flush = function () { + Deflate.prototype.flush.call(this); + }; + return Gzip; +}()); +export { Gzip }; +/** + * Asynchronous streaming GZIP compression + */ +var AsyncGzip = /*#__PURE__*/ (function () { + function AsyncGzip(opts, cb) { + astrmify([ + bDflt, + gze, + function () { return [astrm, Deflate, Gzip]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Gzip(ev.data); + onmessage = astrm(strm); + }, 8, 1); + } + return AsyncGzip; +}()); +export { AsyncGzip }; +export function gzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bDflt, + gze, + function () { return [gzipSync]; } + ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb); +} +/** + * Compresses data with GZIP + * @param data The data to compress + * @param opts The compression options + * @returns The gzipped version of the data + */ +export function gzipSync(data, opts) { + if (!opts) + opts = {}; + var c = crc(), l = data.length; + c.p(data); + var d = dopt(data, opts, gzhl(opts), 8), s = d.length; + return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d; +} +/** + * Streaming single or multi-member GZIP decompression + */ +var Gunzip = /*#__PURE__*/ (function () { + function Gunzip(opts, cb) { + this.v = 1; + this.r = 0; + Inflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be GUNZIPped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Gunzip.prototype.push = function (chunk, final) { + Inflate.prototype.e.call(this, chunk); + this.r += chunk.length; + if (this.v) { + var p = this.p.subarray(this.v - 1); + var s = p.length > 3 ? gzs(p) : 4; + if (s > p.length) { + if (!final) + return; + } + else if (this.v > 1 && this.onmember) { + this.onmember(this.r - p.length); + } + this.p = p.subarray(s), this.v = 0; + } + // necessary to prevent TS from using the closure value + // This allows for workerization to function correctly + Inflate.prototype.c.call(this, final); + // process concatenated GZIP + if (this.s.f && !this.s.l && !final) { + this.v = shft(this.s.p) + 9; + this.s = { i: 0 }; + this.o = new u8(0); + this.push(new u8(0), final); + } + }; + return Gunzip; +}()); +export { Gunzip }; +/** + * Asynchronous streaming single or multi-member GZIP decompression + */ +var AsyncGunzip = /*#__PURE__*/ (function () { + function AsyncGunzip(opts, cb) { + var _this = this; + astrmify([ + bInflt, + guze, + function () { return [astrm, Inflate, Gunzip]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Gunzip(ev.data); + strm.onmember = function (offset) { return postMessage(offset); }; + onmessage = astrm(strm); + }, 9, 0, function (offset) { return _this.onmember && _this.onmember(offset); }); + } + return AsyncGunzip; +}()); +export { AsyncGunzip }; +export function gunzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bInflt, + guze, + function () { return [gunzipSync]; } + ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb); +} +/** + * Expands GZIP data + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +export function gunzipSync(data, opts) { + var st = gzs(data); + if (st + 8 > data.length) + err(6, 'invalid gzip data'); + return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary); +} +/** + * Streaming Zlib compression + */ +var Zlib = /*#__PURE__*/ (function () { + function Zlib(opts, cb) { + this.c = adler(); + this.v = 1; + Deflate.call(this, opts, cb); + } + /** + * Pushes a chunk to be zlibbed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Zlib.prototype.push = function (chunk, final) { + this.c.p(chunk); + Deflate.prototype.push.call(this, chunk, final); + }; + Zlib.prototype.p = function (c, f) { + var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s); + if (this.v) + zlh(raw, this.o), this.v = 0; + if (f) + wbytes(raw, raw.length - 4, this.c.d()); + this.ondata(raw, f); + }; + /** + * Flushes buffered uncompressed data. Useful to immediately retrieve the + * zlibbed output for small inputs. + */ + Zlib.prototype.flush = function () { + Deflate.prototype.flush.call(this); + }; + return Zlib; +}()); +export { Zlib }; +/** + * Asynchronous streaming Zlib compression + */ +var AsyncZlib = /*#__PURE__*/ (function () { + function AsyncZlib(opts, cb) { + astrmify([ + bDflt, + zle, + function () { return [astrm, Deflate, Zlib]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Zlib(ev.data); + onmessage = astrm(strm); + }, 10, 1); + } + return AsyncZlib; +}()); +export { AsyncZlib }; +export function zlib(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bDflt, + zle, + function () { return [zlibSync]; } + ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb); +} +/** + * Compress data with Zlib + * @param data The data to compress + * @param opts The compression options + * @returns The zlib-compressed version of the data + */ +export function zlibSync(data, opts) { + if (!opts) + opts = {}; + var a = adler(); + a.p(data); + var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4); + return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d; +} +/** + * Streaming Zlib decompression + */ +var Unzlib = /*#__PURE__*/ (function () { + function Unzlib(opts, cb) { + Inflate.call(this, opts, cb); + this.v = opts && opts.dictionary ? 2 : 1; + } + /** + * Pushes a chunk to be unzlibbed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Unzlib.prototype.push = function (chunk, final) { + Inflate.prototype.e.call(this, chunk); + if (this.v) { + if (this.p.length < 6 && !final) + return; + this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0; + } + if (final) { + if (this.p.length < 4) + err(6, 'invalid zlib data'); + this.p = this.p.subarray(0, -4); + } + // necessary to prevent TS from using the closure value + // This allows for workerization to function correctly + Inflate.prototype.c.call(this, final); + }; + return Unzlib; +}()); +export { Unzlib }; +/** + * Asynchronous streaming Zlib decompression + */ +var AsyncUnzlib = /*#__PURE__*/ (function () { + function AsyncUnzlib(opts, cb) { + astrmify([ + bInflt, + zule, + function () { return [astrm, Inflate, Unzlib]; } + ], this, StrmOpt.call(this, opts, cb), function (ev) { + var strm = new Unzlib(ev.data); + onmessage = astrm(strm); + }, 11, 0); + } + return AsyncUnzlib; +}()); +export { AsyncUnzlib }; +export function unzlib(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return cbify(data, opts, [ + bInflt, + zule, + function () { return [unzlibSync]; } + ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb); +} +/** + * Expands Zlib data + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +export function unzlibSync(data, opts) { + return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary); +} +// Default algorithm for compression (used because having a known output size allows faster decompression) +export { gzip as compress, AsyncGzip as AsyncCompress }; +export { gzipSync as compressSync, Gzip as Compress }; +/** + * Streaming GZIP, Zlib, or raw DEFLATE decompression + */ +var Decompress = /*#__PURE__*/ (function () { + function Decompress(opts, cb) { + this.o = StrmOpt.call(this, opts, cb) || {}; + this.G = Gunzip; + this.I = Inflate; + this.Z = Unzlib; + } + // init substream + // overriden by AsyncDecompress + Decompress.prototype.i = function () { + var _this = this; + this.s.ondata = function (dat, final) { + _this.ondata(dat, final); + }; + }; + /** + * Pushes a chunk to be decompressed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Decompress.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + if (!this.s) { + if (this.p && this.p.length) { + var n = new u8(this.p.length + chunk.length); + n.set(this.p), n.set(chunk, this.p.length); + } + else + this.p = chunk; + if (this.p.length > 2) { + this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8) + ? new this.G(this.o) + : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31)) + ? new this.I(this.o) + : new this.Z(this.o); + this.i(); + this.s.push(this.p, final); + this.p = null; + } + } + else + this.s.push(chunk, final); + }; + return Decompress; +}()); +export { Decompress }; +/** + * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression + */ +var AsyncDecompress = /*#__PURE__*/ (function () { + function AsyncDecompress(opts, cb) { + Decompress.call(this, opts, cb); + this.queuedSize = 0; + this.G = AsyncGunzip; + this.I = AsyncInflate; + this.Z = AsyncUnzlib; + } + AsyncDecompress.prototype.i = function () { + var _this = this; + this.s.ondata = function (err, dat, final) { + _this.ondata(err, dat, final); + }; + this.s.ondrain = function (size) { + _this.queuedSize -= size; + if (_this.ondrain) + _this.ondrain(size); + }; + }; + /** + * Pushes a chunk to be decompressed + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + AsyncDecompress.prototype.push = function (chunk, final) { + this.queuedSize += chunk.length; + Decompress.prototype.push.call(this, chunk, final); + }; + return AsyncDecompress; +}()); +export { AsyncDecompress }; +export function decompress(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + return (data[0] == 31 && data[1] == 139 && data[2] == 8) + ? gunzip(data, opts, cb) + : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31)) + ? inflate(data, opts, cb) + : unzlib(data, opts, cb); +} +/** + * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format + * @param data The data to decompress + * @param opts The decompression options + * @returns The decompressed version of the data + */ +export function decompressSync(data, opts) { + return (data[0] == 31 && data[1] == 139 && data[2] == 8) + ? gunzipSync(data, opts) + : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31)) + ? inflateSync(data, opts) + : unzlibSync(data, opts); +} +// flatten a directory structure +var fltn = function (d, p, t, o) { + for (var k in d) { + var val = d[k], n = p + k, op = o; + if (Array.isArray(val)) + op = mrg(o, val[1]), val = val[0]; + if (val instanceof u8) + t[n] = [val, op]; + else { + t[n += '/'] = [new u8(0), op]; + fltn(val, n, t, o); + } + } +}; +// text encoder +var te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder(); +// text decoder +var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder(); +// text decoder stream +var tds = 0; +try { + td.decode(et, { stream: true }); + tds = 1; +} +catch (e) { } +// decode UTF8 +var dutf8 = function (d) { + for (var r = '', i = 0;;) { + var c = d[i++]; + var eb = (c > 127) + (c > 223) + (c > 239); + if (i + eb > d.length) + return { s: r, r: slc(d, i - 1) }; + if (!eb) + r += String.fromCharCode(c); + else if (eb == 3) { + c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536, + r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023)); + } + else if (eb & 1) + r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63)); + else + r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)); + } +}; +/** + * Streaming UTF-8 decoding + */ +var DecodeUTF8 = /*#__PURE__*/ (function () { + /** + * Creates a UTF-8 decoding stream + * @param cb The callback to call whenever data is decoded + */ + function DecodeUTF8(cb) { + this.ondata = cb; + if (tds) + this.t = new TextDecoder(); + else + this.p = et; + } + /** + * Pushes a chunk to be decoded from UTF-8 binary + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + DecodeUTF8.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + final = !!final; + if (this.t) { + this.ondata(this.t.decode(chunk, { stream: true }), final); + if (final) { + if (this.t.decode().length) + err(8); + this.t = null; + } + return; + } + if (!this.p) + err(4); + var dat = new u8(this.p.length + chunk.length); + dat.set(this.p); + dat.set(chunk, this.p.length); + var _a = dutf8(dat), s = _a.s, r = _a.r; + if (final) { + if (r.length) + err(8); + this.p = null; + } + else + this.p = r; + this.ondata(s, final); + }; + return DecodeUTF8; +}()); +export { DecodeUTF8 }; +/** + * Streaming UTF-8 encoding + */ +var EncodeUTF8 = /*#__PURE__*/ (function () { + /** + * Creates a UTF-8 decoding stream + * @param cb The callback to call whenever data is encoded + */ + function EncodeUTF8(cb) { + this.ondata = cb; + } + /** + * Pushes a chunk to be encoded to UTF-8 + * @param chunk The string data to push + * @param final Whether this is the last chunk + */ + EncodeUTF8.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + if (this.d) + err(4); + this.ondata(strToU8(chunk), this.d = final || false); + }; + return EncodeUTF8; +}()); +export { EncodeUTF8 }; +/** + * Converts a string into a Uint8Array for use with compression/decompression methods + * @param str The string to encode + * @param latin1 Whether or not to interpret the data as Latin-1. This should + * not need to be true unless decoding a binary string. + * @returns The string encoded in UTF-8/Latin-1 binary + */ +export function strToU8(str, latin1) { + if (latin1) { + var ar_1 = new u8(str.length); + for (var i = 0; i < str.length; ++i) + ar_1[i] = str.charCodeAt(i); + return ar_1; + } + if (te) + return te.encode(str); + var l = str.length; + var ar = new u8(str.length + (str.length >> 1)); + var ai = 0; + var w = function (v) { ar[ai++] = v; }; + for (var i = 0; i < l; ++i) { + if (ai + 5 > ar.length) { + var n = new u8(ai + 8 + ((l - i) << 1)); + n.set(ar); + ar = n; + } + var c = str.charCodeAt(i); + if (c < 128 || latin1) + w(c); + else if (c < 2048) + w(192 | (c >> 6)), w(128 | (c & 63)); + else if (c > 55295 && c < 57344) + c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023), + w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63)); + else + w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63)); + } + return slc(ar, 0, ai); +} +/** + * Converts a Uint8Array to a string + * @param dat The data to decode to string + * @param latin1 Whether or not to interpret the data as Latin-1. This should + * not need to be true unless encoding to binary string. + * @returns The original UTF-8/Latin-1 string + */ +export function strFromU8(dat, latin1) { + if (latin1) { + var r = ''; + for (var i = 0; i < dat.length; i += 16384) + r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384)); + return r; + } + else if (td) { + return td.decode(dat); + } + else { + var _a = dutf8(dat), s = _a.s, r = _a.r; + if (r.length) + err(8); + return s; + } +} +; +// deflate bit flag +var dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; }; +// skip local zip header +var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); }; +// read zip header +var zh = function (d, b, z) { + var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20); + var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2]; + return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off]; +}; +// read zip64 extra field +var z64e = function (d, b) { + for (; b2(d, b) != 1; b += 4 + b2(d, b + 2)) + ; + return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)]; +}; +// extra field length +var exfl = function (ex) { + var le = 0; + if (ex) { + for (var k in ex) { + var l = ex[k].length; + if (l > 65535) + err(9); + le += l + 4; + } + } + return le; +}; +// write zip header +var wzh = function (d, b, f, fn, u, c, ce, co) { + var fl = fn.length, ex = f.extra, col = co && co.length; + var exl = exfl(ex); + wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4; + if (ce != null) + d[b++] = 20, d[b++] = f.os; + d[b] = 20, b += 2; // spec compliance? what's that? + d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8; + d[b++] = f.compression & 255, d[b++] = f.compression >> 8; + var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980; + if (y < 0 || y > 119) + err(10); + wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4; + if (c != -1) { + wbytes(d, b, f.crc); + wbytes(d, b + 4, c < 0 ? -c - 2 : c); + wbytes(d, b + 8, f.size); + } + wbytes(d, b + 12, fl); + wbytes(d, b + 14, exl), b += 16; + if (ce != null) { + wbytes(d, b, col); + wbytes(d, b + 6, f.attrs); + wbytes(d, b + 10, ce), b += 14; + } + d.set(fn, b); + b += fl; + if (exl) { + for (var k in ex) { + var exf = ex[k], l = exf.length; + wbytes(d, b, +k); + wbytes(d, b + 2, l); + d.set(exf, b + 4), b += 4 + l; + } + } + if (col) + d.set(co, b), b += col; + return b; +}; +// write zip footer (end of central directory) +var wzf = function (o, b, c, d, e) { + wbytes(o, b, 0x6054B50); // skip disk + wbytes(o, b + 8, c); + wbytes(o, b + 10, c); + wbytes(o, b + 12, d); + wbytes(o, b + 16, e); +}; +/** + * A pass-through stream to keep data uncompressed in a ZIP archive. + */ +var ZipPassThrough = /*#__PURE__*/ (function () { + /** + * Creates a pass-through stream that can be added to ZIP archives + * @param filename The filename to associate with this data stream + */ + function ZipPassThrough(filename) { + this.filename = filename; + this.c = crc(); + this.size = 0; + this.compression = 0; + } + /** + * Processes a chunk and pushes to the output stream. You can override this + * method in a subclass for custom behavior, but by default this passes + * the data through. You must call this.ondata(err, chunk, final) at some + * point in this method. + * @param chunk The chunk to process + * @param final Whether this is the last chunk + */ + ZipPassThrough.prototype.process = function (chunk, final) { + this.ondata(null, chunk, final); + }; + /** + * Pushes a chunk to be added. If you are subclassing this with a custom + * compression algorithm, note that you must push data from the source + * file only, pre-compression. + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + ZipPassThrough.prototype.push = function (chunk, final) { + if (!this.ondata) + err(5); + this.c.p(chunk); + this.size += chunk.length; + if (final) + this.crc = this.c.d(); + this.process(chunk, final || false); + }; + return ZipPassThrough; +}()); +export { ZipPassThrough }; +// I don't extend because TypeScript extension adds 1kB of runtime bloat +/** + * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate + * for better performance + */ +var ZipDeflate = /*#__PURE__*/ (function () { + /** + * Creates a DEFLATE stream that can be added to ZIP archives + * @param filename The filename to associate with this data stream + * @param opts The compression options + */ + function ZipDeflate(filename, opts) { + var _this = this; + if (!opts) + opts = {}; + ZipPassThrough.call(this, filename); + this.d = new Deflate(opts, function (dat, final) { + _this.ondata(null, dat, final); + }); + this.compression = 8; + this.flag = dbf(opts.level); + } + ZipDeflate.prototype.process = function (chunk, final) { + try { + this.d.push(chunk, final); + } + catch (e) { + this.ondata(e, null, final); + } + }; + /** + * Pushes a chunk to be deflated + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + ZipDeflate.prototype.push = function (chunk, final) { + ZipPassThrough.prototype.push.call(this, chunk, final); + }; + return ZipDeflate; +}()); +export { ZipDeflate }; +/** + * Asynchronous streaming DEFLATE compression for ZIP archives + */ +var AsyncZipDeflate = /*#__PURE__*/ (function () { + /** + * Creates an asynchronous DEFLATE stream that can be added to ZIP archives + * @param filename The filename to associate with this data stream + * @param opts The compression options + */ + function AsyncZipDeflate(filename, opts) { + var _this = this; + if (!opts) + opts = {}; + ZipPassThrough.call(this, filename); + this.d = new AsyncDeflate(opts, function (err, dat, final) { + _this.ondata(err, dat, final); + }); + this.compression = 8; + this.flag = dbf(opts.level); + this.terminate = this.d.terminate; + } + AsyncZipDeflate.prototype.process = function (chunk, final) { + this.d.push(chunk, final); + }; + /** + * Pushes a chunk to be deflated + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + AsyncZipDeflate.prototype.push = function (chunk, final) { + ZipPassThrough.prototype.push.call(this, chunk, final); + }; + return AsyncZipDeflate; +}()); +export { AsyncZipDeflate }; +// TODO: Better tree shaking +/** + * A zippable archive to which files can incrementally be added + */ +var Zip = /*#__PURE__*/ (function () { + /** + * Creates an empty ZIP archive to which files can be added + * @param cb The callback to call whenever data for the generated ZIP archive + * is available + */ + function Zip(cb) { + this.ondata = cb; + this.u = []; + this.d = 1; + } + /** + * Adds a file to the ZIP archive + * @param file The file stream to add + */ + Zip.prototype.add = function (file) { + var _this = this; + if (!this.ondata) + err(5); + // finishing or finished + if (this.d & 2) + this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false); + else { + var f = strToU8(file.filename), fl_1 = f.length; + var com = file.comment, o = com && strToU8(com); + var u = fl_1 != file.filename.length || (o && (com.length != o.length)); + var hl_1 = fl_1 + exfl(file.extra) + 30; + if (fl_1 > 65535) + this.ondata(err(11, 0, 1), null, false); + var header = new u8(hl_1); + wzh(header, 0, file, f, u, -1); + var chks_1 = [header]; + var pAll_1 = function () { + for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) { + var chk = chks_2[_i]; + _this.ondata(null, chk, false); + } + chks_1 = []; + }; + var tr_1 = this.d; + this.d = 0; + var ind_1 = this.u.length; + var uf_1 = mrg(file, { + f: f, + u: u, + o: o, + t: function () { + if (file.terminate) + file.terminate(); + }, + r: function () { + pAll_1(); + if (tr_1) { + var nxt = _this.u[ind_1 + 1]; + if (nxt) + nxt.r(); + else + _this.d = 1; + } + tr_1 = 1; + } + }); + var cl_1 = 0; + file.ondata = function (err, dat, final) { + if (err) { + _this.ondata(err, dat, final); + _this.terminate(); + } + else { + cl_1 += dat.length; + chks_1.push(dat); + if (final) { + var dd = new u8(16); + wbytes(dd, 0, 0x8074B50); + wbytes(dd, 4, file.crc); + wbytes(dd, 8, cl_1); + wbytes(dd, 12, file.size); + chks_1.push(dd); + uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size; + if (tr_1) + uf_1.r(); + tr_1 = 1; + } + else if (tr_1) + pAll_1(); + } + }; + this.u.push(uf_1); + } + }; + /** + * Ends the process of adding files and prepares to emit the final chunks. + * This *must* be called after adding all desired files for the resulting + * ZIP file to work properly. + */ + Zip.prototype.end = function () { + var _this = this; + if (this.d & 2) { + this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true); + return; + } + if (this.d) + this.e(); + else + this.u.push({ + r: function () { + if (!(_this.d & 1)) + return; + _this.u.splice(-1, 1); + _this.e(); + }, + t: function () { } + }); + this.d = 3; + }; + Zip.prototype.e = function () { + var bt = 0, l = 0, tl = 0; + for (var _i = 0, _a = this.u; _i < _a.length; _i++) { + var f = _a[_i]; + tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0); + } + var out = new u8(tl + 22); + for (var _b = 0, _c = this.u; _b < _c.length; _b++) { + var f = _c[_b]; + wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o); + bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b; + } + wzf(out, bt, this.u.length, tl, l); + this.ondata(null, out, true); + this.d = 2; + }; + /** + * A method to terminate any internal workers used by the stream. Subsequent + * calls to add() will fail. + */ + Zip.prototype.terminate = function () { + for (var _i = 0, _a = this.u; _i < _a.length; _i++) { + var f = _a[_i]; + f.t(); + } + this.d = 2; + }; + return Zip; +}()); +export { Zip }; +export function zip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + var r = {}; + fltn(data, '', r, opts); + var k = Object.keys(r); + var lft = k.length, o = 0, tot = 0; + var slft = lft, files = new Array(lft); + var term = []; + var tAll = function () { + for (var i = 0; i < term.length; ++i) + term[i](); + }; + var cbd = function (a, b) { + mt(function () { cb(a, b); }); + }; + mt(function () { cbd = cb; }); + var cbf = function () { + var out = new u8(tot + 22), oe = o, cdl = tot - o; + tot = 0; + for (var i = 0; i < slft; ++i) { + var f = files[i]; + try { + var l = f.c.length; + wzh(out, tot, f, f.f, f.u, l); + var badd = 30 + f.f.length + exfl(f.extra); + var loc = tot + badd; + out.set(f.c, loc); + wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l; + } + catch (e) { + return cbd(e, null); + } + } + wzf(out, o, files.length, cdl, oe); + cbd(null, out); + }; + if (!lft) + cbf(); + var _loop_1 = function (i) { + var fn = k[i]; + var _a = r[fn], file = _a[0], p = _a[1]; + var c = crc(), size = file.length; + c.p(file); + var f = strToU8(fn), s = f.length; + var com = p.comment, m = com && strToU8(com), ms = m && m.length; + var exl = exfl(p.extra); + var compression = p.level == 0 ? 0 : 8; + var cbl = function (e, d) { + if (e) { + tAll(); + cbd(e, null); + } + else { + var l = d.length; + files[i] = mrg(p, { + size: size, + crc: c.d(), + c: d, + f: f, + m: m, + u: s != fn.length || (m && (com.length != ms)), + compression: compression + }); + o += 30 + s + exl + l; + tot += 76 + 2 * (s + exl) + (ms || 0) + l; + if (!--lft) + cbf(); + } + }; + if (s > 65535) + cbl(err(11, 0, 1), null); + if (!compression) + cbl(null, file); + else if (size < 160000) { + try { + cbl(null, deflateSync(file, p)); + } + catch (e) { + cbl(e, null); + } + } + else + term.push(deflate(file, p, cbl)); + }; + // Cannot use lft because it can decrease + for (var i = 0; i < slft; ++i) { + _loop_1(i); + } + return tAll; +} +/** + * Synchronously creates a ZIP file. Prefer using `zip` for better performance + * with more than one file. + * @param data The directory structure for the ZIP archive + * @param opts The main options, merged with per-file options + * @returns The generated ZIP archive + */ +export function zipSync(data, opts) { + if (!opts) + opts = {}; + var r = {}; + var files = []; + fltn(data, '', r, opts); + var o = 0; + var tot = 0; + for (var fn in r) { + var _a = r[fn], file = _a[0], p = _a[1]; + var compression = p.level == 0 ? 0 : 8; + var f = strToU8(fn), s = f.length; + var com = p.comment, m = com && strToU8(com), ms = m && m.length; + var exl = exfl(p.extra); + if (s > 65535) + err(11); + var d = compression ? deflateSync(file, p) : file, l = d.length; + var c = crc(); + c.p(file); + files.push(mrg(p, { + size: file.length, + crc: c.d(), + c: d, + f: f, + m: m, + u: s != fn.length || (m && (com.length != ms)), + o: o, + compression: compression + })); + o += 30 + s + exl + l; + tot += 76 + 2 * (s + exl) + (ms || 0) + l; + } + var out = new u8(tot + 22), oe = o, cdl = tot - o; + for (var i = 0; i < files.length; ++i) { + var f = files[i]; + wzh(out, f.o, f, f.f, f.u, f.c.length); + var badd = 30 + f.f.length + exfl(f.extra); + out.set(f.c, f.o + badd); + wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0); + } + wzf(out, o, files.length, cdl, oe); + return out; +} +/** + * Streaming pass-through decompression for ZIP archives + */ +var UnzipPassThrough = /*#__PURE__*/ (function () { + function UnzipPassThrough() { + } + UnzipPassThrough.prototype.push = function (data, final) { + this.ondata(null, data, final); + }; + UnzipPassThrough.compression = 0; + return UnzipPassThrough; +}()); +export { UnzipPassThrough }; +/** + * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for + * better performance. + */ +var UnzipInflate = /*#__PURE__*/ (function () { + /** + * Creates a DEFLATE decompression that can be used in ZIP archives + */ + function UnzipInflate() { + var _this = this; + this.i = new Inflate(function (dat, final) { + _this.ondata(null, dat, final); + }); + } + UnzipInflate.prototype.push = function (data, final) { + try { + this.i.push(data, final); + } + catch (e) { + this.ondata(e, null, final); + } + }; + UnzipInflate.compression = 8; + return UnzipInflate; +}()); +export { UnzipInflate }; +/** + * Asynchronous streaming DEFLATE decompression for ZIP archives + */ +var AsyncUnzipInflate = /*#__PURE__*/ (function () { + /** + * Creates a DEFLATE decompression that can be used in ZIP archives + */ + function AsyncUnzipInflate(_, sz) { + var _this = this; + if (sz < 320000) { + this.i = new Inflate(function (dat, final) { + _this.ondata(null, dat, final); + }); + } + else { + this.i = new AsyncInflate(function (err, dat, final) { + _this.ondata(err, dat, final); + }); + this.terminate = this.i.terminate; + } + } + AsyncUnzipInflate.prototype.push = function (data, final) { + if (this.i.terminate) + data = slc(data, 0); + this.i.push(data, final); + }; + AsyncUnzipInflate.compression = 8; + return AsyncUnzipInflate; +}()); +export { AsyncUnzipInflate }; +/** + * A ZIP archive decompression stream that emits files as they are discovered + */ +var Unzip = /*#__PURE__*/ (function () { + /** + * Creates a ZIP decompression stream + * @param cb The callback to call whenever a file in the ZIP archive is found + */ + function Unzip(cb) { + this.onfile = cb; + this.k = []; + this.o = { + 0: UnzipPassThrough + }; + this.p = et; + } + /** + * Pushes a chunk to be unzipped + * @param chunk The chunk to push + * @param final Whether this is the last chunk + */ + Unzip.prototype.push = function (chunk, final) { + var _this = this; + if (!this.onfile) + err(5); + if (!this.p) + err(4); + if (this.c > 0) { + var len = Math.min(this.c, chunk.length); + var toAdd = chunk.subarray(0, len); + this.c -= len; + if (this.d) + this.d.push(toAdd, !this.c); + else + this.k[0].push(toAdd); + chunk = chunk.subarray(len); + if (chunk.length) + return this.push(chunk, final); + } + else { + var f = 0, i = 0, is = void 0, buf = void 0; + if (!this.p.length) + buf = chunk; + else if (!chunk.length) + buf = this.p; + else { + buf = new u8(this.p.length + chunk.length); + buf.set(this.p), buf.set(chunk, this.p.length); + } + var l = buf.length, oc = this.c, add = oc && this.d; + var _loop_2 = function () { + var _a; + var sig = b4(buf, i); + if (sig == 0x4034B50) { + f = 1, is = i; + this_1.d = null; + this_1.c = 0; + var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28); + if (l > i + 30 + fnl + es) { + var chks_3 = []; + this_1.k.unshift(chks_3); + f = 2; + var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22); + var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u); + if (sc_1 == 4294967295) { + _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1]; + } + else if (dd) + sc_1 = -1; + i += es; + this_1.c = sc_1; + var d_1; + var file_1 = { + name: fn_1, + compression: cmp_1, + start: function () { + if (!file_1.ondata) + err(5); + if (!sc_1) + file_1.ondata(null, et, true); + else { + var ctr = _this.o[cmp_1]; + if (!ctr) + file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false); + d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1); + d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); }; + for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) { + var dat = chks_4[_i]; + d_1.push(dat, false); + } + if (_this.k[0] == chks_3 && _this.c) + _this.d = d_1; + else + d_1.push(et, true); + } + }, + terminate: function () { + if (d_1 && d_1.terminate) + d_1.terminate(); + } + }; + if (sc_1 >= 0) + file_1.size = sc_1, file_1.originalSize = su_1; + this_1.onfile(file_1); + } + return "break"; + } + else if (oc) { + if (sig == 0x8074B50) { + is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0; + return "break"; + } + else if (sig == 0x2014B50) { + is = i -= 4, f = 3, this_1.c = 0; + return "break"; + } + } + }; + var this_1 = this; + for (; i < l - 4; ++i) { + var state_1 = _loop_2(); + if (state_1 === "break") + break; + } + this.p = et; + if (oc < 0) { + var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i); + if (add) + add.push(dat, !!f); + else + this.k[+(f == 2)].push(dat); + } + if (f & 2) + return this.push(buf.subarray(i), final); + this.p = buf.subarray(i); + } + if (final) { + if (this.c) + err(13); + this.p = null; + } + }; + /** + * Registers a decoder with the stream, allowing for files compressed with + * the compression type provided to be expanded correctly + * @param decoder The decoder constructor + */ + Unzip.prototype.register = function (decoder) { + this.o[decoder.compression] = decoder; + }; + return Unzip; +}()); +export { Unzip }; +var mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); }; +export function unzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != 'function') + err(7); + var term = []; + var tAll = function () { + for (var i = 0; i < term.length; ++i) + term[i](); + }; + var files = {}; + var cbd = function (a, b) { + mt(function () { cb(a, b); }); + }; + mt(function () { cbd = cb; }); + var e = data.length - 22; + for (; b4(data, e) != 0x6054B50; --e) { + if (!e || data.length - e > 65558) { + cbd(err(13, 0, 1), null); + return tAll; + } + } + ; + var lft = b2(data, e + 8); + if (lft) { + var c = lft; + var o = b4(data, e + 16); + var z = o == 4294967295 || c == 65535; + if (z) { + var ze = b4(data, e - 12); + z = b4(data, ze) == 0x6064B50; + if (z) { + c = lft = b4(data, ze + 32); + o = b4(data, ze + 48); + } + } + var fltr = opts && opts.filter; + var _loop_3 = function (i) { + var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off); + o = no; + var cbl = function (e, d) { + if (e) { + tAll(); + cbd(e, null); + } + else { + if (d) + files[fn] = d; + if (!--lft) + cbd(null, files); + } + }; + if (!fltr || fltr({ + name: fn, + size: sc, + originalSize: su, + compression: c_1 + })) { + if (!c_1) + cbl(null, slc(data, b, b + sc)); + else if (c_1 == 8) { + var infl = data.subarray(b, b + sc); + // Synchronously decompress under 512KB, or barely-compressed data + if (su < 524288 || sc > 0.8 * su) { + try { + cbl(null, inflateSync(infl, { out: new u8(su) })); + } + catch (e) { + cbl(e, null); + } + } + else + term.push(inflate(infl, { size: su }, cbl)); + } + else + cbl(err(14, 'unknown compression type ' + c_1, 1), null); + } + else + cbl(null, null); + }; + for (var i = 0; i < c; ++i) { + _loop_3(i); + } + } + else + cbd(null, {}); + return tAll; +} +/** + * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better + * performance with more than one file. + * @param data The raw compressed ZIP file + * @param opts The ZIP extraction options + * @returns The decompressed files + */ +export function unzipSync(data, opts) { + var files = {}; + var e = data.length - 22; + for (; b4(data, e) != 0x6054B50; --e) { + if (!e || data.length - e > 65558) + err(13); + } + ; + var c = b2(data, e + 8); + if (!c) + return {}; + var o = b4(data, e + 16); + var z = o == 4294967295 || c == 65535; + if (z) { + var ze = b4(data, e - 12); + z = b4(data, ze) == 0x6064B50; + if (z) { + c = b4(data, ze + 32); + o = b4(data, ze + 48); + } + } + var fltr = opts && opts.filter; + for (var i = 0; i < c; ++i) { + var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off); + o = no; + if (!fltr || fltr({ + name: fn, + size: sc, + originalSize: su, + compression: c_2 + })) { + if (!c_2) + files[fn] = slc(data, b, b + sc); + else if (c_2 == 8) + files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) }); + else + err(14, 'unknown compression type ' + c_2); + } + } + return files; +} diff --git a/.pnpm-store/v3/files/b0/306403e610f88b6b860db613dcc6e56818142097484b22cbf55336b59574900ca3ac6a5e89e49e03194a7b940a2427d04ebead70e6844379db50115507c1e1 b/.pnpm-store/v3/files/b0/306403e610f88b6b860db613dcc6e56818142097484b22cbf55336b59574900ca3ac6a5e89e49e03194a7b940a2427d04ebead70e6844379db50115507c1e1 new file mode 100644 index 00000000..0cd59bcb --- /dev/null +++ b/.pnpm-store/v3/files/b0/306403e610f88b6b860db613dcc6e56818142097484b22cbf55336b59574900ca3ac6a5e89e49e03194a7b940a2427d04ebead70e6844379db50115507c1e1 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p lC 2B QC mC 3B","16":"F iC jC kC"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC"},H:{"2":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Selection controls for input & textarea",D:true}; diff --git a/.pnpm-store/v3/files/b0/710c1ce8b627595d279f3ea57ceb749912f18fbf264b6f8002eeb00e849160db58b5545c36fdeb26586b5eecb3db8b968bf5ba7e99b49779e24e4af8194f35 b/.pnpm-store/v3/files/b0/710c1ce8b627595d279f3ea57ceb749912f18fbf264b6f8002eeb00e849160db58b5545c36fdeb26586b5eecb3db8b968bf5ba7e99b49779e24e4af8194f35 new file mode 100644 index 00000000..f5eff405 --- /dev/null +++ b/.pnpm-store/v3/files/b0/710c1ce8b627595d279f3ea57ceb749912f18fbf264b6f8002eeb00e849160db58b5545c36fdeb26586b5eecb3db8b968bf5ba7e99b49779e24e4af8194f35 @@ -0,0 +1 @@ +module.exports={C:{"24":0.00629,"29":0.00157,"58":0.01258,"66":0.00157,"80":0.00314,"95":0.00314,"108":0.01415,"112":0.00314,"114":0.00314,"115":0.20279,"117":0.00157,"119":0.00472,"120":0.01572,"121":0.48418,"122":0.14777,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 78 79 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 109 110 111 113 116 118 123 124 125 3.5 3.6"},D:{"18":0.00157,"43":0.00157,"58":0.00786,"62":0.00314,"63":0.00629,"64":0.07231,"66":0.02201,"67":0.00472,"68":0.00157,"69":0.00157,"70":0.00629,"71":0.00314,"74":0.02987,"75":0.00314,"76":0.01729,"77":0.00157,"78":0.00786,"79":0.00629,"80":0.02201,"81":0.011,"83":0.00314,"84":0.05502,"85":0.01572,"86":0.00472,"87":0.06917,"88":0.00786,"89":0.01572,"90":0.011,"91":0.011,"92":0.09432,"93":0.01258,"94":0.01729,"95":0.00786,"96":0.01729,"97":0.00157,"98":0.00629,"99":0.01415,"100":0.00314,"101":0.00314,"102":0.01258,"103":0.05974,"104":0.00314,"105":0.01729,"106":0.00472,"107":0.011,"108":0.011,"109":0.30497,"110":0.00629,"111":0.011,"113":0.00314,"114":0.02201,"115":0.00943,"116":0.05974,"117":0.02358,"118":0.03144,"119":0.21065,"120":4.16894,"121":0.48575,"122":0.00314,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 65 72 73 112 123 124"},F:{"21":0.00472,"42":0.00314,"54":0.00157,"90":0.00786,"95":0.01415,"102":0.00157,"105":0.08017,"106":0.46374,_:"9 11 12 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 91 92 93 94 96 97 98 99 100 101 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.01258,"13":0.011,"14":0.02515,"15":0.00472,"16":0.00629,"17":0.02358,"18":0.10532,"84":0.01886,"85":0.00314,"89":0.00786,"90":0.00943,"91":0.00157,"92":0.11004,"95":0.00157,"99":0.00472,"100":0.01258,"104":0.00157,"105":0.00629,"106":0.00157,"107":0.00472,"108":0.00472,"109":0.0503,"110":0.00629,"111":0.00314,"112":0.00629,"113":0.00943,"114":0.011,"115":0.00786,"116":0.01572,"117":0.011,"118":0.03458,"119":0.08174,"120":1.81566,"121":0.17292,_:"79 80 81 83 86 87 88 93 94 96 97 98 101 102 103"},E:{"11":0.00314,"13":0.00629,"14":0.01572,_:"0 4 5 6 7 8 9 10 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 15.4 16.0 17.4","11.1":0.00157,"12.1":0.00786,"13.1":0.01258,"14.1":0.04402,"15.1":0.00157,"15.2-15.3":0.00157,"15.5":0.00314,"15.6":0.03144,"16.1":0.00629,"16.2":0.00472,"16.3":0.00472,"16.4":0.00472,"16.5":0.00157,"16.6":0.03773,"17.0":0.00314,"17.1":0.01886,"17.2":0.0503,"17.3":0.00314},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00139,"5.0-5.1":0.00209,"6.0-6.1":0.00348,"7.0-7.1":0.00487,"8.1-8.4":0.0007,"9.0-9.2":0.00418,"9.3":0.01601,"10.0-10.2":0.00139,"10.3":0.02506,"11.0-11.2":0.00974,"11.3-11.4":0.01044,"12.0-12.1":0.00626,"12.2-12.5":0.1239,"13.0-13.1":0.00209,"13.2":0.02297,"13.3":0.00626,"13.4-13.7":0.02784,"14.0-14.4":0.04872,"14.5-14.8":0.07448,"15.0-15.1":0.03202,"15.2-15.3":0.03689,"15.4":0.04316,"15.5":0.05708,"15.6-15.8":0.44479,"16.0":0.13365,"16.1":0.28469,"16.2":0.12947,"16.3":0.24084,"16.4":0.0536,"16.5":0.11416,"16.6-16.7":0.93413,"17.0":0.15522,"17.1":1.60027,"17.2":2.16617,"17.3":0.13921},P:{"4":0.10134,"20":0.02027,"21":0.06081,"22":0.07094,"23":0.62833,"5.0-5.4":0.01013,_:"6.2-6.4 8.2 10.1 12.0","7.2-7.4":0.12161,"9.2":0.08108,"11.1-11.2":0.08108,"13.0":0.01013,"14.0":0.08108,"15.0":0.01013,"16.0":0.08108,"17.0":0.01013,"18.0":0.01013,"19.0":0.17229},I:{"0":0.03356,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"11":0.03616,_:"6 7 8 9 10 5.5"},K:{"0":3.82656,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.07584,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.01685},O:{"0":0.7163},H:{"0":6.96},L:{"0":69.01043},R:{_:"0"},M:{"0":0.08427}}; diff --git a/.pnpm-store/v3/files/b0/94d149820a93dd8aaa7a5a637ed785bd400fba47dd94da169614b831854cb0a8772e88fe501264ddacc025705b062ea4af73c95e41622022b908df7bd40157 b/.pnpm-store/v3/files/b0/94d149820a93dd8aaa7a5a637ed785bd400fba47dd94da169614b831854cb0a8772e88fe501264ddacc025705b062ea4af73c95e41622022b908df7bd40157 new file mode 100644 index 00000000..76a4c9ea Binary files /dev/null and b/.pnpm-store/v3/files/b0/94d149820a93dd8aaa7a5a637ed785bd400fba47dd94da169614b831854cb0a8772e88fe501264ddacc025705b062ea4af73c95e41622022b908df7bd40157 differ diff --git a/.pnpm-store/v3/files/b0/e3f582e72a4dc0b5b9d4f1ca806cd1adc391b251b0eb498cdba5062ce27ceb19a5b6e254d8e62ebd29bd02bb82b5985683059a6a196355e999c48904302002 b/.pnpm-store/v3/files/b0/e3f582e72a4dc0b5b9d4f1ca806cd1adc391b251b0eb498cdba5062ce27ceb19a5b6e254d8e62ebd29bd02bb82b5985683059a6a196355e999c48904302002 new file mode 100644 index 00000000..ec25a024 --- /dev/null +++ b/.pnpm-store/v3/files/b0/e3f582e72a4dc0b5b9d4f1ca806cd1adc391b251b0eb498cdba5062ce27ceb19a5b6e254d8e62ebd29bd02bb82b5985683059a6a196355e999c48904302002 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC","130":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC 8C","130":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:6,C:"HEIF/HEIC image format",D:true}; diff --git a/.pnpm-store/v3/files/b0/ec1d2cd5492fe4435dacb60469046a68567dec181cfb3bf4384a3573f9f5f27c5d1d91d6691ac74c66d533fdaec8cbe4ad61685bd71f17427fec3cb9a19e30 b/.pnpm-store/v3/files/b0/ec1d2cd5492fe4435dacb60469046a68567dec181cfb3bf4384a3573f9f5f27c5d1d91d6691ac74c66d533fdaec8cbe4ad61685bd71f17427fec3cb9a19e30 new file mode 100644 index 00000000..997cc180 --- /dev/null +++ b/.pnpm-store/v3/files/b0/ec1d2cd5492fe4435dacb60469046a68567dec181cfb3bf4384a3573f9f5f27c5d1d91d6691ac74c66d533fdaec8cbe4ad61685bd71f17427fec3cb9a19e30 @@ -0,0 +1,50 @@ +'use strict'; + +var $TypeError = require('es-errors/type'); + +var Get = require('es-abstract/2023/Get'); +var IteratorComplete = require('es-abstract/2023/IteratorComplete'); +var IteratorNext = require('es-abstract/2023/IteratorNext'); + +var isIteratorRecord = require('es-abstract/helpers/records/iterator-record'); + +// https://262.ecma-international.org/15.0/#sec-iteratorstepvalue + +module.exports = function IteratorStepValue(iteratorRecord) { + if (!isIteratorRecord(iteratorRecord)) { + throw new $TypeError('Assertion failed: `iteratorRecord` must be an Iterator Record'); // step 1 + } + /* eslint no-param-reassign: 0 */ + + var result; + try { + result = IteratorNext(iteratorRecord); // step 1 + } catch (e) { // step 2 + iteratorRecord['[[Done]]'] = true; // step 2.a + throw e; // step 2.b + } + + var done; + try { + done = IteratorComplete(result); // step 4 + } catch (e) { // step 5 + iteratorRecord['[[Done]]'] = true; // step 5.a + throw e; // step 5.b + } + + if (done) { // step 7 + iteratorRecord['[[Done]]'] = true; // step 7.a + return 'DONE'; // step 7.b + } + + var value; + try { + value = Get(result, 'value'); // step 8 + } catch (e) { // step 9 + iteratorRecord['[[Done]]'] = true; // step 9.a + throw e; // step 10 + } + + return value; // step 10 +}; + diff --git a/.pnpm-store/v3/files/b1/07d73bea21241d01812a8293731a4c283dbe77c824fe8d84ff461131e2d8bc7a785a532c9f93848f98490f37a412c330978804e22314b002c41b98f73dce99 b/.pnpm-store/v3/files/b1/07d73bea21241d01812a8293731a4c283dbe77c824fe8d84ff461131e2d8bc7a785a532c9f93848f98490f37a412c330978804e22314b002c41b98f73dce99 new file mode 100644 index 00000000..828d3480 --- /dev/null +++ b/.pnpm-store/v3/files/b1/07d73bea21241d01812a8293731a4c283dbe77c824fe8d84ff461131e2d8bc7a785a532c9f93848f98490f37a412c330978804e22314b002c41b98f73dce99 @@ -0,0 +1 @@ +module.exports={C:{"4":0.01085,"48":0.00543,"52":0.00543,"73":0.00543,"78":0.01085,"88":0.00543,"102":0.00543,"104":0.00543,"105":0.00543,"107":0.00543,"115":0.11939,"116":0.00543,"117":0.00543,"119":0.01085,"120":0.02714,"121":2.00799,"122":0.18995,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 103 106 108 109 110 111 112 113 114 118 123 124 125 3.5 3.6"},D:{"29":0.01085,"38":0.01628,"47":0.00543,"49":0.01628,"58":0.02714,"65":0.00543,"74":0.01085,"79":0.0597,"81":0.00543,"85":0.00543,"86":0.00543,"87":0.04342,"88":0.00543,"89":0.00543,"91":0.00543,"92":0.00543,"93":0.00543,"94":0.00543,"96":0.01628,"97":0.00543,"98":0.00543,"99":0.01085,"100":0.01628,"101":0.00543,"102":0.01085,"103":0.06512,"104":0.00543,"105":0.02171,"106":0.01628,"107":0.01628,"108":0.02714,"109":1.18851,"110":0.01085,"111":0.01628,"112":0.02714,"113":0.01085,"114":0.02171,"115":0.02171,"116":0.18995,"117":0.04884,"118":0.0597,"119":0.35818,"120":21.52891,"121":1.36218,"122":0.00543,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 53 54 55 56 57 59 60 61 62 63 64 66 67 68 69 70 71 72 73 75 76 77 78 80 83 84 90 95 123 124"},F:{"95":0.03256,"102":0.00543,"104":0.01085,"105":13.14419,"106":1.80719,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00543,"92":0.01085,"100":0.00543,"106":0.00543,"108":0.00543,"109":0.02171,"111":0.01085,"114":0.01085,"115":0.00543,"116":0.00543,"117":0.00543,"118":0.00543,"119":0.0597,"120":2.86003,"121":0.36361,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 107 110 112 113"},E:{"14":0.01085,"15":0.00543,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 17.4","13.1":0.02714,"14.1":0.03799,"15.1":0.00543,"15.2-15.3":0.00543,"15.4":0.01085,"15.5":0.02171,"15.6":0.10311,"16.0":0.01085,"16.1":0.02171,"16.2":0.01628,"16.3":0.04884,"16.4":0.02171,"16.5":0.03799,"16.6":0.12482,"17.0":0.05427,"17.1":0.17909,"17.2":0.25507,"17.3":0.02714},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00166,"5.0-5.1":0.00249,"6.0-6.1":0.00415,"7.0-7.1":0.00582,"8.1-8.4":0.00083,"9.0-9.2":0.00499,"9.3":0.01911,"10.0-10.2":0.00166,"10.3":0.02991,"11.0-11.2":0.01163,"11.3-11.4":0.01246,"12.0-12.1":0.00748,"12.2-12.5":0.1479,"13.0-13.1":0.00249,"13.2":0.02742,"13.3":0.00748,"13.4-13.7":0.03324,"14.0-14.4":0.05816,"14.5-14.8":0.08891,"15.0-15.1":0.03822,"15.2-15.3":0.04404,"15.4":0.05152,"15.5":0.06813,"15.6-15.8":0.53095,"16.0":0.15954,"16.1":0.33984,"16.2":0.15455,"16.3":0.2875,"16.4":0.06398,"16.5":0.13627,"16.6-16.7":1.11509,"17.0":0.18529,"17.1":1.91027,"17.2":2.5858,"17.3":0.16618},P:{"4":0.09424,"20":0.02094,"21":0.03141,"22":0.06282,"23":1.20412,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0","7.2-7.4":0.03141,"11.1-11.2":0.01047,"16.0":0.02094,"17.0":0.01047,"18.0":0.01047,"19.0":0.02094},I:{"0":0.05008,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00013},A:{"8":0.00611,"11":0.04274,_:"6 7 9 10 5.5"},K:{"0":0.20579,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.02287},H:{"0":0},L:{"0":39.51466},R:{_:"0"},M:{"0":0.15091}}; diff --git a/.pnpm-store/v3/files/b1/088fbea62de87930f8b3689c285eeda60cf1c9e0d5c08c4d301dbf33f5ef2c343e47379eac22a8631f09ab5c741b3388c9718380ae77a5ec34a90e97209900 b/.pnpm-store/v3/files/b1/088fbea62de87930f8b3689c285eeda60cf1c9e0d5c08c4d301dbf33f5ef2c343e47379eac22a8631f09ab5c741b3388c9718380ae77a5ec34a90e97209900 new file mode 100644 index 00000000..dd3443ed Binary files /dev/null and b/.pnpm-store/v3/files/b1/088fbea62de87930f8b3689c285eeda60cf1c9e0d5c08c4d301dbf33f5ef2c343e47379eac22a8631f09ab5c741b3388c9718380ae77a5ec34a90e97209900 differ diff --git a/.pnpm-store/v3/files/b1/1543de55952175a0e81cbaf1937bbe1a3d6b5a5070dfd604568002c0c31739498efa06c743fccfb575b7bda0ac525f261bb760f641baedb97fb29ac368cdd7-index.json b/.pnpm-store/v3/files/b1/1543de55952175a0e81cbaf1937bbe1a3d6b5a5070dfd604568002c0c31739498efa06c743fccfb575b7bda0ac525f261bb760f641baedb97fb29ac368cdd7-index.json new file mode 100644 index 00000000..4fb1e7e9 --- /dev/null +++ b/.pnpm-store/v3/files/b1/1543de55952175a0e81cbaf1937bbe1a3d6b5a5070dfd604568002c0c31739498efa06c743fccfb575b7bda0ac525f261bb760f641baedb97fb29ac368cdd7-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001725019,"integrity":"sha512-evchPJoEapp+9Kk5zZRA95xtvbXd0GFSaY4aac4rsnAZ0vneEh2tg31ybvorQDRRsid4MQBgM2kH5WpdchOY+w==","mode":420,"size":765},"bench.js":{"checkedAt":1708001725019,"integrity":"sha512-+iDoaM4ZD8Zhfp3FWKoRnGS3uinwAuRJ00JjByAe7ncmIQnU0mRnp0Gtv8Sc5sDiGAX2MNSyjjxCf8ZFGhSMtw==","mode":420,"size":1195},"example.js":{"checkedAt":1708001725019,"integrity":"sha512-mVyQ/Qr0vtPfvHYhmLmQE8jVm+w/kUGleDFk7AsB3+RZb+T+EqLa/6qt/b3naQVTQHtJmaJC+vv1pwDWkpAhPg==","mode":420,"size":238},"test/promise.js":{"checkedAt":1708001725019,"integrity":"sha512-R690BEirZdB85FOqiSUK9TU5L5HVUfGuiWnWkSwFsu02Z8rkK897NFth12mLXxIr/JBRkoynNCG3JiDn6/Yw0g==","mode":420,"size":5430},"queue.js":{"checkedAt":1708001725019,"integrity":"sha512-V4HVordNKZGQLQJyKNrZk8GnPGyWnAjXtd4tbEXFP8q7ydThQCdEXRJo69vdqWTv91YdOYfrhz2du2hhxyyYKw==","mode":420,"size":6125},"test/test.js":{"checkedAt":1708001725020,"integrity":"sha512-DmYuBeTByJf11RIy/550wKddxbwxvCKO/hsxMBJCmG0QJIs38HbO1Ry6MWBlfmP2x29hyzT2deHHrKoBlmMK1w==","mode":420,"size":13787},"package.json":{"checkedAt":1708001725020,"integrity":"sha512-2rIeWbWzlGLZua6H40TIf9xNE/zFfkk+Q3x0LUA536MQsBwWEw4toTGqSPEVaeUrWv7eEXlryI+HwTEhlC0D1A==","mode":420,"size":1374},"test/tsconfig.json":{"checkedAt":1708001725020,"integrity":"sha512-IDz3YjBY1JHTNafNe7pvDTVHDTsJsJpTEF0auzU41Ie7/YvP7PbjpJL15NCx9kej0OpNNQWEVZGwFH7RUI182A==","mode":420,"size":154},"README.md":{"checkedAt":1708001725020,"integrity":"sha512-QuxWQEPPqG5ZUnoO0Prpn071BDbNqXyaaUqBbFojlRKoJwAIUBfQV07K2Uqj9EvrtwtamkYj0AXE/ATTfo7y/g==","mode":420,"size":8168},"example.mjs":{"checkedAt":1708001725020,"integrity":"sha512-AFtzXI7xjdmMtpI/gIogVu2gHJbHj1NGQtvK4cFOMO7/KcWSMg9LNGLmwSpBlIP0g/V7cxG2giJjNdklEIerpQ==","mode":420,"size":221},"test/example.ts":{"checkedAt":1708001725020,"integrity":"sha512-R6a5N1sMGaG91WDB0jAE32Eve9sxsAxifKz6uC6itCZnSL6Dm9pZzrhDej/qvMkcxO8i5dI8FNl6Fd+VR1SQWA==","mode":420,"size":1462},"index.d.ts":{"checkedAt":1708001725021,"integrity":"sha512-IiA4rpnSY+iVg/wZUxHYLhioH02WLgrTCYYOVx4eKk1YBzjw5C7knBUePOgMFUnhY/vF+NbOiKQKKeuB6CF80g==","mode":420,"size":1414},".github/workflows/ci.yml":{"checkedAt":1708001725021,"integrity":"sha512-Wv720gdVecFW70SB/mKrfZI7y3l3ag7d4v/z+6NIgGs0/d+EoGbhzv+G2GJq6ci99lt4B+KiLkNpUxxxMkrA7A==","mode":420,"size":1402},".github/dependabot.yml":{"checkedAt":1708001725021,"integrity":"sha512-X99brF4xMYFpV19YG2rwc9Z8c3Dd1RSctfiao7387XVAGS8hlzICHKT1w0uKLggjbN2D2gdG9Zk+blajxLe/QQ==","mode":420,"size":192}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/b1/16cf6c6ed09bcc9c5145af2a179c3eecc5c56113d7c1986a738427fff113cfa1a3f73a7fd3f13e5c0d1b48a0c22aa49b9571815769e01dee83a3108429fcdb b/.pnpm-store/v3/files/b1/16cf6c6ed09bcc9c5145af2a179c3eecc5c56113d7c1986a738427fff113cfa1a3f73a7fd3f13e5c0d1b48a0c22aa49b9571815769e01dee83a3108429fcdb new file mode 100644 index 00000000..c518ce4b --- /dev/null +++ b/.pnpm-store/v3/files/b1/16cf6c6ed09bcc9c5145af2a179c3eecc5c56113d7c1986a738427fff113cfa1a3f73a7fd3f13e5c0d1b48a0c22aa49b9571815769e01dee83a3108429fcdb @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB"},E:{"1":"C K L G 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC","132":"A B EC 2B"},F:{"1":"t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s iC jC kC lC 2B QC mC 3B"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"WOFF 2.0 - Web Open Font Format",D:true}; diff --git a/.pnpm-store/v3/files/b1/227fc134da2bda1c7cab60387df284e010dfa3324c0c36cbb3d84da9e66ec20730c762c23b5fe92e29440d7b4929eac79e088f9c010020cc0e9d94b8fada49 b/.pnpm-store/v3/files/b1/227fc134da2bda1c7cab60387df284e010dfa3324c0c36cbb3d84da9e66ec20730c762c23b5fe92e29440d7b4929eac79e088f9c010020cc0e9d94b8fada49 new file mode 100644 index 00000000..de0af4f6 --- /dev/null +++ b/.pnpm-store/v3/files/b1/227fc134da2bda1c7cab60387df284e010dfa3324c0c36cbb3d84da9e66ec20730c762c23b5fe92e29440d7b4929eac79e088f9c010020cc0e9d94b8fada49 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB"},E:{"2":"9 I J D E F A XC DC YC ZC aC bC EC","132":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC","132":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Opus audio format",D:true}; diff --git a/.pnpm-store/v3/files/b1/3db4ed432b4b1adae4bfabfd21550b22d0ac1743c844b681403d165fea26e18d12b27e1c79c14d151376213f967a28447a91b9d90ff6db5270ba0a809dfaed b/.pnpm-store/v3/files/b1/3db4ed432b4b1adae4bfabfd21550b22d0ac1743c844b681403d165fea26e18d12b27e1c79c14d151376213f967a28447a91b9d90ff6db5270ba0a809dfaed new file mode 100644 index 00000000..823e2f6b --- /dev/null +++ b/.pnpm-store/v3/files/b1/3db4ed432b4b1adae4bfabfd21550b22d0ac1743c844b681403d165fea26e18d12b27e1c79c14d151376213f967a28447a91b9d90ff6db5270ba0a809dfaed @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC","194":"LC MC fC 6B NC OC PC gC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC","194":"LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"CSS text-box-trim & text-box-edge",D:true}; diff --git a/.pnpm-store/v3/files/b1/6bb31fe4bd97d45493bca4874576c2d8a0d9f68c6e1bebd2f387eb9cb5b4bdd54537003c9f1d974529c3fbac1fd32ecac404657efffee20f7fa026f7594900 b/.pnpm-store/v3/files/b1/6bb31fe4bd97d45493bca4874576c2d8a0d9f68c6e1bebd2f387eb9cb5b4bdd54537003c9f1d974529c3fbac1fd32ecac404657efffee20f7fa026f7594900 new file mode 100644 index 00000000..b301d6cd --- /dev/null +++ b/.pnpm-store/v3/files/b1/6bb31fe4bd97d45493bca4874576c2d8a0d9f68c6e1bebd2f387eb9cb5b4bdd54537003c9f1d974529c3fbac1fd32ecac404657efffee20f7fa026f7594900 @@ -0,0 +1 @@ +module.exports={A:{A:{"4":"J D E SC","132":"F A B"},B:{"4":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","8":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB VC WC"},D:{"4":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","8":"I"},E:{"4":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","8":"I XC DC"},F:{"4":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","8":"F B C iC jC kC lC 2B QC mC 3B"},G:{"4":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","8":"DC nC RC"},H:{"8":"9C"},I:{"4":"7B I H DD RC ED FD","8":"AD BD CD"},J:{"4":"A","8":"D"},K:{"4":"u","8":"A B C 2B QC 3B"},L:{"4":"H"},M:{"1":"1B"},N:{"132":"A B"},O:{"4":"4B"},P:{"4":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"4":"FC"},R:{"4":"SD"},S:{"1":"TD UD"}},B:1,C:"Ruby annotation",D:true}; diff --git a/.pnpm-store/v3/files/b1/aa8189fb2335110f46f50f9cfed3f42e3a0ea709a75c2172d7fdc4ca040259809c8bc2f669a3b43bd58e266812791947faa5f18745683f54a6dc0047447dc9 b/.pnpm-store/v3/files/b1/aa8189fb2335110f46f50f9cfed3f42e3a0ea709a75c2172d7fdc4ca040259809c8bc2f669a3b43bd58e266812791947faa5f18745683f54a6dc0047447dc9 new file mode 100644 index 00000000..f5379dad --- /dev/null +++ b/.pnpm-store/v3/files/b1/aa8189fb2335110f46f50f9cfed3f42e3a0ea709a75c2172d7fdc4ca040259809c8bc2f669a3b43bd58e266812791947faa5f18745683f54a6dc0047447dc9 @@ -0,0 +1 @@ +module.exports={C:{"40":0.00478,"68":0.01434,"78":0.00478,"88":0.00478,"91":0.00956,"107":0.00478,"108":0.01434,"113":0.00478,"115":0.10516,"116":0.00478,"118":0.00478,"119":0.00956,"120":0.04302,"121":0.84606,"122":0.12428,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 109 110 111 112 114 117 123 124 125 3.5","3.6":0.00478},D:{"11":0.00478,"38":0.00478,"40":0.00478,"41":0.00478,"43":0.00478,"44":0.00956,"45":0.00478,"46":0.00956,"47":0.00478,"49":0.01434,"51":0.00956,"56":0.00956,"65":0.00478,"69":0.00478,"70":0.00956,"71":0.00478,"73":0.00478,"76":0.00478,"77":0.02868,"79":0.01912,"80":0.00478,"85":0.00478,"86":0.01434,"87":0.01434,"88":0.00478,"89":0.00478,"92":0.01912,"93":0.60228,"94":0.00478,"95":0.00478,"96":0.01434,"97":0.01434,"98":0.00956,"99":0.00478,"103":0.04302,"105":0.01434,"106":0.00478,"107":0.11472,"108":0.0239,"109":1.04204,"110":0.00478,"111":0.01434,"112":0.0478,"113":0.0239,"114":0.02868,"115":0.1195,"116":0.44454,"117":0.15296,"118":0.6931,"119":0.55926,"120":28.14464,"121":1.85464,"122":0.00478,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 42 48 50 52 53 54 55 57 58 59 60 61 62 63 64 66 67 68 72 74 75 78 81 83 84 90 91 100 101 102 104 123 124"},F:{"28":0.03346,"36":0.00478,"90":0.04302,"94":0.00956,"95":0.00478,"105":0.92254,"106":0.7409,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 91 92 93 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.0239,"107":0.00478,"108":0.00956,"109":0.02868,"112":0.02868,"114":0.05258,"116":0.00478,"117":0.01912,"118":0.00478,"119":0.10516,"120":5.06202,"121":0.66442,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 110 111 113 115"},E:{"8":0.00478,"9":0.01912,"14":0.0239,"15":0.00478,_:"0 4 5 6 7 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.05258,"13.1":0.05736,"14.1":0.08604,"15.1":0.0239,"15.2-15.3":0.01434,"15.4":0.01434,"15.5":0.01912,"15.6":0.21988,"16.0":0.0239,"16.1":0.05258,"16.2":0.03824,"16.3":0.18164,"16.4":0.0956,"16.5":0.09082,"16.6":0.43498,"17.0":0.239,"17.1":0.78392,"17.2":1.2667,"17.3":0.15296},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00337,"5.0-5.1":0.00506,"6.0-6.1":0.00843,"7.0-7.1":0.0118,"8.1-8.4":0.00169,"9.0-9.2":0.01011,"9.3":0.03876,"10.0-10.2":0.00337,"10.3":0.06067,"11.0-11.2":0.02359,"11.3-11.4":0.02528,"12.0-12.1":0.01517,"12.2-12.5":0.29999,"13.0-13.1":0.00506,"13.2":0.05562,"13.3":0.01517,"13.4-13.7":0.06741,"14.0-14.4":0.11797,"14.5-14.8":0.18033,"15.0-15.1":0.07753,"15.2-15.3":0.08932,"15.4":0.10449,"15.5":0.1382,"15.6-15.8":1.07693,"16.0":0.32359,"16.1":0.6893,"16.2":0.31347,"16.3":0.58313,"16.4":0.12977,"16.5":0.2764,"16.6-16.7":2.26172,"17.0":0.37583,"17.1":3.87459,"17.2":5.24477,"17.3":0.33707},P:{"4":0.08432,"20":0.01054,"21":0.0527,"22":0.04216,"23":2.36107,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 16.0 17.0","6.2-6.4":0.01054,"7.2-7.4":0.01054,"15.0":0.03162,"18.0":0.01054,"19.0":0.17919},I:{"0":0.24431,"3":0,"4":0.00005,"2.1":0,"2.2":0.00002,"2.3":0,"4.1":0.00005,"4.2-4.3":0.00017,"4.4":0,"4.4.3-4.4.4":0.00064},A:{"7":0.00478,"8":0.0478,"9":0.00956,"10":0.00478,"11":0.03824,_:"6 5.5"},K:{"0":0.45945,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00522,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.22972},H:{"0":0},L:{"0":31.20726},R:{_:"0"},M:{"0":0.21928}}; diff --git a/.pnpm-store/v3/files/b1/cc30b3149bfc7bec882e4cede5169d2ed67d3b3e3d134b48747a6c22d225baa09f2d1c8cdb460ad3926e4afb44528a2fb9c5258f76ce9f74c8f27bdf917216 b/.pnpm-store/v3/files/b1/cc30b3149bfc7bec882e4cede5169d2ed67d3b3e3d134b48747a6c22d225baa09f2d1c8cdb460ad3926e4afb44528a2fb9c5258f76ce9f74c8f27bdf917216 new file mode 100644 index 00000000..e9f662af --- /dev/null +++ b/.pnpm-store/v3/files/b1/cc30b3149bfc7bec882e4cede5169d2ed67d3b3e3d134b48747a6c22d225baa09f2d1c8cdb460ad3926e4afb44528a2fb9c5258f76ce9f74c8f27bdf917216 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 n o p v w x y z H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"Subresource Loading with Web Bundles",D:false}; diff --git a/.pnpm-store/v3/files/b2/04b39fabb95e4e12c3f4056e3d8dcb27caf2213ef005764ded1882c34156a649f89079ecc74b195f82d55741bb5031e14a704b6b04a2b3392fb96e17b8a124 b/.pnpm-store/v3/files/b2/04b39fabb95e4e12c3f4056e3d8dcb27caf2213ef005764ded1882c34156a649f89079ecc74b195f82d55741bb5031e14a704b6b04a2b3392fb96e17b8a124 new file mode 100644 index 00000000..07b80c34 --- /dev/null +++ b/.pnpm-store/v3/files/b2/04b39fabb95e4e12c3f4056e3d8dcb27caf2213ef005764ded1882c34156a649f89079ecc74b195f82d55741bb5031e14a704b6b04a2b3392fb96e17b8a124 @@ -0,0 +1,54 @@ +import { KeyObject } from 'node:crypto'; +import { JOSENotSupported } from '../util/errors.js'; +import { isCryptoKey } from './webcrypto.js'; +import isKeyObject from './is_key_object.js'; +import invalidKeyInput from '../lib/invalid_key_input.js'; +import { types } from './is_key_like.js'; +export const weakMap = new WeakMap(); +const namedCurveToJOSE = (namedCurve) => { + switch (namedCurve) { + case 'prime256v1': + return 'P-256'; + case 'secp384r1': + return 'P-384'; + case 'secp521r1': + return 'P-521'; + case 'secp256k1': + return 'secp256k1'; + default: + throw new JOSENotSupported('Unsupported key curve for this operation'); + } +}; +const getNamedCurve = (kee, raw) => { + let key; + if (isCryptoKey(kee)) { + key = KeyObject.from(kee); + } + else if (isKeyObject(kee)) { + key = kee; + } + else { + throw new TypeError(invalidKeyInput(kee, ...types)); + } + if (key.type === 'secret') { + throw new TypeError('only "private" or "public" type keys can be used for this operation'); + } + switch (key.asymmetricKeyType) { + case 'ed25519': + case 'ed448': + return `Ed${key.asymmetricKeyType.slice(2)}`; + case 'x25519': + case 'x448': + return `X${key.asymmetricKeyType.slice(1)}`; + case 'ec': { + const namedCurve = key.asymmetricKeyDetails.namedCurve; + if (raw) { + return namedCurve; + } + return namedCurveToJOSE(namedCurve); + } + default: + throw new TypeError('Invalid asymmetric key type for this operation'); + } +}; +export default getNamedCurve; diff --git a/.pnpm-store/v3/files/b2/1f0f59cfdfb4ca8001d16206ee85cba2543988ea0c9049bc88697c33321ebaf445ba7996266a7784e3b50fd181f2e328565bf8b331e61a66979a8e5b2d2abe-index.json b/.pnpm-store/v3/files/b2/1f0f59cfdfb4ca8001d16206ee85cba2543988ea0c9049bc88697c33321ebaf445ba7996266a7784e3b50fd181f2e328565bf8b331e61a66979a8e5b2d2abe-index.json new file mode 100644 index 00000000..62162017 --- /dev/null +++ b/.pnpm-store/v3/files/b2/1f0f59cfdfb4ca8001d16206ee85cba2543988ea0c9049bc88697c33321ebaf445ba7996266a7784e3b50fd181f2e328565bf8b331e61a66979a8e5b2d2abe-index.json @@ -0,0 +1 @@ +{"files":{"deprecated.json":{"checkedAt":1708001725532,"integrity":"sha512-RzpJkADnfZ6elKw4ro/oGYKen7Hh8g9Hfmo2cimsGrl71zOWZtb43wyASI+gvO4Qht78V5gmUvqSPfHS5+hSRw==","mode":420,"size":580},"index.json":{"checkedAt":1708001725532,"integrity":"sha512-vY/dhIKFSEzte2m161MCP6+ur4Z18nNlHbOskb0Rn9dHD2qEsUPhC54W/vZXn/4GhF7nifzsnuasmqV8IN2hyg==","mode":420,"size":9715},"package.json":{"checkedAt":1708001725532,"integrity":"sha512-xETMJXWqbxJzmZNgFYzStbwjQck8MspH2Wcj0yYEyaZzCy2hnpWLyt7jmEbH3IrNBoXFThEu1TKnibRRiOMXDA==","mode":420,"size":756},"README.md":{"checkedAt":1708001725532,"integrity":"sha512-8xJN0578fMaRgGvMQfq8+oadPUfv3H3l/mr3Nuw4IVViqfTHVPUKnm1gAcTOlVBdlrmZz1mj1LzBGtX4CGX7kQ==","mode":420,"size":1573}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/b2/48aa8ebdeee9a894dfe7e01c7afd66e69c5f6d86293f760aac73eb98787b58346141146b3c5aaccc4cc4d88d8b3b06b6d2fa929625170aa655484f885476e4 b/.pnpm-store/v3/files/b2/48aa8ebdeee9a894dfe7e01c7afd66e69c5f6d86293f760aac73eb98787b58346141146b3c5aaccc4cc4d88d8b3b06b6d2fa929625170aa655484f885476e4 new file mode 100644 index 00000000..88efdc8a --- /dev/null +++ b/.pnpm-store/v3/files/b2/48aa8ebdeee9a894dfe7e01c7afd66e69c5f6d86293f760aac73eb98787b58346141146b3c5aaccc4cc4d88d8b3b06b6d2fa929625170aa655484f885476e4 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB iC jC kC lC 2B QC mC 3B"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Arrow functions",D:true}; diff --git a/.pnpm-store/v3/files/b2/7d85af6cde5d009bfa34c33efa8ef115aab6a4d619f53043079ed102318c555d76b8bf6bc0aa3ac0c2acbf0c7a3f747b7fbe8f38c86db40edd08d5000920af b/.pnpm-store/v3/files/b2/7d85af6cde5d009bfa34c33efa8ef115aab6a4d619f53043079ed102318c555d76b8bf6bc0aa3ac0c2acbf0c7a3f747b7fbe8f38c86db40edd08d5000920af new file mode 100644 index 00000000..431839b6 --- /dev/null +++ b/.pnpm-store/v3/files/b2/7d85af6cde5d009bfa34c33efa8ef115aab6a4d619f53043079ed102318c555d76b8bf6bc0aa3ac0c2acbf0c7a3f747b7fbe8f38c86db40edd08d5000920af @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","132":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B","257":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"2":"9C"},I:{"1":"7B I H DD RC ED FD","2":"AD BD CD"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"defer attribute for external scripts",D:true}; diff --git a/.pnpm-store/v3/files/b2/816ec90f70ae64b4b2470d5f4d056b2467d5b2855372949dc632e7f457ab1ffe85bc3826e80f00f6943cabdf0d4114c8d2c2b903b96fd005f51e211f2b4c1e b/.pnpm-store/v3/files/b2/816ec90f70ae64b4b2470d5f4d056b2467d5b2855372949dc632e7f457ab1ffe85bc3826e80f00f6943cabdf0d4114c8d2c2b903b96fd005f51e211f2b4c1e new file mode 100644 index 00000000..cc36709e --- /dev/null +++ b/.pnpm-store/v3/files/b2/816ec90f70ae64b4b2470d5f4d056b2467d5b2855372949dc632e7f457ab1ffe85bc3826e80f00f6943cabdf0d4114c8d2c2b903b96fd005f51e211f2b4c1e @@ -0,0 +1,5965 @@ +/** + * MIT License + * + * Copyright (c) 2014-present, Lee Byron and other contributors. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +var DELETE = 'delete'; + +// Constants describing the size of trie nodes. +var SHIFT = 5; // Resulted in best performance after ______? +var SIZE = 1 << SHIFT; +var MASK = SIZE - 1; + +// A consistent shared value representing "not set" which equals nothing other +// than itself, and nothing that could be provided externally. +var NOT_SET = {}; + +// Boolean references, Rough equivalent of `bool &`. +function MakeRef() { + return { value: false }; +} + +function SetRef(ref) { + if (ref) { + ref.value = true; + } +} + +// A function which returns a value representing an "owner" for transient writes +// to tries. The return value will only ever equal itself, and will not equal +// the return of any subsequent call of this function. +function OwnerID() {} + +function ensureSize(iter) { + if (iter.size === undefined) { + iter.size = iter.__iterate(returnTrue); + } + return iter.size; +} + +function wrapIndex(iter, index) { + // This implements "is array index" which the ECMAString spec defines as: + // + // A String property name P is an array index if and only if + // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal + // to 2^32−1. + // + // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects + if (typeof index !== 'number') { + var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32 + if ('' + uint32Index !== index || uint32Index === 4294967295) { + return NaN; + } + index = uint32Index; + } + return index < 0 ? ensureSize(iter) + index : index; +} + +function returnTrue() { + return true; +} + +function wholeSlice(begin, end, size) { + return ( + ((begin === 0 && !isNeg(begin)) || + (size !== undefined && begin <= -size)) && + (end === undefined || (size !== undefined && end >= size)) + ); +} + +function resolveBegin(begin, size) { + return resolveIndex(begin, size, 0); +} + +function resolveEnd(end, size) { + return resolveIndex(end, size, size); +} + +function resolveIndex(index, size, defaultIndex) { + // Sanitize indices using this shorthand for ToInt32(argument) + // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32 + return index === undefined + ? defaultIndex + : isNeg(index) + ? size === Infinity + ? size + : Math.max(0, size + index) | 0 + : size === undefined || size === index + ? index + : Math.min(size, index) | 0; +} + +function isNeg(value) { + // Account for -0 which is negative, but not less than 0. + return value < 0 || (value === 0 && 1 / value === -Infinity); +} + +var IS_COLLECTION_SYMBOL = '@@__IMMUTABLE_ITERABLE__@@'; + +function isCollection(maybeCollection) { + return Boolean(maybeCollection && maybeCollection[IS_COLLECTION_SYMBOL]); +} + +var IS_KEYED_SYMBOL = '@@__IMMUTABLE_KEYED__@@'; + +function isKeyed(maybeKeyed) { + return Boolean(maybeKeyed && maybeKeyed[IS_KEYED_SYMBOL]); +} + +var IS_INDEXED_SYMBOL = '@@__IMMUTABLE_INDEXED__@@'; + +function isIndexed(maybeIndexed) { + return Boolean(maybeIndexed && maybeIndexed[IS_INDEXED_SYMBOL]); +} + +function isAssociative(maybeAssociative) { + return isKeyed(maybeAssociative) || isIndexed(maybeAssociative); +} + +var Collection = function Collection(value) { + return isCollection(value) ? value : Seq(value); +}; + +var KeyedCollection = /*@__PURE__*/(function (Collection) { + function KeyedCollection(value) { + return isKeyed(value) ? value : KeyedSeq(value); + } + + if ( Collection ) KeyedCollection.__proto__ = Collection; + KeyedCollection.prototype = Object.create( Collection && Collection.prototype ); + KeyedCollection.prototype.constructor = KeyedCollection; + + return KeyedCollection; +}(Collection)); + +var IndexedCollection = /*@__PURE__*/(function (Collection) { + function IndexedCollection(value) { + return isIndexed(value) ? value : IndexedSeq(value); + } + + if ( Collection ) IndexedCollection.__proto__ = Collection; + IndexedCollection.prototype = Object.create( Collection && Collection.prototype ); + IndexedCollection.prototype.constructor = IndexedCollection; + + return IndexedCollection; +}(Collection)); + +var SetCollection = /*@__PURE__*/(function (Collection) { + function SetCollection(value) { + return isCollection(value) && !isAssociative(value) ? value : SetSeq(value); + } + + if ( Collection ) SetCollection.__proto__ = Collection; + SetCollection.prototype = Object.create( Collection && Collection.prototype ); + SetCollection.prototype.constructor = SetCollection; + + return SetCollection; +}(Collection)); + +Collection.Keyed = KeyedCollection; +Collection.Indexed = IndexedCollection; +Collection.Set = SetCollection; + +var IS_SEQ_SYMBOL = '@@__IMMUTABLE_SEQ__@@'; + +function isSeq(maybeSeq) { + return Boolean(maybeSeq && maybeSeq[IS_SEQ_SYMBOL]); +} + +var IS_RECORD_SYMBOL = '@@__IMMUTABLE_RECORD__@@'; + +function isRecord(maybeRecord) { + return Boolean(maybeRecord && maybeRecord[IS_RECORD_SYMBOL]); +} + +function isImmutable(maybeImmutable) { + return isCollection(maybeImmutable) || isRecord(maybeImmutable); +} + +var IS_ORDERED_SYMBOL = '@@__IMMUTABLE_ORDERED__@@'; + +function isOrdered(maybeOrdered) { + return Boolean(maybeOrdered && maybeOrdered[IS_ORDERED_SYMBOL]); +} + +var ITERATE_KEYS = 0; +var ITERATE_VALUES = 1; +var ITERATE_ENTRIES = 2; + +var REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; +var FAUX_ITERATOR_SYMBOL = '@@iterator'; + +var ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL; + +var Iterator = function Iterator(next) { + this.next = next; +}; + +Iterator.prototype.toString = function toString () { + return '[Iterator]'; +}; + +Iterator.KEYS = ITERATE_KEYS; +Iterator.VALUES = ITERATE_VALUES; +Iterator.ENTRIES = ITERATE_ENTRIES; + +Iterator.prototype.inspect = Iterator.prototype.toSource = function () { + return this.toString(); +}; +Iterator.prototype[ITERATOR_SYMBOL] = function () { + return this; +}; + +function iteratorValue(type, k, v, iteratorResult) { + var value = type === 0 ? k : type === 1 ? v : [k, v]; + iteratorResult + ? (iteratorResult.value = value) + : (iteratorResult = { + value: value, + done: false, + }); + return iteratorResult; +} + +function iteratorDone() { + return { value: undefined, done: true }; +} + +function hasIterator(maybeIterable) { + if (Array.isArray(maybeIterable)) { + // IE11 trick as it does not support `Symbol.iterator` + return true; + } + + return !!getIteratorFn(maybeIterable); +} + +function isIterator(maybeIterator) { + return maybeIterator && typeof maybeIterator.next === 'function'; +} + +function getIterator(iterable) { + var iteratorFn = getIteratorFn(iterable); + return iteratorFn && iteratorFn.call(iterable); +} + +function getIteratorFn(iterable) { + var iteratorFn = + iterable && + ((REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) || + iterable[FAUX_ITERATOR_SYMBOL]); + if (typeof iteratorFn === 'function') { + return iteratorFn; + } +} + +function isEntriesIterable(maybeIterable) { + var iteratorFn = getIteratorFn(maybeIterable); + return iteratorFn && iteratorFn === maybeIterable.entries; +} + +function isKeysIterable(maybeIterable) { + var iteratorFn = getIteratorFn(maybeIterable); + return iteratorFn && iteratorFn === maybeIterable.keys; +} + +var hasOwnProperty = Object.prototype.hasOwnProperty; + +function isArrayLike(value) { + if (Array.isArray(value) || typeof value === 'string') { + return true; + } + + return ( + value && + typeof value === 'object' && + Number.isInteger(value.length) && + value.length >= 0 && + (value.length === 0 + ? // Only {length: 0} is considered Array-like. + Object.keys(value).length === 1 + : // An object is only Array-like if it has a property where the last value + // in the array-like may be found (which could be undefined). + value.hasOwnProperty(value.length - 1)) + ); +} + +var Seq = /*@__PURE__*/(function (Collection) { + function Seq(value) { + return value === undefined || value === null + ? emptySequence() + : isImmutable(value) + ? value.toSeq() + : seqFromValue(value); + } + + if ( Collection ) Seq.__proto__ = Collection; + Seq.prototype = Object.create( Collection && Collection.prototype ); + Seq.prototype.constructor = Seq; + + Seq.prototype.toSeq = function toSeq () { + return this; + }; + + Seq.prototype.toString = function toString () { + return this.__toString('Seq {', '}'); + }; + + Seq.prototype.cacheResult = function cacheResult () { + if (!this._cache && this.__iterateUncached) { + this._cache = this.entrySeq().toArray(); + this.size = this._cache.length; + } + return this; + }; + + // abstract __iterateUncached(fn, reverse) + + Seq.prototype.__iterate = function __iterate (fn, reverse) { + var cache = this._cache; + if (cache) { + var size = cache.length; + var i = 0; + while (i !== size) { + var entry = cache[reverse ? size - ++i : i++]; + if (fn(entry[1], entry[0], this) === false) { + break; + } + } + return i; + } + return this.__iterateUncached(fn, reverse); + }; + + // abstract __iteratorUncached(type, reverse) + + Seq.prototype.__iterator = function __iterator (type, reverse) { + var cache = this._cache; + if (cache) { + var size = cache.length; + var i = 0; + return new Iterator(function () { + if (i === size) { + return iteratorDone(); + } + var entry = cache[reverse ? size - ++i : i++]; + return iteratorValue(type, entry[0], entry[1]); + }); + } + return this.__iteratorUncached(type, reverse); + }; + + return Seq; +}(Collection)); + +var KeyedSeq = /*@__PURE__*/(function (Seq) { + function KeyedSeq(value) { + return value === undefined || value === null + ? emptySequence().toKeyedSeq() + : isCollection(value) + ? isKeyed(value) + ? value.toSeq() + : value.fromEntrySeq() + : isRecord(value) + ? value.toSeq() + : keyedSeqFromValue(value); + } + + if ( Seq ) KeyedSeq.__proto__ = Seq; + KeyedSeq.prototype = Object.create( Seq && Seq.prototype ); + KeyedSeq.prototype.constructor = KeyedSeq; + + KeyedSeq.prototype.toKeyedSeq = function toKeyedSeq () { + return this; + }; + + return KeyedSeq; +}(Seq)); + +var IndexedSeq = /*@__PURE__*/(function (Seq) { + function IndexedSeq(value) { + return value === undefined || value === null + ? emptySequence() + : isCollection(value) + ? isKeyed(value) + ? value.entrySeq() + : value.toIndexedSeq() + : isRecord(value) + ? value.toSeq().entrySeq() + : indexedSeqFromValue(value); + } + + if ( Seq ) IndexedSeq.__proto__ = Seq; + IndexedSeq.prototype = Object.create( Seq && Seq.prototype ); + IndexedSeq.prototype.constructor = IndexedSeq; + + IndexedSeq.of = function of (/*...values*/) { + return IndexedSeq(arguments); + }; + + IndexedSeq.prototype.toIndexedSeq = function toIndexedSeq () { + return this; + }; + + IndexedSeq.prototype.toString = function toString () { + return this.__toString('Seq [', ']'); + }; + + return IndexedSeq; +}(Seq)); + +var SetSeq = /*@__PURE__*/(function (Seq) { + function SetSeq(value) { + return ( + isCollection(value) && !isAssociative(value) ? value : IndexedSeq(value) + ).toSetSeq(); + } + + if ( Seq ) SetSeq.__proto__ = Seq; + SetSeq.prototype = Object.create( Seq && Seq.prototype ); + SetSeq.prototype.constructor = SetSeq; + + SetSeq.of = function of (/*...values*/) { + return SetSeq(arguments); + }; + + SetSeq.prototype.toSetSeq = function toSetSeq () { + return this; + }; + + return SetSeq; +}(Seq)); + +Seq.isSeq = isSeq; +Seq.Keyed = KeyedSeq; +Seq.Set = SetSeq; +Seq.Indexed = IndexedSeq; + +Seq.prototype[IS_SEQ_SYMBOL] = true; + +// #pragma Root Sequences + +var ArraySeq = /*@__PURE__*/(function (IndexedSeq) { + function ArraySeq(array) { + this._array = array; + this.size = array.length; + } + + if ( IndexedSeq ) ArraySeq.__proto__ = IndexedSeq; + ArraySeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype ); + ArraySeq.prototype.constructor = ArraySeq; + + ArraySeq.prototype.get = function get (index, notSetValue) { + return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue; + }; + + ArraySeq.prototype.__iterate = function __iterate (fn, reverse) { + var array = this._array; + var size = array.length; + var i = 0; + while (i !== size) { + var ii = reverse ? size - ++i : i++; + if (fn(array[ii], ii, this) === false) { + break; + } + } + return i; + }; + + ArraySeq.prototype.__iterator = function __iterator (type, reverse) { + var array = this._array; + var size = array.length; + var i = 0; + return new Iterator(function () { + if (i === size) { + return iteratorDone(); + } + var ii = reverse ? size - ++i : i++; + return iteratorValue(type, ii, array[ii]); + }); + }; + + return ArraySeq; +}(IndexedSeq)); + +var ObjectSeq = /*@__PURE__*/(function (KeyedSeq) { + function ObjectSeq(object) { + var keys = Object.keys(object).concat( + Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : [] + ); + this._object = object; + this._keys = keys; + this.size = keys.length; + } + + if ( KeyedSeq ) ObjectSeq.__proto__ = KeyedSeq; + ObjectSeq.prototype = Object.create( KeyedSeq && KeyedSeq.prototype ); + ObjectSeq.prototype.constructor = ObjectSeq; + + ObjectSeq.prototype.get = function get (key, notSetValue) { + if (notSetValue !== undefined && !this.has(key)) { + return notSetValue; + } + return this._object[key]; + }; + + ObjectSeq.prototype.has = function has (key) { + return hasOwnProperty.call(this._object, key); + }; + + ObjectSeq.prototype.__iterate = function __iterate (fn, reverse) { + var object = this._object; + var keys = this._keys; + var size = keys.length; + var i = 0; + while (i !== size) { + var key = keys[reverse ? size - ++i : i++]; + if (fn(object[key], key, this) === false) { + break; + } + } + return i; + }; + + ObjectSeq.prototype.__iterator = function __iterator (type, reverse) { + var object = this._object; + var keys = this._keys; + var size = keys.length; + var i = 0; + return new Iterator(function () { + if (i === size) { + return iteratorDone(); + } + var key = keys[reverse ? size - ++i : i++]; + return iteratorValue(type, key, object[key]); + }); + }; + + return ObjectSeq; +}(KeyedSeq)); +ObjectSeq.prototype[IS_ORDERED_SYMBOL] = true; + +var CollectionSeq = /*@__PURE__*/(function (IndexedSeq) { + function CollectionSeq(collection) { + this._collection = collection; + this.size = collection.length || collection.size; + } + + if ( IndexedSeq ) CollectionSeq.__proto__ = IndexedSeq; + CollectionSeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype ); + CollectionSeq.prototype.constructor = CollectionSeq; + + CollectionSeq.prototype.__iterateUncached = function __iterateUncached (fn, reverse) { + if (reverse) { + return this.cacheResult().__iterate(fn, reverse); + } + var collection = this._collection; + var iterator = getIterator(collection); + var iterations = 0; + if (isIterator(iterator)) { + var step; + while (!(step = iterator.next()).done) { + if (fn(step.value, iterations++, this) === false) { + break; + } + } + } + return iterations; + }; + + CollectionSeq.prototype.__iteratorUncached = function __iteratorUncached (type, reverse) { + if (reverse) { + return this.cacheResult().__iterator(type, reverse); + } + var collection = this._collection; + var iterator = getIterator(collection); + if (!isIterator(iterator)) { + return new Iterator(iteratorDone); + } + var iterations = 0; + return new Iterator(function () { + var step = iterator.next(); + return step.done ? step : iteratorValue(type, iterations++, step.value); + }); + }; + + return CollectionSeq; +}(IndexedSeq)); + +// # pragma Helper functions + +var EMPTY_SEQ; + +function emptySequence() { + return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([])); +} + +function keyedSeqFromValue(value) { + var seq = maybeIndexedSeqFromValue(value); + if (seq) { + return seq.fromEntrySeq(); + } + if (typeof value === 'object') { + return new ObjectSeq(value); + } + throw new TypeError( + 'Expected Array or collection object of [k, v] entries, or keyed object: ' + + value + ); +} + +function indexedSeqFromValue(value) { + var seq = maybeIndexedSeqFromValue(value); + if (seq) { + return seq; + } + throw new TypeError( + 'Expected Array or collection object of values: ' + value + ); +} + +function seqFromValue(value) { + var seq = maybeIndexedSeqFromValue(value); + if (seq) { + return isEntriesIterable(value) + ? seq.fromEntrySeq() + : isKeysIterable(value) + ? seq.toSetSeq() + : seq; + } + if (typeof value === 'object') { + return new ObjectSeq(value); + } + throw new TypeError( + 'Expected Array or collection object of values, or keyed object: ' + value + ); +} + +function maybeIndexedSeqFromValue(value) { + return isArrayLike(value) + ? new ArraySeq(value) + : hasIterator(value) + ? new CollectionSeq(value) + : undefined; +} + +var IS_MAP_SYMBOL = '@@__IMMUTABLE_MAP__@@'; + +function isMap(maybeMap) { + return Boolean(maybeMap && maybeMap[IS_MAP_SYMBOL]); +} + +function isOrderedMap(maybeOrderedMap) { + return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap); +} + +function isValueObject(maybeValue) { + return Boolean( + maybeValue && + typeof maybeValue.equals === 'function' && + typeof maybeValue.hashCode === 'function' + ); +} + +/** + * An extension of the "same-value" algorithm as [described for use by ES6 Map + * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality) + * + * NaN is considered the same as NaN, however -0 and 0 are considered the same + * value, which is different from the algorithm described by + * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is). + * + * This is extended further to allow Objects to describe the values they + * represent, by way of `valueOf` or `equals` (and `hashCode`). + * + * Note: because of this extension, the key equality of Immutable.Map and the + * value equality of Immutable.Set will differ from ES6 Map and Set. + * + * ### Defining custom values + * + * The easiest way to describe the value an object represents is by implementing + * `valueOf`. For example, `Date` represents a value by returning a unix + * timestamp for `valueOf`: + * + * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ... + * var date2 = new Date(1234567890000); + * date1.valueOf(); // 1234567890000 + * assert( date1 !== date2 ); + * assert( Immutable.is( date1, date2 ) ); + * + * Note: overriding `valueOf` may have other implications if you use this object + * where JavaScript expects a primitive, such as implicit string coercion. + * + * For more complex types, especially collections, implementing `valueOf` may + * not be performant. An alternative is to implement `equals` and `hashCode`. + * + * `equals` takes another object, presumably of similar type, and returns true + * if it is equal. Equality is symmetrical, so the same result should be + * returned if this and the argument are flipped. + * + * assert( a.equals(b) === b.equals(a) ); + * + * `hashCode` returns a 32bit integer number representing the object which will + * be used to determine how to store the value object in a Map or Set. You must + * provide both or neither methods, one must not exist without the other. + * + * Also, an important relationship between these methods must be upheld: if two + * values are equal, they *must* return the same hashCode. If the values are not + * equal, they might have the same hashCode; this is called a hash collision, + * and while undesirable for performance reasons, it is acceptable. + * + * if (a.equals(b)) { + * assert( a.hashCode() === b.hashCode() ); + * } + * + * All Immutable collections are Value Objects: they implement `equals()` + * and `hashCode()`. + */ +function is(valueA, valueB) { + if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) { + return true; + } + if (!valueA || !valueB) { + return false; + } + if ( + typeof valueA.valueOf === 'function' && + typeof valueB.valueOf === 'function' + ) { + valueA = valueA.valueOf(); + valueB = valueB.valueOf(); + if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) { + return true; + } + if (!valueA || !valueB) { + return false; + } + } + return !!( + isValueObject(valueA) && + isValueObject(valueB) && + valueA.equals(valueB) + ); +} + +var imul = + typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2 + ? Math.imul + : function imul(a, b) { + a |= 0; // int + b |= 0; // int + var c = a & 0xffff; + var d = b & 0xffff; + // Shift by 0 fixes the sign on the high part. + return (c * d + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0)) | 0; // int + }; + +// v8 has an optimization for storing 31-bit signed numbers. +// Values which have either 00 or 11 as the high order bits qualify. +// This function drops the highest order bit in a signed number, maintaining +// the sign bit. +function smi(i32) { + return ((i32 >>> 1) & 0x40000000) | (i32 & 0xbfffffff); +} + +var defaultValueOf = Object.prototype.valueOf; + +function hash(o) { + if (o == null) { + return hashNullish(o); + } + + if (typeof o.hashCode === 'function') { + // Drop any high bits from accidentally long hash codes. + return smi(o.hashCode(o)); + } + + var v = valueOf(o); + + if (v == null) { + return hashNullish(v); + } + + switch (typeof v) { + case 'boolean': + // The hash values for built-in constants are a 1 value for each 5-byte + // shift region expect for the first, which encodes the value. This + // reduces the odds of a hash collision for these common values. + return v ? 0x42108421 : 0x42108420; + case 'number': + return hashNumber(v); + case 'string': + return v.length > STRING_HASH_CACHE_MIN_STRLEN + ? cachedHashString(v) + : hashString(v); + case 'object': + case 'function': + return hashJSObj(v); + case 'symbol': + return hashSymbol(v); + default: + if (typeof v.toString === 'function') { + return hashString(v.toString()); + } + throw new Error('Value type ' + typeof v + ' cannot be hashed.'); + } +} + +function hashNullish(nullish) { + return nullish === null ? 0x42108422 : /* undefined */ 0x42108423; +} + +// Compress arbitrarily large numbers into smi hashes. +function hashNumber(n) { + if (n !== n || n === Infinity) { + return 0; + } + var hash = n | 0; + if (hash !== n) { + hash ^= n * 0xffffffff; + } + while (n > 0xffffffff) { + n /= 0xffffffff; + hash ^= n; + } + return smi(hash); +} + +function cachedHashString(string) { + var hashed = stringHashCache[string]; + if (hashed === undefined) { + hashed = hashString(string); + if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) { + STRING_HASH_CACHE_SIZE = 0; + stringHashCache = {}; + } + STRING_HASH_CACHE_SIZE++; + stringHashCache[string] = hashed; + } + return hashed; +} + +// http://jsperf.com/hashing-strings +function hashString(string) { + // This is the hash from JVM + // The hash code for a string is computed as + // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1], + // where s[i] is the ith character of the string and n is the length of + // the string. We "mod" the result to make it between 0 (inclusive) and 2^31 + // (exclusive) by dropping high bits. + var hashed = 0; + for (var ii = 0; ii < string.length; ii++) { + hashed = (31 * hashed + string.charCodeAt(ii)) | 0; + } + return smi(hashed); +} + +function hashSymbol(sym) { + var hashed = symbolMap[sym]; + if (hashed !== undefined) { + return hashed; + } + + hashed = nextHash(); + + symbolMap[sym] = hashed; + + return hashed; +} + +function hashJSObj(obj) { + var hashed; + if (usingWeakMap) { + hashed = weakMap.get(obj); + if (hashed !== undefined) { + return hashed; + } + } + + hashed = obj[UID_HASH_KEY]; + if (hashed !== undefined) { + return hashed; + } + + if (!canDefineProperty) { + hashed = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY]; + if (hashed !== undefined) { + return hashed; + } + + hashed = getIENodeHash(obj); + if (hashed !== undefined) { + return hashed; + } + } + + hashed = nextHash(); + + if (usingWeakMap) { + weakMap.set(obj, hashed); + } else if (isExtensible !== undefined && isExtensible(obj) === false) { + throw new Error('Non-extensible objects are not allowed as keys.'); + } else if (canDefineProperty) { + Object.defineProperty(obj, UID_HASH_KEY, { + enumerable: false, + configurable: false, + writable: false, + value: hashed, + }); + } else if ( + obj.propertyIsEnumerable !== undefined && + obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable + ) { + // Since we can't define a non-enumerable property on the object + // we'll hijack one of the less-used non-enumerable properties to + // save our hash on it. Since this is a function it will not show up in + // `JSON.stringify` which is what we want. + obj.propertyIsEnumerable = function () { + return this.constructor.prototype.propertyIsEnumerable.apply( + this, + arguments + ); + }; + obj.propertyIsEnumerable[UID_HASH_KEY] = hashed; + } else if (obj.nodeType !== undefined) { + // At this point we couldn't get the IE `uniqueID` to use as a hash + // and we couldn't use a non-enumerable property to exploit the + // dontEnum bug so we simply add the `UID_HASH_KEY` on the node + // itself. + obj[UID_HASH_KEY] = hashed; + } else { + throw new Error('Unable to set a non-enumerable property on object.'); + } + + return hashed; +} + +// Get references to ES5 object methods. +var isExtensible = Object.isExtensible; + +// True if Object.defineProperty works as expected. IE8 fails this test. +var canDefineProperty = (function () { + try { + Object.defineProperty({}, '@', {}); + return true; + } catch (e) { + return false; + } +})(); + +// IE has a `uniqueID` property on DOM nodes. We can construct the hash from it +// and avoid memory leaks from the IE cloneNode bug. +function getIENodeHash(node) { + if (node && node.nodeType > 0) { + switch (node.nodeType) { + case 1: // Element + return node.uniqueID; + case 9: // Document + return node.documentElement && node.documentElement.uniqueID; + } + } +} + +function valueOf(obj) { + return obj.valueOf !== defaultValueOf && typeof obj.valueOf === 'function' + ? obj.valueOf(obj) + : obj; +} + +function nextHash() { + var nextHash = ++_objHashUID; + if (_objHashUID & 0x40000000) { + _objHashUID = 0; + } + return nextHash; +} + +// If possible, use a WeakMap. +var usingWeakMap = typeof WeakMap === 'function'; +var weakMap; +if (usingWeakMap) { + weakMap = new WeakMap(); +} + +var symbolMap = Object.create(null); + +var _objHashUID = 0; + +var UID_HASH_KEY = '__immutablehash__'; +if (typeof Symbol === 'function') { + UID_HASH_KEY = Symbol(UID_HASH_KEY); +} + +var STRING_HASH_CACHE_MIN_STRLEN = 16; +var STRING_HASH_CACHE_MAX_SIZE = 255; +var STRING_HASH_CACHE_SIZE = 0; +var stringHashCache = {}; + +var ToKeyedSequence = /*@__PURE__*/(function (KeyedSeq) { + function ToKeyedSequence(indexed, useKeys) { + this._iter = indexed; + this._useKeys = useKeys; + this.size = indexed.size; + } + + if ( KeyedSeq ) ToKeyedSequence.__proto__ = KeyedSeq; + ToKeyedSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype ); + ToKeyedSequence.prototype.constructor = ToKeyedSequence; + + ToKeyedSequence.prototype.get = function get (key, notSetValue) { + return this._iter.get(key, notSetValue); + }; + + ToKeyedSequence.prototype.has = function has (key) { + return this._iter.has(key); + }; + + ToKeyedSequence.prototype.valueSeq = function valueSeq () { + return this._iter.valueSeq(); + }; + + ToKeyedSequence.prototype.reverse = function reverse () { + var this$1$1 = this; + + var reversedSequence = reverseFactory(this, true); + if (!this._useKeys) { + reversedSequence.valueSeq = function () { return this$1$1._iter.toSeq().reverse(); }; + } + return reversedSequence; + }; + + ToKeyedSequence.prototype.map = function map (mapper, context) { + var this$1$1 = this; + + var mappedSequence = mapFactory(this, mapper, context); + if (!this._useKeys) { + mappedSequence.valueSeq = function () { return this$1$1._iter.toSeq().map(mapper, context); }; + } + return mappedSequence; + }; + + ToKeyedSequence.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + return this._iter.__iterate(function (v, k) { return fn(v, k, this$1$1); }, reverse); + }; + + ToKeyedSequence.prototype.__iterator = function __iterator (type, reverse) { + return this._iter.__iterator(type, reverse); + }; + + return ToKeyedSequence; +}(KeyedSeq)); +ToKeyedSequence.prototype[IS_ORDERED_SYMBOL] = true; + +var ToIndexedSequence = /*@__PURE__*/(function (IndexedSeq) { + function ToIndexedSequence(iter) { + this._iter = iter; + this.size = iter.size; + } + + if ( IndexedSeq ) ToIndexedSequence.__proto__ = IndexedSeq; + ToIndexedSequence.prototype = Object.create( IndexedSeq && IndexedSeq.prototype ); + ToIndexedSequence.prototype.constructor = ToIndexedSequence; + + ToIndexedSequence.prototype.includes = function includes (value) { + return this._iter.includes(value); + }; + + ToIndexedSequence.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + var i = 0; + reverse && ensureSize(this); + return this._iter.__iterate( + function (v) { return fn(v, reverse ? this$1$1.size - ++i : i++, this$1$1); }, + reverse + ); + }; + + ToIndexedSequence.prototype.__iterator = function __iterator (type, reverse) { + var this$1$1 = this; + + var iterator = this._iter.__iterator(ITERATE_VALUES, reverse); + var i = 0; + reverse && ensureSize(this); + return new Iterator(function () { + var step = iterator.next(); + return step.done + ? step + : iteratorValue( + type, + reverse ? this$1$1.size - ++i : i++, + step.value, + step + ); + }); + }; + + return ToIndexedSequence; +}(IndexedSeq)); + +var ToSetSequence = /*@__PURE__*/(function (SetSeq) { + function ToSetSequence(iter) { + this._iter = iter; + this.size = iter.size; + } + + if ( SetSeq ) ToSetSequence.__proto__ = SetSeq; + ToSetSequence.prototype = Object.create( SetSeq && SetSeq.prototype ); + ToSetSequence.prototype.constructor = ToSetSequence; + + ToSetSequence.prototype.has = function has (key) { + return this._iter.includes(key); + }; + + ToSetSequence.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + return this._iter.__iterate(function (v) { return fn(v, v, this$1$1); }, reverse); + }; + + ToSetSequence.prototype.__iterator = function __iterator (type, reverse) { + var iterator = this._iter.__iterator(ITERATE_VALUES, reverse); + return new Iterator(function () { + var step = iterator.next(); + return step.done + ? step + : iteratorValue(type, step.value, step.value, step); + }); + }; + + return ToSetSequence; +}(SetSeq)); + +var FromEntriesSequence = /*@__PURE__*/(function (KeyedSeq) { + function FromEntriesSequence(entries) { + this._iter = entries; + this.size = entries.size; + } + + if ( KeyedSeq ) FromEntriesSequence.__proto__ = KeyedSeq; + FromEntriesSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype ); + FromEntriesSequence.prototype.constructor = FromEntriesSequence; + + FromEntriesSequence.prototype.entrySeq = function entrySeq () { + return this._iter.toSeq(); + }; + + FromEntriesSequence.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + return this._iter.__iterate(function (entry) { + // Check if entry exists first so array access doesn't throw for holes + // in the parent iteration. + if (entry) { + validateEntry(entry); + var indexedCollection = isCollection(entry); + return fn( + indexedCollection ? entry.get(1) : entry[1], + indexedCollection ? entry.get(0) : entry[0], + this$1$1 + ); + } + }, reverse); + }; + + FromEntriesSequence.prototype.__iterator = function __iterator (type, reverse) { + var iterator = this._iter.__iterator(ITERATE_VALUES, reverse); + return new Iterator(function () { + while (true) { + var step = iterator.next(); + if (step.done) { + return step; + } + var entry = step.value; + // Check if entry exists first so array access doesn't throw for holes + // in the parent iteration. + if (entry) { + validateEntry(entry); + var indexedCollection = isCollection(entry); + return iteratorValue( + type, + indexedCollection ? entry.get(0) : entry[0], + indexedCollection ? entry.get(1) : entry[1], + step + ); + } + } + }); + }; + + return FromEntriesSequence; +}(KeyedSeq)); + +ToIndexedSequence.prototype.cacheResult = + ToKeyedSequence.prototype.cacheResult = + ToSetSequence.prototype.cacheResult = + FromEntriesSequence.prototype.cacheResult = + cacheResultThrough; + +function flipFactory(collection) { + var flipSequence = makeSequence(collection); + flipSequence._iter = collection; + flipSequence.size = collection.size; + flipSequence.flip = function () { return collection; }; + flipSequence.reverse = function () { + var reversedSequence = collection.reverse.apply(this); // super.reverse() + reversedSequence.flip = function () { return collection.reverse(); }; + return reversedSequence; + }; + flipSequence.has = function (key) { return collection.includes(key); }; + flipSequence.includes = function (key) { return collection.has(key); }; + flipSequence.cacheResult = cacheResultThrough; + flipSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + return collection.__iterate(function (v, k) { return fn(k, v, this$1$1) !== false; }, reverse); + }; + flipSequence.__iteratorUncached = function (type, reverse) { + if (type === ITERATE_ENTRIES) { + var iterator = collection.__iterator(type, reverse); + return new Iterator(function () { + var step = iterator.next(); + if (!step.done) { + var k = step.value[0]; + step.value[0] = step.value[1]; + step.value[1] = k; + } + return step; + }); + } + return collection.__iterator( + type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES, + reverse + ); + }; + return flipSequence; +} + +function mapFactory(collection, mapper, context) { + var mappedSequence = makeSequence(collection); + mappedSequence.size = collection.size; + mappedSequence.has = function (key) { return collection.has(key); }; + mappedSequence.get = function (key, notSetValue) { + var v = collection.get(key, NOT_SET); + return v === NOT_SET + ? notSetValue + : mapper.call(context, v, key, collection); + }; + mappedSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + return collection.__iterate( + function (v, k, c) { return fn(mapper.call(context, v, k, c), k, this$1$1) !== false; }, + reverse + ); + }; + mappedSequence.__iteratorUncached = function (type, reverse) { + var iterator = collection.__iterator(ITERATE_ENTRIES, reverse); + return new Iterator(function () { + var step = iterator.next(); + if (step.done) { + return step; + } + var entry = step.value; + var key = entry[0]; + return iteratorValue( + type, + key, + mapper.call(context, entry[1], key, collection), + step + ); + }); + }; + return mappedSequence; +} + +function reverseFactory(collection, useKeys) { + var this$1$1 = this; + + var reversedSequence = makeSequence(collection); + reversedSequence._iter = collection; + reversedSequence.size = collection.size; + reversedSequence.reverse = function () { return collection; }; + if (collection.flip) { + reversedSequence.flip = function () { + var flipSequence = flipFactory(collection); + flipSequence.reverse = function () { return collection.flip(); }; + return flipSequence; + }; + } + reversedSequence.get = function (key, notSetValue) { return collection.get(useKeys ? key : -1 - key, notSetValue); }; + reversedSequence.has = function (key) { return collection.has(useKeys ? key : -1 - key); }; + reversedSequence.includes = function (value) { return collection.includes(value); }; + reversedSequence.cacheResult = cacheResultThrough; + reversedSequence.__iterate = function (fn, reverse) { + var this$1$1 = this; + + var i = 0; + reverse && ensureSize(collection); + return collection.__iterate( + function (v, k) { return fn(v, useKeys ? k : reverse ? this$1$1.size - ++i : i++, this$1$1); }, + !reverse + ); + }; + reversedSequence.__iterator = function (type, reverse) { + var i = 0; + reverse && ensureSize(collection); + var iterator = collection.__iterator(ITERATE_ENTRIES, !reverse); + return new Iterator(function () { + var step = iterator.next(); + if (step.done) { + return step; + } + var entry = step.value; + return iteratorValue( + type, + useKeys ? entry[0] : reverse ? this$1$1.size - ++i : i++, + entry[1], + step + ); + }); + }; + return reversedSequence; +} + +function filterFactory(collection, predicate, context, useKeys) { + var filterSequence = makeSequence(collection); + if (useKeys) { + filterSequence.has = function (key) { + var v = collection.get(key, NOT_SET); + return v !== NOT_SET && !!predicate.call(context, v, key, collection); + }; + filterSequence.get = function (key, notSetValue) { + var v = collection.get(key, NOT_SET); + return v !== NOT_SET && predicate.call(context, v, key, collection) + ? v + : notSetValue; + }; + } + filterSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + var iterations = 0; + collection.__iterate(function (v, k, c) { + if (predicate.call(context, v, k, c)) { + iterations++; + return fn(v, useKeys ? k : iterations - 1, this$1$1); + } + }, reverse); + return iterations; + }; + filterSequence.__iteratorUncached = function (type, reverse) { + var iterator = collection.__iterator(ITERATE_ENTRIES, reverse); + var iterations = 0; + return new Iterator(function () { + while (true) { + var step = iterator.next(); + if (step.done) { + return step; + } + var entry = step.value; + var key = entry[0]; + var value = entry[1]; + if (predicate.call(context, value, key, collection)) { + return iteratorValue(type, useKeys ? key : iterations++, value, step); + } + } + }); + }; + return filterSequence; +} + +function countByFactory(collection, grouper, context) { + var groups = Map().asMutable(); + collection.__iterate(function (v, k) { + groups.update(grouper.call(context, v, k, collection), 0, function (a) { return a + 1; }); + }); + return groups.asImmutable(); +} + +function groupByFactory(collection, grouper, context) { + var isKeyedIter = isKeyed(collection); + var groups = (isOrdered(collection) ? OrderedMap() : Map()).asMutable(); + collection.__iterate(function (v, k) { + groups.update( + grouper.call(context, v, k, collection), + function (a) { return ((a = a || []), a.push(isKeyedIter ? [k, v] : v), a); } + ); + }); + var coerce = collectionClass(collection); + return groups.map(function (arr) { return reify(collection, coerce(arr)); }).asImmutable(); +} + +function partitionFactory(collection, predicate, context) { + var isKeyedIter = isKeyed(collection); + var groups = [[], []]; + collection.__iterate(function (v, k) { + groups[predicate.call(context, v, k, collection) ? 1 : 0].push( + isKeyedIter ? [k, v] : v + ); + }); + var coerce = collectionClass(collection); + return groups.map(function (arr) { return reify(collection, coerce(arr)); }); +} + +function sliceFactory(collection, begin, end, useKeys) { + var originalSize = collection.size; + + if (wholeSlice(begin, end, originalSize)) { + return collection; + } + + var resolvedBegin = resolveBegin(begin, originalSize); + var resolvedEnd = resolveEnd(end, originalSize); + + // begin or end will be NaN if they were provided as negative numbers and + // this collection's size is unknown. In that case, cache first so there is + // a known size and these do not resolve to NaN. + if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) { + return sliceFactory(collection.toSeq().cacheResult(), begin, end, useKeys); + } + + // Note: resolvedEnd is undefined when the original sequence's length is + // unknown and this slice did not supply an end and should contain all + // elements after resolvedBegin. + // In that case, resolvedSize will be NaN and sliceSize will remain undefined. + var resolvedSize = resolvedEnd - resolvedBegin; + var sliceSize; + if (resolvedSize === resolvedSize) { + sliceSize = resolvedSize < 0 ? 0 : resolvedSize; + } + + var sliceSeq = makeSequence(collection); + + // If collection.size is undefined, the size of the realized sliceSeq is + // unknown at this point unless the number of items to slice is 0 + sliceSeq.size = + sliceSize === 0 ? sliceSize : (collection.size && sliceSize) || undefined; + + if (!useKeys && isSeq(collection) && sliceSize >= 0) { + sliceSeq.get = function (index, notSetValue) { + index = wrapIndex(this, index); + return index >= 0 && index < sliceSize + ? collection.get(index + resolvedBegin, notSetValue) + : notSetValue; + }; + } + + sliceSeq.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + if (sliceSize === 0) { + return 0; + } + if (reverse) { + return this.cacheResult().__iterate(fn, reverse); + } + var skipped = 0; + var isSkipping = true; + var iterations = 0; + collection.__iterate(function (v, k) { + if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) { + iterations++; + return ( + fn(v, useKeys ? k : iterations - 1, this$1$1) !== false && + iterations !== sliceSize + ); + } + }); + return iterations; + }; + + sliceSeq.__iteratorUncached = function (type, reverse) { + if (sliceSize !== 0 && reverse) { + return this.cacheResult().__iterator(type, reverse); + } + // Don't bother instantiating parent iterator if taking 0. + if (sliceSize === 0) { + return new Iterator(iteratorDone); + } + var iterator = collection.__iterator(type, reverse); + var skipped = 0; + var iterations = 0; + return new Iterator(function () { + while (skipped++ < resolvedBegin) { + iterator.next(); + } + if (++iterations > sliceSize) { + return iteratorDone(); + } + var step = iterator.next(); + if (useKeys || type === ITERATE_VALUES || step.done) { + return step; + } + if (type === ITERATE_KEYS) { + return iteratorValue(type, iterations - 1, undefined, step); + } + return iteratorValue(type, iterations - 1, step.value[1], step); + }); + }; + + return sliceSeq; +} + +function takeWhileFactory(collection, predicate, context) { + var takeSequence = makeSequence(collection); + takeSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + if (reverse) { + return this.cacheResult().__iterate(fn, reverse); + } + var iterations = 0; + collection.__iterate( + function (v, k, c) { return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$1$1); } + ); + return iterations; + }; + takeSequence.__iteratorUncached = function (type, reverse) { + var this$1$1 = this; + + if (reverse) { + return this.cacheResult().__iterator(type, reverse); + } + var iterator = collection.__iterator(ITERATE_ENTRIES, reverse); + var iterating = true; + return new Iterator(function () { + if (!iterating) { + return iteratorDone(); + } + var step = iterator.next(); + if (step.done) { + return step; + } + var entry = step.value; + var k = entry[0]; + var v = entry[1]; + if (!predicate.call(context, v, k, this$1$1)) { + iterating = false; + return iteratorDone(); + } + return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step); + }); + }; + return takeSequence; +} + +function skipWhileFactory(collection, predicate, context, useKeys) { + var skipSequence = makeSequence(collection); + skipSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + if (reverse) { + return this.cacheResult().__iterate(fn, reverse); + } + var isSkipping = true; + var iterations = 0; + collection.__iterate(function (v, k, c) { + if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) { + iterations++; + return fn(v, useKeys ? k : iterations - 1, this$1$1); + } + }); + return iterations; + }; + skipSequence.__iteratorUncached = function (type, reverse) { + var this$1$1 = this; + + if (reverse) { + return this.cacheResult().__iterator(type, reverse); + } + var iterator = collection.__iterator(ITERATE_ENTRIES, reverse); + var skipping = true; + var iterations = 0; + return new Iterator(function () { + var step; + var k; + var v; + do { + step = iterator.next(); + if (step.done) { + if (useKeys || type === ITERATE_VALUES) { + return step; + } + if (type === ITERATE_KEYS) { + return iteratorValue(type, iterations++, undefined, step); + } + return iteratorValue(type, iterations++, step.value[1], step); + } + var entry = step.value; + k = entry[0]; + v = entry[1]; + skipping && (skipping = predicate.call(context, v, k, this$1$1)); + } while (skipping); + return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step); + }); + }; + return skipSequence; +} + +function concatFactory(collection, values) { + var isKeyedCollection = isKeyed(collection); + var iters = [collection] + .concat(values) + .map(function (v) { + if (!isCollection(v)) { + v = isKeyedCollection + ? keyedSeqFromValue(v) + : indexedSeqFromValue(Array.isArray(v) ? v : [v]); + } else if (isKeyedCollection) { + v = KeyedCollection(v); + } + return v; + }) + .filter(function (v) { return v.size !== 0; }); + + if (iters.length === 0) { + return collection; + } + + if (iters.length === 1) { + var singleton = iters[0]; + if ( + singleton === collection || + (isKeyedCollection && isKeyed(singleton)) || + (isIndexed(collection) && isIndexed(singleton)) + ) { + return singleton; + } + } + + var concatSeq = new ArraySeq(iters); + if (isKeyedCollection) { + concatSeq = concatSeq.toKeyedSeq(); + } else if (!isIndexed(collection)) { + concatSeq = concatSeq.toSetSeq(); + } + concatSeq = concatSeq.flatten(true); + concatSeq.size = iters.reduce(function (sum, seq) { + if (sum !== undefined) { + var size = seq.size; + if (size !== undefined) { + return sum + size; + } + } + }, 0); + return concatSeq; +} + +function flattenFactory(collection, depth, useKeys) { + var flatSequence = makeSequence(collection); + flatSequence.__iterateUncached = function (fn, reverse) { + if (reverse) { + return this.cacheResult().__iterate(fn, reverse); + } + var iterations = 0; + var stopped = false; + function flatDeep(iter, currentDepth) { + iter.__iterate(function (v, k) { + if ((!depth || currentDepth < depth) && isCollection(v)) { + flatDeep(v, currentDepth + 1); + } else { + iterations++; + if (fn(v, useKeys ? k : iterations - 1, flatSequence) === false) { + stopped = true; + } + } + return !stopped; + }, reverse); + } + flatDeep(collection, 0); + return iterations; + }; + flatSequence.__iteratorUncached = function (type, reverse) { + if (reverse) { + return this.cacheResult().__iterator(type, reverse); + } + var iterator = collection.__iterator(type, reverse); + var stack = []; + var iterations = 0; + return new Iterator(function () { + while (iterator) { + var step = iterator.next(); + if (step.done !== false) { + iterator = stack.pop(); + continue; + } + var v = step.value; + if (type === ITERATE_ENTRIES) { + v = v[1]; + } + if ((!depth || stack.length < depth) && isCollection(v)) { + stack.push(iterator); + iterator = v.__iterator(type, reverse); + } else { + return useKeys ? step : iteratorValue(type, iterations++, v, step); + } + } + return iteratorDone(); + }); + }; + return flatSequence; +} + +function flatMapFactory(collection, mapper, context) { + var coerce = collectionClass(collection); + return collection + .toSeq() + .map(function (v, k) { return coerce(mapper.call(context, v, k, collection)); }) + .flatten(true); +} + +function interposeFactory(collection, separator) { + var interposedSequence = makeSequence(collection); + interposedSequence.size = collection.size && collection.size * 2 - 1; + interposedSequence.__iterateUncached = function (fn, reverse) { + var this$1$1 = this; + + var iterations = 0; + collection.__iterate( + function (v) { return (!iterations || fn(separator, iterations++, this$1$1) !== false) && + fn(v, iterations++, this$1$1) !== false; }, + reverse + ); + return iterations; + }; + interposedSequence.__iteratorUncached = function (type, reverse) { + var iterator = collection.__iterator(ITERATE_VALUES, reverse); + var iterations = 0; + var step; + return new Iterator(function () { + if (!step || iterations % 2) { + step = iterator.next(); + if (step.done) { + return step; + } + } + return iterations % 2 + ? iteratorValue(type, iterations++, separator) + : iteratorValue(type, iterations++, step.value, step); + }); + }; + return interposedSequence; +} + +function sortFactory(collection, comparator, mapper) { + if (!comparator) { + comparator = defaultComparator; + } + var isKeyedCollection = isKeyed(collection); + var index = 0; + var entries = collection + .toSeq() + .map(function (v, k) { return [k, v, index++, mapper ? mapper(v, k, collection) : v]; }) + .valueSeq() + .toArray(); + entries + .sort(function (a, b) { return comparator(a[3], b[3]) || a[2] - b[2]; }) + .forEach( + isKeyedCollection + ? function (v, i) { + entries[i].length = 2; + } + : function (v, i) { + entries[i] = v[1]; + } + ); + return isKeyedCollection + ? KeyedSeq(entries) + : isIndexed(collection) + ? IndexedSeq(entries) + : SetSeq(entries); +} + +function maxFactory(collection, comparator, mapper) { + if (!comparator) { + comparator = defaultComparator; + } + if (mapper) { + var entry = collection + .toSeq() + .map(function (v, k) { return [v, mapper(v, k, collection)]; }) + .reduce(function (a, b) { return (maxCompare(comparator, a[1], b[1]) ? b : a); }); + return entry && entry[0]; + } + return collection.reduce(function (a, b) { return (maxCompare(comparator, a, b) ? b : a); }); +} + +function maxCompare(comparator, a, b) { + var comp = comparator(b, a); + // b is considered the new max if the comparator declares them equal, but + // they are not equal and b is in fact a nullish value. + return ( + (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) || + comp > 0 + ); +} + +function zipWithFactory(keyIter, zipper, iters, zipAll) { + var zipSequence = makeSequence(keyIter); + var sizes = new ArraySeq(iters).map(function (i) { return i.size; }); + zipSequence.size = zipAll ? sizes.max() : sizes.min(); + // Note: this a generic base implementation of __iterate in terms of + // __iterator which may be more generically useful in the future. + zipSequence.__iterate = function (fn, reverse) { + /* generic: + var iterator = this.__iterator(ITERATE_ENTRIES, reverse); + var step; + var iterations = 0; + while (!(step = iterator.next()).done) { + iterations++; + if (fn(step.value[1], step.value[0], this) === false) { + break; + } + } + return iterations; + */ + // indexed: + var iterator = this.__iterator(ITERATE_VALUES, reverse); + var step; + var iterations = 0; + while (!(step = iterator.next()).done) { + if (fn(step.value, iterations++, this) === false) { + break; + } + } + return iterations; + }; + zipSequence.__iteratorUncached = function (type, reverse) { + var iterators = iters.map( + function (i) { return ((i = Collection(i)), getIterator(reverse ? i.reverse() : i)); } + ); + var iterations = 0; + var isDone = false; + return new Iterator(function () { + var steps; + if (!isDone) { + steps = iterators.map(function (i) { return i.next(); }); + isDone = zipAll ? steps.every(function (s) { return s.done; }) : steps.some(function (s) { return s.done; }); + } + if (isDone) { + return iteratorDone(); + } + return iteratorValue( + type, + iterations++, + zipper.apply( + null, + steps.map(function (s) { return s.value; }) + ) + ); + }); + }; + return zipSequence; +} + +// #pragma Helper Functions + +function reify(iter, seq) { + return iter === seq ? iter : isSeq(iter) ? seq : iter.constructor(seq); +} + +function validateEntry(entry) { + if (entry !== Object(entry)) { + throw new TypeError('Expected [K, V] tuple: ' + entry); + } +} + +function collectionClass(collection) { + return isKeyed(collection) + ? KeyedCollection + : isIndexed(collection) + ? IndexedCollection + : SetCollection; +} + +function makeSequence(collection) { + return Object.create( + (isKeyed(collection) + ? KeyedSeq + : isIndexed(collection) + ? IndexedSeq + : SetSeq + ).prototype + ); +} + +function cacheResultThrough() { + if (this._iter.cacheResult) { + this._iter.cacheResult(); + this.size = this._iter.size; + return this; + } + return Seq.prototype.cacheResult.call(this); +} + +function defaultComparator(a, b) { + if (a === undefined && b === undefined) { + return 0; + } + + if (a === undefined) { + return 1; + } + + if (b === undefined) { + return -1; + } + + return a > b ? 1 : a < b ? -1 : 0; +} + +function arrCopy(arr, offset) { + offset = offset || 0; + var len = Math.max(0, arr.length - offset); + var newArr = new Array(len); + for (var ii = 0; ii < len; ii++) { + newArr[ii] = arr[ii + offset]; + } + return newArr; +} + +function invariant(condition, error) { + if (!condition) { throw new Error(error); } +} + +function assertNotInfinite(size) { + invariant( + size !== Infinity, + 'Cannot perform this action with an infinite size.' + ); +} + +function coerceKeyPath(keyPath) { + if (isArrayLike(keyPath) && typeof keyPath !== 'string') { + return keyPath; + } + if (isOrdered(keyPath)) { + return keyPath.toArray(); + } + throw new TypeError( + 'Invalid keyPath: expected Ordered Collection or Array: ' + keyPath + ); +} + +var toString = Object.prototype.toString; + +function isPlainObject(value) { + // The base prototype's toString deals with Argument objects and native namespaces like Math + if ( + !value || + typeof value !== 'object' || + toString.call(value) !== '[object Object]' + ) { + return false; + } + + var proto = Object.getPrototypeOf(value); + if (proto === null) { + return true; + } + + // Iteratively going up the prototype chain is needed for cross-realm environments (differing contexts, iframes, etc) + var parentProto = proto; + var nextProto = Object.getPrototypeOf(proto); + while (nextProto !== null) { + parentProto = nextProto; + nextProto = Object.getPrototypeOf(parentProto); + } + return parentProto === proto; +} + +/** + * Returns true if the value is a potentially-persistent data structure, either + * provided by Immutable.js or a plain Array or Object. + */ +function isDataStructure(value) { + return ( + typeof value === 'object' && + (isImmutable(value) || Array.isArray(value) || isPlainObject(value)) + ); +} + +function quoteString(value) { + try { + return typeof value === 'string' ? JSON.stringify(value) : String(value); + } catch (_ignoreError) { + return JSON.stringify(value); + } +} + +function has(collection, key) { + return isImmutable(collection) + ? collection.has(key) + : isDataStructure(collection) && hasOwnProperty.call(collection, key); +} + +function get(collection, key, notSetValue) { + return isImmutable(collection) + ? collection.get(key, notSetValue) + : !has(collection, key) + ? notSetValue + : typeof collection.get === 'function' + ? collection.get(key) + : collection[key]; +} + +function shallowCopy(from) { + if (Array.isArray(from)) { + return arrCopy(from); + } + var to = {}; + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + return to; +} + +function remove(collection, key) { + if (!isDataStructure(collection)) { + throw new TypeError( + 'Cannot update non-data-structure value: ' + collection + ); + } + if (isImmutable(collection)) { + if (!collection.remove) { + throw new TypeError( + 'Cannot update immutable value without .remove() method: ' + collection + ); + } + return collection.remove(key); + } + if (!hasOwnProperty.call(collection, key)) { + return collection; + } + var collectionCopy = shallowCopy(collection); + if (Array.isArray(collectionCopy)) { + collectionCopy.splice(key, 1); + } else { + delete collectionCopy[key]; + } + return collectionCopy; +} + +function set(collection, key, value) { + if (!isDataStructure(collection)) { + throw new TypeError( + 'Cannot update non-data-structure value: ' + collection + ); + } + if (isImmutable(collection)) { + if (!collection.set) { + throw new TypeError( + 'Cannot update immutable value without .set() method: ' + collection + ); + } + return collection.set(key, value); + } + if (hasOwnProperty.call(collection, key) && value === collection[key]) { + return collection; + } + var collectionCopy = shallowCopy(collection); + collectionCopy[key] = value; + return collectionCopy; +} + +function updateIn$1(collection, keyPath, notSetValue, updater) { + if (!updater) { + updater = notSetValue; + notSetValue = undefined; + } + var updatedValue = updateInDeeply( + isImmutable(collection), + collection, + coerceKeyPath(keyPath), + 0, + notSetValue, + updater + ); + return updatedValue === NOT_SET ? notSetValue : updatedValue; +} + +function updateInDeeply( + inImmutable, + existing, + keyPath, + i, + notSetValue, + updater +) { + var wasNotSet = existing === NOT_SET; + if (i === keyPath.length) { + var existingValue = wasNotSet ? notSetValue : existing; + var newValue = updater(existingValue); + return newValue === existingValue ? existing : newValue; + } + if (!wasNotSet && !isDataStructure(existing)) { + throw new TypeError( + 'Cannot update within non-data-structure value in path [' + + keyPath.slice(0, i).map(quoteString) + + ']: ' + + existing + ); + } + var key = keyPath[i]; + var nextExisting = wasNotSet ? NOT_SET : get(existing, key, NOT_SET); + var nextUpdated = updateInDeeply( + nextExisting === NOT_SET ? inImmutable : isImmutable(nextExisting), + nextExisting, + keyPath, + i + 1, + notSetValue, + updater + ); + return nextUpdated === nextExisting + ? existing + : nextUpdated === NOT_SET + ? remove(existing, key) + : set( + wasNotSet ? (inImmutable ? emptyMap() : {}) : existing, + key, + nextUpdated + ); +} + +function setIn$1(collection, keyPath, value) { + return updateIn$1(collection, keyPath, NOT_SET, function () { return value; }); +} + +function setIn(keyPath, v) { + return setIn$1(this, keyPath, v); +} + +function removeIn(collection, keyPath) { + return updateIn$1(collection, keyPath, function () { return NOT_SET; }); +} + +function deleteIn(keyPath) { + return removeIn(this, keyPath); +} + +function update$1(collection, key, notSetValue, updater) { + return updateIn$1(collection, [key], notSetValue, updater); +} + +function update(key, notSetValue, updater) { + return arguments.length === 1 + ? key(this) + : update$1(this, key, notSetValue, updater); +} + +function updateIn(keyPath, notSetValue, updater) { + return updateIn$1(this, keyPath, notSetValue, updater); +} + +function merge$1() { + var iters = [], len = arguments.length; + while ( len-- ) iters[ len ] = arguments[ len ]; + + return mergeIntoKeyedWith(this, iters); +} + +function mergeWith$1(merger) { + var iters = [], len = arguments.length - 1; + while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ]; + + if (typeof merger !== 'function') { + throw new TypeError('Invalid merger function: ' + merger); + } + return mergeIntoKeyedWith(this, iters, merger); +} + +function mergeIntoKeyedWith(collection, collections, merger) { + var iters = []; + for (var ii = 0; ii < collections.length; ii++) { + var collection$1 = KeyedCollection(collections[ii]); + if (collection$1.size !== 0) { + iters.push(collection$1); + } + } + if (iters.length === 0) { + return collection; + } + if ( + collection.toSeq().size === 0 && + !collection.__ownerID && + iters.length === 1 + ) { + return collection.constructor(iters[0]); + } + return collection.withMutations(function (collection) { + var mergeIntoCollection = merger + ? function (value, key) { + update$1(collection, key, NOT_SET, function (oldVal) { return oldVal === NOT_SET ? value : merger(oldVal, value, key); } + ); + } + : function (value, key) { + collection.set(key, value); + }; + for (var ii = 0; ii < iters.length; ii++) { + iters[ii].forEach(mergeIntoCollection); + } + }); +} + +function merge(collection) { + var sources = [], len = arguments.length - 1; + while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ]; + + return mergeWithSources(collection, sources); +} + +function mergeWith(merger, collection) { + var sources = [], len = arguments.length - 2; + while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ]; + + return mergeWithSources(collection, sources, merger); +} + +function mergeDeep$1(collection) { + var sources = [], len = arguments.length - 1; + while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ]; + + return mergeDeepWithSources(collection, sources); +} + +function mergeDeepWith$1(merger, collection) { + var sources = [], len = arguments.length - 2; + while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ]; + + return mergeDeepWithSources(collection, sources, merger); +} + +function mergeDeepWithSources(collection, sources, merger) { + return mergeWithSources(collection, sources, deepMergerWith(merger)); +} + +function mergeWithSources(collection, sources, merger) { + if (!isDataStructure(collection)) { + throw new TypeError( + 'Cannot merge into non-data-structure value: ' + collection + ); + } + if (isImmutable(collection)) { + return typeof merger === 'function' && collection.mergeWith + ? collection.mergeWith.apply(collection, [ merger ].concat( sources )) + : collection.merge + ? collection.merge.apply(collection, sources) + : collection.concat.apply(collection, sources); + } + var isArray = Array.isArray(collection); + var merged = collection; + var Collection = isArray ? IndexedCollection : KeyedCollection; + var mergeItem = isArray + ? function (value) { + // Copy on write + if (merged === collection) { + merged = shallowCopy(merged); + } + merged.push(value); + } + : function (value, key) { + var hasVal = hasOwnProperty.call(merged, key); + var nextVal = + hasVal && merger ? merger(merged[key], value, key) : value; + if (!hasVal || nextVal !== merged[key]) { + // Copy on write + if (merged === collection) { + merged = shallowCopy(merged); + } + merged[key] = nextVal; + } + }; + for (var i = 0; i < sources.length; i++) { + Collection(sources[i]).forEach(mergeItem); + } + return merged; +} + +function deepMergerWith(merger) { + function deepMerger(oldValue, newValue, key) { + return isDataStructure(oldValue) && + isDataStructure(newValue) && + areMergeable(oldValue, newValue) + ? mergeWithSources(oldValue, [newValue], deepMerger) + : merger + ? merger(oldValue, newValue, key) + : newValue; + } + return deepMerger; +} + +/** + * It's unclear what the desired behavior is for merging two collections that + * fall into separate categories between keyed, indexed, or set-like, so we only + * consider them mergeable if they fall into the same category. + */ +function areMergeable(oldDataStructure, newDataStructure) { + var oldSeq = Seq(oldDataStructure); + var newSeq = Seq(newDataStructure); + // This logic assumes that a sequence can only fall into one of the three + // categories mentioned above (since there's no `isSetLike()` method). + return ( + isIndexed(oldSeq) === isIndexed(newSeq) && + isKeyed(oldSeq) === isKeyed(newSeq) + ); +} + +function mergeDeep() { + var iters = [], len = arguments.length; + while ( len-- ) iters[ len ] = arguments[ len ]; + + return mergeDeepWithSources(this, iters); +} + +function mergeDeepWith(merger) { + var iters = [], len = arguments.length - 1; + while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ]; + + return mergeDeepWithSources(this, iters, merger); +} + +function mergeIn(keyPath) { + var iters = [], len = arguments.length - 1; + while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ]; + + return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeWithSources(m, iters); }); +} + +function mergeDeepIn(keyPath) { + var iters = [], len = arguments.length - 1; + while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ]; + + return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeDeepWithSources(m, iters); } + ); +} + +function withMutations(fn) { + var mutable = this.asMutable(); + fn(mutable); + return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this; +} + +function asMutable() { + return this.__ownerID ? this : this.__ensureOwner(new OwnerID()); +} + +function asImmutable() { + return this.__ensureOwner(); +} + +function wasAltered() { + return this.__altered; +} + +var Map = /*@__PURE__*/(function (KeyedCollection) { + function Map(value) { + return value === undefined || value === null + ? emptyMap() + : isMap(value) && !isOrdered(value) + ? value + : emptyMap().withMutations(function (map) { + var iter = KeyedCollection(value); + assertNotInfinite(iter.size); + iter.forEach(function (v, k) { return map.set(k, v); }); + }); + } + + if ( KeyedCollection ) Map.__proto__ = KeyedCollection; + Map.prototype = Object.create( KeyedCollection && KeyedCollection.prototype ); + Map.prototype.constructor = Map; + + Map.of = function of () { + var keyValues = [], len = arguments.length; + while ( len-- ) keyValues[ len ] = arguments[ len ]; + + return emptyMap().withMutations(function (map) { + for (var i = 0; i < keyValues.length; i += 2) { + if (i + 1 >= keyValues.length) { + throw new Error('Missing value for key: ' + keyValues[i]); + } + map.set(keyValues[i], keyValues[i + 1]); + } + }); + }; + + Map.prototype.toString = function toString () { + return this.__toString('Map {', '}'); + }; + + // @pragma Access + + Map.prototype.get = function get (k, notSetValue) { + return this._root + ? this._root.get(0, undefined, k, notSetValue) + : notSetValue; + }; + + // @pragma Modification + + Map.prototype.set = function set (k, v) { + return updateMap(this, k, v); + }; + + Map.prototype.remove = function remove (k) { + return updateMap(this, k, NOT_SET); + }; + + Map.prototype.deleteAll = function deleteAll (keys) { + var collection = Collection(keys); + + if (collection.size === 0) { + return this; + } + + return this.withMutations(function (map) { + collection.forEach(function (key) { return map.remove(key); }); + }); + }; + + Map.prototype.clear = function clear () { + if (this.size === 0) { + return this; + } + if (this.__ownerID) { + this.size = 0; + this._root = null; + this.__hash = undefined; + this.__altered = true; + return this; + } + return emptyMap(); + }; + + // @pragma Composition + + Map.prototype.sort = function sort (comparator) { + // Late binding + return OrderedMap(sortFactory(this, comparator)); + }; + + Map.prototype.sortBy = function sortBy (mapper, comparator) { + // Late binding + return OrderedMap(sortFactory(this, comparator, mapper)); + }; + + Map.prototype.map = function map (mapper, context) { + var this$1$1 = this; + + return this.withMutations(function (map) { + map.forEach(function (value, key) { + map.set(key, mapper.call(context, value, key, this$1$1)); + }); + }); + }; + + // @pragma Mutability + + Map.prototype.__iterator = function __iterator (type, reverse) { + return new MapIterator(this, type, reverse); + }; + + Map.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + var iterations = 0; + this._root && + this._root.iterate(function (entry) { + iterations++; + return fn(entry[1], entry[0], this$1$1); + }, reverse); + return iterations; + }; + + Map.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + if (!ownerID) { + if (this.size === 0) { + return emptyMap(); + } + this.__ownerID = ownerID; + this.__altered = false; + return this; + } + return makeMap(this.size, this._root, ownerID, this.__hash); + }; + + return Map; +}(KeyedCollection)); + +Map.isMap = isMap; + +var MapPrototype = Map.prototype; +MapPrototype[IS_MAP_SYMBOL] = true; +MapPrototype[DELETE] = MapPrototype.remove; +MapPrototype.removeAll = MapPrototype.deleteAll; +MapPrototype.setIn = setIn; +MapPrototype.removeIn = MapPrototype.deleteIn = deleteIn; +MapPrototype.update = update; +MapPrototype.updateIn = updateIn; +MapPrototype.merge = MapPrototype.concat = merge$1; +MapPrototype.mergeWith = mergeWith$1; +MapPrototype.mergeDeep = mergeDeep; +MapPrototype.mergeDeepWith = mergeDeepWith; +MapPrototype.mergeIn = mergeIn; +MapPrototype.mergeDeepIn = mergeDeepIn; +MapPrototype.withMutations = withMutations; +MapPrototype.wasAltered = wasAltered; +MapPrototype.asImmutable = asImmutable; +MapPrototype['@@transducer/init'] = MapPrototype.asMutable = asMutable; +MapPrototype['@@transducer/step'] = function (result, arr) { + return result.set(arr[0], arr[1]); +}; +MapPrototype['@@transducer/result'] = function (obj) { + return obj.asImmutable(); +}; + +// #pragma Trie Nodes + +var ArrayMapNode = function ArrayMapNode(ownerID, entries) { + this.ownerID = ownerID; + this.entries = entries; +}; + +ArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) { + var entries = this.entries; + for (var ii = 0, len = entries.length; ii < len; ii++) { + if (is(key, entries[ii][0])) { + return entries[ii][1]; + } + } + return notSetValue; +}; + +ArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + var removed = value === NOT_SET; + + var entries = this.entries; + var idx = 0; + var len = entries.length; + for (; idx < len; idx++) { + if (is(key, entries[idx][0])) { + break; + } + } + var exists = idx < len; + + if (exists ? entries[idx][1] === value : removed) { + return this; + } + + SetRef(didAlter); + (removed || !exists) && SetRef(didChangeSize); + + if (removed && entries.length === 1) { + return; // undefined + } + + if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) { + return createNodes(ownerID, entries, key, value); + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newEntries = isEditable ? entries : arrCopy(entries); + + if (exists) { + if (removed) { + idx === len - 1 + ? newEntries.pop() + : (newEntries[idx] = newEntries.pop()); + } else { + newEntries[idx] = [key, value]; + } + } else { + newEntries.push([key, value]); + } + + if (isEditable) { + this.entries = newEntries; + return this; + } + + return new ArrayMapNode(ownerID, newEntries); +}; + +var BitmapIndexedNode = function BitmapIndexedNode(ownerID, bitmap, nodes) { + this.ownerID = ownerID; + this.bitmap = bitmap; + this.nodes = nodes; +}; + +BitmapIndexedNode.prototype.get = function get (shift, keyHash, key, notSetValue) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var bit = 1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK); + var bitmap = this.bitmap; + return (bitmap & bit) === 0 + ? notSetValue + : this.nodes[popCount(bitmap & (bit - 1))].get( + shift + SHIFT, + keyHash, + key, + notSetValue + ); +}; + +BitmapIndexedNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + var bit = 1 << keyHashFrag; + var bitmap = this.bitmap; + var exists = (bitmap & bit) !== 0; + + if (!exists && value === NOT_SET) { + return this; + } + + var idx = popCount(bitmap & (bit - 1)); + var nodes = this.nodes; + var node = exists ? nodes[idx] : undefined; + var newNode = updateNode( + node, + ownerID, + shift + SHIFT, + keyHash, + key, + value, + didChangeSize, + didAlter + ); + + if (newNode === node) { + return this; + } + + if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) { + return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode); + } + + if ( + exists && + !newNode && + nodes.length === 2 && + isLeafNode(nodes[idx ^ 1]) + ) { + return nodes[idx ^ 1]; + } + + if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) { + return newNode; + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newBitmap = exists ? (newNode ? bitmap : bitmap ^ bit) : bitmap | bit; + var newNodes = exists + ? newNode + ? setAt(nodes, idx, newNode, isEditable) + : spliceOut(nodes, idx, isEditable) + : spliceIn(nodes, idx, newNode, isEditable); + + if (isEditable) { + this.bitmap = newBitmap; + this.nodes = newNodes; + return this; + } + + return new BitmapIndexedNode(ownerID, newBitmap, newNodes); +}; + +var HashArrayMapNode = function HashArrayMapNode(ownerID, count, nodes) { + this.ownerID = ownerID; + this.count = count; + this.nodes = nodes; +}; + +HashArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + var node = this.nodes[idx]; + return node + ? node.get(shift + SHIFT, keyHash, key, notSetValue) + : notSetValue; +}; + +HashArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + if (keyHash === undefined) { + keyHash = hash(key); + } + var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + var removed = value === NOT_SET; + var nodes = this.nodes; + var node = nodes[idx]; + + if (removed && !node) { + return this; + } + + var newNode = updateNode( + node, + ownerID, + shift + SHIFT, + keyHash, + key, + value, + didChangeSize, + didAlter + ); + if (newNode === node) { + return this; + } + + var newCount = this.count; + if (!node) { + newCount++; + } else if (!newNode) { + newCount--; + if (newCount < MIN_HASH_ARRAY_MAP_SIZE) { + return packNodes(ownerID, nodes, newCount, idx); + } + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newNodes = setAt(nodes, idx, newNode, isEditable); + + if (isEditable) { + this.count = newCount; + this.nodes = newNodes; + return this; + } + + return new HashArrayMapNode(ownerID, newCount, newNodes); +}; + +var HashCollisionNode = function HashCollisionNode(ownerID, keyHash, entries) { + this.ownerID = ownerID; + this.keyHash = keyHash; + this.entries = entries; +}; + +HashCollisionNode.prototype.get = function get (shift, keyHash, key, notSetValue) { + var entries = this.entries; + for (var ii = 0, len = entries.length; ii < len; ii++) { + if (is(key, entries[ii][0])) { + return entries[ii][1]; + } + } + return notSetValue; +}; + +HashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + if (keyHash === undefined) { + keyHash = hash(key); + } + + var removed = value === NOT_SET; + + if (keyHash !== this.keyHash) { + if (removed) { + return this; + } + SetRef(didAlter); + SetRef(didChangeSize); + return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]); + } + + var entries = this.entries; + var idx = 0; + var len = entries.length; + for (; idx < len; idx++) { + if (is(key, entries[idx][0])) { + break; + } + } + var exists = idx < len; + + if (exists ? entries[idx][1] === value : removed) { + return this; + } + + SetRef(didAlter); + (removed || !exists) && SetRef(didChangeSize); + + if (removed && len === 2) { + return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]); + } + + var isEditable = ownerID && ownerID === this.ownerID; + var newEntries = isEditable ? entries : arrCopy(entries); + + if (exists) { + if (removed) { + idx === len - 1 + ? newEntries.pop() + : (newEntries[idx] = newEntries.pop()); + } else { + newEntries[idx] = [key, value]; + } + } else { + newEntries.push([key, value]); + } + + if (isEditable) { + this.entries = newEntries; + return this; + } + + return new HashCollisionNode(ownerID, this.keyHash, newEntries); +}; + +var ValueNode = function ValueNode(ownerID, keyHash, entry) { + this.ownerID = ownerID; + this.keyHash = keyHash; + this.entry = entry; +}; + +ValueNode.prototype.get = function get (shift, keyHash, key, notSetValue) { + return is(key, this.entry[0]) ? this.entry[1] : notSetValue; +}; + +ValueNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { + var removed = value === NOT_SET; + var keyMatch = is(key, this.entry[0]); + if (keyMatch ? value === this.entry[1] : removed) { + return this; + } + + SetRef(didAlter); + + if (removed) { + SetRef(didChangeSize); + return; // undefined + } + + if (keyMatch) { + if (ownerID && ownerID === this.ownerID) { + this.entry[1] = value; + return this; + } + return new ValueNode(ownerID, this.keyHash, [key, value]); + } + + SetRef(didChangeSize); + return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]); +}; + +// #pragma Iterators + +ArrayMapNode.prototype.iterate = HashCollisionNode.prototype.iterate = + function (fn, reverse) { + var entries = this.entries; + for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) { + if (fn(entries[reverse ? maxIndex - ii : ii]) === false) { + return false; + } + } + }; + +BitmapIndexedNode.prototype.iterate = HashArrayMapNode.prototype.iterate = + function (fn, reverse) { + var nodes = this.nodes; + for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) { + var node = nodes[reverse ? maxIndex - ii : ii]; + if (node && node.iterate(fn, reverse) === false) { + return false; + } + } + }; + +// eslint-disable-next-line no-unused-vars +ValueNode.prototype.iterate = function (fn, reverse) { + return fn(this.entry); +}; + +var MapIterator = /*@__PURE__*/(function (Iterator) { + function MapIterator(map, type, reverse) { + this._type = type; + this._reverse = reverse; + this._stack = map._root && mapIteratorFrame(map._root); + } + + if ( Iterator ) MapIterator.__proto__ = Iterator; + MapIterator.prototype = Object.create( Iterator && Iterator.prototype ); + MapIterator.prototype.constructor = MapIterator; + + MapIterator.prototype.next = function next () { + var type = this._type; + var stack = this._stack; + while (stack) { + var node = stack.node; + var index = stack.index++; + var maxIndex = (void 0); + if (node.entry) { + if (index === 0) { + return mapIteratorValue(type, node.entry); + } + } else if (node.entries) { + maxIndex = node.entries.length - 1; + if (index <= maxIndex) { + return mapIteratorValue( + type, + node.entries[this._reverse ? maxIndex - index : index] + ); + } + } else { + maxIndex = node.nodes.length - 1; + if (index <= maxIndex) { + var subNode = node.nodes[this._reverse ? maxIndex - index : index]; + if (subNode) { + if (subNode.entry) { + return mapIteratorValue(type, subNode.entry); + } + stack = this._stack = mapIteratorFrame(subNode, stack); + } + continue; + } + } + stack = this._stack = this._stack.__prev; + } + return iteratorDone(); + }; + + return MapIterator; +}(Iterator)); + +function mapIteratorValue(type, entry) { + return iteratorValue(type, entry[0], entry[1]); +} + +function mapIteratorFrame(node, prev) { + return { + node: node, + index: 0, + __prev: prev, + }; +} + +function makeMap(size, root, ownerID, hash) { + var map = Object.create(MapPrototype); + map.size = size; + map._root = root; + map.__ownerID = ownerID; + map.__hash = hash; + map.__altered = false; + return map; +} + +var EMPTY_MAP; +function emptyMap() { + return EMPTY_MAP || (EMPTY_MAP = makeMap(0)); +} + +function updateMap(map, k, v) { + var newRoot; + var newSize; + if (!map._root) { + if (v === NOT_SET) { + return map; + } + newSize = 1; + newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]); + } else { + var didChangeSize = MakeRef(); + var didAlter = MakeRef(); + newRoot = updateNode( + map._root, + map.__ownerID, + 0, + undefined, + k, + v, + didChangeSize, + didAlter + ); + if (!didAlter.value) { + return map; + } + newSize = map.size + (didChangeSize.value ? (v === NOT_SET ? -1 : 1) : 0); + } + if (map.__ownerID) { + map.size = newSize; + map._root = newRoot; + map.__hash = undefined; + map.__altered = true; + return map; + } + return newRoot ? makeMap(newSize, newRoot) : emptyMap(); +} + +function updateNode( + node, + ownerID, + shift, + keyHash, + key, + value, + didChangeSize, + didAlter +) { + if (!node) { + if (value === NOT_SET) { + return node; + } + SetRef(didAlter); + SetRef(didChangeSize); + return new ValueNode(ownerID, keyHash, [key, value]); + } + return node.update( + ownerID, + shift, + keyHash, + key, + value, + didChangeSize, + didAlter + ); +} + +function isLeafNode(node) { + return ( + node.constructor === ValueNode || node.constructor === HashCollisionNode + ); +} + +function mergeIntoNode(node, ownerID, shift, keyHash, entry) { + if (node.keyHash === keyHash) { + return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]); + } + + var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK; + var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; + + var newNode; + var nodes = + idx1 === idx2 + ? [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] + : ((newNode = new ValueNode(ownerID, keyHash, entry)), + idx1 < idx2 ? [node, newNode] : [newNode, node]); + + return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes); +} + +function createNodes(ownerID, entries, key, value) { + if (!ownerID) { + ownerID = new OwnerID(); + } + var node = new ValueNode(ownerID, hash(key), [key, value]); + for (var ii = 0; ii < entries.length; ii++) { + var entry = entries[ii]; + node = node.update(ownerID, 0, undefined, entry[0], entry[1]); + } + return node; +} + +function packNodes(ownerID, nodes, count, excluding) { + var bitmap = 0; + var packedII = 0; + var packedNodes = new Array(count); + for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) { + var node = nodes[ii]; + if (node !== undefined && ii !== excluding) { + bitmap |= bit; + packedNodes[packedII++] = node; + } + } + return new BitmapIndexedNode(ownerID, bitmap, packedNodes); +} + +function expandNodes(ownerID, nodes, bitmap, including, node) { + var count = 0; + var expandedNodes = new Array(SIZE); + for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) { + expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined; + } + expandedNodes[including] = node; + return new HashArrayMapNode(ownerID, count + 1, expandedNodes); +} + +function popCount(x) { + x -= (x >> 1) & 0x55555555; + x = (x & 0x33333333) + ((x >> 2) & 0x33333333); + x = (x + (x >> 4)) & 0x0f0f0f0f; + x += x >> 8; + x += x >> 16; + return x & 0x7f; +} + +function setAt(array, idx, val, canEdit) { + var newArray = canEdit ? array : arrCopy(array); + newArray[idx] = val; + return newArray; +} + +function spliceIn(array, idx, val, canEdit) { + var newLen = array.length + 1; + if (canEdit && idx + 1 === newLen) { + array[idx] = val; + return array; + } + var newArray = new Array(newLen); + var after = 0; + for (var ii = 0; ii < newLen; ii++) { + if (ii === idx) { + newArray[ii] = val; + after = -1; + } else { + newArray[ii] = array[ii + after]; + } + } + return newArray; +} + +function spliceOut(array, idx, canEdit) { + var newLen = array.length - 1; + if (canEdit && idx === newLen) { + array.pop(); + return array; + } + var newArray = new Array(newLen); + var after = 0; + for (var ii = 0; ii < newLen; ii++) { + if (ii === idx) { + after = 1; + } + newArray[ii] = array[ii + after]; + } + return newArray; +} + +var MAX_ARRAY_MAP_SIZE = SIZE / 4; +var MAX_BITMAP_INDEXED_SIZE = SIZE / 2; +var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4; + +var IS_LIST_SYMBOL = '@@__IMMUTABLE_LIST__@@'; + +function isList(maybeList) { + return Boolean(maybeList && maybeList[IS_LIST_SYMBOL]); +} + +var List = /*@__PURE__*/(function (IndexedCollection) { + function List(value) { + var empty = emptyList(); + if (value === undefined || value === null) { + return empty; + } + if (isList(value)) { + return value; + } + var iter = IndexedCollection(value); + var size = iter.size; + if (size === 0) { + return empty; + } + assertNotInfinite(size); + if (size > 0 && size < SIZE) { + return makeList(0, size, SHIFT, null, new VNode(iter.toArray())); + } + return empty.withMutations(function (list) { + list.setSize(size); + iter.forEach(function (v, i) { return list.set(i, v); }); + }); + } + + if ( IndexedCollection ) List.__proto__ = IndexedCollection; + List.prototype = Object.create( IndexedCollection && IndexedCollection.prototype ); + List.prototype.constructor = List; + + List.of = function of (/*...values*/) { + return this(arguments); + }; + + List.prototype.toString = function toString () { + return this.__toString('List [', ']'); + }; + + // @pragma Access + + List.prototype.get = function get (index, notSetValue) { + index = wrapIndex(this, index); + if (index >= 0 && index < this.size) { + index += this._origin; + var node = listNodeFor(this, index); + return node && node.array[index & MASK]; + } + return notSetValue; + }; + + // @pragma Modification + + List.prototype.set = function set (index, value) { + return updateList(this, index, value); + }; + + List.prototype.remove = function remove (index) { + return !this.has(index) + ? this + : index === 0 + ? this.shift() + : index === this.size - 1 + ? this.pop() + : this.splice(index, 1); + }; + + List.prototype.insert = function insert (index, value) { + return this.splice(index, 0, value); + }; + + List.prototype.clear = function clear () { + if (this.size === 0) { + return this; + } + if (this.__ownerID) { + this.size = this._origin = this._capacity = 0; + this._level = SHIFT; + this._root = this._tail = this.__hash = undefined; + this.__altered = true; + return this; + } + return emptyList(); + }; + + List.prototype.push = function push (/*...values*/) { + var values = arguments; + var oldSize = this.size; + return this.withMutations(function (list) { + setListBounds(list, 0, oldSize + values.length); + for (var ii = 0; ii < values.length; ii++) { + list.set(oldSize + ii, values[ii]); + } + }); + }; + + List.prototype.pop = function pop () { + return setListBounds(this, 0, -1); + }; + + List.prototype.unshift = function unshift (/*...values*/) { + var values = arguments; + return this.withMutations(function (list) { + setListBounds(list, -values.length); + for (var ii = 0; ii < values.length; ii++) { + list.set(ii, values[ii]); + } + }); + }; + + List.prototype.shift = function shift () { + return setListBounds(this, 1); + }; + + // @pragma Composition + + List.prototype.concat = function concat (/*...collections*/) { + var arguments$1 = arguments; + + var seqs = []; + for (var i = 0; i < arguments.length; i++) { + var argument = arguments$1[i]; + var seq = IndexedCollection( + typeof argument !== 'string' && hasIterator(argument) + ? argument + : [argument] + ); + if (seq.size !== 0) { + seqs.push(seq); + } + } + if (seqs.length === 0) { + return this; + } + if (this.size === 0 && !this.__ownerID && seqs.length === 1) { + return this.constructor(seqs[0]); + } + return this.withMutations(function (list) { + seqs.forEach(function (seq) { return seq.forEach(function (value) { return list.push(value); }); }); + }); + }; + + List.prototype.setSize = function setSize (size) { + return setListBounds(this, 0, size); + }; + + List.prototype.map = function map (mapper, context) { + var this$1$1 = this; + + return this.withMutations(function (list) { + for (var i = 0; i < this$1$1.size; i++) { + list.set(i, mapper.call(context, list.get(i), i, this$1$1)); + } + }); + }; + + // @pragma Iteration + + List.prototype.slice = function slice (begin, end) { + var size = this.size; + if (wholeSlice(begin, end, size)) { + return this; + } + return setListBounds( + this, + resolveBegin(begin, size), + resolveEnd(end, size) + ); + }; + + List.prototype.__iterator = function __iterator (type, reverse) { + var index = reverse ? this.size : 0; + var values = iterateList(this, reverse); + return new Iterator(function () { + var value = values(); + return value === DONE + ? iteratorDone() + : iteratorValue(type, reverse ? --index : index++, value); + }); + }; + + List.prototype.__iterate = function __iterate (fn, reverse) { + var index = reverse ? this.size : 0; + var values = iterateList(this, reverse); + var value; + while ((value = values()) !== DONE) { + if (fn(value, reverse ? --index : index++, this) === false) { + break; + } + } + return index; + }; + + List.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + if (!ownerID) { + if (this.size === 0) { + return emptyList(); + } + this.__ownerID = ownerID; + this.__altered = false; + return this; + } + return makeList( + this._origin, + this._capacity, + this._level, + this._root, + this._tail, + ownerID, + this.__hash + ); + }; + + return List; +}(IndexedCollection)); + +List.isList = isList; + +var ListPrototype = List.prototype; +ListPrototype[IS_LIST_SYMBOL] = true; +ListPrototype[DELETE] = ListPrototype.remove; +ListPrototype.merge = ListPrototype.concat; +ListPrototype.setIn = setIn; +ListPrototype.deleteIn = ListPrototype.removeIn = deleteIn; +ListPrototype.update = update; +ListPrototype.updateIn = updateIn; +ListPrototype.mergeIn = mergeIn; +ListPrototype.mergeDeepIn = mergeDeepIn; +ListPrototype.withMutations = withMutations; +ListPrototype.wasAltered = wasAltered; +ListPrototype.asImmutable = asImmutable; +ListPrototype['@@transducer/init'] = ListPrototype.asMutable = asMutable; +ListPrototype['@@transducer/step'] = function (result, arr) { + return result.push(arr); +}; +ListPrototype['@@transducer/result'] = function (obj) { + return obj.asImmutable(); +}; + +var VNode = function VNode(array, ownerID) { + this.array = array; + this.ownerID = ownerID; +}; + +// TODO: seems like these methods are very similar + +VNode.prototype.removeBefore = function removeBefore (ownerID, level, index) { + if (index === level ? 1 << level : this.array.length === 0) { + return this; + } + var originIndex = (index >>> level) & MASK; + if (originIndex >= this.array.length) { + return new VNode([], ownerID); + } + var removingFirst = originIndex === 0; + var newChild; + if (level > 0) { + var oldChild = this.array[originIndex]; + newChild = + oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index); + if (newChild === oldChild && removingFirst) { + return this; + } + } + if (removingFirst && !newChild) { + return this; + } + var editable = editableVNode(this, ownerID); + if (!removingFirst) { + for (var ii = 0; ii < originIndex; ii++) { + editable.array[ii] = undefined; + } + } + if (newChild) { + editable.array[originIndex] = newChild; + } + return editable; +}; + +VNode.prototype.removeAfter = function removeAfter (ownerID, level, index) { + if (index === (level ? 1 << level : 0) || this.array.length === 0) { + return this; + } + var sizeIndex = ((index - 1) >>> level) & MASK; + if (sizeIndex >= this.array.length) { + return this; + } + + var newChild; + if (level > 0) { + var oldChild = this.array[sizeIndex]; + newChild = + oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index); + if (newChild === oldChild && sizeIndex === this.array.length - 1) { + return this; + } + } + + var editable = editableVNode(this, ownerID); + editable.array.splice(sizeIndex + 1); + if (newChild) { + editable.array[sizeIndex] = newChild; + } + return editable; +}; + +var DONE = {}; + +function iterateList(list, reverse) { + var left = list._origin; + var right = list._capacity; + var tailPos = getTailOffset(right); + var tail = list._tail; + + return iterateNodeOrLeaf(list._root, list._level, 0); + + function iterateNodeOrLeaf(node, level, offset) { + return level === 0 + ? iterateLeaf(node, offset) + : iterateNode(node, level, offset); + } + + function iterateLeaf(node, offset) { + var array = offset === tailPos ? tail && tail.array : node && node.array; + var from = offset > left ? 0 : left - offset; + var to = right - offset; + if (to > SIZE) { + to = SIZE; + } + return function () { + if (from === to) { + return DONE; + } + var idx = reverse ? --to : from++; + return array && array[idx]; + }; + } + + function iterateNode(node, level, offset) { + var values; + var array = node && node.array; + var from = offset > left ? 0 : (left - offset) >> level; + var to = ((right - offset) >> level) + 1; + if (to > SIZE) { + to = SIZE; + } + return function () { + while (true) { + if (values) { + var value = values(); + if (value !== DONE) { + return value; + } + values = null; + } + if (from === to) { + return DONE; + } + var idx = reverse ? --to : from++; + values = iterateNodeOrLeaf( + array && array[idx], + level - SHIFT, + offset + (idx << level) + ); + } + }; + } +} + +function makeList(origin, capacity, level, root, tail, ownerID, hash) { + var list = Object.create(ListPrototype); + list.size = capacity - origin; + list._origin = origin; + list._capacity = capacity; + list._level = level; + list._root = root; + list._tail = tail; + list.__ownerID = ownerID; + list.__hash = hash; + list.__altered = false; + return list; +} + +var EMPTY_LIST; +function emptyList() { + return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT)); +} + +function updateList(list, index, value) { + index = wrapIndex(list, index); + + if (index !== index) { + return list; + } + + if (index >= list.size || index < 0) { + return list.withMutations(function (list) { + index < 0 + ? setListBounds(list, index).set(0, value) + : setListBounds(list, 0, index + 1).set(index, value); + }); + } + + index += list._origin; + + var newTail = list._tail; + var newRoot = list._root; + var didAlter = MakeRef(); + if (index >= getTailOffset(list._capacity)) { + newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter); + } else { + newRoot = updateVNode( + newRoot, + list.__ownerID, + list._level, + index, + value, + didAlter + ); + } + + if (!didAlter.value) { + return list; + } + + if (list.__ownerID) { + list._root = newRoot; + list._tail = newTail; + list.__hash = undefined; + list.__altered = true; + return list; + } + return makeList(list._origin, list._capacity, list._level, newRoot, newTail); +} + +function updateVNode(node, ownerID, level, index, value, didAlter) { + var idx = (index >>> level) & MASK; + var nodeHas = node && idx < node.array.length; + if (!nodeHas && value === undefined) { + return node; + } + + var newNode; + + if (level > 0) { + var lowerNode = node && node.array[idx]; + var newLowerNode = updateVNode( + lowerNode, + ownerID, + level - SHIFT, + index, + value, + didAlter + ); + if (newLowerNode === lowerNode) { + return node; + } + newNode = editableVNode(node, ownerID); + newNode.array[idx] = newLowerNode; + return newNode; + } + + if (nodeHas && node.array[idx] === value) { + return node; + } + + if (didAlter) { + SetRef(didAlter); + } + + newNode = editableVNode(node, ownerID); + if (value === undefined && idx === newNode.array.length - 1) { + newNode.array.pop(); + } else { + newNode.array[idx] = value; + } + return newNode; +} + +function editableVNode(node, ownerID) { + if (ownerID && node && ownerID === node.ownerID) { + return node; + } + return new VNode(node ? node.array.slice() : [], ownerID); +} + +function listNodeFor(list, rawIndex) { + if (rawIndex >= getTailOffset(list._capacity)) { + return list._tail; + } + if (rawIndex < 1 << (list._level + SHIFT)) { + var node = list._root; + var level = list._level; + while (node && level > 0) { + node = node.array[(rawIndex >>> level) & MASK]; + level -= SHIFT; + } + return node; + } +} + +function setListBounds(list, begin, end) { + // Sanitize begin & end using this shorthand for ToInt32(argument) + // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32 + if (begin !== undefined) { + begin |= 0; + } + if (end !== undefined) { + end |= 0; + } + var owner = list.__ownerID || new OwnerID(); + var oldOrigin = list._origin; + var oldCapacity = list._capacity; + var newOrigin = oldOrigin + begin; + var newCapacity = + end === undefined + ? oldCapacity + : end < 0 + ? oldCapacity + end + : oldOrigin + end; + if (newOrigin === oldOrigin && newCapacity === oldCapacity) { + return list; + } + + // If it's going to end after it starts, it's empty. + if (newOrigin >= newCapacity) { + return list.clear(); + } + + var newLevel = list._level; + var newRoot = list._root; + + // New origin might need creating a higher root. + var offsetShift = 0; + while (newOrigin + offsetShift < 0) { + newRoot = new VNode( + newRoot && newRoot.array.length ? [undefined, newRoot] : [], + owner + ); + newLevel += SHIFT; + offsetShift += 1 << newLevel; + } + if (offsetShift) { + newOrigin += offsetShift; + oldOrigin += offsetShift; + newCapacity += offsetShift; + oldCapacity += offsetShift; + } + + var oldTailOffset = getTailOffset(oldCapacity); + var newTailOffset = getTailOffset(newCapacity); + + // New size might need creating a higher root. + while (newTailOffset >= 1 << (newLevel + SHIFT)) { + newRoot = new VNode( + newRoot && newRoot.array.length ? [newRoot] : [], + owner + ); + newLevel += SHIFT; + } + + // Locate or create the new tail. + var oldTail = list._tail; + var newTail = + newTailOffset < oldTailOffset + ? listNodeFor(list, newCapacity - 1) + : newTailOffset > oldTailOffset + ? new VNode([], owner) + : oldTail; + + // Merge Tail into tree. + if ( + oldTail && + newTailOffset > oldTailOffset && + newOrigin < oldCapacity && + oldTail.array.length + ) { + newRoot = editableVNode(newRoot, owner); + var node = newRoot; + for (var level = newLevel; level > SHIFT; level -= SHIFT) { + var idx = (oldTailOffset >>> level) & MASK; + node = node.array[idx] = editableVNode(node.array[idx], owner); + } + node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail; + } + + // If the size has been reduced, there's a chance the tail needs to be trimmed. + if (newCapacity < oldCapacity) { + newTail = newTail && newTail.removeAfter(owner, 0, newCapacity); + } + + // If the new origin is within the tail, then we do not need a root. + if (newOrigin >= newTailOffset) { + newOrigin -= newTailOffset; + newCapacity -= newTailOffset; + newLevel = SHIFT; + newRoot = null; + newTail = newTail && newTail.removeBefore(owner, 0, newOrigin); + + // Otherwise, if the root has been trimmed, garbage collect. + } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) { + offsetShift = 0; + + // Identify the new top root node of the subtree of the old root. + while (newRoot) { + var beginIndex = (newOrigin >>> newLevel) & MASK; + if ((beginIndex !== newTailOffset >>> newLevel) & MASK) { + break; + } + if (beginIndex) { + offsetShift += (1 << newLevel) * beginIndex; + } + newLevel -= SHIFT; + newRoot = newRoot.array[beginIndex]; + } + + // Trim the new sides of the new root. + if (newRoot && newOrigin > oldOrigin) { + newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift); + } + if (newRoot && newTailOffset < oldTailOffset) { + newRoot = newRoot.removeAfter( + owner, + newLevel, + newTailOffset - offsetShift + ); + } + if (offsetShift) { + newOrigin -= offsetShift; + newCapacity -= offsetShift; + } + } + + if (list.__ownerID) { + list.size = newCapacity - newOrigin; + list._origin = newOrigin; + list._capacity = newCapacity; + list._level = newLevel; + list._root = newRoot; + list._tail = newTail; + list.__hash = undefined; + list.__altered = true; + return list; + } + return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail); +} + +function getTailOffset(size) { + return size < SIZE ? 0 : ((size - 1) >>> SHIFT) << SHIFT; +} + +var OrderedMap = /*@__PURE__*/(function (Map) { + function OrderedMap(value) { + return value === undefined || value === null + ? emptyOrderedMap() + : isOrderedMap(value) + ? value + : emptyOrderedMap().withMutations(function (map) { + var iter = KeyedCollection(value); + assertNotInfinite(iter.size); + iter.forEach(function (v, k) { return map.set(k, v); }); + }); + } + + if ( Map ) OrderedMap.__proto__ = Map; + OrderedMap.prototype = Object.create( Map && Map.prototype ); + OrderedMap.prototype.constructor = OrderedMap; + + OrderedMap.of = function of (/*...values*/) { + return this(arguments); + }; + + OrderedMap.prototype.toString = function toString () { + return this.__toString('OrderedMap {', '}'); + }; + + // @pragma Access + + OrderedMap.prototype.get = function get (k, notSetValue) { + var index = this._map.get(k); + return index !== undefined ? this._list.get(index)[1] : notSetValue; + }; + + // @pragma Modification + + OrderedMap.prototype.clear = function clear () { + if (this.size === 0) { + return this; + } + if (this.__ownerID) { + this.size = 0; + this._map.clear(); + this._list.clear(); + this.__altered = true; + return this; + } + return emptyOrderedMap(); + }; + + OrderedMap.prototype.set = function set (k, v) { + return updateOrderedMap(this, k, v); + }; + + OrderedMap.prototype.remove = function remove (k) { + return updateOrderedMap(this, k, NOT_SET); + }; + + OrderedMap.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + return this._list.__iterate( + function (entry) { return entry && fn(entry[1], entry[0], this$1$1); }, + reverse + ); + }; + + OrderedMap.prototype.__iterator = function __iterator (type, reverse) { + return this._list.fromEntrySeq().__iterator(type, reverse); + }; + + OrderedMap.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + var newMap = this._map.__ensureOwner(ownerID); + var newList = this._list.__ensureOwner(ownerID); + if (!ownerID) { + if (this.size === 0) { + return emptyOrderedMap(); + } + this.__ownerID = ownerID; + this.__altered = false; + this._map = newMap; + this._list = newList; + return this; + } + return makeOrderedMap(newMap, newList, ownerID, this.__hash); + }; + + return OrderedMap; +}(Map)); + +OrderedMap.isOrderedMap = isOrderedMap; + +OrderedMap.prototype[IS_ORDERED_SYMBOL] = true; +OrderedMap.prototype[DELETE] = OrderedMap.prototype.remove; + +function makeOrderedMap(map, list, ownerID, hash) { + var omap = Object.create(OrderedMap.prototype); + omap.size = map ? map.size : 0; + omap._map = map; + omap._list = list; + omap.__ownerID = ownerID; + omap.__hash = hash; + omap.__altered = false; + return omap; +} + +var EMPTY_ORDERED_MAP; +function emptyOrderedMap() { + return ( + EMPTY_ORDERED_MAP || + (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList())) + ); +} + +function updateOrderedMap(omap, k, v) { + var map = omap._map; + var list = omap._list; + var i = map.get(k); + var has = i !== undefined; + var newMap; + var newList; + if (v === NOT_SET) { + // removed + if (!has) { + return omap; + } + if (list.size >= SIZE && list.size >= map.size * 2) { + newList = list.filter(function (entry, idx) { return entry !== undefined && i !== idx; }); + newMap = newList + .toKeyedSeq() + .map(function (entry) { return entry[0]; }) + .flip() + .toMap(); + if (omap.__ownerID) { + newMap.__ownerID = newList.__ownerID = omap.__ownerID; + } + } else { + newMap = map.remove(k); + newList = i === list.size - 1 ? list.pop() : list.set(i, undefined); + } + } else if (has) { + if (v === list.get(i)[1]) { + return omap; + } + newMap = map; + newList = list.set(i, [k, v]); + } else { + newMap = map.set(k, list.size); + newList = list.set(list.size, [k, v]); + } + if (omap.__ownerID) { + omap.size = newMap.size; + omap._map = newMap; + omap._list = newList; + omap.__hash = undefined; + omap.__altered = true; + return omap; + } + return makeOrderedMap(newMap, newList); +} + +var IS_STACK_SYMBOL = '@@__IMMUTABLE_STACK__@@'; + +function isStack(maybeStack) { + return Boolean(maybeStack && maybeStack[IS_STACK_SYMBOL]); +} + +var Stack = /*@__PURE__*/(function (IndexedCollection) { + function Stack(value) { + return value === undefined || value === null + ? emptyStack() + : isStack(value) + ? value + : emptyStack().pushAll(value); + } + + if ( IndexedCollection ) Stack.__proto__ = IndexedCollection; + Stack.prototype = Object.create( IndexedCollection && IndexedCollection.prototype ); + Stack.prototype.constructor = Stack; + + Stack.of = function of (/*...values*/) { + return this(arguments); + }; + + Stack.prototype.toString = function toString () { + return this.__toString('Stack [', ']'); + }; + + // @pragma Access + + Stack.prototype.get = function get (index, notSetValue) { + var head = this._head; + index = wrapIndex(this, index); + while (head && index--) { + head = head.next; + } + return head ? head.value : notSetValue; + }; + + Stack.prototype.peek = function peek () { + return this._head && this._head.value; + }; + + // @pragma Modification + + Stack.prototype.push = function push (/*...values*/) { + var arguments$1 = arguments; + + if (arguments.length === 0) { + return this; + } + var newSize = this.size + arguments.length; + var head = this._head; + for (var ii = arguments.length - 1; ii >= 0; ii--) { + head = { + value: arguments$1[ii], + next: head, + }; + } + if (this.__ownerID) { + this.size = newSize; + this._head = head; + this.__hash = undefined; + this.__altered = true; + return this; + } + return makeStack(newSize, head); + }; + + Stack.prototype.pushAll = function pushAll (iter) { + iter = IndexedCollection(iter); + if (iter.size === 0) { + return this; + } + if (this.size === 0 && isStack(iter)) { + return iter; + } + assertNotInfinite(iter.size); + var newSize = this.size; + var head = this._head; + iter.__iterate(function (value) { + newSize++; + head = { + value: value, + next: head, + }; + }, /* reverse */ true); + if (this.__ownerID) { + this.size = newSize; + this._head = head; + this.__hash = undefined; + this.__altered = true; + return this; + } + return makeStack(newSize, head); + }; + + Stack.prototype.pop = function pop () { + return this.slice(1); + }; + + Stack.prototype.clear = function clear () { + if (this.size === 0) { + return this; + } + if (this.__ownerID) { + this.size = 0; + this._head = undefined; + this.__hash = undefined; + this.__altered = true; + return this; + } + return emptyStack(); + }; + + Stack.prototype.slice = function slice (begin, end) { + if (wholeSlice(begin, end, this.size)) { + return this; + } + var resolvedBegin = resolveBegin(begin, this.size); + var resolvedEnd = resolveEnd(end, this.size); + if (resolvedEnd !== this.size) { + // super.slice(begin, end); + return IndexedCollection.prototype.slice.call(this, begin, end); + } + var newSize = this.size - resolvedBegin; + var head = this._head; + while (resolvedBegin--) { + head = head.next; + } + if (this.__ownerID) { + this.size = newSize; + this._head = head; + this.__hash = undefined; + this.__altered = true; + return this; + } + return makeStack(newSize, head); + }; + + // @pragma Mutability + + Stack.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + if (!ownerID) { + if (this.size === 0) { + return emptyStack(); + } + this.__ownerID = ownerID; + this.__altered = false; + return this; + } + return makeStack(this.size, this._head, ownerID, this.__hash); + }; + + // @pragma Iteration + + Stack.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + if (reverse) { + return new ArraySeq(this.toArray()).__iterate( + function (v, k) { return fn(v, k, this$1$1); }, + reverse + ); + } + var iterations = 0; + var node = this._head; + while (node) { + if (fn(node.value, iterations++, this) === false) { + break; + } + node = node.next; + } + return iterations; + }; + + Stack.prototype.__iterator = function __iterator (type, reverse) { + if (reverse) { + return new ArraySeq(this.toArray()).__iterator(type, reverse); + } + var iterations = 0; + var node = this._head; + return new Iterator(function () { + if (node) { + var value = node.value; + node = node.next; + return iteratorValue(type, iterations++, value); + } + return iteratorDone(); + }); + }; + + return Stack; +}(IndexedCollection)); + +Stack.isStack = isStack; + +var StackPrototype = Stack.prototype; +StackPrototype[IS_STACK_SYMBOL] = true; +StackPrototype.shift = StackPrototype.pop; +StackPrototype.unshift = StackPrototype.push; +StackPrototype.unshiftAll = StackPrototype.pushAll; +StackPrototype.withMutations = withMutations; +StackPrototype.wasAltered = wasAltered; +StackPrototype.asImmutable = asImmutable; +StackPrototype['@@transducer/init'] = StackPrototype.asMutable = asMutable; +StackPrototype['@@transducer/step'] = function (result, arr) { + return result.unshift(arr); +}; +StackPrototype['@@transducer/result'] = function (obj) { + return obj.asImmutable(); +}; + +function makeStack(size, head, ownerID, hash) { + var map = Object.create(StackPrototype); + map.size = size; + map._head = head; + map.__ownerID = ownerID; + map.__hash = hash; + map.__altered = false; + return map; +} + +var EMPTY_STACK; +function emptyStack() { + return EMPTY_STACK || (EMPTY_STACK = makeStack(0)); +} + +var IS_SET_SYMBOL = '@@__IMMUTABLE_SET__@@'; + +function isSet(maybeSet) { + return Boolean(maybeSet && maybeSet[IS_SET_SYMBOL]); +} + +function isOrderedSet(maybeOrderedSet) { + return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet); +} + +function deepEqual(a, b) { + if (a === b) { + return true; + } + + if ( + !isCollection(b) || + (a.size !== undefined && b.size !== undefined && a.size !== b.size) || + (a.__hash !== undefined && + b.__hash !== undefined && + a.__hash !== b.__hash) || + isKeyed(a) !== isKeyed(b) || + isIndexed(a) !== isIndexed(b) || + isOrdered(a) !== isOrdered(b) + ) { + return false; + } + + if (a.size === 0 && b.size === 0) { + return true; + } + + var notAssociative = !isAssociative(a); + + if (isOrdered(a)) { + var entries = a.entries(); + return ( + b.every(function (v, k) { + var entry = entries.next().value; + return entry && is(entry[1], v) && (notAssociative || is(entry[0], k)); + }) && entries.next().done + ); + } + + var flipped = false; + + if (a.size === undefined) { + if (b.size === undefined) { + if (typeof a.cacheResult === 'function') { + a.cacheResult(); + } + } else { + flipped = true; + var _ = a; + a = b; + b = _; + } + } + + var allEqual = true; + var bSize = b.__iterate(function (v, k) { + if ( + notAssociative + ? !a.has(v) + : flipped + ? !is(v, a.get(k, NOT_SET)) + : !is(a.get(k, NOT_SET), v) + ) { + allEqual = false; + return false; + } + }); + + return allEqual && a.size === bSize; +} + +function mixin(ctor, methods) { + var keyCopier = function (key) { + ctor.prototype[key] = methods[key]; + }; + Object.keys(methods).forEach(keyCopier); + Object.getOwnPropertySymbols && + Object.getOwnPropertySymbols(methods).forEach(keyCopier); + return ctor; +} + +function toJS(value) { + if (!value || typeof value !== 'object') { + return value; + } + if (!isCollection(value)) { + if (!isDataStructure(value)) { + return value; + } + value = Seq(value); + } + if (isKeyed(value)) { + var result$1 = {}; + value.__iterate(function (v, k) { + result$1[k] = toJS(v); + }); + return result$1; + } + var result = []; + value.__iterate(function (v) { + result.push(toJS(v)); + }); + return result; +} + +var Set = /*@__PURE__*/(function (SetCollection) { + function Set(value) { + return value === undefined || value === null + ? emptySet() + : isSet(value) && !isOrdered(value) + ? value + : emptySet().withMutations(function (set) { + var iter = SetCollection(value); + assertNotInfinite(iter.size); + iter.forEach(function (v) { return set.add(v); }); + }); + } + + if ( SetCollection ) Set.__proto__ = SetCollection; + Set.prototype = Object.create( SetCollection && SetCollection.prototype ); + Set.prototype.constructor = Set; + + Set.of = function of (/*...values*/) { + return this(arguments); + }; + + Set.fromKeys = function fromKeys (value) { + return this(KeyedCollection(value).keySeq()); + }; + + Set.intersect = function intersect (sets) { + sets = Collection(sets).toArray(); + return sets.length + ? SetPrototype.intersect.apply(Set(sets.pop()), sets) + : emptySet(); + }; + + Set.union = function union (sets) { + sets = Collection(sets).toArray(); + return sets.length + ? SetPrototype.union.apply(Set(sets.pop()), sets) + : emptySet(); + }; + + Set.prototype.toString = function toString () { + return this.__toString('Set {', '}'); + }; + + // @pragma Access + + Set.prototype.has = function has (value) { + return this._map.has(value); + }; + + // @pragma Modification + + Set.prototype.add = function add (value) { + return updateSet(this, this._map.set(value, value)); + }; + + Set.prototype.remove = function remove (value) { + return updateSet(this, this._map.remove(value)); + }; + + Set.prototype.clear = function clear () { + return updateSet(this, this._map.clear()); + }; + + // @pragma Composition + + Set.prototype.map = function map (mapper, context) { + var this$1$1 = this; + + // keep track if the set is altered by the map function + var didChanges = false; + + var newMap = updateSet( + this, + this._map.mapEntries(function (ref) { + var v = ref[1]; + + var mapped = mapper.call(context, v, v, this$1$1); + + if (mapped !== v) { + didChanges = true; + } + + return [mapped, mapped]; + }, context) + ); + + return didChanges ? newMap : this; + }; + + Set.prototype.union = function union () { + var iters = [], len = arguments.length; + while ( len-- ) iters[ len ] = arguments[ len ]; + + iters = iters.filter(function (x) { return x.size !== 0; }); + if (iters.length === 0) { + return this; + } + if (this.size === 0 && !this.__ownerID && iters.length === 1) { + return this.constructor(iters[0]); + } + return this.withMutations(function (set) { + for (var ii = 0; ii < iters.length; ii++) { + if (typeof iters[ii] === 'string') { + set.add(iters[ii]); + } else { + SetCollection(iters[ii]).forEach(function (value) { return set.add(value); }); + } + } + }); + }; + + Set.prototype.intersect = function intersect () { + var iters = [], len = arguments.length; + while ( len-- ) iters[ len ] = arguments[ len ]; + + if (iters.length === 0) { + return this; + } + iters = iters.map(function (iter) { return SetCollection(iter); }); + var toRemove = []; + this.forEach(function (value) { + if (!iters.every(function (iter) { return iter.includes(value); })) { + toRemove.push(value); + } + }); + return this.withMutations(function (set) { + toRemove.forEach(function (value) { + set.remove(value); + }); + }); + }; + + Set.prototype.subtract = function subtract () { + var iters = [], len = arguments.length; + while ( len-- ) iters[ len ] = arguments[ len ]; + + if (iters.length === 0) { + return this; + } + iters = iters.map(function (iter) { return SetCollection(iter); }); + var toRemove = []; + this.forEach(function (value) { + if (iters.some(function (iter) { return iter.includes(value); })) { + toRemove.push(value); + } + }); + return this.withMutations(function (set) { + toRemove.forEach(function (value) { + set.remove(value); + }); + }); + }; + + Set.prototype.sort = function sort (comparator) { + // Late binding + return OrderedSet(sortFactory(this, comparator)); + }; + + Set.prototype.sortBy = function sortBy (mapper, comparator) { + // Late binding + return OrderedSet(sortFactory(this, comparator, mapper)); + }; + + Set.prototype.wasAltered = function wasAltered () { + return this._map.wasAltered(); + }; + + Set.prototype.__iterate = function __iterate (fn, reverse) { + var this$1$1 = this; + + return this._map.__iterate(function (k) { return fn(k, k, this$1$1); }, reverse); + }; + + Set.prototype.__iterator = function __iterator (type, reverse) { + return this._map.__iterator(type, reverse); + }; + + Set.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + var newMap = this._map.__ensureOwner(ownerID); + if (!ownerID) { + if (this.size === 0) { + return this.__empty(); + } + this.__ownerID = ownerID; + this._map = newMap; + return this; + } + return this.__make(newMap, ownerID); + }; + + return Set; +}(SetCollection)); + +Set.isSet = isSet; + +var SetPrototype = Set.prototype; +SetPrototype[IS_SET_SYMBOL] = true; +SetPrototype[DELETE] = SetPrototype.remove; +SetPrototype.merge = SetPrototype.concat = SetPrototype.union; +SetPrototype.withMutations = withMutations; +SetPrototype.asImmutable = asImmutable; +SetPrototype['@@transducer/init'] = SetPrototype.asMutable = asMutable; +SetPrototype['@@transducer/step'] = function (result, arr) { + return result.add(arr); +}; +SetPrototype['@@transducer/result'] = function (obj) { + return obj.asImmutable(); +}; + +SetPrototype.__empty = emptySet; +SetPrototype.__make = makeSet; + +function updateSet(set, newMap) { + if (set.__ownerID) { + set.size = newMap.size; + set._map = newMap; + return set; + } + return newMap === set._map + ? set + : newMap.size === 0 + ? set.__empty() + : set.__make(newMap); +} + +function makeSet(map, ownerID) { + var set = Object.create(SetPrototype); + set.size = map ? map.size : 0; + set._map = map; + set.__ownerID = ownerID; + return set; +} + +var EMPTY_SET; +function emptySet() { + return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap())); +} + +/** + * Returns a lazy seq of nums from start (inclusive) to end + * (exclusive), by step, where start defaults to 0, step to 1, and end to + * infinity. When start is equal to end, returns empty list. + */ +var Range = /*@__PURE__*/(function (IndexedSeq) { + function Range(start, end, step) { + if (!(this instanceof Range)) { + return new Range(start, end, step); + } + invariant(step !== 0, 'Cannot step a Range by 0'); + start = start || 0; + if (end === undefined) { + end = Infinity; + } + step = step === undefined ? 1 : Math.abs(step); + if (end < start) { + step = -step; + } + this._start = start; + this._end = end; + this._step = step; + this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1); + if (this.size === 0) { + if (EMPTY_RANGE) { + return EMPTY_RANGE; + } + EMPTY_RANGE = this; + } + } + + if ( IndexedSeq ) Range.__proto__ = IndexedSeq; + Range.prototype = Object.create( IndexedSeq && IndexedSeq.prototype ); + Range.prototype.constructor = Range; + + Range.prototype.toString = function toString () { + if (this.size === 0) { + return 'Range []'; + } + return ( + 'Range [ ' + + this._start + + '...' + + this._end + + (this._step !== 1 ? ' by ' + this._step : '') + + ' ]' + ); + }; + + Range.prototype.get = function get (index, notSetValue) { + return this.has(index) + ? this._start + wrapIndex(this, index) * this._step + : notSetValue; + }; + + Range.prototype.includes = function includes (searchValue) { + var possibleIndex = (searchValue - this._start) / this._step; + return ( + possibleIndex >= 0 && + possibleIndex < this.size && + possibleIndex === Math.floor(possibleIndex) + ); + }; + + Range.prototype.slice = function slice (begin, end) { + if (wholeSlice(begin, end, this.size)) { + return this; + } + begin = resolveBegin(begin, this.size); + end = resolveEnd(end, this.size); + if (end <= begin) { + return new Range(0, 0); + } + return new Range( + this.get(begin, this._end), + this.get(end, this._end), + this._step + ); + }; + + Range.prototype.indexOf = function indexOf (searchValue) { + var offsetValue = searchValue - this._start; + if (offsetValue % this._step === 0) { + var index = offsetValue / this._step; + if (index >= 0 && index < this.size) { + return index; + } + } + return -1; + }; + + Range.prototype.lastIndexOf = function lastIndexOf (searchValue) { + return this.indexOf(searchValue); + }; + + Range.prototype.__iterate = function __iterate (fn, reverse) { + var size = this.size; + var step = this._step; + var value = reverse ? this._start + (size - 1) * step : this._start; + var i = 0; + while (i !== size) { + if (fn(value, reverse ? size - ++i : i++, this) === false) { + break; + } + value += reverse ? -step : step; + } + return i; + }; + + Range.prototype.__iterator = function __iterator (type, reverse) { + var size = this.size; + var step = this._step; + var value = reverse ? this._start + (size - 1) * step : this._start; + var i = 0; + return new Iterator(function () { + if (i === size) { + return iteratorDone(); + } + var v = value; + value += reverse ? -step : step; + return iteratorValue(type, reverse ? size - ++i : i++, v); + }); + }; + + Range.prototype.equals = function equals (other) { + return other instanceof Range + ? this._start === other._start && + this._end === other._end && + this._step === other._step + : deepEqual(this, other); + }; + + return Range; +}(IndexedSeq)); + +var EMPTY_RANGE; + +function getIn$1(collection, searchKeyPath, notSetValue) { + var keyPath = coerceKeyPath(searchKeyPath); + var i = 0; + while (i !== keyPath.length) { + collection = get(collection, keyPath[i++], NOT_SET); + if (collection === NOT_SET) { + return notSetValue; + } + } + return collection; +} + +function getIn(searchKeyPath, notSetValue) { + return getIn$1(this, searchKeyPath, notSetValue); +} + +function hasIn$1(collection, keyPath) { + return getIn$1(collection, keyPath, NOT_SET) !== NOT_SET; +} + +function hasIn(searchKeyPath) { + return hasIn$1(this, searchKeyPath); +} + +function toObject() { + assertNotInfinite(this.size); + var object = {}; + this.__iterate(function (v, k) { + object[k] = v; + }); + return object; +} + +// Note: all of these methods are deprecated. +Collection.isIterable = isCollection; +Collection.isKeyed = isKeyed; +Collection.isIndexed = isIndexed; +Collection.isAssociative = isAssociative; +Collection.isOrdered = isOrdered; + +Collection.Iterator = Iterator; + +mixin(Collection, { + // ### Conversion to other types + + toArray: function toArray() { + assertNotInfinite(this.size); + var array = new Array(this.size || 0); + var useTuples = isKeyed(this); + var i = 0; + this.__iterate(function (v, k) { + // Keyed collections produce an array of tuples. + array[i++] = useTuples ? [k, v] : v; + }); + return array; + }, + + toIndexedSeq: function toIndexedSeq() { + return new ToIndexedSequence(this); + }, + + toJS: function toJS$1() { + return toJS(this); + }, + + toKeyedSeq: function toKeyedSeq() { + return new ToKeyedSequence(this, true); + }, + + toMap: function toMap() { + // Use Late Binding here to solve the circular dependency. + return Map(this.toKeyedSeq()); + }, + + toObject: toObject, + + toOrderedMap: function toOrderedMap() { + // Use Late Binding here to solve the circular dependency. + return OrderedMap(this.toKeyedSeq()); + }, + + toOrderedSet: function toOrderedSet() { + // Use Late Binding here to solve the circular dependency. + return OrderedSet(isKeyed(this) ? this.valueSeq() : this); + }, + + toSet: function toSet() { + // Use Late Binding here to solve the circular dependency. + return Set(isKeyed(this) ? this.valueSeq() : this); + }, + + toSetSeq: function toSetSeq() { + return new ToSetSequence(this); + }, + + toSeq: function toSeq() { + return isIndexed(this) + ? this.toIndexedSeq() + : isKeyed(this) + ? this.toKeyedSeq() + : this.toSetSeq(); + }, + + toStack: function toStack() { + // Use Late Binding here to solve the circular dependency. + return Stack(isKeyed(this) ? this.valueSeq() : this); + }, + + toList: function toList() { + // Use Late Binding here to solve the circular dependency. + return List(isKeyed(this) ? this.valueSeq() : this); + }, + + // ### Common JavaScript methods and properties + + toString: function toString() { + return '[Collection]'; + }, + + __toString: function __toString(head, tail) { + if (this.size === 0) { + return head + tail; + } + return ( + head + + ' ' + + this.toSeq().map(this.__toStringMapper).join(', ') + + ' ' + + tail + ); + }, + + // ### ES6 Collection methods (ES6 Array and Map) + + concat: function concat() { + var values = [], len = arguments.length; + while ( len-- ) values[ len ] = arguments[ len ]; + + return reify(this, concatFactory(this, values)); + }, + + includes: function includes(searchValue) { + return this.some(function (value) { return is(value, searchValue); }); + }, + + entries: function entries() { + return this.__iterator(ITERATE_ENTRIES); + }, + + every: function every(predicate, context) { + assertNotInfinite(this.size); + var returnValue = true; + this.__iterate(function (v, k, c) { + if (!predicate.call(context, v, k, c)) { + returnValue = false; + return false; + } + }); + return returnValue; + }, + + filter: function filter(predicate, context) { + return reify(this, filterFactory(this, predicate, context, true)); + }, + + partition: function partition(predicate, context) { + return partitionFactory(this, predicate, context); + }, + + find: function find(predicate, context, notSetValue) { + var entry = this.findEntry(predicate, context); + return entry ? entry[1] : notSetValue; + }, + + forEach: function forEach(sideEffect, context) { + assertNotInfinite(this.size); + return this.__iterate(context ? sideEffect.bind(context) : sideEffect); + }, + + join: function join(separator) { + assertNotInfinite(this.size); + separator = separator !== undefined ? '' + separator : ','; + var joined = ''; + var isFirst = true; + this.__iterate(function (v) { + isFirst ? (isFirst = false) : (joined += separator); + joined += v !== null && v !== undefined ? v.toString() : ''; + }); + return joined; + }, + + keys: function keys() { + return this.__iterator(ITERATE_KEYS); + }, + + map: function map(mapper, context) { + return reify(this, mapFactory(this, mapper, context)); + }, + + reduce: function reduce$1(reducer, initialReduction, context) { + return reduce( + this, + reducer, + initialReduction, + context, + arguments.length < 2, + false + ); + }, + + reduceRight: function reduceRight(reducer, initialReduction, context) { + return reduce( + this, + reducer, + initialReduction, + context, + arguments.length < 2, + true + ); + }, + + reverse: function reverse() { + return reify(this, reverseFactory(this, true)); + }, + + slice: function slice(begin, end) { + return reify(this, sliceFactory(this, begin, end, true)); + }, + + some: function some(predicate, context) { + assertNotInfinite(this.size); + var returnValue = false; + this.__iterate(function (v, k, c) { + if (predicate.call(context, v, k, c)) { + returnValue = true; + return false; + } + }); + return returnValue; + }, + + sort: function sort(comparator) { + return reify(this, sortFactory(this, comparator)); + }, + + values: function values() { + return this.__iterator(ITERATE_VALUES); + }, + + // ### More sequential methods + + butLast: function butLast() { + return this.slice(0, -1); + }, + + isEmpty: function isEmpty() { + return this.size !== undefined ? this.size === 0 : !this.some(function () { return true; }); + }, + + count: function count(predicate, context) { + return ensureSize( + predicate ? this.toSeq().filter(predicate, context) : this + ); + }, + + countBy: function countBy(grouper, context) { + return countByFactory(this, grouper, context); + }, + + equals: function equals(other) { + return deepEqual(this, other); + }, + + entrySeq: function entrySeq() { + var collection = this; + if (collection._cache) { + // We cache as an entries array, so we can just return the cache! + return new ArraySeq(collection._cache); + } + var entriesSequence = collection.toSeq().map(entryMapper).toIndexedSeq(); + entriesSequence.fromEntrySeq = function () { return collection.toSeq(); }; + return entriesSequence; + }, + + filterNot: function filterNot(predicate, context) { + return this.filter(not(predicate), context); + }, + + findEntry: function findEntry(predicate, context, notSetValue) { + var found = notSetValue; + this.__iterate(function (v, k, c) { + if (predicate.call(context, v, k, c)) { + found = [k, v]; + return false; + } + }); + return found; + }, + + findKey: function findKey(predicate, context) { + var entry = this.findEntry(predicate, context); + return entry && entry[0]; + }, + + findLast: function findLast(predicate, context, notSetValue) { + return this.toKeyedSeq().reverse().find(predicate, context, notSetValue); + }, + + findLastEntry: function findLastEntry(predicate, context, notSetValue) { + return this.toKeyedSeq() + .reverse() + .findEntry(predicate, context, notSetValue); + }, + + findLastKey: function findLastKey(predicate, context) { + return this.toKeyedSeq().reverse().findKey(predicate, context); + }, + + first: function first(notSetValue) { + return this.find(returnTrue, null, notSetValue); + }, + + flatMap: function flatMap(mapper, context) { + return reify(this, flatMapFactory(this, mapper, context)); + }, + + flatten: function flatten(depth) { + return reify(this, flattenFactory(this, depth, true)); + }, + + fromEntrySeq: function fromEntrySeq() { + return new FromEntriesSequence(this); + }, + + get: function get(searchKey, notSetValue) { + return this.find(function (_, key) { return is(key, searchKey); }, undefined, notSetValue); + }, + + getIn: getIn, + + groupBy: function groupBy(grouper, context) { + return groupByFactory(this, grouper, context); + }, + + has: function has(searchKey) { + return this.get(searchKey, NOT_SET) !== NOT_SET; + }, + + hasIn: hasIn, + + isSubset: function isSubset(iter) { + iter = typeof iter.includes === 'function' ? iter : Collection(iter); + return this.every(function (value) { return iter.includes(value); }); + }, + + isSuperset: function isSuperset(iter) { + iter = typeof iter.isSubset === 'function' ? iter : Collection(iter); + return iter.isSubset(this); + }, + + keyOf: function keyOf(searchValue) { + return this.findKey(function (value) { return is(value, searchValue); }); + }, + + keySeq: function keySeq() { + return this.toSeq().map(keyMapper).toIndexedSeq(); + }, + + last: function last(notSetValue) { + return this.toSeq().reverse().first(notSetValue); + }, + + lastKeyOf: function lastKeyOf(searchValue) { + return this.toKeyedSeq().reverse().keyOf(searchValue); + }, + + max: function max(comparator) { + return maxFactory(this, comparator); + }, + + maxBy: function maxBy(mapper, comparator) { + return maxFactory(this, comparator, mapper); + }, + + min: function min(comparator) { + return maxFactory( + this, + comparator ? neg(comparator) : defaultNegComparator + ); + }, + + minBy: function minBy(mapper, comparator) { + return maxFactory( + this, + comparator ? neg(comparator) : defaultNegComparator, + mapper + ); + }, + + rest: function rest() { + return this.slice(1); + }, + + skip: function skip(amount) { + return amount === 0 ? this : this.slice(Math.max(0, amount)); + }, + + skipLast: function skipLast(amount) { + return amount === 0 ? this : this.slice(0, -Math.max(0, amount)); + }, + + skipWhile: function skipWhile(predicate, context) { + return reify(this, skipWhileFactory(this, predicate, context, true)); + }, + + skipUntil: function skipUntil(predicate, context) { + return this.skipWhile(not(predicate), context); + }, + + sortBy: function sortBy(mapper, comparator) { + return reify(this, sortFactory(this, comparator, mapper)); + }, + + take: function take(amount) { + return this.slice(0, Math.max(0, amount)); + }, + + takeLast: function takeLast(amount) { + return this.slice(-Math.max(0, amount)); + }, + + takeWhile: function takeWhile(predicate, context) { + return reify(this, takeWhileFactory(this, predicate, context)); + }, + + takeUntil: function takeUntil(predicate, context) { + return this.takeWhile(not(predicate), context); + }, + + update: function update(fn) { + return fn(this); + }, + + valueSeq: function valueSeq() { + return this.toIndexedSeq(); + }, + + // ### Hashable Object + + hashCode: function hashCode() { + return this.__hash || (this.__hash = hashCollection(this)); + }, + + // ### Internal + + // abstract __iterate(fn, reverse) + + // abstract __iterator(type, reverse) +}); + +var CollectionPrototype = Collection.prototype; +CollectionPrototype[IS_COLLECTION_SYMBOL] = true; +CollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.values; +CollectionPrototype.toJSON = CollectionPrototype.toArray; +CollectionPrototype.__toStringMapper = quoteString; +CollectionPrototype.inspect = CollectionPrototype.toSource = function () { + return this.toString(); +}; +CollectionPrototype.chain = CollectionPrototype.flatMap; +CollectionPrototype.contains = CollectionPrototype.includes; + +mixin(KeyedCollection, { + // ### More sequential methods + + flip: function flip() { + return reify(this, flipFactory(this)); + }, + + mapEntries: function mapEntries(mapper, context) { + var this$1$1 = this; + + var iterations = 0; + return reify( + this, + this.toSeq() + .map(function (v, k) { return mapper.call(context, [k, v], iterations++, this$1$1); }) + .fromEntrySeq() + ); + }, + + mapKeys: function mapKeys(mapper, context) { + var this$1$1 = this; + + return reify( + this, + this.toSeq() + .flip() + .map(function (k, v) { return mapper.call(context, k, v, this$1$1); }) + .flip() + ); + }, +}); + +var KeyedCollectionPrototype = KeyedCollection.prototype; +KeyedCollectionPrototype[IS_KEYED_SYMBOL] = true; +KeyedCollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.entries; +KeyedCollectionPrototype.toJSON = toObject; +KeyedCollectionPrototype.__toStringMapper = function (v, k) { return quoteString(k) + ': ' + quoteString(v); }; + +mixin(IndexedCollection, { + // ### Conversion to other types + + toKeyedSeq: function toKeyedSeq() { + return new ToKeyedSequence(this, false); + }, + + // ### ES6 Collection methods (ES6 Array and Map) + + filter: function filter(predicate, context) { + return reify(this, filterFactory(this, predicate, context, false)); + }, + + findIndex: function findIndex(predicate, context) { + var entry = this.findEntry(predicate, context); + return entry ? entry[0] : -1; + }, + + indexOf: function indexOf(searchValue) { + var key = this.keyOf(searchValue); + return key === undefined ? -1 : key; + }, + + lastIndexOf: function lastIndexOf(searchValue) { + var key = this.lastKeyOf(searchValue); + return key === undefined ? -1 : key; + }, + + reverse: function reverse() { + return reify(this, reverseFactory(this, false)); + }, + + slice: function slice(begin, end) { + return reify(this, sliceFactory(this, begin, end, false)); + }, + + splice: function splice(index, removeNum /*, ...values*/) { + var numArgs = arguments.length; + removeNum = Math.max(removeNum || 0, 0); + if (numArgs === 0 || (numArgs === 2 && !removeNum)) { + return this; + } + // If index is negative, it should resolve relative to the size of the + // collection. However size may be expensive to compute if not cached, so + // only call count() if the number is in fact negative. + index = resolveBegin(index, index < 0 ? this.count() : this.size); + var spliced = this.slice(0, index); + return reify( + this, + numArgs === 1 + ? spliced + : spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum)) + ); + }, + + // ### More collection methods + + findLastIndex: function findLastIndex(predicate, context) { + var entry = this.findLastEntry(predicate, context); + return entry ? entry[0] : -1; + }, + + first: function first(notSetValue) { + return this.get(0, notSetValue); + }, + + flatten: function flatten(depth) { + return reify(this, flattenFactory(this, depth, false)); + }, + + get: function get(index, notSetValue) { + index = wrapIndex(this, index); + return index < 0 || + this.size === Infinity || + (this.size !== undefined && index > this.size) + ? notSetValue + : this.find(function (_, key) { return key === index; }, undefined, notSetValue); + }, + + has: function has(index) { + index = wrapIndex(this, index); + return ( + index >= 0 && + (this.size !== undefined + ? this.size === Infinity || index < this.size + : this.indexOf(index) !== -1) + ); + }, + + interpose: function interpose(separator) { + return reify(this, interposeFactory(this, separator)); + }, + + interleave: function interleave(/*...collections*/) { + var collections = [this].concat(arrCopy(arguments)); + var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, collections); + var interleaved = zipped.flatten(true); + if (zipped.size) { + interleaved.size = zipped.size * collections.length; + } + return reify(this, interleaved); + }, + + keySeq: function keySeq() { + return Range(0, this.size); + }, + + last: function last(notSetValue) { + return this.get(-1, notSetValue); + }, + + skipWhile: function skipWhile(predicate, context) { + return reify(this, skipWhileFactory(this, predicate, context, false)); + }, + + zip: function zip(/*, ...collections */) { + var collections = [this].concat(arrCopy(arguments)); + return reify(this, zipWithFactory(this, defaultZipper, collections)); + }, + + zipAll: function zipAll(/*, ...collections */) { + var collections = [this].concat(arrCopy(arguments)); + return reify(this, zipWithFactory(this, defaultZipper, collections, true)); + }, + + zipWith: function zipWith(zipper /*, ...collections */) { + var collections = arrCopy(arguments); + collections[0] = this; + return reify(this, zipWithFactory(this, zipper, collections)); + }, +}); + +var IndexedCollectionPrototype = IndexedCollection.prototype; +IndexedCollectionPrototype[IS_INDEXED_SYMBOL] = true; +IndexedCollectionPrototype[IS_ORDERED_SYMBOL] = true; + +mixin(SetCollection, { + // ### ES6 Collection methods (ES6 Array and Map) + + get: function get(value, notSetValue) { + return this.has(value) ? value : notSetValue; + }, + + includes: function includes(value) { + return this.has(value); + }, + + // ### More sequential methods + + keySeq: function keySeq() { + return this.valueSeq(); + }, +}); + +var SetCollectionPrototype = SetCollection.prototype; +SetCollectionPrototype.has = CollectionPrototype.includes; +SetCollectionPrototype.contains = SetCollectionPrototype.includes; +SetCollectionPrototype.keys = SetCollectionPrototype.values; + +// Mixin subclasses + +mixin(KeyedSeq, KeyedCollectionPrototype); +mixin(IndexedSeq, IndexedCollectionPrototype); +mixin(SetSeq, SetCollectionPrototype); + +// #pragma Helper functions + +function reduce(collection, reducer, reduction, context, useFirst, reverse) { + assertNotInfinite(collection.size); + collection.__iterate(function (v, k, c) { + if (useFirst) { + useFirst = false; + reduction = v; + } else { + reduction = reducer.call(context, reduction, v, k, c); + } + }, reverse); + return reduction; +} + +function keyMapper(v, k) { + return k; +} + +function entryMapper(v, k) { + return [k, v]; +} + +function not(predicate) { + return function () { + return !predicate.apply(this, arguments); + }; +} + +function neg(predicate) { + return function () { + return -predicate.apply(this, arguments); + }; +} + +function defaultZipper() { + return arrCopy(arguments); +} + +function defaultNegComparator(a, b) { + return a < b ? 1 : a > b ? -1 : 0; +} + +function hashCollection(collection) { + if (collection.size === Infinity) { + return 0; + } + var ordered = isOrdered(collection); + var keyed = isKeyed(collection); + var h = ordered ? 1 : 0; + var size = collection.__iterate( + keyed + ? ordered + ? function (v, k) { + h = (31 * h + hashMerge(hash(v), hash(k))) | 0; + } + : function (v, k) { + h = (h + hashMerge(hash(v), hash(k))) | 0; + } + : ordered + ? function (v) { + h = (31 * h + hash(v)) | 0; + } + : function (v) { + h = (h + hash(v)) | 0; + } + ); + return murmurHashOfSize(size, h); +} + +function murmurHashOfSize(size, h) { + h = imul(h, 0xcc9e2d51); + h = imul((h << 15) | (h >>> -15), 0x1b873593); + h = imul((h << 13) | (h >>> -13), 5); + h = ((h + 0xe6546b64) | 0) ^ size; + h = imul(h ^ (h >>> 16), 0x85ebca6b); + h = imul(h ^ (h >>> 13), 0xc2b2ae35); + h = smi(h ^ (h >>> 16)); + return h; +} + +function hashMerge(a, b) { + return (a ^ (b + 0x9e3779b9 + (a << 6) + (a >> 2))) | 0; // int +} + +var OrderedSet = /*@__PURE__*/(function (Set) { + function OrderedSet(value) { + return value === undefined || value === null + ? emptyOrderedSet() + : isOrderedSet(value) + ? value + : emptyOrderedSet().withMutations(function (set) { + var iter = SetCollection(value); + assertNotInfinite(iter.size); + iter.forEach(function (v) { return set.add(v); }); + }); + } + + if ( Set ) OrderedSet.__proto__ = Set; + OrderedSet.prototype = Object.create( Set && Set.prototype ); + OrderedSet.prototype.constructor = OrderedSet; + + OrderedSet.of = function of (/*...values*/) { + return this(arguments); + }; + + OrderedSet.fromKeys = function fromKeys (value) { + return this(KeyedCollection(value).keySeq()); + }; + + OrderedSet.prototype.toString = function toString () { + return this.__toString('OrderedSet {', '}'); + }; + + return OrderedSet; +}(Set)); + +OrderedSet.isOrderedSet = isOrderedSet; + +var OrderedSetPrototype = OrderedSet.prototype; +OrderedSetPrototype[IS_ORDERED_SYMBOL] = true; +OrderedSetPrototype.zip = IndexedCollectionPrototype.zip; +OrderedSetPrototype.zipWith = IndexedCollectionPrototype.zipWith; +OrderedSetPrototype.zipAll = IndexedCollectionPrototype.zipAll; + +OrderedSetPrototype.__empty = emptyOrderedSet; +OrderedSetPrototype.__make = makeOrderedSet; + +function makeOrderedSet(map, ownerID) { + var set = Object.create(OrderedSetPrototype); + set.size = map ? map.size : 0; + set._map = map; + set.__ownerID = ownerID; + return set; +} + +var EMPTY_ORDERED_SET; +function emptyOrderedSet() { + return ( + EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap())) + ); +} + +var PairSorting = { + LeftThenRight: -1, + RightThenLeft: +1, +}; + +function throwOnInvalidDefaultValues(defaultValues) { + if (isRecord(defaultValues)) { + throw new Error( + 'Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.' + ); + } + + if (isImmutable(defaultValues)) { + throw new Error( + 'Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.' + ); + } + + if (defaultValues === null || typeof defaultValues !== 'object') { + throw new Error( + 'Can not call `Record` with a non-object as default values. Use a plain javascript object instead.' + ); + } +} + +var Record = function Record(defaultValues, name) { + var hasInitialized; + + throwOnInvalidDefaultValues(defaultValues); + + var RecordType = function Record(values) { + var this$1$1 = this; + + if (values instanceof RecordType) { + return values; + } + if (!(this instanceof RecordType)) { + return new RecordType(values); + } + if (!hasInitialized) { + hasInitialized = true; + var keys = Object.keys(defaultValues); + var indices = (RecordTypePrototype._indices = {}); + // Deprecated: left to attempt not to break any external code which + // relies on a ._name property existing on record instances. + // Use Record.getDescriptiveName() instead + RecordTypePrototype._name = name; + RecordTypePrototype._keys = keys; + RecordTypePrototype._defaultValues = defaultValues; + for (var i = 0; i < keys.length; i++) { + var propName = keys[i]; + indices[propName] = i; + if (RecordTypePrototype[propName]) { + /* eslint-disable no-console */ + typeof console === 'object' && + console.warn && + console.warn( + 'Cannot define ' + + recordName(this) + + ' with property "' + + propName + + '" since that property name is part of the Record API.' + ); + /* eslint-enable no-console */ + } else { + setProp(RecordTypePrototype, propName); + } + } + } + this.__ownerID = undefined; + this._values = List().withMutations(function (l) { + l.setSize(this$1$1._keys.length); + KeyedCollection(values).forEach(function (v, k) { + l.set(this$1$1._indices[k], v === this$1$1._defaultValues[k] ? undefined : v); + }); + }); + return this; + }; + + var RecordTypePrototype = (RecordType.prototype = + Object.create(RecordPrototype)); + RecordTypePrototype.constructor = RecordType; + + if (name) { + RecordType.displayName = name; + } + + return RecordType; +}; + +Record.prototype.toString = function toString () { + var str = recordName(this) + ' { '; + var keys = this._keys; + var k; + for (var i = 0, l = keys.length; i !== l; i++) { + k = keys[i]; + str += (i ? ', ' : '') + k + ': ' + quoteString(this.get(k)); + } + return str + ' }'; +}; + +Record.prototype.equals = function equals (other) { + return ( + this === other || + (isRecord(other) && recordSeq(this).equals(recordSeq(other))) + ); +}; + +Record.prototype.hashCode = function hashCode () { + return recordSeq(this).hashCode(); +}; + +// @pragma Access + +Record.prototype.has = function has (k) { + return this._indices.hasOwnProperty(k); +}; + +Record.prototype.get = function get (k, notSetValue) { + if (!this.has(k)) { + return notSetValue; + } + var index = this._indices[k]; + var value = this._values.get(index); + return value === undefined ? this._defaultValues[k] : value; +}; + +// @pragma Modification + +Record.prototype.set = function set (k, v) { + if (this.has(k)) { + var newValues = this._values.set( + this._indices[k], + v === this._defaultValues[k] ? undefined : v + ); + if (newValues !== this._values && !this.__ownerID) { + return makeRecord(this, newValues); + } + } + return this; +}; + +Record.prototype.remove = function remove (k) { + return this.set(k); +}; + +Record.prototype.clear = function clear () { + var newValues = this._values.clear().setSize(this._keys.length); + + return this.__ownerID ? this : makeRecord(this, newValues); +}; + +Record.prototype.wasAltered = function wasAltered () { + return this._values.wasAltered(); +}; + +Record.prototype.toSeq = function toSeq () { + return recordSeq(this); +}; + +Record.prototype.toJS = function toJS$1 () { + return toJS(this); +}; + +Record.prototype.entries = function entries () { + return this.__iterator(ITERATE_ENTRIES); +}; + +Record.prototype.__iterator = function __iterator (type, reverse) { + return recordSeq(this).__iterator(type, reverse); +}; + +Record.prototype.__iterate = function __iterate (fn, reverse) { + return recordSeq(this).__iterate(fn, reverse); +}; + +Record.prototype.__ensureOwner = function __ensureOwner (ownerID) { + if (ownerID === this.__ownerID) { + return this; + } + var newValues = this._values.__ensureOwner(ownerID); + if (!ownerID) { + this.__ownerID = ownerID; + this._values = newValues; + return this; + } + return makeRecord(this, newValues, ownerID); +}; + +Record.isRecord = isRecord; +Record.getDescriptiveName = recordName; +var RecordPrototype = Record.prototype; +RecordPrototype[IS_RECORD_SYMBOL] = true; +RecordPrototype[DELETE] = RecordPrototype.remove; +RecordPrototype.deleteIn = RecordPrototype.removeIn = deleteIn; +RecordPrototype.getIn = getIn; +RecordPrototype.hasIn = CollectionPrototype.hasIn; +RecordPrototype.merge = merge$1; +RecordPrototype.mergeWith = mergeWith$1; +RecordPrototype.mergeIn = mergeIn; +RecordPrototype.mergeDeep = mergeDeep; +RecordPrototype.mergeDeepWith = mergeDeepWith; +RecordPrototype.mergeDeepIn = mergeDeepIn; +RecordPrototype.setIn = setIn; +RecordPrototype.update = update; +RecordPrototype.updateIn = updateIn; +RecordPrototype.withMutations = withMutations; +RecordPrototype.asMutable = asMutable; +RecordPrototype.asImmutable = asImmutable; +RecordPrototype[ITERATOR_SYMBOL] = RecordPrototype.entries; +RecordPrototype.toJSON = RecordPrototype.toObject = + CollectionPrototype.toObject; +RecordPrototype.inspect = RecordPrototype.toSource = function () { + return this.toString(); +}; + +function makeRecord(likeRecord, values, ownerID) { + var record = Object.create(Object.getPrototypeOf(likeRecord)); + record._values = values; + record.__ownerID = ownerID; + return record; +} + +function recordName(record) { + return record.constructor.displayName || record.constructor.name || 'Record'; +} + +function recordSeq(record) { + return keyedSeqFromValue(record._keys.map(function (k) { return [k, record.get(k)]; })); +} + +function setProp(prototype, name) { + try { + Object.defineProperty(prototype, name, { + get: function () { + return this.get(name); + }, + set: function (value) { + invariant(this.__ownerID, 'Cannot set on an immutable record.'); + this.set(name, value); + }, + }); + } catch (error) { + // Object.defineProperty failed. Probably IE8. + } +} + +/** + * Returns a lazy Seq of `value` repeated `times` times. When `times` is + * undefined, returns an infinite sequence of `value`. + */ +var Repeat = /*@__PURE__*/(function (IndexedSeq) { + function Repeat(value, times) { + if (!(this instanceof Repeat)) { + return new Repeat(value, times); + } + this._value = value; + this.size = times === undefined ? Infinity : Math.max(0, times); + if (this.size === 0) { + if (EMPTY_REPEAT) { + return EMPTY_REPEAT; + } + EMPTY_REPEAT = this; + } + } + + if ( IndexedSeq ) Repeat.__proto__ = IndexedSeq; + Repeat.prototype = Object.create( IndexedSeq && IndexedSeq.prototype ); + Repeat.prototype.constructor = Repeat; + + Repeat.prototype.toString = function toString () { + if (this.size === 0) { + return 'Repeat []'; + } + return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]'; + }; + + Repeat.prototype.get = function get (index, notSetValue) { + return this.has(index) ? this._value : notSetValue; + }; + + Repeat.prototype.includes = function includes (searchValue) { + return is(this._value, searchValue); + }; + + Repeat.prototype.slice = function slice (begin, end) { + var size = this.size; + return wholeSlice(begin, end, size) + ? this + : new Repeat( + this._value, + resolveEnd(end, size) - resolveBegin(begin, size) + ); + }; + + Repeat.prototype.reverse = function reverse () { + return this; + }; + + Repeat.prototype.indexOf = function indexOf (searchValue) { + if (is(this._value, searchValue)) { + return 0; + } + return -1; + }; + + Repeat.prototype.lastIndexOf = function lastIndexOf (searchValue) { + if (is(this._value, searchValue)) { + return this.size; + } + return -1; + }; + + Repeat.prototype.__iterate = function __iterate (fn, reverse) { + var size = this.size; + var i = 0; + while (i !== size) { + if (fn(this._value, reverse ? size - ++i : i++, this) === false) { + break; + } + } + return i; + }; + + Repeat.prototype.__iterator = function __iterator (type, reverse) { + var this$1$1 = this; + + var size = this.size; + var i = 0; + return new Iterator(function () { return i === size + ? iteratorDone() + : iteratorValue(type, reverse ? size - ++i : i++, this$1$1._value); } + ); + }; + + Repeat.prototype.equals = function equals (other) { + return other instanceof Repeat + ? is(this._value, other._value) + : deepEqual(other); + }; + + return Repeat; +}(IndexedSeq)); + +var EMPTY_REPEAT; + +function fromJS(value, converter) { + return fromJSWith( + [], + converter || defaultConverter, + value, + '', + converter && converter.length > 2 ? [] : undefined, + { '': value } + ); +} + +function fromJSWith(stack, converter, value, key, keyPath, parentValue) { + if ( + typeof value !== 'string' && + !isImmutable(value) && + (isArrayLike(value) || hasIterator(value) || isPlainObject(value)) + ) { + if (~stack.indexOf(value)) { + throw new TypeError('Cannot convert circular structure to Immutable'); + } + stack.push(value); + keyPath && key !== '' && keyPath.push(key); + var converted = converter.call( + parentValue, + key, + Seq(value).map(function (v, k) { return fromJSWith(stack, converter, v, k, keyPath, value); } + ), + keyPath && keyPath.slice() + ); + stack.pop(); + keyPath && keyPath.pop(); + return converted; + } + return value; +} + +function defaultConverter(k, v) { + // Effectively the opposite of "Collection.toSeq()" + return isIndexed(v) ? v.toList() : isKeyed(v) ? v.toMap() : v.toSet(); +} + +var version = "4.3.5"; + +var Immutable = { + version: version, + + Collection: Collection, + // Note: Iterable is deprecated + Iterable: Collection, + + Seq: Seq, + Map: Map, + OrderedMap: OrderedMap, + List: List, + Stack: Stack, + Set: Set, + OrderedSet: OrderedSet, + PairSorting: PairSorting, + + Record: Record, + Range: Range, + Repeat: Repeat, + + is: is, + fromJS: fromJS, + hash: hash, + + isImmutable: isImmutable, + isCollection: isCollection, + isKeyed: isKeyed, + isIndexed: isIndexed, + isAssociative: isAssociative, + isOrdered: isOrdered, + isValueObject: isValueObject, + isPlainObject: isPlainObject, + isSeq: isSeq, + isList: isList, + isMap: isMap, + isOrderedMap: isOrderedMap, + isStack: isStack, + isSet: isSet, + isOrderedSet: isOrderedSet, + isRecord: isRecord, + + get: get, + getIn: getIn$1, + has: has, + hasIn: hasIn$1, + merge: merge, + mergeDeep: mergeDeep$1, + mergeWith: mergeWith, + mergeDeepWith: mergeDeepWith$1, + remove: remove, + removeIn: removeIn, + set: set, + setIn: setIn$1, + update: update$1, + updateIn: updateIn$1, +}; + +// Note: Iterable is deprecated +var Iterable = Collection; + +export default Immutable; +export { Collection, Iterable, List, Map, OrderedMap, OrderedSet, PairSorting, Range, Record, Repeat, Seq, Set, Stack, fromJS, get, getIn$1 as getIn, has, hasIn$1 as hasIn, hash, is, isAssociative, isCollection, isImmutable, isIndexed, isKeyed, isList, isMap, isOrdered, isOrderedMap, isOrderedSet, isPlainObject, isRecord, isSeq, isSet, isStack, isValueObject, merge, mergeDeep$1 as mergeDeep, mergeDeepWith$1 as mergeDeepWith, mergeWith, remove, removeIn, set, setIn$1 as setIn, update$1 as update, updateIn$1 as updateIn, version }; diff --git a/.pnpm-store/v3/files/b3/2da9b572648151a0af9be7877fa518ff3752153b2906017c44c67b0f659a2d55e759b835bfb000bc54f770131a624bb45f5974c887f6b7a1b18f9a5ffcc4f3 b/.pnpm-store/v3/files/b3/2da9b572648151a0af9be7877fa518ff3752153b2906017c44c67b0f659a2d55e759b835bfb000bc54f770131a624bb45f5974c887f6b7a1b18f9a5ffcc4f3 new file mode 100644 index 00000000..fe4a779e --- /dev/null +++ b/.pnpm-store/v3/files/b3/2da9b572648151a0af9be7877fa518ff3752153b2906017c44c67b0f659a2d55e759b835bfb000bc54f770131a624bb45f5974c887f6b7a1b18f9a5ffcc4f3 @@ -0,0 +1 @@ +module.exports={C:{"52":0.00268,"78":0.02411,"96":0.00268,"101":0.07769,"103":0.00268,"106":0.03483,"113":0.02947,"115":0.04822,"116":0.00268,"118":0.00804,"119":0.01072,"120":0.01072,"121":0.60545,"122":0.11788,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 102 104 105 107 108 109 110 111 112 114 117 123 124 125 3.5 3.6"},D:{"23":0.00268,"49":0.00804,"54":0.00268,"67":0.00268,"75":0.00268,"79":0.00268,"81":0.00536,"83":0.00804,"87":0.00536,"91":0.00804,"93":0.01607,"96":0.05894,"98":0.00268,"99":0.00268,"103":0.08573,"104":0.00268,"105":0.01072,"106":0.13127,"107":0.1152,"108":0.09644,"109":0.97248,"110":0.0509,"111":0.1152,"112":0.06162,"113":0.0134,"114":0.01072,"115":0.01875,"116":0.14735,"117":0.03483,"118":0.08573,"119":0.49294,"120":10.8687,"121":0.93229,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 76 77 78 80 84 85 86 88 89 90 92 94 95 97 100 101 102 122 123 124"},F:{"104":0.00268,"105":0.22772,"106":0.14735,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00268,"17":0.01875,"18":0.00536,"85":0.00268,"107":0.00536,"108":0.00536,"109":0.02679,"110":0.00536,"113":0.00536,"114":0.01607,"115":0.00536,"116":0.00268,"117":0.01072,"118":0.01072,"119":0.06698,"120":4.89453,"121":0.6885,_:"13 14 15 16 79 80 81 83 84 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 111 112"},E:{"13":0.00268,"14":0.03483,"15":0.01072,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 17.4","12.1":0.0134,"13.1":0.07233,"14.1":0.1152,"15.1":0.01072,"15.2-15.3":0.01875,"15.4":0.3831,"15.5":0.0643,"15.6":0.23307,"16.0":0.04286,"16.1":0.0643,"16.2":0.07233,"16.3":0.15538,"16.4":0.08573,"16.5":0.12056,"16.6":0.57866,"17.0":0.07233,"17.1":0.93497,"17.2":1.14929,"17.3":0.05358},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0062,"5.0-5.1":0.00929,"6.0-6.1":0.01549,"7.0-7.1":0.02168,"8.1-8.4":0.0031,"9.0-9.2":0.01859,"9.3":0.07124,"10.0-10.2":0.0062,"10.3":0.11151,"11.0-11.2":0.04337,"11.3-11.4":0.04646,"12.0-12.1":0.02788,"12.2-12.5":0.55136,"13.0-13.1":0.00929,"13.2":0.10222,"13.3":0.02788,"13.4-13.7":0.1239,"14.0-14.4":0.21683,"14.5-14.8":0.33143,"15.0-15.1":0.14249,"15.2-15.3":0.16417,"15.4":0.19205,"15.5":0.254,"15.6-15.8":1.97931,"16.0":0.59472,"16.1":1.26688,"16.2":0.57614,"16.3":1.07174,"16.4":0.23851,"16.5":0.50799,"16.6-16.7":4.15687,"17.0":0.69075,"17.1":7.12119,"17.2":9.63947,"17.3":0.6195},P:{"4":0.1253,"20":0.04177,"21":0.10442,"22":0.15663,"23":8.33259,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0","7.2-7.4":0.17751,"11.1-11.2":0.01044,"13.0":0.03133,"14.0":0.02088,"15.0":0.01044,"16.0":0.01044,"17.0":0.02088,"18.0":0.04177,"19.0":0.05221},I:{"0":0.00729,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.00536,_:"6 7 8 9 10 5.5"},K:{"0":0.10982,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.03661},H:{"0":0},L:{"0":33.36716},R:{_:"0"},M:{"0":0.23427}}; diff --git a/.pnpm-store/v3/files/b3/5d458567d645c0fc9b156f1a8b1021ee0b4597d1c51bb282a3ab6b6e0bb35f4ec5c8df363e8a843c7514e45472c66b18e0fb19aa5e506cdd320d754f57fb55 b/.pnpm-store/v3/files/b3/5d458567d645c0fc9b156f1a8b1021ee0b4597d1c51bb282a3ab6b6e0bb35f4ec5c8df363e8a843c7514e45472c66b18e0fb19aa5e506cdd320d754f57fb55 new file mode 100644 index 00000000..c02dcf9a --- /dev/null +++ b/.pnpm-store/v3/files/b3/5d458567d645c0fc9b156f1a8b1021ee0b4597d1c51bb282a3ab6b6e0bb35f4ec5c8df363e8a843c7514e45472c66b18e0fb19aa5e506cdd320d754f57fb55 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p lC 2B QC mC 3B","2":"F iC jC","16":"kC"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","16":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Base64 encoding and decoding",D:true}; diff --git a/.pnpm-store/v3/files/b3/9f663818d26917dcdccc2fa4391ead66232b614d292379878545447d60911448c59b22bbc59b82ac8a048cb9806f943fbfc40d852f07f3709cb4c3bc6e28fb b/.pnpm-store/v3/files/b3/9f663818d26917dcdccc2fa4391ead66232b614d292379878545447d60911448c59b22bbc59b82ac8a048cb9806f943fbfc40d852f07f3709cb4c3bc6e28fb new file mode 100644 index 00000000..81f5af0d --- /dev/null +++ b/.pnpm-store/v3/files/b3/9f663818d26917dcdccc2fa4391ead66232b614d292379878545447d60911448c59b22bbc59b82ac8a048cb9806f943fbfc40d852f07f3709cb4c3bc6e28fb @@ -0,0 +1 @@ +module.exports={C:{"48":0.00336,"52":0.02691,"53":0.00336,"56":0.00336,"59":0.00673,"67":0.00336,"68":0.00336,"78":0.02691,"86":0.00336,"88":0.01346,"91":0.00336,"95":0.00336,"100":0.01346,"101":0.00336,"102":0.01346,"104":0.00336,"105":0.00336,"106":0.00336,"107":0.00336,"108":0.00673,"109":0.04037,"110":0.01009,"111":0.00673,"112":0.00336,"113":0.01009,"114":0.00336,"115":0.26576,"116":0.00673,"117":0.00673,"118":0.01009,"119":0.02355,"120":0.05382,"121":1.32542,"122":0.32294,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 54 55 57 58 60 61 62 63 64 65 66 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 87 89 90 92 93 94 96 97 98 99 103 123 124 125 3.5 3.6"},D:{"22":0.00336,"38":0.00336,"46":0.00673,"49":0.03028,"56":0.00336,"60":0.01682,"63":0.00336,"65":0.00336,"66":0.02018,"67":0.00336,"70":0.00336,"71":0.00336,"72":0.00336,"73":0.00673,"75":0.01009,"76":0.00336,"77":0.00336,"78":0.00336,"79":0.04037,"80":0.01009,"81":0.00673,"83":0.00336,"84":0.01682,"85":0.00673,"86":0.00673,"87":0.04037,"88":0.03028,"89":0.01009,"90":0.00673,"91":0.02018,"92":0.00336,"93":0.03028,"94":0.00673,"95":0.01009,"96":0.00673,"97":0.01346,"98":0.00673,"99":0.01682,"100":0.01346,"101":0.00673,"102":0.01009,"103":0.0841,"104":0.00673,"105":0.02018,"106":0.03028,"107":0.06392,"108":0.03364,"109":1.13367,"110":0.02355,"111":0.02355,"112":0.05382,"113":0.01682,"114":0.0471,"115":0.02018,"116":0.17829,"117":0.07064,"118":0.11438,"119":0.50796,"120":17.87293,"121":1.35906,"122":0.00673,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 47 48 50 51 52 53 54 55 57 58 59 61 62 64 68 69 74 123 124"},F:{"28":0.00336,"46":0.00336,"85":0.00336,"95":0.02018,"102":0.00336,"104":0.00673,"105":0.878,"106":0.6728,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00336,"18":0.00336,"84":0.01009,"92":0.00336,"100":0.00336,"106":0.00336,"107":0.00673,"108":0.00336,"109":0.05046,"110":0.00673,"111":0.00336,"112":0.00673,"113":0.00336,"114":0.01009,"115":0.00673,"116":0.00673,"117":0.01682,"118":0.01009,"119":0.05046,"120":2.57682,"121":0.39695,_:"12 13 14 15 16 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105"},E:{"13":0.00673,"14":0.04037,"15":0.00673,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.40368,"12.1":0.01009,"13.1":0.06392,"14.1":0.09083,"15.1":0.02691,"15.2-15.3":0.01009,"15.4":0.02355,"15.5":0.03364,"15.6":0.22875,"16.0":0.02355,"16.1":0.44741,"16.2":0.05046,"16.3":0.10765,"16.4":0.037,"16.5":0.07064,"16.6":0.32631,"17.0":0.07737,"17.1":0.40368,"17.2":0.60216,"17.3":0.04373},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00245,"5.0-5.1":0.00367,"6.0-6.1":0.00612,"7.0-7.1":0.00856,"8.1-8.4":0.00122,"9.0-9.2":0.00734,"9.3":0.02813,"10.0-10.2":0.00245,"10.3":0.04403,"11.0-11.2":0.01712,"11.3-11.4":0.01835,"12.0-12.1":0.01101,"12.2-12.5":0.2177,"13.0-13.1":0.00367,"13.2":0.04036,"13.3":0.01101,"13.4-13.7":0.04892,"14.0-14.4":0.08561,"14.5-14.8":0.13086,"15.0-15.1":0.05626,"15.2-15.3":0.06482,"15.4":0.07583,"15.5":0.10029,"15.6-15.8":0.78151,"16.0":0.23482,"16.1":0.50021,"16.2":0.22748,"16.3":0.42316,"16.4":0.09417,"16.5":0.20057,"16.6-16.7":1.64129,"17.0":0.27273,"17.1":2.81171,"17.2":3.80602,"17.3":0.2446},P:{"4":0.04169,"20":0.04169,"21":0.08337,"22":0.11464,"23":2.74093,"5.0-5.4":0.01042,_:"6.2-6.4 7.2-7.4 8.2 9.2 10.1 12.0","11.1-11.2":0.02084,"13.0":0.02084,"14.0":0.01042,"15.0":0.01042,"16.0":0.02084,"17.0":0.01042,"18.0":0.01042,"19.0":0.04169},I:{"0":0.04625,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00012},A:{"8":0.00351,"11":0.07723,_:"6 7 9 10 5.5"},K:{"0":0.31853,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.02654},H:{"0":0},L:{"0":51.08574},R:{_:"0"},M:{"0":0.33844}}; diff --git a/.pnpm-store/v3/files/b3/a390bc5f7c5b0ab2c57d284134fa74220129fa77162c10a9af84200c7d81f6a9d9e3bb418e558edd30a3cf3d59852fa61b99c1eb87756b750be1adf11c3478 b/.pnpm-store/v3/files/b3/a390bc5f7c5b0ab2c57d284134fa74220129fa77162c10a9af84200c7d81f6a9d9e3bb418e558edd30a3cf3d59852fa61b99c1eb87756b750be1adf11c3478 new file mode 100644 index 00000000..c6abc70d --- /dev/null +++ b/.pnpm-store/v3/files/b3/a390bc5f7c5b0ab2c57d284134fa74220129fa77162c10a9af84200c7d81f6a9d9e3bb418e558edd30a3cf3d59852fa61b99c1eb87756b750be1adf11c3478 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E SC","164":"F A","260":"B"},B:{"1":"0 1 2 3 4 5 6 7 8 N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","260":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E VC WC","516":"F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB"},D:{"1":"0 1 2 3 4 5 6 7 8 t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s"},E:{"1":"J A B C YC bC EC 2B","2":"9 I K L G XC DC 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","1028":"D E F ZC aC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F B iC jC kC lC 2B QC mC"},G:{"1":"sC tC uC vC wC xC yC","2":"DC nC RC oC pC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","1028":"E qC rC"},H:{"1":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"16":"D","1028":"A"},K:{"1":"u 3B","16":"A B C 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"164":"A","260":"B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:7,C:"Do Not Track API",D:true}; diff --git a/.pnpm-store/v3/files/b3/b1e0eb9fe2ab31eb88430706e65fa6b49acb4662b0a6c3c8f4eae99aea1e52eb8ca4405aded015bb74b81885636f82bd6d015eb5f9d0cf57686141045023cd b/.pnpm-store/v3/files/b3/b1e0eb9fe2ab31eb88430706e65fa6b49acb4662b0a6c3c8f4eae99aea1e52eb8ca4405aded015bb74b81885636f82bd6d015eb5f9d0cf57686141045023cd new file mode 100644 index 00000000..28a45f4b --- /dev/null +++ b/.pnpm-store/v3/files/b3/b1e0eb9fe2ab31eb88430706e65fa6b49acb4662b0a6c3c8f4eae99aea1e52eb8ca4405aded015bb74b81885636f82bd6d015eb5f9d0cf57686141045023cd @@ -0,0 +1 @@ +module.exports={C:{"52":0.02517,"68":0.0042,"78":0.00839,"83":0.01678,"88":0.04195,"91":0.0042,"99":0.00839,"102":0.01678,"103":0.00839,"105":0.0042,"106":0.0042,"109":0.0042,"110":0.00839,"111":0.00839,"112":0.01259,"113":0.02098,"114":0.0042,"115":0.27687,"116":0.0042,"117":0.0042,"118":0.0042,"119":0.02098,"120":0.07551,"121":1.12426,"122":0.31043,"123":0.0042,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 87 89 90 92 93 94 95 96 97 98 100 101 104 107 108 124 125 3.5 3.6"},D:{"11":0.0042,"38":0.23492,"41":0.00839,"43":0.0042,"44":0.0042,"47":0.01259,"49":0.02937,"51":0.0042,"55":0.0042,"58":0.02098,"60":0.0042,"62":0.01259,"65":0.00839,"68":0.0042,"69":0.00839,"70":0.00839,"71":0.01678,"72":0.0042,"73":0.01678,"74":0.00839,"75":0.0042,"76":0.00839,"79":0.02517,"80":0.02937,"81":0.01678,"83":0.02098,"84":0.01678,"85":0.00839,"86":0.21395,"87":0.02937,"88":0.01259,"89":0.01259,"90":0.00839,"91":0.01678,"92":0.0042,"93":0.03356,"94":0.01678,"95":0.00839,"96":0.0042,"97":0.00839,"98":0.0042,"99":0.00839,"100":0.0042,"101":0.0042,"102":0.00839,"103":0.09229,"104":0.0042,"105":0.00839,"106":0.05034,"107":0.01259,"108":0.02517,"109":2.08072,"110":0.01259,"111":0.03356,"112":0.01678,"113":0.02098,"114":0.03776,"115":0.07971,"116":0.10907,"117":0.04195,"118":0.06293,"119":0.64603,"120":23.11445,"121":1.77029,"122":0.00839,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 45 46 48 50 52 53 54 56 57 59 61 63 64 66 67 77 78 123 124"},F:{"28":0.0042,"69":0.0042,"85":0.0042,"87":0.0042,"95":0.05873,"99":0.0042,"102":0.00839,"104":0.02098,"105":2.37437,"106":1.64444,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 88 89 90 91 92 93 94 96 97 98 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0042,"17":0.0042,"18":0.0042,"92":0.01259,"100":0.0042,"107":0.00839,"109":0.03356,"112":0.0042,"114":0.00839,"115":0.0042,"116":0.0042,"117":0.00839,"118":0.01678,"119":0.0881,"120":3.06655,"121":0.37336,_:"13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 110 111 113"},E:{"9":0.0042,"14":0.01678,"15":0.0042,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 16.0 17.4","12.1":0.0042,"13.1":0.03356,"14.1":0.02098,"15.1":0.05454,"15.2-15.3":0.00839,"15.4":0.01259,"15.5":0.05454,"15.6":0.05034,"16.1":0.03356,"16.2":0.02098,"16.3":0.05873,"16.4":0.01259,"16.5":0.02937,"16.6":0.20975,"17.0":0.02937,"17.1":0.1678,"17.2":0.23912,"17.3":0.02937},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00172,"5.0-5.1":0.00258,"6.0-6.1":0.0043,"7.0-7.1":0.00603,"8.1-8.4":0.00086,"9.0-9.2":0.00517,"9.3":0.0198,"10.0-10.2":0.00172,"10.3":0.03099,"11.0-11.2":0.01205,"11.3-11.4":0.01291,"12.0-12.1":0.00775,"12.2-12.5":0.15324,"13.0-13.1":0.00258,"13.2":0.02841,"13.3":0.00775,"13.4-13.7":0.03444,"14.0-14.4":0.06026,"14.5-14.8":0.09211,"15.0-15.1":0.0396,"15.2-15.3":0.04563,"15.4":0.05337,"15.5":0.07059,"15.6-15.8":0.5501,"16.0":0.16529,"16.1":0.3521,"16.2":0.16012,"16.3":0.29786,"16.4":0.06629,"16.5":0.14118,"16.6-16.7":1.1553,"17.0":0.19198,"17.1":1.97917,"17.2":2.67906,"17.3":0.17218},P:{"4":0.04111,"20":0.01028,"21":0.10278,"22":0.07194,"23":1.39777,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 13.0 15.0","7.2-7.4":0.11305,"11.1-11.2":0.01028,"14.0":0.01028,"16.0":0.03083,"17.0":0.02056,"18.0":0.01028,"19.0":0.06167},I:{"0":0.08669,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00023},A:{"7":0.0042,"8":0.01678,"9":0.0042,"10":0.0042,"11":0.03356,_:"6 5.5"},K:{"0":0.22059,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.01742},H:{"0":0},L:{"0":48.19333},R:{_:"0"},M:{"0":0.2322}}; diff --git a/.pnpm-store/v3/files/b3/c9a0729a7f47e64c6772a2111fb55c5d3fe1a9c881858e702cfd3a0b1658401e8905d69fd02acbf51695af265c2d78858e104353df2294ce13cec1874ce134 b/.pnpm-store/v3/files/b3/c9a0729a7f47e64c6772a2111fb55c5d3fe1a9c881858e702cfd3a0b1658401e8905d69fd02acbf51695af265c2d78858e104353df2294ce13cec1874ce134 new file mode 100644 index 00000000..fd4a59fa --- /dev/null +++ b/.pnpm-store/v3/files/b3/c9a0729a7f47e64c6772a2111fb55c5d3fe1a9c881858e702cfd3a0b1658401e8905d69fd02acbf51695af265c2d78858e104353df2294ce13cec1874ce134 @@ -0,0 +1 @@ +module.exports={C:{"52":0.00216,"89":0.00216,"91":0.00216,"100":0.00216,"105":0.00216,"107":0.00216,"108":0.00216,"110":0.00216,"112":0.00216,"113":0.00216,"115":1.60056,"116":0.00216,"117":0.00216,"118":0.00432,"119":0.00648,"120":0.01512,"121":0.64368,"122":0.17064,"123":0.00864,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 92 93 94 95 96 97 98 99 101 102 103 104 106 109 111 114 124 125 3.5 3.6"},D:{"49":0.00216,"66":0.00216,"68":0.00216,"69":0.00216,"74":0.00216,"75":0.00216,"79":0.00432,"80":0.00216,"81":0.00216,"83":0.00216,"84":0.00216,"85":0.00216,"86":0.00216,"87":0.00864,"88":0.00432,"90":0.00216,"91":0.00216,"92":0.00216,"93":0.00432,"94":0.00216,"95":0.00216,"96":0.00432,"97":0.00216,"98":0.00216,"99":0.00432,"100":0.00432,"101":0.00216,"102":0.00432,"103":0.03672,"104":0.00216,"105":0.00432,"106":0.01944,"107":0.00432,"108":0.00864,"109":1.46232,"110":0.00432,"111":0.00648,"112":0.01728,"113":0.00648,"114":0.01296,"115":0.00864,"116":0.054,"117":0.01728,"118":0.02376,"119":0.09936,"120":13.5648,"121":0.97848,"122":0.01512,"123":0.00216,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 70 71 72 73 76 77 78 89 124"},F:{"79":0.00216,"85":0.00864,"95":0.01296,"105":0.09072,"106":0.16632,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00432,"92":0.00648,"105":0.00216,"107":0.00216,"109":0.01728,"113":0.00216,"114":0.00216,"115":0.00216,"116":0.00216,"117":0.00648,"118":0.00216,"119":0.0108,"120":1.1448,"121":0.18144,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 106 108 110 111 112"},E:{"13":0.00216,"14":0.00432,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 11.1 17.4","10.1":0.0108,"12.1":0.00216,"13.1":0.00648,"14.1":0.01728,"15.1":0.00216,"15.2-15.3":0.00216,"15.4":0.00216,"15.5":0.00432,"15.6":0.02808,"16.0":0.00216,"16.1":0.00864,"16.2":0.00432,"16.3":0.0108,"16.4":0.00648,"16.5":0.0108,"16.6":0.05184,"17.0":0.01512,"17.1":0.05616,"17.2":0.0972,"17.3":0.01512},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00186,"5.0-5.1":0.00279,"6.0-6.1":0.00465,"7.0-7.1":0.00651,"8.1-8.4":0.00093,"9.0-9.2":0.00558,"9.3":0.02139,"10.0-10.2":0.00186,"10.3":0.03347,"11.0-11.2":0.01302,"11.3-11.4":0.01395,"12.0-12.1":0.00837,"12.2-12.5":0.16551,"13.0-13.1":0.00279,"13.2":0.03068,"13.3":0.00837,"13.4-13.7":0.03719,"14.0-14.4":0.06509,"14.5-14.8":0.09949,"15.0-15.1":0.04277,"15.2-15.3":0.04928,"15.4":0.05765,"15.5":0.07625,"15.6-15.8":0.59416,"16.0":0.17853,"16.1":0.3803,"16.2":0.17295,"16.3":0.32172,"16.4":0.0716,"16.5":0.15249,"16.6-16.7":1.24782,"17.0":0.20735,"17.1":2.13767,"17.2":2.89361,"17.3":0.18596},P:{"4":0.06297,"20":0.0105,"21":0.02099,"22":0.02099,"23":0.45131,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 18.0","7.2-7.4":0.03149,"13.0":0.0105,"17.0":0.03149,"19.0":0.0105},I:{"0":0.04683,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00012},A:{"8":0.00216,"11":0.00432,_:"6 7 9 10 5.5"},K:{"0":0.588,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.8624},H:{"0":0},L:{"0":67.45408},R:{_:"0"},M:{"0":0.03136}}; diff --git a/.pnpm-store/v3/files/b4/2025169253858927b209b4992a5489ee26e22d076882fc4434d779d1bf40d1df2e13eb148632dd342d6c061c72f5c92c33b340e4eaf713ec1153f61e529e60 b/.pnpm-store/v3/files/b4/2025169253858927b209b4992a5489ee26e22d076882fc4434d779d1bf40d1df2e13eb148632dd342d6c061c72f5c92c33b340e4eaf713ec1153f61e529e60 new file mode 100644 index 00000000..bd261997 --- /dev/null +++ b/.pnpm-store/v3/files/b4/2025169253858927b209b4992a5489ee26e22d076882fc4434d779d1bf40d1df2e13eb148632dd342d6c061c72f5c92c33b340e4eaf713ec1153f61e529e60 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"6 7 8 H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m","194":"0 1 2 3 4 5 n o p v w x y z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"6 7 8 H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m","194":"0 1 2 3 4 5 n o p v w x y z"},E:{"1":"hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC"},F:{"1":"p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y iC jC kC lC 2B QC mC 3B","194":"Z a b c d e f g h i j k l m n o"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"Scoped Styles: the @scope rule",D:true}; diff --git a/.pnpm-store/v3/files/b4/3dab2ada07b9cb739f638713dc0c87ce1b542c5cc0e439c245d22a2c993c359238a1059099161d6db2444d988071be2d4bf8f9b6625d5403024c053b17c028 b/.pnpm-store/v3/files/b4/3dab2ada07b9cb739f638713dc0c87ce1b542c5cc0e439c245d22a2c993c359238a1059099161d6db2444d988071be2d4bf8f9b6625d5403024c053b17c028 new file mode 100644 index 00000000..79813944 --- /dev/null +++ b/.pnpm-store/v3/files/b4/3dab2ada07b9cb739f638713dc0c87ce1b542c5cc0e439c245d22a2c993c359238a1059099161d6db2444d988071be2d4bf8f9b6625d5403024c053b17c028 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC DC"},F:{"1":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"CSS namespaces",D:true}; diff --git a/.pnpm-store/v3/files/b4/45880ddea0e0e44f9819fd9c4f04ca14ef1c3d4e177660fc654bf52cdf60eae4e02c17c79307d52ba655bebadf5c2be5b8340062f72ec6fbd0e2b4d6f142b6 b/.pnpm-store/v3/files/b4/45880ddea0e0e44f9819fd9c4f04ca14ef1c3d4e177660fc654bf52cdf60eae4e02c17c79307d52ba655bebadf5c2be5b8340062f72ec6fbd0e2b4d6f142b6 new file mode 100644 index 00000000..c2d6960b --- /dev/null +++ b/.pnpm-store/v3/files/b4/45880ddea0e0e44f9819fd9c4f04ca14ef1c3d4e177660fc654bf52cdf60eae4e02c17c79307d52ba655bebadf5c2be5b8340062f72ec6fbd0e2b4d6f142b6 @@ -0,0 +1 @@ +module.exports={C:{"43":0.00527,"45":0.01053,"49":0.01053,"52":0.05266,"55":0.26857,"60":0.01053,"62":0.02106,"68":0.01053,"69":0.00527,"70":0.00527,"71":0.01053,"72":0.00527,"75":0.00527,"76":0.00527,"77":0.01053,"78":0.06846,"80":0.00527,"81":0.01053,"82":0.00527,"83":0.01053,"86":0.00527,"91":0.04213,"95":0.00527,"97":0.00527,"100":0.01053,"102":0.0158,"104":0.02106,"105":0.00527,"109":0.02106,"110":0.02633,"113":0.05793,"115":1.0532,"116":0.02633,"120":0.0158,"121":0.60032,"122":0.08426,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 47 48 50 51 53 54 56 57 58 59 61 63 64 65 66 67 73 74 79 84 85 87 88 89 90 92 93 94 96 98 99 101 103 106 107 108 111 112 114 117 118 119 123 124 125 3.5 3.6"},D:{"44":0.00527,"45":3.19646,"53":0.01053,"55":0.0158,"56":0.01053,"59":0.00527,"63":0.01053,"64":0.00527,"68":0.07372,"69":0.04739,"70":0.06319,"71":0.04213,"72":0.06846,"73":0.02106,"74":0.07372,"75":0.03686,"76":0.04213,"77":0.04213,"78":0.08426,"79":0.07899,"80":0.08426,"81":0.06846,"83":0.11059,"84":0.16325,"85":0.07372,"86":0.12638,"87":0.08952,"88":0.10005,"89":0.08952,"90":0.10005,"91":0.02633,"92":0.02633,"93":0.00527,"94":1.55874,"95":0.0158,"96":0.00527,"98":0.09479,"99":0.01053,"101":0.00527,"102":0.06846,"103":0.01053,"104":0.0158,"105":0.23697,"106":0.04739,"108":0.0158,"109":0.43181,"111":0.0158,"112":0.01053,"113":0.04213,"114":0.04739,"115":1.17958,"116":9.01539,"117":0.01053,"118":0.40548,"119":0.13165,"120":10.25817,"121":0.60032,"122":0.00527,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 46 47 48 49 50 51 52 54 57 58 60 61 62 65 66 67 97 100 107 110 123 124"},F:{"48":0.00527,"53":0.01053,"54":0.0158,"55":0.0158,"57":0.00527,"60":0.00527,"68":0.01053,"74":0.00527,"76":0.00527,"95":0.02633,"104":0.00527,"105":0.18431,"106":0.14218,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 56 58 62 63 64 65 66 67 69 70 71 72 73 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00527,"18":0.0158,"79":0.01053,"80":0.0158,"81":0.02633,"83":0.02633,"84":0.0158,"85":0.0158,"86":0.02106,"87":0.0158,"88":0.01053,"89":0.02106,"90":0.01053,"91":0.02106,"92":0.01053,"94":0.00527,"95":0.0158,"96":0.0158,"100":0.00527,"106":0.00527,"109":0.03686,"110":0.00527,"113":0.00527,"114":0.02106,"115":0.00527,"117":0.01053,"118":0.00527,"119":0.0158,"120":4.83419,"121":0.47921,_:"12 13 14 15 17 93 97 98 99 101 102 103 104 105 107 108 111 112 116"},E:{"14":0.02633,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 10.1 11.1 17.4","9.1":0.42655,"12.1":0.0158,"13.1":0.07372,"14.1":0.02633,"15.1":0.27383,"15.2-15.3":0.2633,"15.4":0.0158,"15.5":0.01053,"15.6":0.07899,"16.0":0.01053,"16.1":0.05266,"16.2":0.04213,"16.3":0.05266,"16.4":0.06846,"16.5":2.41183,"16.6":0.21064,"17.0":0.03686,"17.1":0.23697,"17.2":0.37915,"17.3":0.03686},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00152,"5.0-5.1":0.00228,"6.0-6.1":0.0038,"7.0-7.1":0.00532,"8.1-8.4":0.00076,"9.0-9.2":0.00456,"9.3":0.01749,"10.0-10.2":0.00152,"10.3":0.02737,"11.0-11.2":0.01064,"11.3-11.4":0.0114,"12.0-12.1":0.00684,"12.2-12.5":0.13533,"13.0-13.1":0.00228,"13.2":0.02509,"13.3":0.00684,"13.4-13.7":0.03041,"14.0-14.4":0.05322,"14.5-14.8":0.08135,"15.0-15.1":0.03497,"15.2-15.3":0.04029,"15.4":0.04714,"15.5":0.06234,"15.6-15.8":0.48582,"16.0":0.14597,"16.1":0.31095,"16.2":0.14141,"16.3":0.26306,"16.4":0.05854,"16.5":0.12469,"16.6-16.7":1.0203,"17.0":0.16954,"17.1":1.74788,"17.2":2.36599,"17.3":0.15206},P:{"4":0.02045,"20":0.02045,"21":0.0818,"22":0.05112,"23":2.13695,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0","7.2-7.4":0.0409,"13.0":0.02045,"16.0":0.02045,"17.0":0.01022,"18.0":0.02045,"19.0":0.07157},I:{"0":0.00943,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"8":0.05442,"11":0.10883,_:"6 7 9 10 5.5"},K:{"0":1.55169,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00947},O:{"0":1.15036},H:{"0":0.02},L:{"0":42.97073},R:{_:"0"},M:{"0":0.4876}}; diff --git a/.pnpm-store/v3/files/b4/d902e7eb2fa325f43d92207f5b1c8b0b9d1265802021cab66ff3c4916cd0fd06de19e668fc41b3153b2aa33de70446365ab00944edbcee0bc01a8f387fa617 b/.pnpm-store/v3/files/b4/d902e7eb2fa325f43d92207f5b1c8b0b9d1265802021cab66ff3c4916cd0fd06de19e668fc41b3153b2aa33de70446365ab00944edbcee0bc01a8f387fa617 new file mode 100644 index 00000000..79a4dae6 --- /dev/null +++ b/.pnpm-store/v3/files/b4/d902e7eb2fa325f43d92207f5b1c8b0b9d1265802021cab66ff3c4916cd0fd06de19e668fc41b3153b2aa33de70446365ab00944edbcee0bc01a8f387fa617 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E SC","132":"F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB"},E:{"1":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J XC DC YC ZC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","2":"D"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"ch (character) unit",D:true}; diff --git a/.pnpm-store/v3/files/b4/e68ccd4df766f3052d7040746fe229bda5cbdfdb217d57fb5989fb5f0ebfbaf6a076bd7b003b001a0c9bac13333e599aca78c67bb3a1e0309257b988af4b08 b/.pnpm-store/v3/files/b4/e68ccd4df766f3052d7040746fe229bda5cbdfdb217d57fb5989fb5f0ebfbaf6a076bd7b003b001a0c9bac13333e599aca78c67bb3a1e0309257b988af4b08 new file mode 100644 index 00000000..246a5939 --- /dev/null +++ b/.pnpm-store/v3/files/b4/e68ccd4df766f3052d7040746fe229bda5cbdfdb217d57fb5989fb5f0ebfbaf6a076bd7b003b001a0c9bac13333e599aca78c67bb3a1e0309257b988af4b08 @@ -0,0 +1,430 @@ +import path from 'node:path'; +import { promises as fs } from 'node:fs'; +import { createRequire } from 'module'; +import { find } from './find.js'; +import { toJson } from './to-json.js'; +import { + makePromise, + native2posix, + resolve2posix, + resolveReferencedTSConfigFiles, + resolveSolutionTSConfig, + resolveTSConfigJson +} from './util.js'; + +const not_found_result = { + tsconfigFile: null, + tsconfig: {} +}; + +/** + * parse the closest tsconfig.json file + * + * @param {string} filename - path to a tsconfig .json or a source file or directory (absolute or relative to cwd) + * @param {import('./public.d.ts').TSConfckParseOptions} [options] - options + * @returns {Promise} + * @throws {TSConfckParseError} + */ +export async function parse(filename, options) { + /** @type {import('./cache.js').TSConfckCache} */ + const cache = options?.cache; + if (cache?.hasParseResult(filename)) { + return getParsedDeep(filename, cache, options); + } + const { + resolve, + reject, + /** @type {Promise}*/ + promise + } = makePromise(); + cache?.setParseResult(filename, promise); + try { + let tsconfigFile = + (await resolveTSConfigJson(filename, cache)) || (await find(filename, options)); + if (!tsconfigFile) { + resolve(not_found_result); + return promise; + } + let result; + if (filename !== tsconfigFile && cache?.hasParseResult(tsconfigFile)) { + result = await getParsedDeep(tsconfigFile, cache, options); + } else { + result = await parseFile(tsconfigFile, cache, filename === tsconfigFile); + await Promise.all([parseExtends(result, cache), parseReferences(result, options)]); + } + resolve(resolveSolutionTSConfig(filename, result)); + } catch (e) { + reject(e); + } + return promise; +} + +/** + * ensure extends and references are parsed + * + * @param {string} filename - cached file + * @param {import('./cache.js').TSConfckCache} cache - cache + * @param {import('./public.d.ts').TSConfckParseOptions} options - options + */ +async function getParsedDeep(filename, cache, options) { + const result = await cache.getParseResult(filename); + if ( + (result.tsconfig.extends && !result.extended) || + (result.tsconfig.references && !result.referenced) + ) { + const promise = Promise.all([ + parseExtends(result, cache), + parseReferences(result, options) + ]).then(() => result); + cache.setParseResult(filename, promise); + return promise; + } + return result; +} + +/** + * + * @param {string} tsconfigFile - path to tsconfig file + * @param {import('./cache.js').TSConfckCache} [cache] - cache + * @param {boolean} [skipCache] - skip cache + * @returns {Promise} + */ +async function parseFile(tsconfigFile, cache, skipCache) { + if (!skipCache && cache?.hasParseResult(tsconfigFile)) { + return cache.getParseResult(tsconfigFile); + } + const promise = fs + .readFile(tsconfigFile, 'utf-8') + .then(toJson) + .then((json) => { + const parsed = JSON.parse(json); + applyDefaults(parsed, tsconfigFile); + return { + tsconfigFile, + tsconfig: normalizeTSConfig(parsed, path.dirname(tsconfigFile)) + }; + }) + .catch((e) => { + throw new TSConfckParseError( + `parsing ${tsconfigFile} failed: ${e}`, + 'PARSE_FILE', + tsconfigFile, + e + ); + }); + if (!skipCache) { + cache?.setParseResult(tsconfigFile, promise); + } + return promise; +} + +/** + * normalize to match the output of ts.parseJsonConfigFileContent + * + * @param {any} tsconfig - typescript tsconfig output + * @param {string} dir - directory + */ +function normalizeTSConfig(tsconfig, dir) { + // set baseUrl to absolute path + if (tsconfig.compilerOptions?.baseUrl && !path.isAbsolute(tsconfig.compilerOptions.baseUrl)) { + tsconfig.compilerOptions.baseUrl = resolve2posix(dir, tsconfig.compilerOptions.baseUrl); + } + return tsconfig; +} + +/** + * + * @param {import('./public.d.ts').TSConfckParseResult} result + * @param {import('./public.d.ts').TSConfckParseOptions} [options] + * @returns {Promise} + */ +async function parseReferences(result, options) { + if (!result.tsconfig.references) { + return; + } + const referencedFiles = resolveReferencedTSConfigFiles(result, options); + const referenced = await Promise.all( + referencedFiles.map((file) => parseFile(file, options?.cache)) + ); + await Promise.all(referenced.map((ref) => parseExtends(ref, options?.cache))); + referenced.forEach((ref) => { + ref.solution = result; + }); + result.referenced = referenced; +} + +/** + * @param {import('./public.d.ts').TSConfckParseResult} result + * @param {import('./cache.js').TSConfckCache}[cache] + * @returns {Promise} + */ +async function parseExtends(result, cache) { + if (!result.tsconfig.extends) { + return; + } + // use result as first element in extended + // but dereference tsconfig so that mergeExtended can modify the original without affecting extended[0] + /** @type {import('./public.d.ts').TSConfckParseResult[]} */ + const extended = [ + { tsconfigFile: result.tsconfigFile, tsconfig: JSON.parse(JSON.stringify(result.tsconfig)) } + ]; + + // flatten extends graph into extended + let pos = 0; + /** @type {string[]} */ + const extendsPath = []; + let currentBranchDepth = 0; + while (pos < extended.length) { + const extending = extended[pos]; + extendsPath.push(extending.tsconfigFile); + if (extending.tsconfig.extends) { + // keep following this branch + currentBranchDepth += 1; + /** @type {string[]} */ + let resolvedExtends; + if (!Array.isArray(extending.tsconfig.extends)) { + resolvedExtends = [resolveExtends(extending.tsconfig.extends, extending.tsconfigFile)]; + } else { + // reverse because typescript 5.0 treats ['a','b','c'] as c extends b extends a + resolvedExtends = extending.tsconfig.extends + .reverse() + .map((ex) => resolveExtends(ex, extending.tsconfigFile)); + } + + const circularExtends = resolvedExtends.find((tsconfigFile) => + extendsPath.includes(tsconfigFile) + ); + if (circularExtends) { + const circle = extendsPath.concat([circularExtends]).join(' -> '); + throw new TSConfckParseError( + `Circular dependency in "extends": ${circle}`, + 'EXTENDS_CIRCULAR', + result.tsconfigFile + ); + } + // add new extends to the list directly after current + extended.splice( + pos + 1, + 0, + ...(await Promise.all(resolvedExtends.map((file) => parseFile(file, cache)))) + ); + } else { + // reached a leaf, backtrack to the last branching point and continue + extendsPath.splice(-currentBranchDepth); + currentBranchDepth = 0; + } + pos = pos + 1; + } + result.extended = extended; + // skip first as it is the original config + for (const ext of result.extended.slice(1)) { + extendTSConfig(result, ext); + } +} + +/** + * + * @param {string} extended + * @param {string} from + * @returns {string} + */ +function resolveExtends(extended, from) { + if (extended === '..') { + // see #149 + extended = '../tsconfig.json'; + } + const req = createRequire(from); + let error; + try { + return req.resolve(extended); + } catch (e) { + error = e; + } + if (extended[0] !== '.' && !path.isAbsolute(extended)) { + try { + return req.resolve(`${extended}/tsconfig.json`); + } catch (e) { + error = e; + } + } + + throw new TSConfckParseError( + `failed to resolve "extends":"${extended}" in ${from}`, + 'EXTENDS_RESOLVE', + from, + error + ); +} + +// references, extends and custom keys are not carried over +const EXTENDABLE_KEYS = [ + 'compilerOptions', + 'files', + 'include', + 'exclude', + 'watchOptions', + 'compileOnSave', + 'typeAcquisition', + 'buildOptions' +]; + +/** + * + * @param {import('./public.d.ts').TSConfckParseResult} extending + * @param {import('./public.d.ts').TSConfckParseResult} extended + * @returns void + */ +function extendTSConfig(extending, extended) { + const extendingConfig = extending.tsconfig; + const extendedConfig = extended.tsconfig; + const relativePath = native2posix( + path.relative(path.dirname(extending.tsconfigFile), path.dirname(extended.tsconfigFile)) + ); + for (const key of Object.keys(extendedConfig).filter((key) => EXTENDABLE_KEYS.includes(key))) { + if (key === 'compilerOptions') { + if (!extendingConfig.compilerOptions) { + extendingConfig.compilerOptions = {}; + } + for (const option of Object.keys(extendedConfig.compilerOptions)) { + if (Object.prototype.hasOwnProperty.call(extendingConfig.compilerOptions, option)) { + continue; // already set + } + extendingConfig.compilerOptions[option] = rebaseRelative( + option, + extendedConfig.compilerOptions[option], + relativePath + ); + } + } else if (extendingConfig[key] === undefined) { + if (key === 'watchOptions') { + extendingConfig.watchOptions = {}; + for (const option of Object.keys(extendedConfig.watchOptions)) { + extendingConfig.watchOptions[option] = rebaseRelative( + option, + extendedConfig.watchOptions[option], + relativePath + ); + } + } else { + extendingConfig[key] = rebaseRelative(key, extendedConfig[key], relativePath); + } + } + } +} + +const REBASE_KEYS = [ + // root + 'files', + 'include', + 'exclude', + // compilerOptions + 'baseUrl', + 'rootDir', + 'rootDirs', + 'typeRoots', + 'outDir', + 'outFile', + 'declarationDir', + // watchOptions + 'excludeDirectories', + 'excludeFiles' +]; + +/** @typedef {string | string[]} PathValue */ + +/** + * + * @param {string} key + * @param {PathValue} value + * @param {string} prependPath + * @returns {PathValue} + */ +function rebaseRelative(key, value, prependPath) { + if (!REBASE_KEYS.includes(key)) { + return value; + } + if (Array.isArray(value)) { + return value.map((x) => rebasePath(x, prependPath)); + } else { + return rebasePath(value, prependPath); + } +} + +/** + * + * @param {string} value + * @param {string} prependPath + * @returns {string} + */ +function rebasePath(value, prependPath) { + if (path.isAbsolute(value)) { + return value; + } else { + // relative paths use posix syntax in tsconfig + return path.posix.normalize(path.posix.join(prependPath, value)); + } +} + +export class TSConfckParseError extends Error { + /** + * error code + * @type {string} + */ + code; + /** + * error cause + * @type { Error | undefined} + */ + cause; + + /** + * absolute path of tsconfig file where the error happened + * @type {string} + */ + tsconfigFile; + /** + * + * @param {string} message - error message + * @param {string} code - error code + * @param {string} tsconfigFile - path to tsconfig file + * @param {Error?} cause - cause of this error + */ + constructor(message, code, tsconfigFile, cause) { + super(message); + // Set the prototype explicitly. + Object.setPrototypeOf(this, TSConfckParseError.prototype); + this.name = TSConfckParseError.name; + this.code = code; + this.cause = cause; + this.tsconfigFile = tsconfigFile; + } +} + +/** + * + * @param {any} tsconfig + * @param {string} tsconfigFile + */ +function applyDefaults(tsconfig, tsconfigFile) { + if (isJSConfig(tsconfigFile)) { + tsconfig.compilerOptions = { + ...DEFAULT_JSCONFIG_COMPILER_OPTIONS, + ...tsconfig.compilerOptions + }; + } +} + +const DEFAULT_JSCONFIG_COMPILER_OPTIONS = { + allowJs: true, + maxNodeModuleJsDepth: 2, + allowSyntheticDefaultImports: true, + skipLibCheck: true, + noEmit: true +}; + +/** + * @param {string} configFileName + */ +function isJSConfig(configFileName) { + return path.basename(configFileName) === 'jsconfig.json'; +} diff --git a/.pnpm-store/v3/files/b5/05070e5960e5e0cf2735689ac49323a803bd63fba0e6b5a7f998a2c7619bcdc6bc9daef190a5e11b76e8c13ad2a73cd8eab62ea790267ec3530184956f6e91 b/.pnpm-store/v3/files/b5/05070e5960e5e0cf2735689ac49323a803bd63fba0e6b5a7f998a2c7619bcdc6bc9daef190a5e11b76e8c13ad2a73cd8eab62ea790267ec3530184956f6e91 new file mode 100644 index 00000000..79d85ab9 --- /dev/null +++ b/.pnpm-store/v3/files/b5/05070e5960e5e0cf2735689ac49323a803bd63fba0e6b5a7f998a2c7619bcdc6bc9daef190a5e11b76e8c13ad2a73cd8eab62ea790267ec3530184956f6e91 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","132":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB VC WC","322":"0 1 2 3 4 5 6 7 8 zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB","66":"oB pB qB rB sB tB uB vB u wB xB yB zB 0B","132":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C XC DC YC ZC aC bC EC 2B 3B","578":"K L G FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB iC jC kC lC 2B QC mC 3B","66":"dB eB fB gB hB iB jB kB lB mB nB oB","132":"pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","132":"u"},L:{"132":"H"},M:{"322":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I GD HD ID JD KD EC LD","132":"q r s t MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD","322":"UD"}},B:4,C:"WebXR Device API",D:true}; diff --git a/.pnpm-store/v3/files/b5/43c91bb8a4c8a85f241548acdafebf9b89ac543cb9598645501f0d7f24b3ebecdb2cc320fc46115968b738fa8d45a811206b4b4954a67bd4a590d324d2cfee b/.pnpm-store/v3/files/b5/43c91bb8a4c8a85f241548acdafebf9b89ac543cb9598645501f0d7f24b3ebecdb2cc320fc46115968b738fa8d45a811206b4b4954a67bd4a590d324d2cfee new file mode 100644 index 00000000..fb4d49a1 --- /dev/null +++ b/.pnpm-store/v3/files/b5/43c91bb8a4c8a85f241548acdafebf9b89ac543cb9598645501f0d7f24b3ebecdb2cc320fc46115968b738fa8d45a811206b4b4954a67bd4a590d324d2cfee @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AA8DA;;;;;;;;;;GAUG;AACH,mCALW,IAAI,GAEF,OAAO,CASnB;AAkDD;;;;;;;;;;;;;;GAcG;AACH,yCALW,IAAI,GAEF,OAAO,CAKnB;AAED;;;;;;;;GAQG;AACH,gDALW,IAAI,GAEF,OAAO,CAKnB;AAED;;;;;;;;;;;;;;GAcG;AACH,oCALW,IAAI,GAEF,OAAO,CASnB;AAmDY,iCAAO,IAAI,GAAK,OAAO,CAAA;AAAvB,wCAAO,IAAI,GAAK,OAAO,CAAA;AAAvB,iCAAO,IAAI,GAAK,OAAO,CAAA;AAAvB,iCAAO,IAAI,GAAK,OAAO,CAAA;AAAvB,oCAAO,IAAI,GAAK,OAAO,CAAA;AAAvB,uCAAO,IAAI,GAAK,OAAO,CAAA;AAAvB,yCAAO,IAAI,GAAK,OAAO,CAAA;AAAvB,wCAAO,IAAI,GAAK,OAAO,CAAA;mBAxOvB,OAAO,sBAAsB,EAAE,IAAI"} \ No newline at end of file diff --git a/.pnpm-store/v3/files/b5/44b52c64601f0cfc9d1d03dfc996232fd9e403e3d856b278470538ea6919b58c39f086bcaedd0b52baf9b9f829168ace14ee5d11bdbf49823488912dc80ae7 b/.pnpm-store/v3/files/b5/44b52c64601f0cfc9d1d03dfc996232fd9e403e3d856b278470538ea6919b58c39f086bcaedd0b52baf9b9f829168ace14ee5d11bdbf49823488912dc80ae7 new file mode 100644 index 00000000..306e9192 --- /dev/null +++ b/.pnpm-store/v3/files/b5/44b52c64601f0cfc9d1d03dfc996232fd9e403e3d856b278470538ea6919b58c39f086bcaedd0b52baf9b9f829168ace14ee5d11bdbf49823488912dc80ae7 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VC WC","194":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n"},D:{"1":"0 1 2 3 4 5 6 7 8 sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","322":"jB 8B kB 9B lB mB nB oB pB qB rB"},E:{"1":"6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC","516":"JC KC LC MC fC"},F:{"1":"nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB iC jC kC lC 2B QC mC 3B","322":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB"},G:{"1":"6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC","516":"JC KC LC MC 8C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD ID JD KD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"194":"TD UD"}},B:1,C:"OffscreenCanvas",D:true}; diff --git a/.pnpm-store/v3/files/b5/796814778d9593969106edfaec0ca751788ae0c83a8575a4185135ff9e97257b05527341ec7982a078d556e6f2b6849d87cf9d49f045ee1bb4e7fd92087321 b/.pnpm-store/v3/files/b5/796814778d9593969106edfaec0ca751788ae0c83a8575a4185135ff9e97257b05527341ec7982a078d556e6f2b6849d87cf9d49f045ee1bb4e7fd92087321 new file mode 100644 index 00000000..f8523427 --- /dev/null +++ b/.pnpm-store/v3/files/b5/796814778d9593969106edfaec0ca751788ae0c83a8575a4185135ff9e97257b05527341ec7982a078d556e6f2b6849d87cf9d49f045ee1bb4e7fd92087321 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"SC","8":"J D E"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","8":"TC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","2":"F"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"getElementsByClassName",D:true}; diff --git a/.pnpm-store/v3/files/b5/f1e84db27f72dfb234a9fa1bc8ca9f5e18fe51ae91cca8ad896f31353bd49952443a4a71b6df44c7fcf8936a63612532853f7debd25bcf9e054ed26c8299ce b/.pnpm-store/v3/files/b5/f1e84db27f72dfb234a9fa1bc8ca9f5e18fe51ae91cca8ad896f31353bd49952443a4a71b6df44c7fcf8936a63612532853f7debd25bcf9e054ed26c8299ce new file mode 100644 index 00000000..57f4f8f3 --- /dev/null +++ b/.pnpm-store/v3/files/b5/f1e84db27f72dfb234a9fa1bc8ca9f5e18fe51ae91cca8ad896f31353bd49952443a4a71b6df44c7fcf8936a63612532853f7debd25bcf9e054ed26c8299ce @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M","132":"N"},C:{"1":"0 1 2 3 4 5 6 7 8 HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","132":"bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB iC jC kC lC 2B QC mC 3B","132":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t KD EC LD MD ND OD PD 5B 6B QD RD","2":"I","132":"GD HD ID JD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"relList (DOMTokenList)",D:true}; diff --git a/.pnpm-store/v3/files/b5/f555314bb44ec45e5f374cd89ab8b0aba2b28c538df3fa7fb4c12e58b3e9bdbbcf7e3e38316e620b25223de4ac57ecdae00c33b97400260c4e7f947cb5dd5b b/.pnpm-store/v3/files/b5/f555314bb44ec45e5f374cd89ab8b0aba2b28c538df3fa7fb4c12e58b3e9bdbbcf7e3e38316e620b25223de4ac57ecdae00c33b97400260c4e7f947cb5dd5b new file mode 100644 index 00000000..b410e6e6 --- /dev/null +++ b/.pnpm-store/v3/files/b5/f555314bb44ec45e5f374cd89ab8b0aba2b28c538df3fa7fb4c12e58b3e9bdbbcf7e3e38316e620b25223de4ac57ecdae00c33b97400260c4e7f947cb5dd5b @@ -0,0 +1 @@ +module.exports={C:{"115":0.01879,"121":0.02192,"122":0.01253,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 123 124 125 3.5 3.6"},D:{"75":0.02819,"79":0.00313,"83":0.00626,"103":0.01879,"105":0.0094,"109":0.04072,"115":0.01253,"116":0.02506,"117":0.0094,"118":0.01566,"119":0.25682,"120":0.6264,"121":0.03132,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 80 81 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 106 107 108 110 111 112 113 114 122 123 124"},F:{"105":0.03758,"106":0.00313,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"114":0.00313,"119":0.0094,"120":0.15973,"121":0.01253,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 115 116 117 118"},E:{"14":0.00313,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1","14.1":0.00313,"15.1":0.12841,"15.2-15.3":0.08456,"15.4":0.29441,"15.5":0.18792,"15.6":2.69352,"16.0":0.27875,"16.1":0.68904,"16.2":0.41969,"16.3":0.8707,"16.4":0.18479,"16.5":0.783,"16.6":5.41836,"17.0":0.4698,"17.1":5.5593,"17.2":10.2479,"17.3":0.4792,"17.4":0.00626},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.01332,"5.0-5.1":0.01998,"6.0-6.1":0.03329,"7.0-7.1":0.04661,"8.1-8.4":0.00666,"9.0-9.2":0.03995,"9.3":0.15315,"10.0-10.2":0.01332,"10.3":0.23971,"11.0-11.2":0.09322,"11.3-11.4":0.09988,"12.0-12.1":0.05993,"12.2-12.5":1.18522,"13.0-13.1":0.01998,"13.2":0.21973,"13.3":0.05993,"13.4-13.7":0.26634,"14.0-14.4":0.4661,"14.5-14.8":0.71246,"15.0-15.1":0.30629,"15.2-15.3":0.3529,"15.4":0.41283,"15.5":0.546,"15.6-15.8":4.2548,"16.0":1.27844,"16.1":2.72334,"16.2":1.23849,"16.3":2.30385,"16.4":0.51271,"16.5":1.092,"16.6-16.7":8.93574,"17.0":1.48485,"17.1":15.30795,"17.2":20.72133,"17.3":1.33171},P:{"22":0.02113,"23":0.25359,_:"4 20 21 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.03434},H:{"0":0},L:{"0":2.3628},R:{_:"0"},M:{"0":0.00687}}; diff --git a/.pnpm-store/v3/files/b6/26c895839bf00674c992c763c9899c84dc7e9d53f51d3cc673a8a1eb2d397d583838735c6784cbead19f62922023f45d17031e004f3499e2056dfe7d2eb5ba b/.pnpm-store/v3/files/b6/26c895839bf00674c992c763c9899c84dc7e9d53f51d3cc673a8a1eb2d397d583838735c6784cbead19f62922023f45d17031e004f3499e2056dfe7d2eb5ba new file mode 100644 index 00000000..145d8749 --- /dev/null +++ b/.pnpm-store/v3/files/b6/26c895839bf00674c992c763c9899c84dc7e9d53f51d3cc673a8a1eb2d397d583838735c6784cbead19f62922023f45d17031e004f3499e2056dfe7d2eb5ba @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB VC WC","129":"0 1 2 3 4 5 6 7 8 eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC"},D:{"1":"0 1 2 3 4 5 6 7 8 gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:5,C:"Auxclick",D:true}; diff --git a/.pnpm-store/v3/files/b6/352d75f45821782c69402bcfd2bee6445cb393e1f3b1a36ccd01e701e0bf3fb56c70a78ab1463633116fea142bb6cdf0ca8858fa55e6a4f7d7ad1d8b11c960 b/.pnpm-store/v3/files/b6/352d75f45821782c69402bcfd2bee6445cb393e1f3b1a36ccd01e701e0bf3fb56c70a78ab1463633116fea142bb6cdf0ca8858fa55e6a4f7d7ad1d8b11c960 new file mode 100644 index 00000000..1b5675bd --- /dev/null +++ b/.pnpm-store/v3/files/b6/352d75f45821782c69402bcfd2bee6445cb393e1f3b1a36ccd01e701e0bf3fb56c70a78ab1463633116fea142bb6cdf0ca8858fa55e6a4f7d7ad1d8b11c960 @@ -0,0 +1,35 @@ +var jx=Object.defineProperty;var Vx=(t,e,r)=>e in t?jx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var ci=(t,e,r)=>(Vx(t,typeof e!="symbol"?e+"":e,r),r);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const u of s)if(u.type==="childList")for(const f of u.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&o(f)}).observe(document,{childList:!0,subtree:!0});function r(s){const u={};return s.integrity&&(u.integrity=s.integrity),s.referrerPolicy&&(u.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?u.credentials="include":s.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function o(s){if(s.ep)return;s.ep=!0;const u=r(s);fetch(s.href,u)}})();function lh(t,e){const r=Object.create(null),o=t.split(",");for(let s=0;s!!r[s.toLowerCase()]:s=>!!r[s]}const we={},Go=[],wr=()=>{},Gx=()=>!1,Kx=/^on[^a-z]/,_c=t=>Kx.test(t),ah=t=>t.startsWith("onUpdate:"),ze=Object.assign,ch=(t,e)=>{const r=t.indexOf(e);r>-1&&t.splice(r,1)},Xx=Object.prototype.hasOwnProperty,le=(t,e)=>Xx.call(t,e),It=Array.isArray,Ko=t=>kc(t)==="[object Map]",xm=t=>kc(t)==="[object Set]",jt=t=>typeof t=="function",Ie=t=>typeof t=="string",Sc=t=>typeof t=="symbol",ye=t=>t!==null&&typeof t=="object",_m=t=>(ye(t)||jt(t))&&jt(t.then)&&jt(t.catch),Sm=Object.prototype.toString,kc=t=>Sm.call(t),Yx=t=>kc(t).slice(8,-1),km=t=>kc(t)==="[object Object]",uh=t=>Ie(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ia=lh(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Cc=t=>{const e=Object.create(null);return r=>e[r]||(e[r]=t(r))},Zx=/-(\w)/g,_r=Cc(t=>t.replace(Zx,(e,r)=>r?r.toUpperCase():"")),Qx=/\B([A-Z])/g,co=Cc(t=>t.replace(Qx,"-$1").toLowerCase()),Tc=Cc(t=>t.charAt(0).toUpperCase()+t.slice(1)),ju=Cc(t=>t?`on${Tc(t)}`:""),ro=(t,e)=>!Object.is(t,e),Fa=(t,e)=>{for(let r=0;r{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:r})},gf=t=>{const e=parseFloat(t);return isNaN(e)?t:e},Cm=t=>{const e=Ie(t)?Number(t):NaN;return isNaN(e)?t:e};let cg;const vf=()=>cg||(cg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function An(t){if(It(t)){const e={};for(let r=0;r{if(r){const o=r.split(t1);o.length>1&&(e[o[0].trim()]=o[1].trim())}}),e}function ve(t){let e="";if(Ie(t))e=t;else if(It(t))for(let r=0;rIe(t)?t:t==null?"":It(t)||ye(t)&&(t.toString===Sm||!jt(t.toString))?JSON.stringify(t,Em,2):String(t),Em=(t,e)=>e&&e.__v_isRef?Em(t,e.value):Ko(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((r,[o,s])=>(r[`${o} =>`]=s,r),{})}:xm(e)?{[`Set(${e.size})`]:[...e.values()]}:ye(e)&&!It(e)&&!km(e)?String(e):e;let $n;class o1{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=$n,!e&&$n&&(this.index=($n.scopes||($n.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const r=$n;try{return $n=this,e()}finally{$n=r}}}on(){$n=this}off(){$n=this.parent}stop(e){if(this._active){let r,o;for(r=0,o=this.effects.length;r{const e=new Set(t);return e.w=0,e.n=0,e},Am=t=>(t.w&Ti)>0,Mm=t=>(t.n&Ti)>0,a1=({deps:t})=>{if(t.length)for(let e=0;e{const{deps:e}=t;if(e.length){let r=0;for(let o=0;o{(v==="length"||!Sc(v)&&v>=d)&&h.push(g)})}else switch(r!==void 0&&h.push(f.get(r)),e){case"add":It(t)?uh(r)&&h.push(f.get("length")):(h.push(f.get(Ji)),Ko(t)&&h.push(f.get(yf)));break;case"delete":It(t)||(h.push(f.get(Ji)),Ko(t)&&h.push(f.get(yf)));break;case"set":Ko(t)&&h.push(f.get(Ji));break}if(h.length===1)h[0]&&bf(h[0]);else{const d=[];for(const g of h)g&&d.push(...g);bf(fh(d))}}function bf(t,e){const r=It(t)?t:[...t];for(const o of r)o.computed&&fg(o);for(const o of r)o.computed||fg(o)}function fg(t,e){(t!==ir||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}function u1(t,e){var r;return(r=Qa.get(t))==null?void 0:r.get(e)}const f1=lh("__proto__,__v_isRef,__isVue"),Om=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Sc)),hg=h1();function h1(){const t={};return["includes","indexOf","lastIndexOf"].forEach(e=>{t[e]=function(...r){const o=ae(this);for(let u=0,f=this.length;u{t[e]=function(...r){ps();const o=ae(this)[e].apply(this,r);return gs(),o}}),t}function d1(t){const e=ae(this);return Nn(e,"has",t),e.hasOwnProperty(t)}class Dm{constructor(e=!1,r=!1){this._isReadonly=e,this._shallow=r}get(e,r,o){const s=this._isReadonly,u=this._shallow;if(r==="__v_isReactive")return!s;if(r==="__v_isReadonly")return s;if(r==="__v_isShallow")return u;if(r==="__v_raw"&&o===(s?u?T1:Im:u?zm:Rm).get(e))return e;const f=It(e);if(!s){if(f&&le(hg,r))return Reflect.get(hg,r,o);if(r==="hasOwnProperty")return d1}const h=Reflect.get(e,r,o);return(Sc(r)?Om.has(r):f1(r))||(s||Nn(e,"get",r),u)?h:Le(h)?f&&uh(r)?h:h.value:ye(h)?s?Lc(h):Un(h):h}}class $m extends Dm{constructor(e=!1){super(!1,e)}set(e,r,o,s){let u=e[r];if(rs(u)&&Le(u)&&!Le(o))return!1;if(!this._shallow&&(!Ja(o)&&!rs(o)&&(u=ae(u),o=ae(o)),!It(e)&&Le(u)&&!Le(o)))return u.value=o,!0;const f=It(e)&&uh(r)?Number(r)t,Ec=t=>Reflect.getPrototypeOf(t);function wa(t,e,r=!1,o=!1){t=t.__v_raw;const s=ae(t),u=ae(e);r||(ro(e,u)&&Nn(s,"get",e),Nn(s,"get",u));const{has:f}=Ec(s),h=o?dh:r?mh:pl;if(f.call(s,e))return h(t.get(e));if(f.call(s,u))return h(t.get(u));t!==s&&t.get(e)}function xa(t,e=!1){const r=this.__v_raw,o=ae(r),s=ae(t);return e||(ro(t,s)&&Nn(o,"has",t),Nn(o,"has",s)),t===s?r.has(t):r.has(t)||r.has(s)}function _a(t,e=!1){return t=t.__v_raw,!e&&Nn(ae(t),"iterate",Ji),Reflect.get(t,"size",t)}function dg(t){t=ae(t);const e=ae(this);return Ec(e).has.call(e,t)||(e.add(t),Fr(e,"add",t,t)),this}function pg(t,e){e=ae(e);const r=ae(this),{has:o,get:s}=Ec(r);let u=o.call(r,t);u||(t=ae(t),u=o.call(r,t));const f=s.call(r,t);return r.set(t,e),u?ro(e,f)&&Fr(r,"set",t,e):Fr(r,"add",t,e),this}function gg(t){const e=ae(this),{has:r,get:o}=Ec(e);let s=r.call(e,t);s||(t=ae(t),s=r.call(e,t)),o&&o.call(e,t);const u=e.delete(t);return s&&Fr(e,"delete",t,void 0),u}function vg(){const t=ae(this),e=t.size!==0,r=t.clear();return e&&Fr(t,"clear",void 0,void 0),r}function Sa(t,e){return function(o,s){const u=this,f=u.__v_raw,h=ae(f),d=e?dh:t?mh:pl;return!t&&Nn(h,"iterate",Ji),f.forEach((g,v)=>o.call(s,d(g),d(v),u))}}function ka(t,e,r){return function(...o){const s=this.__v_raw,u=ae(s),f=Ko(u),h=t==="entries"||t===Symbol.iterator&&f,d=t==="keys"&&f,g=s[t](...o),v=r?dh:e?mh:pl;return!e&&Nn(u,"iterate",d?yf:Ji),{next(){const{value:b,done:w}=g.next();return w?{value:b,done:w}:{value:h?[v(b[0]),v(b[1])]:v(b),done:w}},[Symbol.iterator](){return this}}}}function ui(t){return function(...e){return t==="delete"?!1:this}}function y1(){const t={get(u){return wa(this,u)},get size(){return _a(this)},has:xa,add:dg,set:pg,delete:gg,clear:vg,forEach:Sa(!1,!1)},e={get(u){return wa(this,u,!1,!0)},get size(){return _a(this)},has:xa,add:dg,set:pg,delete:gg,clear:vg,forEach:Sa(!1,!0)},r={get(u){return wa(this,u,!0)},get size(){return _a(this,!0)},has(u){return xa.call(this,u,!0)},add:ui("add"),set:ui("set"),delete:ui("delete"),clear:ui("clear"),forEach:Sa(!0,!1)},o={get(u){return wa(this,u,!0,!0)},get size(){return _a(this,!0)},has(u){return xa.call(this,u,!0)},add:ui("add"),set:ui("set"),delete:ui("delete"),clear:ui("clear"),forEach:Sa(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(u=>{t[u]=ka(u,!1,!1),r[u]=ka(u,!0,!1),e[u]=ka(u,!1,!0),o[u]=ka(u,!0,!0)}),[t,r,e,o]}const[b1,w1,x1,_1]=y1();function ph(t,e){const r=e?t?_1:x1:t?w1:b1;return(o,s,u)=>s==="__v_isReactive"?!t:s==="__v_isReadonly"?t:s==="__v_raw"?o:Reflect.get(le(r,s)&&s in o?r:o,s,u)}const S1={get:ph(!1,!1)},k1={get:ph(!1,!0)},C1={get:ph(!0,!1)},Rm=new WeakMap,zm=new WeakMap,Im=new WeakMap,T1=new WeakMap;function E1(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function L1(t){return t.__v_skip||!Object.isExtensible(t)?0:E1(Yx(t))}function Un(t){return rs(t)?t:gh(t,!1,g1,S1,Rm)}function Fm(t){return gh(t,!1,m1,k1,zm)}function Lc(t){return gh(t,!0,v1,C1,Im)}function gh(t,e,r,o,s){if(!ye(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const u=s.get(t);if(u)return u;const f=L1(t);if(f===0)return t;const h=new Proxy(t,f===2?o:r);return s.set(t,h),h}function Xo(t){return rs(t)?Xo(t.__v_raw):!!(t&&t.__v_isReactive)}function rs(t){return!!(t&&t.__v_isReadonly)}function Ja(t){return!!(t&&t.__v_isShallow)}function qm(t){return Xo(t)||rs(t)}function ae(t){const e=t&&t.__v_raw;return e?ae(e):t}function vh(t){return Za(t,"__v_skip",!0),t}const pl=t=>ye(t)?Un(t):t,mh=t=>ye(t)?Lc(t):t;function yh(t){Si&&ir&&(t=ae(t),Pm(t.dep||(t.dep=fh())))}function bh(t,e){t=ae(t);const r=t.dep;r&&bf(r)}function Le(t){return!!(t&&t.__v_isRef===!0)}function Zt(t){return Hm(t,!1)}function vs(t){return Hm(t,!0)}function Hm(t,e){return Le(t)?t:new A1(t,e)}class A1{constructor(e,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?e:ae(e),this._value=r?e:pl(e)}get value(){return yh(this),this._value}set value(e){const r=this.__v_isShallow||Ja(e)||rs(e);e=r?e:ae(e),ro(e,this._rawValue)&&(this._rawValue=e,this._value=r?e:pl(e),bh(this))}}function U(t){return Le(t)?t.value:t}const M1={get:(t,e,r)=>U(Reflect.get(t,e,r)),set:(t,e,r,o)=>{const s=t[e];return Le(s)&&!Le(r)?(s.value=r,!0):Reflect.set(t,e,r,o)}};function Bm(t){return Xo(t)?t:new Proxy(t,M1)}class N1{constructor(e){this.dep=void 0,this.__v_isRef=!0;const{get:r,set:o}=e(()=>yh(this),()=>bh(this));this._get=r,this._set=o}get value(){return this._get()}set value(e){this._set(e)}}function P1(t){return new N1(t)}function O1(t){const e=It(t)?new Array(t.length):{};for(const r in t)e[r]=Wm(t,r);return e}class D1{constructor(e,r,o){this._object=e,this._key=r,this._defaultValue=o,this.__v_isRef=!0}get value(){const e=this._object[this._key];return e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return u1(ae(this._object),this._key)}}class $1{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function wh(t,e,r){return Le(t)?t:jt(t)?new $1(t):ye(t)&&arguments.length>1?Wm(t,e,r):Zt(t)}function Wm(t,e,r){const o=t[e];return Le(o)?o:new D1(t,e,r)}class R1{constructor(e,r,o,s){this._setter=r,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new hh(e,()=>{this._dirty||(this._dirty=!0,bh(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=o}get value(){const e=ae(this);return yh(e),(e._dirty||!e._cacheable)&&(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function z1(t,e,r=!1){let o,s;const u=jt(t);return u?(o=t,s=wr):(o=t.get,s=t.set),new R1(o,s,u||!s,r)}function ki(t,e,r,o){let s;try{s=o?t(...o):t()}catch(u){Nl(u,e,r)}return s}function jn(t,e,r,o){if(jt(t)){const u=ki(t,e,r,o);return u&&_m(u)&&u.catch(f=>{Nl(f,e,r)}),u}const s=[];for(let u=0;u>>1,s=en[o],u=vl(s);uvr&&en.splice(e,1)}function xf(t){It(t)?Yo.push(...t):(!$r||!$r.includes(t,t.allowRecurse?Ki+1:Ki))&&Yo.push(t),jm()}function mg(t,e=gl?vr+1:0){for(;evl(r)-vl(o)),Ki=0;Ki<$r.length;Ki++)$r[Ki]();$r=null,Ki=0}}const vl=t=>t.id==null?1/0:t.id,H1=(t,e)=>{const r=vl(t)-vl(e);if(r===0){if(t.pre&&!e.pre)return-1;if(e.pre&&!t.pre)return 1}return r};function Gm(t){wf=!1,gl=!0,en.sort(H1);try{for(vr=0;vrIe(S)?S.trim():S)),b&&(s=r.map(gf))}let h,d=o[h=ju(e)]||o[h=ju(_r(e))];!d&&u&&(d=o[h=ju(co(e))]),d&&jn(d,t,6,s);const g=o[h+"Once"];if(g){if(!t.emitted)t.emitted={};else if(t.emitted[h])return;t.emitted[h]=!0,jn(g,t,6,s)}}function Km(t,e,r=!1){const o=e.emitsCache,s=o.get(t);if(s!==void 0)return s;const u=t.emits;let f={},h=!1;if(!jt(t)){const d=g=>{const v=Km(g,e,!0);v&&(h=!0,ze(f,v))};!r&&e.mixins.length&&e.mixins.forEach(d),t.extends&&d(t.extends),t.mixins&&t.mixins.forEach(d)}return!u&&!h?(ye(t)&&o.set(t,null),null):(It(u)?u.forEach(d=>f[d]=null):ze(f,u),ye(t)&&o.set(t,f),f)}function Ac(t,e){return!t||!_c(e)?!1:(e=e.slice(2).replace(/Once$/,""),le(t,e[0].toLowerCase()+e.slice(1))||le(t,co(e))||le(t,e))}let Qe=null,Mc=null;function tc(t){const e=Qe;return Qe=t,Mc=t&&t.type.__scopeId||null,e}function Xm(t){Mc=t}function Ym(){Mc=null}const W1=t=>ee;function ee(t,e=Qe,r){if(!e||t._n)return t;const o=(...s)=>{o._d&&Ag(-1);const u=tc(e);let f;try{f=t(...s)}finally{tc(u),o._d&&Ag(1)}return f};return o._n=!0,o._c=!0,o._d=!0,o}function Vu(t){const{type:e,vnode:r,proxy:o,withProxy:s,props:u,propsOptions:[f],slots:h,attrs:d,emit:g,render:v,renderCache:b,data:w,setupState:S,ctx:P,inheritAttrs:A}=t;let L,T;const M=tc(t);try{if(r.shapeFlag&4){const E=s||o;L=rr(v.call(E,E,b,u,S,w,P)),T=d}else{const E=e;L=rr(E.length>1?E(u,{attrs:d,slots:h,emit:g}):E(u,null)),T=e.props?d:j1(d)}}catch(E){cl.length=0,Nl(E,t,1),L=Ft(Mn)}let R=L;if(T&&A!==!1){const E=Object.keys(T),{shapeFlag:B}=R;E.length&&B&7&&(f&&E.some(ah)&&(T=V1(T,f)),R=Ei(R,T))}return r.dirs&&(R=Ei(R),R.dirs=R.dirs?R.dirs.concat(r.dirs):r.dirs),r.transition&&(R.transition=r.transition),L=R,tc(M),L}function U1(t){let e;for(let r=0;r{let e;for(const r in t)(r==="class"||r==="style"||_c(r))&&((e||(e={}))[r]=t[r]);return e},V1=(t,e)=>{const r={};for(const o in t)(!ah(o)||!(o.slice(9)in e))&&(r[o]=t[o]);return r};function G1(t,e,r){const{props:o,children:s,component:u}=t,{props:f,children:h,patchFlag:d}=e,g=u.emitsOptions;if(e.dirs||e.transition)return!0;if(r&&d>=0){if(d&1024)return!0;if(d&16)return o?yg(o,f,g):!!f;if(d&8){const v=e.dynamicProps;for(let b=0;bt.__isSuspense,Z1={name:"Suspense",__isSuspense:!0,process(t,e,r,o,s,u,f,h,d,g){t==null?J1(e,r,o,s,u,f,h,d,g):t_(t,e,r,o,s,f,h,d,g)},hydrate:e_,create:kh,normalize:n_},Q1=Z1;function ml(t,e){const r=t.props&&t.props[e];jt(r)&&r()}function J1(t,e,r,o,s,u,f,h,d){const{p:g,o:{createElement:v}}=d,b=v("div"),w=t.suspense=kh(t,s,o,e,b,r,u,f,h,d);g(null,w.pendingBranch=t.ssContent,b,null,o,w,u,f),w.deps>0?(ml(t,"onPending"),ml(t,"onFallback"),g(null,t.ssFallback,e,r,o,null,u,f),Zo(w,t.ssFallback)):w.resolve(!1,!0)}function t_(t,e,r,o,s,u,f,h,{p:d,um:g,o:{createElement:v}}){const b=e.suspense=t.suspense;b.vnode=e,e.el=t.el;const w=e.ssContent,S=e.ssFallback,{activeBranch:P,pendingBranch:A,isInFallback:L,isHydrating:T}=b;if(A)b.pendingBranch=w,mr(w,A)?(d(A,w,b.hiddenContainer,null,s,b,u,f,h),b.deps<=0?b.resolve():L&&(d(P,S,r,o,s,null,u,f,h),Zo(b,S))):(b.pendingId++,T?(b.isHydrating=!1,b.activeBranch=A):g(A,s,b),b.deps=0,b.effects.length=0,b.hiddenContainer=v("div"),L?(d(null,w,b.hiddenContainer,null,s,b,u,f,h),b.deps<=0?b.resolve():(d(P,S,r,o,s,null,u,f,h),Zo(b,S))):P&&mr(w,P)?(d(P,w,r,o,s,b,u,f,h),b.resolve(!0)):(d(null,w,b.hiddenContainer,null,s,b,u,f,h),b.deps<=0&&b.resolve()));else if(P&&mr(w,P))d(P,w,r,o,s,b,u,f,h),Zo(b,w);else if(ml(e,"onPending"),b.pendingBranch=w,b.pendingId++,d(null,w,b.hiddenContainer,null,s,b,u,f,h),b.deps<=0)b.resolve();else{const{timeout:M,pendingId:R}=b;M>0?setTimeout(()=>{b.pendingId===R&&b.fallback(S)},M):M===0&&b.fallback(S)}}function kh(t,e,r,o,s,u,f,h,d,g,v=!1){const{p:b,m:w,um:S,n:P,o:{parentNode:A,remove:L}}=g;let T;const M=i_(t);M&&e!=null&&e.pendingBranch&&(T=e.pendingId,e.deps++);const R=t.props?Cm(t.props.timeout):void 0,E={vnode:t,parent:e,parentComponent:r,isSVG:f,container:o,hiddenContainer:s,anchor:u,deps:0,pendingId:0,timeout:typeof R=="number"?R:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:v,isUnmounted:!1,effects:[],resolve(B=!1,K=!1){const{vnode:ht,activeBranch:Y,pendingBranch:nt,pendingId:at,effects:pt,parentComponent:gt,container:G}=E;let z=!1;if(E.isHydrating)E.isHydrating=!1;else if(!B){z=Y&&nt.transition&&nt.transition.mode==="out-in",z&&(Y.transition.afterLeave=()=>{at===E.pendingId&&(w(nt,G,H,0),xf(pt))});let{anchor:H}=E;Y&&(H=P(Y),S(Y,gt,E,!0)),z||w(nt,G,H,0)}Zo(E,nt),E.pendingBranch=null,E.isInFallback=!1;let k=E.parent,F=!1;for(;k;){if(k.pendingBranch){k.effects.push(...pt),F=!0;break}k=k.parent}!F&&!z&&xf(pt),E.effects=[],M&&e&&e.pendingBranch&&T===e.pendingId&&(e.deps--,e.deps===0&&!K&&e.resolve()),ml(ht,"onResolve")},fallback(B){if(!E.pendingBranch)return;const{vnode:K,activeBranch:ht,parentComponent:Y,container:nt,isSVG:at}=E;ml(K,"onFallback");const pt=P(ht),gt=()=>{E.isInFallback&&(b(null,B,nt,pt,Y,null,at,h,d),Zo(E,B))},G=B.transition&&B.transition.mode==="out-in";G&&(ht.transition.afterLeave=gt),E.isInFallback=!0,S(ht,Y,null,!0),G||gt()},move(B,K,ht){E.activeBranch&&w(E.activeBranch,B,K,ht),E.container=B},next(){return E.activeBranch&&P(E.activeBranch)},registerDep(B,K){const ht=!!E.pendingBranch;ht&&E.deps++;const Y=B.vnode.el;B.asyncDep.catch(nt=>{Nl(nt,B,0)}).then(nt=>{if(B.isUnmounted||E.isUnmounted||E.pendingId!==B.suspenseId)return;B.asyncResolved=!0;const{vnode:at}=B;Mf(B,nt,!1),Y&&(at.el=Y);const pt=!Y&&B.subTree.el;K(B,at,A(Y||B.subTree.el),Y?null:P(B.subTree),E,f,d),pt&&L(pt),Sh(B,at.el),ht&&--E.deps===0&&E.resolve()})},unmount(B,K){E.isUnmounted=!0,E.activeBranch&&S(E.activeBranch,r,B,K),E.pendingBranch&&S(E.pendingBranch,r,B,K)}};return E}function e_(t,e,r,o,s,u,f,h,d){const g=e.suspense=kh(e,o,r,t.parentNode,document.createElement("div"),null,s,u,f,h,!0),v=d(t,g.pendingBranch=e.ssContent,r,g,u,f);return g.deps===0&&g.resolve(!1,!0),v}function n_(t){const{shapeFlag:e,children:r}=t,o=e&32;t.ssContent=wg(o?r.default:r),t.ssFallback=o?wg(r.fallback):Ft(Mn)}function wg(t){let e;if(jt(t)){const r=is&&t._c;r&&(t._d=!1,st()),t=t(),r&&(t._d=!0,e=Wn,g0())}return It(t)&&(t=U1(t)),t=rr(t),e&&!t.dynamicChildren&&(t.dynamicChildren=e.filter(r=>r!==t)),t}function r_(t,e){e&&e.pendingBranch?It(t)?e.effects.push(...t):e.effects.push(t):xf(t)}function Zo(t,e){t.activeBranch=e;const{vnode:r,parentComponent:o}=t,s=r.el=e.el;o&&o.subTree===r&&(o.vnode.el=s,Sh(o,s))}function i_(t){var e;return((e=t.props)==null?void 0:e.suspensible)!=null&&t.props.suspensible!==!1}function Ch(t,e){return Th(t,null,e)}const Ca={};function Re(t,e,r){return Th(t,e,r)}function Th(t,e,{immediate:r,deep:o,flush:s,onTrack:u,onTrigger:f}=we){var h;const d=Lm()===((h=Ge)==null?void 0:h.scope)?Ge:null;let g,v=!1,b=!1;if(Le(t)?(g=()=>t.value,v=Ja(t)):Xo(t)?(g=()=>t,o=!0):It(t)?(b=!0,v=t.some(E=>Xo(E)||Ja(E)),g=()=>t.map(E=>{if(Le(E))return E.value;if(Xo(E))return Yi(E);if(jt(E))return ki(E,d,2)})):jt(t)?e?g=()=>ki(t,d,2):g=()=>{if(!(d&&d.isUnmounted))return w&&w(),jn(t,d,3,[S])}:g=wr,e&&o){const E=g;g=()=>Yi(E())}let w,S=E=>{w=M.onStop=()=>{ki(E,d,4)}},P;if(bl)if(S=wr,e?r&&jn(e,d,3,[g(),b?[]:void 0,S]):g(),s==="sync"){const E=Y_();P=E.__watcherHandles||(E.__watcherHandles=[])}else return wr;let A=b?new Array(t.length).fill(Ca):Ca;const L=()=>{if(M.active)if(e){const E=M.run();(o||v||(b?E.some((B,K)=>ro(B,A[K])):ro(E,A)))&&(w&&w(),jn(e,d,3,[E,A===Ca?void 0:b&&A[0]===Ca?[]:A,S]),A=E)}else M.run()};L.allowRecurse=!!e;let T;s==="sync"?T=L:s==="post"?T=()=>Cn(L,d&&d.suspense):(L.pre=!0,d&&(L.id=d.uid),T=()=>_h(L));const M=new hh(g,T);e?r?L():A=M.run():s==="post"?Cn(M.run.bind(M),d&&d.suspense):M.run();const R=()=>{M.stop(),d&&d.scope&&ch(d.scope.effects,M)};return P&&P.push(R),R}function o_(t,e,r){const o=this.proxy,s=Ie(t)?t.includes(".")?Jm(o,t):()=>o[t]:t.bind(o,o);let u;jt(e)?u=e:(u=e.handler,r=e);const f=Ge;os(this);const h=Th(s,u.bind(o),r);return f?os(f):to(),h}function Jm(t,e){const r=e.split(".");return()=>{let o=t;for(let s=0;s{Yi(r,e)});else if(km(t))for(const r in t)Yi(t[r],e);return t}function nn(t,e){const r=Qe;if(r===null)return t;const o=$c(r)||r.proxy,s=t.dirs||(t.dirs=[]);for(let u=0;u{t.isMounted=!0}),i0(()=>{t.isUnmounting=!0}),t}const Bn=[Function,Array],t0={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Bn,onEnter:Bn,onAfterEnter:Bn,onEnterCancelled:Bn,onBeforeLeave:Bn,onLeave:Bn,onAfterLeave:Bn,onLeaveCancelled:Bn,onBeforeAppear:Bn,onAppear:Bn,onAfterAppear:Bn,onAppearCancelled:Bn},l_={name:"BaseTransition",props:t0,setup(t,{slots:e}){const r=Pl(),o=s_();let s;return()=>{const u=e.default&&n0(e.default(),!0);if(!u||!u.length)return;let f=u[0];if(u.length>1){for(const A of u)if(A.type!==Mn){f=A;break}}const h=ae(t),{mode:d}=h;if(o.isLeaving)return Gu(f);const g=xg(f);if(!g)return Gu(f);const v=_f(g,h,o,r);Sf(g,v);const b=r.subTree,w=b&&xg(b);let S=!1;const{getTransitionKey:P}=g.type;if(P){const A=P();s===void 0?s=A:A!==s&&(s=A,S=!0)}if(w&&w.type!==Mn&&(!mr(g,w)||S)){const A=_f(w,h,o,r);if(Sf(w,A),d==="out-in")return o.isLeaving=!0,A.afterLeave=()=>{o.isLeaving=!1,r.update.active!==!1&&r.update()},Gu(f);d==="in-out"&&g.type!==Mn&&(A.delayLeave=(L,T,M)=>{const R=e0(o,w);R[String(w.key)]=w,L[gi]=()=>{T(),L[gi]=void 0,delete v.delayedLeave},v.delayedLeave=M})}return f}}},a_=l_;function e0(t,e){const{leavingVNodes:r}=t;let o=r.get(e.type);return o||(o=Object.create(null),r.set(e.type,o)),o}function _f(t,e,r,o){const{appear:s,mode:u,persisted:f=!1,onBeforeEnter:h,onEnter:d,onAfterEnter:g,onEnterCancelled:v,onBeforeLeave:b,onLeave:w,onAfterLeave:S,onLeaveCancelled:P,onBeforeAppear:A,onAppear:L,onAfterAppear:T,onAppearCancelled:M}=e,R=String(t.key),E=e0(r,t),B=(Y,nt)=>{Y&&jn(Y,o,9,nt)},K=(Y,nt)=>{const at=nt[1];B(Y,nt),It(Y)?Y.every(pt=>pt.length<=1)&&at():Y.length<=1&&at()},ht={mode:u,persisted:f,beforeEnter(Y){let nt=h;if(!r.isMounted)if(s)nt=A||h;else return;Y[gi]&&Y[gi](!0);const at=E[R];at&&mr(t,at)&&at.el[gi]&&at.el[gi](),B(nt,[Y])},enter(Y){let nt=d,at=g,pt=v;if(!r.isMounted)if(s)nt=L||d,at=T||g,pt=M||v;else return;let gt=!1;const G=Y[Ta]=z=>{gt||(gt=!0,z?B(pt,[Y]):B(at,[Y]),ht.delayedLeave&&ht.delayedLeave(),Y[Ta]=void 0)};nt?K(nt,[Y,G]):G()},leave(Y,nt){const at=String(t.key);if(Y[Ta]&&Y[Ta](!0),r.isUnmounting)return nt();B(b,[Y]);let pt=!1;const gt=Y[gi]=G=>{pt||(pt=!0,nt(),G?B(P,[Y]):B(S,[Y]),Y[gi]=void 0,E[at]===t&&delete E[at])};E[at]=t,w?K(w,[Y,gt]):gt()},clone(Y){return _f(Y,e,r,o)}};return ht}function Gu(t){if(Nc(t))return t=Ei(t),t.children=null,t}function xg(t){return Nc(t)?t.children?t.children[0]:void 0:t}function Sf(t,e){t.shapeFlag&6&&t.component?Sf(t.component.subTree,e):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function n0(t,e=!1,r){let o=[],s=0;for(let u=0;u1)for(let u=0;uze({name:t.name},e,{setup:t}))():t}const ll=t=>!!t.type.__asyncLoader,Nc=t=>t.type.__isKeepAlive;function c_(t,e){r0(t,"a",e)}function u_(t,e){r0(t,"da",e)}function r0(t,e,r=Ge){const o=t.__wdc||(t.__wdc=()=>{let s=r;for(;s;){if(s.isDeactivated)return;s=s.parent}return t()});if(Pc(e,o,r),r){let s=r.parent;for(;s&&s.parent;)Nc(s.parent.vnode)&&f_(o,e,r,s),s=s.parent}}function f_(t,e,r,o){const s=Pc(e,t,o,!0);Eh(()=>{ch(o[e],s)},r)}function Pc(t,e,r=Ge,o=!1){if(r){const s=r[t]||(r[t]=[]),u=e.__weh||(e.__weh=(...f)=>{if(r.isUnmounted)return;ps(),os(r);const h=jn(e,r,t,f);return to(),gs(),h});return o?s.unshift(u):s.push(u),u}}const Kr=t=>(e,r=Ge)=>(!bl||t==="sp")&&Pc(t,(...o)=>e(...o),r),h_=Kr("bm"),ms=Kr("m"),d_=Kr("bu"),p_=Kr("u"),i0=Kr("bum"),Eh=Kr("um"),g_=Kr("sp"),v_=Kr("rtg"),m_=Kr("rtc");function y_(t,e=Ge){Pc("ec",t,e)}function Rn(t,e,r,o){let s;const u=r&&r[o];if(It(t)||Ie(t)){s=new Array(t.length);for(let f=0,h=t.length;fe(f,h,void 0,u&&u[h]));else{const f=Object.keys(t);s=new Array(f.length);for(let h=0,d=f.length;hyl(e)?!(e.type===Mn||e.type===ne&&!o0(e.children)):!0)?t:null}const kf=t=>t?y0(t)?$c(t)||t.proxy:kf(t.parent):null,al=ze(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>kf(t.parent),$root:t=>kf(t.root),$emit:t=>t.emit,$options:t=>Lh(t),$forceUpdate:t=>t.f||(t.f=()=>_h(t.update)),$nextTick:t=>t.n||(t.n=Br.bind(t.proxy)),$watch:t=>o_.bind(t)}),Ku=(t,e)=>t!==we&&!t.__isScriptSetup&&le(t,e),b_={get({_:t},e){const{ctx:r,setupState:o,data:s,props:u,accessCache:f,type:h,appContext:d}=t;let g;if(e[0]!=="$"){const S=f[e];if(S!==void 0)switch(S){case 1:return o[e];case 2:return s[e];case 4:return r[e];case 3:return u[e]}else{if(Ku(o,e))return f[e]=1,o[e];if(s!==we&&le(s,e))return f[e]=2,s[e];if((g=t.propsOptions[0])&&le(g,e))return f[e]=3,u[e];if(r!==we&&le(r,e))return f[e]=4,r[e];Tf&&(f[e]=0)}}const v=al[e];let b,w;if(v)return e==="$attrs"&&Nn(t,"get",e),v(t);if((b=h.__cssModules)&&(b=b[e]))return b;if(r!==we&&le(r,e))return f[e]=4,r[e];if(w=d.config.globalProperties,le(w,e))return w[e]},set({_:t},e,r){const{data:o,setupState:s,ctx:u}=t;return Ku(s,e)?(s[e]=r,!0):o!==we&&le(o,e)?(o[e]=r,!0):le(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(u[e]=r,!0)},has({_:{data:t,setupState:e,accessCache:r,ctx:o,appContext:s,propsOptions:u}},f){let h;return!!r[f]||t!==we&&le(t,f)||Ku(e,f)||(h=u[0])&&le(h,f)||le(o,f)||le(al,f)||le(s.config.globalProperties,f)},defineProperty(t,e,r){return r.get!=null?t._.accessCache[e]=0:le(r,"value")&&this.set(t,e,r.value,null),Reflect.defineProperty(t,e,r)}};function w_(){return x_().attrs}function s0(t,e,r){const o=Pl();if(r&&r.local){const s=Zt(t[e]);return Re(()=>t[e],u=>s.value=u),Re(s,u=>{u!==t[e]&&o.emit(`update:${e}`,u)}),s}else return{__v_isRef:!0,get value(){return t[e]},set value(s){o.emit(`update:${e}`,s)}}}function x_(){const t=Pl();return t.setupContext||(t.setupContext=w0(t))}function ec(t){return It(t)?t.reduce((e,r)=>(e[r]=null,e),{}):t}function Cf(t,e){return!t||!e?t||e:It(t)&&It(e)?t.concat(e):ze({},ec(t),ec(e))}let Tf=!0;function __(t){const e=Lh(t),r=t.proxy,o=t.ctx;Tf=!1,e.beforeCreate&&_g(e.beforeCreate,t,"bc");const{data:s,computed:u,methods:f,watch:h,provide:d,inject:g,created:v,beforeMount:b,mounted:w,beforeUpdate:S,updated:P,activated:A,deactivated:L,beforeDestroy:T,beforeUnmount:M,destroyed:R,unmounted:E,render:B,renderTracked:K,renderTriggered:ht,errorCaptured:Y,serverPrefetch:nt,expose:at,inheritAttrs:pt,components:gt,directives:G,filters:z}=e;if(g&&S_(g,o,null),f)for(const H in f){const Q=f[H];jt(Q)&&(o[H]=Q.bind(r))}if(s){const H=s.call(r,r);ye(H)&&(t.data=Un(H))}if(Tf=!0,u)for(const H in u){const Q=u[H],yt=jt(Q)?Q.bind(r,r):jt(Q.get)?Q.get.bind(r,r):wr,At=!jt(Q)&&jt(Q.set)?Q.set.bind(r):wr,qt=xt({get:yt,set:At});Object.defineProperty(o,H,{enumerable:!0,configurable:!0,get:()=>qt.value,set:Ht=>qt.value=Ht})}if(h)for(const H in h)l0(h[H],o,r,H);if(d){const H=jt(d)?d.call(r):d;Reflect.ownKeys(H).forEach(Q=>{qa(Q,H[Q])})}v&&_g(v,t,"c");function F(H,Q){It(Q)?Q.forEach(yt=>H(yt.bind(r))):Q&&H(Q.bind(r))}if(F(h_,b),F(ms,w),F(d_,S),F(p_,P),F(c_,A),F(u_,L),F(y_,Y),F(m_,K),F(v_,ht),F(i0,M),F(Eh,E),F(g_,nt),It(at))if(at.length){const H=t.exposed||(t.exposed={});at.forEach(Q=>{Object.defineProperty(H,Q,{get:()=>r[Q],set:yt=>r[Q]=yt})})}else t.exposed||(t.exposed={});B&&t.render===wr&&(t.render=B),pt!=null&&(t.inheritAttrs=pt),gt&&(t.components=gt),G&&(t.directives=G)}function S_(t,e,r=wr){It(t)&&(t=Ef(t));for(const o in t){const s=t[o];let u;ye(s)?"default"in s?u=qr(s.from||o,s.default,!0):u=qr(s.from||o):u=qr(s),Le(u)?Object.defineProperty(e,o,{enumerable:!0,configurable:!0,get:()=>u.value,set:f=>u.value=f}):e[o]=u}}function _g(t,e,r){jn(It(t)?t.map(o=>o.bind(e.proxy)):t.bind(e.proxy),e,r)}function l0(t,e,r,o){const s=o.includes(".")?Jm(r,o):()=>r[o];if(Ie(t)){const u=e[t];jt(u)&&Re(s,u)}else if(jt(t))Re(s,t.bind(r));else if(ye(t))if(It(t))t.forEach(u=>l0(u,e,r,o));else{const u=jt(t.handler)?t.handler.bind(r):e[t.handler];jt(u)&&Re(s,u,t)}}function Lh(t){const e=t.type,{mixins:r,extends:o}=e,{mixins:s,optionsCache:u,config:{optionMergeStrategies:f}}=t.appContext,h=u.get(e);let d;return h?d=h:!s.length&&!r&&!o?d=e:(d={},s.length&&s.forEach(g=>nc(d,g,f,!0)),nc(d,e,f)),ye(e)&&u.set(e,d),d}function nc(t,e,r,o=!1){const{mixins:s,extends:u}=e;u&&nc(t,u,r,!0),s&&s.forEach(f=>nc(t,f,r,!0));for(const f in e)if(!(o&&f==="expose")){const h=k_[f]||r&&r[f];t[f]=h?h(t[f],e[f]):e[f]}return t}const k_={data:Sg,props:kg,emits:kg,methods:il,computed:il,beforeCreate:dn,created:dn,beforeMount:dn,mounted:dn,beforeUpdate:dn,updated:dn,beforeDestroy:dn,beforeUnmount:dn,destroyed:dn,unmounted:dn,activated:dn,deactivated:dn,errorCaptured:dn,serverPrefetch:dn,components:il,directives:il,watch:T_,provide:Sg,inject:C_};function Sg(t,e){return e?t?function(){return ze(jt(t)?t.call(this,this):t,jt(e)?e.call(this,this):e)}:e:t}function C_(t,e){return il(Ef(t),Ef(e))}function Ef(t){if(It(t)){const e={};for(let r=0;r1)return r&&jt(e)?e.call(o&&o.proxy):e}}function A_(t,e,r,o=!1){const s={},u={};Za(u,Dc,1),t.propsDefaults=Object.create(null),c0(t,e,s,u);for(const f in t.propsOptions[0])f in s||(s[f]=void 0);r?t.props=o?s:Fm(s):t.type.props?t.props=s:t.props=u,t.attrs=u}function M_(t,e,r,o){const{props:s,attrs:u,vnode:{patchFlag:f}}=t,h=ae(s),[d]=t.propsOptions;let g=!1;if((o||f>0)&&!(f&16)){if(f&8){const v=t.vnode.dynamicProps;for(let b=0;b{d=!0;const[w,S]=u0(b,e,!0);ze(f,w),S&&h.push(...S)};!r&&e.mixins.length&&e.mixins.forEach(v),t.extends&&v(t.extends),t.mixins&&t.mixins.forEach(v)}if(!u&&!d)return ye(t)&&o.set(t,Go),Go;if(It(u))for(let v=0;v-1,S[1]=A<0||P-1||le(S,"default"))&&h.push(b)}}}const g=[f,h];return ye(t)&&o.set(t,g),g}function Cg(t){return t[0]!=="$"}function Tg(t){const e=t&&t.toString().match(/^\s*(function|class) (\w+)/);return e?e[2]:t===null?"null":""}function Eg(t,e){return Tg(t)===Tg(e)}function Lg(t,e){return It(e)?e.findIndex(r=>Eg(r,t)):jt(e)&&Eg(e,t)?0:-1}const f0=t=>t[0]==="_"||t==="$stable",Ah=t=>It(t)?t.map(rr):[rr(t)],N_=(t,e,r)=>{if(e._n)return e;const o=ee((...s)=>Ah(e(...s)),r);return o._c=!1,o},h0=(t,e,r)=>{const o=t._ctx;for(const s in t){if(f0(s))continue;const u=t[s];if(jt(u))e[s]=N_(s,u,o);else if(u!=null){const f=Ah(u);e[s]=()=>f}}},d0=(t,e)=>{const r=Ah(e);t.slots.default=()=>r},P_=(t,e)=>{if(t.vnode.shapeFlag&32){const r=e._;r?(t.slots=ae(e),Za(e,"_",r)):h0(e,t.slots={})}else t.slots={},e&&d0(t,e);Za(t.slots,Dc,1)},O_=(t,e,r)=>{const{vnode:o,slots:s}=t;let u=!0,f=we;if(o.shapeFlag&32){const h=e._;h?r&&h===1?u=!1:(ze(s,e),!r&&h===1&&delete s._):(u=!e.$stable,h0(e,s)),f=e}else e&&(d0(t,e),f={default:1});if(u)for(const h in s)!f0(h)&&f[h]==null&&delete s[h]};function Af(t,e,r,o,s=!1){if(It(t)){t.forEach((w,S)=>Af(w,e&&(It(e)?e[S]:e),r,o,s));return}if(ll(o)&&!s)return;const u=o.shapeFlag&4?$c(o.component)||o.component.proxy:o.el,f=s?null:u,{i:h,r:d}=t,g=e&&e.r,v=h.refs===we?h.refs={}:h.refs,b=h.setupState;if(g!=null&&g!==d&&(Ie(g)?(v[g]=null,le(b,g)&&(b[g]=null)):Le(g)&&(g.value=null)),jt(d))ki(d,h,12,[f,v]);else{const w=Ie(d),S=Le(d);if(w||S){const P=()=>{if(t.f){const A=w?le(b,d)?b[d]:v[d]:d.value;s?It(A)&&ch(A,u):It(A)?A.includes(u)||A.push(u):w?(v[d]=[u],le(b,d)&&(b[d]=v[d])):(d.value=[u],t.k&&(v[t.k]=d.value))}else w?(v[d]=f,le(b,d)&&(b[d]=f)):S&&(d.value=f,t.k&&(v[t.k]=f))};f?(P.id=-1,Cn(P,r)):P()}}}const Cn=r_;function D_(t){return $_(t)}function $_(t,e){const r=vf();r.__VUE__=!0;const{insert:o,remove:s,patchProp:u,createElement:f,createText:h,createComment:d,setText:g,setElementText:v,parentNode:b,nextSibling:w,setScopeId:S=wr,insertStaticContent:P}=t,A=($,I,V,J=null,ot=null,ut=null,St=!1,mt=null,ct=!!I.dynamicChildren)=>{if($===I)return;$&&!mr($,I)&&(J=j($),Ht($,ot,ut,!0),$=null),I.patchFlag===-2&&(ct=!1,I.dynamicChildren=null);const{type:ft,ref:$t,shapeFlag:Nt}=I;switch(ft){case Oc:L($,I,V,J);break;case Mn:T($,I,V,J);break;case Xu:$==null&&M(I,V,J,St);break;case ne:gt($,I,V,J,ot,ut,St,mt,ct);break;default:Nt&1?B($,I,V,J,ot,ut,St,mt,ct):Nt&6?G($,I,V,J,ot,ut,St,mt,ct):(Nt&64||Nt&128)&&ft.process($,I,V,J,ot,ut,St,mt,ct,lt)}$t!=null&&ot&&Af($t,$&&$.ref,ut,I||$,!I)},L=($,I,V,J)=>{if($==null)o(I.el=h(I.children),V,J);else{const ot=I.el=$.el;I.children!==$.children&&g(ot,I.children)}},T=($,I,V,J)=>{$==null?o(I.el=d(I.children||""),V,J):I.el=$.el},M=($,I,V,J)=>{[$.el,$.anchor]=P($.children,I,V,J,$.el,$.anchor)},R=({el:$,anchor:I},V,J)=>{let ot;for(;$&&$!==I;)ot=w($),o($,V,J),$=ot;o(I,V,J)},E=({el:$,anchor:I})=>{let V;for(;$&&$!==I;)V=w($),s($),$=V;s(I)},B=($,I,V,J,ot,ut,St,mt,ct)=>{St=St||I.type==="svg",$==null?K(I,V,J,ot,ut,St,mt,ct):nt($,I,ot,ut,St,mt,ct)},K=($,I,V,J,ot,ut,St,mt)=>{let ct,ft;const{type:$t,props:Nt,shapeFlag:Dt,transition:Bt,dirs:Kt}=$;if(ct=$.el=f($.type,ut,Nt&&Nt.is,Nt),Dt&8?v(ct,$.children):Dt&16&&Y($.children,ct,null,J,ot,ut&&$t!=="foreignObject",St,mt),Kt&&Wi($,null,J,"created"),ht(ct,$,$.scopeId,St,J),Nt){for(const oe in Nt)oe!=="value"&&!Ia(oe)&&u(ct,oe,null,Nt[oe],ut,$.children,J,ot,Tt);"value"in Nt&&u(ct,"value",null,Nt.value),(ft=Nt.onVnodeBeforeMount)&&gr(ft,J,$)}Kt&&Wi($,null,J,"beforeMount");const re=R_(ot,Bt);re&&Bt.beforeEnter(ct),o(ct,I,V),((ft=Nt&&Nt.onVnodeMounted)||re||Kt)&&Cn(()=>{ft&&gr(ft,J,$),re&&Bt.enter(ct),Kt&&Wi($,null,J,"mounted")},ot)},ht=($,I,V,J,ot)=>{if(V&&S($,V),J)for(let ut=0;ut{for(let ft=ct;ft<$.length;ft++){const $t=$[ft]=mt?vi($[ft]):rr($[ft]);A(null,$t,I,V,J,ot,ut,St,mt)}},nt=($,I,V,J,ot,ut,St)=>{const mt=I.el=$.el;let{patchFlag:ct,dynamicChildren:ft,dirs:$t}=I;ct|=$.patchFlag&16;const Nt=$.props||we,Dt=I.props||we;let Bt;V&&Ui(V,!1),(Bt=Dt.onVnodeBeforeUpdate)&&gr(Bt,V,I,$),$t&&Wi(I,$,V,"beforeUpdate"),V&&Ui(V,!0);const Kt=ot&&I.type!=="foreignObject";if(ft?at($.dynamicChildren,ft,mt,V,J,Kt,ut):St||Q($,I,mt,null,V,J,Kt,ut,!1),ct>0){if(ct&16)pt(mt,I,Nt,Dt,V,J,ot);else if(ct&2&&Nt.class!==Dt.class&&u(mt,"class",null,Dt.class,ot),ct&4&&u(mt,"style",Nt.style,Dt.style,ot),ct&8){const re=I.dynamicProps;for(let oe=0;oe{Bt&&gr(Bt,V,I,$),$t&&Wi(I,$,V,"updated")},J)},at=($,I,V,J,ot,ut,St)=>{for(let mt=0;mt{if(V!==J){if(V!==we)for(const mt in V)!Ia(mt)&&!(mt in J)&&u($,mt,V[mt],null,St,I.children,ot,ut,Tt);for(const mt in J){if(Ia(mt))continue;const ct=J[mt],ft=V[mt];ct!==ft&&mt!=="value"&&u($,mt,ft,ct,St,I.children,ot,ut,Tt)}"value"in J&&u($,"value",V.value,J.value)}},gt=($,I,V,J,ot,ut,St,mt,ct)=>{const ft=I.el=$?$.el:h(""),$t=I.anchor=$?$.anchor:h("");let{patchFlag:Nt,dynamicChildren:Dt,slotScopeIds:Bt}=I;Bt&&(mt=mt?mt.concat(Bt):Bt),$==null?(o(ft,V,J),o($t,V,J),Y(I.children,V,$t,ot,ut,St,mt,ct)):Nt>0&&Nt&64&&Dt&&$.dynamicChildren?(at($.dynamicChildren,Dt,V,ot,ut,St,mt),(I.key!=null||ot&&I===ot.subTree)&&p0($,I,!0)):Q($,I,V,$t,ot,ut,St,mt,ct)},G=($,I,V,J,ot,ut,St,mt,ct)=>{I.slotScopeIds=mt,$==null?I.shapeFlag&512?ot.ctx.activate(I,V,J,St,ct):z(I,V,J,ot,ut,St,ct):k($,I,ct)},z=($,I,V,J,ot,ut,St)=>{const mt=$.component=W_($,J,ot);if(Nc($)&&(mt.ctx.renderer=lt),U_(mt),mt.asyncDep){if(ot&&ot.registerDep(mt,F),!$.el){const ct=mt.subTree=Ft(Mn);T(null,ct,I,V)}return}F(mt,$,I,V,ot,ut,St)},k=($,I,V)=>{const J=I.component=$.component;if(G1($,I,V))if(J.asyncDep&&!J.asyncResolved){H(J,I,V);return}else J.next=I,q1(J.update),J.update();else I.el=$.el,J.vnode=I},F=($,I,V,J,ot,ut,St)=>{const mt=()=>{if($.isMounted){let{next:$t,bu:Nt,u:Dt,parent:Bt,vnode:Kt}=$,re=$t,oe;Ui($,!1),$t?($t.el=Kt.el,H($,$t,St)):$t=Kt,Nt&&Fa(Nt),(oe=$t.props&&$t.props.onVnodeBeforeUpdate)&&gr(oe,Bt,$t,Kt),Ui($,!0);const fe=Vu($),se=$.subTree;$.subTree=fe,A(se,fe,b(se.el),j(se),$,ot,ut),$t.el=fe.el,re===null&&Sh($,fe.el),Dt&&Cn(Dt,ot),(oe=$t.props&&$t.props.onVnodeUpdated)&&Cn(()=>gr(oe,Bt,$t,Kt),ot)}else{let $t;const{el:Nt,props:Dt}=I,{bm:Bt,m:Kt,parent:re}=$,oe=ll(I);if(Ui($,!1),Bt&&Fa(Bt),!oe&&($t=Dt&&Dt.onVnodeBeforeMount)&&gr($t,re,I),Ui($,!0),Nt&&Et){const fe=()=>{$.subTree=Vu($),Et(Nt,$.subTree,$,ot,null)};oe?I.type.__asyncLoader().then(()=>!$.isUnmounted&&fe()):fe()}else{const fe=$.subTree=Vu($);A(null,fe,V,J,$,ot,ut),I.el=fe.el}if(Kt&&Cn(Kt,ot),!oe&&($t=Dt&&Dt.onVnodeMounted)){const fe=I;Cn(()=>gr($t,re,fe),ot)}(I.shapeFlag&256||re&&ll(re.vnode)&&re.vnode.shapeFlag&256)&&$.a&&Cn($.a,ot),$.isMounted=!0,I=V=J=null}},ct=$.effect=new hh(mt,()=>_h(ft),$.scope),ft=$.update=()=>ct.run();ft.id=$.uid,Ui($,!0),ft()},H=($,I,V)=>{I.component=$;const J=$.vnode.props;$.vnode=I,$.next=null,M_($,I.props,J,V),O_($,I.children,V),ps(),mg(),gs()},Q=($,I,V,J,ot,ut,St,mt,ct=!1)=>{const ft=$&&$.children,$t=$?$.shapeFlag:0,Nt=I.children,{patchFlag:Dt,shapeFlag:Bt}=I;if(Dt>0){if(Dt&128){At(ft,Nt,V,J,ot,ut,St,mt,ct);return}else if(Dt&256){yt(ft,Nt,V,J,ot,ut,St,mt,ct);return}}Bt&8?($t&16&&Tt(ft,ot,ut),Nt!==ft&&v(V,Nt)):$t&16?Bt&16?At(ft,Nt,V,J,ot,ut,St,mt,ct):Tt(ft,ot,ut,!0):($t&8&&v(V,""),Bt&16&&Y(Nt,V,J,ot,ut,St,mt,ct))},yt=($,I,V,J,ot,ut,St,mt,ct)=>{$=$||Go,I=I||Go;const ft=$.length,$t=I.length,Nt=Math.min(ft,$t);let Dt;for(Dt=0;Dt$t?Tt($,ot,ut,!0,!1,Nt):Y(I,V,J,ot,ut,St,mt,ct,Nt)},At=($,I,V,J,ot,ut,St,mt,ct)=>{let ft=0;const $t=I.length;let Nt=$.length-1,Dt=$t-1;for(;ft<=Nt&&ft<=Dt;){const Bt=$[ft],Kt=I[ft]=ct?vi(I[ft]):rr(I[ft]);if(mr(Bt,Kt))A(Bt,Kt,V,null,ot,ut,St,mt,ct);else break;ft++}for(;ft<=Nt&&ft<=Dt;){const Bt=$[Nt],Kt=I[Dt]=ct?vi(I[Dt]):rr(I[Dt]);if(mr(Bt,Kt))A(Bt,Kt,V,null,ot,ut,St,mt,ct);else break;Nt--,Dt--}if(ft>Nt){if(ft<=Dt){const Bt=Dt+1,Kt=Bt<$t?I[Bt].el:J;for(;ft<=Dt;)A(null,I[ft]=ct?vi(I[ft]):rr(I[ft]),V,Kt,ot,ut,St,mt,ct),ft++}}else if(ft>Dt)for(;ft<=Nt;)Ht($[ft],ot,ut,!0),ft++;else{const Bt=ft,Kt=ft,re=new Map;for(ft=Kt;ft<=Dt;ft++){const Ae=I[ft]=ct?vi(I[ft]):rr(I[ft]);Ae.key!=null&&re.set(Ae.key,ft)}let oe,fe=0;const se=Dt-Kt+1;let rn=!1,Pn=0;const wn=new Array(se);for(ft=0;ft=se){Ht(Ae,ot,ut,!0);continue}let xn;if(Ae.key!=null)xn=re.get(Ae.key);else for(oe=Kt;oe<=Dt;oe++)if(wn[oe-Kt]===0&&mr(Ae,I[oe])){xn=oe;break}xn===void 0?Ht(Ae,ot,ut,!0):(wn[xn-Kt]=ft+1,xn>=Pn?Pn=xn:rn=!0,A(Ae,I[xn],V,null,ot,ut,St,mt,ct),fe++)}const cr=rn?z_(wn):Go;for(oe=cr.length-1,ft=se-1;ft>=0;ft--){const Ae=Kt+ft,xn=I[Ae],Yt=Ae+1<$t?I[Ae+1].el:J;wn[ft]===0?A(null,xn,V,Yt,ot,ut,St,mt,ct):rn&&(oe<0||ft!==cr[oe]?qt(xn,V,Yt,2):oe--)}}},qt=($,I,V,J,ot=null)=>{const{el:ut,type:St,transition:mt,children:ct,shapeFlag:ft}=$;if(ft&6){qt($.component.subTree,I,V,J);return}if(ft&128){$.suspense.move(I,V,J);return}if(ft&64){St.move($,I,V,lt);return}if(St===ne){o(ut,I,V);for(let Nt=0;Ntmt.enter(ut),ot);else{const{leave:Nt,delayLeave:Dt,afterLeave:Bt}=mt,Kt=()=>o(ut,I,V),re=()=>{Nt(ut,()=>{Kt(),Bt&&Bt()})};Dt?Dt(ut,Kt,re):re()}else o(ut,I,V)},Ht=($,I,V,J=!1,ot=!1)=>{const{type:ut,props:St,ref:mt,children:ct,dynamicChildren:ft,shapeFlag:$t,patchFlag:Nt,dirs:Dt}=$;if(mt!=null&&Af(mt,null,V,$,!0),$t&256){I.ctx.deactivate($);return}const Bt=$t&1&&Dt,Kt=!ll($);let re;if(Kt&&(re=St&&St.onVnodeBeforeUnmount)&&gr(re,I,$),$t&6)Gt($.component,V,J);else{if($t&128){$.suspense.unmount(V,J);return}Bt&&Wi($,null,I,"beforeUnmount"),$t&64?$.type.remove($,I,V,ot,lt,J):ft&&(ut!==ne||Nt>0&&Nt&64)?Tt(ft,I,V,!1,!0):(ut===ne&&Nt&384||!ot&&$t&16)&&Tt(ct,I,V),J&&Jt($)}(Kt&&(re=St&&St.onVnodeUnmounted)||Bt)&&Cn(()=>{re&&gr(re,I,$),Bt&&Wi($,null,I,"unmounted")},V)},Jt=$=>{const{type:I,el:V,anchor:J,transition:ot}=$;if(I===ne){Qt(V,J);return}if(I===Xu){E($);return}const ut=()=>{s(V),ot&&!ot.persisted&&ot.afterLeave&&ot.afterLeave()};if($.shapeFlag&1&&ot&&!ot.persisted){const{leave:St,delayLeave:mt}=ot,ct=()=>St(V,ut);mt?mt($.el,ut,ct):ct()}else ut()},Qt=($,I)=>{let V;for(;$!==I;)V=w($),s($),$=V;s(I)},Gt=($,I,V)=>{const{bum:J,scope:ot,update:ut,subTree:St,um:mt}=$;J&&Fa(J),ot.stop(),ut&&(ut.active=!1,Ht(St,$,I,V)),mt&&Cn(mt,I),Cn(()=>{$.isUnmounted=!0},I),I&&I.pendingBranch&&!I.isUnmounted&&$.asyncDep&&!$.asyncResolved&&$.suspenseId===I.pendingId&&(I.deps--,I.deps===0&&I.resolve())},Tt=($,I,V,J=!1,ot=!1,ut=0)=>{for(let St=ut;St<$.length;St++)Ht($[St],I,V,J,ot)},j=$=>$.shapeFlag&6?j($.component.subTree):$.shapeFlag&128?$.suspense.next():w($.anchor||$.el),rt=($,I,V)=>{$==null?I._vnode&&Ht(I._vnode,null,null,!0):A(I._vnode||null,$,I,null,null,null,V),mg(),Vm(),I._vnode=$},lt={p:A,um:Ht,m:qt,r:Jt,mt:z,mc:Y,pc:Q,pbc:at,n:j,o:t};let Mt,Et;return e&&([Mt,Et]=e(lt)),{render:rt,hydrate:Mt,createApp:L_(rt,Mt)}}function Ui({effect:t,update:e},r){t.allowRecurse=e.allowRecurse=r}function R_(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function p0(t,e,r=!1){const o=t.children,s=e.children;if(It(o)&&It(s))for(let u=0;u>1,t[r[h]]0&&(e[o]=r[u-1]),r[u]=o)}}for(u=r.length,f=r[u-1];u-- >0;)r[u]=f,f=e[f];return r}const I_=t=>t.__isTeleport,ne=Symbol.for("v-fgt"),Oc=Symbol.for("v-txt"),Mn=Symbol.for("v-cmt"),Xu=Symbol.for("v-stc"),cl=[];let Wn=null;function st(t=!1){cl.push(Wn=t?null:[])}function g0(){cl.pop(),Wn=cl[cl.length-1]||null}let is=1;function Ag(t){is+=t}function v0(t){return t.dynamicChildren=is>0?Wn||Go:null,g0(),is>0&&Wn&&Wn.push(t),t}function kt(t,e,r,o,s,u){return v0(tt(t,e,r,o,s,u,!0))}function te(t,e,r,o,s){return v0(Ft(t,e,r,o,s,!0))}function yl(t){return t?t.__v_isVNode===!0:!1}function mr(t,e){return t.type===e.type&&t.key===e.key}const Dc="__vInternal",m0=({key:t})=>t??null,Ha=({ref:t,ref_key:e,ref_for:r})=>(typeof t=="number"&&(t=""+t),t!=null?Ie(t)||Le(t)||jt(t)?{i:Qe,r:t,k:e,f:!!r}:t:null);function tt(t,e=null,r=null,o=0,s=null,u=t===ne?0:1,f=!1,h=!1){const d={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&m0(e),ref:e&&Ha(e),scopeId:Mc,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:u,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Qe};return h?(Mh(d,r),u&128&&t.normalize(d)):r&&(d.shapeFlag|=Ie(r)?8:16),is>0&&!f&&Wn&&(d.patchFlag>0||u&6)&&d.patchFlag!==32&&Wn.push(d),d}const Ft=F_;function F_(t,e=null,r=null,o=0,s=null,u=!1){if((!t||t===X1)&&(t=Mn),yl(t)){const h=Ei(t,e,!0);return r&&Mh(h,r),is>0&&!u&&Wn&&(h.shapeFlag&6?Wn[Wn.indexOf(t)]=h:Wn.push(h)),h.patchFlag|=-2,h}if(K_(t)&&(t=t.__vccOpts),e){e=q_(e);let{class:h,style:d}=e;h&&!Ie(h)&&(e.class=ve(h)),ye(d)&&(qm(d)&&!It(d)&&(d=ze({},d)),e.style=An(d))}const f=Ie(t)?1:Y1(t)?128:I_(t)?64:ye(t)?4:jt(t)?2:0;return tt(t,e,r,o,s,f,u,!0)}function q_(t){return t?qm(t)||Dc in t?ze({},t):t:null}function Ei(t,e,r=!1){const{props:o,ref:s,patchFlag:u,children:f}=t,h=e?Ci(o||{},e):o;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:h,key:h&&m0(h),ref:e&&e.ref?r&&s?It(s)?s.concat(Ha(e)):[s,Ha(e)]:Ha(e):s,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:f,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==ne?u===-1?16:u|16:u,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Ei(t.ssContent),ssFallback:t.ssFallback&&Ei(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce}}function me(t=" ",e=0){return Ft(Oc,null,t,e)}function Vt(t="",e=!1){return e?(st(),te(Mn,null,t)):Ft(Mn,null,t)}function rr(t){return t==null||typeof t=="boolean"?Ft(Mn):It(t)?Ft(ne,null,t.slice()):typeof t=="object"?vi(t):Ft(Oc,null,String(t))}function vi(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Ei(t)}function Mh(t,e){let r=0;const{shapeFlag:o}=t;if(e==null)e=null;else if(It(e))r=16;else if(typeof e=="object")if(o&65){const s=e.default;s&&(s._c&&(s._d=!1),Mh(t,s()),s._c&&(s._d=!0));return}else{r=32;const s=e._;!s&&!(Dc in e)?e._ctx=Qe:s===3&&Qe&&(Qe.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else jt(e)?(e={default:e,_ctx:Qe},r=32):(e=String(e),o&64?(r=16,e=[me(e)]):r=8);t.children=e,t.shapeFlag|=r}function Ci(...t){const e={};for(let r=0;rGe||Qe;let Nh,qo,Mg="__VUE_INSTANCE_SETTERS__";(qo=vf()[Mg])||(qo=vf()[Mg]=[]),qo.push(t=>Ge=t),Nh=t=>{qo.length>1?qo.forEach(e=>e(t)):qo[0](t)};const os=t=>{Nh(t),t.scope.on()},to=()=>{Ge&&Ge.scope.off(),Nh(null)};function y0(t){return t.vnode.shapeFlag&4}let bl=!1;function U_(t,e=!1){bl=e;const{props:r,children:o}=t.vnode,s=y0(t);A_(t,r,s,e),P_(t,o);const u=s?j_(t,e):void 0;return bl=!1,u}function j_(t,e){const r=t.type;t.accessCache=Object.create(null),t.proxy=vh(new Proxy(t.ctx,b_));const{setup:o}=r;if(o){const s=t.setupContext=o.length>1?w0(t):null;os(t),ps();const u=ki(o,t,0,[t.props,s]);if(gs(),to(),_m(u)){if(u.then(to,to),e)return u.then(f=>{Mf(t,f,e)}).catch(f=>{Nl(f,t,0)});t.asyncDep=u}else Mf(t,u,e)}else b0(t,e)}function Mf(t,e,r){jt(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:ye(e)&&(t.setupState=Bm(e)),b0(t,r)}let Ng;function b0(t,e,r){const o=t.type;if(!t.render){if(!e&&Ng&&!o.render){const s=o.template||Lh(t).template;if(s){const{isCustomElement:u,compilerOptions:f}=t.appContext.config,{delimiters:h,compilerOptions:d}=o,g=ze(ze({isCustomElement:u,delimiters:h},f),d);o.render=Ng(s,g)}}t.render=o.render||wr}{os(t),ps();try{__(t)}finally{gs(),to()}}}function V_(t){return t.attrsProxy||(t.attrsProxy=new Proxy(t.attrs,{get(e,r){return Nn(t,"get","$attrs"),e[r]}}))}function w0(t){const e=r=>{t.exposed=r||{}};return{get attrs(){return V_(t)},slots:t.slots,emit:t.emit,expose:e}}function $c(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy(Bm(vh(t.exposed)),{get(e,r){if(r in e)return e[r];if(r in al)return al[r](t)},has(e,r){return r in e||r in al}}))}function G_(t,e=!0){return jt(t)?t.displayName||t.name:t.name||e&&t.__name}function K_(t){return jt(t)&&"__vccOpts"in t}const xt=(t,e)=>z1(t,e,bl);function Ol(t,e,r){const o=arguments.length;return o===2?ye(e)&&!It(e)?yl(e)?Ft(t,null,[e]):Ft(t,e):Ft(t,null,e):(o>3?r=Array.prototype.slice.call(arguments,2):o===3&&yl(r)&&(r=[r]),Ft(t,e,r))}const X_=Symbol.for("v-scx"),Y_=()=>qr(X_),Z_="3.3.8",Q_="http://www.w3.org/2000/svg",Xi=typeof document<"u"?document:null,Pg=Xi&&Xi.createElement("template"),J_={insert:(t,e,r)=>{e.insertBefore(t,r||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,r,o)=>{const s=e?Xi.createElementNS(Q_,t):Xi.createElement(t,r?{is:r}:void 0);return t==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:t=>Xi.createTextNode(t),createComment:t=>Xi.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>Xi.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,r,o,s,u){const f=r?r.previousSibling:e.lastChild;if(s&&(s===u||s.nextSibling))for(;e.insertBefore(s.cloneNode(!0),r),!(s===u||!(s=s.nextSibling)););else{Pg.innerHTML=o?`${t}`:t;const h=Pg.content;if(o){const d=h.firstChild;for(;d.firstChild;)h.appendChild(d.firstChild);h.removeChild(d)}e.insertBefore(h,r)}return[f?f.nextSibling:e.firstChild,r?r.previousSibling:e.lastChild]}},fi="transition",Zs="animation",wl=Symbol("_vtc"),Ph=(t,{slots:e})=>Ol(a_,tS(t),e);Ph.displayName="Transition";const x0={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Ph.props=ze({},t0,x0);const ji=(t,e=[])=>{It(t)?t.forEach(r=>r(...e)):t&&t(...e)},Og=t=>t?It(t)?t.some(e=>e.length>1):t.length>1:!1;function tS(t){const e={};for(const gt in t)gt in x0||(e[gt]=t[gt]);if(t.css===!1)return e;const{name:r="v",type:o,duration:s,enterFromClass:u=`${r}-enter-from`,enterActiveClass:f=`${r}-enter-active`,enterToClass:h=`${r}-enter-to`,appearFromClass:d=u,appearActiveClass:g=f,appearToClass:v=h,leaveFromClass:b=`${r}-leave-from`,leaveActiveClass:w=`${r}-leave-active`,leaveToClass:S=`${r}-leave-to`}=t,P=eS(s),A=P&&P[0],L=P&&P[1],{onBeforeEnter:T,onEnter:M,onEnterCancelled:R,onLeave:E,onLeaveCancelled:B,onBeforeAppear:K=T,onAppear:ht=M,onAppearCancelled:Y=R}=e,nt=(gt,G,z)=>{Vi(gt,G?v:h),Vi(gt,G?g:f),z&&z()},at=(gt,G)=>{gt._isLeaving=!1,Vi(gt,b),Vi(gt,S),Vi(gt,w),G&&G()},pt=gt=>(G,z)=>{const k=gt?ht:M,F=()=>nt(G,gt,z);ji(k,[G,F]),Dg(()=>{Vi(G,gt?d:u),hi(G,gt?v:h),Og(k)||$g(G,o,A,F)})};return ze(e,{onBeforeEnter(gt){ji(T,[gt]),hi(gt,u),hi(gt,f)},onBeforeAppear(gt){ji(K,[gt]),hi(gt,d),hi(gt,g)},onEnter:pt(!1),onAppear:pt(!0),onLeave(gt,G){gt._isLeaving=!0;const z=()=>at(gt,G);hi(gt,b),iS(),hi(gt,w),Dg(()=>{gt._isLeaving&&(Vi(gt,b),hi(gt,S),Og(E)||$g(gt,o,L,z))}),ji(E,[gt,z])},onEnterCancelled(gt){nt(gt,!1),ji(R,[gt])},onAppearCancelled(gt){nt(gt,!0),ji(Y,[gt])},onLeaveCancelled(gt){at(gt),ji(B,[gt])}})}function eS(t){if(t==null)return null;if(ye(t))return[Yu(t.enter),Yu(t.leave)];{const e=Yu(t);return[e,e]}}function Yu(t){return Cm(t)}function hi(t,e){e.split(/\s+/).forEach(r=>r&&t.classList.add(r)),(t[wl]||(t[wl]=new Set)).add(e)}function Vi(t,e){e.split(/\s+/).forEach(o=>o&&t.classList.remove(o));const r=t[wl];r&&(r.delete(e),r.size||(t[wl]=void 0))}function Dg(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let nS=0;function $g(t,e,r,o){const s=t._endId=++nS,u=()=>{s===t._endId&&o()};if(r)return setTimeout(u,r);const{type:f,timeout:h,propCount:d}=rS(t,e);if(!f)return o();const g=f+"end";let v=0;const b=()=>{t.removeEventListener(g,w),u()},w=S=>{S.target===t&&++v>=d&&b()};setTimeout(()=>{v(r[P]||"").split(", "),s=o(`${fi}Delay`),u=o(`${fi}Duration`),f=Rg(s,u),h=o(`${Zs}Delay`),d=o(`${Zs}Duration`),g=Rg(h,d);let v=null,b=0,w=0;e===fi?f>0&&(v=fi,b=f,w=u.length):e===Zs?g>0&&(v=Zs,b=g,w=d.length):(b=Math.max(f,g),v=b>0?f>g?fi:Zs:null,w=v?v===fi?u.length:d.length:0);const S=v===fi&&/\b(transform|all)(,|$)/.test(o(`${fi}Property`).toString());return{type:v,timeout:b,propCount:w,hasTransform:S}}function Rg(t,e){for(;t.lengthzg(r)+zg(t[o])))}function zg(t){return t==="auto"?0:Number(t.slice(0,-1).replace(",","."))*1e3}function iS(){return document.body.offsetHeight}function oS(t,e,r){const o=t[wl];o&&(e=(e?[e,...o]:[...o]).join(" ")),e==null?t.removeAttribute("class"):r?t.setAttribute("class",e):t.className=e}const Oh=Symbol("_vod"),Nf={beforeMount(t,{value:e},{transition:r}){t[Oh]=t.style.display==="none"?"":t.style.display,r&&e?r.beforeEnter(t):Qs(t,e)},mounted(t,{value:e},{transition:r}){r&&e&&r.enter(t)},updated(t,{value:e,oldValue:r},{transition:o}){!e!=!r&&(o?e?(o.beforeEnter(t),Qs(t,!0),o.enter(t)):o.leave(t,()=>{Qs(t,!1)}):Qs(t,e))},beforeUnmount(t,{value:e}){Qs(t,e)}};function Qs(t,e){t.style.display=e?t[Oh]:"none"}function sS(t,e,r){const o=t.style,s=Ie(r);if(r&&!s){if(e&&!Ie(e))for(const u in e)r[u]==null&&Pf(o,u,"");for(const u in r)Pf(o,u,r[u])}else{const u=o.display;s?e!==r&&(o.cssText=r):e&&t.removeAttribute("style"),Oh in t&&(o.display=u)}}const Ig=/\s*!important$/;function Pf(t,e,r){if(It(r))r.forEach(o=>Pf(t,e,o));else if(r==null&&(r=""),e.startsWith("--"))t.setProperty(e,r);else{const o=lS(t,e);Ig.test(r)?t.setProperty(co(o),r.replace(Ig,""),"important"):t[o]=r}}const Fg=["Webkit","Moz","ms"],Zu={};function lS(t,e){const r=Zu[e];if(r)return r;let o=_r(e);if(o!=="filter"&&o in t)return Zu[e]=o;o=Tc(o);for(let s=0;sQu||(dS.then(()=>Qu=0),Qu=Date.now());function gS(t,e){const r=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=r.attached)return;jn(vS(o,r.value),e,5,[o])};return r.value=t,r.attached=pS(),r}function vS(t,e){if(It(e)){const r=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{r.call(t),t._stopped=!0},e.map(o=>s=>!s._stopped&&o&&o(s))}else return e}const Wg=/^on[a-z]/,mS=(t,e,r,o,s=!1,u,f,h,d)=>{e==="class"?oS(t,o,s):e==="style"?sS(t,r,o):_c(e)?ah(e)||fS(t,e,r,o,f):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):yS(t,e,o,s))?cS(t,e,o,u,f,h,d):(e==="true-value"?t._trueValue=o:e==="false-value"&&(t._falseValue=o),aS(t,e,o,s))};function yS(t,e,r,o){return o?!!(e==="innerHTML"||e==="textContent"||e in t&&Wg.test(e)&&jt(r)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA"||Wg.test(e)&&Ie(r)?!1:e in t}const Ug=t=>{const e=t.props["onUpdate:modelValue"]||!1;return It(e)?r=>Fa(e,r):e};function bS(t){t.target.composing=!0}function jg(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const Ju=Symbol("_assign"),wS={created(t,{modifiers:{lazy:e,trim:r,number:o}},s){t[Ju]=Ug(s);const u=o||s.props&&s.props.type==="number";Bo(t,e?"change":"input",f=>{if(f.target.composing)return;let h=t.value;r&&(h=h.trim()),u&&(h=gf(h)),t[Ju](h)}),r&&Bo(t,"change",()=>{t.value=t.value.trim()}),e||(Bo(t,"compositionstart",bS),Bo(t,"compositionend",jg),Bo(t,"change",jg))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,modifiers:{lazy:r,trim:o,number:s}},u){if(t[Ju]=Ug(u),t.composing||document.activeElement===t&&t.type!=="range"&&(r||o&&t.value.trim()===e||(s||t.type==="number")&&gf(t.value)===e))return;const f=e??"";t.value!==f&&(t.value=f)}},xS={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Of=(t,e)=>r=>{if(!("key"in r))return;const o=co(r.key);if(e.some(s=>s===o||xS[s]===o))return t(r)},_S=ze({patchProp:mS},J_);let Vg;function SS(){return Vg||(Vg=D_(_S))}const _0=(...t)=>{const e=SS().createApp(...t),{mount:r}=e;return e.mount=o=>{const s=kS(o);if(!s)return;const u=e._component;!jt(u)&&!u.render&&!u.template&&(u.template=s.innerHTML),s.innerHTML="";const f=r(s,!1,s instanceof SVGElement);return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),f},e};function kS(t){return Ie(t)?document.querySelector(t):t}const fo=(t,e)=>{const r=t.__vccOpts||t;for(const[o,s]of e)r[o]=s;return r},CS={};function TS(t,e){const r=io("RouterView");return st(),te(r)}const ES=fo(CS,[["render",TS]]);/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const Wo=typeof window<"u";function LS(t){return t.__esModule||t[Symbol.toStringTag]==="Module"}const pe=Object.assign;function tf(t,e){const r={};for(const o in e){const s=e[o];r[o]=lr(s)?s.map(t):t(s)}return r}const ul=()=>{},lr=Array.isArray,AS=/\/$/,MS=t=>t.replace(AS,"");function ef(t,e,r="/"){let o,s={},u="",f="";const h=e.indexOf("#");let d=e.indexOf("?");return h=0&&(d=-1),d>-1&&(o=e.slice(0,d),u=e.slice(d+1,h>-1?h:e.length),s=t(u)),h>-1&&(o=o||e.slice(0,h),f=e.slice(h,e.length)),o=DS(o??e,r),{fullPath:o+(u&&"?")+u+f,path:o,query:s,hash:f}}function NS(t,e){const r=e.query?t(e.query):"";return e.path+(r&&"?")+r+(e.hash||"")}function Gg(t,e){return!e||!t.toLowerCase().startsWith(e.toLowerCase())?t:t.slice(e.length)||"/"}function PS(t,e,r){const o=e.matched.length-1,s=r.matched.length-1;return o>-1&&o===s&&ss(e.matched[o],r.matched[s])&&S0(e.params,r.params)&&t(e.query)===t(r.query)&&e.hash===r.hash}function ss(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function S0(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const r in t)if(!OS(t[r],e[r]))return!1;return!0}function OS(t,e){return lr(t)?Kg(t,e):lr(e)?Kg(e,t):t===e}function Kg(t,e){return lr(e)?t.length===e.length&&t.every((r,o)=>r===e[o]):t.length===1&&t[0]===e}function DS(t,e){if(t.startsWith("/"))return t;if(!t)return e;const r=e.split("/"),o=t.split("/"),s=o[o.length-1];(s===".."||s===".")&&o.push("");let u=r.length-1,f,h;for(f=0;f1&&u--;else break;return r.slice(0,u).join("/")+"/"+o.slice(f-(f===o.length?1:0)).join("/")}var xl;(function(t){t.pop="pop",t.push="push"})(xl||(xl={}));var fl;(function(t){t.back="back",t.forward="forward",t.unknown=""})(fl||(fl={}));function $S(t){if(!t)if(Wo){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),MS(t)}const RS=/^[^#]+#/;function zS(t,e){return t.replace(RS,"#")+e}function IS(t,e){const r=document.documentElement.getBoundingClientRect(),o=t.getBoundingClientRect();return{behavior:e.behavior,left:o.left-r.left-(e.left||0),top:o.top-r.top-(e.top||0)}}const Rc=()=>({left:window.pageXOffset,top:window.pageYOffset});function FS(t){let e;if("el"in t){const r=t.el,o=typeof r=="string"&&r.startsWith("#"),s=typeof r=="string"?o?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!s)return;e=IS(s,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.pageXOffset,e.top!=null?e.top:window.pageYOffset)}function Xg(t,e){return(history.state?history.state.position-e:-1)+t}const Df=new Map;function qS(t,e){Df.set(t,e)}function HS(t){const e=Df.get(t);return Df.delete(t),e}let BS=()=>location.protocol+"//"+location.host;function k0(t,e){const{pathname:r,search:o,hash:s}=e,u=t.indexOf("#");if(u>-1){let h=s.includes(t.slice(u))?t.slice(u).length:1,d=s.slice(h);return d[0]!=="/"&&(d="/"+d),Gg(d,"")}return Gg(r,t)+o+s}function WS(t,e,r,o){let s=[],u=[],f=null;const h=({state:w})=>{const S=k0(t,location),P=r.value,A=e.value;let L=0;if(w){if(r.value=S,e.value=w,f&&f===P){f=null;return}L=A?w.position-A.position:0}else o(S);s.forEach(T=>{T(r.value,P,{delta:L,type:xl.pop,direction:L?L>0?fl.forward:fl.back:fl.unknown})})};function d(){f=r.value}function g(w){s.push(w);const S=()=>{const P=s.indexOf(w);P>-1&&s.splice(P,1)};return u.push(S),S}function v(){const{history:w}=window;w.state&&w.replaceState(pe({},w.state,{scroll:Rc()}),"")}function b(){for(const w of u)w();u=[],window.removeEventListener("popstate",h),window.removeEventListener("beforeunload",v)}return window.addEventListener("popstate",h),window.addEventListener("beforeunload",v,{passive:!0}),{pauseListeners:d,listen:g,destroy:b}}function Yg(t,e,r,o=!1,s=!1){return{back:t,current:e,forward:r,replaced:o,position:window.history.length,scroll:s?Rc():null}}function US(t){const{history:e,location:r}=window,o={value:k0(t,r)},s={value:e.state};s.value||u(o.value,{back:null,current:o.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function u(d,g,v){const b=t.indexOf("#"),w=b>-1?(r.host&&document.querySelector("base")?t:t.slice(b))+d:BS()+t+d;try{e[v?"replaceState":"pushState"](g,"",w),s.value=g}catch(S){console.error(S),r[v?"replace":"assign"](w)}}function f(d,g){const v=pe({},e.state,Yg(s.value.back,d,s.value.forward,!0),g,{position:s.value.position});u(d,v,!0),o.value=d}function h(d,g){const v=pe({},s.value,e.state,{forward:d,scroll:Rc()});u(v.current,v,!0);const b=pe({},Yg(o.value,d,null),{position:v.position+1},g);u(d,b,!1),o.value=d}return{location:o,state:s,push:h,replace:f}}function jS(t){t=$S(t);const e=US(t),r=WS(t,e.state,e.location,e.replace);function o(u,f=!0){f||r.pauseListeners(),history.go(u)}const s=pe({location:"",base:t,go:o,createHref:zS.bind(null,t)},e,r);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>e.state.value}),s}function VS(t){return t=location.host?t||location.pathname+location.search:"",t.includes("#")||(t+="#"),jS(t)}function GS(t){return typeof t=="string"||t&&typeof t=="object"}function C0(t){return typeof t=="string"||typeof t=="symbol"}const di={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},T0=Symbol("");var Zg;(function(t){t[t.aborted=4]="aborted",t[t.cancelled=8]="cancelled",t[t.duplicated=16]="duplicated"})(Zg||(Zg={}));function ls(t,e){return pe(new Error,{type:t,[T0]:!0},e)}function Or(t,e){return t instanceof Error&&T0 in t&&(e==null||!!(t.type&e))}const Qg="[^/]+?",KS={sensitive:!1,strict:!1,start:!0,end:!0},XS=/[.+*?^${}()[\]/\\]/g;function YS(t,e){const r=pe({},KS,e),o=[];let s=r.start?"^":"";const u=[];for(const g of t){const v=g.length?[]:[90];r.strict&&!g.length&&(s+="/");for(let b=0;be.length?e.length===1&&e[0]===40+40?1:-1:0}function QS(t,e){let r=0;const o=t.score,s=e.score;for(;r0&&e[e.length-1]<0}const JS={type:0,value:""},tk=/[a-zA-Z0-9_]/;function ek(t){if(!t)return[[]];if(t==="/")return[[JS]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(S){throw new Error(`ERR (${r})/"${g}": ${S}`)}let r=0,o=r;const s=[];let u;function f(){u&&s.push(u),u=[]}let h=0,d,g="",v="";function b(){g&&(r===0?u.push({type:0,value:g}):r===1||r===2||r===3?(u.length>1&&(d==="*"||d==="+")&&e(`A repeatable param (${g}) must be alone in its segment. eg: '/:ids+.`),u.push({type:1,value:g,regexp:v,repeatable:d==="*"||d==="+",optional:d==="*"||d==="?"})):e("Invalid state to consume buffer"),g="")}function w(){g+=d}for(;h{f(M)}:ul}function f(v){if(C0(v)){const b=o.get(v);b&&(o.delete(v),r.splice(r.indexOf(b),1),b.children.forEach(f),b.alias.forEach(f))}else{const b=r.indexOf(v);b>-1&&(r.splice(b,1),v.record.name&&o.delete(v.record.name),v.children.forEach(f),v.alias.forEach(f))}}function h(){return r}function d(v){let b=0;for(;b=0&&(v.record.path!==r[b].record.path||!E0(v,r[b]));)b++;r.splice(b,0,v),v.record.name&&!ev(v)&&o.set(v.record.name,v)}function g(v,b){let w,S={},P,A;if("name"in v&&v.name){if(w=o.get(v.name),!w)throw ls(1,{location:v});A=w.record.name,S=pe(tv(b.params,w.keys.filter(M=>!M.optional).map(M=>M.name)),v.params&&tv(v.params,w.keys.map(M=>M.name))),P=w.stringify(S)}else if("path"in v)P=v.path,w=r.find(M=>M.re.test(P)),w&&(S=w.parse(P),A=w.record.name);else{if(w=b.name?o.get(b.name):r.find(M=>M.re.test(b.path)),!w)throw ls(1,{location:v,currentLocation:b});A=w.record.name,S=pe({},b.params,v.params),P=w.stringify(S)}const L=[];let T=w;for(;T;)L.unshift(T.record),T=T.parent;return{name:A,path:P,params:S,matched:L,meta:sk(L)}}return t.forEach(v=>u(v)),{addRoute:u,resolve:g,removeRoute:f,getRoutes:h,getRecordMatcher:s}}function tv(t,e){const r={};for(const o of e)o in t&&(r[o]=t[o]);return r}function ik(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:ok(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}}}function ok(t){const e={},r=t.props||!1;if("component"in t)e.default=r;else for(const o in t.components)e[o]=typeof r=="object"?r[o]:r;return e}function ev(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function sk(t){return t.reduce((e,r)=>pe(e,r.meta),{})}function nv(t,e){const r={};for(const o in t)r[o]=o in e?e[o]:t[o];return r}function E0(t,e){return e.children.some(r=>r===t||E0(t,r))}const L0=/#/g,lk=/&/g,ak=/\//g,ck=/=/g,uk=/\?/g,A0=/\+/g,fk=/%5B/g,hk=/%5D/g,M0=/%5E/g,dk=/%60/g,N0=/%7B/g,pk=/%7C/g,P0=/%7D/g,gk=/%20/g;function Dh(t){return encodeURI(""+t).replace(pk,"|").replace(fk,"[").replace(hk,"]")}function vk(t){return Dh(t).replace(N0,"{").replace(P0,"}").replace(M0,"^")}function $f(t){return Dh(t).replace(A0,"%2B").replace(gk,"+").replace(L0,"%23").replace(lk,"%26").replace(dk,"`").replace(N0,"{").replace(P0,"}").replace(M0,"^")}function mk(t){return $f(t).replace(ck,"%3D")}function yk(t){return Dh(t).replace(L0,"%23").replace(uk,"%3F")}function bk(t){return t==null?"":yk(t).replace(ak,"%2F")}function ic(t){try{return decodeURIComponent(""+t)}catch{}return""+t}function wk(t){const e={};if(t===""||t==="?")return e;const o=(t[0]==="?"?t.slice(1):t).split("&");for(let s=0;su&&$f(u)):[o&&$f(o)]).forEach(u=>{u!==void 0&&(e+=(e.length?"&":"")+r,u!=null&&(e+="="+u))})}return e}function xk(t){const e={};for(const r in t){const o=t[r];o!==void 0&&(e[r]=lr(o)?o.map(s=>s==null?null:""+s):o==null?o:""+o)}return e}const _k=Symbol(""),iv=Symbol(""),$h=Symbol(""),O0=Symbol(""),Rf=Symbol("");function Js(){let t=[];function e(o){return t.push(o),()=>{const s=t.indexOf(o);s>-1&&t.splice(s,1)}}function r(){t=[]}return{add:e,list:()=>t.slice(),reset:r}}function mi(t,e,r,o,s){const u=o&&(o.enterCallbacks[s]=o.enterCallbacks[s]||[]);return()=>new Promise((f,h)=>{const d=b=>{b===!1?h(ls(4,{from:r,to:e})):b instanceof Error?h(b):GS(b)?h(ls(2,{from:e,to:b})):(u&&o.enterCallbacks[s]===u&&typeof b=="function"&&u.push(b),f())},g=t.call(o&&o.instances[s],e,r,d);let v=Promise.resolve(g);t.length<3&&(v=v.then(d)),v.catch(b=>h(b))})}function nf(t,e,r,o){const s=[];for(const u of t)for(const f in u.components){let h=u.components[f];if(!(e!=="beforeRouteEnter"&&!u.instances[f]))if(Sk(h)){const g=(h.__vccOpts||h)[e];g&&s.push(mi(g,r,o,u,f))}else{let d=h();s.push(()=>d.then(g=>{if(!g)return Promise.reject(new Error(`Couldn't resolve component "${f}" at "${u.path}"`));const v=LS(g)?g.default:g;u.components[f]=v;const w=(v.__vccOpts||v)[e];return w&&mi(w,r,o,u,f)()}))}}return s}function Sk(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}function ov(t){const e=qr($h),r=qr(O0),o=xt(()=>e.resolve(U(t.to))),s=xt(()=>{const{matched:d}=o.value,{length:g}=d,v=d[g-1],b=r.matched;if(!v||!b.length)return-1;const w=b.findIndex(ss.bind(null,v));if(w>-1)return w;const S=sv(d[g-2]);return g>1&&sv(v)===S&&b[b.length-1].path!==S?b.findIndex(ss.bind(null,d[g-2])):w}),u=xt(()=>s.value>-1&&Ek(r.params,o.value.params)),f=xt(()=>s.value>-1&&s.value===r.matched.length-1&&S0(r.params,o.value.params));function h(d={}){return Tk(d)?e[U(t.replace)?"replace":"push"](U(t.to)).catch(ul):Promise.resolve()}return{route:o,href:xt(()=>o.value.href),isActive:u,isExactActive:f,navigate:h}}const kk=ie({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:ov,setup(t,{slots:e}){const r=Un(ov(t)),{options:o}=qr($h),s=xt(()=>({[lv(t.activeClass,o.linkActiveClass,"router-link-active")]:r.isActive,[lv(t.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const u=e.default&&e.default(r);return t.custom?u:Ol("a",{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:s.value},u)}}}),Ck=kk;function Tk(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&!(t.button!==void 0&&t.button!==0)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Ek(t,e){for(const r in e){const o=e[r],s=t[r];if(typeof o=="string"){if(o!==s)return!1}else if(!lr(s)||s.length!==o.length||o.some((u,f)=>u!==s[f]))return!1}return!0}function sv(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const lv=(t,e,r)=>t??e??r,Lk=ie({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:r}){const o=qr(Rf),s=xt(()=>t.route||o.value),u=qr(iv,0),f=xt(()=>{let g=U(u);const{matched:v}=s.value;let b;for(;(b=v[g])&&!b.components;)g++;return g}),h=xt(()=>s.value.matched[f.value]);qa(iv,xt(()=>f.value+1)),qa(_k,h),qa(Rf,s);const d=Zt();return Re(()=>[d.value,h.value,t.name],([g,v,b],[w,S,P])=>{v&&(v.instances[b]=g,S&&S!==v&&g&&g===w&&(v.leaveGuards.size||(v.leaveGuards=S.leaveGuards),v.updateGuards.size||(v.updateGuards=S.updateGuards))),g&&v&&(!S||!ss(v,S)||!w)&&(v.enterCallbacks[b]||[]).forEach(A=>A(g))},{flush:"post"}),()=>{const g=s.value,v=t.name,b=h.value,w=b&&b.components[v];if(!w)return av(r.default,{Component:w,route:g});const S=b.props[v],P=S?S===!0?g.params:typeof S=="function"?S(g):S:null,L=Ol(w,pe({},P,e,{onVnodeUnmounted:T=>{T.component.isUnmounted&&(b.instances[v]=null)},ref:d}));return av(r.default,{Component:L,route:g})||L}}});function av(t,e){if(!t)return null;const r=t(e);return r.length===1?r[0]:r}const Ak=Lk;function Mk(t){const e=rk(t.routes,t),r=t.parseQuery||wk,o=t.stringifyQuery||rv,s=t.history,u=Js(),f=Js(),h=Js(),d=vs(di);let g=di;Wo&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const v=tf.bind(null,j=>""+j),b=tf.bind(null,bk),w=tf.bind(null,ic);function S(j,rt){let lt,Mt;return C0(j)?(lt=e.getRecordMatcher(j),Mt=rt):Mt=j,e.addRoute(Mt,lt)}function P(j){const rt=e.getRecordMatcher(j);rt&&e.removeRoute(rt)}function A(){return e.getRoutes().map(j=>j.record)}function L(j){return!!e.getRecordMatcher(j)}function T(j,rt){if(rt=pe({},rt||d.value),typeof j=="string"){const V=ef(r,j,rt.path),J=e.resolve({path:V.path},rt),ot=s.createHref(V.fullPath);return pe(V,J,{params:w(J.params),hash:ic(V.hash),redirectedFrom:void 0,href:ot})}let lt;if("path"in j)lt=pe({},j,{path:ef(r,j.path,rt.path).path});else{const V=pe({},j.params);for(const J in V)V[J]==null&&delete V[J];lt=pe({},j,{params:b(V)}),rt.params=b(rt.params)}const Mt=e.resolve(lt,rt),Et=j.hash||"";Mt.params=v(w(Mt.params));const $=NS(o,pe({},j,{hash:vk(Et),path:Mt.path})),I=s.createHref($);return pe({fullPath:$,hash:Et,query:o===rv?xk(j.query):j.query||{}},Mt,{redirectedFrom:void 0,href:I})}function M(j){return typeof j=="string"?ef(r,j,d.value.path):pe({},j)}function R(j,rt){if(g!==j)return ls(8,{from:rt,to:j})}function E(j){return ht(j)}function B(j){return E(pe(M(j),{replace:!0}))}function K(j){const rt=j.matched[j.matched.length-1];if(rt&&rt.redirect){const{redirect:lt}=rt;let Mt=typeof lt=="function"?lt(j):lt;return typeof Mt=="string"&&(Mt=Mt.includes("?")||Mt.includes("#")?Mt=M(Mt):{path:Mt},Mt.params={}),pe({query:j.query,hash:j.hash,params:"path"in Mt?{}:j.params},Mt)}}function ht(j,rt){const lt=g=T(j),Mt=d.value,Et=j.state,$=j.force,I=j.replace===!0,V=K(lt);if(V)return ht(pe(M(V),{state:typeof V=="object"?pe({},Et,V.state):Et,force:$,replace:I}),rt||lt);const J=lt;J.redirectedFrom=rt;let ot;return!$&&PS(o,Mt,lt)&&(ot=ls(16,{to:J,from:Mt}),qt(Mt,Mt,!0,!1)),(ot?Promise.resolve(ot):at(J,Mt)).catch(ut=>Or(ut)?Or(ut,2)?ut:At(ut):Q(ut,J,Mt)).then(ut=>{if(ut){if(Or(ut,2))return ht(pe({replace:I},M(ut.to),{state:typeof ut.to=="object"?pe({},Et,ut.to.state):Et,force:$}),rt||J)}else ut=gt(J,Mt,!0,I,Et);return pt(J,Mt,ut),ut})}function Y(j,rt){const lt=R(j,rt);return lt?Promise.reject(lt):Promise.resolve()}function nt(j){const rt=Qt.values().next().value;return rt&&typeof rt.runWithContext=="function"?rt.runWithContext(j):j()}function at(j,rt){let lt;const[Mt,Et,$]=Nk(j,rt);lt=nf(Mt.reverse(),"beforeRouteLeave",j,rt);for(const V of Mt)V.leaveGuards.forEach(J=>{lt.push(mi(J,j,rt))});const I=Y.bind(null,j,rt);return lt.push(I),Tt(lt).then(()=>{lt=[];for(const V of u.list())lt.push(mi(V,j,rt));return lt.push(I),Tt(lt)}).then(()=>{lt=nf(Et,"beforeRouteUpdate",j,rt);for(const V of Et)V.updateGuards.forEach(J=>{lt.push(mi(J,j,rt))});return lt.push(I),Tt(lt)}).then(()=>{lt=[];for(const V of $)if(V.beforeEnter)if(lr(V.beforeEnter))for(const J of V.beforeEnter)lt.push(mi(J,j,rt));else lt.push(mi(V.beforeEnter,j,rt));return lt.push(I),Tt(lt)}).then(()=>(j.matched.forEach(V=>V.enterCallbacks={}),lt=nf($,"beforeRouteEnter",j,rt),lt.push(I),Tt(lt))).then(()=>{lt=[];for(const V of f.list())lt.push(mi(V,j,rt));return lt.push(I),Tt(lt)}).catch(V=>Or(V,8)?V:Promise.reject(V))}function pt(j,rt,lt){h.list().forEach(Mt=>nt(()=>Mt(j,rt,lt)))}function gt(j,rt,lt,Mt,Et){const $=R(j,rt);if($)return $;const I=rt===di,V=Wo?history.state:{};lt&&(Mt||I?s.replace(j.fullPath,pe({scroll:I&&V&&V.scroll},Et)):s.push(j.fullPath,Et)),d.value=j,qt(j,rt,lt,I),At()}let G;function z(){G||(G=s.listen((j,rt,lt)=>{if(!Gt.listening)return;const Mt=T(j),Et=K(Mt);if(Et){ht(pe(Et,{replace:!0}),Mt).catch(ul);return}g=Mt;const $=d.value;Wo&&qS(Xg($.fullPath,lt.delta),Rc()),at(Mt,$).catch(I=>Or(I,12)?I:Or(I,2)?(ht(I.to,Mt).then(V=>{Or(V,20)&&!lt.delta&<.type===xl.pop&&s.go(-1,!1)}).catch(ul),Promise.reject()):(lt.delta&&s.go(-lt.delta,!1),Q(I,Mt,$))).then(I=>{I=I||gt(Mt,$,!1),I&&(lt.delta&&!Or(I,8)?s.go(-lt.delta,!1):lt.type===xl.pop&&Or(I,20)&&s.go(-1,!1)),pt(Mt,$,I)}).catch(ul)}))}let k=Js(),F=Js(),H;function Q(j,rt,lt){At(j);const Mt=F.list();return Mt.length?Mt.forEach(Et=>Et(j,rt,lt)):console.error(j),Promise.reject(j)}function yt(){return H&&d.value!==di?Promise.resolve():new Promise((j,rt)=>{k.add([j,rt])})}function At(j){return H||(H=!j,z(),k.list().forEach(([rt,lt])=>j?lt(j):rt()),k.reset()),j}function qt(j,rt,lt,Mt){const{scrollBehavior:Et}=t;if(!Wo||!Et)return Promise.resolve();const $=!lt&&HS(Xg(j.fullPath,0))||(Mt||!lt)&&history.state&&history.state.scroll||null;return Br().then(()=>Et(j,rt,$)).then(I=>I&&FS(I)).catch(I=>Q(I,j,rt))}const Ht=j=>s.go(j);let Jt;const Qt=new Set,Gt={currentRoute:d,listening:!0,addRoute:S,removeRoute:P,hasRoute:L,getRoutes:A,resolve:T,options:t,push:E,replace:B,go:Ht,back:()=>Ht(-1),forward:()=>Ht(1),beforeEach:u.add,beforeResolve:f.add,afterEach:h.add,onError:F.add,isReady:yt,install(j){const rt=this;j.component("RouterLink",Ck),j.component("RouterView",Ak),j.config.globalProperties.$router=rt,Object.defineProperty(j.config.globalProperties,"$route",{enumerable:!0,get:()=>U(d)}),Wo&&!Jt&&d.value===di&&(Jt=!0,E(s.location).catch(Et=>{}));const lt={};for(const Et in di)Object.defineProperty(lt,Et,{get:()=>d.value[Et],enumerable:!0});j.provide($h,rt),j.provide(O0,Fm(lt)),j.provide(Rf,d);const Mt=j.unmount;Qt.add(j),j.unmount=function(){Qt.delete(j),Qt.size<1&&(g=di,G&&G(),G=null,d.value=di,Jt=!1,H=!1),Mt()}}};function Tt(j){return j.reduce((rt,lt)=>rt.then(()=>nt(lt)),Promise.resolve())}return Gt}function Nk(t,e){const r=[],o=[],s=[],u=Math.max(e.matched.length,t.matched.length);for(let f=0;fss(g,h))?o.push(h):r.push(h));const d=t.matched[f];d&&(e.matched.find(g=>ss(g,d))||s.push(d))}return[r,o,s]}function Xr(t){return t.split("-")[0]}function Qo(t){return t.split("-")[1]}function Dl(t){return["top","bottom"].includes(Xr(t))?"x":"y"}function Rh(t){return t==="y"?"height":"width"}function cv(t){let{reference:e,floating:r,placement:o}=t;const s=e.x+e.width/2-r.width/2,u=e.y+e.height/2-r.height/2;let f;switch(Xr(o)){case"top":f={x:s,y:e.y-r.height};break;case"bottom":f={x:s,y:e.y+e.height};break;case"right":f={x:e.x+e.width,y:u};break;case"left":f={x:e.x-r.width,y:u};break;default:f={x:e.x,y:e.y}}const h=Dl(o),d=Rh(h);switch(Qo(o)){case"start":f[h]=f[h]-(e[d]/2-r[d]/2);break;case"end":f[h]=f[h]+(e[d]/2-r[d]/2);break}return f}const Pk=async(t,e,r)=>{const{placement:o="bottom",strategy:s="absolute",middleware:u=[],platform:f}=r;let h=await f.getElementRects({reference:t,floating:e,strategy:s}),{x:d,y:g}=cv({...h,placement:o}),v=o,b={};for(let w=0;w({name:"arrow",options:t,async fn(e){const{element:r,padding:o=0}=t??{},{x:s,y:u,placement:f,rects:h,platform:d}=e;if(r==null)return{};const g=D0(o),v={x:s,y:u},b=Xr(f),w=Dl(b),S=Rh(w),P=await d.getDimensions({element:r}),A=w==="y"?"top":"left",L=w==="y"?"bottom":"right",T=h.reference[S]+h.reference[w]-v[w]-h.floating[S],M=v[w]-h.reference[w],R=await d.getOffsetParent({element:r}),E=R?w==="y"?R.clientHeight||0:R.clientWidth||0:0,B=T/2-M/2,K=g[A],ht=E-P[S]-g[L],Y=E/2-P[S]/2+B,nt=If(K,Y,ht);return{data:{[w]:nt,centerOffset:Y-nt}}}}),Rk={left:"right",right:"left",bottom:"top",top:"bottom"};function oc(t){return t.replace(/left|right|bottom|top/g,e=>Rk[e])}function $0(t,e){const r=Qo(t)==="start",o=Dl(t),s=Rh(o);let u=o==="x"?r?"right":"left":r?"bottom":"top";return e.reference[s]>e.floating[s]&&(u=oc(u)),{main:u,cross:oc(u)}}const zk={start:"end",end:"start"};function Ff(t){return t.replace(/start|end/g,e=>zk[e])}const Ik=["top","right","bottom","left"],Fk=Ik.reduce((t,e)=>t.concat(e,e+"-start",e+"-end"),[]);function qk(t,e,r){return(t?[...r.filter(s=>Qo(s)===t),...r.filter(s=>Qo(s)!==t)]:r.filter(s=>Xr(s)===s)).filter(s=>t?Qo(s)===t||(e?Ff(s)!==s:!1):!0)}const Hk=function(t){return t===void 0&&(t={}),{name:"autoPlacement",options:t,async fn(e){var r,o,s,u,f,h;const{x:d,y:g,rects:v,middlewareData:b,placement:w}=e,{alignment:S=null,allowedPlacements:P=Fk,autoAlignment:A=!0,...L}=t;if((r=b.autoPlacement)!=null&&r.skip)return{};const T=qk(S,A,P),M=await zc(e,L),R=(o=(s=b.autoPlacement)==null?void 0:s.index)!=null?o:0,E=T[R],{main:B,cross:K}=$0(E,v);if(w!==E)return{x:d,y:g,reset:{placement:T[0]}};const ht=[M[Xr(E)],M[B],M[K]],Y=[...(u=(f=b.autoPlacement)==null?void 0:f.overflows)!=null?u:[],{placement:E,overflows:ht}],nt=T[R+1];if(nt)return{data:{index:R+1,overflows:Y},reset:{placement:nt}};const at=Y.slice().sort((gt,G)=>gt.overflows[0]-G.overflows[0]),pt=(h=at.find(gt=>{let{overflows:G}=gt;return G.every(z=>z<=0)}))==null?void 0:h.placement;return{data:{skip:!0},reset:{placement:pt??at[0].placement}}}}};function Bk(t){const e=oc(t);return[Ff(t),e,Ff(e)]}const Wk=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var r,o;const{placement:s,middlewareData:u,rects:f,initialPlacement:h}=e;if((r=u.flip)!=null&&r.skip)return{};const{mainAxis:d=!0,crossAxis:g=!0,fallbackPlacements:v,fallbackStrategy:b="bestFit",flipAlignment:w=!0,...S}=t,P=Xr(s),L=v||(P===h||!w?[oc(h)]:Bk(h)),T=[h,...L],M=await zc(e,S),R=[];let E=((o=u.flip)==null?void 0:o.overflows)||[];if(d&&R.push(M[P]),g){const{main:Y,cross:nt}=$0(s,f);R.push(M[Y],M[nt])}if(E=[...E,{placement:s,overflows:R}],!R.every(Y=>Y<=0)){var B,K;const Y=((B=(K=u.flip)==null?void 0:K.index)!=null?B:0)+1,nt=T[Y];if(nt)return{data:{index:Y,overflows:E},reset:{placement:nt}};let at="bottom";switch(b){case"bestFit":{var ht;const pt=(ht=E.slice().sort((gt,G)=>gt.overflows.filter(z=>z>0).reduce((z,k)=>z+k,0)-G.overflows.filter(z=>z>0).reduce((z,k)=>z+k,0))[0])==null?void 0:ht.placement;pt&&(at=pt);break}case"initialPlacement":at=h;break}return{data:{skip:!0},reset:{placement:at}}}return{}}}};function Uk(t){let{placement:e,rects:r,value:o}=t;const s=Xr(e),u=["left","top"].includes(s)?-1:1,f=typeof o=="function"?o({...r,placement:e}):o,{mainAxis:h,crossAxis:d}=typeof f=="number"?{mainAxis:f,crossAxis:0}:{mainAxis:0,crossAxis:0,...f};return Dl(s)==="x"?{x:d,y:h*u}:{x:h*u,y:d}}const jk=function(t){return t===void 0&&(t=0),{name:"offset",options:t,fn(e){const{x:r,y:o,placement:s,rects:u}=e,f=Uk({placement:s,rects:u,value:t});return{x:r+f.x,y:o+f.y,data:f}}}};function Vk(t){return t==="x"?"y":"x"}const Gk=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:r,y:o,placement:s}=e,{mainAxis:u=!0,crossAxis:f=!1,limiter:h={fn:L=>{let{x:T,y:M}=L;return{x:T,y:M}}},...d}=t,g={x:r,y:o},v=await zc(e,d),b=Dl(Xr(s)),w=Vk(b);let S=g[b],P=g[w];if(u){const L=b==="y"?"top":"left",T=b==="y"?"bottom":"right",M=S+v[L],R=S-v[T];S=If(M,S,R)}if(f){const L=w==="y"?"top":"left",T=w==="y"?"bottom":"right",M=P+v[L],R=P-v[T];P=If(M,P,R)}const A=h.fn({...e,[b]:S,[w]:P});return{...A,data:{x:A.x-r,y:A.y-o}}}}},Kk=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var r;const{placement:o,rects:s,middlewareData:u}=e,{apply:f,...h}=t;if((r=u.size)!=null&&r.skip)return{};const d=await zc(e,h),g=Xr(o),v=Qo(o)==="end";let b,w;g==="top"||g==="bottom"?(b=g,w=v?"left":"right"):(w=g,b=v?"top":"bottom");const S=Gi(d.left,0),P=Gi(d.right,0),A=Gi(d.top,0),L=Gi(d.bottom,0),T={height:s.floating.height-(["left","right"].includes(o)?2*(A!==0||L!==0?A+L:Gi(d.top,d.bottom)):d[b]),width:s.floating.width-(["top","bottom"].includes(o)?2*(S!==0||P!==0?S+P:Gi(d.left,d.right)):d[w])};return f==null||f({...T,...s}),{data:{skip:!0},reset:{rects:!0}}}}};function zh(t){return(t==null?void 0:t.toString())==="[object Window]"}function Mi(t){if(t==null)return window;if(!zh(t)){const e=t.ownerDocument;return e&&e.defaultView||window}return t}function Ic(t){return Mi(t).getComputedStyle(t)}function Wr(t){return zh(t)?"":t?(t.nodeName||"").toLowerCase():""}function Ur(t){return t instanceof Mi(t).HTMLElement}function sc(t){return t instanceof Mi(t).Element}function Xk(t){return t instanceof Mi(t).Node}function R0(t){const e=Mi(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Fc(t){const{overflow:e,overflowX:r,overflowY:o}=Ic(t);return/auto|scroll|overlay|hidden/.test(e+o+r)}function Yk(t){return["table","td","th"].includes(Wr(t))}function z0(t){const e=navigator.userAgent.toLowerCase().includes("firefox"),r=Ic(t);return r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].includes(r.willChange)||e&&r.willChange==="filter"||e&&(r.filter?r.filter!=="none":!1)}const uv=Math.min,hl=Math.max,lc=Math.round;function as(t,e){e===void 0&&(e=!1);const r=t.getBoundingClientRect();let o=1,s=1;return e&&Ur(t)&&(o=t.offsetWidth>0&&lc(r.width)/t.offsetWidth||1,s=t.offsetHeight>0&&lc(r.height)/t.offsetHeight||1),{width:r.width/o,height:r.height/s,top:r.top/s,right:r.right/o,bottom:r.bottom/s,left:r.left/o,x:r.left/o,y:r.top/s}}function Ni(t){return((Xk(t)?t.ownerDocument:t.document)||window.document).documentElement}function qc(t){return zh(t)?{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}:{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function I0(t){return as(Ni(t)).left+qc(t).scrollLeft}function Zk(t){const e=as(t);return lc(e.width)!==t.offsetWidth||lc(e.height)!==t.offsetHeight}function Qk(t,e,r){const o=Ur(e),s=Ni(e),u=as(t,o&&Zk(e));let f={scrollLeft:0,scrollTop:0};const h={x:0,y:0};if(o||!o&&r!=="fixed")if((Wr(e)!=="body"||Fc(s))&&(f=qc(e)),Ur(e)){const d=as(e,!0);h.x=d.x+e.clientLeft,h.y=d.y+e.clientTop}else s&&(h.x=I0(s));return{x:u.left+f.scrollLeft-h.x,y:u.top+f.scrollTop-h.y,width:u.width,height:u.height}}function Hc(t){return Wr(t)==="html"?t:t.assignedSlot||t.parentNode||(R0(t)?t.host:null)||Ni(t)}function fv(t){return!Ur(t)||getComputedStyle(t).position==="fixed"?null:t.offsetParent}function Jk(t){let e=Hc(t);for(;Ur(e)&&!["html","body"].includes(Wr(e));){if(z0(e))return e;e=e.parentNode}return null}function qf(t){const e=Mi(t);let r=fv(t);for(;r&&Yk(r)&&getComputedStyle(r).position==="static";)r=fv(r);return r&&(Wr(r)==="html"||Wr(r)==="body"&&getComputedStyle(r).position==="static"&&!z0(r))?e:r||Jk(t)||e}function hv(t){return{width:t.offsetWidth,height:t.offsetHeight}}function tC(t){let{rect:e,offsetParent:r,strategy:o}=t;const s=Ur(r),u=Ni(r);if(r===u)return e;let f={scrollLeft:0,scrollTop:0};const h={x:0,y:0};if((s||!s&&o!=="fixed")&&((Wr(r)!=="body"||Fc(u))&&(f=qc(r)),Ur(r))){const d=as(r,!0);h.x=d.x+r.clientLeft,h.y=d.y+r.clientTop}return{...e,x:e.x-f.scrollLeft+h.x,y:e.y-f.scrollTop+h.y}}function eC(t){const e=Mi(t),r=Ni(t),o=e.visualViewport;let s=r.clientWidth,u=r.clientHeight,f=0,h=0;return o&&(s=o.width,u=o.height,Math.abs(e.innerWidth/o.scale-o.width)<.01&&(f=o.offsetLeft,h=o.offsetTop)),{width:s,height:u,x:f,y:h}}function nC(t){var e;const r=Ni(t),o=qc(t),s=(e=t.ownerDocument)==null?void 0:e.body,u=hl(r.scrollWidth,r.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),f=hl(r.scrollHeight,r.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0);let h=-o.scrollLeft+I0(t);const d=-o.scrollTop;return Ic(s||r).direction==="rtl"&&(h+=hl(r.clientWidth,s?s.clientWidth:0)-u),{width:u,height:f,x:h,y:d}}function F0(t){return["html","body","#document"].includes(Wr(t))?t.ownerDocument.body:Ur(t)&&Fc(t)?t:F0(Hc(t))}function ac(t,e){var r;e===void 0&&(e=[]);const o=F0(t),s=o===((r=t.ownerDocument)==null?void 0:r.body),u=Mi(o),f=s?[u].concat(u.visualViewport||[],Fc(o)?o:[]):o,h=e.concat(f);return s?h:h.concat(ac(Hc(f)))}function rC(t,e){const r=e.getRootNode==null?void 0:e.getRootNode();if(t.contains(e))return!0;if(r&&R0(r)){let o=e;do{if(o&&t===o)return!0;o=o.parentNode||o.host}while(o)}return!1}function iC(t){const e=as(t),r=e.top+t.clientTop,o=e.left+t.clientLeft;return{top:r,left:o,x:o,y:r,right:o+t.clientWidth,bottom:r+t.clientHeight,width:t.clientWidth,height:t.clientHeight}}function dv(t,e){return e==="viewport"?zf(eC(t)):sc(e)?iC(e):zf(nC(Ni(t)))}function oC(t){const e=ac(Hc(t)),o=["absolute","fixed"].includes(Ic(t).position)&&Ur(t)?qf(t):t;return sc(o)?e.filter(s=>sc(s)&&rC(s,o)&&Wr(s)!=="body"):[]}function sC(t){let{element:e,boundary:r,rootBoundary:o}=t;const u=[...r==="clippingParents"?oC(e):[].concat(r),o],f=u[0],h=u.reduce((d,g)=>{const v=dv(e,g);return d.top=hl(v.top,d.top),d.right=uv(v.right,d.right),d.bottom=uv(v.bottom,d.bottom),d.left=hl(v.left,d.left),d},dv(e,f));return h.width=h.right-h.left,h.height=h.bottom-h.top,h.x=h.left,h.y=h.top,h}const lC={getElementRects:t=>{let{reference:e,floating:r,strategy:o}=t;return{reference:Qk(e,qf(r),o),floating:{...hv(r),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:t=>tC(t),getOffsetParent:t=>{let{element:e}=t;return qf(e)},isElement:t=>sc(t),getDocumentElement:t=>{let{element:e}=t;return Ni(e)},getClippingClientRect:t=>sC(t),getDimensions:t=>{let{element:e}=t;return hv(e)},getClientRects:t=>{let{element:e}=t;return e.getClientRects()}},aC=(t,e,r)=>Pk(t,e,{platform:lC,...r});var cC=Object.defineProperty,uC=Object.defineProperties,fC=Object.getOwnPropertyDescriptors,pv=Object.getOwnPropertySymbols,hC=Object.prototype.hasOwnProperty,dC=Object.prototype.propertyIsEnumerable,gv=(t,e,r)=>e in t?cC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,zr=(t,e)=>{for(var r in e||(e={}))hC.call(e,r)&&gv(t,r,e[r]);if(pv)for(var r of pv(e))dC.call(e,r)&&gv(t,r,e[r]);return t},$l=(t,e)=>uC(t,fC(e));function q0(t,e){for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(typeof e[r]=="object"&&t[r]?q0(t[r],e[r]):t[r]=e[r])}const eo={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:t=>[...t,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover","focus"],delay:{show:0,hide:400}}}};function cs(t,e){let r=eo.themes[t]||{},o;do o=r[e],typeof o>"u"?r.$extend?r=eo.themes[r.$extend]||{}:(r=null,o=eo[e]):r=null;while(r);return o}function pC(t){const e=[t];let r=eo.themes[t]||{};do r.$extend&&!r.$resetCss?(e.push(r.$extend),r=eo.themes[r.$extend]||{}):r=null;while(r);return e.map(o=>`v-popper--theme-${o}`)}let us=!1;if(typeof window<"u"){us=!1;try{const t=Object.defineProperty({},"passive",{get(){us=!0}});window.addEventListener("test",null,t)}catch{}}let H0=!1;typeof window<"u"&&typeof navigator<"u"&&(H0=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const B0=["auto","top","bottom","left","right"].reduce((t,e)=>t.concat([e,`${e}-start`,`${e}-end`]),[]),vv={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart"},mv={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend"};function gC(t,e){const r=t.indexOf(e);r!==-1&&t.splice(r,1)}function rf(){return new Promise(t=>requestAnimationFrame(()=>{requestAnimationFrame(t)}))}const br=[];let Ho=null,Hf=function(){};typeof window<"u"&&(Hf=window.Element);function de(t){return function(e){return cs(e.theme,t)}}var W0=()=>ie({name:"VPopper",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:de("disabled")},placement:{type:String,default:de("placement"),validator:t=>B0.includes(t)},delay:{type:[String,Number,Object],default:de("delay")},distance:{type:[Number,String],default:de("distance")},skidding:{type:[Number,String],default:de("skidding")},triggers:{type:Array,default:de("triggers")},showTriggers:{type:[Array,Function],default:de("showTriggers")},hideTriggers:{type:[Array,Function],default:de("hideTriggers")},popperTriggers:{type:Array,default:de("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:de("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:de("popperHideTriggers")},container:{type:[String,Object,Hf,Boolean],default:de("container")},boundary:{type:[String,Hf],default:de("boundary")},strategy:{type:String,validator:t=>["absolute","fixed"].includes(t),default:de("strategy")},autoHide:{type:Boolean,default:de("autoHide")},handleResize:{type:Boolean,default:de("handleResize")},instantMove:{type:Boolean,default:de("instantMove")},eagerMount:{type:Boolean,default:de("eagerMount")},popperClass:{type:[String,Array,Object],default:de("popperClass")},computeTransformOrigin:{type:Boolean,default:de("computeTransformOrigin")},autoMinSize:{type:Boolean,default:de("autoMinSize")},autoMaxSize:{type:Boolean,default:de("autoMaxSize")},preventOverflow:{type:Boolean,default:de("preventOverflow")},overflowPadding:{type:[Number,String],default:de("overflowPadding")},arrowPadding:{type:[Number,String],default:de("arrowPadding")},arrowOverflow:{type:Boolean,default:de("arrowOverflow")},flip:{type:Boolean,default:de("flip")},shift:{type:Boolean,default:de("shift")},shiftCrossAxis:{type:Boolean,default:de("shiftCrossAxis")}},emits:["show","hide","update:shown","apply-show","apply-hide","close-group","close-directive","auto-hide","resize","dispose"],data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null}}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:$l(zr({},this.classes),{popperClass:this.popperClass}),result:this.result}}},watch:zr({shown:"$_autoShowHide",disabled(t){t?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())},triggers(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())}},["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((t,e)=>(t[e]="$_computePosition",t),{})),created(){this.$_isDisposed=!0,this.randomId=`popper_${[Math.random(),Date.now()].map(t=>t.toString(36).substring(2,10)).join("_")}`},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeUnmount(){this.dispose()},methods:{show({event:t=null,skipDelay:e=!1,force:r=!1}={}){(r||!this.disabled)&&(this.$_scheduleShow(t,e),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit("update:shown",!0)},hide({event:t=null,skipDelay:e=!1}={}){this.$_scheduleHide(t,e),this.$emit("hide"),this.$emit("update:shown",!1)},init(){this.$_isDisposed&&(this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode(),this.$_targetNodes=this.targetNodes().filter(t=>t.nodeType===t.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_swapTargetAttrs("data-original-title","title"),this.$emit("dispose"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){var t;if(this.$_isDisposed)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(jk({mainAxis:this.distance,crossAxis:this.skidding}));const r=this.placement.startsWith("auto");r?e.middleware.push(Hk({alignment:(t=this.placement.split("-")[1])!=null?t:""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(Gk({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!r&&this.flip&&e.middleware.push(Wk({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push($k({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:s,rects:u,middlewareData:f})=>{let h;const{centerOffset:d}=f.arrow;return s.startsWith("top")||s.startsWith("bottom")?h=Math.abs(d)>u.reference.width/2:h=Math.abs(d)>u.reference.height/2,{data:{overflow:h}}}}),this.autoMinSize&&e.middleware.push({name:"autoMinSize",fn:({rects:s,placement:u,middlewareData:f})=>{var h;if((h=f.autoMinSize)!=null&&h.skip)return{};let d,g;return u.startsWith("top")||u.startsWith("bottom")?d=s.reference.width:g=s.reference.height,this.$_innerNode.style.minWidth=d!=null?`${d}px`:null,this.$_innerNode.style.minHeight=g!=null?`${g}px`:null,{data:{skip:!0},reset:{rects:!0}}}}),this.autoMaxSize&&e.middleware.push(Kk({boundary:this.boundary,padding:this.overflowPadding,apply:({width:s,height:u})=>{this.$_innerNode.style.maxWidth=s!=null?`${s}px`:null,this.$_innerNode.style.maxHeight=u!=null?`${u}px`:null}}));const o=await aC(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:o.x,y:o.y,placement:o.placement,strategy:o.strategy,arrow:zr(zr({},o.middlewareData.arrow),o.middlewareData.arrowOverflow)})},$_scheduleShow(t=null,e=!1){if(this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),Ho&&this.instantMove&&Ho.instantMove){Ho.$_applyHide(!0),this.$_applyShow(!0);return}e?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"))},$_scheduleHide(t=null,e=!1){this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(Ho=this),e?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"))},$_computeDelay(t){const e=this.delay;return parseInt(e&&e[t]||e||0)},async $_applyShow(t=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=t,!this.isShown&&(this.$_ensureTeleport(),await rf(),await this.$_computePosition(),await this.$_applyShowEffect())},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const e=this.$_referenceNode.getBoundingClientRect(),r=this.$_popperNode.querySelector(".v-popper__wrapper"),o=r.parentNode.getBoundingClientRect(),s=e.x+e.width/2-(o.left+r.offsetLeft),u=e.y+e.height/2-(o.top+r.offsetTop);this.result.transformOrigin=`${s}px ${u}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const t=this.showGroup;if(t){let e;for(let r=0;r{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},e)),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await rf(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let t=this.container;if(typeof t=="string"?t=window.document.querySelector(t):t===!1&&(t=this.$_targetNodes[0].parentNode),!t)throw new Error("No container for popover: "+this.container);t.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const t=(s,u,f)=>{this.$_events.push({targetNodes:s,eventType:u,handler:f}),s.forEach(h=>h.addEventListener(u,f,us?{passive:!0}:void 0))},e=(s,u,f,h,d)=>{let g=f;h!=null&&(g=typeof h=="function"?h(g):h),g.forEach(v=>{const b=u[v];b&&t(s,b,d)})},r=s=>{this.isShown&&!this.$_hideInProgress||(s.usedByTooltip=!0,!this.$_preventShow&&this.show({event:s}))};e(this.$_targetNodes,vv,this.triggers,this.showTriggers,r),e([this.$_popperNode],vv,this.popperTriggers,this.popperShowTriggers,r);const o=s=>{s.usedByTooltip||this.hide({event:s})};e(this.$_targetNodes,mv,this.triggers,this.hideTriggers,o),e([this.$_popperNode],mv,this.popperTriggers,this.popperHideTriggers,o),t([...ac(this.$_referenceNode),...ac(this.$_popperNode)],"scroll",()=>{this.$_computePosition()})},$_removeEventListeners(){this.$_events.forEach(({targetNodes:t,eventType:e,handler:r})=>{t.forEach(o=>o.removeEventListener(e,r))}),this.$_events=[]},$_handleGlobalClose(t,e=!1){this.$_showFrameLocked||(this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),e&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(t,e){for(const r of this.$_targetNodes){const o=r.getAttribute(t);o&&(r.removeAttribute(t),r.setAttribute(e,o))}},$_applyAttrsToTarget(t){for(const e of this.$_targetNodes)for(const r in t){const o=t[r];o==null?e.removeAttribute(r):e.setAttribute(r,o)}}},render(){return this.$slots.default(this.slotData)}});typeof document<"u"&&typeof window<"u"&&(H0?(document.addEventListener("touchstart",yv,us?{passive:!0,capture:!0}:!0),document.addEventListener("touchend",mC,us?{passive:!0,capture:!0}:!0)):(window.addEventListener("mousedown",yv,!0),window.addEventListener("click",vC,!0)),window.addEventListener("resize",yC));function yv(t){for(let e=0;e{(t.closeAllPopover||t.closePopover&&u||o.autoHide&&!u)&&o.$_handleGlobalClose(t,e)})}}function yC(t){for(let e=0;e0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);var r=t.indexOf("Trident/");if(r>0){var o=t.indexOf("rv:");return parseInt(t.substring(o+3,t.indexOf(".",o)),10)}var s=t.indexOf("Edge/");return s>0?parseInt(t.substring(s+5,t.indexOf(".",s)),10):-1}let Ba;function Bf(){Bf.init||(Bf.init=!0,Ba=bC()!==-1)}var Bc={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){Bf(),Br(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",Ba&&this.$el.appendChild(t),t.data="about:blank",Ba||this.$el.appendChild(t)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!Ba&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const wC=W1();Xm("data-v-b329ee4c");const xC={class:"resize-observer",tabindex:"-1"};Ym();const _C=wC((t,e,r,o,s,u)=>(st(),te("div",xC)));Bc.render=_C;Bc.__scopeId="data-v-b329ee4c";Bc.__file="src/components/ResizeObserver.vue";var j0={computed:{themeClass(){return pC(this.theme)}}},Ih=(t,e)=>{const r=t.__vccOpts||t;for(const[o,s]of e)r[o]=s;return r};const SC=ie({name:"VPopperContent",components:{ResizeObserver:Bc},mixins:[j0],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:["hide","resize"],methods:{toPx(t){return t!=null&&!isNaN(t)?`${t}px`:null}}}),kC=["id","aria-hidden","tabindex","data-popper-placement"],CC={ref:"inner",class:"v-popper__inner"},TC=tt("div",{class:"v-popper__arrow-outer"},null,-1),EC=tt("div",{class:"v-popper__arrow-inner"},null,-1),LC=[TC,EC];function AC(t,e,r,o,s,u){const f=io("ResizeObserver");return st(),kt("div",{id:t.popperId,ref:"popover",class:ve(["v-popper__popper",[t.themeClass,t.classes.popperClass,{"v-popper__popper--shown":t.shown,"v-popper__popper--hidden":!t.shown,"v-popper__popper--show-from":t.classes.showFrom,"v-popper__popper--show-to":t.classes.showTo,"v-popper__popper--hide-from":t.classes.hideFrom,"v-popper__popper--hide-to":t.classes.hideTo,"v-popper__popper--skip-transition":t.skipTransition,"v-popper__popper--arrow-overflow":t.result.arrow.overflow}]]),style:An({position:t.result.strategy,transform:`translate3d(${Math.round(t.result.x)}px,${Math.round(t.result.y)}px,0)`}),"aria-hidden":t.shown?"false":"true",tabindex:t.autoHide?0:void 0,"data-popper-placement":t.result.placement,onKeyup:e[1]||(e[1]=Of(h=>t.autoHide&&t.$emit("hide"),["esc"]))},[tt("div",{class:"v-popper__wrapper",style:An({transformOrigin:t.result.transformOrigin})},[tt("div",CC,[t.mounted?(st(),kt(ne,{key:0},[tt("div",null,[sr(t.$slots,"default")]),t.handleResize?(st(),te(f,{key:0,onNotify:e[0]||(e[0]=h=>t.$emit("resize",h))})):Vt("",!0)],64)):Vt("",!0)],512),tt("div",{ref:"arrow",class:"v-popper__arrow-container",style:An({left:t.toPx(t.result.arrow.x),top:t.toPx(t.result.arrow.y)})},LC,4)],4)],46,kC)}var V0=Ih(SC,[["render",AC]]),G0={methods:{show(...t){return this.$refs.popper.show(...t)},hide(...t){return this.$refs.popper.hide(...t)},dispose(...t){return this.$refs.popper.dispose(...t)},onResize(...t){return this.$refs.popper.onResize(...t)}}};const MC=ie({name:"VPopperWrapper",components:{Popper:W0(),PopperContent:V0},mixins:[G0,j0],inheritAttrs:!1,props:{theme:{type:String,default:null}},computed:{finalTheme(){var t;return(t=this.theme)!=null?t:this.$options.vPopperTheme},popperAttrs(){const t=zr({},this.$attrs);return delete t.class,delete t.style,t}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(t=>t!==this.$refs.popperContent.$el)}}});function NC(t,e,r,o,s,u){const f=io("PopperContent"),h=io("Popper");return st(),te(h,Ci({ref:"popper"},t.popperAttrs,{theme:t.finalTheme,"target-nodes":t.getTargetNodes,"reference-node":()=>t.$refs.reference,"popper-node":()=>t.$refs.popperContent.$el}),{default:ee(({popperId:d,isShown:g,shouldMountContent:v,skipTransition:b,autoHide:w,show:S,hide:P,handleResize:A,onResize:L,classes:T,result:M})=>[tt("div",{ref:"reference",class:ve(["v-popper",[t.$attrs.class,t.themeClass,{"v-popper--shown":g}]]),style:An(t.$attrs.style)},[sr(t.$slots,"default",{shown:g,show:S,hide:P}),Ft(f,{ref:"popperContent","popper-id":d,theme:t.finalTheme,shown:g,mounted:v,"skip-transition":b,"auto-hide":w,"handle-resize":A,classes:T,result:M,onHide:P,onResize:L},{default:ee(()=>[sr(t.$slots,"popper",{shown:g,hide:P})]),_:2},1032,["popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])],6)]),_:3},16,["theme","target-nodes","reference-node","popper-node"])}var Fh=Ih(MC,[["render",NC]]);const bv=ie($l(zr({},Fh),{name:"VDropdown",vPopperTheme:"dropdown"})),wv=ie($l(zr({},Fh),{name:"VMenu",vPopperTheme:"menu"})),Wf=ie($l(zr({},Fh),{name:"VTooltip",vPopperTheme:"tooltip"})),PC=ie({name:"VTooltipDirective",components:{Popper:W0(),PopperContent:V0},mixins:[G0],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:t=>cs(t.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:t=>cs(t.theme,"loadingContent")}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(t){if(typeof this.content=="function"&&this.$_isShown&&(t||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;const e=++this.$_fetchId,r=this.content(this);r.then?r.then(o=>this.onResult(e,o)):this.onResult(e,r)}},onResult(t,e){t===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=e)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}}),OC=["innerHTML"],DC=["textContent"];function $C(t,e,r,o,s,u){const f=io("PopperContent"),h=io("Popper");return st(),te(h,Ci({ref:"popper"},t.$attrs,{theme:t.theme,"popper-node":()=>t.$refs.popperContent.$el,onApplyShow:t.onShow,onApplyHide:t.onHide}),{default:ee(({popperId:d,isShown:g,shouldMountContent:v,skipTransition:b,autoHide:w,hide:S,handleResize:P,onResize:A,classes:L,result:T})=>[Ft(f,{ref:"popperContent",class:ve({"v-popper--tooltip-loading":t.loading}),"popper-id":d,theme:t.theme,shown:g,mounted:v,"skip-transition":b,"auto-hide":w,"handle-resize":P,classes:L,result:T,onHide:S,onResize:A},{default:ee(()=>[t.html?(st(),kt("div",{key:0,innerHTML:t.finalContent},null,8,OC)):(st(),kt("div",{key:1,textContent:Ut(t.finalContent)},null,8,DC))]),_:2},1032,["class","popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:1},16,["theme","popper-node","onApplyShow","onApplyHide"])}var RC=Ih(PC,[["render",$C]]);const K0="v-popper--has-tooltip";function zC(t,e){let r=t.placement;if(!r&&e)for(const o of B0)e[o]&&(r=o);return r||(r=cs(t.theme||"tooltip","placement")),r}function X0(t,e,r){let o;const s=typeof e;return s==="string"?o={content:e}:e&&s==="object"?o=e:o={content:!1},o.placement=zC(o,r),o.targetNodes=()=>[t],o.referenceNode=()=>t,o}let of,_l,IC=0;function FC(){if(of)return;_l=Zt([]),of=_0({name:"VTooltipDirectiveApp",setup(){return{directives:_l}},render(){return this.directives.map(e=>Ol(RC,$l(zr({},e.options),{shown:e.shown.value||e.options.shown,key:e.id})))},devtools:{hide:!0}});const t=document.createElement("div");document.body.appendChild(t),of.mount(t)}function Y0(t,e,r){FC();const o=Zt(X0(t,e,r)),s=Zt(!1),u={id:IC++,options:o,shown:s};return _l.value.push(u),t.classList&&t.classList.add(K0),t.$_popper={options:o,item:u,show(){s.value=!0},hide(){s.value=!1}}}function qh(t){if(t.$_popper){const e=_l.value.indexOf(t.$_popper.item);e!==-1&&_l.value.splice(e,1),delete t.$_popper,delete t.$_popperOldShown,delete t.$_popperMountTarget}t.classList&&t.classList.remove(K0)}function xv(t,{value:e,oldValue:r,modifiers:o}){const s=X0(t,e,o);if(!s.content||cs(s.theme||"tooltip","disabled"))qh(t);else{let u;t.$_popper?(u=t.$_popper,u.options.value=s):u=Y0(t,e,o),typeof e.shown<"u"&&e.shown!==t.$_popperOldShown&&(t.$_popperOldShown=e.shown,e.shown?u.show():u.hide())}}var Z0={beforeMount:xv,updated:xv,beforeUnmount(t){qh(t)}};function _v(t){t.addEventListener("click",Q0),t.addEventListener("touchstart",J0,us?{passive:!0}:!1)}function Sv(t){t.removeEventListener("click",Q0),t.removeEventListener("touchstart",J0),t.removeEventListener("touchend",ty),t.removeEventListener("touchcancel",ey)}function Q0(t){const e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function J0(t){if(t.changedTouches.length===1){const e=t.currentTarget;e.$_vclosepopover_touch=!0;const r=t.changedTouches[0];e.$_vclosepopover_touchPoint=r,e.addEventListener("touchend",ty),e.addEventListener("touchcancel",ey)}}function ty(t){const e=t.currentTarget;if(e.$_vclosepopover_touch=!1,t.changedTouches.length===1){const r=t.changedTouches[0],o=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(r.screenY-o.screenY)<20&&Math.abs(r.screenX-o.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function ey(t){const e=t.currentTarget;e.$_vclosepopover_touch=!1}var qC={beforeMount(t,{value:e,modifiers:r}){t.$_closePopoverModifiers=r,(typeof e>"u"||e)&&_v(t)},updated(t,{value:e,oldValue:r,modifiers:o}){t.$_closePopoverModifiers=o,e!==r&&(typeof e>"u"||e?_v(t):Sv(t))},beforeUnmount(t){Sv(t)}};const HC=Z0,BC=Wf;function WC(t,e={}){t.$_vTooltipInstalled||(t.$_vTooltipInstalled=!0,q0(eo,e),t.directive("tooltip",Z0),t.directive("close-popper",qC),t.component("v-tooltip",Wf),t.component("VTooltip",Wf),t.component("v-dropdown",bv),t.component("VDropdown",bv),t.component("v-menu",wv),t.component("VMenu",wv))}const ny={version:"2.0.0-y.0",install:WC,options:eo},UC=6e4;function ry(t){return t}const jC=ry,{clearTimeout:VC,setTimeout:GC}=globalThis,KC=Math.random.bind(Math);function XC(t,e){const{post:r,on:o,eventNames:s=[],serialize:u=ry,deserialize:f=jC,resolver:h,timeout:d=UC}=e,g=new Map;let v;const b=new Proxy({},{get(w,S){if(S==="$functions")return t;const P=(...L)=>{r(u({m:S,a:L,t:"q"}))};if(s.includes(S))return P.asEvent=P,P;const A=async(...L)=>(await v,new Promise((T,M)=>{var B,K;const R=ZC();let E;d>=0&&(E=(K=(B=GC(()=>{M(new Error(`[birpc] timeout on calling "${S}"`)),g.delete(R)},d)).unref)==null?void 0:K.call(B)),g.set(R,{resolve:T,reject:M,timeoutId:E}),r(u({m:S,a:L,i:R,t:"q"}))}));return A.asEvent=P,A}});return v=o(async(w,...S)=>{const P=f(w);if(P.t==="q"){const{m:A,a:L}=P;let T,M;const R=h?h(A,t[A]):t[A];if(!R)M=new Error(`[birpc] function "${A}" not found`);else try{T=await R.apply(b,L)}catch(E){M=E}P.i&&(M&&e.onError&&e.onError(M,A,L),r(u({t:"s",i:P.i,r:T,e:M}),...S))}else{const{i:A,r:L,e:T}=P,M=g.get(A);M&&(VC(M.timeoutId),T?M.reject(T):M.resolve(L)),g.delete(A)}}),b}const YC="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";function ZC(t=21){let e="",r=t;for(;r--;)e+=YC[KC()*64|0];return e}/*! (c) 2020 Andrea Giammarchi */const{parse:QC,stringify:JC}=JSON,{keys:tT}=Object,Sl=String,iy="string",kv={},cc="object",oy=(t,e)=>e,eT=t=>t instanceof Sl?Sl(t):t,nT=(t,e)=>typeof e===iy?new Sl(e):e,sy=(t,e,r,o)=>{const s=[];for(let u=tT(r),{length:f}=u,h=0;h{const o=Sl(e.push(r)-1);return t.set(r,o),o},Uf=(t,e)=>{const r=QC(t,nT).map(eT),o=r[0],s=e||oy,u=typeof o===cc&&o?sy(r,new Set,o,s):o;return s.call({"":u},"",u)},rT=(t,e,r)=>{const o=e&&typeof e===cc?(v,b)=>v===""||-1iT(o));let e="",r=!1;for(let o=t.length-1;o>=-1&&!r;o--){const s=o>=0?t[o]:sT();!s||s.length===0||(e=`${s}/${e}`,r=Ev(s))}return e=lT(e,!r),r&&!Ev(e)?`/${e}`:e.length>0?e:"."};function lT(t,e){let r="",o=0,s=-1,u=0,f=null;for(let h=0;h<=t.length;++h){if(h2){const d=r.lastIndexOf("/");d===-1?(r="",o=0):(r=r.slice(0,d),o=r.length-1-r.lastIndexOf("/")),s=h,u=0;continue}else if(r.length>0){r="",o=0,s=h,u=0;continue}}e&&(r+=r.length>0?"/..":"..",o=2)}else r.length>0?r+=`/${t.slice(s+1,h)}`:r=t.slice(s+1,h),o=h-s-1;s=h,u=0}else f==="."&&u!==-1?++u:u=-1}return r}const Ev=function(t){return oT.test(t)},aT=function(t,e){const r=Tv(t).split("/"),o=Tv(e).split("/"),s=[...r];for(const u of s){if(o[0]!==u)break;r.shift(),o.shift()}return[...r.map(()=>".."),...o].join("/")};function cT(t){return typeof AggregateError<"u"&&t instanceof AggregateError?!0:t instanceof Error&&"errors"in t}class ly{constructor(){ci(this,"filesMap",new Map);ci(this,"pathsSet",new Set);ci(this,"browserTestPromises",new Map);ci(this,"idMap",new Map);ci(this,"taskFileMap",new WeakMap);ci(this,"errorsSet",new Set);ci(this,"processTimeoutCauses",new Set)}catchError(e,r){if(cT(e))return e.errors.forEach(s=>this.catchError(s,r));e===Object(e)?e.type=r:e={type:r,message:e};const o=e;if(o&&typeof o=="object"&&o.code==="VITEST_PENDING"){const s=this.idMap.get(o.taskId);s&&(s.mode="skip",s.result??(s.result={state:"skip"}),s.result.state="skip");return}this.errorsSet.add(e)}clearErrors(){this.errorsSet.clear()}getUnhandledErrors(){return Array.from(this.errorsSet.values())}addProcessTimeoutCause(e){this.processTimeoutCauses.add(e)}getProcessTimeoutCauses(){return Array.from(this.processTimeoutCauses.values())}getPaths(){return Array.from(this.pathsSet)}getFiles(e){return e?e.map(r=>this.filesMap.get(r)).filter(Boolean).flat():Array.from(this.filesMap.values()).flat()}getFilepaths(){return Array.from(this.filesMap.keys())}getFailedFilepaths(){return this.getFiles().filter(e=>{var r;return((r=e.result)==null?void 0:r.state)==="fail"}).map(e=>e.filepath)}collectPaths(e=[]){e.forEach(r=>{this.pathsSet.add(r)})}collectFiles(e=[]){e.forEach(r=>{const s=(this.filesMap.get(r.filepath)||[]).filter(u=>u.projectName!==r.projectName);s.push(r),this.filesMap.set(r.filepath,s),this.updateId(r)})}clearFiles(e,r=[]){const o=e;r.forEach(s=>{const u=this.filesMap.get(s);if(!u)return;const f=u.filter(h=>h.projectName!==o.config.name);f.length?this.filesMap.set(s,f):this.filesMap.delete(s)})}updateId(e){this.idMap.get(e.id)!==e&&(this.idMap.set(e.id,e),e.type==="suite"&&e.tasks.forEach(r=>{this.updateId(r)}))}updateTasks(e){for(const[r,o,s]of e){const u=this.idMap.get(r);u&&(u.result=o,u.meta=s,(o==null?void 0:o.state)==="skip"&&(u.mode="skip"))}}updateUserLog(e){const r=e.taskId&&this.idMap.get(e.taskId);r&&(r.logs||(r.logs=[]),r.logs.push(e))}getCountOfFailedTests(){return Array.from(this.idMap.values()).filter(e=>{var r;return((r=e.result)==null?void 0:r.state)==="fail"}).length}cancelFiles(e,r,o){this.collectFiles(e.map(s=>({filepath:s,name:aT(r,s),id:s,mode:"skip",type:"suite",result:{state:"skip"},meta:{},tasks:[],projectName:o})))}}var oo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ay(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function cy(t){return t!=null}function uy(t){return t==null&&(t=[]),Array.isArray(t)?t:[t]}function jf(t){return t.type==="test"||t.type==="custom"}function fy(t){const e=[],r=uy(t);for(const o of r)if(jf(o))e.push(o);else for(const s of o.tasks)jf(s)?e.push(s):e.push(...fy(s));return e}function Hh(t=[]){return uy(t).flatMap(e=>jf(e)?[e]:[e,...Hh(e.tasks)])}function uT(t){const e=[t.name];let r=t;for(;r!=null&&r.suite||r!=null&&r.file;)r=r.suite||r.file,r!=null&&r.name&&e.unshift(r.name);return e}function Wc(t){return fy(t).some(e=>{var r,o;return(o=(r=e.result)==null?void 0:r.errors)==null?void 0:o.some(s=>typeof(s==null?void 0:s.message)=="string"&&s.message.match(/Snapshot .* mismatched/))})}function fT(t,e={}){const{handlers:r={},autoReconnect:o=!0,reconnectInterval:s=2e3,reconnectTries:u=10,reactive:f=T=>T,WebSocketConstructor:h=globalThis.WebSocket}=e;let d=u;const g=f({ws:new h(t),state:new ly,waitForConnection:L,reconnect:P});g.state.filesMap=f(g.state.filesMap),g.state.idMap=f(g.state.idMap);let v;const b={onPathsCollected(T){var M;g.state.collectPaths(T),(M=r.onPathsCollected)==null||M.call(r,T)},onCollected(T){var M;g.state.collectFiles(T),(M=r.onCollected)==null||M.call(r,T)},onTaskUpdate(T){var M;g.state.updateTasks(T),(M=r.onTaskUpdate)==null||M.call(r,T)},onUserConsoleLog(T){g.state.updateUserLog(T)},onFinished(T,M){var R;(R=r.onFinished)==null||R.call(r,T,M)},onCancel(T){var M;(M=r.onCancel)==null||M.call(r,T)}},w={post:T=>g.ws.send(T),on:T=>v=T,serialize:rT,deserialize:Uf};g.rpc=XC(b,w);let S;function P(T=!1){T&&(d=u),g.ws=new h(t),A()}function A(){S=new Promise(T=>{g.ws.addEventListener("open",()=>{d=u,T()})}),g.ws.addEventListener("message",T=>{v(T.data)}),g.ws.addEventListener("close",()=>{d-=1,o&&d>0&&setTimeout(P,s)})}A();function L(){return S}return g}const hT=location.port,dT=[location.hostname,hT].filter(Boolean).join(":"),pT=`${location.protocol==="https:"?"wss:":"ws:"}//${dT}/__vitest_api__`,jr=!!window.METADATA_PATH;var hy={},Hr={};const gT="Á",vT="á",mT="Ă",yT="ă",bT="∾",wT="∿",xT="∾̳",_T="Â",ST="â",kT="´",CT="А",TT="а",ET="Æ",LT="æ",AT="⁡",MT="𝔄",NT="𝔞",PT="À",OT="à",DT="ℵ",$T="ℵ",RT="Α",zT="α",IT="Ā",FT="ā",qT="⨿",HT="&",BT="&",WT="⩕",UT="⩓",jT="∧",VT="⩜",GT="⩘",KT="⩚",XT="∠",YT="⦤",ZT="∠",QT="⦨",JT="⦩",tE="⦪",eE="⦫",nE="⦬",rE="⦭",iE="⦮",oE="⦯",sE="∡",lE="∟",aE="⊾",cE="⦝",uE="∢",fE="Å",hE="⍼",dE="Ą",pE="ą",gE="𝔸",vE="𝕒",mE="⩯",yE="≈",bE="⩰",wE="≊",xE="≋",_E="'",SE="⁡",kE="≈",CE="≊",TE="Å",EE="å",LE="𝒜",AE="𝒶",ME="≔",NE="*",PE="≈",OE="≍",DE="Ã",$E="ã",RE="Ä",zE="ä",IE="∳",FE="⨑",qE="≌",HE="϶",BE="‵",WE="∽",UE="⋍",jE="∖",VE="⫧",GE="⊽",KE="⌅",XE="⌆",YE="⌅",ZE="⎵",QE="⎶",JE="≌",tL="Б",eL="б",nL="„",rL="∵",iL="∵",oL="∵",sL="⦰",lL="϶",aL="ℬ",cL="ℬ",uL="Β",fL="β",hL="ℶ",dL="≬",pL="𝔅",gL="𝔟",vL="⋂",mL="◯",yL="⋃",bL="⨀",wL="⨁",xL="⨂",_L="⨆",SL="★",kL="▽",CL="△",TL="⨄",EL="⋁",LL="⋀",AL="⤍",ML="⧫",NL="▪",PL="▴",OL="▾",DL="◂",$L="▸",RL="␣",zL="▒",IL="░",FL="▓",qL="█",HL="=⃥",BL="≡⃥",WL="⫭",UL="⌐",jL="𝔹",VL="𝕓",GL="⊥",KL="⊥",XL="⋈",YL="⧉",ZL="┐",QL="╕",JL="╖",tA="╗",eA="┌",nA="╒",rA="╓",iA="╔",oA="─",sA="═",lA="┬",aA="╤",cA="╥",uA="╦",fA="┴",hA="╧",dA="╨",pA="╩",gA="⊟",vA="⊞",mA="⊠",yA="┘",bA="╛",wA="╜",xA="╝",_A="└",SA="╘",kA="╙",CA="╚",TA="│",EA="║",LA="┼",AA="╪",MA="╫",NA="╬",PA="┤",OA="╡",DA="╢",$A="╣",RA="├",zA="╞",IA="╟",FA="╠",qA="‵",HA="˘",BA="˘",WA="¦",UA="𝒷",jA="ℬ",VA="⁏",GA="∽",KA="⋍",XA="⧅",YA="\\",ZA="⟈",QA="•",JA="•",tM="≎",eM="⪮",nM="≏",rM="≎",iM="≏",oM="Ć",sM="ć",lM="⩄",aM="⩉",cM="⩋",uM="∩",fM="⋒",hM="⩇",dM="⩀",pM="ⅅ",gM="∩︀",vM="⁁",mM="ˇ",yM="ℭ",bM="⩍",wM="Č",xM="č",_M="Ç",SM="ç",kM="Ĉ",CM="ĉ",TM="∰",EM="⩌",LM="⩐",AM="Ċ",MM="ċ",NM="¸",PM="¸",OM="⦲",DM="¢",$M="·",RM="·",zM="𝔠",IM="ℭ",FM="Ч",qM="ч",HM="✓",BM="✓",WM="Χ",UM="χ",jM="ˆ",VM="≗",GM="↺",KM="↻",XM="⊛",YM="⊚",ZM="⊝",QM="⊙",JM="®",tN="Ⓢ",eN="⊖",nN="⊕",rN="⊗",iN="○",oN="⧃",sN="≗",lN="⨐",aN="⫯",cN="⧂",uN="∲",fN="”",hN="’",dN="♣",pN="♣",gN=":",vN="∷",mN="⩴",yN="≔",bN="≔",wN=",",xN="@",_N="∁",SN="∘",kN="∁",CN="ℂ",TN="≅",EN="⩭",LN="≡",AN="∮",MN="∯",NN="∮",PN="𝕔",ON="ℂ",DN="∐",$N="∐",RN="©",zN="©",IN="℗",FN="∳",qN="↵",HN="✗",BN="⨯",WN="𝒞",UN="𝒸",jN="⫏",VN="⫑",GN="⫐",KN="⫒",XN="⋯",YN="⤸",ZN="⤵",QN="⋞",JN="⋟",tP="↶",eP="⤽",nP="⩈",rP="⩆",iP="≍",oP="∪",sP="⋓",lP="⩊",aP="⊍",cP="⩅",uP="∪︀",fP="↷",hP="⤼",dP="⋞",pP="⋟",gP="⋎",vP="⋏",mP="¤",yP="↶",bP="↷",wP="⋎",xP="⋏",_P="∲",SP="∱",kP="⌭",CP="†",TP="‡",EP="ℸ",LP="↓",AP="↡",MP="⇓",NP="‐",PP="⫤",OP="⊣",DP="⤏",$P="˝",RP="Ď",zP="ď",IP="Д",FP="д",qP="‡",HP="⇊",BP="ⅅ",WP="ⅆ",UP="⤑",jP="⩷",VP="°",GP="∇",KP="Δ",XP="δ",YP="⦱",ZP="⥿",QP="𝔇",JP="𝔡",tO="⥥",eO="⇃",nO="⇂",rO="´",iO="˙",oO="˝",sO="`",lO="˜",aO="⋄",cO="⋄",uO="⋄",fO="♦",hO="♦",dO="¨",pO="ⅆ",gO="ϝ",vO="⋲",mO="÷",yO="÷",bO="⋇",wO="⋇",xO="Ђ",_O="ђ",SO="⌞",kO="⌍",CO="$",TO="𝔻",EO="𝕕",LO="¨",AO="˙",MO="⃜",NO="≐",PO="≑",OO="≐",DO="∸",$O="∔",RO="⊡",zO="⌆",IO="∯",FO="¨",qO="⇓",HO="⇐",BO="⇔",WO="⫤",UO="⟸",jO="⟺",VO="⟹",GO="⇒",KO="⊨",XO="⇑",YO="⇕",ZO="∥",QO="⤓",JO="↓",tD="↓",eD="⇓",nD="⇵",rD="̑",iD="⇊",oD="⇃",sD="⇂",lD="⥐",aD="⥞",cD="⥖",uD="↽",fD="⥟",hD="⥗",dD="⇁",pD="↧",gD="⊤",vD="⤐",mD="⌟",yD="⌌",bD="𝒟",wD="𝒹",xD="Ѕ",_D="ѕ",SD="⧶",kD="Đ",CD="đ",TD="⋱",ED="▿",LD="▾",AD="⇵",MD="⥯",ND="⦦",PD="Џ",OD="џ",DD="⟿",$D="É",RD="é",zD="⩮",ID="Ě",FD="ě",qD="Ê",HD="ê",BD="≖",WD="≕",UD="Э",jD="э",VD="⩷",GD="Ė",KD="ė",XD="≑",YD="ⅇ",ZD="≒",QD="𝔈",JD="𝔢",t$="⪚",e$="È",n$="è",r$="⪖",i$="⪘",o$="⪙",s$="∈",l$="⏧",a$="ℓ",c$="⪕",u$="⪗",f$="Ē",h$="ē",d$="∅",p$="∅",g$="◻",v$="∅",m$="▫",y$=" ",b$=" ",w$=" ",x$="Ŋ",_$="ŋ",S$=" ",k$="Ę",C$="ę",T$="𝔼",E$="𝕖",L$="⋕",A$="⧣",M$="⩱",N$="ε",P$="Ε",O$="ε",D$="ϵ",$$="≖",R$="≕",z$="≂",I$="⪖",F$="⪕",q$="⩵",H$="=",B$="≂",W$="≟",U$="⇌",j$="≡",V$="⩸",G$="⧥",K$="⥱",X$="≓",Y$="ℯ",Z$="ℰ",Q$="≐",J$="⩳",tR="≂",eR="Η",nR="η",rR="Ð",iR="ð",oR="Ë",sR="ë",lR="€",aR="!",cR="∃",uR="∃",fR="ℰ",hR="ⅇ",dR="ⅇ",pR="≒",gR="Ф",vR="ф",mR="♀",yR="ffi",bR="ff",wR="ffl",xR="𝔉",_R="𝔣",SR="fi",kR="◼",CR="▪",TR="fj",ER="♭",LR="fl",AR="▱",MR="ƒ",NR="𝔽",PR="𝕗",OR="∀",DR="∀",$R="⋔",RR="⫙",zR="ℱ",IR="⨍",FR="½",qR="⅓",HR="¼",BR="⅕",WR="⅙",UR="⅛",jR="⅔",VR="⅖",GR="¾",KR="⅗",XR="⅜",YR="⅘",ZR="⅚",QR="⅝",JR="⅞",t2="⁄",e2="⌢",n2="𝒻",r2="ℱ",i2="ǵ",o2="Γ",s2="γ",l2="Ϝ",a2="ϝ",c2="⪆",u2="Ğ",f2="ğ",h2="Ģ",d2="Ĝ",p2="ĝ",g2="Г",v2="г",m2="Ġ",y2="ġ",b2="≥",w2="≧",x2="⪌",_2="⋛",S2="≥",k2="≧",C2="⩾",T2="⪩",E2="⩾",L2="⪀",A2="⪂",M2="⪄",N2="⋛︀",P2="⪔",O2="𝔊",D2="𝔤",$2="≫",R2="⋙",z2="⋙",I2="ℷ",F2="Ѓ",q2="ѓ",H2="⪥",B2="≷",W2="⪒",U2="⪤",j2="⪊",V2="⪊",G2="⪈",K2="≩",X2="⪈",Y2="≩",Z2="⋧",Q2="𝔾",J2="𝕘",tz="`",ez="≥",nz="⋛",rz="≧",iz="⪢",oz="≷",sz="⩾",lz="≳",az="𝒢",cz="ℊ",uz="≳",fz="⪎",hz="⪐",dz="⪧",pz="⩺",gz=">",vz=">",mz="≫",yz="⋗",bz="⦕",wz="⩼",xz="⪆",_z="⥸",Sz="⋗",kz="⋛",Cz="⪌",Tz="≷",Ez="≳",Lz="≩︀",Az="≩︀",Mz="ˇ",Nz=" ",Pz="½",Oz="ℋ",Dz="Ъ",$z="ъ",Rz="⥈",zz="↔",Iz="⇔",Fz="↭",qz="^",Hz="ℏ",Bz="Ĥ",Wz="ĥ",Uz="♥",jz="♥",Vz="…",Gz="⊹",Kz="𝔥",Xz="ℌ",Yz="ℋ",Zz="⤥",Qz="⤦",Jz="⇿",tI="∻",eI="↩",nI="↪",rI="𝕙",iI="ℍ",oI="―",sI="─",lI="𝒽",aI="ℋ",cI="ℏ",uI="Ħ",fI="ħ",hI="≎",dI="≏",pI="⁃",gI="‐",vI="Í",mI="í",yI="⁣",bI="Î",wI="î",xI="И",_I="и",SI="İ",kI="Е",CI="е",TI="¡",EI="⇔",LI="𝔦",AI="ℑ",MI="Ì",NI="ì",PI="ⅈ",OI="⨌",DI="∭",$I="⧜",RI="℩",zI="IJ",II="ij",FI="Ī",qI="ī",HI="ℑ",BI="ⅈ",WI="ℐ",UI="ℑ",jI="ı",VI="ℑ",GI="⊷",KI="Ƶ",XI="⇒",YI="℅",ZI="∞",QI="⧝",JI="ı",tF="⊺",eF="∫",nF="∬",rF="ℤ",iF="∫",oF="⊺",sF="⋂",lF="⨗",aF="⨼",cF="⁣",uF="⁢",fF="Ё",hF="ё",dF="Į",pF="į",gF="𝕀",vF="𝕚",mF="Ι",yF="ι",bF="⨼",wF="¿",xF="𝒾",_F="ℐ",SF="∈",kF="⋵",CF="⋹",TF="⋴",EF="⋳",LF="∈",AF="⁢",MF="Ĩ",NF="ĩ",PF="І",OF="і",DF="Ï",$F="ï",RF="Ĵ",zF="ĵ",IF="Й",FF="й",qF="𝔍",HF="𝔧",BF="ȷ",WF="𝕁",UF="𝕛",jF="𝒥",VF="𝒿",GF="Ј",KF="ј",XF="Є",YF="є",ZF="Κ",QF="κ",JF="ϰ",tq="Ķ",eq="ķ",nq="К",rq="к",iq="𝔎",oq="𝔨",sq="ĸ",lq="Х",aq="х",cq="Ќ",uq="ќ",fq="𝕂",hq="𝕜",dq="𝒦",pq="𝓀",gq="⇚",vq="Ĺ",mq="ĺ",yq="⦴",bq="ℒ",wq="Λ",xq="λ",_q="⟨",Sq="⟪",kq="⦑",Cq="⟨",Tq="⪅",Eq="ℒ",Lq="«",Aq="⇤",Mq="⤟",Nq="←",Pq="↞",Oq="⇐",Dq="⤝",$q="↩",Rq="↫",zq="⤹",Iq="⥳",Fq="↢",qq="⤙",Hq="⤛",Bq="⪫",Wq="⪭",Uq="⪭︀",jq="⤌",Vq="⤎",Gq="❲",Kq="{",Xq="[",Yq="⦋",Zq="⦏",Qq="⦍",Jq="Ľ",tH="ľ",eH="Ļ",nH="ļ",rH="⌈",iH="{",oH="Л",sH="л",lH="⤶",aH="“",cH="„",uH="⥧",fH="⥋",hH="↲",dH="≤",pH="≦",gH="⟨",vH="⇤",mH="←",yH="←",bH="⇐",wH="⇆",xH="↢",_H="⌈",SH="⟦",kH="⥡",CH="⥙",TH="⇃",EH="⌊",LH="↽",AH="↼",MH="⇇",NH="↔",PH="↔",OH="⇔",DH="⇆",$H="⇋",RH="↭",zH="⥎",IH="↤",FH="⊣",qH="⥚",HH="⋋",BH="⧏",WH="⊲",UH="⊴",jH="⥑",VH="⥠",GH="⥘",KH="↿",XH="⥒",YH="↼",ZH="⪋",QH="⋚",JH="≤",tB="≦",eB="⩽",nB="⪨",rB="⩽",iB="⩿",oB="⪁",sB="⪃",lB="⋚︀",aB="⪓",cB="⪅",uB="⋖",fB="⋚",hB="⪋",dB="⋚",pB="≦",gB="≶",vB="≶",mB="⪡",yB="≲",bB="⩽",wB="≲",xB="⥼",_B="⌊",SB="𝔏",kB="𝔩",CB="≶",TB="⪑",EB="⥢",LB="↽",AB="↼",MB="⥪",NB="▄",PB="Љ",OB="љ",DB="⇇",$B="≪",RB="⋘",zB="⌞",IB="⇚",FB="⥫",qB="◺",HB="Ŀ",BB="ŀ",WB="⎰",UB="⎰",jB="⪉",VB="⪉",GB="⪇",KB="≨",XB="⪇",YB="≨",ZB="⋦",QB="⟬",JB="⇽",t3="⟦",e3="⟵",n3="⟵",r3="⟸",i3="⟷",o3="⟷",s3="⟺",l3="⟼",a3="⟶",c3="⟶",u3="⟹",f3="↫",h3="↬",d3="⦅",p3="𝕃",g3="𝕝",v3="⨭",m3="⨴",y3="∗",b3="_",w3="↙",x3="↘",_3="◊",S3="◊",k3="⧫",C3="(",T3="⦓",E3="⇆",L3="⌟",A3="⇋",M3="⥭",N3="‎",P3="⊿",O3="‹",D3="𝓁",$3="ℒ",R3="↰",z3="↰",I3="≲",F3="⪍",q3="⪏",H3="[",B3="‘",W3="‚",U3="Ł",j3="ł",V3="⪦",G3="⩹",K3="<",X3="<",Y3="≪",Z3="⋖",Q3="⋋",J3="⋉",t5="⥶",e5="⩻",n5="◃",r5="⊴",i5="◂",o5="⦖",s5="⥊",l5="⥦",a5="≨︀",c5="≨︀",u5="¯",f5="♂",h5="✠",d5="✠",p5="↦",g5="↦",v5="↧",m5="↤",y5="↥",b5="▮",w5="⨩",x5="М",_5="м",S5="—",k5="∺",C5="∡",T5=" ",E5="ℳ",L5="𝔐",A5="𝔪",M5="℧",N5="µ",P5="*",O5="⫰",D5="∣",$5="·",R5="⊟",z5="−",I5="∸",F5="⨪",q5="∓",H5="⫛",B5="…",W5="∓",U5="⊧",j5="𝕄",V5="𝕞",G5="∓",K5="𝓂",X5="ℳ",Y5="∾",Z5="Μ",Q5="μ",J5="⊸",t8="⊸",e8="∇",n8="Ń",r8="ń",i8="∠⃒",o8="≉",s8="⩰̸",l8="≋̸",a8="ʼn",c8="≉",u8="♮",f8="ℕ",h8="♮",d8=" ",p8="≎̸",g8="≏̸",v8="⩃",m8="Ň",y8="ň",b8="Ņ",w8="ņ",x8="≇",_8="⩭̸",S8="⩂",k8="Н",C8="н",T8="–",E8="⤤",L8="↗",A8="⇗",M8="↗",N8="≠",P8="≐̸",O8="​",D8="​",$8="​",R8="​",z8="≢",I8="⤨",F8="≂̸",q8="≫",H8="≪",B8=` +`,W8="∄",U8="∄",j8="𝔑",V8="𝔫",G8="≧̸",K8="≱",X8="≱",Y8="≧̸",Z8="⩾̸",Q8="⩾̸",J8="⋙̸",tW="≵",eW="≫⃒",nW="≯",rW="≯",iW="≫̸",oW="↮",sW="⇎",lW="⫲",aW="∋",cW="⋼",uW="⋺",fW="∋",hW="Њ",dW="њ",pW="↚",gW="⇍",vW="‥",mW="≦̸",yW="≰",bW="↚",wW="⇍",xW="↮",_W="⇎",SW="≰",kW="≦̸",CW="⩽̸",TW="⩽̸",EW="≮",LW="⋘̸",AW="≴",MW="≪⃒",NW="≮",PW="⋪",OW="⋬",DW="≪̸",$W="∤",RW="⁠",zW=" ",IW="𝕟",FW="ℕ",qW="⫬",HW="¬",BW="≢",WW="≭",UW="∦",jW="∉",VW="≠",GW="≂̸",KW="∄",XW="≯",YW="≱",ZW="≧̸",QW="≫̸",JW="≹",tU="⩾̸",eU="≵",nU="≎̸",rU="≏̸",iU="∉",oU="⋵̸",sU="⋹̸",lU="∉",aU="⋷",cU="⋶",uU="⧏̸",fU="⋪",hU="⋬",dU="≮",pU="≰",gU="≸",vU="≪̸",mU="⩽̸",yU="≴",bU="⪢̸",wU="⪡̸",xU="∌",_U="∌",SU="⋾",kU="⋽",CU="⊀",TU="⪯̸",EU="⋠",LU="∌",AU="⧐̸",MU="⋫",NU="⋭",PU="⊏̸",OU="⋢",DU="⊐̸",$U="⋣",RU="⊂⃒",zU="⊈",IU="⊁",FU="⪰̸",qU="⋡",HU="≿̸",BU="⊃⃒",WU="⊉",UU="≁",jU="≄",VU="≇",GU="≉",KU="∤",XU="∦",YU="∦",ZU="⫽⃥",QU="∂̸",JU="⨔",t4="⊀",e4="⋠",n4="⊀",r4="⪯̸",i4="⪯̸",o4="⤳̸",s4="↛",l4="⇏",a4="↝̸",c4="↛",u4="⇏",f4="⋫",h4="⋭",d4="⊁",p4="⋡",g4="⪰̸",v4="𝒩",m4="𝓃",y4="∤",b4="∦",w4="≁",x4="≄",_4="≄",S4="∤",k4="∦",C4="⋢",T4="⋣",E4="⊄",L4="⫅̸",A4="⊈",M4="⊂⃒",N4="⊈",P4="⫅̸",O4="⊁",D4="⪰̸",$4="⊅",R4="⫆̸",z4="⊉",I4="⊃⃒",F4="⊉",q4="⫆̸",H4="≹",B4="Ñ",W4="ñ",U4="≸",j4="⋪",V4="⋬",G4="⋫",K4="⋭",X4="Ν",Y4="ν",Z4="#",Q4="№",J4=" ",t6="≍⃒",e6="⊬",n6="⊭",r6="⊮",i6="⊯",o6="≥⃒",s6=">⃒",l6="⤄",a6="⧞",c6="⤂",u6="≤⃒",f6="<⃒",h6="⊴⃒",d6="⤃",p6="⊵⃒",g6="∼⃒",v6="⤣",m6="↖",y6="⇖",b6="↖",w6="⤧",x6="Ó",_6="ó",S6="⊛",k6="Ô",C6="ô",T6="⊚",E6="О",L6="о",A6="⊝",M6="Ő",N6="ő",P6="⨸",O6="⊙",D6="⦼",$6="Œ",R6="œ",z6="⦿",I6="𝔒",F6="𝔬",q6="˛",H6="Ò",B6="ò",W6="⧁",U6="⦵",j6="Ω",V6="∮",G6="↺",K6="⦾",X6="⦻",Y6="‾",Z6="⧀",Q6="Ō",J6="ō",tj="Ω",ej="ω",nj="Ο",rj="ο",ij="⦶",oj="⊖",sj="𝕆",lj="𝕠",aj="⦷",cj="“",uj="‘",fj="⦹",hj="⊕",dj="↻",pj="⩔",gj="∨",vj="⩝",mj="ℴ",yj="ℴ",bj="ª",wj="º",xj="⊶",_j="⩖",Sj="⩗",kj="⩛",Cj="Ⓢ",Tj="𝒪",Ej="ℴ",Lj="Ø",Aj="ø",Mj="⊘",Nj="Õ",Pj="õ",Oj="⨶",Dj="⨷",$j="⊗",Rj="Ö",zj="ö",Ij="⌽",Fj="‾",qj="⏞",Hj="⎴",Bj="⏜",Wj="¶",Uj="∥",jj="∥",Vj="⫳",Gj="⫽",Kj="∂",Xj="∂",Yj="П",Zj="п",Qj="%",Jj=".",t9="‰",e9="⊥",n9="‱",r9="𝔓",i9="𝔭",o9="Φ",s9="φ",l9="ϕ",a9="ℳ",c9="☎",u9="Π",f9="π",h9="⋔",d9="ϖ",p9="ℏ",g9="ℎ",v9="ℏ",m9="⨣",y9="⊞",b9="⨢",w9="+",x9="∔",_9="⨥",S9="⩲",k9="±",C9="±",T9="⨦",E9="⨧",L9="±",A9="ℌ",M9="⨕",N9="𝕡",P9="ℙ",O9="£",D9="⪷",$9="⪻",R9="≺",z9="≼",I9="⪷",F9="≺",q9="≼",H9="≺",B9="⪯",W9="≼",U9="≾",j9="⪯",V9="⪹",G9="⪵",K9="⋨",X9="⪯",Y9="⪳",Z9="≾",Q9="′",J9="″",tV="ℙ",eV="⪹",nV="⪵",rV="⋨",iV="∏",oV="∏",sV="⌮",lV="⌒",aV="⌓",cV="∝",uV="∝",fV="∷",hV="∝",dV="≾",pV="⊰",gV="𝒫",vV="𝓅",mV="Ψ",yV="ψ",bV=" ",wV="𝔔",xV="𝔮",_V="⨌",SV="𝕢",kV="ℚ",CV="⁗",TV="𝒬",EV="𝓆",LV="ℍ",AV="⨖",MV="?",NV="≟",PV='"',OV='"',DV="⇛",$V="∽̱",RV="Ŕ",zV="ŕ",IV="√",FV="⦳",qV="⟩",HV="⟫",BV="⦒",WV="⦥",UV="⟩",jV="»",VV="⥵",GV="⇥",KV="⤠",XV="⤳",YV="→",ZV="↠",QV="⇒",JV="⤞",tG="↪",eG="↬",nG="⥅",rG="⥴",iG="⤖",oG="↣",sG="↝",lG="⤚",aG="⤜",cG="∶",uG="ℚ",fG="⤍",hG="⤏",dG="⤐",pG="❳",gG="}",vG="]",mG="⦌",yG="⦎",bG="⦐",wG="Ř",xG="ř",_G="Ŗ",SG="ŗ",kG="⌉",CG="}",TG="Р",EG="р",LG="⤷",AG="⥩",MG="”",NG="”",PG="↳",OG="ℜ",DG="ℛ",$G="ℜ",RG="ℝ",zG="ℜ",IG="▭",FG="®",qG="®",HG="∋",BG="⇋",WG="⥯",UG="⥽",jG="⌋",VG="𝔯",GG="ℜ",KG="⥤",XG="⇁",YG="⇀",ZG="⥬",QG="Ρ",JG="ρ",t7="ϱ",e7="⟩",n7="⇥",r7="→",i7="→",o7="⇒",s7="⇄",l7="↣",a7="⌉",c7="⟧",u7="⥝",f7="⥕",h7="⇂",d7="⌋",p7="⇁",g7="⇀",v7="⇄",m7="⇌",y7="⇉",b7="↝",w7="↦",x7="⊢",_7="⥛",S7="⋌",k7="⧐",C7="⊳",T7="⊵",E7="⥏",L7="⥜",A7="⥔",M7="↾",N7="⥓",P7="⇀",O7="˚",D7="≓",$7="⇄",R7="⇌",z7="‏",I7="⎱",F7="⎱",q7="⫮",H7="⟭",B7="⇾",W7="⟧",U7="⦆",j7="𝕣",V7="ℝ",G7="⨮",K7="⨵",X7="⥰",Y7=")",Z7="⦔",Q7="⨒",J7="⇉",tK="⇛",eK="›",nK="𝓇",rK="ℛ",iK="↱",oK="↱",sK="]",lK="’",aK="’",cK="⋌",uK="⋊",fK="▹",hK="⊵",dK="▸",pK="⧎",gK="⧴",vK="⥨",mK="℞",yK="Ś",bK="ś",wK="‚",xK="⪸",_K="Š",SK="š",kK="⪼",CK="≻",TK="≽",EK="⪰",LK="⪴",AK="Ş",MK="ş",NK="Ŝ",PK="ŝ",OK="⪺",DK="⪶",$K="⋩",RK="⨓",zK="≿",IK="С",FK="с",qK="⊡",HK="⋅",BK="⩦",WK="⤥",UK="↘",jK="⇘",VK="↘",GK="§",KK=";",XK="⤩",YK="∖",ZK="∖",QK="✶",JK="𝔖",tX="𝔰",eX="⌢",nX="♯",rX="Щ",iX="щ",oX="Ш",sX="ш",lX="↓",aX="←",cX="∣",uX="∥",fX="→",hX="↑",dX="­",pX="Σ",gX="σ",vX="ς",mX="ς",yX="∼",bX="⩪",wX="≃",xX="≃",_X="⪞",SX="⪠",kX="⪝",CX="⪟",TX="≆",EX="⨤",LX="⥲",AX="←",MX="∘",NX="∖",PX="⨳",OX="⧤",DX="∣",$X="⌣",RX="⪪",zX="⪬",IX="⪬︀",FX="Ь",qX="ь",HX="⌿",BX="⧄",WX="/",UX="𝕊",jX="𝕤",VX="♠",GX="♠",KX="∥",XX="⊓",YX="⊓︀",ZX="⊔",QX="⊔︀",JX="√",tY="⊏",eY="⊑",nY="⊏",rY="⊑",iY="⊐",oY="⊒",sY="⊐",lY="⊒",aY="□",cY="□",uY="⊓",fY="⊏",hY="⊑",dY="⊐",pY="⊒",gY="⊔",vY="▪",mY="□",yY="▪",bY="→",wY="𝒮",xY="𝓈",_Y="∖",SY="⌣",kY="⋆",CY="⋆",TY="☆",EY="★",LY="ϵ",AY="ϕ",MY="¯",NY="⊂",PY="⋐",OY="⪽",DY="⫅",$Y="⊆",RY="⫃",zY="⫁",IY="⫋",FY="⊊",qY="⪿",HY="⥹",BY="⊂",WY="⋐",UY="⊆",jY="⫅",VY="⊆",GY="⊊",KY="⫋",XY="⫇",YY="⫕",ZY="⫓",QY="⪸",JY="≻",tZ="≽",eZ="≻",nZ="⪰",rZ="≽",iZ="≿",oZ="⪰",sZ="⪺",lZ="⪶",aZ="⋩",cZ="≿",uZ="∋",fZ="∑",hZ="∑",dZ="♪",pZ="¹",gZ="²",vZ="³",mZ="⊃",yZ="⋑",bZ="⪾",wZ="⫘",xZ="⫆",_Z="⊇",SZ="⫄",kZ="⊃",CZ="⊇",TZ="⟉",EZ="⫗",LZ="⥻",AZ="⫂",MZ="⫌",NZ="⊋",PZ="⫀",OZ="⊃",DZ="⋑",$Z="⊇",RZ="⫆",zZ="⊋",IZ="⫌",FZ="⫈",qZ="⫔",HZ="⫖",BZ="⤦",WZ="↙",UZ="⇙",jZ="↙",VZ="⤪",GZ="ß",KZ=" ",XZ="⌖",YZ="Τ",ZZ="τ",QZ="⎴",JZ="Ť",tQ="ť",eQ="Ţ",nQ="ţ",rQ="Т",iQ="т",oQ="⃛",sQ="⌕",lQ="𝔗",aQ="𝔱",cQ="∴",uQ="∴",fQ="∴",hQ="Θ",dQ="θ",pQ="ϑ",gQ="ϑ",vQ="≈",mQ="∼",yQ="  ",bQ=" ",wQ=" ",xQ="≈",_Q="∼",SQ="Þ",kQ="þ",CQ="˜",TQ="∼",EQ="≃",LQ="≅",AQ="≈",MQ="⨱",NQ="⊠",PQ="×",OQ="⨰",DQ="∭",$Q="⤨",RQ="⌶",zQ="⫱",IQ="⊤",FQ="𝕋",qQ="𝕥",HQ="⫚",BQ="⤩",WQ="‴",UQ="™",jQ="™",VQ="▵",GQ="▿",KQ="◃",XQ="⊴",YQ="≜",ZQ="▹",QQ="⊵",JQ="◬",tJ="≜",eJ="⨺",nJ="⃛",rJ="⨹",iJ="⧍",oJ="⨻",sJ="⏢",lJ="𝒯",aJ="𝓉",cJ="Ц",uJ="ц",fJ="Ћ",hJ="ћ",dJ="Ŧ",pJ="ŧ",gJ="≬",vJ="↞",mJ="↠",yJ="Ú",bJ="ú",wJ="↑",xJ="↟",_J="⇑",SJ="⥉",kJ="Ў",CJ="ў",TJ="Ŭ",EJ="ŭ",LJ="Û",AJ="û",MJ="У",NJ="у",PJ="⇅",OJ="Ű",DJ="ű",$J="⥮",RJ="⥾",zJ="𝔘",IJ="𝔲",FJ="Ù",qJ="ù",HJ="⥣",BJ="↿",WJ="↾",UJ="▀",jJ="⌜",VJ="⌜",GJ="⌏",KJ="◸",XJ="Ū",YJ="ū",ZJ="¨",QJ="_",JJ="⏟",ttt="⎵",ett="⏝",ntt="⋃",rtt="⊎",itt="Ų",ott="ų",stt="𝕌",ltt="𝕦",att="⤒",ctt="↑",utt="↑",ftt="⇑",htt="⇅",dtt="↕",ptt="↕",gtt="⇕",vtt="⥮",mtt="↿",ytt="↾",btt="⊎",wtt="↖",xtt="↗",_tt="υ",Stt="ϒ",ktt="ϒ",Ctt="Υ",Ttt="υ",Ett="↥",Ltt="⊥",Att="⇈",Mtt="⌝",Ntt="⌝",Ptt="⌎",Ott="Ů",Dtt="ů",$tt="◹",Rtt="𝒰",ztt="𝓊",Itt="⋰",Ftt="Ũ",qtt="ũ",Htt="▵",Btt="▴",Wtt="⇈",Utt="Ü",jtt="ü",Vtt="⦧",Gtt="⦜",Ktt="ϵ",Xtt="ϰ",Ytt="∅",Ztt="ϕ",Qtt="ϖ",Jtt="∝",tet="↕",eet="⇕",net="ϱ",ret="ς",iet="⊊︀",oet="⫋︀",set="⊋︀",aet="⫌︀",cet="ϑ",uet="⊲",fet="⊳",het="⫨",det="⫫",pet="⫩",get="В",vet="в",met="⊢",yet="⊨",bet="⊩",wet="⊫",xet="⫦",_et="⊻",ket="∨",Cet="⋁",Tet="≚",Eet="⋮",Let="|",Aet="‖",Met="|",Net="‖",Pet="∣",Oet="|",Det="❘",$et="≀",Ret=" ",zet="𝔙",Iet="𝔳",Fet="⊲",qet="⊂⃒",Het="⊃⃒",Bet="𝕍",Wet="𝕧",Uet="∝",jet="⊳",Vet="𝒱",Get="𝓋",Ket="⫋︀",Xet="⊊︀",Yet="⫌︀",Zet="⊋︀",Qet="⊪",Jet="⦚",tnt="Ŵ",ent="ŵ",nnt="⩟",rnt="∧",int="⋀",ont="≙",snt="℘",lnt="𝔚",ant="𝔴",cnt="𝕎",unt="𝕨",fnt="℘",hnt="≀",dnt="≀",pnt="𝒲",gnt="𝓌",vnt="⋂",mnt="◯",ynt="⋃",bnt="▽",wnt="𝔛",xnt="𝔵",_nt="⟷",Snt="⟺",knt="Ξ",Cnt="ξ",Tnt="⟵",Ent="⟸",Lnt="⟼",Ant="⋻",Mnt="⨀",Nnt="𝕏",Pnt="𝕩",Ont="⨁",Dnt="⨂",$nt="⟶",Rnt="⟹",znt="𝒳",Int="𝓍",Fnt="⨆",qnt="⨄",Hnt="△",Bnt="⋁",Wnt="⋀",Unt="Ý",jnt="ý",Vnt="Я",Gnt="я",Knt="Ŷ",Xnt="ŷ",Ynt="Ы",Znt="ы",Qnt="¥",Jnt="𝔜",trt="𝔶",ert="Ї",nrt="ї",rrt="𝕐",irt="𝕪",ort="𝒴",srt="𝓎",lrt="Ю",art="ю",crt="ÿ",urt="Ÿ",frt="Ź",hrt="ź",drt="Ž",prt="ž",grt="З",vrt="з",mrt="Ż",yrt="ż",brt="ℨ",wrt="​",xrt="Ζ",_rt="ζ",Srt="𝔷",krt="ℨ",Crt="Ж",Trt="ж",Ert="⇝",Lrt="𝕫",Art="ℤ",Mrt="𝒵",Nrt="𝓏",Prt="‍",Ort="‌",dy={Aacute:gT,aacute:vT,Abreve:mT,abreve:yT,ac:bT,acd:wT,acE:xT,Acirc:_T,acirc:ST,acute:kT,Acy:CT,acy:TT,AElig:ET,aelig:LT,af:AT,Afr:MT,afr:NT,Agrave:PT,agrave:OT,alefsym:DT,aleph:$T,Alpha:RT,alpha:zT,Amacr:IT,amacr:FT,amalg:qT,amp:HT,AMP:BT,andand:WT,And:UT,and:jT,andd:VT,andslope:GT,andv:KT,ang:XT,ange:YT,angle:ZT,angmsdaa:QT,angmsdab:JT,angmsdac:tE,angmsdad:eE,angmsdae:nE,angmsdaf:rE,angmsdag:iE,angmsdah:oE,angmsd:sE,angrt:lE,angrtvb:aE,angrtvbd:cE,angsph:uE,angst:fE,angzarr:hE,Aogon:dE,aogon:pE,Aopf:gE,aopf:vE,apacir:mE,ap:yE,apE:bE,ape:wE,apid:xE,apos:_E,ApplyFunction:SE,approx:kE,approxeq:CE,Aring:TE,aring:EE,Ascr:LE,ascr:AE,Assign:ME,ast:NE,asymp:PE,asympeq:OE,Atilde:DE,atilde:$E,Auml:RE,auml:zE,awconint:IE,awint:FE,backcong:qE,backepsilon:HE,backprime:BE,backsim:WE,backsimeq:UE,Backslash:jE,Barv:VE,barvee:GE,barwed:KE,Barwed:XE,barwedge:YE,bbrk:ZE,bbrktbrk:QE,bcong:JE,Bcy:tL,bcy:eL,bdquo:nL,becaus:rL,because:iL,Because:oL,bemptyv:sL,bepsi:lL,bernou:aL,Bernoullis:cL,Beta:uL,beta:fL,beth:hL,between:dL,Bfr:pL,bfr:gL,bigcap:vL,bigcirc:mL,bigcup:yL,bigodot:bL,bigoplus:wL,bigotimes:xL,bigsqcup:_L,bigstar:SL,bigtriangledown:kL,bigtriangleup:CL,biguplus:TL,bigvee:EL,bigwedge:LL,bkarow:AL,blacklozenge:ML,blacksquare:NL,blacktriangle:PL,blacktriangledown:OL,blacktriangleleft:DL,blacktriangleright:$L,blank:RL,blk12:zL,blk14:IL,blk34:FL,block:qL,bne:HL,bnequiv:BL,bNot:WL,bnot:UL,Bopf:jL,bopf:VL,bot:GL,bottom:KL,bowtie:XL,boxbox:YL,boxdl:ZL,boxdL:QL,boxDl:JL,boxDL:tA,boxdr:eA,boxdR:nA,boxDr:rA,boxDR:iA,boxh:oA,boxH:sA,boxhd:lA,boxHd:aA,boxhD:cA,boxHD:uA,boxhu:fA,boxHu:hA,boxhU:dA,boxHU:pA,boxminus:gA,boxplus:vA,boxtimes:mA,boxul:yA,boxuL:bA,boxUl:wA,boxUL:xA,boxur:_A,boxuR:SA,boxUr:kA,boxUR:CA,boxv:TA,boxV:EA,boxvh:LA,boxvH:AA,boxVh:MA,boxVH:NA,boxvl:PA,boxvL:OA,boxVl:DA,boxVL:$A,boxvr:RA,boxvR:zA,boxVr:IA,boxVR:FA,bprime:qA,breve:HA,Breve:BA,brvbar:WA,bscr:UA,Bscr:jA,bsemi:VA,bsim:GA,bsime:KA,bsolb:XA,bsol:YA,bsolhsub:ZA,bull:QA,bullet:JA,bump:tM,bumpE:eM,bumpe:nM,Bumpeq:rM,bumpeq:iM,Cacute:oM,cacute:sM,capand:lM,capbrcup:aM,capcap:cM,cap:uM,Cap:fM,capcup:hM,capdot:dM,CapitalDifferentialD:pM,caps:gM,caret:vM,caron:mM,Cayleys:yM,ccaps:bM,Ccaron:wM,ccaron:xM,Ccedil:_M,ccedil:SM,Ccirc:kM,ccirc:CM,Cconint:TM,ccups:EM,ccupssm:LM,Cdot:AM,cdot:MM,cedil:NM,Cedilla:PM,cemptyv:OM,cent:DM,centerdot:$M,CenterDot:RM,cfr:zM,Cfr:IM,CHcy:FM,chcy:qM,check:HM,checkmark:BM,Chi:WM,chi:UM,circ:jM,circeq:VM,circlearrowleft:GM,circlearrowright:KM,circledast:XM,circledcirc:YM,circleddash:ZM,CircleDot:QM,circledR:JM,circledS:tN,CircleMinus:eN,CirclePlus:nN,CircleTimes:rN,cir:iN,cirE:oN,cire:sN,cirfnint:lN,cirmid:aN,cirscir:cN,ClockwiseContourIntegral:uN,CloseCurlyDoubleQuote:fN,CloseCurlyQuote:hN,clubs:dN,clubsuit:pN,colon:gN,Colon:vN,Colone:mN,colone:yN,coloneq:bN,comma:wN,commat:xN,comp:_N,compfn:SN,complement:kN,complexes:CN,cong:TN,congdot:EN,Congruent:LN,conint:AN,Conint:MN,ContourIntegral:NN,copf:PN,Copf:ON,coprod:DN,Coproduct:$N,copy:RN,COPY:zN,copysr:IN,CounterClockwiseContourIntegral:FN,crarr:qN,cross:HN,Cross:BN,Cscr:WN,cscr:UN,csub:jN,csube:VN,csup:GN,csupe:KN,ctdot:XN,cudarrl:YN,cudarrr:ZN,cuepr:QN,cuesc:JN,cularr:tP,cularrp:eP,cupbrcap:nP,cupcap:rP,CupCap:iP,cup:oP,Cup:sP,cupcup:lP,cupdot:aP,cupor:cP,cups:uP,curarr:fP,curarrm:hP,curlyeqprec:dP,curlyeqsucc:pP,curlyvee:gP,curlywedge:vP,curren:mP,curvearrowleft:yP,curvearrowright:bP,cuvee:wP,cuwed:xP,cwconint:_P,cwint:SP,cylcty:kP,dagger:CP,Dagger:TP,daleth:EP,darr:LP,Darr:AP,dArr:MP,dash:NP,Dashv:PP,dashv:OP,dbkarow:DP,dblac:$P,Dcaron:RP,dcaron:zP,Dcy:IP,dcy:FP,ddagger:qP,ddarr:HP,DD:BP,dd:WP,DDotrahd:UP,ddotseq:jP,deg:VP,Del:GP,Delta:KP,delta:XP,demptyv:YP,dfisht:ZP,Dfr:QP,dfr:JP,dHar:tO,dharl:eO,dharr:nO,DiacriticalAcute:rO,DiacriticalDot:iO,DiacriticalDoubleAcute:oO,DiacriticalGrave:sO,DiacriticalTilde:lO,diam:aO,diamond:cO,Diamond:uO,diamondsuit:fO,diams:hO,die:dO,DifferentialD:pO,digamma:gO,disin:vO,div:mO,divide:yO,divideontimes:bO,divonx:wO,DJcy:xO,djcy:_O,dlcorn:SO,dlcrop:kO,dollar:CO,Dopf:TO,dopf:EO,Dot:LO,dot:AO,DotDot:MO,doteq:NO,doteqdot:PO,DotEqual:OO,dotminus:DO,dotplus:$O,dotsquare:RO,doublebarwedge:zO,DoubleContourIntegral:IO,DoubleDot:FO,DoubleDownArrow:qO,DoubleLeftArrow:HO,DoubleLeftRightArrow:BO,DoubleLeftTee:WO,DoubleLongLeftArrow:UO,DoubleLongLeftRightArrow:jO,DoubleLongRightArrow:VO,DoubleRightArrow:GO,DoubleRightTee:KO,DoubleUpArrow:XO,DoubleUpDownArrow:YO,DoubleVerticalBar:ZO,DownArrowBar:QO,downarrow:JO,DownArrow:tD,Downarrow:eD,DownArrowUpArrow:nD,DownBreve:rD,downdownarrows:iD,downharpoonleft:oD,downharpoonright:sD,DownLeftRightVector:lD,DownLeftTeeVector:aD,DownLeftVectorBar:cD,DownLeftVector:uD,DownRightTeeVector:fD,DownRightVectorBar:hD,DownRightVector:dD,DownTeeArrow:pD,DownTee:gD,drbkarow:vD,drcorn:mD,drcrop:yD,Dscr:bD,dscr:wD,DScy:xD,dscy:_D,dsol:SD,Dstrok:kD,dstrok:CD,dtdot:TD,dtri:ED,dtrif:LD,duarr:AD,duhar:MD,dwangle:ND,DZcy:PD,dzcy:OD,dzigrarr:DD,Eacute:$D,eacute:RD,easter:zD,Ecaron:ID,ecaron:FD,Ecirc:qD,ecirc:HD,ecir:BD,ecolon:WD,Ecy:UD,ecy:jD,eDDot:VD,Edot:GD,edot:KD,eDot:XD,ee:YD,efDot:ZD,Efr:QD,efr:JD,eg:t$,Egrave:e$,egrave:n$,egs:r$,egsdot:i$,el:o$,Element:s$,elinters:l$,ell:a$,els:c$,elsdot:u$,Emacr:f$,emacr:h$,empty:d$,emptyset:p$,EmptySmallSquare:g$,emptyv:v$,EmptyVerySmallSquare:m$,emsp13:y$,emsp14:b$,emsp:w$,ENG:x$,eng:_$,ensp:S$,Eogon:k$,eogon:C$,Eopf:T$,eopf:E$,epar:L$,eparsl:A$,eplus:M$,epsi:N$,Epsilon:P$,epsilon:O$,epsiv:D$,eqcirc:$$,eqcolon:R$,eqsim:z$,eqslantgtr:I$,eqslantless:F$,Equal:q$,equals:H$,EqualTilde:B$,equest:W$,Equilibrium:U$,equiv:j$,equivDD:V$,eqvparsl:G$,erarr:K$,erDot:X$,escr:Y$,Escr:Z$,esdot:Q$,Esim:J$,esim:tR,Eta:eR,eta:nR,ETH:rR,eth:iR,Euml:oR,euml:sR,euro:lR,excl:aR,exist:cR,Exists:uR,expectation:fR,exponentiale:hR,ExponentialE:dR,fallingdotseq:pR,Fcy:gR,fcy:vR,female:mR,ffilig:yR,fflig:bR,ffllig:wR,Ffr:xR,ffr:_R,filig:SR,FilledSmallSquare:kR,FilledVerySmallSquare:CR,fjlig:TR,flat:ER,fllig:LR,fltns:AR,fnof:MR,Fopf:NR,fopf:PR,forall:OR,ForAll:DR,fork:$R,forkv:RR,Fouriertrf:zR,fpartint:IR,frac12:FR,frac13:qR,frac14:HR,frac15:BR,frac16:WR,frac18:UR,frac23:jR,frac25:VR,frac34:GR,frac35:KR,frac38:XR,frac45:YR,frac56:ZR,frac58:QR,frac78:JR,frasl:t2,frown:e2,fscr:n2,Fscr:r2,gacute:i2,Gamma:o2,gamma:s2,Gammad:l2,gammad:a2,gap:c2,Gbreve:u2,gbreve:f2,Gcedil:h2,Gcirc:d2,gcirc:p2,Gcy:g2,gcy:v2,Gdot:m2,gdot:y2,ge:b2,gE:w2,gEl:x2,gel:_2,geq:S2,geqq:k2,geqslant:C2,gescc:T2,ges:E2,gesdot:L2,gesdoto:A2,gesdotol:M2,gesl:N2,gesles:P2,Gfr:O2,gfr:D2,gg:$2,Gg:R2,ggg:z2,gimel:I2,GJcy:F2,gjcy:q2,gla:H2,gl:B2,glE:W2,glj:U2,gnap:j2,gnapprox:V2,gne:G2,gnE:K2,gneq:X2,gneqq:Y2,gnsim:Z2,Gopf:Q2,gopf:J2,grave:tz,GreaterEqual:ez,GreaterEqualLess:nz,GreaterFullEqual:rz,GreaterGreater:iz,GreaterLess:oz,GreaterSlantEqual:sz,GreaterTilde:lz,Gscr:az,gscr:cz,gsim:uz,gsime:fz,gsiml:hz,gtcc:dz,gtcir:pz,gt:gz,GT:vz,Gt:mz,gtdot:yz,gtlPar:bz,gtquest:wz,gtrapprox:xz,gtrarr:_z,gtrdot:Sz,gtreqless:kz,gtreqqless:Cz,gtrless:Tz,gtrsim:Ez,gvertneqq:Lz,gvnE:Az,Hacek:Mz,hairsp:Nz,half:Pz,hamilt:Oz,HARDcy:Dz,hardcy:$z,harrcir:Rz,harr:zz,hArr:Iz,harrw:Fz,Hat:qz,hbar:Hz,Hcirc:Bz,hcirc:Wz,hearts:Uz,heartsuit:jz,hellip:Vz,hercon:Gz,hfr:Kz,Hfr:Xz,HilbertSpace:Yz,hksearow:Zz,hkswarow:Qz,hoarr:Jz,homtht:tI,hookleftarrow:eI,hookrightarrow:nI,hopf:rI,Hopf:iI,horbar:oI,HorizontalLine:sI,hscr:lI,Hscr:aI,hslash:cI,Hstrok:uI,hstrok:fI,HumpDownHump:hI,HumpEqual:dI,hybull:pI,hyphen:gI,Iacute:vI,iacute:mI,ic:yI,Icirc:bI,icirc:wI,Icy:xI,icy:_I,Idot:SI,IEcy:kI,iecy:CI,iexcl:TI,iff:EI,ifr:LI,Ifr:AI,Igrave:MI,igrave:NI,ii:PI,iiiint:OI,iiint:DI,iinfin:$I,iiota:RI,IJlig:zI,ijlig:II,Imacr:FI,imacr:qI,image:HI,ImaginaryI:BI,imagline:WI,imagpart:UI,imath:jI,Im:VI,imof:GI,imped:KI,Implies:XI,incare:YI,in:"∈",infin:ZI,infintie:QI,inodot:JI,intcal:tF,int:eF,Int:nF,integers:rF,Integral:iF,intercal:oF,Intersection:sF,intlarhk:lF,intprod:aF,InvisibleComma:cF,InvisibleTimes:uF,IOcy:fF,iocy:hF,Iogon:dF,iogon:pF,Iopf:gF,iopf:vF,Iota:mF,iota:yF,iprod:bF,iquest:wF,iscr:xF,Iscr:_F,isin:SF,isindot:kF,isinE:CF,isins:TF,isinsv:EF,isinv:LF,it:AF,Itilde:MF,itilde:NF,Iukcy:PF,iukcy:OF,Iuml:DF,iuml:$F,Jcirc:RF,jcirc:zF,Jcy:IF,jcy:FF,Jfr:qF,jfr:HF,jmath:BF,Jopf:WF,jopf:UF,Jscr:jF,jscr:VF,Jsercy:GF,jsercy:KF,Jukcy:XF,jukcy:YF,Kappa:ZF,kappa:QF,kappav:JF,Kcedil:tq,kcedil:eq,Kcy:nq,kcy:rq,Kfr:iq,kfr:oq,kgreen:sq,KHcy:lq,khcy:aq,KJcy:cq,kjcy:uq,Kopf:fq,kopf:hq,Kscr:dq,kscr:pq,lAarr:gq,Lacute:vq,lacute:mq,laemptyv:yq,lagran:bq,Lambda:wq,lambda:xq,lang:_q,Lang:Sq,langd:kq,langle:Cq,lap:Tq,Laplacetrf:Eq,laquo:Lq,larrb:Aq,larrbfs:Mq,larr:Nq,Larr:Pq,lArr:Oq,larrfs:Dq,larrhk:$q,larrlp:Rq,larrpl:zq,larrsim:Iq,larrtl:Fq,latail:qq,lAtail:Hq,lat:Bq,late:Wq,lates:Uq,lbarr:jq,lBarr:Vq,lbbrk:Gq,lbrace:Kq,lbrack:Xq,lbrke:Yq,lbrksld:Zq,lbrkslu:Qq,Lcaron:Jq,lcaron:tH,Lcedil:eH,lcedil:nH,lceil:rH,lcub:iH,Lcy:oH,lcy:sH,ldca:lH,ldquo:aH,ldquor:cH,ldrdhar:uH,ldrushar:fH,ldsh:hH,le:dH,lE:pH,LeftAngleBracket:gH,LeftArrowBar:vH,leftarrow:mH,LeftArrow:yH,Leftarrow:bH,LeftArrowRightArrow:wH,leftarrowtail:xH,LeftCeiling:_H,LeftDoubleBracket:SH,LeftDownTeeVector:kH,LeftDownVectorBar:CH,LeftDownVector:TH,LeftFloor:EH,leftharpoondown:LH,leftharpoonup:AH,leftleftarrows:MH,leftrightarrow:NH,LeftRightArrow:PH,Leftrightarrow:OH,leftrightarrows:DH,leftrightharpoons:$H,leftrightsquigarrow:RH,LeftRightVector:zH,LeftTeeArrow:IH,LeftTee:FH,LeftTeeVector:qH,leftthreetimes:HH,LeftTriangleBar:BH,LeftTriangle:WH,LeftTriangleEqual:UH,LeftUpDownVector:jH,LeftUpTeeVector:VH,LeftUpVectorBar:GH,LeftUpVector:KH,LeftVectorBar:XH,LeftVector:YH,lEg:ZH,leg:QH,leq:JH,leqq:tB,leqslant:eB,lescc:nB,les:rB,lesdot:iB,lesdoto:oB,lesdotor:sB,lesg:lB,lesges:aB,lessapprox:cB,lessdot:uB,lesseqgtr:fB,lesseqqgtr:hB,LessEqualGreater:dB,LessFullEqual:pB,LessGreater:gB,lessgtr:vB,LessLess:mB,lesssim:yB,LessSlantEqual:bB,LessTilde:wB,lfisht:xB,lfloor:_B,Lfr:SB,lfr:kB,lg:CB,lgE:TB,lHar:EB,lhard:LB,lharu:AB,lharul:MB,lhblk:NB,LJcy:PB,ljcy:OB,llarr:DB,ll:$B,Ll:RB,llcorner:zB,Lleftarrow:IB,llhard:FB,lltri:qB,Lmidot:HB,lmidot:BB,lmoustache:WB,lmoust:UB,lnap:jB,lnapprox:VB,lne:GB,lnE:KB,lneq:XB,lneqq:YB,lnsim:ZB,loang:QB,loarr:JB,lobrk:t3,longleftarrow:e3,LongLeftArrow:n3,Longleftarrow:r3,longleftrightarrow:i3,LongLeftRightArrow:o3,Longleftrightarrow:s3,longmapsto:l3,longrightarrow:a3,LongRightArrow:c3,Longrightarrow:u3,looparrowleft:f3,looparrowright:h3,lopar:d3,Lopf:p3,lopf:g3,loplus:v3,lotimes:m3,lowast:y3,lowbar:b3,LowerLeftArrow:w3,LowerRightArrow:x3,loz:_3,lozenge:S3,lozf:k3,lpar:C3,lparlt:T3,lrarr:E3,lrcorner:L3,lrhar:A3,lrhard:M3,lrm:N3,lrtri:P3,lsaquo:O3,lscr:D3,Lscr:$3,lsh:R3,Lsh:z3,lsim:I3,lsime:F3,lsimg:q3,lsqb:H3,lsquo:B3,lsquor:W3,Lstrok:U3,lstrok:j3,ltcc:V3,ltcir:G3,lt:K3,LT:X3,Lt:Y3,ltdot:Z3,lthree:Q3,ltimes:J3,ltlarr:t5,ltquest:e5,ltri:n5,ltrie:r5,ltrif:i5,ltrPar:o5,lurdshar:s5,luruhar:l5,lvertneqq:a5,lvnE:c5,macr:u5,male:f5,malt:h5,maltese:d5,Map:"⤅",map:p5,mapsto:g5,mapstodown:v5,mapstoleft:m5,mapstoup:y5,marker:b5,mcomma:w5,Mcy:x5,mcy:_5,mdash:S5,mDDot:k5,measuredangle:C5,MediumSpace:T5,Mellintrf:E5,Mfr:L5,mfr:A5,mho:M5,micro:N5,midast:P5,midcir:O5,mid:D5,middot:$5,minusb:R5,minus:z5,minusd:I5,minusdu:F5,MinusPlus:q5,mlcp:H5,mldr:B5,mnplus:W5,models:U5,Mopf:j5,mopf:V5,mp:G5,mscr:K5,Mscr:X5,mstpos:Y5,Mu:Z5,mu:Q5,multimap:J5,mumap:t8,nabla:e8,Nacute:n8,nacute:r8,nang:i8,nap:o8,napE:s8,napid:l8,napos:a8,napprox:c8,natural:u8,naturals:f8,natur:h8,nbsp:d8,nbump:p8,nbumpe:g8,ncap:v8,Ncaron:m8,ncaron:y8,Ncedil:b8,ncedil:w8,ncong:x8,ncongdot:_8,ncup:S8,Ncy:k8,ncy:C8,ndash:T8,nearhk:E8,nearr:L8,neArr:A8,nearrow:M8,ne:N8,nedot:P8,NegativeMediumSpace:O8,NegativeThickSpace:D8,NegativeThinSpace:$8,NegativeVeryThinSpace:R8,nequiv:z8,nesear:I8,nesim:F8,NestedGreaterGreater:q8,NestedLessLess:H8,NewLine:B8,nexist:W8,nexists:U8,Nfr:j8,nfr:V8,ngE:G8,nge:K8,ngeq:X8,ngeqq:Y8,ngeqslant:Z8,nges:Q8,nGg:J8,ngsim:tW,nGt:eW,ngt:nW,ngtr:rW,nGtv:iW,nharr:oW,nhArr:sW,nhpar:lW,ni:aW,nis:cW,nisd:uW,niv:fW,NJcy:hW,njcy:dW,nlarr:pW,nlArr:gW,nldr:vW,nlE:mW,nle:yW,nleftarrow:bW,nLeftarrow:wW,nleftrightarrow:xW,nLeftrightarrow:_W,nleq:SW,nleqq:kW,nleqslant:CW,nles:TW,nless:EW,nLl:LW,nlsim:AW,nLt:MW,nlt:NW,nltri:PW,nltrie:OW,nLtv:DW,nmid:$W,NoBreak:RW,NonBreakingSpace:zW,nopf:IW,Nopf:FW,Not:qW,not:HW,NotCongruent:BW,NotCupCap:WW,NotDoubleVerticalBar:UW,NotElement:jW,NotEqual:VW,NotEqualTilde:GW,NotExists:KW,NotGreater:XW,NotGreaterEqual:YW,NotGreaterFullEqual:ZW,NotGreaterGreater:QW,NotGreaterLess:JW,NotGreaterSlantEqual:tU,NotGreaterTilde:eU,NotHumpDownHump:nU,NotHumpEqual:rU,notin:iU,notindot:oU,notinE:sU,notinva:lU,notinvb:aU,notinvc:cU,NotLeftTriangleBar:uU,NotLeftTriangle:fU,NotLeftTriangleEqual:hU,NotLess:dU,NotLessEqual:pU,NotLessGreater:gU,NotLessLess:vU,NotLessSlantEqual:mU,NotLessTilde:yU,NotNestedGreaterGreater:bU,NotNestedLessLess:wU,notni:xU,notniva:_U,notnivb:SU,notnivc:kU,NotPrecedes:CU,NotPrecedesEqual:TU,NotPrecedesSlantEqual:EU,NotReverseElement:LU,NotRightTriangleBar:AU,NotRightTriangle:MU,NotRightTriangleEqual:NU,NotSquareSubset:PU,NotSquareSubsetEqual:OU,NotSquareSuperset:DU,NotSquareSupersetEqual:$U,NotSubset:RU,NotSubsetEqual:zU,NotSucceeds:IU,NotSucceedsEqual:FU,NotSucceedsSlantEqual:qU,NotSucceedsTilde:HU,NotSuperset:BU,NotSupersetEqual:WU,NotTilde:UU,NotTildeEqual:jU,NotTildeFullEqual:VU,NotTildeTilde:GU,NotVerticalBar:KU,nparallel:XU,npar:YU,nparsl:ZU,npart:QU,npolint:JU,npr:t4,nprcue:e4,nprec:n4,npreceq:r4,npre:i4,nrarrc:o4,nrarr:s4,nrArr:l4,nrarrw:a4,nrightarrow:c4,nRightarrow:u4,nrtri:f4,nrtrie:h4,nsc:d4,nsccue:p4,nsce:g4,Nscr:v4,nscr:m4,nshortmid:y4,nshortparallel:b4,nsim:w4,nsime:x4,nsimeq:_4,nsmid:S4,nspar:k4,nsqsube:C4,nsqsupe:T4,nsub:E4,nsubE:L4,nsube:A4,nsubset:M4,nsubseteq:N4,nsubseteqq:P4,nsucc:O4,nsucceq:D4,nsup:$4,nsupE:R4,nsupe:z4,nsupset:I4,nsupseteq:F4,nsupseteqq:q4,ntgl:H4,Ntilde:B4,ntilde:W4,ntlg:U4,ntriangleleft:j4,ntrianglelefteq:V4,ntriangleright:G4,ntrianglerighteq:K4,Nu:X4,nu:Y4,num:Z4,numero:Q4,numsp:J4,nvap:t6,nvdash:e6,nvDash:n6,nVdash:r6,nVDash:i6,nvge:o6,nvgt:s6,nvHarr:l6,nvinfin:a6,nvlArr:c6,nvle:u6,nvlt:f6,nvltrie:h6,nvrArr:d6,nvrtrie:p6,nvsim:g6,nwarhk:v6,nwarr:m6,nwArr:y6,nwarrow:b6,nwnear:w6,Oacute:x6,oacute:_6,oast:S6,Ocirc:k6,ocirc:C6,ocir:T6,Ocy:E6,ocy:L6,odash:A6,Odblac:M6,odblac:N6,odiv:P6,odot:O6,odsold:D6,OElig:$6,oelig:R6,ofcir:z6,Ofr:I6,ofr:F6,ogon:q6,Ograve:H6,ograve:B6,ogt:W6,ohbar:U6,ohm:j6,oint:V6,olarr:G6,olcir:K6,olcross:X6,oline:Y6,olt:Z6,Omacr:Q6,omacr:J6,Omega:tj,omega:ej,Omicron:nj,omicron:rj,omid:ij,ominus:oj,Oopf:sj,oopf:lj,opar:aj,OpenCurlyDoubleQuote:cj,OpenCurlyQuote:uj,operp:fj,oplus:hj,orarr:dj,Or:pj,or:gj,ord:vj,order:mj,orderof:yj,ordf:bj,ordm:wj,origof:xj,oror:_j,orslope:Sj,orv:kj,oS:Cj,Oscr:Tj,oscr:Ej,Oslash:Lj,oslash:Aj,osol:Mj,Otilde:Nj,otilde:Pj,otimesas:Oj,Otimes:Dj,otimes:$j,Ouml:Rj,ouml:zj,ovbar:Ij,OverBar:Fj,OverBrace:qj,OverBracket:Hj,OverParenthesis:Bj,para:Wj,parallel:Uj,par:jj,parsim:Vj,parsl:Gj,part:Kj,PartialD:Xj,Pcy:Yj,pcy:Zj,percnt:Qj,period:Jj,permil:t9,perp:e9,pertenk:n9,Pfr:r9,pfr:i9,Phi:o9,phi:s9,phiv:l9,phmmat:a9,phone:c9,Pi:u9,pi:f9,pitchfork:h9,piv:d9,planck:p9,planckh:g9,plankv:v9,plusacir:m9,plusb:y9,pluscir:b9,plus:w9,plusdo:x9,plusdu:_9,pluse:S9,PlusMinus:k9,plusmn:C9,plussim:T9,plustwo:E9,pm:L9,Poincareplane:A9,pointint:M9,popf:N9,Popf:P9,pound:O9,prap:D9,Pr:$9,pr:R9,prcue:z9,precapprox:I9,prec:F9,preccurlyeq:q9,Precedes:H9,PrecedesEqual:B9,PrecedesSlantEqual:W9,PrecedesTilde:U9,preceq:j9,precnapprox:V9,precneqq:G9,precnsim:K9,pre:X9,prE:Y9,precsim:Z9,prime:Q9,Prime:J9,primes:tV,prnap:eV,prnE:nV,prnsim:rV,prod:iV,Product:oV,profalar:sV,profline:lV,profsurf:aV,prop:cV,Proportional:uV,Proportion:fV,propto:hV,prsim:dV,prurel:pV,Pscr:gV,pscr:vV,Psi:mV,psi:yV,puncsp:bV,Qfr:wV,qfr:xV,qint:_V,qopf:SV,Qopf:kV,qprime:CV,Qscr:TV,qscr:EV,quaternions:LV,quatint:AV,quest:MV,questeq:NV,quot:PV,QUOT:OV,rAarr:DV,race:$V,Racute:RV,racute:zV,radic:IV,raemptyv:FV,rang:qV,Rang:HV,rangd:BV,range:WV,rangle:UV,raquo:jV,rarrap:VV,rarrb:GV,rarrbfs:KV,rarrc:XV,rarr:YV,Rarr:ZV,rArr:QV,rarrfs:JV,rarrhk:tG,rarrlp:eG,rarrpl:nG,rarrsim:rG,Rarrtl:iG,rarrtl:oG,rarrw:sG,ratail:lG,rAtail:aG,ratio:cG,rationals:uG,rbarr:fG,rBarr:hG,RBarr:dG,rbbrk:pG,rbrace:gG,rbrack:vG,rbrke:mG,rbrksld:yG,rbrkslu:bG,Rcaron:wG,rcaron:xG,Rcedil:_G,rcedil:SG,rceil:kG,rcub:CG,Rcy:TG,rcy:EG,rdca:LG,rdldhar:AG,rdquo:MG,rdquor:NG,rdsh:PG,real:OG,realine:DG,realpart:$G,reals:RG,Re:zG,rect:IG,reg:FG,REG:qG,ReverseElement:HG,ReverseEquilibrium:BG,ReverseUpEquilibrium:WG,rfisht:UG,rfloor:jG,rfr:VG,Rfr:GG,rHar:KG,rhard:XG,rharu:YG,rharul:ZG,Rho:QG,rho:JG,rhov:t7,RightAngleBracket:e7,RightArrowBar:n7,rightarrow:r7,RightArrow:i7,Rightarrow:o7,RightArrowLeftArrow:s7,rightarrowtail:l7,RightCeiling:a7,RightDoubleBracket:c7,RightDownTeeVector:u7,RightDownVectorBar:f7,RightDownVector:h7,RightFloor:d7,rightharpoondown:p7,rightharpoonup:g7,rightleftarrows:v7,rightleftharpoons:m7,rightrightarrows:y7,rightsquigarrow:b7,RightTeeArrow:w7,RightTee:x7,RightTeeVector:_7,rightthreetimes:S7,RightTriangleBar:k7,RightTriangle:C7,RightTriangleEqual:T7,RightUpDownVector:E7,RightUpTeeVector:L7,RightUpVectorBar:A7,RightUpVector:M7,RightVectorBar:N7,RightVector:P7,ring:O7,risingdotseq:D7,rlarr:$7,rlhar:R7,rlm:z7,rmoustache:I7,rmoust:F7,rnmid:q7,roang:H7,roarr:B7,robrk:W7,ropar:U7,ropf:j7,Ropf:V7,roplus:G7,rotimes:K7,RoundImplies:X7,rpar:Y7,rpargt:Z7,rppolint:Q7,rrarr:J7,Rrightarrow:tK,rsaquo:eK,rscr:nK,Rscr:rK,rsh:iK,Rsh:oK,rsqb:sK,rsquo:lK,rsquor:aK,rthree:cK,rtimes:uK,rtri:fK,rtrie:hK,rtrif:dK,rtriltri:pK,RuleDelayed:gK,ruluhar:vK,rx:mK,Sacute:yK,sacute:bK,sbquo:wK,scap:xK,Scaron:_K,scaron:SK,Sc:kK,sc:CK,sccue:TK,sce:EK,scE:LK,Scedil:AK,scedil:MK,Scirc:NK,scirc:PK,scnap:OK,scnE:DK,scnsim:$K,scpolint:RK,scsim:zK,Scy:IK,scy:FK,sdotb:qK,sdot:HK,sdote:BK,searhk:WK,searr:UK,seArr:jK,searrow:VK,sect:GK,semi:KK,seswar:XK,setminus:YK,setmn:ZK,sext:QK,Sfr:JK,sfr:tX,sfrown:eX,sharp:nX,SHCHcy:rX,shchcy:iX,SHcy:oX,shcy:sX,ShortDownArrow:lX,ShortLeftArrow:aX,shortmid:cX,shortparallel:uX,ShortRightArrow:fX,ShortUpArrow:hX,shy:dX,Sigma:pX,sigma:gX,sigmaf:vX,sigmav:mX,sim:yX,simdot:bX,sime:wX,simeq:xX,simg:_X,simgE:SX,siml:kX,simlE:CX,simne:TX,simplus:EX,simrarr:LX,slarr:AX,SmallCircle:MX,smallsetminus:NX,smashp:PX,smeparsl:OX,smid:DX,smile:$X,smt:RX,smte:zX,smtes:IX,SOFTcy:FX,softcy:qX,solbar:HX,solb:BX,sol:WX,Sopf:UX,sopf:jX,spades:VX,spadesuit:GX,spar:KX,sqcap:XX,sqcaps:YX,sqcup:ZX,sqcups:QX,Sqrt:JX,sqsub:tY,sqsube:eY,sqsubset:nY,sqsubseteq:rY,sqsup:iY,sqsupe:oY,sqsupset:sY,sqsupseteq:lY,square:aY,Square:cY,SquareIntersection:uY,SquareSubset:fY,SquareSubsetEqual:hY,SquareSuperset:dY,SquareSupersetEqual:pY,SquareUnion:gY,squarf:vY,squ:mY,squf:yY,srarr:bY,Sscr:wY,sscr:xY,ssetmn:_Y,ssmile:SY,sstarf:kY,Star:CY,star:TY,starf:EY,straightepsilon:LY,straightphi:AY,strns:MY,sub:NY,Sub:PY,subdot:OY,subE:DY,sube:$Y,subedot:RY,submult:zY,subnE:IY,subne:FY,subplus:qY,subrarr:HY,subset:BY,Subset:WY,subseteq:UY,subseteqq:jY,SubsetEqual:VY,subsetneq:GY,subsetneqq:KY,subsim:XY,subsub:YY,subsup:ZY,succapprox:QY,succ:JY,succcurlyeq:tZ,Succeeds:eZ,SucceedsEqual:nZ,SucceedsSlantEqual:rZ,SucceedsTilde:iZ,succeq:oZ,succnapprox:sZ,succneqq:lZ,succnsim:aZ,succsim:cZ,SuchThat:uZ,sum:fZ,Sum:hZ,sung:dZ,sup1:pZ,sup2:gZ,sup3:vZ,sup:mZ,Sup:yZ,supdot:bZ,supdsub:wZ,supE:xZ,supe:_Z,supedot:SZ,Superset:kZ,SupersetEqual:CZ,suphsol:TZ,suphsub:EZ,suplarr:LZ,supmult:AZ,supnE:MZ,supne:NZ,supplus:PZ,supset:OZ,Supset:DZ,supseteq:$Z,supseteqq:RZ,supsetneq:zZ,supsetneqq:IZ,supsim:FZ,supsub:qZ,supsup:HZ,swarhk:BZ,swarr:WZ,swArr:UZ,swarrow:jZ,swnwar:VZ,szlig:GZ,Tab:KZ,target:XZ,Tau:YZ,tau:ZZ,tbrk:QZ,Tcaron:JZ,tcaron:tQ,Tcedil:eQ,tcedil:nQ,Tcy:rQ,tcy:iQ,tdot:oQ,telrec:sQ,Tfr:lQ,tfr:aQ,there4:cQ,therefore:uQ,Therefore:fQ,Theta:hQ,theta:dQ,thetasym:pQ,thetav:gQ,thickapprox:vQ,thicksim:mQ,ThickSpace:yQ,ThinSpace:bQ,thinsp:wQ,thkap:xQ,thksim:_Q,THORN:SQ,thorn:kQ,tilde:CQ,Tilde:TQ,TildeEqual:EQ,TildeFullEqual:LQ,TildeTilde:AQ,timesbar:MQ,timesb:NQ,times:PQ,timesd:OQ,tint:DQ,toea:$Q,topbot:RQ,topcir:zQ,top:IQ,Topf:FQ,topf:qQ,topfork:HQ,tosa:BQ,tprime:WQ,trade:UQ,TRADE:jQ,triangle:VQ,triangledown:GQ,triangleleft:KQ,trianglelefteq:XQ,triangleq:YQ,triangleright:ZQ,trianglerighteq:QQ,tridot:JQ,trie:tJ,triminus:eJ,TripleDot:nJ,triplus:rJ,trisb:iJ,tritime:oJ,trpezium:sJ,Tscr:lJ,tscr:aJ,TScy:cJ,tscy:uJ,TSHcy:fJ,tshcy:hJ,Tstrok:dJ,tstrok:pJ,twixt:gJ,twoheadleftarrow:vJ,twoheadrightarrow:mJ,Uacute:yJ,uacute:bJ,uarr:wJ,Uarr:xJ,uArr:_J,Uarrocir:SJ,Ubrcy:kJ,ubrcy:CJ,Ubreve:TJ,ubreve:EJ,Ucirc:LJ,ucirc:AJ,Ucy:MJ,ucy:NJ,udarr:PJ,Udblac:OJ,udblac:DJ,udhar:$J,ufisht:RJ,Ufr:zJ,ufr:IJ,Ugrave:FJ,ugrave:qJ,uHar:HJ,uharl:BJ,uharr:WJ,uhblk:UJ,ulcorn:jJ,ulcorner:VJ,ulcrop:GJ,ultri:KJ,Umacr:XJ,umacr:YJ,uml:ZJ,UnderBar:QJ,UnderBrace:JJ,UnderBracket:ttt,UnderParenthesis:ett,Union:ntt,UnionPlus:rtt,Uogon:itt,uogon:ott,Uopf:stt,uopf:ltt,UpArrowBar:att,uparrow:ctt,UpArrow:utt,Uparrow:ftt,UpArrowDownArrow:htt,updownarrow:dtt,UpDownArrow:ptt,Updownarrow:gtt,UpEquilibrium:vtt,upharpoonleft:mtt,upharpoonright:ytt,uplus:btt,UpperLeftArrow:wtt,UpperRightArrow:xtt,upsi:_tt,Upsi:Stt,upsih:ktt,Upsilon:Ctt,upsilon:Ttt,UpTeeArrow:Ett,UpTee:Ltt,upuparrows:Att,urcorn:Mtt,urcorner:Ntt,urcrop:Ptt,Uring:Ott,uring:Dtt,urtri:$tt,Uscr:Rtt,uscr:ztt,utdot:Itt,Utilde:Ftt,utilde:qtt,utri:Htt,utrif:Btt,uuarr:Wtt,Uuml:Utt,uuml:jtt,uwangle:Vtt,vangrt:Gtt,varepsilon:Ktt,varkappa:Xtt,varnothing:Ytt,varphi:Ztt,varpi:Qtt,varpropto:Jtt,varr:tet,vArr:eet,varrho:net,varsigma:ret,varsubsetneq:iet,varsubsetneqq:oet,varsupsetneq:set,varsupsetneqq:aet,vartheta:cet,vartriangleleft:uet,vartriangleright:fet,vBar:het,Vbar:det,vBarv:pet,Vcy:get,vcy:vet,vdash:met,vDash:yet,Vdash:bet,VDash:wet,Vdashl:xet,veebar:_et,vee:ket,Vee:Cet,veeeq:Tet,vellip:Eet,verbar:Let,Verbar:Aet,vert:Met,Vert:Net,VerticalBar:Pet,VerticalLine:Oet,VerticalSeparator:Det,VerticalTilde:$et,VeryThinSpace:Ret,Vfr:zet,vfr:Iet,vltri:Fet,vnsub:qet,vnsup:Het,Vopf:Bet,vopf:Wet,vprop:Uet,vrtri:jet,Vscr:Vet,vscr:Get,vsubnE:Ket,vsubne:Xet,vsupnE:Yet,vsupne:Zet,Vvdash:Qet,vzigzag:Jet,Wcirc:tnt,wcirc:ent,wedbar:nnt,wedge:rnt,Wedge:int,wedgeq:ont,weierp:snt,Wfr:lnt,wfr:ant,Wopf:cnt,wopf:unt,wp:fnt,wr:hnt,wreath:dnt,Wscr:pnt,wscr:gnt,xcap:vnt,xcirc:mnt,xcup:ynt,xdtri:bnt,Xfr:wnt,xfr:xnt,xharr:_nt,xhArr:Snt,Xi:knt,xi:Cnt,xlarr:Tnt,xlArr:Ent,xmap:Lnt,xnis:Ant,xodot:Mnt,Xopf:Nnt,xopf:Pnt,xoplus:Ont,xotime:Dnt,xrarr:$nt,xrArr:Rnt,Xscr:znt,xscr:Int,xsqcup:Fnt,xuplus:qnt,xutri:Hnt,xvee:Bnt,xwedge:Wnt,Yacute:Unt,yacute:jnt,YAcy:Vnt,yacy:Gnt,Ycirc:Knt,ycirc:Xnt,Ycy:Ynt,ycy:Znt,yen:Qnt,Yfr:Jnt,yfr:trt,YIcy:ert,yicy:nrt,Yopf:rrt,yopf:irt,Yscr:ort,yscr:srt,YUcy:lrt,yucy:art,yuml:crt,Yuml:urt,Zacute:frt,zacute:hrt,Zcaron:drt,zcaron:prt,Zcy:grt,zcy:vrt,Zdot:mrt,zdot:yrt,zeetrf:brt,ZeroWidthSpace:wrt,Zeta:xrt,zeta:_rt,zfr:Srt,Zfr:krt,ZHcy:Crt,zhcy:Trt,zigrarr:Ert,zopf:Lrt,Zopf:Art,Zscr:Mrt,zscr:Nrt,zwj:Prt,zwnj:Ort},Drt="Á",$rt="á",Rrt="Â",zrt="â",Irt="´",Frt="Æ",qrt="æ",Hrt="À",Brt="à",Wrt="&",Urt="&",jrt="Å",Vrt="å",Grt="Ã",Krt="ã",Xrt="Ä",Yrt="ä",Zrt="¦",Qrt="Ç",Jrt="ç",tit="¸",eit="¢",nit="©",rit="©",iit="¤",oit="°",sit="÷",lit="É",ait="é",cit="Ê",uit="ê",fit="È",hit="è",dit="Ð",pit="ð",git="Ë",vit="ë",mit="½",yit="¼",bit="¾",wit=">",xit=">",_it="Í",Sit="í",kit="Î",Cit="î",Tit="¡",Eit="Ì",Lit="ì",Ait="¿",Mit="Ï",Nit="ï",Pit="«",Oit="<",Dit="<",$it="¯",Rit="µ",zit="·",Iit=" ",Fit="¬",qit="Ñ",Hit="ñ",Bit="Ó",Wit="ó",Uit="Ô",jit="ô",Vit="Ò",Git="ò",Kit="ª",Xit="º",Yit="Ø",Zit="ø",Qit="Õ",Jit="õ",tot="Ö",eot="ö",not="¶",rot="±",iot="£",oot='"',sot='"',lot="»",aot="®",cot="®",uot="§",fot="­",hot="¹",dot="²",pot="³",got="ß",vot="Þ",mot="þ",yot="×",bot="Ú",wot="ú",xot="Û",_ot="û",Sot="Ù",kot="ù",Cot="¨",Tot="Ü",Eot="ü",Lot="Ý",Aot="ý",Mot="¥",Not="ÿ",Pot={Aacute:Drt,aacute:$rt,Acirc:Rrt,acirc:zrt,acute:Irt,AElig:Frt,aelig:qrt,Agrave:Hrt,agrave:Brt,amp:Wrt,AMP:Urt,Aring:jrt,aring:Vrt,Atilde:Grt,atilde:Krt,Auml:Xrt,auml:Yrt,brvbar:Zrt,Ccedil:Qrt,ccedil:Jrt,cedil:tit,cent:eit,copy:nit,COPY:rit,curren:iit,deg:oit,divide:sit,Eacute:lit,eacute:ait,Ecirc:cit,ecirc:uit,Egrave:fit,egrave:hit,ETH:dit,eth:pit,Euml:git,euml:vit,frac12:mit,frac14:yit,frac34:bit,gt:wit,GT:xit,Iacute:_it,iacute:Sit,Icirc:kit,icirc:Cit,iexcl:Tit,Igrave:Eit,igrave:Lit,iquest:Ait,Iuml:Mit,iuml:Nit,laquo:Pit,lt:Oit,LT:Dit,macr:$it,micro:Rit,middot:zit,nbsp:Iit,not:Fit,Ntilde:qit,ntilde:Hit,Oacute:Bit,oacute:Wit,Ocirc:Uit,ocirc:jit,Ograve:Vit,ograve:Git,ordf:Kit,ordm:Xit,Oslash:Yit,oslash:Zit,Otilde:Qit,otilde:Jit,Ouml:tot,ouml:eot,para:not,plusmn:rot,pound:iot,quot:oot,QUOT:sot,raquo:lot,reg:aot,REG:cot,sect:uot,shy:fot,sup1:hot,sup2:dot,sup3:pot,szlig:got,THORN:vot,thorn:mot,times:yot,Uacute:bot,uacute:wot,Ucirc:xot,ucirc:_ot,Ugrave:Sot,ugrave:kot,uml:Cot,Uuml:Tot,uuml:Eot,Yacute:Lot,yacute:Aot,yen:Mot,yuml:Not},Oot="&",Dot="'",$ot=">",Rot="<",zot='"',py={amp:Oot,apos:Dot,gt:$ot,lt:Rot,quot:zot};var Bh={};const Iot={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};var Fot=oo&&oo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Bh,"__esModule",{value:!0});var Lv=Fot(Iot),qot=String.fromCodePoint||function(t){var e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|t&1023),e+=String.fromCharCode(t),e};function Hot(t){return t>=55296&&t<=57343||t>1114111?"�":(t in Lv.default&&(t=Lv.default[t]),qot(t))}Bh.default=Hot;var Uc=oo&&oo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Hr,"__esModule",{value:!0});Hr.decodeHTML=Hr.decodeHTMLStrict=Hr.decodeXML=void 0;var Vf=Uc(dy),Bot=Uc(Pot),Wot=Uc(py),Av=Uc(Bh),Uot=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;Hr.decodeXML=gy(Wot.default);Hr.decodeHTMLStrict=gy(Vf.default);function gy(t){var e=vy(t);return function(r){return String(r).replace(Uot,e)}}var Mv=function(t,e){return t1?Kot(t):t.charCodeAt(0)).toString(16).toUpperCase()+";"}function Xot(t,e){return function(r){return r.replace(e,function(o){return t[o]}).replace(_y,jc)}}var Sy=new RegExp(by.source+"|"+_y.source,"g");function Yot(t){return t.replace(Sy,jc)}zn.escape=Yot;function Zot(t){return t.replace(by,jc)}zn.escapeUTF8=Zot;function ky(t){return function(e){return e.replace(Sy,function(r){return t[r]||jc(r)})}}(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.encodeHTML5=t.encodeHTML4=t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=t.encode=t.decodeStrict=t.decode=void 0;var e=Hr,r=zn;function o(d,g){return(!g||g<=0?e.decodeXML:e.decodeHTML)(d)}t.decode=o;function s(d,g){return(!g||g<=0?e.decodeXML:e.decodeHTMLStrict)(d)}t.decodeStrict=s;function u(d,g){return(!g||g<=0?r.encodeXML:r.encodeHTML)(d)}t.encode=u;var f=zn;Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return f.encodeXML}}),Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return f.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return f.encodeNonAsciiHTML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return f.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return f.escapeUTF8}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return f.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return f.encodeHTML}});var h=Hr;Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return h.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return h.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return h.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return h.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return h.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return h.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return h.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return h.decodeXML}})})(hy);function Qot(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Nv(t,e){for(var r=0;r=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(g){throw g},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var u=!0,f=!1,h;return{s:function(){r=r.call(t)},n:function(){var g=r.next();return u=g.done,g},e:function(g){f=!0,h=g},f:function(){try{!u&&r.return!=null&&r.return()}finally{if(f)throw h}}}}function tst(t,e){if(t){if(typeof t=="string")return Pv(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Pv(t,e)}}function Pv(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r0?t*40+55:0,f=e>0?e*40+55:0,h=r>0?r*40+55:0;o[s]=ist([u,f,h])}function Ty(t){for(var e=t.toString(16);e.length<2;)e="0"+e;return e}function ist(t){var e=[],r=Cy(t),o;try{for(r.s();!(o=r.n()).done;){var s=o.value;e.push(Ty(s))}}catch(u){r.e(u)}finally{r.f()}return"#"+e.join("")}function Dv(t,e,r,o){var s;return e==="text"?s=ast(r,o):e==="display"?s=sst(t,r,o):e==="xterm256Foreground"?s=Ua(t,o.colors[r]):e==="xterm256Background"?s=ja(t,o.colors[r]):e==="rgb"&&(s=ost(t,r)),s}function ost(t,e){e=e.substring(2).slice(0,-1);var r=+e.substr(0,2),o=e.substring(5).split(";"),s=o.map(function(u){return("0"+Number(u).toString(16)).substr(-2)}).join("");return Wa(t,(r===38?"color:#":"background-color:#")+s)}function sst(t,e,r){e=parseInt(e,10);var o={"-1":function(){return"
"},0:function(){return t.length&&Ey(t)},1:function(){return wi(t,"b")},3:function(){return wi(t,"i")},4:function(){return wi(t,"u")},8:function(){return Wa(t,"display:none")},9:function(){return wi(t,"strike")},22:function(){return Wa(t,"font-weight:normal;text-decoration:none;font-style:normal")},23:function(){return Rv(t,"i")},24:function(){return Rv(t,"u")},39:function(){return Ua(t,r.fg)},49:function(){return ja(t,r.bg)},53:function(){return Wa(t,"text-decoration:overline")}},s;return o[e]?s=o[e]():4"}).join("")}function Ea(t,e){for(var r=[],o=t;o<=e;o++)r.push(o);return r}function lst(t){return function(e){return(t===null||e.category!==t)&&t!=="all"}}function $v(t){t=parseInt(t,10);var e=null;return t===0?e="all":t===1?e="bold":2")}function Wa(t,e){return wi(t,"span",e)}function Ua(t,e){return wi(t,"span","color:"+e)}function ja(t,e){return wi(t,"span","background-color:"+e)}function Rv(t,e){var r;if(t.slice(-1)[0]===e&&(r=t.pop()),r)return""}function cst(t,e,r){var o=!1,s=3;function u(){return""}function f(B,K){return r("xterm256Foreground",K),""}function h(B,K){return r("xterm256Background",K),""}function d(B){return e.newline?r("display",-1):r("text",B),""}function g(B,K){o=!0,K.trim().length===0&&(K="0"),K=K.trimRight(";").split(";");var ht=Cy(K),Y;try{for(ht.s();!(Y=ht.n()).done;){var nt=Y.value;r("display",nt)}}catch(at){ht.e(at)}finally{ht.f()}return""}function v(B){return r("text",B),""}function b(B){return r("rgb",B),""}var w=[{pattern:/^\x08+/,sub:u},{pattern:/^\x1b\[[012]?K/,sub:u},{pattern:/^\x1b\[\(B/,sub:u},{pattern:/^\x1b\[[34]8;2;\d+;\d+;\d+m/,sub:b},{pattern:/^\x1b\[38;5;(\d+)m/,sub:f},{pattern:/^\x1b\[48;5;(\d+)m/,sub:h},{pattern:/^\n/,sub:d},{pattern:/^\r+\n/,sub:d},{pattern:/^\r/,sub:d},{pattern:/^\x1b\[((?:\d{1,3};?)+|)m/,sub:g},{pattern:/^\x1b\[\d?J/,sub:u},{pattern:/^\x1b\[\d{0,3};\d{0,3}f/,sub:u},{pattern:/^\x1b\[?[\d;]{0,3}/,sub:u},{pattern:/^(([^\x1b\x08\r\n])+)/,sub:v}];function S(B,K){K>s&&o||(o=!1,t=t.replace(B.pattern,B.sub))}var P=[],A=t,L=A.length;t:for(;L>0;){for(var T=0,M=0,R=w.length;Mpst(o));let e="",r=!1;for(let o=t.length-1;o>=-1&&!r;o--){const s=o>=0?t[o]:vst();!s||s.length===0||(e=`${s}/${e}`,r=zv(s))}return e=yst(e,!r),r&&!zv(e)?`/${e}`:e.length>0?e:"."};function yst(t,e){let r="",o=0,s=-1,u=0,f=null;for(let h=0;h<=t.length;++h){if(h2){const d=r.lastIndexOf("/");d===-1?(r="",o=0):(r=r.slice(0,d),o=r.length-1-r.lastIndexOf("/")),s=h,u=0;continue}else if(r.length>0){r="",o=0,s=h,u=0;continue}}e&&(r+=r.length>0?"/..":"..",o=2)}else r.length>0?r+=`/${t.slice(s+1,h)}`:r=t.slice(s+1,h),o=h-s-1;s=h,u=0}else f==="."&&u!==-1?++u:u=-1}return r}const zv=function(t){return gst.test(t)},bst=",".charCodeAt(0),Iv="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",wst=new Uint8Array(64),Ly=new Uint8Array(128);for(let t=0;t>>=1,h&&(s=-2147483648|-s),r[o]+=s,e}function Fv(t,e,r){return e>=r?!1:t.charCodeAt(e)!==bst}function Sst(t){t.sort(kst)}function kst(t,e){return t[0]-e[0]}const Cst=/^[\w+.-]+:\/\//,Tst=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,Est=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;var De;(function(t){t[t.Empty=1]="Empty",t[t.Hash=2]="Hash",t[t.Query=3]="Query",t[t.RelativePath=4]="RelativePath",t[t.AbsolutePath=5]="AbsolutePath",t[t.SchemeRelative=6]="SchemeRelative",t[t.Absolute=7]="Absolute"})(De||(De={}));function Lst(t){return Cst.test(t)}function Ast(t){return t.startsWith("//")}function Ay(t){return t.startsWith("/")}function Mst(t){return t.startsWith("file:")}function qv(t){return/^[.?#]/.test(t)}function La(t){const e=Tst.exec(t);return My(e[1],e[2]||"",e[3],e[4]||"",e[5]||"/",e[6]||"",e[7]||"")}function Nst(t){const e=Est.exec(t),r=e[2];return My("file:","",e[1]||"","",Ay(r)?r:"/"+r,e[3]||"",e[4]||"")}function My(t,e,r,o,s,u,f){return{scheme:t,user:e,host:r,port:o,path:s,query:u,hash:f,type:De.Absolute}}function Hv(t){if(Ast(t)){const r=La("http:"+t);return r.scheme="",r.type=De.SchemeRelative,r}if(Ay(t)){const r=La("http://foo.com"+t);return r.scheme="",r.host="",r.type=De.AbsolutePath,r}if(Mst(t))return Nst(t);if(Lst(t))return La(t);const e=La("http://foo.com/"+t);return e.scheme="",e.host="",e.type=t?t.startsWith("?")?De.Query:t.startsWith("#")?De.Hash:De.RelativePath:De.Empty,e}function Pst(t){if(t.endsWith("/.."))return t;const e=t.lastIndexOf("/");return t.slice(0,e+1)}function Ost(t,e){Ny(e,e.type),t.path==="/"?t.path=e.path:t.path=Pst(e.path)+t.path}function Ny(t,e){const r=e<=De.RelativePath,o=t.path.split("/");let s=1,u=0,f=!1;for(let d=1;do&&(o=f)}Ny(r,o);const s=r.query+r.hash;switch(o){case De.Hash:case De.Query:return s;case De.RelativePath:{const u=r.path.slice(1);return u?qv(e||t)&&!qv(u)?"./"+u+s:u+s:s||"."}case De.AbsolutePath:return r.path+s;default:return r.scheme+"//"+r.user+r.host+r.port+r.path+s}}function Bv(t,e){return e&&!e.endsWith("/")&&(e+="/"),Dst(t,e)}function $st(t){if(!t)return"";const e=t.lastIndexOf("/");return t.slice(0,e+1)}const Li=0,Rst=1,zst=2,Ist=3,Fst=4;function qst(t,e){const r=Wv(t,0);if(r===t.length)return t;e||(t=t.slice());for(let o=r;o>1),u=t[s][Li]-e;if(u===0)return uc=!0,s;u<0?r=s+1:o=s-1}return uc=!1,r-1}function jst(t,e,r){for(let o=r+1;o=0&&t[o][Li]===e;r=o--);return r}function Gst(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function Kst(t,e,r,o){const{lastKey:s,lastNeedle:u,lastIndex:f}=r;let h=0,d=t.length-1;if(o===s){if(e===u)return uc=f!==-1&&t[f][Li]===e,f;e>=u?h=f===-1?0:f:d=f}return r.lastKey=o,r.lastNeedle=e,r.lastIndex=Ust(t,e,h,d)}const Xst="`line` must be greater than 0 (lines start at line 1)",Yst="`column` must be greater than or equal to 0 (columns start at column 0)",Uv=-1,Zst=1;let jv,Py;class Qst{constructor(e,r){const o=typeof e=="string";if(!o&&e._decodedMemo)return e;const s=o?JSON.parse(e):e,{version:u,file:f,names:h,sourceRoot:d,sources:g,sourcesContent:v}=s;this.version=u,this.file=f,this.names=h||[],this.sourceRoot=d,this.sources=g,this.sourcesContent=v;const b=Bv(d||"",$st(r));this.resolvedSources=g.map(S=>Bv(S||"",b));const{mappings:w}=s;typeof w=="string"?(this._encoded=w,this._decoded=void 0):(this._encoded=void 0,this._decoded=qst(w,o)),this._decodedMemo=Gst(),this._bySources=void 0,this._bySourceMemos=void 0}}jv=t=>t._decoded||(t._decoded=xst(t._encoded)),Py=(t,{line:e,column:r,bias:o})=>{if(e--,e<0)throw new Error(Xst);if(r<0)throw new Error(Yst);const s=jv(t);if(e>=s.length)return Aa(null,null,null,null);const u=s[e],f=Jst(u,t._decodedMemo,e,r,o||Zst);if(f===-1)return Aa(null,null,null,null);const h=u[f];if(h.length===1)return Aa(null,null,null,null);const{names:d,resolvedSources:g}=t;return Aa(g[h[Rst]],h[zst]+1,h[Ist],h.length===5?d[h[Fst]]:null)};function Aa(t,e,r,o){return{source:t,line:e,column:r,name:o}}function Jst(t,e,r,o,s){let u=Kst(t,o,e,r);return uc?u=(s===Uv?jst:Vst)(t,o,u):s===Uv&&u++,u===-1||u===t.length?-1:u}const Oy=/^\s*at .*(\S+:\d+|\(native\))/m,tlt=/^(eval@)?(\[native code])?$/,elt=["node:internal",/\/packages\/\w+\/dist\//,/\/@vitest\/\w+\/dist\//,"/vitest/dist/","/vitest/src/","/vite-node/dist/","/vite-node/src/","/node_modules/chai/","/node_modules/tinypool/","/node_modules/tinyspy/","/deps/chai.js",/__vitest_browser__/];function Dy(t){if(!t.includes(":"))return[t];const r=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(t.replace(/^\(|\)$/g,""));if(!r)return[t];let o=r[1];return(o.startsWith("http:")||o.startsWith("https:"))&&(o=new URL(o).pathname),o.startsWith("/@fs/")&&(o=o.slice(typeof process<"u"&&process.platform==="win32"?5:4)),[o,r[2]||void 0,r[3]||void 0]}function nlt(t){let e=t.trim();if(tlt.test(e)||(e.includes(" > eval")&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),!e.includes("@")&&!e.includes(":")))return null;const r=/((.*".+"[^@]*)?[^@]*)(?:@)/,o=e.match(r),s=o&&o[1]?o[1]:void 0,[u,f,h]=Dy(e.replace(r,""));return!u||!f||!h?null:{file:u,method:s||"",line:Number.parseInt(f),column:Number.parseInt(h)}}function rlt(t){let e=t.trim();if(!Oy.test(e))return null;e.includes("(eval ")&&(e=e.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));let r=e.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,"");const o=r.match(/ (\(.+\)$)/);r=o?r.replace(o[0],""):r;const[s,u,f]=Dy(o?o[1]:r);let h=o&&r||"",d=s&&["eval",""].includes(s)?void 0:s;return!d||!u||!f?null:(h.startsWith("async ")&&(h=h.slice(6)),d.startsWith("file://")&&(d=d.slice(7)),d=mst(d),h&&(h=h.replace(/__vite_ssr_import_\d+__\./g,"")),{method:h,file:d,line:Number.parseInt(u),column:Number.parseInt(f)})}function ilt(t,e={}){const{ignoreStackEntries:r=elt}=e;let o=Oy.test(t)?slt(t):olt(t);return r.length&&(o=o.filter(s=>!r.some(u=>s.file.match(u)))),o.map(s=>{var u;const f=(u=e.getSourceMap)==null?void 0:u.call(e,s.file);if(!f||typeof f!="object"||!f.version)return s;const h=new Qst(f),{line:d,column:g}=Py(h,s);return d!=null&&g!=null?{...s,line:d,column:g}:s})}function olt(t){return t.split(` +`).map(e=>nlt(e)).filter(cy)}function slt(t){return t.split(` +`).map(e=>rlt(e)).filter(cy)}function llt(t,e){return e&&t.endsWith(e)}async function $y(t,e,r){const o=encodeURI(`${t}:${e}:${r}`);await fetch(`/__open-in-editor?file=${o}`)}function Uh(t){return new dst({fg:t?"#FFF":"#000",bg:t?"#000":"#FFF"})}function alt(t){return t===null||typeof t!="function"&&typeof t!="object"}function Ry(t){let e=t;if(alt(t)&&(e={message:String(e).split(/\n/g)[0],stack:String(e),name:""}),!t){const r=new Error("unknown error");e={message:r.message,stack:r.stack,name:""}}return e.stacks=ilt(e.stack||e.stackStr||"",{ignoreStackEntries:[]}),e}function jh(t){return Lm()?(l1(t),!0):!1}function Sr(t){return typeof t=="function"?t():U(t)}const clt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ult=Object.prototype.toString,flt=t=>ult.call(t)==="[object Object]",so=()=>{};function Vh(t,e){function r(...o){return new Promise((s,u)=>{Promise.resolve(t(()=>e.apply(this,o),{fn:e,thisArg:this,args:o})).then(s).catch(u)})}return r}const zy=t=>t();function Iy(t,e={}){let r,o,s=so;const u=h=>{clearTimeout(h),s(),s=so};return h=>{const d=Sr(t),g=Sr(e.maxWait);return r&&u(r),d<=0||g!==void 0&&g<=0?(o&&(u(o),o=null),Promise.resolve(h())):new Promise((v,b)=>{s=e.rejectOnCancel?b:v,g&&!o&&(o=setTimeout(()=>{r&&u(r),o=null,v(h())},g)),r=setTimeout(()=>{o&&u(o),o=null,v(h())},d)})}}function hlt(t,e=!0,r=!0,o=!1){let s=0,u,f=!0,h=so,d;const g=()=>{u&&(clearTimeout(u),u=void 0,h(),h=so)};return b=>{const w=Sr(t),S=Date.now()-s,P=()=>d=b();return g(),w<=0?(s=Date.now(),P()):(S>w&&(r||!f)?(s=Date.now(),P()):e&&(d=new Promise((A,L)=>{h=o?L:A,u=setTimeout(()=>{s=Date.now(),f=!0,A(P()),g()},Math.max(0,w-S))})),!r&&!u&&(u=setTimeout(()=>f=!0,w)),f=!1,d)}}function dlt(t=zy){const e=Zt(!0);function r(){e.value=!1}function o(){e.value=!0}const s=(...u)=>{e.value&&t(...u)};return{isActive:Lc(e),pause:r,resume:o,eventFilter:s}}function plt(...t){if(t.length!==1)return wh(...t);const e=t[0];return typeof e=="function"?Lc(P1(()=>({get:e,set:so}))):Zt(e)}function Vv(t,e=200,r={}){return Vh(Iy(e,r),t)}function glt(t,e=200,r=!1,o=!0,s=!1){return Vh(hlt(e,r,o,s),t)}function vlt(t,e=200,r=!0,o=!0){if(e<=0)return t;const s=Zt(t.value),u=glt(()=>{s.value=t.value},e,r,o);return Re(t,()=>u()),s}function Fy(t,e,r={}){const{eventFilter:o=zy,...s}=r;return Re(t,Vh(o,e),s)}function qy(t,e,r={}){const{eventFilter:o,...s}=r,{eventFilter:u,pause:f,resume:h,isActive:d}=dlt(o);return{stop:Fy(t,e,{...s,eventFilter:u}),pause:f,resume:h,isActive:d}}function Gh(t,e=!0){Pl()?ms(t):e?t():Br(t)}function mlt(t=!1,e={}){const{truthyValue:r=!0,falsyValue:o=!1}=e,s=Le(t),u=Zt(t);function f(h){if(arguments.length)return u.value=h,u.value;{const d=Sr(r);return u.value=u.value===d?Sr(o):d,u.value}}return s?f:[u,f]}function ylt(t,e,r={}){const{debounce:o=0,maxWait:s=void 0,...u}=r;return Fy(t,e,{...u,eventFilter:Iy(o,{maxWait:s})})}function blt(t,e,r){const o=Re(t,(...s)=>(Br(()=>o()),e(...s)),r);return o}function wlt(t,e,r){let o;Le(r)?o={evaluating:r}:o=r||{};const{lazy:s=!1,evaluating:u=void 0,shallow:f=!0,onError:h=so}=o,d=Zt(!s),g=f?vs(e):Zt(e);let v=0;return Ch(async b=>{if(!d.value)return;v++;const w=v;let S=!1;u&&Promise.resolve().then(()=>{u.value=!0});try{const P=await t(A=>{b(()=>{u&&(u.value=!1),S||A()})});w===v&&(g.value=P)}catch(P){h(P)}finally{u&&w===v&&(u.value=!1),S=!0}}),s?xt(()=>(d.value=!0,g.value)):g}function fc(t){var e;const r=Sr(t);return(e=r==null?void 0:r.$el)!=null?e:r}const Vr=clt?window:void 0;function fs(...t){let e,r,o,s;if(typeof t[0]=="string"||Array.isArray(t[0])?([r,o,s]=t,e=Vr):[e,r,o,s]=t,!e)return so;Array.isArray(r)||(r=[r]),Array.isArray(o)||(o=[o]);const u=[],f=()=>{u.forEach(v=>v()),u.length=0},h=(v,b,w,S)=>(v.addEventListener(b,w,S),()=>v.removeEventListener(b,w,S)),d=Re(()=>[fc(e),Sr(s)],([v,b])=>{if(f(),!v)return;const w=flt(b)?{...b}:b;u.push(...r.flatMap(S=>o.map(P=>h(v,S,P,w))))},{immediate:!0,flush:"post"}),g=()=>{d(),f()};return jh(g),g}function xlt(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function _lt(...t){let e,r,o={};t.length===3?(e=t[0],r=t[1],o=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,r=t[0],o=t[1]):(e=t[0],r=t[1]):(e=!0,r=t[0]);const{target:s=Vr,eventName:u="keydown",passive:f=!1,dedupe:h=!1}=o,d=xlt(e);return fs(s,u,v=>{v.repeat&&Sr(h)||d(v)&&r(v)},f)}function Slt(){const t=Zt(!1);return Pl()&&ms(()=>{t.value=!0}),t}function Hy(t){const e=Slt();return xt(()=>(e.value,!!t()))}function By(t,e={}){const{window:r=Vr}=e,o=Hy(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let s;const u=Zt(!1),f=g=>{u.value=g.matches},h=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",f):s.removeListener(f))},d=Ch(()=>{o.value&&(h(),s=r.matchMedia(Sr(t)),"addEventListener"in s?s.addEventListener("change",f):s.addListener(f),u.value=s.matches)});return jh(()=>{d(),h(),s=void 0}),u}const Ma=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Na="__vueuse_ssr_handlers__",klt=Clt();function Clt(){return Na in Ma||(Ma[Na]=Ma[Na]||{}),Ma[Na]}function Wy(t,e){return klt[t]||e}function Tlt(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":t instanceof Date?"date":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"?"object":Number.isNaN(t)?"any":"number"}const Elt={boolean:{read:t=>t==="true",write:t=>String(t)},object:{read:t=>JSON.parse(t),write:t=>JSON.stringify(t)},number:{read:t=>Number.parseFloat(t),write:t=>String(t)},any:{read:t=>t,write:t=>String(t)},string:{read:t=>t,write:t=>String(t)},map:{read:t=>new Map(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))},set:{read:t=>new Set(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t))},date:{read:t=>new Date(t),write:t=>t.toISOString()}},Gv="vueuse-storage";function Llt(t,e,r,o={}){var s;const{flush:u="pre",deep:f=!0,listenToStorageChanges:h=!0,writeDefaults:d=!0,mergeDefaults:g=!1,shallow:v,window:b=Vr,eventFilter:w,onError:S=nt=>{console.error(nt)},initOnMounted:P}=o,A=(v?vs:Zt)(typeof e=="function"?e():e);if(!r)try{r=Wy("getDefaultStorage",()=>{var nt;return(nt=Vr)==null?void 0:nt.localStorage})()}catch(nt){S(nt)}if(!r)return A;const L=Sr(e),T=Tlt(L),M=(s=o.serializer)!=null?s:Elt[T],{pause:R,resume:E}=qy(A,()=>B(A.value),{flush:u,deep:f,eventFilter:w});return b&&h&&Gh(()=>{fs(b,"storage",Y),fs(b,Gv,ht),P&&Y()}),P||Y(),A;function B(nt){try{if(nt==null)r.removeItem(t);else{const at=M.write(nt),pt=r.getItem(t);pt!==at&&(r.setItem(t,at),b&&b.dispatchEvent(new CustomEvent(Gv,{detail:{key:t,oldValue:pt,newValue:at,storageArea:r}})))}}catch(at){S(at)}}function K(nt){const at=nt?nt.newValue:r.getItem(t);if(at==null)return d&&L!==null&&r.setItem(t,M.write(L)),L;if(!nt&&g){const pt=M.read(at);return typeof g=="function"?g(pt,L):T==="object"&&!Array.isArray(pt)?{...L,...pt}:pt}else return typeof at!="string"?at:M.read(at)}function ht(nt){Y(nt.detail)}function Y(nt){if(!(nt&&nt.storageArea!==r)){if(nt&&nt.key==null){A.value=L;return}if(!(nt&&nt.key!==t)){R();try{(nt==null?void 0:nt.newValue)!==M.write(A.value)&&(A.value=K(nt))}catch(at){S(at)}finally{nt?Br(E):E()}}}}}function Alt(t){return By("(prefers-color-scheme: dark)",t)}function Mlt(t={}){const{selector:e="html",attribute:r="class",initialValue:o="auto",window:s=Vr,storage:u,storageKey:f="vueuse-color-scheme",listenToStorageChanges:h=!0,storageRef:d,emitAuto:g,disableTransition:v=!0}=t,b={auto:"",light:"light",dark:"dark",...t.modes||{}},w=Alt({window:s}),S=xt(()=>w.value?"dark":"light"),P=d||(f==null?plt(o):Llt(f,o,u,{window:s,listenToStorageChanges:h})),A=xt(()=>P.value==="auto"?S.value:P.value),L=Wy("updateHTMLAttrs",(E,B,K)=>{const ht=typeof E=="string"?s==null?void 0:s.document.querySelector(E):fc(E);if(!ht)return;let Y;if(v){Y=s.document.createElement("style");const nt="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";Y.appendChild(document.createTextNode(nt)),s.document.head.appendChild(Y)}if(B==="class"){const nt=K.split(/\s/g);Object.values(b).flatMap(at=>(at||"").split(/\s/g)).filter(Boolean).forEach(at=>{nt.includes(at)?ht.classList.add(at):ht.classList.remove(at)})}else ht.setAttribute(B,K);v&&(s.getComputedStyle(Y).opacity,document.head.removeChild(Y))});function T(E){var B;L(e,r,(B=b[E])!=null?B:E)}function M(E){t.onChanged?t.onChanged(E,T):T(E)}Re(A,M,{flush:"post",immediate:!0}),Gh(()=>M(A.value));const R=xt({get(){return g?P.value:A.value},set(E){P.value=E}});try{return Object.assign(R,{store:P,system:S,state:A})}catch{return R}}function Nlt(t={}){const{valueDark:e="dark",valueLight:r=""}=t,o=Mlt({...t,onChanged:(u,f)=>{var h;t.onChanged?(h=t.onChanged)==null||h.call(t,u==="dark",f,u):f(u)},modes:{dark:e,light:r}});return xt({get(){return o.value==="dark"},set(u){const f=u?"dark":"light";o.system.value===f?o.value="auto":o.value=f}})}function Plt(t,e,r={}){const{window:o=Vr,...s}=r;let u;const f=Hy(()=>o&&"ResizeObserver"in o),h=()=>{u&&(u.disconnect(),u=void 0)},d=xt(()=>Array.isArray(t)?t.map(b=>fc(b)):[fc(t)]),g=Re(d,b=>{if(h(),f.value&&o){u=new ResizeObserver(e);for(const w of b)w&&u.observe(w,s)}},{immediate:!0,flush:"post",deep:!0}),v=()=>{h(),g()};return jh(v),{isSupported:f,stop:v}}function Olt(t="history",e={}){const{initialValue:r={},removeNullishValues:o=!0,removeFalsyValues:s=!1,write:u=!0,window:f=Vr}=e;if(!f)return Un(r);const h=Un({});function d(){if(t==="history")return f.location.search||"";if(t==="hash"){const T=f.location.hash||"",M=T.indexOf("?");return M>0?T.slice(M):""}else return(f.location.hash||"").replace(/^#/,"")}function g(T){const M=T.toString();if(t==="history")return`${M?`?${M}`:""}${f.location.hash||""}`;if(t==="hash-params")return`${f.location.search||""}${M?`#${M}`:""}`;const R=f.location.hash||"#",E=R.indexOf("?");return E>0?`${R.slice(0,E)}${M?`?${M}`:""}`:`${R}${M?`?${M}`:""}`}function v(){return new URLSearchParams(d())}function b(T){const M=new Set(Object.keys(h));for(const R of T.keys()){const E=T.getAll(R);h[R]=E.length>1?E:T.get(R)||"",M.delete(R)}Array.from(M).forEach(R=>delete h[R])}const{pause:w,resume:S}=qy(h,()=>{const T=new URLSearchParams("");Object.keys(h).forEach(M=>{const R=h[M];Array.isArray(R)?R.forEach(E=>T.append(M,E)):o&&R==null||s&&!R?T.delete(M):T.set(M,R)}),P(T)},{deep:!0});function P(T,M){w(),M&&b(T),f.history.replaceState(f.history.state,f.document.title,f.location.pathname+g(T)),S()}function A(){u&&P(v(),!0)}fs(f,"popstate",A,!1),t!=="history"&&fs(f,"hashchange",A,!1);const L=v();return L.keys().next().value?b(L):Object.assign(h,r),h}function Dlt(t={}){const{window:e=Vr,initialWidth:r=Number.POSITIVE_INFINITY,initialHeight:o=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:u=!0}=t,f=Zt(r),h=Zt(o),d=()=>{e&&(u?(f.value=e.innerWidth,h.value=e.innerHeight):(f.value=e.document.documentElement.clientWidth,h.value=e.document.documentElement.clientHeight))};if(d(),Gh(d),fs("resize",d,{passive:!0}),s){const g=By("(orientation: portrait)");Re(g,()=>d())}return{width:f,height:h}}const Uy=Olt("hash",{initialValue:{file:"",view:null}}),yr=wh(Uy,"file"),er=wh(Uy,"view");var In=Uint8Array,Uo=Uint16Array,$lt=Int32Array,jy=new In([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Vy=new In([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Rlt=new In([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Gy=function(t,e){for(var r=new Uo(31),o=0;o<31;++o)r[o]=e+=1<>1|(xe&21845)<<1;pi=(pi&52428)>>2|(pi&13107)<<2,pi=(pi&61680)>>4|(pi&3855)<<4,Gf[xe]=((pi&65280)>>8|(pi&255)<<8)>>1}var dl=function(t,e,r){for(var o=t.length,s=0,u=new Uo(e);s>d]=g}else for(h=new Uo(o),s=0;s>15-t[s]);return h},Rl=new In(288);for(var xe=0;xe<144;++xe)Rl[xe]=8;for(var xe=144;xe<256;++xe)Rl[xe]=9;for(var xe=256;xe<280;++xe)Rl[xe]=7;for(var xe=280;xe<288;++xe)Rl[xe]=8;var Yy=new In(32);for(var xe=0;xe<32;++xe)Yy[xe]=5;var qlt=dl(Rl,9,1),Hlt=dl(Yy,5,1),sf=function(t){for(var e=t[0],r=1;re&&(e=t[r]);return e},nr=function(t,e,r){var o=e/8|0;return(t[o]|t[o+1]<<8)>>(e&7)&r},lf=function(t,e){var r=e/8|0;return(t[r]|t[r+1]<<8|t[r+2]<<16)>>(e&7)},Blt=function(t){return(t+7)/8|0},Zy=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new In(t.subarray(e,r))},Wlt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Tn=function(t,e,r){var o=new Error(e||Wlt[t]);if(o.code=t,Error.captureStackTrace&&Error.captureStackTrace(o,Tn),!r)throw o;return o},Kh=function(t,e,r,o){var s=t.length,u=o?o.length:0;if(!s||e.f&&!e.l)return r||new In(0);var f=!r,h=f||e.i!=2,d=e.i;f&&(r=new In(s*3));var g=function(Et){var $=r.length;if(Et>$){var I=new In(Math.max($*2,Et));I.set(r),r=I}},v=e.f||0,b=e.p||0,w=e.b||0,S=e.l,P=e.d,A=e.m,L=e.n,T=s*8;do{if(!S){v=nr(t,b,1);var M=nr(t,b+1,3);if(b+=3,M)if(M==1)S=qlt,P=Hlt,A=9,L=5;else if(M==2){var K=nr(t,b,31)+257,ht=nr(t,b+10,15)+4,Y=K+nr(t,b+5,31)+1;b+=14;for(var nt=new In(Y),at=new In(19),pt=0;pt>4;if(R<16)nt[pt++]=R;else{var F=0,H=0;for(R==16?(H=3+nr(t,b,3),b+=2,F=nt[pt-1]):R==17?(H=3+nr(t,b,7),b+=3):R==18&&(H=11+nr(t,b,127),b+=7);H--;)nt[pt++]=F}}var Q=nt.subarray(0,K),yt=nt.subarray(K);A=sf(Q),L=sf(yt),S=dl(Q,A,1),P=dl(yt,L,1)}else Tn(1);else{var R=Blt(b)+4,E=t[R-4]|t[R-3]<<8,B=R+E;if(B>s){d&&Tn(0);break}h&&g(w+E),r.set(t.subarray(R,B),w),e.b=w+=E,e.p=b=B*8,e.f=v;continue}if(b>T){d&&Tn(0);break}}h&&g(w+131072);for(var At=(1<>4;if(b+=F&15,b>T){d&&Tn(0);break}if(F||Tn(2),Jt<256)r[w++]=Jt;else if(Jt==256){Ht=b,S=null;break}else{var Qt=Jt-254;if(Jt>264){var pt=Jt-257,Gt=jy[pt];Qt=nr(t,b,(1<>4;Tt||Tn(3),b+=Tt&15;var yt=Flt[j];if(j>3){var Gt=Vy[j];yt+=lf(t,b)&(1<T){d&&Tn(0);break}h&&g(w+131072);var rt=w+Qt;if(w>3&1)+(e>>4&1);o>0;o-=!t[r++]);return r+(e&2)},Vlt=function(t){var e=t.length;return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0},Glt=function(t,e){return((t[0]&15)!=8||t[0]>>4>7||(t[0]<<8|t[1])%31)&&Tn(6,"invalid zlib data"),(t[1]>>5&1)==+!e&&Tn(6,"invalid zlib data: "+(t[1]&32?"need":"unexpected")+" dictionary"),(t[1]>>3&4)+2};function Klt(t,e){return Kh(t,{i:2},e&&e.out,e&&e.dictionary)}function Xlt(t,e){var r=jlt(t);return r+8>t.length&&Tn(6,"invalid gzip data"),Kh(t.subarray(r,-8),{i:2},e&&e.out||new In(Vlt(t)),e&&e.dictionary)}function Ylt(t,e){return Kh(t.subarray(Glt(t,e&&e.dictionary),-4),{i:2},e&&e.out,e&&e.dictionary)}function Zlt(t,e){return t[0]==31&&t[1]==139&&t[2]==8?Xlt(t,e):(t[0]&15)!=8||t[0]>>4>7||(t[0]<<8|t[1])%31?Klt(t,e):Ylt(t,e)}var Kf=typeof TextDecoder<"u"&&new TextDecoder,Qlt=0;try{Kf.decode(Ult,{stream:!0}),Qlt=1}catch{}var Jlt=function(t){for(var e="",r=0;;){var o=t[r++],s=(o>127)+(o>223)+(o>239);if(r+s>t.length)return{s:e,r:Zy(t,r-1)};s?s==3?(o=((o&15)<<18|(t[r++]&63)<<12|(t[r++]&63)<<6|t[r++]&63)-65536,e+=String.fromCharCode(55296|o>>10,56320|o&1023)):s&1?e+=String.fromCharCode((o&31)<<6|t[r++]&63):e+=String.fromCharCode((o&15)<<12|(t[r++]&63)<<6|t[r++]&63):e+=String.fromCharCode(o)}};function tat(t,e){if(e){for(var r="",o=0;o{},hn=()=>Promise.resolve();function eat(){const t=Un({state:new ly,waitForConnection:f,reconnect:s,ws:new EventTarget});t.state.filesMap=Un(t.state.filesMap),t.state.idMap=Un(t.state.idMap);let e;const r={getFiles:()=>e.files,getPaths:()=>e.paths,getConfig:()=>e.config,getModuleGraph:async h=>e.moduleGraph[h],getUnhandledErrors:()=>e.unhandledErrors,getTransformResult:async h=>({code:h,source:"",map:null}),onDone:af,onCollected:hn,onTaskUpdate:af,writeFile:hn,rerun:hn,updateSnapshot:hn,resolveSnapshotPath:hn,snapshotSaved:hn,onAfterSuiteRun:hn,onCancel:hn,getCountOfFailedTests:()=>0,sendLog:hn,resolveSnapshotRawPath:hn,readSnapshotFile:hn,saveSnapshotFile:hn,readTestFile:hn,removeSnapshotFile:hn,onUnhandledError:af,saveTestFile:hn,getProvidedContext:()=>({})};t.rpc=r;let o;function s(){u()}async function u(){var v;const h=await fetch(window.METADATA_PATH),d=((v=h.headers.get("content-type"))==null?void 0:v.toLowerCase())||"";if(d.includes("application/gzip")||d.includes("application/x-gzip")){const b=new Uint8Array(await h.arrayBuffer()),w=tat(Zlt(b));e=Uf(w)}else e=Uf(await h.text());const g=new Event("open");t.ws.dispatchEvent(g)}u();function f(){return o}return t}const kl=Zt("idle"),yi=Zt([]),je=function(){return jr?eat():fT(pT,{reactive:Un,handlers:{onTaskUpdate(){kl.value="running"},onFinished(e,r){kl.value="idle",yi.value=(r||[]).map(Ry)}}})}(),Xh=vs({}),Zi=Zt("CONNECTING"),mn=xt(()=>je.state.getFiles()),Se=xt(()=>mn.value.find(t=>t.id===yr.value)),Qy=xt(()=>Hh(Se.value).map(t=>(t==null?void 0:t.logs)||[]).flat()||[]);function hc(t){return mn.value.find(e=>e.id===t)}const nat=xt(()=>Zi.value==="OPEN"),cf=xt(()=>Zi.value==="CONNECTING");xt(()=>Zi.value==="CLOSED");function rat(t=je.state.getFiles()){return Jy(t)}function Jy(t){return t.forEach(e=>{delete e.result,Hh(e).forEach(r=>delete r.result)}),je.rpc.rerun(t.map(e=>e.filepath))}function iat(){if(Se.value)return Jy([Se.value])}Re(()=>je.ws,t=>{Zi.value=jr?"OPEN":"CONNECTING",t.addEventListener("open",async()=>{Zi.value="OPEN",je.state.filesMap.clear();const[e,r,o]=await Promise.all([je.rpc.getFiles(),je.rpc.getConfig(),je.rpc.getUnhandledErrors()]);je.state.collectFiles(e),yi.value=(o||[]).map(Ry),Xh.value=r}),t.addEventListener("close",()=>{setTimeout(()=>{Zi.value==="CONNECTING"&&(Zi.value="CLOSED")},1e3)})},{immediate:!0});const oat={"text-2xl":""},sat=tt("div",{"text-lg":"",op50:""}," Check your terminal or start a new server with `vitest --ui` ",-1),lat=ie({__name:"ConnectionOverlay",setup(t){return(e,r)=>U(nat)?Vt("",!0):(st(),kt("div",{key:0,fixed:"","inset-0":"",p2:"","z-10":"","select-none":"",text:"center sm",bg:"overlay","backdrop-blur-sm":"","backdrop-saturate-0":"",onClick:r[0]||(r[0]=(...o)=>U(je).reconnect&&U(je).reconnect(...o))},[tt("div",{"h-full":"",flex:"~ col gap-2","items-center":"","justify-center":"",class:ve(U(cf)?"animate-pulse":"")},[tt("div",{text:"5xl",class:ve(U(cf)?"i-carbon:renew animate-spin animate-reverse":"i-carbon-wifi-off")},null,2),tt("div",oat,Ut(U(cf)?"Connecting...":"Disconnected"),1),sat],2)]))}}),zl=Nlt(),aat=mlt(zl),cat={class:"scrolls scrolls-rounded task-error"},uat=["onClickPassive"],fat=["innerHTML"],hat=ie({__name:"ViewReportError",props:{root:{},filename:{},error:{}},setup(t){const e=t;function r(f){return f.startsWith(e.root)?f.slice(e.root.length):f}const o=xt(()=>Uh(zl.value)),s=xt(()=>{var f;return!!((f=e.error)!=null&&f.diff)}),u=xt(()=>e.error.diff?o.value.toHtml(e.error.diff):void 0);return(f,h)=>{const d=uo("tooltip");return st(),kt("div",cat,[tt("pre",null,[tt("b",null,Ut(f.error.name||f.error.nameStr),1),me(": "+Ut(f.error.message),1)]),(st(!0),kt(ne,null,Rn(f.error.stacks,(g,v)=>(st(),kt("div",{key:v,class:"op80 flex gap-x-2 items-center","data-testid":"stack"},[tt("pre",null," - "+Ut(r(g.file))+":"+Ut(g.line)+":"+Ut(g.column),1),U(llt)(g.file,f.filename)?nn((st(),kt("div",{key:0,class:"i-carbon-launch c-red-600 dark:c-red-400 hover:cursor-pointer min-w-1em min-h-1em",tabindex:"0","aria-label":"Open in Editor",onClickPassive:b=>U($y)(g.file,g.line,g.column)},null,40,uat)),[[d,"Open in Editor",void 0,{bottom:!0}]]):Vt("",!0)]))),128)),U(s)?(st(),kt("pre",{key:0,"data-testid":"diff",innerHTML:U(u)},null,8,fat)):Vt("",!0)])}}}),dat=fo(hat,[["__scopeId","data-v-93ed29fc"]]);function Va(t){return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const pat={"h-full":"",class:"scrolls"},gat={key:0,class:"scrolls scrolls-rounded task-error"},vat=["innerHTML"],mat={key:1,bg:"green-500/10",text:"green-500 sm",p:"x4 y2","m-2":"",rounded:""},yat=ie({__name:"ViewReport",props:{file:{}},setup(t){const e=t;function r(f,h){var d;return((d=f.result)==null?void 0:d.state)!=="fail"?[]:f.type==="test"||f.type==="custom"?[{...f,level:h}]:[{...f,level:h},...f.tasks.flatMap(g=>r(g,h+1))]}function o(f,h){var v,b,w;let d="";(v=h.message)!=null&&v.includes("\x1B")&&(d=`${h.nameStr||h.name}: ${f.toHtml(Va(h.message))}`);const g=(b=h.stackStr)==null?void 0:b.includes("\x1B");return(g||(w=h.stack)!=null&&w.includes("\x1B"))&&(d.length>0?d+=f.toHtml(Va(g?h.stackStr:h.stack)):d=`${h.nameStr||h.name}: ${h.message}${f.toHtml(Va(g?h.stackStr:h.stack))}`),d.length>0?d:null}function s(f,h){const d=Uh(f);return h.map(g=>{var w;const v=g.result;if(!v)return g;const b=(w=v.errors)==null?void 0:w.map(S=>o(d,S)).filter(S=>S!=null).join("

");return b!=null&&b.length&&(v.htmlError=b),g})}const u=xt(()=>{var v,b;const f=e.file,h=((v=f==null?void 0:f.tasks)==null?void 0:v.flatMap(w=>r(w,0)))??[],d=f==null?void 0:f.result;if((b=d==null?void 0:d.errors)==null?void 0:b[0]){const w={id:f.id,name:f.name,level:0,type:"suite",mode:"run",meta:{},tasks:[],result:d};h.unshift(w)}return h.length>0?s(zl.value,h):h});return(f,h)=>(st(),kt("div",pat,[U(u).length?(st(!0),kt(ne,{key:0},Rn(U(u),d=>{var g,v,b;return st(),kt("div",{key:d.id},[tt("div",{bg:"red-500/10",text:"red-500 sm",p:"x3 y2","m-2":"",rounded:"",style:An({"margin-left":`${(g=d.result)!=null&&g.htmlError?.5:2*d.level+.5}rem`})},[me(Ut(d.name)+" ",1),(v=d.result)!=null&&v.htmlError?(st(),kt("div",gat,[tt("pre",{innerHTML:d.result.htmlError},null,8,vat)])):(b=d.result)!=null&&b.errors?(st(!0),kt(ne,{key:1},Rn(d.result.errors,(w,S)=>{var P;return st(),te(dat,{key:S,error:w,filename:(P=f.file)==null?void 0:P.name,root:U(Xh).root},null,8,["error","filename","root"])}),128)):Vt("",!0)],4)])}),128)):(st(),kt("div",mat," All tests passed in this file "))]))}}),bat=fo(yat,[["__scopeId","data-v-5e7bb715"]]),wat={border:"b base","p-4":""},xat=["innerHTML"],_at=ie({__name:"ViewConsoleOutputEntry",props:{taskName:{},type:{},time:{},content:{}},setup(t){function e(r){return new Date(r).toLocaleTimeString()}return(r,o)=>(st(),kt("div",wat,[tt("div",{"text-xs":"","mb-1":"",class:ve(r.type==="stderr"?"text-red-600 dark:text-red-300":"op30")},Ut(e(r.time))+" | "+Ut(r.taskName)+" | "+Ut(r.type),3),tt("pre",{"data-type":"html",innerHTML:r.content},null,8,xat)]))}}),dc=xt(()=>mn.value.filter(t=>{var e;return((e=t.result)==null?void 0:e.state)==="fail"})),pc=xt(()=>mn.value.filter(t=>{var e;return((e=t.result)==null?void 0:e.state)==="pass"})),Yh=xt(()=>mn.value.filter(t=>t.mode==="skip"||t.mode==="todo"));xt(()=>mn.value.filter(t=>!dc.value.includes(t)&&!pc.value.includes(t)&&!Yh.value.includes(t)));xt(()=>Yh.value.filter(t=>t.mode==="skip"));const Kv=xt(()=>mn.value.filter(Wc));xt(()=>Yh.value.filter(t=>t.mode==="todo"));const Sat=xt(()=>kl.value==="idle"),Vc=xt(()=>rb(mn.value)),tb=xt(()=>Vc.value.filter(t=>{var e;return((e=t.result)==null?void 0:e.state)==="fail"})),eb=xt(()=>Vc.value.filter(t=>{var e;return((e=t.result)==null?void 0:e.state)==="pass"})),nb=xt(()=>Vc.value.filter(t=>t.mode==="skip"||t.mode==="todo")),kat=xt(()=>nb.value.filter(t=>t.mode==="skip")),Cat=xt(()=>nb.value.filter(t=>t.mode==="todo"));xt(()=>tb.value.length+eb.value.length);const Tat=xt(()=>{const t=mn.value.reduce((e,r)=>{var o;return e+=Math.max(0,r.collectDuration||0),e+=Math.max(0,r.setupDuration||0),e+=Math.max(0,((o=r.result)==null?void 0:o.duration)||0),e},0);return t>1e3?`${(t/1e3).toFixed(2)}s`:`${Math.round(t)}ms`});function Eat(t){return t=t||[],Array.isArray(t)?t:[t]}function Xv(t){return t.type==="test"||t.type==="custom"}function rb(t){const e=[],r=Eat(t);for(const o of r)if(Xv(o))e.push(o);else for(const s of o.tasks)Xv(s)?e.push(s):e.push(...rb(s));return e}const Lat={key:0,"h-full":"",class:"scrolls",flex:"","flex-col":"","data-testid":"logs"},Aat={key:1,p6:""},Mat=tt("pre",{inline:""},"console.log(foo)",-1),Nat=ie({__name:"ViewConsoleOutput",setup(t){const e=xt(()=>{const o=Qy.value;if(o){const s=Uh(zl.value);return o.map(({taskId:u,type:f,time:h,content:d})=>({taskId:u,type:f,time:h,content:s.toHtml(Va(d))}))}});function r(o){const s=o&&je.state.idMap.get(o);return(s?uT(s).slice(1).join(" > "):"-")||"-"}return(o,s)=>{var f;const u=_at;return(f=U(e))!=null&&f.length?(st(),kt("div",Lat,[(st(!0),kt(ne,null,Rn(U(e),({taskId:h,type:d,time:g,content:v})=>(st(),kt("div",{key:h,"font-mono":""},[Ft(u,{"task-name":r(h),type:d,time:g,content:v},null,8,["task-name","type","time","content"])]))),128))])):(st(),kt("p",Aat,[me(" Log something in your test and it would print here. (e.g. "),Mat,me(") ")]))}}});var ib={exports:{}};(function(t,e){(function(r,o){t.exports=o()})(oo,function(){var r=navigator.userAgent,o=navigator.platform,s=/gecko\/\d/i.test(r),u=/MSIE \d/.test(r),f=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(r),h=/Edge\/(\d+)/.exec(r),d=u||f||h,g=d&&(u?document.documentMode||6:+(h||f)[1]),v=!h&&/WebKit\//.test(r),b=v&&/Qt\/\d+\.\d+/.test(r),w=!h&&/Chrome\/(\d+)/.exec(r),S=w&&+w[1],P=/Opera\//.test(r),A=/Apple Computer/.test(navigator.vendor),L=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(r),T=/PhantomJS/.test(r),M=A&&(/Mobile\/\w+/.test(r)||navigator.maxTouchPoints>2),R=/Android/.test(r),E=M||R||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(r),B=M||/Mac/.test(o),K=/\bCrOS\b/.test(r),ht=/win/i.test(o),Y=P&&r.match(/Version\/(\d*\.\d*)/);Y&&(Y=Number(Y[1])),Y&&Y>=15&&(P=!1,v=!0);var nt=B&&(b||P&&(Y==null||Y<12.11)),at=s||d&&g>=9;function pt(n){return new RegExp("(^|\\s)"+n+"(?:$|\\s)\\s*")}var gt=function(n,i){var a=n.className,l=pt(i).exec(a);if(l){var c=a.slice(l.index+l[0].length);n.className=a.slice(0,l.index)+(c?l[1]+c:"")}};function G(n){for(var i=n.childNodes.length;i>0;--i)n.removeChild(n.firstChild);return n}function z(n,i){return G(n).appendChild(i)}function k(n,i,a,l){var c=document.createElement(n);if(a&&(c.className=a),l&&(c.style.cssText=l),typeof i=="string")c.appendChild(document.createTextNode(i));else if(i)for(var p=0;p=i)return m+(i-p);m+=y-p,m+=a-m%a,p=y+1}}var Mt=function(){this.id=null,this.f=null,this.time=0,this.handler=j(this.onTimeout,this)};Mt.prototype.onTimeout=function(n){n.id=0,n.time<=+new Date?n.f():setTimeout(n.handler,n.time-+new Date)},Mt.prototype.set=function(n,i){this.f=i;var a=+new Date+n;(!this.id||a=i)return l+Math.min(m,i-c);if(c+=p-l,c+=a-c%a,l=p+1,c>=i)return l}}var St=[""];function mt(n){for(;St.length<=n;)St.push(ct(St)+" ");return St[n]}function ct(n){return n[n.length-1]}function ft(n,i){for(var a=[],l=0;l"€"&&(n.toUpperCase()!=n.toLowerCase()||Bt.test(n))}function re(n,i){return i?i.source.indexOf("\\w")>-1&&Kt(n)?!0:i.test(n):Kt(n)}function oe(n){for(var i in n)if(n.hasOwnProperty(i)&&n[i])return!1;return!0}var fe=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function se(n){return n.charCodeAt(0)>=768&&fe.test(n)}function rn(n,i,a){for(;(a<0?i>0:ia?-1:1;;){if(i==a)return i;var c=(i+a)/2,p=l<0?Math.ceil(c):Math.floor(c);if(p==i)return n(p)?i:a;n(p)?a=p:i=p+l}}function wn(n,i,a,l){if(!n)return l(i,a,"ltr",0);for(var c=!1,p=0;pi||i==a&&m.to==i)&&(l(Math.max(m.from,i),Math.min(m.to,a),m.level==1?"rtl":"ltr",p),c=!0)}c||l(i,a,"ltr")}var cr=null;function Ae(n,i,a){var l;cr=null;for(var c=0;ci)return c;p.to==i&&(p.from!=p.to&&a=="before"?l=c:cr=c),p.from==i&&(p.from!=p.to&&a!="before"?l=c:cr=c)}return l??cr}var xn=function(){var n="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",i="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function a(_){return _<=247?n.charAt(_):1424<=_&&_<=1524?"R":1536<=_&&_<=1785?i.charAt(_-1536):1774<=_&&_<=2220?"r":8192<=_&&_<=8203?"w":_==8204?"b":"L"}var l=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,c=/[stwN]/,p=/[LRr]/,m=/[Lb1n]/,y=/[1n]/;function x(_,N,D){this.level=_,this.from=N,this.to=D}return function(_,N){var D=N=="ltr"?"L":"R";if(_.length==0||N=="ltr"&&!l.test(_))return!1;for(var W=_.length,q=[],Z=0;Z-1&&(l[i]=c.slice(0,p).concat(c.slice(p+1)))}}}function ke(n,i){var a=Cr(n,i);if(a.length)for(var l=Array.prototype.slice.call(arguments,2),c=0;c0}function Vn(n){n.prototype.on=function(i,a){Rt(this,i,a)},n.prototype.off=function(i,a){Ke(this,i,a)}}function Xe(n){n.preventDefault?n.preventDefault():n.returnValue=!1}function ho(n){n.stopPropagation?n.stopPropagation():n.cancelBubble=!0}function on(n){return n.defaultPrevented!=null?n.defaultPrevented:n.returnValue==!1}function Yr(n){Xe(n),ho(n)}function ws(n){return n.target||n.srcElement}function Gn(n){var i=n.which;return i==null&&(n.button&1?i=1:n.button&2?i=3:n.button&4&&(i=2)),B&&n.ctrlKey&&i==1&&(i=3),i}var Yc=function(){if(d&&g<9)return!1;var n=k("div");return"draggable"in n||"dragDrop"in n}(),po;function Bl(n){if(po==null){var i=k("span","​");z(n,k("span",[i,document.createTextNode("x")])),n.firstChild.offsetHeight!=0&&(po=i.offsetWidth<=1&&i.offsetHeight>2&&!(d&&g<8))}var a=po?k("span","​"):k("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return a.setAttribute("cm-text",""),a}var xs;function Zr(n){if(xs!=null)return xs;var i=z(n,document.createTextNode("AخA")),a=H(i,0,1).getBoundingClientRect(),l=H(i,1,2).getBoundingClientRect();return G(n),!a||a.left==a.right?!1:xs=l.right-a.right<3}var Hn=` + +b`.split(/\n/).length!=3?function(n){for(var i=0,a=[],l=n.length;i<=l;){var c=n.indexOf(` +`,i);c==-1&&(c=n.length);var p=n.slice(i,n.charAt(c-1)=="\r"?c-1:c),m=p.indexOf("\r");m!=-1?(a.push(p.slice(0,m)),i+=m+1):(a.push(p),i=c+1)}return a}:function(n){return n.split(/\r\n?|\n/)},Qr=window.getSelection?function(n){try{return n.selectionStart!=n.selectionEnd}catch{return!1}}:function(n){var i;try{i=n.ownerDocument.selection.createRange()}catch{}return!i||i.parentElement()!=n?!1:i.compareEndPoints("StartToEnd",i)!=0},Wl=function(){var n=k("div");return"oncopy"in n?!0:(n.setAttribute("oncopy","return;"),typeof n.oncopy=="function")}(),Kn=null;function Zc(n){if(Kn!=null)return Kn;var i=z(n,k("span","x")),a=i.getBoundingClientRect(),l=H(i,0,1).getBoundingClientRect();return Kn=Math.abs(a.left-l.left)>1}var go={},Xn={};function Yn(n,i){arguments.length>2&&(i.dependencies=Array.prototype.slice.call(arguments,2)),go[n]=i}function Pi(n,i){Xn[n]=i}function vo(n){if(typeof n=="string"&&Xn.hasOwnProperty(n))n=Xn[n];else if(n&&typeof n.name=="string"&&Xn.hasOwnProperty(n.name)){var i=Xn[n.name];typeof i=="string"&&(i={name:i}),n=Dt(i,n),n.name=i.name}else{if(typeof n=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(n))return vo("application/xml");if(typeof n=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(n))return vo("application/json")}return typeof n=="string"?{name:n}:n||{name:"null"}}function mo(n,i){i=vo(i);var a=go[i.name];if(!a)return mo(n,"text/plain");var l=a(n,i);if(Jr.hasOwnProperty(i.name)){var c=Jr[i.name];for(var p in c)c.hasOwnProperty(p)&&(l.hasOwnProperty(p)&&(l["_"+p]=l[p]),l[p]=c[p])}if(l.name=i.name,i.helperType&&(l.helperType=i.helperType),i.modeProps)for(var m in i.modeProps)l[m]=i.modeProps[m];return l}var Jr={};function yo(n,i){var a=Jr.hasOwnProperty(n)?Jr[n]:Jr[n]={};rt(i,a)}function ur(n,i){if(i===!0)return i;if(n.copyState)return n.copyState(i);var a={};for(var l in i){var c=i[l];c instanceof Array&&(c=c.concat([])),a[l]=c}return a}function _s(n,i){for(var a;n.innerMode&&(a=n.innerMode(i),!(!a||a.mode==n));)i=a.state,n=a.mode;return a||{mode:n,state:i}}function bo(n,i,a){return n.startState?n.startState(i,a):!0}var Te=function(n,i,a){this.pos=this.start=0,this.string=n,this.tabSize=i||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=a};Te.prototype.eol=function(){return this.pos>=this.string.length},Te.prototype.sol=function(){return this.pos==this.lineStart},Te.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Te.prototype.next=function(){if(this.posi},Te.prototype.eatSpace=function(){for(var n=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>n},Te.prototype.skipToEnd=function(){this.pos=this.string.length},Te.prototype.skipTo=function(n){var i=this.string.indexOf(n,this.pos);if(i>-1)return this.pos=i,!0},Te.prototype.backUp=function(n){this.pos-=n},Te.prototype.column=function(){return this.lastColumnPos0?null:(p&&i!==!1&&(this.pos+=p[0].length),p)}},Te.prototype.current=function(){return this.string.slice(this.start,this.pos)},Te.prototype.hideFirstChars=function(n,i){this.lineStart+=n;try{return i()}finally{this.lineStart-=n}},Te.prototype.lookAhead=function(n){var i=this.lineOracle;return i&&i.lookAhead(n)},Te.prototype.baseToken=function(){var n=this.lineOracle;return n&&n.baseToken(this.pos)};function Pt(n,i){if(i-=n.first,i<0||i>=n.size)throw new Error("There is no line "+(i+n.first)+" in the document.");for(var a=n;!a.lines;)for(var l=0;;++l){var c=a.children[l],p=c.chunkSize();if(i=n.first&&ia?X(a,Pt(n,a).text.length):Vb(i,Pt(n,i.line).text.length)}function Vb(n,i){var a=n.ch;return a==null||a>i?X(n.line,i):a<0?X(n.line,0):n}function fd(n,i){for(var a=[],l=0;lthis.maxLookAhead&&(this.maxLookAhead=n),i},fr.prototype.baseToken=function(n){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=n;)this.baseTokenPos+=2;var i=this.baseTokens[this.baseTokenPos+1];return{type:i&&i.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-n}},fr.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},fr.fromSaved=function(n,i,a){return i instanceof Ul?new fr(n,ur(n.mode,i.state),a,i.lookAhead):new fr(n,ur(n.mode,i),a)},fr.prototype.save=function(n){var i=n!==!1?ur(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new Ul(i,this.maxLookAhead):i};function hd(n,i,a,l){var c=[n.state.modeGen],p={};yd(n,i.text,n.doc.mode,a,function(_,N){return c.push(_,N)},p,l);for(var m=a.state,y=function(_){a.baseTokens=c;var N=n.state.overlays[_],D=1,W=0;a.state=!0,yd(n,i.text,N.mode,a,function(q,Z){for(var it=D;Wq&&c.splice(D,1,q,c[D+1],vt),D+=2,W=Math.min(q,vt)}if(Z)if(N.opaque)c.splice(it,D-it,q,"overlay "+Z),D=it+2;else for(;itn.options.maxHighlightLength&&ur(n.doc.mode,l.state),p=hd(n,i,l);c&&(l.state=c),i.stateAfter=l.save(!c),i.styles=p.styles,p.classes?i.styleClasses=p.classes:i.styleClasses&&(i.styleClasses=null),a===n.doc.highlightFrontier&&(n.doc.modeFrontier=Math.max(n.doc.modeFrontier,++n.doc.highlightFrontier))}return i.styles}function ks(n,i,a){var l=n.doc,c=n.display;if(!l.mode.startState)return new fr(l,!0,i);var p=Gb(n,i,a),m=p>l.first&&Pt(l,p-1).stateAfter,y=m?fr.fromSaved(l,m,p):new fr(l,bo(l.mode),p);return l.iter(p,i,function(x){Qc(n,x.text,y);var _=y.line;x.stateAfter=_==i-1||_%5==0||_>=c.viewFrom&&_i.start)return p}throw new Error("Mode "+n.name+" failed to advance stream.")}var gd=function(n,i,a){this.start=n.start,this.end=n.pos,this.string=n.current(),this.type=i||null,this.state=a};function vd(n,i,a,l){var c=n.doc,p=c.mode,m;i=Wt(c,i);var y=Pt(c,i.line),x=ks(n,i.line,a),_=new Te(y.text,n.options.tabSize,x),N;for(l&&(N=[]);(l||_.posn.options.maxHighlightLength?(y=!1,m&&Qc(n,i,l,N.pos),N.pos=i.length,D=null):D=md(Jc(a,N,l.state,W),p),W){var q=W[0].name;q&&(D="m-"+(D?q+" "+D:q))}if(!y||_!=D){for(;xm;--y){if(y<=p.first)return p.first;var x=Pt(p,y-1),_=x.stateAfter;if(_&&(!a||y+(_ instanceof Ul?_.lookAhead:0)<=p.modeFrontier))return y;var N=lt(x.text,null,n.options.tabSize);(c==null||l>N)&&(c=y-1,l=N)}return c}function Kb(n,i){if(n.modeFrontier=Math.min(n.modeFrontier,i),!(n.highlightFrontiera;l--){var c=Pt(n,l).stateAfter;if(c&&(!(c instanceof Ul)||l+c.lookAhead=i:p.to>i);(l||(l=[])).push(new jl(m,p.from,x?null:p.to))}}return l}function tw(n,i,a){var l;if(n)for(var c=0;c=i:p.to>i);if(y||p.from==i&&m.type=="bookmark"&&(!a||p.marker.insertLeft)){var x=p.from==null||(m.inclusiveLeft?p.from<=i:p.from0&&y)for(var Lt=0;Lt0)){var N=[x,1],D=_t(_.from,y.from),W=_t(_.to,y.to);(D<0||!m.inclusiveLeft&&!D)&&N.push({from:_.from,to:y.from}),(W>0||!m.inclusiveRight&&!W)&&N.push({from:y.to,to:_.to}),c.splice.apply(c,N),x+=N.length-3}}return c}function xd(n){var i=n.markedSpans;if(i){for(var a=0;ai)&&(!l||eu(l,p.marker)<0)&&(l=p.marker)}return l}function Cd(n,i,a,l,c){var p=Pt(n,i),m=Er&&p.markedSpans;if(m)for(var y=0;y=0&&D<=0||N<=0&&D>=0)&&(N<=0&&(x.marker.inclusiveRight&&c.inclusiveLeft?_t(_.to,a)>=0:_t(_.to,a)>0)||N>=0&&(x.marker.inclusiveRight&&c.inclusiveLeft?_t(_.from,l)<=0:_t(_.from,l)<0)))return!0}}}function Zn(n){for(var i;i=kd(n);)n=i.find(-1,!0).line;return n}function rw(n){for(var i;i=Kl(n);)n=i.find(1,!0).line;return n}function iw(n){for(var i,a;i=Kl(n);)n=i.find(1,!0).line,(a||(a=[])).push(n);return a}function nu(n,i){var a=Pt(n,i),l=Zn(a);return a==l?i:C(l)}function Td(n,i){if(i>n.lastLine())return i;var a=Pt(n,i),l;if(!ti(n,a))return i;for(;l=Kl(a);)a=l.find(1,!0).line;return C(a)+1}function ti(n,i){var a=Er&&i.markedSpans;if(a){for(var l=void 0,c=0;ci.maxLineLength&&(i.maxLineLength=c,i.maxLine=l)})}var xo=function(n,i,a){this.text=n,_d(this,i),this.height=a?a(this):1};xo.prototype.lineNo=function(){return C(this)},Vn(xo);function ow(n,i,a,l){n.text=i,n.stateAfter&&(n.stateAfter=null),n.styles&&(n.styles=null),n.order!=null&&(n.order=null),xd(n),_d(n,a);var c=l?l(n):1;c!=n.height&&On(n,c)}function sw(n){n.parent=null,xd(n)}var lw={},aw={};function Ed(n,i){if(!n||/^\s*$/.test(n))return null;var a=i.addModeClass?aw:lw;return a[n]||(a[n]=n.replace(/\S+/g,"cm-$&"))}function Ld(n,i){var a=F("span",null,null,v?"padding-right: .1px":null),l={pre:F("pre",[a],"CodeMirror-line"),content:a,col:0,pos:0,cm:n,trailingSpace:!1,splitSpaces:n.getOption("lineWrapping")};i.measure={};for(var c=0;c<=(i.rest?i.rest.length:0);c++){var p=c?i.rest[c-1]:i.line,m=void 0;l.pos=0,l.addToken=uw,Zr(n.display.measure)&&(m=Yt(p,n.doc.direction))&&(l.addToken=hw(l.addToken,m)),l.map=[];var y=i!=n.display.externalMeasured&&C(p);dw(p,l,dd(n,p,y)),p.styleClasses&&(p.styleClasses.bgClass&&(l.bgClass=qt(p.styleClasses.bgClass,l.bgClass||"")),p.styleClasses.textClass&&(l.textClass=qt(p.styleClasses.textClass,l.textClass||""))),l.map.length==0&&l.map.push(0,0,l.content.appendChild(Bl(n.display.measure))),c==0?(i.measure.map=l.map,i.measure.cache={}):((i.measure.maps||(i.measure.maps=[])).push(l.map),(i.measure.caches||(i.measure.caches=[])).push({}))}if(v){var x=l.content.lastChild;(/\bcm-tab\b/.test(x.className)||x.querySelector&&x.querySelector(".cm-tab"))&&(l.content.className="cm-tab-wrap-hack")}return ke(n,"renderLine",n,i.line,l.pre),l.pre.className&&(l.textClass=qt(l.pre.className,l.textClass||"")),l}function cw(n){var i=k("span","•","cm-invalidchar");return i.title="\\u"+n.charCodeAt(0).toString(16),i.setAttribute("aria-label",i.title),i}function uw(n,i,a,l,c,p,m){if(i){var y=n.splitSpaces?fw(i,n.trailingSpace):i,x=n.cm.state.specialChars,_=!1,N;if(!x.test(i))n.col+=i.length,N=document.createTextNode(y),n.map.push(n.pos,n.pos+i.length,N),d&&g<9&&(_=!0),n.pos+=i.length;else{N=document.createDocumentFragment();for(var D=0;;){x.lastIndex=D;var W=x.exec(i),q=W?W.index-D:i.length-D;if(q){var Z=document.createTextNode(y.slice(D,D+q));d&&g<9?N.appendChild(k("span",[Z])):N.appendChild(Z),n.map.push(n.pos,n.pos+q,Z),n.col+=q,n.pos+=q}if(!W)break;D+=q+1;var it=void 0;if(W[0]==" "){var vt=n.cm.options.tabSize,bt=vt-n.col%vt;it=N.appendChild(k("span",mt(bt),"cm-tab")),it.setAttribute("role","presentation"),it.setAttribute("cm-text"," "),n.col+=bt}else W[0]=="\r"||W[0]==` +`?(it=N.appendChild(k("span",W[0]=="\r"?"␍":"␤","cm-invalidchar")),it.setAttribute("cm-text",W[0]),n.col+=1):(it=n.cm.options.specialCharPlaceholder(W[0]),it.setAttribute("cm-text",W[0]),d&&g<9?N.appendChild(k("span",[it])):N.appendChild(it),n.col+=1);n.map.push(n.pos,n.pos+1,it),n.pos++}}if(n.trailingSpace=y.charCodeAt(i.length-1)==32,a||l||c||_||p||m){var Ct=a||"";l&&(Ct+=l),c&&(Ct+=c);var wt=k("span",[N],Ct,p);if(m)for(var Lt in m)m.hasOwnProperty(Lt)&&Lt!="style"&&Lt!="class"&&wt.setAttribute(Lt,m[Lt]);return n.content.appendChild(wt)}n.content.appendChild(N)}}function fw(n,i){if(n.length>1&&!/ /.test(n))return n;for(var a=i,l="",c=0;c_&&D.from<=_));W++);if(D.to>=N)return n(a,l,c,p,m,y,x);n(a,l.slice(0,D.to-_),c,p,null,y,x),p=null,l=l.slice(D.to-_),_=D.to}}}function Ad(n,i,a,l){var c=!l&&a.widgetNode;c&&n.map.push(n.pos,n.pos+i,c),!l&&n.cm.display.input.needsContentAttribute&&(c||(c=n.content.appendChild(document.createElement("span"))),c.setAttribute("cm-marker",a.id)),c&&(n.cm.display.input.setUneditable(c),n.content.appendChild(c)),n.pos+=i,n.trailingSpace=!1}function dw(n,i,a){var l=n.markedSpans,c=n.text,p=0;if(!l){for(var m=1;mx||Xt.collapsed&&Ot.to==x&&Ot.from==x)){if(Ot.to!=null&&Ot.to!=x&&q>Ot.to&&(q=Ot.to,it=""),Xt.className&&(Z+=" "+Xt.className),Xt.css&&(W=(W?W+";":"")+Xt.css),Xt.startStyle&&Ot.from==x&&(vt+=" "+Xt.startStyle),Xt.endStyle&&Ot.to==q&&(Lt||(Lt=[])).push(Xt.endStyle,Ot.to),Xt.title&&((Ct||(Ct={})).title=Xt.title),Xt.attributes)for(var ge in Xt.attributes)(Ct||(Ct={}))[ge]=Xt.attributes[ge];Xt.collapsed&&(!bt||eu(bt.marker,Xt)<0)&&(bt=Ot)}else Ot.from>x&&q>Ot.from&&(q=Ot.from)}if(Lt)for(var We=0;We=y)break;for(var kn=Math.min(y,q);;){if(N){var cn=x+N.length;if(!bt){var Ne=cn>kn?N.slice(0,kn-x):N;i.addToken(i,Ne,D?D+Z:Z,vt,x+Ne.length==q?it:"",W,Ct)}if(cn>=kn){N=N.slice(kn-x),x=kn;break}x=cn,vt=""}N=c.slice(p,p=a[_++]),D=Ed(a[_++],i.cm.options)}}}function Md(n,i,a){this.line=i,this.rest=iw(i),this.size=this.rest?C(ct(this.rest))-a+1:1,this.node=this.text=null,this.hidden=ti(n,i)}function Yl(n,i,a){for(var l=[],c,p=i;p2&&p.push((x.bottom+_.top)/2-a.top)}}p.push(a.bottom-a.top)}}function zd(n,i,a){if(n.line==i)return{map:n.measure.map,cache:n.measure.cache};if(n.rest){for(var l=0;la)return{map:n.measure.maps[c],cache:n.measure.caches[c],before:!0}}}function kw(n,i){i=Zn(i);var a=C(i),l=n.display.externalMeasured=new Md(n.doc,i,a);l.lineN=a;var c=l.built=Ld(n,l);return l.text=c.pre,z(n.display.lineMeasure,c.pre),l}function Id(n,i,a,l){return dr(n,So(n,i),a,l)}function au(n,i){if(i>=n.display.viewFrom&&i=a.lineN&&ii)&&(p=x-y,c=p-1,i>=x&&(m="right")),c!=null){if(l=n[_+2],y==x&&a==(l.insertLeft?"left":"right")&&(m=a),a=="left"&&c==0)for(;_&&n[_-2]==n[_-3]&&n[_-1].insertLeft;)l=n[(_-=3)+2],m="left";if(a=="right"&&c==x-y)for(;_=0&&(a=n[c]).left==a.right;c--);return a}function Tw(n,i,a,l){var c=qd(i.map,a,l),p=c.node,m=c.start,y=c.end,x=c.collapse,_;if(p.nodeType==3){for(var N=0;N<4;N++){for(;m&&se(i.line.text.charAt(c.coverStart+m));)--m;for(;c.coverStart+y0&&(x=l="right");var D;n.options.lineWrapping&&(D=p.getClientRects()).length>1?_=D[l=="right"?D.length-1:0]:_=p.getBoundingClientRect()}if(d&&g<9&&!m&&(!_||!_.left&&!_.right)){var W=p.parentNode.getClientRects()[0];W?_={left:W.left,right:W.left+Co(n.display),top:W.top,bottom:W.bottom}:_=Fd}for(var q=_.top-i.rect.top,Z=_.bottom-i.rect.top,it=(q+Z)/2,vt=i.view.measure.heights,bt=0;bt=l.text.length?(x=l.text.length,_="before"):x<=0&&(x=0,_="after"),!y)return m(_=="before"?x-1:x,_=="before");function N(Z,it,vt){var bt=y[it],Ct=bt.level==1;return m(vt?Z-1:Z,Ct!=vt)}var D=Ae(y,x,_),W=cr,q=N(x,D,_=="before");return W!=null&&(q.other=N(x,W,_!="before")),q}function Vd(n,i){var a=0;i=Wt(n.doc,i),n.options.lineWrapping||(a=Co(n.display)*i.ch);var l=Pt(n.doc,i.line),c=Lr(l)+Zl(n.display);return{left:a,right:a,top:c,bottom:c+l.height}}function uu(n,i,a,l,c){var p=X(n,i,a);return p.xRel=c,l&&(p.outside=l),p}function fu(n,i,a){var l=n.doc;if(a+=n.display.viewOffset,a<0)return uu(l.first,0,null,-1,-1);var c=O(l,a),p=l.first+l.size-1;if(c>p)return uu(l.first+l.size-1,Pt(l,p).text.length,null,1,1);i<0&&(i=0);for(var m=Pt(l,c);;){var y=Lw(n,m,c,i,a),x=nw(m,y.ch+(y.xRel>0||y.outside>0?1:0));if(!x)return y;var _=x.find(1);if(_.line==c)return _;m=Pt(l,c=_.line)}}function Gd(n,i,a,l){l-=cu(i);var c=i.text.length,p=Pn(function(m){return dr(n,a,m-1).bottom<=l},c,0);return c=Pn(function(m){return dr(n,a,m).top>l},p,c),{begin:p,end:c}}function Kd(n,i,a,l){a||(a=So(n,i));var c=Ql(n,i,dr(n,a,l),"line").top;return Gd(n,i,a,c)}function hu(n,i,a,l){return n.bottom<=a?!1:n.top>a?!0:(l?n.left:n.right)>i}function Lw(n,i,a,l,c){c-=Lr(i);var p=So(n,i),m=cu(i),y=0,x=i.text.length,_=!0,N=Yt(i,n.doc.direction);if(N){var D=(n.options.lineWrapping?Mw:Aw)(n,i,a,p,N,l,c);_=D.level!=1,y=_?D.from:D.to-1,x=_?D.to:D.from-1}var W=null,q=null,Z=Pn(function(zt){var Ot=dr(n,p,zt);return Ot.top+=m,Ot.bottom+=m,hu(Ot,l,c,!1)?(Ot.top<=c&&Ot.left<=l&&(W=zt,q=Ot),!0):!1},y,x),it,vt,bt=!1;if(q){var Ct=l-q.left=Lt.bottom?1:0}return Z=rn(i.text,Z,1),uu(a,Z,vt,bt,l-it)}function Aw(n,i,a,l,c,p,m){var y=Pn(function(D){var W=c[D],q=W.level!=1;return hu(Qn(n,X(a,q?W.to:W.from,q?"before":"after"),"line",i,l),p,m,!0)},0,c.length-1),x=c[y];if(y>0){var _=x.level!=1,N=Qn(n,X(a,_?x.from:x.to,_?"after":"before"),"line",i,l);hu(N,p,m,!0)&&N.top>m&&(x=c[y-1])}return x}function Mw(n,i,a,l,c,p,m){var y=Gd(n,i,l,m),x=y.begin,_=y.end;/\s/.test(i.text.charAt(_-1))&&_--;for(var N=null,D=null,W=0;W=_||q.to<=x)){var Z=q.level!=1,it=dr(n,l,Z?Math.min(_,q.to)-1:Math.max(x,q.from)).right,vt=itvt)&&(N=q,D=vt)}}return N||(N=c[c.length-1]),N.from_&&(N={from:N.from,to:_,level:N.level}),N}var Di;function ko(n){if(n.cachedTextHeight!=null)return n.cachedTextHeight;if(Di==null){Di=k("pre",null,"CodeMirror-line-like");for(var i=0;i<49;++i)Di.appendChild(document.createTextNode("x")),Di.appendChild(k("br"));Di.appendChild(document.createTextNode("x"))}z(n.measure,Di);var a=Di.offsetHeight/50;return a>3&&(n.cachedTextHeight=a),G(n.measure),a||1}function Co(n){if(n.cachedCharWidth!=null)return n.cachedCharWidth;var i=k("span","xxxxxxxxxx"),a=k("pre",[i],"CodeMirror-line-like");z(n.measure,a);var l=i.getBoundingClientRect(),c=(l.right-l.left)/10;return c>2&&(n.cachedCharWidth=c),c||10}function du(n){for(var i=n.display,a={},l={},c=i.gutters.clientLeft,p=i.gutters.firstChild,m=0;p;p=p.nextSibling,++m){var y=n.display.gutterSpecs[m].className;a[y]=p.offsetLeft+p.clientLeft+c,l[y]=p.clientWidth}return{fixedPos:pu(i),gutterTotalWidth:i.gutters.offsetWidth,gutterLeft:a,gutterWidth:l,wrapperWidth:i.wrapper.clientWidth}}function pu(n){return n.scroller.getBoundingClientRect().left-n.sizer.getBoundingClientRect().left}function Xd(n){var i=ko(n.display),a=n.options.lineWrapping,l=a&&Math.max(5,n.display.scroller.clientWidth/Co(n.display)-3);return function(c){if(ti(n.doc,c))return 0;var p=0;if(c.widgets)for(var m=0;m0&&(_=Pt(n.doc,x.line).text).length==x.ch){var N=lt(_,_.length,n.options.tabSize)-_.length;x=X(x.line,Math.max(0,Math.round((p-Rd(n.display).left)/Co(n.display))-N))}return x}function Ri(n,i){if(i>=n.display.viewTo||(i-=n.display.viewFrom,i<0))return null;for(var a=n.display.view,l=0;li)&&(c.updateLineNumbers=i),n.curOp.viewChanged=!0,i>=c.viewTo)Er&&nu(n.doc,i)c.viewFrom?ni(n):(c.viewFrom+=l,c.viewTo+=l);else if(i<=c.viewFrom&&a>=c.viewTo)ni(n);else if(i<=c.viewFrom){var p=ta(n,a,a+l,1);p?(c.view=c.view.slice(p.index),c.viewFrom=p.lineN,c.viewTo+=l):ni(n)}else if(a>=c.viewTo){var m=ta(n,i,i,-1);m?(c.view=c.view.slice(0,m.index),c.viewTo=m.lineN):ni(n)}else{var y=ta(n,i,i,-1),x=ta(n,a,a+l,1);y&&x?(c.view=c.view.slice(0,y.index).concat(Yl(n,y.lineN,x.lineN)).concat(c.view.slice(x.index)),c.viewTo+=l):ni(n)}var _=c.externalMeasured;_&&(a<_.lineN?_.lineN+=l:i<_.lineN+_.size&&(c.externalMeasured=null))}function ei(n,i,a){n.curOp.viewChanged=!0;var l=n.display,c=n.display.externalMeasured;if(c&&i>=c.lineN&&i=l.viewTo)){var p=l.view[Ri(n,i)];if(p.node!=null){var m=p.changes||(p.changes=[]);Et(m,a)==-1&&m.push(a)}}}function ni(n){n.display.viewFrom=n.display.viewTo=n.doc.first,n.display.view=[],n.display.viewOffset=0}function ta(n,i,a,l){var c=Ri(n,i),p,m=n.display.view;if(!Er||a==n.doc.first+n.doc.size)return{index:c,lineN:a};for(var y=n.display.viewFrom,x=0;x0){if(c==m.length-1)return null;p=y+m[c].size-i,c++}else p=y-i;i+=p,a+=p}for(;nu(n.doc,a)!=a;){if(c==(l<0?0:m.length-1))return null;a+=l*m[c-(l<0?1:0)].size,c+=l}return{index:c,lineN:a}}function Nw(n,i,a){var l=n.display,c=l.view;c.length==0||i>=l.viewTo||a<=l.viewFrom?(l.view=Yl(n,i,a),l.viewFrom=i):(l.viewFrom>i?l.view=Yl(n,i,l.viewFrom).concat(l.view):l.viewFroma&&(l.view=l.view.slice(0,Ri(n,a)))),l.viewTo=a}function Yd(n){for(var i=n.display.view,a=0,l=0;l=n.display.viewTo||x.to().line0?m:n.defaultCharWidth())+"px"}if(l.other){var y=a.appendChild(k("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));y.style.display="",y.style.left=l.other.left+"px",y.style.top=l.other.top+"px",y.style.height=(l.other.bottom-l.other.top)*.85+"px"}}function ea(n,i){return n.top-i.top||n.left-i.left}function Pw(n,i,a){var l=n.display,c=n.doc,p=document.createDocumentFragment(),m=Rd(n.display),y=m.left,x=Math.max(l.sizerWidth,Oi(n)-l.sizer.offsetLeft)-m.right,_=c.direction=="ltr";function N(wt,Lt,zt,Ot){Lt<0&&(Lt=0),Lt=Math.round(Lt),Ot=Math.round(Ot),p.appendChild(k("div",null,"CodeMirror-selected","position: absolute; left: "+wt+`px; + top: `+Lt+"px; width: "+(zt??x-wt)+`px; + height: `+(Ot-Lt)+"px"))}function D(wt,Lt,zt){var Ot=Pt(c,wt),Xt=Ot.text.length,ge,We;function _e(Ne,un){return Jl(n,X(wt,Ne),"div",Ot,un)}function kn(Ne,un,Ve){var $e=Kd(n,Ot,null,Ne),Pe=un=="ltr"==(Ve=="after")?"left":"right",Ee=Ve=="after"?$e.begin:$e.end-(/\s/.test(Ot.text.charAt($e.end-1))?2:1);return _e(Ee,Pe)[Pe]}var cn=Yt(Ot,c.direction);return wn(cn,Lt||0,zt??Xt,function(Ne,un,Ve,$e){var Pe=Ve=="ltr",Ee=_e(Ne,Pe?"left":"right"),fn=_e(un-1,Pe?"right":"left"),Io=Lt==null&&Ne==0,ai=zt==null&&un==Xt,Ze=$e==0,pr=!cn||$e==cn.length-1;if(fn.top-Ee.top<=3){var Ue=(_?Io:ai)&&Ze,Wu=(_?ai:Io)&&pr,Pr=Ue?y:(Pe?Ee:fn).left,Hi=Wu?x:(Pe?fn:Ee).right;N(Pr,Ee.top,Hi-Pr,Ee.bottom)}else{var Bi,tn,Fo,Uu;Pe?(Bi=_&&Io&&Ze?y:Ee.left,tn=_?x:kn(Ne,Ve,"before"),Fo=_?y:kn(un,Ve,"after"),Uu=_&&ai&&pr?x:fn.right):(Bi=_?kn(Ne,Ve,"before"):y,tn=!_&&Io&&Ze?x:Ee.right,Fo=!_&&ai&&pr?y:fn.left,Uu=_?kn(un,Ve,"after"):x),N(Bi,Ee.top,tn-Bi,Ee.bottom),Ee.bottom0?i.blinker=setInterval(function(){n.hasFocus()||To(n),i.cursorDiv.style.visibility=(a=!a)?"":"hidden"},n.options.cursorBlinkRate):n.options.cursorBlinkRate<0&&(i.cursorDiv.style.visibility="hidden")}}function Qd(n){n.hasFocus()||(n.display.input.focus(),n.state.focused||bu(n))}function yu(n){n.state.delayingBlurEvent=!0,setTimeout(function(){n.state.delayingBlurEvent&&(n.state.delayingBlurEvent=!1,n.state.focused&&To(n))},100)}function bu(n,i){n.state.delayingBlurEvent&&!n.state.draggingText&&(n.state.delayingBlurEvent=!1),n.options.readOnly!="nocursor"&&(n.state.focused||(ke(n,"focus",n,i),n.state.focused=!0,At(n.display.wrapper,"CodeMirror-focused"),!n.curOp&&n.display.selForContextMenu!=n.doc.sel&&(n.display.input.reset(),v&&setTimeout(function(){return n.display.input.reset(!0)},20)),n.display.input.receivedFocus()),mu(n))}function To(n,i){n.state.delayingBlurEvent||(n.state.focused&&(ke(n,"blur",n,i),n.state.focused=!1,gt(n.display.wrapper,"CodeMirror-focused")),clearInterval(n.display.blinker),setTimeout(function(){n.state.focused||(n.display.shift=!1)},150))}function na(n){for(var i=n.display,a=i.lineDiv.offsetTop,l=Math.max(0,i.scroller.getBoundingClientRect().top),c=i.lineDiv.getBoundingClientRect().top,p=0,m=0;m.005||q<-.005)&&(cn.display.sizerWidth){var it=Math.ceil(N/Co(n.display));it>n.display.maxLineLength&&(n.display.maxLineLength=it,n.display.maxLine=y.line,n.display.maxLineChanged=!0)}}}Math.abs(p)>2&&(i.scroller.scrollTop+=p)}function Jd(n){if(n.widgets)for(var i=0;i=m&&(p=O(i,Lr(Pt(i,x))-n.wrapper.clientHeight),m=x)}return{from:p,to:Math.max(m,p+1)}}function Ow(n,i){if(!Ce(n,"scrollCursorIntoView")){var a=n.display,l=a.sizer.getBoundingClientRect(),c=null,p=a.wrapper.ownerDocument;if(i.top+l.top<0?c=!0:i.bottom+l.top>(p.defaultView.innerHeight||p.documentElement.clientHeight)&&(c=!1),c!=null&&!T){var m=k("div","​",null,`position: absolute; + top: `+(i.top-a.viewOffset-Zl(n.display))+`px; + height: `+(i.bottom-i.top+hr(n)+a.barHeight)+`px; + left: `+i.left+"px; width: "+Math.max(2,i.right-i.left)+"px;");n.display.lineSpace.appendChild(m),m.scrollIntoView(c),n.display.lineSpace.removeChild(m)}}}function Dw(n,i,a,l){l==null&&(l=0);var c;!n.options.lineWrapping&&i==a&&(a=i.sticky=="before"?X(i.line,i.ch+1,"before"):i,i=i.ch?X(i.line,i.sticky=="before"?i.ch-1:i.ch,"after"):i);for(var p=0;p<5;p++){var m=!1,y=Qn(n,i),x=!a||a==i?y:Qn(n,a);c={left:Math.min(y.left,x.left),top:Math.min(y.top,x.top)-l,right:Math.max(y.left,x.left),bottom:Math.max(y.bottom,x.bottom)+l};var _=wu(n,c),N=n.doc.scrollTop,D=n.doc.scrollLeft;if(_.scrollTop!=null&&(Ps(n,_.scrollTop),Math.abs(n.doc.scrollTop-N)>1&&(m=!0)),_.scrollLeft!=null&&(zi(n,_.scrollLeft),Math.abs(n.doc.scrollLeft-D)>1&&(m=!0)),!m)break}return c}function $w(n,i){var a=wu(n,i);a.scrollTop!=null&&Ps(n,a.scrollTop),a.scrollLeft!=null&&zi(n,a.scrollLeft)}function wu(n,i){var a=n.display,l=ko(n.display);i.top<0&&(i.top=0);var c=n.curOp&&n.curOp.scrollTop!=null?n.curOp.scrollTop:a.scroller.scrollTop,p=lu(n),m={};i.bottom-i.top>p&&(i.bottom=i.top+p);var y=n.doc.height+su(a),x=i.topy-l;if(i.topc+p){var N=Math.min(i.top,(_?y:i.bottom)-p);N!=c&&(m.scrollTop=N)}var D=n.options.fixedGutter?0:a.gutters.offsetWidth,W=n.curOp&&n.curOp.scrollLeft!=null?n.curOp.scrollLeft:a.scroller.scrollLeft-D,q=Oi(n)-a.gutters.offsetWidth,Z=i.right-i.left>q;return Z&&(i.right=i.left+q),i.left<10?m.scrollLeft=0:i.leftq+W-3&&(m.scrollLeft=i.right+(Z?0:10)-q),m}function xu(n,i){i!=null&&(ia(n),n.curOp.scrollTop=(n.curOp.scrollTop==null?n.doc.scrollTop:n.curOp.scrollTop)+i)}function Eo(n){ia(n);var i=n.getCursor();n.curOp.scrollToPos={from:i,to:i,margin:n.options.cursorScrollMargin}}function Ns(n,i,a){(i!=null||a!=null)&&ia(n),i!=null&&(n.curOp.scrollLeft=i),a!=null&&(n.curOp.scrollTop=a)}function Rw(n,i){ia(n),n.curOp.scrollToPos=i}function ia(n){var i=n.curOp.scrollToPos;if(i){n.curOp.scrollToPos=null;var a=Vd(n,i.from),l=Vd(n,i.to);tp(n,a,l,i.margin)}}function tp(n,i,a,l){var c=wu(n,{left:Math.min(i.left,a.left),top:Math.min(i.top,a.top)-l,right:Math.max(i.right,a.right),bottom:Math.max(i.bottom,a.bottom)+l});Ns(n,c.scrollLeft,c.scrollTop)}function Ps(n,i){Math.abs(n.doc.scrollTop-i)<2||(s||Su(n,{top:i}),ep(n,i,!0),s&&Su(n),$s(n,100))}function ep(n,i,a){i=Math.max(0,Math.min(n.display.scroller.scrollHeight-n.display.scroller.clientHeight,i)),!(n.display.scroller.scrollTop==i&&!a)&&(n.doc.scrollTop=i,n.display.scrollbars.setScrollTop(i),n.display.scroller.scrollTop!=i&&(n.display.scroller.scrollTop=i))}function zi(n,i,a,l){i=Math.max(0,Math.min(i,n.display.scroller.scrollWidth-n.display.scroller.clientWidth)),!((a?i==n.doc.scrollLeft:Math.abs(n.doc.scrollLeft-i)<2)&&!l)&&(n.doc.scrollLeft=i,sp(n),n.display.scroller.scrollLeft!=i&&(n.display.scroller.scrollLeft=i),n.display.scrollbars.setScrollLeft(i))}function Os(n){var i=n.display,a=i.gutters.offsetWidth,l=Math.round(n.doc.height+su(n.display));return{clientHeight:i.scroller.clientHeight,viewHeight:i.wrapper.clientHeight,scrollWidth:i.scroller.scrollWidth,clientWidth:i.scroller.clientWidth,viewWidth:i.wrapper.clientWidth,barLeft:n.options.fixedGutter?a:0,docHeight:l,scrollHeight:l+hr(n)+i.barHeight,nativeBarWidth:i.nativeBarWidth,gutterWidth:a}}var Ii=function(n,i,a){this.cm=a;var l=this.vert=k("div",[k("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),c=this.horiz=k("div",[k("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");l.tabIndex=c.tabIndex=-1,n(l),n(c),Rt(l,"scroll",function(){l.clientHeight&&i(l.scrollTop,"vertical")}),Rt(c,"scroll",function(){c.clientWidth&&i(c.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,d&&g<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Ii.prototype.update=function(n){var i=n.scrollWidth>n.clientWidth+1,a=n.scrollHeight>n.clientHeight+1,l=n.nativeBarWidth;if(a){this.vert.style.display="block",this.vert.style.bottom=i?l+"px":"0";var c=n.viewHeight-(i?l:0);this.vert.firstChild.style.height=Math.max(0,n.scrollHeight-n.clientHeight+c)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(i){this.horiz.style.display="block",this.horiz.style.right=a?l+"px":"0",this.horiz.style.left=n.barLeft+"px";var p=n.viewWidth-n.barLeft-(a?l:0);this.horiz.firstChild.style.width=Math.max(0,n.scrollWidth-n.clientWidth+p)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&n.clientHeight>0&&(l==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:a?l:0,bottom:i?l:0}},Ii.prototype.setScrollLeft=function(n){this.horiz.scrollLeft!=n&&(this.horiz.scrollLeft=n),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Ii.prototype.setScrollTop=function(n){this.vert.scrollTop!=n&&(this.vert.scrollTop=n),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Ii.prototype.zeroWidthHack=function(){var n=B&&!L?"12px":"18px";this.horiz.style.height=this.vert.style.width=n,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new Mt,this.disableVert=new Mt},Ii.prototype.enableZeroWidthBar=function(n,i,a){n.style.visibility="";function l(){var c=n.getBoundingClientRect(),p=a=="vert"?document.elementFromPoint(c.right-1,(c.top+c.bottom)/2):document.elementFromPoint((c.right+c.left)/2,c.bottom-1);p!=n?n.style.visibility="hidden":i.set(1e3,l)}i.set(1e3,l)},Ii.prototype.clear=function(){var n=this.horiz.parentNode;n.removeChild(this.horiz),n.removeChild(this.vert)};var Ds=function(){};Ds.prototype.update=function(){return{bottom:0,right:0}},Ds.prototype.setScrollLeft=function(){},Ds.prototype.setScrollTop=function(){},Ds.prototype.clear=function(){};function Lo(n,i){i||(i=Os(n));var a=n.display.barWidth,l=n.display.barHeight;np(n,i);for(var c=0;c<4&&a!=n.display.barWidth||l!=n.display.barHeight;c++)a!=n.display.barWidth&&n.options.lineWrapping&&na(n),np(n,Os(n)),a=n.display.barWidth,l=n.display.barHeight}function np(n,i){var a=n.display,l=a.scrollbars.update(i);a.sizer.style.paddingRight=(a.barWidth=l.right)+"px",a.sizer.style.paddingBottom=(a.barHeight=l.bottom)+"px",a.heightForcer.style.borderBottom=l.bottom+"px solid transparent",l.right&&l.bottom?(a.scrollbarFiller.style.display="block",a.scrollbarFiller.style.height=l.bottom+"px",a.scrollbarFiller.style.width=l.right+"px"):a.scrollbarFiller.style.display="",l.bottom&&n.options.coverGutterNextToScrollbar&&n.options.fixedGutter?(a.gutterFiller.style.display="block",a.gutterFiller.style.height=l.bottom+"px",a.gutterFiller.style.width=i.gutterWidth+"px"):a.gutterFiller.style.display=""}var rp={native:Ii,null:Ds};function ip(n){n.display.scrollbars&&(n.display.scrollbars.clear(),n.display.scrollbars.addClass&>(n.display.wrapper,n.display.scrollbars.addClass)),n.display.scrollbars=new rp[n.options.scrollbarStyle](function(i){n.display.wrapper.insertBefore(i,n.display.scrollbarFiller),Rt(i,"mousedown",function(){n.state.focused&&setTimeout(function(){return n.display.input.focus()},0)}),i.setAttribute("cm-not-content","true")},function(i,a){a=="horizontal"?zi(n,i):Ps(n,i)},n),n.display.scrollbars.addClass&&At(n.display.wrapper,n.display.scrollbars.addClass)}var zw=0;function Fi(n){n.curOp={cm:n,viewChanged:!1,startHeight:n.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++zw,markArrays:null},pw(n.curOp)}function qi(n){var i=n.curOp;i&&vw(i,function(a){for(var l=0;l=a.viewTo)||a.maxLineChanged&&i.options.lineWrapping,n.update=n.mustUpdate&&new oa(i,n.mustUpdate&&{top:n.scrollTop,ensure:n.scrollToPos},n.forceUpdate)}function qw(n){n.updatedDisplay=n.mustUpdate&&_u(n.cm,n.update)}function Hw(n){var i=n.cm,a=i.display;n.updatedDisplay&&na(i),n.barMeasure=Os(i),a.maxLineChanged&&!i.options.lineWrapping&&(n.adjustWidthTo=Id(i,a.maxLine,a.maxLine.text.length).left+3,i.display.sizerWidth=n.adjustWidthTo,n.barMeasure.scrollWidth=Math.max(a.scroller.clientWidth,a.sizer.offsetLeft+n.adjustWidthTo+hr(i)+i.display.barWidth),n.maxScrollLeft=Math.max(0,a.sizer.offsetLeft+n.adjustWidthTo-Oi(i))),(n.updatedDisplay||n.selectionChanged)&&(n.preparedSelection=a.input.prepareSelection())}function Bw(n){var i=n.cm;n.adjustWidthTo!=null&&(i.display.sizer.style.minWidth=n.adjustWidthTo+"px",n.maxScrollLeft=n.display.viewTo)){var a=+new Date+n.options.workTime,l=ks(n,i.highlightFrontier),c=[];i.iter(l.line,Math.min(i.first+i.size,n.display.viewTo+500),function(p){if(l.line>=n.display.viewFrom){var m=p.styles,y=p.text.length>n.options.maxHighlightLength?ur(i.mode,l.state):null,x=hd(n,p,l,!0);y&&(l.state=y),p.styles=x.styles;var _=p.styleClasses,N=x.classes;N?p.styleClasses=N:_&&(p.styleClasses=null);for(var D=!m||m.length!=p.styles.length||_!=N&&(!_||!N||_.bgClass!=N.bgClass||_.textClass!=N.textClass),W=0;!D&&Wa)return $s(n,n.options.workDelay),!0}),i.highlightFrontier=l.line,i.modeFrontier=Math.max(i.modeFrontier,l.line),c.length&&Sn(n,function(){for(var p=0;p=a.viewFrom&&i.visible.to<=a.viewTo&&(a.updateLineNumbers==null||a.updateLineNumbers>=a.viewTo)&&a.renderedView==a.view&&Yd(n)==0)return!1;lp(n)&&(ni(n),i.dims=du(n));var c=l.first+l.size,p=Math.max(i.visible.from-n.options.viewportMargin,l.first),m=Math.min(c,i.visible.to+n.options.viewportMargin);a.viewFromm&&a.viewTo-m<20&&(m=Math.min(c,a.viewTo)),Er&&(p=nu(n.doc,p),m=Td(n.doc,m));var y=p!=a.viewFrom||m!=a.viewTo||a.lastWrapHeight!=i.wrapperHeight||a.lastWrapWidth!=i.wrapperWidth;Nw(n,p,m),a.viewOffset=Lr(Pt(n.doc,a.viewFrom)),n.display.mover.style.top=a.viewOffset+"px";var x=Yd(n);if(!y&&x==0&&!i.force&&a.renderedView==a.view&&(a.updateLineNumbers==null||a.updateLineNumbers>=a.viewTo))return!1;var _=Vw(n);return x>4&&(a.lineDiv.style.display="none"),Kw(n,a.updateLineNumbers,i.dims),x>4&&(a.lineDiv.style.display=""),a.renderedView=a.view,Gw(_),G(a.cursorDiv),G(a.selectionDiv),a.gutters.style.height=a.sizer.style.minHeight=0,y&&(a.lastWrapHeight=i.wrapperHeight,a.lastWrapWidth=i.wrapperWidth,$s(n,400)),a.updateLineNumbers=null,!0}function op(n,i){for(var a=i.viewport,l=!0;;l=!1){if(!l||!n.options.lineWrapping||i.oldDisplayWidth==Oi(n)){if(a&&a.top!=null&&(a={top:Math.min(n.doc.height+su(n.display)-lu(n),a.top)}),i.visible=ra(n.display,n.doc,a),i.visible.from>=n.display.viewFrom&&i.visible.to<=n.display.viewTo)break}else l&&(i.visible=ra(n.display,n.doc,a));if(!_u(n,i))break;na(n);var c=Os(n);Ms(n),Lo(n,c),Cu(n,c),i.force=!1}i.signal(n,"update",n),(n.display.viewFrom!=n.display.reportedViewFrom||n.display.viewTo!=n.display.reportedViewTo)&&(i.signal(n,"viewportChange",n,n.display.viewFrom,n.display.viewTo),n.display.reportedViewFrom=n.display.viewFrom,n.display.reportedViewTo=n.display.viewTo)}function Su(n,i){var a=new oa(n,i);if(_u(n,a)){na(n),op(n,a);var l=Os(n);Ms(n),Lo(n,l),Cu(n,l),a.finish()}}function Kw(n,i,a){var l=n.display,c=n.options.lineNumbers,p=l.lineDiv,m=p.firstChild;function y(Z){var it=Z.nextSibling;return v&&B&&n.display.currentWheelTarget==Z?Z.style.display="none":Z.parentNode.removeChild(Z),it}for(var x=l.view,_=l.viewFrom,N=0;N-1&&(q=!1),Nd(n,D,_,a)),q&&(G(D.lineNumber),D.lineNumber.appendChild(document.createTextNode(dt(n.options,_)))),m=D.node.nextSibling}_+=D.size}for(;m;)m=y(m)}function ku(n){var i=n.gutters.offsetWidth;n.sizer.style.marginLeft=i+"px",qe(n,"gutterChanged",n)}function Cu(n,i){n.display.sizer.style.minHeight=i.docHeight+"px",n.display.heightForcer.style.top=i.docHeight+"px",n.display.gutters.style.height=i.docHeight+n.display.barHeight+hr(n)+"px"}function sp(n){var i=n.display,a=i.view;if(!(!i.alignWidgets&&(!i.gutters.firstChild||!n.options.fixedGutter))){for(var l=pu(i)-i.scroller.scrollLeft+n.doc.scrollLeft,c=i.gutters.offsetWidth,p=l+"px",m=0;m=105&&(c.wrapper.style.clipPath="inset(0px)"),c.wrapper.setAttribute("translate","no"),d&&g<8&&(c.gutters.style.zIndex=-1,c.scroller.style.paddingRight=0),!v&&!(s&&E)&&(c.scroller.draggable=!0),n&&(n.appendChild?n.appendChild(c.wrapper):n(c.wrapper)),c.viewFrom=c.viewTo=i.first,c.reportedViewFrom=c.reportedViewTo=i.first,c.view=[],c.renderedView=null,c.externalMeasured=null,c.viewOffset=0,c.lastWrapHeight=c.lastWrapWidth=0,c.updateLineNumbers=null,c.nativeBarWidth=c.barHeight=c.barWidth=0,c.scrollbarsClipped=!1,c.lineNumWidth=c.lineNumInnerWidth=c.lineNumChars=null,c.alignWidgets=!1,c.cachedCharWidth=c.cachedTextHeight=c.cachedPaddingH=null,c.maxLine=null,c.maxLineLength=0,c.maxLineChanged=!1,c.wheelDX=c.wheelDY=c.wheelStartX=c.wheelStartY=null,c.shift=!1,c.selForContextMenu=null,c.activeTouch=null,c.gutterSpecs=Tu(l.gutters,l.lineNumbers),ap(c),a.init(c)}var sa=0,Mr=null;d?Mr=-.53:s?Mr=15:w?Mr=-.7:A&&(Mr=-1/3);function cp(n){var i=n.wheelDeltaX,a=n.wheelDeltaY;return i==null&&n.detail&&n.axis==n.HORIZONTAL_AXIS&&(i=n.detail),a==null&&n.detail&&n.axis==n.VERTICAL_AXIS?a=n.detail:a==null&&(a=n.wheelDelta),{x:i,y:a}}function Yw(n){var i=cp(n);return i.x*=Mr,i.y*=Mr,i}function up(n,i){w&&S==102&&(n.display.chromeScrollHack==null?n.display.sizer.style.pointerEvents="none":clearTimeout(n.display.chromeScrollHack),n.display.chromeScrollHack=setTimeout(function(){n.display.chromeScrollHack=null,n.display.sizer.style.pointerEvents=""},100));var a=cp(i),l=a.x,c=a.y,p=Mr;i.deltaMode===0&&(l=i.deltaX,c=i.deltaY,p=1);var m=n.display,y=m.scroller,x=y.scrollWidth>y.clientWidth,_=y.scrollHeight>y.clientHeight;if(l&&x||c&&_){if(c&&B&&v){t:for(var N=i.target,D=m.view;N!=y;N=N.parentNode)for(var W=0;W=0&&_t(n,l.to())<=0)return a}return-1};var ue=function(n,i){this.anchor=n,this.head=i};ue.prototype.from=function(){return wo(this.anchor,this.head)},ue.prototype.to=function(){return sn(this.anchor,this.head)},ue.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function Jn(n,i,a){var l=n&&n.options.selectionsMayTouch,c=i[a];i.sort(function(W,q){return _t(W.from(),q.from())}),a=Et(i,c);for(var p=1;p0:x>=0){var _=wo(y.from(),m.from()),N=sn(y.to(),m.to()),D=y.empty()?m.from()==m.head:y.from()==y.head;p<=a&&--a,i.splice(--p,2,new ue(D?N:_,D?_:N))}}return new Dn(i,a)}function ri(n,i){return new Dn([new ue(n,i||n)],0)}function ii(n){return n.text?X(n.from.line+n.text.length-1,ct(n.text).length+(n.text.length==1?n.from.ch:0)):n.to}function fp(n,i){if(_t(n,i.from)<0)return n;if(_t(n,i.to)<=0)return ii(i);var a=n.line+i.text.length-(i.to.line-i.from.line)-1,l=n.ch;return n.line==i.to.line&&(l+=ii(i).ch-i.to.ch),X(a,l)}function Eu(n,i){for(var a=[],l=0;l1&&n.remove(y.line+1,Z-1),n.insert(y.line+1,bt)}qe(n,"change",n,i)}function oi(n,i,a){function l(c,p,m){if(c.linked)for(var y=0;y1&&!n.done[n.done.length-2].ranges)return n.done.pop(),ct(n.done)}function mp(n,i,a,l){var c=n.history;c.undone.length=0;var p=+new Date,m,y;if((c.lastOp==l||c.lastOrigin==i.origin&&i.origin&&(i.origin.charAt(0)=="+"&&c.lastModTime>p-(n.cm?n.cm.options.historyEventDelay:500)||i.origin.charAt(0)=="*"))&&(m=Jw(c,c.lastOp==l)))y=ct(m.changes),_t(i.from,i.to)==0&&_t(i.from,y.to)==0?y.to=ii(i):m.changes.push(Mu(n,i));else{var x=ct(c.done);for((!x||!x.ranges)&&aa(n.sel,c.done),m={changes:[Mu(n,i)],generation:c.generation},c.done.push(m);c.done.length>c.undoDepth;)c.done.shift(),c.done[0].ranges||c.done.shift()}c.done.push(a),c.generation=++c.maxGeneration,c.lastModTime=c.lastSelTime=p,c.lastOp=c.lastSelOp=l,c.lastOrigin=c.lastSelOrigin=i.origin,y||ke(n,"historyAdded")}function tx(n,i,a,l){var c=i.charAt(0);return c=="*"||c=="+"&&a.ranges.length==l.ranges.length&&a.somethingSelected()==l.somethingSelected()&&new Date-n.history.lastSelTime<=(n.cm?n.cm.options.historyEventDelay:500)}function ex(n,i,a,l){var c=n.history,p=l&&l.origin;a==c.lastSelOp||p&&c.lastSelOrigin==p&&(c.lastModTime==c.lastSelTime&&c.lastOrigin==p||tx(n,p,ct(c.done),i))?c.done[c.done.length-1]=i:aa(i,c.done),c.lastSelTime=+new Date,c.lastSelOrigin=p,c.lastSelOp=a,l&&l.clearRedo!==!1&&vp(c.undone)}function aa(n,i){var a=ct(i);a&&a.ranges&&a.equals(n)||i.push(n)}function yp(n,i,a,l){var c=i["spans_"+n.id],p=0;n.iter(Math.max(n.first,a),Math.min(n.first+n.size,l),function(m){m.markedSpans&&((c||(c=i["spans_"+n.id]={}))[p]=m.markedSpans),++p})}function nx(n){if(!n)return null;for(var i,a=0;a-1&&(ct(y)[D]=_[D],delete _[D])}}return l}function Nu(n,i,a,l){if(l){var c=n.anchor;if(a){var p=_t(i,c)<0;p!=_t(a,c)<0?(c=i,i=a):p!=_t(i,a)<0&&(i=a)}return new ue(c,i)}else return new ue(a||i,i)}function ca(n,i,a,l,c){c==null&&(c=n.cm&&(n.cm.display.shift||n.extend)),Ye(n,new Dn([Nu(n.sel.primary(),i,a,c)],0),l)}function wp(n,i,a){for(var l=[],c=n.cm&&(n.cm.display.shift||n.extend),p=0;p=i.ch:y.to>i.ch))){if(c&&(ke(x,"beforeCursorEnter"),x.explicitlyCleared))if(p.markedSpans){--m;continue}else break;if(!x.atomic)continue;if(a){var D=x.find(l<0?1:-1),W=void 0;if((l<0?N:_)&&(D=Tp(n,D,-l,D&&D.line==i.line?p:null)),D&&D.line==i.line&&(W=_t(D,a))&&(l<0?W<0:W>0))return Mo(n,D,i,l,c)}var q=x.find(l<0?-1:1);return(l<0?_:N)&&(q=Tp(n,q,l,q.line==i.line?p:null)),q?Mo(n,q,i,l,c):null}}return i}function fa(n,i,a,l,c){var p=l||1,m=Mo(n,i,a,p,c)||!c&&Mo(n,i,a,p,!0)||Mo(n,i,a,-p,c)||!c&&Mo(n,i,a,-p,!0);return m||(n.cantEdit=!0,X(n.first,0))}function Tp(n,i,a,l){return a<0&&i.ch==0?i.line>n.first?Wt(n,X(i.line-1)):null:a>0&&i.ch==(l||Pt(n,i.line)).text.length?i.line=0;--c)Ap(n,{from:l[c].from,to:l[c].to,text:c?[""]:i.text,origin:i.origin});else Ap(n,i)}}function Ap(n,i){if(!(i.text.length==1&&i.text[0]==""&&_t(i.from,i.to)==0)){var a=Eu(n,i);mp(n,i,a,n.cm?n.cm.curOp.id:NaN),Is(n,i,a,tu(n,i));var l=[];oi(n,function(c,p){!p&&Et(l,c.history)==-1&&(Op(c.history,i),l.push(c.history)),Is(c,i,null,tu(c,i))})}}function ha(n,i,a){var l=n.cm&&n.cm.state.suppressEdits;if(!(l&&!a)){for(var c=n.history,p,m=n.sel,y=i=="undo"?c.done:c.undone,x=i=="undo"?c.undone:c.done,_=0;_=0;--q){var Z=W(q);if(Z)return Z.v}}}}function Mp(n,i){if(i!=0&&(n.first+=i,n.sel=new Dn(ft(n.sel.ranges,function(c){return new ue(X(c.anchor.line+i,c.anchor.ch),X(c.head.line+i,c.head.ch))}),n.sel.primIndex),n.cm)){ln(n.cm,n.first,n.first-i,i);for(var a=n.cm.display,l=a.viewFrom;ln.lastLine())){if(i.from.linep&&(i={from:i.from,to:X(p,Pt(n,p).text.length),text:[i.text[0]],origin:i.origin}),i.removed=Tr(n,i.from,i.to),a||(a=Eu(n,i)),n.cm?ox(n.cm,i,l):Au(n,i,l),ua(n,a,V),n.cantEdit&&fa(n,X(n.firstLine(),0))&&(n.cantEdit=!1)}}function ox(n,i,a){var l=n.doc,c=n.display,p=i.from,m=i.to,y=!1,x=p.line;n.options.lineWrapping||(x=C(Zn(Pt(l,p.line))),l.iter(x,m.line+1,function(q){if(q==c.maxLine)return y=!0,!0})),l.sel.contains(i.from,i.to)>-1&&qn(n),Au(l,i,a,Xd(n)),n.options.lineWrapping||(l.iter(x,p.line+i.text.length,function(q){var Z=Xl(q);Z>c.maxLineLength&&(c.maxLine=q,c.maxLineLength=Z,c.maxLineChanged=!0,y=!1)}),y&&(n.curOp.updateMaxLine=!0)),Kb(l,p.line),$s(n,400);var _=i.text.length-(m.line-p.line)-1;i.full?ln(n):p.line==m.line&&i.text.length==1&&!dp(n.doc,i)?ei(n,p.line,"text"):ln(n,p.line,m.line+1,_);var N=_n(n,"changes"),D=_n(n,"change");if(D||N){var W={from:p,to:m,text:i.text,removed:i.removed,origin:i.origin};D&&qe(n,"change",n,W),N&&(n.curOp.changeObjs||(n.curOp.changeObjs=[])).push(W)}n.display.selForContextMenu=null}function Po(n,i,a,l,c){var p;l||(l=a),_t(l,a)<0&&(p=[l,a],a=p[0],l=p[1]),typeof i=="string"&&(i=n.splitLines(i)),No(n,{from:a,to:l,text:i,origin:c})}function Np(n,i,a,l){a1||!(this.children[0]instanceof qs))){var y=[];this.collapse(y),this.children=[new qs(y)],this.children[0].parent=this}},collapse:function(n){for(var i=0;i50){for(var m=c.lines.length%25+25,y=m;y10);n.parent.maybeSpill()}},iterN:function(n,i,a){for(var l=0;ln.display.maxLineLength&&(n.display.maxLine=_,n.display.maxLineLength=N,n.display.maxLineChanged=!0)}l!=null&&n&&this.collapsed&&ln(n,l,c+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,n&&kp(n.doc)),n&&qe(n,"markerCleared",n,this,l,c),i&&qi(n),this.parent&&this.parent.clear()}},si.prototype.find=function(n,i){n==null&&this.type=="bookmark"&&(n=1);for(var a,l,c=0;c0||m==0&&p.clearWhenEmpty!==!1)return p;if(p.replacedWith&&(p.collapsed=!0,p.widgetNode=F("span",[p.replacedWith],"CodeMirror-widget"),l.handleMouseEvents||p.widgetNode.setAttribute("cm-ignore-events","true"),l.insertLeft&&(p.widgetNode.insertLeft=!0)),p.collapsed){if(Cd(n,i.line,i,a,p)||i.line!=a.line&&Cd(n,a.line,i,a,p))throw new Error("Inserting collapsed marker partially overlapping an existing one");Yb()}p.addToHistory&&mp(n,{from:i,to:a,origin:"markText"},n.sel,NaN);var y=i.line,x=n.cm,_;if(n.iter(y,a.line+1,function(D){x&&p.collapsed&&!x.options.lineWrapping&&Zn(D)==x.display.maxLine&&(_=!0),p.collapsed&&y!=i.line&&On(D,0),Qb(D,new jl(p,y==i.line?i.ch:null,y==a.line?a.ch:null),n.cm&&n.cm.curOp),++y}),p.collapsed&&n.iter(i.line,a.line+1,function(D){ti(n,D)&&On(D,0)}),p.clearOnEnter&&Rt(p,"beforeCursorEnter",function(){return p.clear()}),p.readOnly&&(Xb(),(n.history.done.length||n.history.undone.length)&&n.clearHistory()),p.collapsed&&(p.id=++$p,p.atomic=!0),x){if(_&&(x.curOp.updateMaxLine=!0),p.collapsed)ln(x,i.line,a.line+1);else if(p.className||p.startStyle||p.endStyle||p.css||p.attributes||p.title)for(var N=i.line;N<=a.line;N++)ei(x,N,"text");p.atomic&&kp(x.doc),qe(x,"markerAdded",x,p)}return p}var Ws=function(n,i){this.markers=n,this.primary=i;for(var a=0;a=0;x--)No(this,l[x]);y?_p(this,y):this.cm&&Eo(this.cm)}),undo:Be(function(){ha(this,"undo")}),redo:Be(function(){ha(this,"redo")}),undoSelection:Be(function(){ha(this,"undo",!0)}),redoSelection:Be(function(){ha(this,"redo",!0)}),setExtending:function(n){this.extend=n},getExtending:function(){return this.extend},historySize:function(){for(var n=this.history,i=0,a=0,l=0;l=n.ch)&&i.push(c.marker.parent||c.marker)}return i},findMarks:function(n,i,a){n=Wt(this,n),i=Wt(this,i);var l=[],c=n.line;return this.iter(n.line,i.line+1,function(p){var m=p.markedSpans;if(m)for(var y=0;y=x.to||x.from==null&&c!=n.line||x.from!=null&&c==i.line&&x.from>=i.ch)&&(!a||a(x.marker))&&l.push(x.marker.parent||x.marker)}++c}),l},getAllMarks:function(){var n=[];return this.iter(function(i){var a=i.markedSpans;if(a)for(var l=0;ln)return i=n,!0;n-=p,++a}),Wt(this,X(a,i))},indexFromPos:function(n){n=Wt(this,n);var i=n.ch;if(n.linei&&(i=n.from),n.to!=null&&n.to-1){i.state.draggingText(n),setTimeout(function(){return i.display.input.focus()},20);return}try{var N=n.dataTransfer.getData("Text");if(N){var D;if(i.state.draggingText&&!i.state.draggingText.copy&&(D=i.listSelections()),ua(i.doc,ri(a,a)),D)for(var W=0;W=0;y--)Po(n.doc,"",l[y].from,l[y].to,"+delete");Eo(n)})}function Ou(n,i,a){var l=rn(n.text,i+a,a);return l<0||l>n.text.length?null:l}function Du(n,i,a){var l=Ou(n,i.ch,a);return l==null?null:new X(i.line,l,a<0?"after":"before")}function $u(n,i,a,l,c){if(n){i.doc.direction=="rtl"&&(c=-c);var p=Yt(a,i.doc.direction);if(p){var m=c<0?ct(p):p[0],y=c<0==(m.level==1),x=y?"after":"before",_;if(m.level>0||i.doc.direction=="rtl"){var N=So(i,a);_=c<0?a.text.length-1:0;var D=dr(i,N,_).top;_=Pn(function(W){return dr(i,N,W).top==D},c<0==(m.level==1)?m.from:m.to-1,_),x=="before"&&(_=Ou(a,_,1))}else _=c<0?m.to:m.from;return new X(l,_,x)}}return new X(l,c<0?a.text.length:0,c<0?"before":"after")}function bx(n,i,a,l){var c=Yt(i,n.doc.direction);if(!c)return Du(i,a,l);a.ch>=i.text.length?(a.ch=i.text.length,a.sticky="before"):a.ch<=0&&(a.ch=0,a.sticky="after");var p=Ae(c,a.ch,a.sticky),m=c[p];if(n.doc.direction=="ltr"&&m.level%2==0&&(l>0?m.to>a.ch:m.from=m.from&&W>=N.begin)){var q=D?"before":"after";return new X(a.line,W,q)}}var Z=function(bt,Ct,wt){for(var Lt=function(ge,We){return We?new X(a.line,y(ge,1),"before"):new X(a.line,ge,"after")};bt>=0&&bt0==(zt.level!=1),Xt=Ot?wt.begin:y(wt.end,-1);if(zt.from<=Xt&&Xt0?N.end:y(N.begin,-1);return vt!=null&&!(l>0&&vt==i.text.length)&&(it=Z(l>0?0:c.length-1,l,_(vt)),it)?it:null}var Vs={selectAll:Ep,singleSelection:function(n){return n.setSelection(n.getCursor("anchor"),n.getCursor("head"),V)},killLine:function(n){return $o(n,function(i){if(i.empty()){var a=Pt(n.doc,i.head.line).text.length;return i.head.ch==a&&i.head.line0)c=new X(c.line,c.ch+1),n.replaceRange(p.charAt(c.ch-1)+p.charAt(c.ch-2),X(c.line,c.ch-2),c,"+transpose");else if(c.line>n.doc.first){var m=Pt(n.doc,c.line-1).text;m&&(c=new X(c.line,1),n.replaceRange(p.charAt(0)+n.doc.lineSeparator()+m.charAt(m.length-1),X(c.line-1,m.length-1),c,"+transpose"))}}a.push(new ue(c,c))}n.setSelections(a)})},newlineAndIndent:function(n){return Sn(n,function(){for(var i=n.listSelections(),a=i.length-1;a>=0;a--)n.replaceRange(n.doc.lineSeparator(),i[a].anchor,i[a].head,"+input");i=n.listSelections();for(var l=0;ln&&_t(i,this.pos)==0&&a==this.button};var Ks,Xs;function Tx(n,i){var a=+new Date;return Xs&&Xs.compare(a,n,i)?(Ks=Xs=null,"triple"):Ks&&Ks.compare(a,n,i)?(Xs=new zu(a,n,i),Ks=null,"double"):(Ks=new zu(a,n,i),Xs=null,"single")}function Zp(n){var i=this,a=i.display;if(!(Ce(i,n)||a.activeTouch&&a.input.supportsTouch())){if(a.input.ensurePolled(),a.shift=n.shiftKey,Ar(a,n)){v||(a.scroller.draggable=!1,setTimeout(function(){return a.scroller.draggable=!0},100));return}if(!Iu(i,n)){var l=$i(i,n),c=Gn(n),p=l?Tx(l,c):"single";Tt(i).focus(),c==1&&i.state.selectingText&&i.state.selectingText(n),!(l&&Ex(i,c,l,p,n))&&(c==1?l?Ax(i,l,p,n):ws(n)==a.scroller&&Xe(n):c==2?(l&&ca(i.doc,l),setTimeout(function(){return a.input.focus()},20)):c==3&&(at?i.display.input.onContextMenu(n):yu(i)))}}}function Ex(n,i,a,l,c){var p="Click";return l=="double"?p="Double"+p:l=="triple"&&(p="Triple"+p),p=(i==1?"Left":i==2?"Middle":"Right")+p,Gs(n,Bp(p,c),c,function(m){if(typeof m=="string"&&(m=Vs[m]),!m)return!1;var y=!1;try{n.isReadOnly()&&(n.state.suppressEdits=!0),y=m(n,a)!=I}finally{n.state.suppressEdits=!1}return y})}function Lx(n,i,a){var l=n.getOption("configureMouse"),c=l?l(n,i,a):{};if(c.unit==null){var p=K?a.shiftKey&&a.metaKey:a.altKey;c.unit=p?"rectangle":i=="single"?"char":i=="double"?"word":"line"}return(c.extend==null||n.doc.extend)&&(c.extend=n.doc.extend||a.shiftKey),c.addNew==null&&(c.addNew=B?a.metaKey:a.ctrlKey),c.moveOnDrag==null&&(c.moveOnDrag=!(B?a.altKey:a.ctrlKey)),c}function Ax(n,i,a,l){d?setTimeout(j(Qd,n),0):n.curOp.focus=yt(Qt(n));var c=Lx(n,a,l),p=n.doc.sel,m;n.options.dragDrop&&Yc&&!n.isReadOnly()&&a=="single"&&(m=p.contains(i))>-1&&(_t((m=p.ranges[m]).from(),i)<0||i.xRel>0)&&(_t(m.to(),i)>0||i.xRel<0)?Mx(n,l,i,c):Nx(n,l,i,c)}function Mx(n,i,a,l){var c=n.display,p=!1,m=He(n,function(_){v&&(c.scroller.draggable=!1),n.state.draggingText=!1,n.state.delayingBlurEvent&&(n.hasFocus()?n.state.delayingBlurEvent=!1:yu(n)),Ke(c.wrapper.ownerDocument,"mouseup",m),Ke(c.wrapper.ownerDocument,"mousemove",y),Ke(c.scroller,"dragstart",x),Ke(c.scroller,"drop",m),p||(Xe(_),l.addNew||ca(n.doc,a,null,null,l.extend),v&&!A||d&&g==9?setTimeout(function(){c.wrapper.ownerDocument.body.focus({preventScroll:!0}),c.input.focus()},20):c.input.focus())}),y=function(_){p=p||Math.abs(i.clientX-_.clientX)+Math.abs(i.clientY-_.clientY)>=10},x=function(){return p=!0};v&&(c.scroller.draggable=!0),n.state.draggingText=m,m.copy=!l.moveOnDrag,Rt(c.wrapper.ownerDocument,"mouseup",m),Rt(c.wrapper.ownerDocument,"mousemove",y),Rt(c.scroller,"dragstart",x),Rt(c.scroller,"drop",m),n.state.delayingBlurEvent=!0,setTimeout(function(){return c.input.focus()},20),c.scroller.dragDrop&&c.scroller.dragDrop()}function Qp(n,i,a){if(a=="char")return new ue(i,i);if(a=="word")return n.findWordAt(i);if(a=="line")return new ue(X(i.line,0),Wt(n.doc,X(i.line+1,0)));var l=a(n,i);return new ue(l.from,l.to)}function Nx(n,i,a,l){d&&yu(n);var c=n.display,p=n.doc;Xe(i);var m,y,x=p.sel,_=x.ranges;if(l.addNew&&!l.extend?(y=p.sel.contains(a),y>-1?m=_[y]:m=new ue(a,a)):(m=p.sel.primary(),y=p.sel.primIndex),l.unit=="rectangle")l.addNew||(m=new ue(a,a)),a=$i(n,i,!0,!0),y=-1;else{var N=Qp(n,a,l.unit);l.extend?m=Nu(m,N.anchor,N.head,l.extend):m=N}l.addNew?y==-1?(y=_.length,Ye(p,Jn(n,_.concat([m]),y),{scroll:!1,origin:"*mouse"})):_.length>1&&_[y].empty()&&l.unit=="char"&&!l.extend?(Ye(p,Jn(n,_.slice(0,y).concat(_.slice(y+1)),0),{scroll:!1,origin:"*mouse"}),x=p.sel):Pu(p,y,m,J):(y=0,Ye(p,new Dn([m],0),J),x=p.sel);var D=a;function W(wt){if(_t(D,wt)!=0)if(D=wt,l.unit=="rectangle"){for(var Lt=[],zt=n.options.tabSize,Ot=lt(Pt(p,a.line).text,a.ch,zt),Xt=lt(Pt(p,wt.line).text,wt.ch,zt),ge=Math.min(Ot,Xt),We=Math.max(Ot,Xt),_e=Math.min(a.line,wt.line),kn=Math.min(n.lastLine(),Math.max(a.line,wt.line));_e<=kn;_e++){var cn=Pt(p,_e).text,Ne=ut(cn,ge,zt);ge==We?Lt.push(new ue(X(_e,Ne),X(_e,Ne))):cn.length>Ne&&Lt.push(new ue(X(_e,Ne),X(_e,ut(cn,We,zt))))}Lt.length||Lt.push(new ue(a,a)),Ye(p,Jn(n,x.ranges.slice(0,y).concat(Lt),y),{origin:"*mouse",scroll:!1}),n.scrollIntoView(wt)}else{var un=m,Ve=Qp(n,wt,l.unit),$e=un.anchor,Pe;_t(Ve.anchor,$e)>0?(Pe=Ve.head,$e=wo(un.from(),Ve.anchor)):(Pe=Ve.anchor,$e=sn(un.to(),Ve.head));var Ee=x.ranges.slice(0);Ee[y]=Px(n,new ue(Wt(p,$e),Pe)),Ye(p,Jn(n,Ee,y),J)}}var q=c.wrapper.getBoundingClientRect(),Z=0;function it(wt){var Lt=++Z,zt=$i(n,wt,!0,l.unit=="rectangle");if(zt)if(_t(zt,D)!=0){n.curOp.focus=yt(Qt(n)),W(zt);var Ot=ra(c,p);(zt.line>=Ot.to||zt.lineq.bottom?20:0;Xt&&setTimeout(He(n,function(){Z==Lt&&(c.scroller.scrollTop+=Xt,it(wt))}),50)}}function vt(wt){n.state.selectingText=!1,Z=1/0,wt&&(Xe(wt),c.input.focus()),Ke(c.wrapper.ownerDocument,"mousemove",bt),Ke(c.wrapper.ownerDocument,"mouseup",Ct),p.history.lastSelOrigin=null}var bt=He(n,function(wt){wt.buttons===0||!Gn(wt)?vt(wt):it(wt)}),Ct=He(n,vt);n.state.selectingText=Ct,Rt(c.wrapper.ownerDocument,"mousemove",bt),Rt(c.wrapper.ownerDocument,"mouseup",Ct)}function Px(n,i){var a=i.anchor,l=i.head,c=Pt(n.doc,a.line);if(_t(a,l)==0&&a.sticky==l.sticky)return i;var p=Yt(c);if(!p)return i;var m=Ae(p,a.ch,a.sticky),y=p[m];if(y.from!=a.ch&&y.to!=a.ch)return i;var x=m+(y.from==a.ch==(y.level!=1)?0:1);if(x==0||x==p.length)return i;var _;if(l.line!=a.line)_=(l.line-a.line)*(n.doc.direction=="ltr"?1:-1)>0;else{var N=Ae(p,l.ch,l.sticky),D=N-m||(l.ch-a.ch)*(y.level==1?-1:1);N==x-1||N==x?_=D<0:_=D>0}var W=p[x+(_?-1:0)],q=_==(W.level==1),Z=q?W.from:W.to,it=q?"after":"before";return a.ch==Z&&a.sticky==it?i:new ue(new X(a.line,Z,it),l)}function Jp(n,i,a,l){var c,p;if(i.touches)c=i.touches[0].clientX,p=i.touches[0].clientY;else try{c=i.clientX,p=i.clientY}catch{return!1}if(c>=Math.floor(n.display.gutters.getBoundingClientRect().right))return!1;l&&Xe(i);var m=n.display,y=m.lineDiv.getBoundingClientRect();if(p>y.bottom||!_n(n,a))return on(i);p-=y.top-m.viewOffset;for(var x=0;x=c){var N=O(n.doc,p),D=n.display.gutterSpecs[x];return ke(n,a,n,N,D.className,i),on(i)}}}function Iu(n,i){return Jp(n,i,"gutterClick",!0)}function tg(n,i){Ar(n.display,i)||Ox(n,i)||Ce(n,i,"contextmenu")||at||n.display.input.onContextMenu(i)}function Ox(n,i){return _n(n,"gutterContextMenu")?Jp(n,i,"gutterContextMenu",!1):!1}function eg(n){n.display.wrapper.className=n.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+n.options.theme.replace(/(^|\s)\s*/g," cm-s-"),As(n)}var Ro={toString:function(){return"CodeMirror.Init"}},ng={},va={};function Dx(n){var i=n.optionHandlers;function a(l,c,p,m){n.defaults[l]=c,p&&(i[l]=m?function(y,x,_){_!=Ro&&p(y,x,_)}:p)}n.defineOption=a,n.Init=Ro,a("value","",function(l,c){return l.setValue(c)},!0),a("mode",null,function(l,c){l.doc.modeOption=c,Lu(l)},!0),a("indentUnit",2,Lu,!0),a("indentWithTabs",!1),a("smartIndent",!0),a("tabSize",4,function(l){zs(l),As(l),ln(l)},!0),a("lineSeparator",null,function(l,c){if(l.doc.lineSep=c,!!c){var p=[],m=l.doc.first;l.doc.iter(function(x){for(var _=0;;){var N=x.text.indexOf(c,_);if(N==-1)break;_=N+c.length,p.push(X(m,N))}m++});for(var y=p.length-1;y>=0;y--)Po(l.doc,c,p[y],X(p[y].line,p[y].ch+c.length))}}),a("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,function(l,c,p){l.state.specialChars=new RegExp(c.source+(c.test(" ")?"":"| "),"g"),p!=Ro&&l.refresh()}),a("specialCharPlaceholder",cw,function(l){return l.refresh()},!0),a("electricChars",!0),a("inputStyle",E?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),a("spellcheck",!1,function(l,c){return l.getInputField().spellcheck=c},!0),a("autocorrect",!1,function(l,c){return l.getInputField().autocorrect=c},!0),a("autocapitalize",!1,function(l,c){return l.getInputField().autocapitalize=c},!0),a("rtlMoveVisually",!ht),a("wholeLineUpdateBefore",!0),a("theme","default",function(l){eg(l),Rs(l)},!0),a("keyMap","default",function(l,c,p){var m=pa(c),y=p!=Ro&&pa(p);y&&y.detach&&y.detach(l,m),m.attach&&m.attach(l,y||null)}),a("extraKeys",null),a("configureMouse",null),a("lineWrapping",!1,Rx,!0),a("gutters",[],function(l,c){l.display.gutterSpecs=Tu(c,l.options.lineNumbers),Rs(l)},!0),a("fixedGutter",!0,function(l,c){l.display.gutters.style.left=c?pu(l.display)+"px":"0",l.refresh()},!0),a("coverGutterNextToScrollbar",!1,function(l){return Lo(l)},!0),a("scrollbarStyle","native",function(l){ip(l),Lo(l),l.display.scrollbars.setScrollTop(l.doc.scrollTop),l.display.scrollbars.setScrollLeft(l.doc.scrollLeft)},!0),a("lineNumbers",!1,function(l,c){l.display.gutterSpecs=Tu(l.options.gutters,c),Rs(l)},!0),a("firstLineNumber",1,Rs,!0),a("lineNumberFormatter",function(l){return l},Rs,!0),a("showCursorWhenSelecting",!1,Ms,!0),a("resetSelectionOnContextMenu",!0),a("lineWiseCopyCut",!0),a("pasteLinesPerSelection",!0),a("selectionsMayTouch",!1),a("readOnly",!1,function(l,c){c=="nocursor"&&(To(l),l.display.input.blur()),l.display.input.readOnlyChanged(c)}),a("screenReaderLabel",null,function(l,c){c=c===""?null:c,l.display.input.screenReaderLabelChanged(c)}),a("disableInput",!1,function(l,c){c||l.display.input.reset()},!0),a("dragDrop",!0,$x),a("allowDropFileTypes",null),a("cursorBlinkRate",530),a("cursorScrollMargin",0),a("cursorHeight",1,Ms,!0),a("singleCursorHeightPerLine",!0,Ms,!0),a("workTime",100),a("workDelay",100),a("flattenSpans",!0,zs,!0),a("addModeClass",!1,zs,!0),a("pollInterval",100),a("undoDepth",200,function(l,c){return l.doc.history.undoDepth=c}),a("historyEventDelay",1250),a("viewportMargin",10,function(l){return l.refresh()},!0),a("maxHighlightLength",1e4,zs,!0),a("moveInputWithCursor",!0,function(l,c){c||l.display.input.resetPosition()}),a("tabindex",null,function(l,c){return l.display.input.getField().tabIndex=c||""}),a("autofocus",null),a("direction","ltr",function(l,c){return l.doc.setDirection(c)},!0),a("phrases",null)}function $x(n,i,a){var l=a&&a!=Ro;if(!i!=!l){var c=n.display.dragFunctions,p=i?Rt:Ke;p(n.display.scroller,"dragstart",c.start),p(n.display.scroller,"dragenter",c.enter),p(n.display.scroller,"dragover",c.over),p(n.display.scroller,"dragleave",c.leave),p(n.display.scroller,"drop",c.drop)}}function Rx(n){n.options.lineWrapping?(At(n.display.wrapper,"CodeMirror-wrap"),n.display.sizer.style.minWidth="",n.display.sizerWidth=null):(gt(n.display.wrapper,"CodeMirror-wrap"),iu(n)),gu(n),ln(n),As(n),setTimeout(function(){return Lo(n)},100)}function be(n,i){var a=this;if(!(this instanceof be))return new be(n,i);this.options=i=i?rt(i):{},rt(ng,i,!1);var l=i.value;typeof l=="string"?l=new an(l,i.mode,null,i.lineSeparator,i.direction):i.mode&&(l.modeOption=i.mode),this.doc=l;var c=new be.inputStyles[i.inputStyle](this),p=this.display=new Xw(n,l,c,i);p.wrapper.CodeMirror=this,eg(this),i.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),ip(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new Mt,keySeq:null,specialChars:null},i.autofocus&&!E&&p.input.focus(),d&&g<11&&setTimeout(function(){return a.display.input.reset(!0)},20),zx(this),px(),Fi(this),this.curOp.forceUpdate=!0,pp(this,l),i.autofocus&&!E||this.hasFocus()?setTimeout(function(){a.hasFocus()&&!a.state.focused&&bu(a)},20):To(this);for(var m in va)va.hasOwnProperty(m)&&va[m](this,i[m],Ro);lp(this),i.finishInit&&i.finishInit(this);for(var y=0;y20*20}Rt(i.scroller,"touchstart",function(x){if(!Ce(n,x)&&!p(x)&&!Iu(n,x)){i.input.ensurePolled(),clearTimeout(a);var _=+new Date;i.activeTouch={start:_,moved:!1,prev:_-l.end<=300?l:null},x.touches.length==1&&(i.activeTouch.left=x.touches[0].pageX,i.activeTouch.top=x.touches[0].pageY)}}),Rt(i.scroller,"touchmove",function(){i.activeTouch&&(i.activeTouch.moved=!0)}),Rt(i.scroller,"touchend",function(x){var _=i.activeTouch;if(_&&!Ar(i,x)&&_.left!=null&&!_.moved&&new Date-_.start<300){var N=n.coordsChar(i.activeTouch,"page"),D;!_.prev||m(_,_.prev)?D=new ue(N,N):!_.prev.prev||m(_,_.prev.prev)?D=n.findWordAt(N):D=new ue(X(N.line,0),Wt(n.doc,X(N.line+1,0))),n.setSelection(D.anchor,D.head),n.focus(),Xe(x)}c()}),Rt(i.scroller,"touchcancel",c),Rt(i.scroller,"scroll",function(){i.scroller.clientHeight&&(Ps(n,i.scroller.scrollTop),zi(n,i.scroller.scrollLeft,!0),ke(n,"scroll",n))}),Rt(i.scroller,"mousewheel",function(x){return up(n,x)}),Rt(i.scroller,"DOMMouseScroll",function(x){return up(n,x)}),Rt(i.wrapper,"scroll",function(){return i.wrapper.scrollTop=i.wrapper.scrollLeft=0}),i.dragFunctions={enter:function(x){Ce(n,x)||Yr(x)},over:function(x){Ce(n,x)||(dx(n,x),Yr(x))},start:function(x){return hx(n,x)},drop:He(n,fx),leave:function(x){Ce(n,x)||Ip(n)}};var y=i.input.getField();Rt(y,"keyup",function(x){return Xp.call(n,x)}),Rt(y,"keydown",He(n,Kp)),Rt(y,"keypress",He(n,Yp)),Rt(y,"focus",function(x){return bu(n,x)}),Rt(y,"blur",function(x){return To(n,x)})}var Fu=[];be.defineInitHook=function(n){return Fu.push(n)};function Ys(n,i,a,l){var c=n.doc,p;a==null&&(a="add"),a=="smart"&&(c.mode.indent?p=ks(n,i).state:a="prev");var m=n.options.tabSize,y=Pt(c,i),x=lt(y.text,null,m);y.stateAfter&&(y.stateAfter=null);var _=y.text.match(/^\s*/)[0],N;if(!l&&!/\S/.test(y.text))N=0,a="not";else if(a=="smart"&&(N=c.mode.indent(p,y.text.slice(_.length),y.text),N==I||N>150)){if(!l)return;a="prev"}a=="prev"?i>c.first?N=lt(Pt(c,i-1).text,null,m):N=0:a=="add"?N=x+n.options.indentUnit:a=="subtract"?N=x-n.options.indentUnit:typeof a=="number"&&(N=x+a),N=Math.max(0,N);var D="",W=0;if(n.options.indentWithTabs)for(var q=Math.floor(N/m);q;--q)W+=m,D+=" ";if(Wm,x=Hn(i),_=null;if(y&&l.ranges.length>1)if(tr&&tr.text.join(` +`)==i){if(l.ranges.length%tr.text.length==0){_=[];for(var N=0;N=0;W--){var q=l.ranges[W],Z=q.from(),it=q.to();q.empty()&&(a&&a>0?Z=X(Z.line,Z.ch-a):n.state.overwrite&&!y?it=X(it.line,Math.min(Pt(p,it.line).text.length,it.ch+ct(x).length)):y&&tr&&tr.lineWise&&tr.text.join(` +`)==x.join(` +`)&&(Z=it=X(Z.line,0)));var vt={from:Z,to:it,text:_?_[W%_.length]:x,origin:c||(y?"paste":n.state.cutIncoming>m?"cut":"+input")};No(n.doc,vt),qe(n,"inputRead",n,vt)}i&&!y&&ig(n,i),Eo(n),n.curOp.updateInput<2&&(n.curOp.updateInput=D),n.curOp.typing=!0,n.state.pasteIncoming=n.state.cutIncoming=-1}function rg(n,i){var a=n.clipboardData&&n.clipboardData.getData("Text");if(a)return n.preventDefault(),!i.isReadOnly()&&!i.options.disableInput&&i.hasFocus()&&Sn(i,function(){return qu(i,a,0,null,"paste")}),!0}function ig(n,i){if(!(!n.options.electricChars||!n.options.smartIndent))for(var a=n.doc.sel,l=a.ranges.length-1;l>=0;l--){var c=a.ranges[l];if(!(c.head.ch>100||l&&a.ranges[l-1].head.line==c.head.line)){var p=n.getModeAt(c.head),m=!1;if(p.electricChars){for(var y=0;y-1){m=Ys(n,c.head.line,"smart");break}}else p.electricInput&&p.electricInput.test(Pt(n.doc,c.head.line).text.slice(0,c.head.ch))&&(m=Ys(n,c.head.line,"smart"));m&&qe(n,"electricInput",n,c.head.line)}}}function og(n){for(var i=[],a=[],l=0;lp&&(Ys(this,y.head.line,l,!0),p=y.head.line,m==this.doc.sel.primIndex&&Eo(this));else{var x=y.from(),_=y.to(),N=Math.max(p,x.line);p=Math.min(this.lastLine(),_.line-(_.ch?0:1))+1;for(var D=N;D0&&Pu(this.doc,m,new ue(x,W[m].to()),V)}}}),getTokenAt:function(l,c){return vd(this,l,c)},getLineTokens:function(l,c){return vd(this,X(l),c,!0)},getTokenTypeAt:function(l){l=Wt(this.doc,l);var c=dd(this,Pt(this.doc,l.line)),p=0,m=(c.length-1)/2,y=l.ch,x;if(y==0)x=c[2];else for(;;){var _=p+m>>1;if((_?c[_*2-1]:0)>=y)m=_;else if(c[_*2+1]x&&(l=x,m=!0),y=Pt(this.doc,l)}else y=l;return Ql(this,y,{top:0,left:0},c||"page",p||m).top+(m?this.doc.height-Lr(y):0)},defaultTextHeight:function(){return ko(this.display)},defaultCharWidth:function(){return Co(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(l,c,p,m,y){var x=this.display;l=Qn(this,Wt(this.doc,l));var _=l.bottom,N=l.left;if(c.style.position="absolute",c.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(c),x.sizer.appendChild(c),m=="over")_=l.top;else if(m=="above"||m=="near"){var D=Math.max(x.wrapper.clientHeight,this.doc.height),W=Math.max(x.sizer.clientWidth,x.lineSpace.clientWidth);(m=="above"||l.bottom+c.offsetHeight>D)&&l.top>c.offsetHeight?_=l.top-c.offsetHeight:l.bottom+c.offsetHeight<=D&&(_=l.bottom),N+c.offsetWidth>W&&(N=W-c.offsetWidth)}c.style.top=_+"px",c.style.left=c.style.right="",y=="right"?(N=x.sizer.clientWidth-c.offsetWidth,c.style.right="0px"):(y=="left"?N=0:y=="middle"&&(N=(x.sizer.clientWidth-c.offsetWidth)/2),c.style.left=N+"px"),p&&$w(this,{left:N,top:_,right:N+c.offsetWidth,bottom:_+c.offsetHeight})},triggerOnKeyDown:Je(Kp),triggerOnKeyPress:Je(Yp),triggerOnKeyUp:Xp,triggerOnMouseDown:Je(Zp),execCommand:function(l){if(Vs.hasOwnProperty(l))return Vs[l].call(null,this)},triggerElectric:Je(function(l){ig(this,l)}),findPosH:function(l,c,p,m){var y=1;c<0&&(y=-1,c=-c);for(var x=Wt(this.doc,l),_=0;_0&&N(p.charAt(m-1));)--m;for(;y.5||this.options.lineWrapping)&&gu(this),ke(this,"refresh",this)}),swapDoc:Je(function(l){var c=this.doc;return c.cm=null,this.state.selectingText&&this.state.selectingText(),pp(this,l),As(this),this.display.input.reset(),Ns(this,l.scrollLeft,l.scrollTop),this.curOp.forceScroll=!0,qe(this,"swapDoc",this,c),c}),phrase:function(l){var c=this.options.phrases;return c&&Object.prototype.hasOwnProperty.call(c,l)?c[l]:l},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Vn(n),n.registerHelper=function(l,c,p){a.hasOwnProperty(l)||(a[l]=n[l]={_global:[]}),a[l][c]=p},n.registerGlobalHelper=function(l,c,p,m){n.registerHelper(l,c,m),a[l]._global.push({pred:p,val:m})}}function Bu(n,i,a,l,c){var p=i,m=a,y=Pt(n,i.line),x=c&&n.direction=="rtl"?-a:a;function _(){var Ct=i.line+x;return Ct=n.first+n.size?!1:(i=new X(Ct,i.ch,i.sticky),y=Pt(n,Ct))}function N(Ct){var wt;if(l=="codepoint"){var Lt=y.text.charCodeAt(i.ch+(a>0?0:-1));if(isNaN(Lt))wt=null;else{var zt=a>0?Lt>=55296&&Lt<56320:Lt>=56320&&Lt<57343;wt=new X(i.line,Math.max(0,Math.min(y.text.length,i.ch+a*(zt?2:1))),-a)}}else c?wt=bx(n.cm,y,i,a):wt=Du(y,i,a);if(wt==null)if(!Ct&&_())i=$u(c,n.cm,y,i.line,x);else return!1;else i=wt;return!0}if(l=="char"||l=="codepoint")N();else if(l=="column")N(!0);else if(l=="word"||l=="group")for(var D=null,W=l=="group",q=n.cm&&n.cm.getHelper(i,"wordChars"),Z=!0;!(a<0&&!N(!Z));Z=!1){var it=y.text.charAt(i.ch)||` +`,vt=re(it,q)?"w":W&&it==` +`?"n":!W||/\s/.test(it)?null:"p";if(W&&!Z&&!vt&&(vt="s"),D&&D!=vt){a<0&&(a=1,N(),i.sticky="after");break}if(vt&&(D=vt),a>0&&!N(!Z))break}var bt=fa(n,i,p,m,!0);return ce(p,bt)&&(bt.hitSide=!0),bt}function lg(n,i,a,l){var c=n.doc,p=i.left,m;if(l=="page"){var y=Math.min(n.display.wrapper.clientHeight,Tt(n).innerHeight||c(n).documentElement.clientHeight),x=Math.max(y-.5*ko(n.display),3);m=(a>0?i.bottom:i.top)+a*x}else l=="line"&&(m=a>0?i.bottom+3:i.top-3);for(var _;_=fu(n,p,m),!!_.outside;){if(a<0?m<=0:m>=c.height){_.hitSide=!0;break}m+=a*5}return _}var he=function(n){this.cm=n,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Mt,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};he.prototype.init=function(n){var i=this,a=this,l=a.cm,c=a.div=n.lineDiv;c.contentEditable=!0,Hu(c,l.options.spellcheck,l.options.autocorrect,l.options.autocapitalize);function p(y){for(var x=y.target;x;x=x.parentNode){if(x==c)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(x.className))break}return!1}Rt(c,"paste",function(y){!p(y)||Ce(l,y)||rg(y,l)||g<=11&&setTimeout(He(l,function(){return i.updateFromDOM()}),20)}),Rt(c,"compositionstart",function(y){i.composing={data:y.data,done:!1}}),Rt(c,"compositionupdate",function(y){i.composing||(i.composing={data:y.data,done:!1})}),Rt(c,"compositionend",function(y){i.composing&&(y.data!=i.composing.data&&i.readFromDOMSoon(),i.composing.done=!0)}),Rt(c,"touchstart",function(){return a.forceCompositionEnd()}),Rt(c,"input",function(){i.composing||i.readFromDOMSoon()});function m(y){if(!(!p(y)||Ce(l,y))){if(l.somethingSelected())ma({lineWise:!1,text:l.getSelections()}),y.type=="cut"&&l.replaceSelection("",null,"cut");else if(l.options.lineWiseCopyCut){var x=og(l);ma({lineWise:!0,text:x.text}),y.type=="cut"&&l.operation(function(){l.setSelections(x.ranges,0,V),l.replaceSelection("",null,"cut")})}else return;if(y.clipboardData){y.clipboardData.clearData();var _=tr.text.join(` +`);if(y.clipboardData.setData("Text",_),y.clipboardData.getData("Text")==_){y.preventDefault();return}}var N=sg(),D=N.firstChild;Hu(D),l.display.lineSpace.insertBefore(N,l.display.lineSpace.firstChild),D.value=tr.text.join(` +`);var W=yt(Gt(c));Ht(D),setTimeout(function(){l.display.lineSpace.removeChild(N),W.focus(),W==c&&a.showPrimarySelection()},50)}}Rt(c,"copy",m),Rt(c,"cut",m)},he.prototype.screenReaderLabelChanged=function(n){n?this.div.setAttribute("aria-label",n):this.div.removeAttribute("aria-label")},he.prototype.prepareSelection=function(){var n=Zd(this.cm,!1);return n.focus=yt(Gt(this.div))==this.div,n},he.prototype.showSelection=function(n,i){!n||!this.cm.display.view.length||((n.focus||i)&&this.showPrimarySelection(),this.showMultipleSelections(n))},he.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},he.prototype.showPrimarySelection=function(){var n=this.getSelection(),i=this.cm,a=i.doc.sel.primary(),l=a.from(),c=a.to();if(i.display.viewTo==i.display.viewFrom||l.line>=i.display.viewTo||c.line=i.display.viewFrom&&ag(i,l)||{node:y[0].measure.map[2],offset:0},_=c.linen.firstLine()&&(l=X(l.line-1,Pt(n.doc,l.line-1).length)),c.ch==Pt(n.doc,c.line).text.length&&c.linei.viewTo-1)return!1;var p,m,y;l.line==i.viewFrom||(p=Ri(n,l.line))==0?(m=C(i.view[0].line),y=i.view[0].node):(m=C(i.view[p].line),y=i.view[p-1].node.nextSibling);var x=Ri(n,c.line),_,N;if(x==i.view.length-1?(_=i.viewTo-1,N=i.lineDiv.lastChild):(_=C(i.view[x+1].line)-1,N=i.view[x+1].node.previousSibling),!y)return!1;for(var D=n.doc.splitLines(qx(n,y,N,m,_)),W=Tr(n.doc,X(m,0),X(_,Pt(n.doc,_).text.length));D.length>1&&W.length>1;)if(ct(D)==ct(W))D.pop(),W.pop(),_--;else if(D[0]==W[0])D.shift(),W.shift(),m++;else break;for(var q=0,Z=0,it=D[0],vt=W[0],bt=Math.min(it.length,vt.length);ql.ch&&Ct.charCodeAt(Ct.length-Z-1)==wt.charCodeAt(wt.length-Z-1);)q--,Z++;D[D.length-1]=Ct.slice(0,Ct.length-Z).replace(/^\u200b+/,""),D[0]=D[0].slice(q).replace(/\u200b+$/,"");var zt=X(m,q),Ot=X(_,W.length?ct(W).length-Z:0);if(D.length>1||D[0]||_t(zt,Ot))return Po(n.doc,D,zt,Ot,"+input"),!0},he.prototype.ensurePolled=function(){this.forceCompositionEnd()},he.prototype.reset=function(){this.forceCompositionEnd()},he.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},he.prototype.readFromDOMSoon=function(){var n=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(n.readDOMTimeout=null,n.composing)if(n.composing.done)n.composing=null;else return;n.updateFromDOM()},80))},he.prototype.updateFromDOM=function(){var n=this;(this.cm.isReadOnly()||!this.pollContent())&&Sn(this.cm,function(){return ln(n.cm)})},he.prototype.setUneditable=function(n){n.contentEditable="false"},he.prototype.onKeyPress=function(n){n.charCode==0||this.composing||(n.preventDefault(),this.cm.isReadOnly()||He(this.cm,qu)(this.cm,String.fromCharCode(n.charCode==null?n.keyCode:n.charCode),0))},he.prototype.readOnlyChanged=function(n){this.div.contentEditable=String(n!="nocursor")},he.prototype.onContextMenu=function(){},he.prototype.resetPosition=function(){},he.prototype.needsContentAttribute=!0;function ag(n,i){var a=au(n,i.line);if(!a||a.hidden)return null;var l=Pt(n.doc,i.line),c=zd(a,l,i.line),p=Yt(l,n.doc.direction),m="left";if(p){var y=Ae(p,i.ch);m=y%2?"right":"left"}var x=qd(c.map,i.ch,m);return x.offset=x.collapse=="right"?x.end:x.start,x}function Fx(n){for(var i=n;i;i=i.parentNode)if(/CodeMirror-gutter-wrapper/.test(i.className))return!0;return!1}function zo(n,i){return i&&(n.bad=!0),n}function qx(n,i,a,l,c){var p="",m=!1,y=n.doc.lineSeparator(),x=!1;function _(q){return function(Z){return Z.id==q}}function N(){m&&(p+=y,x&&(p+=y),m=x=!1)}function D(q){q&&(N(),p+=q)}function W(q){if(q.nodeType==1){var Z=q.getAttribute("cm-text");if(Z){D(Z);return}var it=q.getAttribute("cm-marker"),vt;if(it){var bt=n.findMarks(X(l,0),X(c+1,0),_(+it));bt.length&&(vt=bt[0].find(0))&&D(Tr(n.doc,vt.from,vt.to).join(y));return}if(q.getAttribute("contenteditable")=="false")return;var Ct=/^(pre|div|p|li|table|br)$/i.test(q.nodeName);if(!/^br$/i.test(q.nodeName)&&q.textContent.length==0)return;Ct&&N();for(var wt=0;wt=9&&i.hasSelection&&(i.hasSelection=null),a.poll()}),Rt(c,"paste",function(m){Ce(l,m)||rg(m,l)||(l.state.pasteIncoming=+new Date,a.fastPoll())});function p(m){if(!Ce(l,m)){if(l.somethingSelected())ma({lineWise:!1,text:l.getSelections()});else if(l.options.lineWiseCopyCut){var y=og(l);ma({lineWise:!0,text:y.text}),m.type=="cut"?l.setSelections(y.ranges,null,V):(a.prevInput="",c.value=y.text.join(` +`),Ht(c))}else return;m.type=="cut"&&(l.state.cutIncoming=+new Date)}}Rt(c,"cut",p),Rt(c,"copy",p),Rt(n.scroller,"paste",function(m){if(!(Ar(n,m)||Ce(l,m))){if(!c.dispatchEvent){l.state.pasteIncoming=+new Date,a.focus();return}var y=new Event("paste");y.clipboardData=m.clipboardData,c.dispatchEvent(y)}}),Rt(n.lineSpace,"selectstart",function(m){Ar(n,m)||Xe(m)}),Rt(c,"compositionstart",function(){var m=l.getCursor("from");a.composing&&a.composing.range.clear(),a.composing={start:m,range:l.markText(m,l.getCursor("to"),{className:"CodeMirror-composing"})}}),Rt(c,"compositionend",function(){a.composing&&(a.poll(),a.composing.range.clear(),a.composing=null)})},Me.prototype.createField=function(n){this.wrapper=sg(),this.textarea=this.wrapper.firstChild;var i=this.cm.options;Hu(this.textarea,i.spellcheck,i.autocorrect,i.autocapitalize)},Me.prototype.screenReaderLabelChanged=function(n){n?this.textarea.setAttribute("aria-label",n):this.textarea.removeAttribute("aria-label")},Me.prototype.prepareSelection=function(){var n=this.cm,i=n.display,a=n.doc,l=Zd(n);if(n.options.moveInputWithCursor){var c=Qn(n,a.sel.primary().head,"div"),p=i.wrapper.getBoundingClientRect(),m=i.lineDiv.getBoundingClientRect();l.teTop=Math.max(0,Math.min(i.wrapper.clientHeight-10,c.top+m.top-p.top)),l.teLeft=Math.max(0,Math.min(i.wrapper.clientWidth-10,c.left+m.left-p.left))}return l},Me.prototype.showSelection=function(n){var i=this.cm,a=i.display;z(a.cursorDiv,n.cursors),z(a.selectionDiv,n.selection),n.teTop!=null&&(this.wrapper.style.top=n.teTop+"px",this.wrapper.style.left=n.teLeft+"px")},Me.prototype.reset=function(n){if(!(this.contextMenuPending||this.composing&&n)){var i=this.cm;if(this.resetting=!0,i.somethingSelected()){this.prevInput="";var a=i.getSelection();this.textarea.value=a,i.state.focused&&Ht(this.textarea),d&&g>=9&&(this.hasSelection=a)}else n||(this.prevInput=this.textarea.value="",d&&g>=9&&(this.hasSelection=null));this.resetting=!1}},Me.prototype.getField=function(){return this.textarea},Me.prototype.supportsTouch=function(){return!1},Me.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!E||yt(Gt(this.textarea))!=this.textarea))try{this.textarea.focus()}catch{}},Me.prototype.blur=function(){this.textarea.blur()},Me.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Me.prototype.receivedFocus=function(){this.slowPoll()},Me.prototype.slowPoll=function(){var n=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){n.poll(),n.cm.state.focused&&n.slowPoll()})},Me.prototype.fastPoll=function(){var n=!1,i=this;i.pollingFast=!0;function a(){var l=i.poll();!l&&!n?(n=!0,i.polling.set(60,a)):(i.pollingFast=!1,i.slowPoll())}i.polling.set(20,a)},Me.prototype.poll=function(){var n=this,i=this.cm,a=this.textarea,l=this.prevInput;if(this.contextMenuPending||this.resetting||!i.state.focused||Qr(a)&&!l&&!this.composing||i.isReadOnly()||i.options.disableInput||i.state.keySeq)return!1;var c=a.value;if(c==l&&!i.somethingSelected())return!1;if(d&&g>=9&&this.hasSelection===c||B&&/[\uf700-\uf7ff]/.test(c))return i.display.input.reset(),!1;if(i.doc.sel==i.display.selForContextMenu){var p=c.charCodeAt(0);if(p==8203&&!l&&(l="​"),p==8666)return this.reset(),this.cm.execCommand("undo")}for(var m=0,y=Math.min(l.length,c.length);m1e3||c.indexOf(` +`)>-1?a.value=n.prevInput="":n.prevInput=c,n.composing&&(n.composing.range.clear(),n.composing.range=i.markText(n.composing.start,i.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Me.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Me.prototype.onKeyPress=function(){d&&g>=9&&(this.hasSelection=null),this.fastPoll()},Me.prototype.onContextMenu=function(n){var i=this,a=i.cm,l=a.display,c=i.textarea;i.contextMenuPending&&i.contextMenuPending();var p=$i(a,n),m=l.scroller.scrollTop;if(!p||P)return;var y=a.options.resetSelectionOnContextMenu;y&&a.doc.sel.contains(p)==-1&&He(a,Ye)(a.doc,ri(p),V);var x=c.style.cssText,_=i.wrapper.style.cssText,N=i.wrapper.offsetParent.getBoundingClientRect();i.wrapper.style.cssText="position: static",c.style.cssText=`position: absolute; width: 30px; height: 30px; + top: `+(n.clientY-N.top-5)+"px; left: "+(n.clientX-N.left-5)+`px; + z-index: 1000; background: `+(d?"rgba(255, 255, 255, .05)":"transparent")+`; + outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var D;v&&(D=c.ownerDocument.defaultView.scrollY),l.input.focus(),v&&c.ownerDocument.defaultView.scrollTo(null,D),l.input.reset(),a.somethingSelected()||(c.value=i.prevInput=" "),i.contextMenuPending=q,l.selForContextMenu=a.doc.sel,clearTimeout(l.detectingSelectAll);function W(){if(c.selectionStart!=null){var it=a.somethingSelected(),vt="​"+(it?c.value:"");c.value="⇚",c.value=vt,i.prevInput=it?"":"​",c.selectionStart=1,c.selectionEnd=vt.length,l.selForContextMenu=a.doc.sel}}function q(){if(i.contextMenuPending==q&&(i.contextMenuPending=!1,i.wrapper.style.cssText=_,c.style.cssText=x,d&&g<9&&l.scrollbars.setScrollTop(l.scroller.scrollTop=m),c.selectionStart!=null)){(!d||d&&g<9)&&W();var it=0,vt=function(){l.selForContextMenu==a.doc.sel&&c.selectionStart==0&&c.selectionEnd>0&&i.prevInput=="​"?He(a,Ep)(a):it++<10?l.detectingSelectAll=setTimeout(vt,500):(l.selForContextMenu=null,l.input.reset())};l.detectingSelectAll=setTimeout(vt,200)}}if(d&&g>=9&&W(),at){Yr(n);var Z=function(){Ke(window,"mouseup",Z),setTimeout(q,20)};Rt(window,"mouseup",Z)}else setTimeout(q,50)},Me.prototype.readOnlyChanged=function(n){n||this.reset(),this.textarea.disabled=n=="nocursor",this.textarea.readOnly=!!n},Me.prototype.setUneditable=function(){},Me.prototype.needsContentAttribute=!1;function Bx(n,i){if(i=i?rt(i):{},i.value=n.value,!i.tabindex&&n.tabIndex&&(i.tabindex=n.tabIndex),!i.placeholder&&n.placeholder&&(i.placeholder=n.placeholder),i.autofocus==null){var a=yt(Gt(n));i.autofocus=a==n||n.getAttribute("autofocus")!=null&&a==document.body}function l(){n.value=y.getValue()}var c;if(n.form&&(Rt(n.form,"submit",l),!i.leaveSubmitMethodAlone)){var p=n.form;c=p.submit;try{var m=p.submit=function(){l(),p.submit=c,p.submit(),p.submit=m}}catch{}}i.finishInit=function(x){x.save=l,x.getTextArea=function(){return n},x.toTextArea=function(){x.toTextArea=isNaN,l(),n.parentNode.removeChild(x.getWrapperElement()),n.style.display="",n.form&&(Ke(n.form,"submit",l),!i.leaveSubmitMethodAlone&&typeof n.form.submit=="function"&&(n.form.submit=c))}},n.style.display="none";var y=be(function(x){return n.parentNode.insertBefore(x,n.nextSibling)},i);return y}function Wx(n){n.off=Ke,n.on=Rt,n.wheelEventPixels=Yw,n.Doc=an,n.splitLines=Hn,n.countColumn=lt,n.findColumn=ut,n.isWordChar=Kt,n.Pass=I,n.signal=ke,n.Line=xo,n.changeEnd=ii,n.scrollbarModel=rp,n.Pos=X,n.cmpPos=_t,n.modes=go,n.mimeModes=Xn,n.resolveMode=vo,n.getMode=mo,n.modeExtensions=Jr,n.extendMode=yo,n.copyState=ur,n.startState=bo,n.innerMode=_s,n.commands=Vs,n.keyMap=Nr,n.keyName=Wp,n.isModifierKey=Hp,n.lookupKey=Do,n.normalizeKeyMap=yx,n.StringStream=Te,n.SharedTextMarker=Ws,n.TextMarker=si,n.LineWidget=Bs,n.e_preventDefault=Xe,n.e_stopPropagation=ho,n.e_stop=Yr,n.addClass=At,n.contains=Q,n.rmClass=gt,n.keyNames=li}Dx(be),Ix(be);var Ux="iter insert remove copy getEditor constructor".split(" ");for(var ba in an.prototype)an.prototype.hasOwnProperty(ba)&&Et(Ux,ba)<0&&(be.prototype[ba]=function(n){return function(){return n.apply(this.doc,arguments)}}(an.prototype[ba]));return Vn(an),be.inputStyles={textarea:Me,contenteditable:he},be.defineMode=function(n){!be.defaults.mode&&n!="null"&&(be.defaults.mode=n),Yn.apply(this,arguments)},be.defineMIME=Pi,be.defineMode("null",function(){return{token:function(n){return n.skipToEnd()}}}),be.defineMIME("text/plain","null"),be.defineExtension=function(n,i){be.prototype[n]=i},be.defineDocExtension=function(n,i){an.prototype[n]=i},be.fromTextArea=Bx,Wx(be),be.version="5.65.16",be})})(ib);var ys=ib.exports;const Pat=ay(ys);var Oat={exports:{}};(function(t,e){(function(r){r(ys)})(function(r){r.defineMode("javascript",function(o,s){var u=o.indentUnit,f=s.statementIndent,h=s.jsonld,d=s.json||h,g=s.trackScope!==!1,v=s.typescript,b=s.wordCharacters||/[\w$\xa1-\uffff]/,w=function(){function C(Fe){return{type:Fe,style:"keyword"}}var O=C("keyword a"),et=C("keyword b"),dt=C("keyword c"),X=C("keyword d"),_t=C("operator"),ce={type:"atom",style:"atom"};return{if:C("if"),while:O,with:O,else:et,do:et,try:et,finally:et,return:X,break:X,continue:X,new:C("new"),delete:dt,void:dt,throw:dt,debugger:C("debugger"),var:C("var"),const:C("var"),let:C("var"),function:C("function"),catch:C("catch"),for:C("for"),switch:C("switch"),case:C("case"),default:C("default"),in:_t,typeof:_t,instanceof:_t,true:ce,false:ce,null:ce,undefined:ce,NaN:ce,Infinity:ce,this:C("this"),class:C("class"),super:C("atom"),yield:dt,export:C("export"),import:C("import"),extends:dt,await:dt}}(),S=/[+\-*&%=<>!?|~^@]/,P=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function A(C){for(var O=!1,et,dt=!1;(et=C.next())!=null;){if(!O){if(et=="/"&&!dt)return;et=="["?dt=!0:dt&&et=="]"&&(dt=!1)}O=!O&&et=="\\"}}var L,T;function M(C,O,et){return L=C,T=et,O}function R(C,O){var et=C.next();if(et=='"'||et=="'")return O.tokenize=E(et),O.tokenize(C,O);if(et=="."&&C.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return M("number","number");if(et=="."&&C.match(".."))return M("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(et))return M(et);if(et=="="&&C.eat(">"))return M("=>","operator");if(et=="0"&&C.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return M("number","number");if(/\d/.test(et))return C.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),M("number","number");if(et=="/")return C.eat("*")?(O.tokenize=B,B(C,O)):C.eat("/")?(C.skipToEnd(),M("comment","comment")):On(C,O,1)?(A(C),C.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),M("regexp","string-2")):(C.eat("="),M("operator","operator",C.current()));if(et=="`")return O.tokenize=K,K(C,O);if(et=="#"&&C.peek()=="!")return C.skipToEnd(),M("meta","meta");if(et=="#"&&C.eatWhile(b))return M("variable","property");if(et=="<"&&C.match("!--")||et=="-"&&C.match("->")&&!/\S/.test(C.string.slice(0,C.start)))return C.skipToEnd(),M("comment","comment");if(S.test(et))return(et!=">"||!O.lexical||O.lexical.type!=">")&&(C.eat("=")?(et=="!"||et=="=")&&C.eat("="):/[<>*+\-|&?]/.test(et)&&(C.eat(et),et==">"&&C.eat(et))),et=="?"&&C.eat(".")?M("."):M("operator","operator",C.current());if(b.test(et)){C.eatWhile(b);var dt=C.current();if(O.lastType!="."){if(w.propertyIsEnumerable(dt)){var X=w[dt];return M(X.type,X.style,dt)}if(dt=="async"&&C.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return M("async","keyword",dt)}return M("variable","variable",dt)}}function E(C){return function(O,et){var dt=!1,X;if(h&&O.peek()=="@"&&O.match(P))return et.tokenize=R,M("jsonld-keyword","meta");for(;(X=O.next())!=null&&!(X==C&&!dt);)dt=!dt&&X=="\\";return dt||(et.tokenize=R),M("string","string")}}function B(C,O){for(var et=!1,dt;dt=C.next();){if(dt=="/"&&et){O.tokenize=R;break}et=dt=="*"}return M("comment","comment")}function K(C,O){for(var et=!1,dt;(dt=C.next())!=null;){if(!et&&(dt=="`"||dt=="$"&&C.eat("{"))){O.tokenize=R;break}et=!et&&dt=="\\"}return M("quasi","string-2",C.current())}var ht="([{}])";function Y(C,O){O.fatArrowAt&&(O.fatArrowAt=null);var et=C.string.indexOf("=>",C.start);if(!(et<0)){if(v){var dt=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(C.string.slice(C.start,et));dt&&(et=dt.index)}for(var X=0,_t=!1,ce=et-1;ce>=0;--ce){var Fe=C.string.charAt(ce),sn=ht.indexOf(Fe);if(sn>=0&&sn<3){if(!X){++ce;break}if(--X==0){Fe=="("&&(_t=!0);break}}else if(sn>=3&&sn<6)++X;else if(b.test(Fe))_t=!0;else if(/["'\/`]/.test(Fe))for(;;--ce){if(ce==0)return;var wo=C.string.charAt(ce-1);if(wo==Fe&&C.string.charAt(ce-2)!="\\"){ce--;break}}else if(_t&&!X){++ce;break}}_t&&!X&&(O.fatArrowAt=ce)}}var nt={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function at(C,O,et,dt,X,_t){this.indented=C,this.column=O,this.type=et,this.prev=X,this.info=_t,dt!=null&&(this.align=dt)}function pt(C,O){if(!g)return!1;for(var et=C.localVars;et;et=et.next)if(et.name==O)return!0;for(var dt=C.context;dt;dt=dt.prev)for(var et=dt.vars;et;et=et.next)if(et.name==O)return!0}function gt(C,O,et,dt,X){var _t=C.cc;for(G.state=C,G.stream=X,G.marked=null,G.cc=_t,G.style=O,C.lexical.hasOwnProperty("align")||(C.lexical.align=!0);;){var ce=_t.length?_t.pop():d?Et:lt;if(ce(et,dt)){for(;_t.length&&_t[_t.length-1].lex;)_t.pop()();return G.marked?G.marked:et=="variable"&&pt(C,dt)?"variable-2":O}}}var G={state:null,column:null,marked:null,cc:null};function z(){for(var C=arguments.length-1;C>=0;C--)G.cc.push(arguments[C])}function k(){return z.apply(null,arguments),!0}function F(C,O){for(var et=O;et;et=et.next)if(et.name==C)return!0;return!1}function H(C){var O=G.state;if(G.marked="def",!!g){if(O.context){if(O.lexical.info=="var"&&O.context&&O.context.block){var et=Q(C,O.context);if(et!=null){O.context=et;return}}else if(!F(C,O.localVars)){O.localVars=new qt(C,O.localVars);return}}s.globalVars&&!F(C,O.globalVars)&&(O.globalVars=new qt(C,O.globalVars))}}function Q(C,O){if(O)if(O.block){var et=Q(C,O.prev);return et?et==O.prev?O:new At(et,O.vars,!0):null}else return F(C,O.vars)?O:new At(O.prev,new qt(C,O.vars),!1);else return null}function yt(C){return C=="public"||C=="private"||C=="protected"||C=="abstract"||C=="readonly"}function At(C,O,et){this.prev=C,this.vars=O,this.block=et}function qt(C,O){this.name=C,this.next=O}var Ht=new qt("this",new qt("arguments",null));function Jt(){G.state.context=new At(G.state.context,G.state.localVars,!1),G.state.localVars=Ht}function Qt(){G.state.context=new At(G.state.context,G.state.localVars,!0),G.state.localVars=null}Jt.lex=Qt.lex=!0;function Gt(){G.state.localVars=G.state.context.vars,G.state.context=G.state.context.prev}Gt.lex=!0;function Tt(C,O){var et=function(){var dt=G.state,X=dt.indented;if(dt.lexical.type=="stat")X=dt.lexical.indented;else for(var _t=dt.lexical;_t&&_t.type==")"&&_t.align;_t=_t.prev)X=_t.indented;dt.lexical=new at(X,G.stream.column(),C,null,dt.lexical,O)};return et.lex=!0,et}function j(){var C=G.state;C.lexical.prev&&(C.lexical.type==")"&&(C.indented=C.lexical.indented),C.lexical=C.lexical.prev)}j.lex=!0;function rt(C){function O(et){return et==C?k():C==";"||et=="}"||et==")"||et=="]"?z():k(O)}return O}function lt(C,O){return C=="var"?k(Tt("vardef",O),ho,rt(";"),j):C=="keyword a"?k(Tt("form"),I,lt,j):C=="keyword b"?k(Tt("form"),lt,j):C=="keyword d"?G.stream.match(/^\s*$/,!1)?k():k(Tt("stat"),J,rt(";"),j):C=="debugger"?k(rt(";")):C=="{"?k(Tt("}"),Qt,Pn,j,Gt):C==";"?k():C=="if"?(G.state.lexical.info=="else"&&G.state.cc[G.state.cc.length-1]==j&&G.state.cc.pop()(),k(Tt("form"),I,lt,j,po)):C=="function"?k(Hn):C=="for"?k(Tt("form"),Qt,Bl,lt,Gt,j):C=="class"||v&&O=="interface"?(G.marked="keyword",k(Tt("form",C=="class"?C:O),go,j)):C=="variable"?v&&O=="declare"?(G.marked="keyword",k(lt)):v&&(O=="module"||O=="enum"||O=="type")&&G.stream.match(/^\s*\w/,!1)?(G.marked="keyword",O=="enum"?k(Pt):O=="type"?k(Wl,rt("operator"),Yt,rt(";")):k(Tt("form"),on,rt("{"),Tt("}"),Pn,j,j)):v&&O=="namespace"?(G.marked="keyword",k(Tt("form"),Et,lt,j)):v&&O=="abstract"?(G.marked="keyword",k(lt)):k(Tt("stat"),Bt):C=="switch"?k(Tt("form"),I,rt("{"),Tt("}","switch"),Qt,Pn,j,j,Gt):C=="case"?k(Et,rt(":")):C=="default"?k(rt(":")):C=="catch"?k(Tt("form"),Jt,Mt,lt,j,Gt):C=="export"?k(Tt("stat"),vo,j):C=="import"?k(Tt("stat"),Jr,j):C=="async"?k(lt):O=="@"?k(Et,lt):z(Tt("stat"),Et,rt(";"),j)}function Mt(C){if(C=="(")return k(Kn,rt(")"))}function Et(C,O){return V(C,O,!1)}function $(C,O){return V(C,O,!0)}function I(C){return C!="("?z():k(Tt(")"),J,rt(")"),j)}function V(C,O,et){if(G.state.fatArrowAt==G.stream.start){var dt=et?ft:ct;if(C=="(")return k(Jt,Tt(")"),se(Kn,")"),j,rt("=>"),dt,Gt);if(C=="variable")return z(Jt,on,rt("=>"),dt,Gt)}var X=et?ut:ot;return nt.hasOwnProperty(C)?k(X):C=="function"?k(Hn,X):C=="class"||v&&O=="interface"?(G.marked="keyword",k(Tt("form"),Zc,j)):C=="keyword c"||C=="async"?k(et?$:Et):C=="("?k(Tt(")"),J,rt(")"),j,X):C=="operator"||C=="spread"?k(et?$:Et):C=="["?k(Tt("]"),Te,j,X):C=="{"?rn(re,"}",null,X):C=="quasi"?z(St,X):C=="new"?k($t(et)):k()}function J(C){return C.match(/[;\}\)\],]/)?z():z(Et)}function ot(C,O){return C==","?k(J):ut(C,O,!1)}function ut(C,O,et){var dt=et==!1?ot:ut,X=et==!1?Et:$;if(C=="=>")return k(Jt,et?ft:ct,Gt);if(C=="operator")return/\+\+|--/.test(O)||v&&O=="!"?k(dt):v&&O=="<"&&G.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?k(Tt(">"),se(Yt,">"),j,dt):O=="?"?k(Et,rt(":"),X):k(X);if(C=="quasi")return z(St,dt);if(C!=";"){if(C=="(")return rn($,")","call",dt);if(C==".")return k(Kt,dt);if(C=="[")return k(Tt("]"),J,rt("]"),j,dt);if(v&&O=="as")return G.marked="keyword",k(Yt,dt);if(C=="regexp")return G.state.lastType=G.marked="operator",G.stream.backUp(G.stream.pos-G.stream.start-1),k(X)}}function St(C,O){return C!="quasi"?z():O.slice(O.length-2)!="${"?k(St):k(J,mt)}function mt(C){if(C=="}")return G.marked="string-2",G.state.tokenize=K,k(St)}function ct(C){return Y(G.stream,G.state),z(C=="{"?lt:Et)}function ft(C){return Y(G.stream,G.state),z(C=="{"?lt:$)}function $t(C){return function(O){return O=="."?k(C?Dt:Nt):O=="variable"&&v?k(_n,C?ut:ot):z(C?$:Et)}}function Nt(C,O){if(O=="target")return G.marked="keyword",k(ot)}function Dt(C,O){if(O=="target")return G.marked="keyword",k(ut)}function Bt(C){return C==":"?k(j,lt):z(ot,rt(";"),j)}function Kt(C){if(C=="variable")return G.marked="property",k()}function re(C,O){if(C=="async")return G.marked="property",k(re);if(C=="variable"||G.style=="keyword"){if(G.marked="property",O=="get"||O=="set")return k(oe);var et;return v&&G.state.fatArrowAt==G.stream.start&&(et=G.stream.match(/^\s*:\s*/,!1))&&(G.state.fatArrowAt=G.stream.pos+et[0].length),k(fe)}else{if(C=="number"||C=="string")return G.marked=h?"property":G.style+" property",k(fe);if(C=="jsonld-keyword")return k(fe);if(v&&yt(O))return G.marked="keyword",k(re);if(C=="[")return k(Et,wn,rt("]"),fe);if(C=="spread")return k($,fe);if(O=="*")return G.marked="keyword",k(re);if(C==":")return z(fe)}}function oe(C){return C!="variable"?z(fe):(G.marked="property",k(Hn))}function fe(C){if(C==":")return k($);if(C=="(")return z(Hn)}function se(C,O,et){function dt(X,_t){if(et?et.indexOf(X)>-1:X==","){var ce=G.state.lexical;return ce.info=="call"&&(ce.pos=(ce.pos||0)+1),k(function(Fe,sn){return Fe==O||sn==O?z():z(C)},dt)}return X==O||_t==O?k():et&&et.indexOf(";")>-1?z(C):k(rt(O))}return function(X,_t){return X==O||_t==O?k():z(C,dt)}}function rn(C,O,et){for(var dt=3;dt"),Yt);if(C=="quasi")return z(Ke,qn)}function Hl(C){if(C=="=>")return k(Yt)}function Rt(C){return C.match(/[\}\)\]]/)?k():C==","||C==";"?k(Rt):z(Cr,Rt)}function Cr(C,O){if(C=="variable"||G.style=="keyword")return G.marked="property",k(Cr);if(O=="?"||C=="number"||C=="string")return k(Cr);if(C==":")return k(Yt);if(C=="[")return k(rt("variable"),cr,rt("]"),Cr);if(C=="(")return z(Qr,Cr);if(!C.match(/[;\}\)\],]/))return k()}function Ke(C,O){return C!="quasi"?z():O.slice(O.length-2)!="${"?k(Ke):k(Yt,ke)}function ke(C){if(C=="}")return G.marked="string-2",G.state.tokenize=K,k(Ke)}function Ce(C,O){return C=="variable"&&G.stream.match(/^\s*[?:]/,!1)||O=="?"?k(Ce):C==":"?k(Yt):C=="spread"?k(Ce):z(Yt)}function qn(C,O){if(O=="<")return k(Tt(">"),se(Yt,">"),j,qn);if(O=="|"||C=="."||O=="&")return k(Yt);if(C=="[")return k(Yt,rt("]"),qn);if(O=="extends"||O=="implements")return G.marked="keyword",k(Yt);if(O=="?")return k(Yt,rt(":"),Yt)}function _n(C,O){if(O=="<")return k(Tt(">"),se(Yt,">"),j,qn)}function Vn(){return z(Yt,Xe)}function Xe(C,O){if(O=="=")return k(Yt)}function ho(C,O){return O=="enum"?(G.marked="keyword",k(Pt)):z(on,wn,Gn,Yc)}function on(C,O){if(v&&yt(O))return G.marked="keyword",k(on);if(C=="variable")return H(O),k();if(C=="spread")return k(on);if(C=="[")return rn(ws,"]");if(C=="{")return rn(Yr,"}")}function Yr(C,O){return C=="variable"&&!G.stream.match(/^\s*:/,!1)?(H(O),k(Gn)):(C=="variable"&&(G.marked="property"),C=="spread"?k(on):C=="}"?z():C=="["?k(Et,rt("]"),rt(":"),Yr):k(rt(":"),on,Gn))}function ws(){return z(on,Gn)}function Gn(C,O){if(O=="=")return k($)}function Yc(C){if(C==",")return k(ho)}function po(C,O){if(C=="keyword b"&&O=="else")return k(Tt("form","else"),lt,j)}function Bl(C,O){if(O=="await")return k(Bl);if(C=="(")return k(Tt(")"),xs,j)}function xs(C){return C=="var"?k(ho,Zr):C=="variable"?k(Zr):z(Zr)}function Zr(C,O){return C==")"?k():C==";"?k(Zr):O=="in"||O=="of"?(G.marked="keyword",k(Et,Zr)):z(Et,Zr)}function Hn(C,O){if(O=="*")return G.marked="keyword",k(Hn);if(C=="variable")return H(O),k(Hn);if(C=="(")return k(Jt,Tt(")"),se(Kn,")"),j,Ae,lt,Gt);if(v&&O=="<")return k(Tt(">"),se(Vn,">"),j,Hn)}function Qr(C,O){if(O=="*")return G.marked="keyword",k(Qr);if(C=="variable")return H(O),k(Qr);if(C=="(")return k(Jt,Tt(")"),se(Kn,")"),j,Ae,Gt);if(v&&O=="<")return k(Tt(">"),se(Vn,">"),j,Qr)}function Wl(C,O){if(C=="keyword"||C=="variable")return G.marked="type",k(Wl);if(O=="<")return k(Tt(">"),se(Vn,">"),j)}function Kn(C,O){return O=="@"&&k(Et,Kn),C=="spread"?k(Kn):v&&yt(O)?(G.marked="keyword",k(Kn)):v&&C=="this"?k(wn,Gn):z(on,wn,Gn)}function Zc(C,O){return C=="variable"?go(C,O):Xn(C,O)}function go(C,O){if(C=="variable")return H(O),k(Xn)}function Xn(C,O){if(O=="<")return k(Tt(">"),se(Vn,">"),j,Xn);if(O=="extends"||O=="implements"||v&&C==",")return O=="implements"&&(G.marked="keyword"),k(v?Yt:Et,Xn);if(C=="{")return k(Tt("}"),Yn,j)}function Yn(C,O){if(C=="async"||C=="variable"&&(O=="static"||O=="get"||O=="set"||v&&yt(O))&&G.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1))return G.marked="keyword",k(Yn);if(C=="variable"||G.style=="keyword")return G.marked="property",k(Pi,Yn);if(C=="number"||C=="string")return k(Pi,Yn);if(C=="[")return k(Et,wn,rt("]"),Pi,Yn);if(O=="*")return G.marked="keyword",k(Yn);if(v&&C=="(")return z(Qr,Yn);if(C==";"||C==",")return k(Yn);if(C=="}")return k();if(O=="@")return k(Et,Yn)}function Pi(C,O){if(O=="!"||O=="?")return k(Pi);if(C==":")return k(Yt,Gn);if(O=="=")return k($);var et=G.state.lexical.prev,dt=et&&et.info=="interface";return z(dt?Qr:Hn)}function vo(C,O){return O=="*"?(G.marked="keyword",k(bo,rt(";"))):O=="default"?(G.marked="keyword",k(Et,rt(";"))):C=="{"?k(se(mo,"}"),bo,rt(";")):z(lt)}function mo(C,O){if(O=="as")return G.marked="keyword",k(rt("variable"));if(C=="variable")return z($,mo)}function Jr(C){return C=="string"?k():C=="("?z(Et):C=="."?z(ot):z(yo,ur,bo)}function yo(C,O){return C=="{"?rn(yo,"}"):(C=="variable"&&H(O),O=="*"&&(G.marked="keyword"),k(_s))}function ur(C){if(C==",")return k(yo,ur)}function _s(C,O){if(O=="as")return G.marked="keyword",k(yo)}function bo(C,O){if(O=="from")return G.marked="keyword",k(Et)}function Te(C){return C=="]"?k():z(se($,"]"))}function Pt(){return z(Tt("form"),on,rt("{"),Tt("}"),se(Tr,"}"),j,j)}function Tr(){return z(on,Gn)}function Ss(C,O){return C.lastType=="operator"||C.lastType==","||S.test(O.charAt(0))||/[,.]/.test(O.charAt(0))}function On(C,O,et){return O.tokenize==R&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(O.lastType)||O.lastType=="quasi"&&/\{\s*$/.test(C.string.slice(0,C.pos-(et||0)))}return{startState:function(C){var O={tokenize:R,lastType:"sof",cc:[],lexical:new at((C||0)-u,0,"block",!1),localVars:s.localVars,context:s.localVars&&new At(null,null,!1),indented:C||0};return s.globalVars&&typeof s.globalVars=="object"&&(O.globalVars=s.globalVars),O},token:function(C,O){if(C.sol()&&(O.lexical.hasOwnProperty("align")||(O.lexical.align=!1),O.indented=C.indentation(),Y(C,O)),O.tokenize!=B&&C.eatSpace())return null;var et=O.tokenize(C,O);return L=="comment"?et:(O.lastType=L=="operator"&&(T=="++"||T=="--")?"incdec":L,gt(O,et,L,T,C))},indent:function(C,O){if(C.tokenize==B||C.tokenize==K)return r.Pass;if(C.tokenize!=R)return 0;var et=O&&O.charAt(0),dt=C.lexical,X;if(!/^\s*else\b/.test(O))for(var _t=C.cc.length-1;_t>=0;--_t){var ce=C.cc[_t];if(ce==j)dt=dt.prev;else if(ce!=po&&ce!=Gt)break}for(;(dt.type=="stat"||dt.type=="form")&&(et=="}"||(X=C.cc[C.cc.length-1])&&(X==ot||X==ut)&&!/^[,\.=+\-*:?[\(]/.test(O));)dt=dt.prev;f&&dt.type==")"&&dt.prev.type=="stat"&&(dt=dt.prev);var Fe=dt.type,sn=et==Fe;return Fe=="vardef"?dt.indented+(C.lastType=="operator"||C.lastType==","?dt.info.length+1:0):Fe=="form"&&et=="{"?dt.indented:Fe=="form"?dt.indented+u:Fe=="stat"?dt.indented+(Ss(C,O)?f||u:0):dt.info=="switch"&&!sn&&s.doubleIndentSwitch!=!1?dt.indented+(/^(?:case|default)\b/.test(O)?u:2*u):dt.align?dt.column+(sn?0:1):dt.indented+(sn?0:u)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:d?null:"/*",blockCommentEnd:d?null:"*/",blockCommentContinue:d?null:" * ",lineComment:d?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:d?"json":"javascript",jsonldMode:h,jsonMode:d,expressionAllowed:On,skipExpression:function(C){gt(C,"atom","atom","true",new r.StringStream("",2,null))}}}),r.registerHelper("wordChars","javascript",/[\w$]/),r.defineMIME("text/javascript","javascript"),r.defineMIME("text/ecmascript","javascript"),r.defineMIME("application/javascript","javascript"),r.defineMIME("application/x-javascript","javascript"),r.defineMIME("application/ecmascript","javascript"),r.defineMIME("application/json",{name:"javascript",json:!0}),r.defineMIME("application/x-json",{name:"javascript",json:!0}),r.defineMIME("application/manifest+json",{name:"javascript",json:!0}),r.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),r.defineMIME("text/typescript",{name:"javascript",typescript:!0}),r.defineMIME("application/typescript",{name:"javascript",typescript:!0})})})();var Dat=Oat.exports,$at={exports:{}};(function(t,e){(function(r){r(ys)})(function(r){var o={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},s={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};r.defineMode("xml",function(u,f){var h=u.indentUnit,d={},g=f.htmlMode?o:s;for(var v in g)d[v]=g[v];for(var v in f)d[v]=f[v];var b,w;function S(k,F){function H(At){return F.tokenize=At,At(k,F)}var Q=k.next();if(Q=="<")return k.eat("!")?k.eat("[")?k.match("CDATA[")?H(L("atom","]]>")):null:k.match("--")?H(L("comment","-->")):k.match("DOCTYPE",!0,!0)?(k.eatWhile(/[\w\._\-]/),H(T(1))):null:k.eat("?")?(k.eatWhile(/[\w\._\-]/),F.tokenize=L("meta","?>"),"meta"):(b=k.eat("/")?"closeTag":"openTag",F.tokenize=P,"tag bracket");if(Q=="&"){var yt;return k.eat("#")?k.eat("x")?yt=k.eatWhile(/[a-fA-F\d]/)&&k.eat(";"):yt=k.eatWhile(/[\d]/)&&k.eat(";"):yt=k.eatWhile(/[\w\.\-:]/)&&k.eat(";"),yt?"atom":"error"}else return k.eatWhile(/[^&<]/),null}S.isInText=!0;function P(k,F){var H=k.next();if(H==">"||H=="/"&&k.eat(">"))return F.tokenize=S,b=H==">"?"endTag":"selfcloseTag","tag bracket";if(H=="=")return b="equals",null;if(H=="<"){F.tokenize=S,F.state=K,F.tagName=F.tagStart=null;var Q=F.tokenize(k,F);return Q?Q+" tag error":"tag error"}else return/[\'\"]/.test(H)?(F.tokenize=A(H),F.stringStartCol=k.column(),F.tokenize(k,F)):(k.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function A(k){var F=function(H,Q){for(;!H.eol();)if(H.next()==k){Q.tokenize=P;break}return"string"};return F.isInAttribute=!0,F}function L(k,F){return function(H,Q){for(;!H.eol();){if(H.match(F)){Q.tokenize=S;break}H.next()}return k}}function T(k){return function(F,H){for(var Q;(Q=F.next())!=null;){if(Q=="<")return H.tokenize=T(k+1),H.tokenize(F,H);if(Q==">")if(k==1){H.tokenize=S;break}else return H.tokenize=T(k-1),H.tokenize(F,H)}return"meta"}}function M(k){return k&&k.toLowerCase()}function R(k,F,H){this.prev=k.context,this.tagName=F||"",this.indent=k.indented,this.startOfLine=H,(d.doNotIndent.hasOwnProperty(F)||k.context&&k.context.noIndent)&&(this.noIndent=!0)}function E(k){k.context&&(k.context=k.context.prev)}function B(k,F){for(var H;;){if(!k.context||(H=k.context.tagName,!d.contextGrabbers.hasOwnProperty(M(H))||!d.contextGrabbers[M(H)].hasOwnProperty(M(F))))return;E(k)}}function K(k,F,H){return k=="openTag"?(H.tagStart=F.column(),ht):k=="closeTag"?Y:K}function ht(k,F,H){return k=="word"?(H.tagName=F.current(),w="tag",pt):d.allowMissingTagName&&k=="endTag"?(w="tag bracket",pt(k,F,H)):(w="error",ht)}function Y(k,F,H){if(k=="word"){var Q=F.current();return H.context&&H.context.tagName!=Q&&d.implicitlyClosed.hasOwnProperty(M(H.context.tagName))&&E(H),H.context&&H.context.tagName==Q||d.matchClosing===!1?(w="tag",nt):(w="tag error",at)}else return d.allowMissingTagName&&k=="endTag"?(w="tag bracket",nt(k,F,H)):(w="error",at)}function nt(k,F,H){return k!="endTag"?(w="error",nt):(E(H),K)}function at(k,F,H){return w="error",nt(k,F,H)}function pt(k,F,H){if(k=="word")return w="attribute",gt;if(k=="endTag"||k=="selfcloseTag"){var Q=H.tagName,yt=H.tagStart;return H.tagName=H.tagStart=null,k=="selfcloseTag"||d.autoSelfClosers.hasOwnProperty(M(Q))?B(H,Q):(B(H,Q),H.context=new R(H,Q,yt==H.indented)),K}return w="error",pt}function gt(k,F,H){return k=="equals"?G:(d.allowMissing||(w="error"),pt(k,F,H))}function G(k,F,H){return k=="string"?z:k=="word"&&d.allowUnquoted?(w="string",pt):(w="error",pt(k,F,H))}function z(k,F,H){return k=="string"?z:pt(k,F,H)}return{startState:function(k){var F={tokenize:S,state:K,indented:k||0,tagName:null,tagStart:null,context:null};return k!=null&&(F.baseIndent=k),F},token:function(k,F){if(!F.tagName&&k.sol()&&(F.indented=k.indentation()),k.eatSpace())return null;b=null;var H=F.tokenize(k,F);return(H||b)&&H!="comment"&&(w=null,F.state=F.state(b||H,k,F),w&&(H=w=="error"?H+" error":w)),H},indent:function(k,F,H){var Q=k.context;if(k.tokenize.isInAttribute)return k.tagStart==k.indented?k.stringStartCol+1:k.indented+h;if(Q&&Q.noIndent)return r.Pass;if(k.tokenize!=P&&k.tokenize!=S)return H?H.match(/^(\s*)/)[0].length:0;if(k.tagName)return d.multilineTagIndentPastTag!==!1?k.tagStart+k.tagName.length+2:k.tagStart+h*(d.multilineTagIndentFactor||1);if(d.alignCDATA&&/$/,blockCommentStart:"",configuration:d.htmlMode?"html":"xml",helperType:d.htmlMode?"html":"xml",skipAttribute:function(k){k.state==G&&(k.state=pt)},xmlCurrentTag:function(k){return k.tagName?{name:k.tagName,close:k.type=="closeTag"}:null},xmlCurrentContext:function(k){for(var F=[],H=k.context;H;H=H.prev)F.push(H.tagName);return F.reverse()}}}),r.defineMIME("text/xml","xml"),r.defineMIME("application/xml","xml"),r.mimeModes.hasOwnProperty("text/html")||r.defineMIME("text/html",{name:"xml",htmlMode:!0})})})();var Rat=$at.exports;(function(t,e){(function(r){r(ys,Rat,Dat)})(function(r){function o(u,f,h,d){this.state=u,this.mode=f,this.depth=h,this.prev=d}function s(u){return new o(r.copyState(u.mode,u.state),u.mode,u.depth,u.prev&&s(u.prev))}r.defineMode("jsx",function(u,f){var h=r.getMode(u,{name:"xml",allowMissing:!0,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),d=r.getMode(u,f&&f.base||"javascript");function g(S){var P=S.tagName;S.tagName=null;var A=h.indent(S,"","");return S.tagName=P,A}function v(S,P){return P.context.mode==h?b(S,P,P.context):w(S,P,P.context)}function b(S,P,A){if(A.depth==2)return S.match(/^.*?\*\//)?A.depth=1:S.skipToEnd(),"comment";if(S.peek()=="{"){h.skipAttribute(A.state);var L=g(A.state),T=A.state.context;if(T&&S.match(/^[^>]*>\s*$/,!1)){for(;T.prev&&!T.startOfLine;)T=T.prev;T.startOfLine?L-=u.indentUnit:A.prev.state.lexical&&(L=A.prev.state.lexical.indented)}else A.depth==1&&(L+=u.indentUnit);return P.context=new o(r.startState(d,L),d,0,P.context),null}if(A.depth==1){if(S.peek()=="<")return h.skipAttribute(A.state),P.context=new o(r.startState(h,g(A.state)),h,0,P.context),null;if(S.match("//"))return S.skipToEnd(),"comment";if(S.match("/*"))return A.depth=2,v(S,P)}var M=h.token(S,A.state),R=S.current(),E;return/\btag\b/.test(M)?/>$/.test(R)?A.state.context?A.depth=0:P.context=P.context.prev:/^-1&&S.backUp(R.length-E),M}function w(S,P,A){if(S.peek()=="<"&&!S.match(/^<([^<>]|<[^>]*>)+,\s*>/,!1)&&d.expressionAllowed(S,A.state))return P.context=new o(r.startState(h,d.indent(A.state,"","")),h,0,P.context),d.skipExpression(A.state),null;var L=d.token(S,A.state);if(!L&&A.depth!=null){var T=S.current();T=="{"?A.depth++:T=="}"&&--A.depth==0&&(P.context=P.context.prev)}return L}return{startState:function(){return{context:new o(r.startState(d),d)}},copyState:function(S){return{context:s(S.context)}},token:v,indent:function(S,P,A){return S.context.mode.indent(S.context.state,P,A)},innerMode:function(S){return S.context}}},"xml","javascript"),r.defineMIME("text/jsx","jsx"),r.defineMIME("text/typescript-jsx",{name:"jsx",base:{name:"javascript",typescript:!0}})})})();(function(t,e){(function(r){r(ys)})(function(r){r.defineOption("placeholder","",function(g,v,b){var w=b&&b!=r.Init;if(v&&!w)g.on("blur",f),g.on("change",h),g.on("swapDoc",h),r.on(g.getInputField(),"compositionupdate",g.state.placeholderCompose=function(){u(g)}),h(g);else if(!v&&w){g.off("blur",f),g.off("change",h),g.off("swapDoc",h),r.off(g.getInputField(),"compositionupdate",g.state.placeholderCompose),o(g);var S=g.getWrapperElement();S.className=S.className.replace(" CodeMirror-empty","")}v&&!g.hasFocus()&&f(g)});function o(g){g.state.placeholder&&(g.state.placeholder.parentNode.removeChild(g.state.placeholder),g.state.placeholder=null)}function s(g){o(g);var v=g.state.placeholder=document.createElement("pre");v.style.cssText="height: 0; overflow: visible",v.style.direction=g.getOption("direction"),v.className="CodeMirror-placeholder CodeMirror-line-like";var b=g.getOption("placeholder");typeof b=="string"&&(b=document.createTextNode(b)),v.appendChild(b),g.display.lineSpace.insertBefore(v,g.display.lineSpace.firstChild)}function u(g){setTimeout(function(){var v=!1;if(g.lineCount()==1){var b=g.getInputField();v=b.nodeName=="TEXTAREA"?!g.getLine(0).length:!/[^\u200b]/.test(b.querySelector(".CodeMirror-line").textContent)}v?s(g):o(g)},20)}function f(g){d(g)&&s(g)}function h(g){var v=g.getWrapperElement(),b=d(g);v.className=v.className.replace(" CodeMirror-empty","")+(b?" CodeMirror-empty":""),b?s(g):o(g)}function d(g){return g.lineCount()===1&&g.getLine(0)===""}})})();(function(t,e){(function(r){r(ys)})(function(r){function o(f,h,d){this.orientation=h,this.scroll=d,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=f+"-"+h,this.inner=this.node.appendChild(document.createElement("div"));var g=this;r.on(this.inner,"mousedown",function(b){if(b.which!=1)return;r.e_preventDefault(b);var w=g.orientation=="horizontal"?"pageX":"pageY",S=b[w],P=g.pos;function A(){r.off(document,"mousemove",L),r.off(document,"mouseup",A)}function L(T){if(T.which!=1)return A();g.moveTo(P+(T[w]-S)*(g.total/g.size))}r.on(document,"mousemove",L),r.on(document,"mouseup",A)}),r.on(this.node,"click",function(b){r.e_preventDefault(b);var w=g.inner.getBoundingClientRect(),S;g.orientation=="horizontal"?S=b.clientXw.right?1:0:S=b.clientYw.bottom?1:0,g.moveTo(g.pos+S*g.screen)});function v(b){var w=r.wheelEventPixels(b)[g.orientation=="horizontal"?"x":"y"],S=g.pos;g.moveTo(g.pos+w),g.pos!=S&&r.e_preventDefault(b)}r.on(this.node,"mousewheel",v),r.on(this.node,"DOMMouseScroll",v)}o.prototype.setPos=function(f,h){return f<0&&(f=0),f>this.total-this.screen&&(f=this.total-this.screen),!h&&f==this.pos?!1:(this.pos=f,this.inner.style[this.orientation=="horizontal"?"left":"top"]=f*(this.size/this.total)+"px",!0)},o.prototype.moveTo=function(f){this.setPos(f)&&this.scroll(f,this.orientation)};var s=10;o.prototype.update=function(f,h,d){var g=this.screen!=h||this.total!=f||this.size!=d;g&&(this.screen=h,this.total=f,this.size=d);var v=this.screen*(this.size/this.total);vf.clientWidth+1,v=f.scrollHeight>f.clientHeight+1;return this.vert.node.style.display=v?"block":"none",this.horiz.node.style.display=g?"block":"none",v&&(this.vert.update(f.scrollHeight,f.clientHeight,f.viewHeight-(g?d:0)),this.vert.node.style.bottom=g?d+"px":"0"),g&&(this.horiz.update(f.scrollWidth,f.clientWidth,f.viewWidth-(v?d:0)-f.barLeft),this.horiz.node.style.right=v?d+"px":"0",this.horiz.node.style.left=f.barLeft+"px"),{right:v?d:0,bottom:g?d:0}},u.prototype.setScrollTop=function(f){this.vert.setPos(f)},u.prototype.setScrollLeft=function(f){this.horiz.setPos(f)},u.prototype.clear=function(){var f=this.horiz.node.parentNode;f.removeChild(this.horiz.node),f.removeChild(this.vert.node)},r.scrollbarModel.simple=function(f,h){return new u("CodeMirror-simplescroll",f,h)},r.scrollbarModel.overlay=function(f,h){return new u("CodeMirror-overlayscroll",f,h)}})})();function zat(t,e,r={}){const o=Pat.fromTextArea(t.value,{theme:"vars",...r,scrollbarStyle:"simple"});let s=!1;return o.on("change",()=>{if(s){s=!1;return}e.value=o.getValue()}),Re(e,u=>{if(u!==o.getValue()){s=!0;const f=o.listSelections();o.replaceRange(u,o.posFromIndex(0),o.posFromIndex(Number.POSITIVE_INFINITY)),o.setSelections(f)}},{immediate:!0}),vh(o)}const Iat={relative:"","font-mono":"","text-sm":"",class:"codemirror-scrolls"},ob=ie({__name:"CodeMirror",props:Cf({mode:{},readOnly:{type:Boolean}},{modelValue:{}}),emits:Cf(["save"],["update:modelValue"]),setup(t,{expose:e,emit:r}){const o=r,s=s0(t,"modelValue"),u=w_(),f={js:"javascript",mjs:"javascript",cjs:"javascript",ts:{name:"javascript",typescript:!0},mts:{name:"javascript",typescript:!0},cts:{name:"javascript",typescript:!0},jsx:{name:"javascript",jsx:!0},tsx:{name:"javascript",typescript:!0,jsx:!0}},h=Zt(),d=vs();return e({cm:d}),ms(async()=>{d.value=zat(h,s,{...u,mode:f[t.mode||""]||t.mode,readOnly:t.readOnly?!0:void 0,extraKeys:{"Cmd-S":function(g){o("save",g.getValue())},"Ctrl-S":function(g){o("save",g.getValue())}}}),d.value.setSize("100%","100%"),d.value.clearHistory(),setTimeout(()=>d.value.refresh(),100)}),(g,v)=>(st(),kt("div",Iat,[tt("textarea",{ref_key:"el",ref:h},null,512)]))}}),Fat=ie({__name:"ViewEditor",props:{file:{}},emits:["draft"],setup(t,{emit:e}){const r=t,o=e,s=Zt(""),u=vs(void 0),f=Zt(!1);Re(()=>r.file,async()=>{var R;if(!r.file||!((R=r.file)!=null&&R.filepath)){s.value="",u.value=s.value,f.value=!1;return}s.value=await je.rpc.readTestFile(r.file.filepath)||"",u.value=s.value,f.value=!1},{immediate:!0});const h=xt(()=>{var R,E;return((E=(R=r.file)==null?void 0:R.filepath)==null?void 0:E.split(/\./g).pop())||"js"}),d=Zt(),g=xt(()=>{var R;return(R=d.value)==null?void 0:R.cm}),v=xt(()=>{var R;return((R=r.file)==null?void 0:R.tasks.filter(E=>{var B;return((B=E.result)==null?void 0:B.state)==="fail"}))||[]}),b=[],w=[],S=[],P=Zt(!1);function A(){S.forEach(([R,E,B])=>{R.removeEventListener("click",E),B()}),S.length=0}Plt(d,()=>{var R;(R=g.value)==null||R.refresh()});function L(){f.value=u.value!==g.value.getValue()}Re(f,R=>{o("draft",R)},{immediate:!0});function T(R){const E=((R==null?void 0:R.stacks)||[]).filter(at=>{var pt;return at.file&&at.file===((pt=r.file)==null?void 0:pt.filepath)}),B=E==null?void 0:E[0];if(!B)return;const K=document.createElement("div");K.className="op80 flex gap-x-2 items-center";const ht=document.createElement("pre");ht.className="c-red-600 dark:c-red-400",ht.textContent=`${" ".repeat(B.column)}^ ${(R==null?void 0:R.nameStr)||R.name}: ${(R==null?void 0:R.message)||""}`,K.appendChild(ht);const Y=document.createElement("span");Y.className="i-carbon-launch c-red-600 dark:c-red-400 hover:cursor-pointer min-w-1em min-h-1em",Y.tabIndex=0,Y.ariaLabel="Open in Editor",Y0(Y,{content:"Open in Editor",placement:"bottom"},!1);const nt=async()=>{await $y(B.file,B.line,B.column)};K.appendChild(Y),S.push([Y,nt,()=>qh(Y)]),w.push(g.value.addLineClass(B.line-1,"wrap","bg-red-500/10")),b.push(g.value.addLineWidget(B.line-1,K))}Re([g,v],([R])=>{if(!R){A();return}setTimeout(()=>{A(),b.forEach(E=>E.clear()),w.forEach(E=>{var B;return(B=g.value)==null?void 0:B.removeLineClass(E,"wrap")}),b.length=0,w.length=0,R.on("changes",L),v.value.forEach(E=>{var B,K;(K=(B=E.result)==null?void 0:B.errors)==null||K.forEach(T)}),P.value||R.clearHistory()},100)},{flush:"post"});async function M(R){P.value=!0,await je.rpc.saveTestFile(r.file.filepath,R),u.value=R,f.value=!1}return(R,E)=>{const B=ob;return st(),te(B,Ci({ref_key:"editor",ref:d,modelValue:U(s),"onUpdate:modelValue":E[0]||(E[0]=K=>Le(s)?s.value=K:null),"h-full":""},{lineNumbers:!0},{mode:U(h),"data-testid":"code-mirror",onSave:M}),null,16,["modelValue","mode"])}}}),qat=ie({__name:"Modal",props:Cf({direction:{default:"bottom"}},{modelValue:{type:Boolean,default:!1}}),emits:["update:modelValue"],setup(t){const e=s0(t,"modelValue"),r=xt(()=>{switch(t.direction){case"bottom":return"bottom-0 left-0 right-0 border-t";case"top":return"top-0 left-0 right-0 border-b";case"left":return"bottom-0 left-0 top-0 border-r";case"right":return"bottom-0 top-0 right-0 border-l";default:return""}}),o=xt(()=>{switch(t.direction){case"bottom":return"translateY(100%)";case"top":return"translateY(-100%)";case"left":return"translateX(-100%)";case"right":return"translateX(100%)";default:return""}}),s=()=>e.value=!1;return(u,f)=>(st(),kt("div",{class:ve(["fixed inset-0 z-40",e.value?"":"pointer-events-none"])},[tt("div",{class:ve(["bg-base inset-0 absolute transition-opacity duration-500 ease-out",e.value?"opacity-50":"opacity-0"]),onClick:s},null,2),tt("div",{class:ve(["bg-base border-base absolute transition-all duration-200 ease-out scrolls",[U(r)]]),style:An(e.value?{}:{transform:U(o)})},[sr(u.$slots,"default")],6)],2))}}),Hat=["aria-label","opacity","disabled","hover"],bs=ie({__name:"IconButton",props:{icon:{},title:{},disabled:{type:Boolean}},setup(t){return(e,r)=>(st(),kt("button",{"aria-label":e.title,role:"button",opacity:e.disabled?10:70,rounded:"",disabled:e.disabled,hover:e.disabled?"":"bg-active op100",class:"w-1.4em h-1.4em flex"},[sr(e.$slots,"default",{},()=>[tt("div",{class:ve(e.icon),ma:""},null,2)])],8,Hat))}}),Bat={"w-350":"","max-w-screen":"","h-full":"",flex:"","flex-col":""},Wat={"p-4":"",relative:""},Uat=tt("p",null,"Module Info",-1),jat={op50:"","font-mono":"","text-sm":""},Vat={key:0,"p-5":""},Gat={grid:"~ cols-2 rows-[min-content_auto]","overflow-hidden":"","flex-auto":""},Kat=tt("div",{p:"x3 y-1","bg-overlay":"",border:"base b t r"}," Source ",-1),Xat=tt("div",{p:"x3 y-1","bg-overlay":"",border:"base b t"}," Transformed ",-1),Yat={key:0},Zat={p:"x3 y-1","bg-overlay":"",border:"base b t"},Qat=ie({__name:"ModuleTransformResultView",props:{id:{}},emits:["close"],setup(t,{emit:e}){const r=t,o=e,s=wlt(()=>je.rpc.getTransformResult(r.id)),u=xt(()=>{var g;return((g=r.id)==null?void 0:g.split(/\./g).pop())||"js"}),f=xt(()=>{var g,v;return((v=(g=s.value)==null?void 0:g.source)==null?void 0:v.trim())||""}),h=xt(()=>{var g,v;return((v=(g=s.value)==null?void 0:g.code)==null?void 0:v.replace(/\/\/# sourceMappingURL=.*\n/,"").trim())||""}),d=xt(()=>{var g,v,b,w;return{mappings:((v=(g=s.value)==null?void 0:g.map)==null?void 0:v.mappings)??"",version:(w=(b=s.value)==null?void 0:b.map)==null?void 0:w.version}});return _lt("Escape",()=>{o("close")}),(g,v)=>{const b=bs,w=ob;return st(),kt("div",Bat,[tt("div",Wat,[Uat,tt("p",jat,Ut(g.id),1),Ft(b,{icon:"i-carbon-close",absolute:"","top-5px":"","right-5px":"","text-2xl":"",onClick:v[0]||(v[0]=S=>o("close"))})]),U(s)?(st(),kt(ne,{key:1},[tt("div",Gat,[Kat,Xat,Ft(w,Ci({"h-full":"","model-value":U(f),"read-only":""},{lineNumbers:!0},{mode:U(u)}),null,16,["model-value","mode"]),Ft(w,Ci({"h-full":"","model-value":U(h),"read-only":""},{lineNumbers:!0},{mode:U(u)}),null,16,["model-value","mode"])]),U(d).mappings!==""?(st(),kt("div",Yat,[tt("div",Zat," Source map (v"+Ut(U(d).version)+") ",1),Ft(w,Ci({"model-value":U(d).mappings,"read-only":""},{lineNumbers:!0},{mode:U(u)}),null,16,["model-value","mode"])])):Vt("",!0)],64)):(st(),kt("div",Vat," No transform result found for this module. "))])}}});function Jat(t,e){let r;return(...o)=>{r!==void 0&&clearTimeout(r),r=setTimeout(()=>t(...o),e)}}var Xf="http://www.w3.org/1999/xhtml";const Yv={svg:"http://www.w3.org/2000/svg",xhtml:Xf,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Gc(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),Yv.hasOwnProperty(e)?{space:Yv[e],local:t}:t}function tct(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===Xf&&e.documentElement.namespaceURI===Xf?e.createElement(t):e.createElementNS(r,t)}}function ect(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function sb(t){var e=Gc(t);return(e.local?ect:tct)(e)}function nct(){}function Zh(t){return t==null?nct:function(){return this.querySelector(t)}}function rct(t){typeof t!="function"&&(t=Zh(t));for(var e=this._groups,r=e.length,o=new Array(r),s=0;s=R&&(R=M+1);!(B=L[R])&&++R=0;)(f=o[s])&&(u&&f.compareDocumentPosition(u)^4&&u.parentNode.insertBefore(f,u),u=f);return this}function Lct(t){t||(t=Act);function e(b,w){return b&&w?t(b.__data__,w.__data__):!b-!w}for(var r=this._groups,o=r.length,s=new Array(o),u=0;ue?1:t>=e?0:NaN}function Mct(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Nct(){return Array.from(this)}function Pct(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?Wct:typeof e=="function"?jct:Uct)(t,e,r??"")):hs(this.node(),t)}function hs(t,e){return t.style.getPropertyValue(e)||fb(t).getComputedStyle(t,null).getPropertyValue(e)}function Gct(t){return function(){delete this[t]}}function Kct(t,e){return function(){this[t]=e}}function Xct(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function Yct(t,e){return arguments.length>1?this.each((e==null?Gct:typeof e=="function"?Xct:Kct)(t,e)):this.node()[t]}function hb(t){return t.trim().split(/^|\s+/)}function Qh(t){return t.classList||new db(t)}function db(t){this._node=t,this._names=hb(t.getAttribute("class")||"")}db.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function pb(t,e){for(var r=Qh(t),o=-1,s=e.length;++o=0&&(r=e.slice(o+1),e=e.slice(0,o)),{type:e,name:r}})}function kut(t){return function(){var e=this.__on;if(e){for(var r=0,o=-1,s=e.length,u;r{}};function Fl(){for(var t=0,e=arguments.length,r={},o;t=0&&(o=r.slice(s+1),r=r.slice(0,s)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:o}})}Ga.prototype=Fl.prototype={constructor:Ga,on:function(t,e){var r=this._,o=Dut(t+"",r),s,u=-1,f=o.length;if(arguments.length<2){for(;++u0)for(var r=new Array(s),o=0,s,u;o()=>t;function Yf(t,{sourceEvent:e,subject:r,target:o,identifier:s,active:u,x:f,y:h,dx:d,dy:g,dispatch:v}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:u,enumerable:!0,configurable:!0},x:{value:f,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:g,enumerable:!0,configurable:!0},_:{value:v}})}Yf.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function zut(t){return!t.ctrlKey&&!t.button}function Iut(){return this.parentNode}function Fut(t,e){return e??{x:t.x,y:t.y}}function qut(){return navigator.maxTouchPoints||"ontouchstart"in this}function Hut(){var t=zut,e=Iut,r=Fut,o=qut,s={},u=Fl("start","drag","end"),f=0,h,d,g,v,b=0;function w(E){E.on("mousedown.drag",S).filter(o).on("touchstart.drag",L).on("touchmove.drag",T,Rut).on("touchend.drag touchcancel.drag",M).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(E,B){if(!(v||!t.call(this,E,B))){var K=R(this,e.call(this,E,B),E,B,"mouse");K&&(En(E.view).on("mousemove.drag",P,Cl).on("mouseup.drag",A,Cl),yb(E.view),uf(E),g=!1,h=E.clientX,d=E.clientY,K("start",E))}}function P(E){if(Jo(E),!g){var B=E.clientX-h,K=E.clientY-d;g=B*B+K*K>b}s.mouse("drag",E)}function A(E){En(E.view).on("mousemove.drag mouseup.drag",null),bb(E.view,g),Jo(E),s.mouse("end",E)}function L(E,B){if(t.call(this,E,B)){var K=E.changedTouches,ht=e.call(this,E,B),Y=K.length,nt,at;for(nt=0;nt>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Oa(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Oa(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Wut.exec(t))?new Ln(e[1],e[2],e[3],1):(e=Uut.exec(t))?new Ln(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=jut.exec(t))?Oa(e[1],e[2],e[3],e[4]):(e=Vut.exec(t))?Oa(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Gut.exec(t))?im(e[1],e[2]/100,e[3]/100,1):(e=Kut.exec(t))?im(e[1],e[2]/100,e[3]/100,e[4]):Qv.hasOwnProperty(t)?em(Qv[t]):t==="transparent"?new Ln(NaN,NaN,NaN,0):null}function em(t){return new Ln(t>>16&255,t>>8&255,t&255,1)}function Oa(t,e,r,o){return o<=0&&(t=e=r=NaN),new Ln(t,e,r,o)}function Zut(t){return t instanceof ql||(t=Ll(t)),t?(t=t.rgb(),new Ln(t.r,t.g,t.b,t.opacity)):new Ln}function Zf(t,e,r,o){return arguments.length===1?Zut(t):new Ln(t,e,r,o??1)}function Ln(t,e,r,o){this.r=+t,this.g=+e,this.b=+r,this.opacity=+o}Jh(Ln,Zf,wb(ql,{brighter(t){return t=t==null?vc:Math.pow(vc,t),new Ln(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Tl:Math.pow(Tl,t),new Ln(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ln(no(this.r),no(this.g),no(this.b),mc(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:nm,formatHex:nm,formatHex8:Qut,formatRgb:rm,toString:rm}));function nm(){return`#${Qi(this.r)}${Qi(this.g)}${Qi(this.b)}`}function Qut(){return`#${Qi(this.r)}${Qi(this.g)}${Qi(this.b)}${Qi((isNaN(this.opacity)?1:this.opacity)*255)}`}function rm(){const t=mc(this.opacity);return`${t===1?"rgb(":"rgba("}${no(this.r)}, ${no(this.g)}, ${no(this.b)}${t===1?")":`, ${t})`}`}function mc(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function no(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Qi(t){return t=no(t),(t<16?"0":"")+t.toString(16)}function im(t,e,r,o){return o<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new or(t,e,r,o)}function xb(t){if(t instanceof or)return new or(t.h,t.s,t.l,t.opacity);if(t instanceof ql||(t=Ll(t)),!t)return new or;if(t instanceof or)return t;t=t.rgb();var e=t.r/255,r=t.g/255,o=t.b/255,s=Math.min(e,r,o),u=Math.max(e,r,o),f=NaN,h=u-s,d=(u+s)/2;return h?(e===u?f=(r-o)/h+(r0&&d<1?0:f,new or(f,h,d,t.opacity)}function Jut(t,e,r,o){return arguments.length===1?xb(t):new or(t,e,r,o??1)}function or(t,e,r,o){this.h=+t,this.s=+e,this.l=+r,this.opacity=+o}Jh(or,Jut,wb(ql,{brighter(t){return t=t==null?vc:Math.pow(vc,t),new or(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Tl:Math.pow(Tl,t),new or(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,o=r+(r<.5?r:1-r)*e,s=2*r-o;return new Ln(ff(t>=240?t-240:t+120,s,o),ff(t,s,o),ff(t<120?t+240:t-120,s,o),this.opacity)},clamp(){return new or(om(this.h),Da(this.s),Da(this.l),mc(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=mc(this.opacity);return`${t===1?"hsl(":"hsla("}${om(this.h)}, ${Da(this.s)*100}%, ${Da(this.l)*100}%${t===1?")":`, ${t})`}`}}));function om(t){return t=(t||0)%360,t<0?t+360:t}function Da(t){return Math.max(0,Math.min(1,t||0))}function ff(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const _b=t=>()=>t;function tft(t,e){return function(r){return t+r*e}}function eft(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(o){return Math.pow(t+o*e,r)}}function nft(t){return(t=+t)==1?Sb:function(e,r){return r-e?eft(e,r,t):_b(isNaN(e)?r:e)}}function Sb(t,e){var r=e-t;return r?tft(t,r):_b(isNaN(t)?e:t)}const sm=function t(e){var r=nft(e);function o(s,u){var f=r((s=Zf(s)).r,(u=Zf(u)).r),h=r(s.g,u.g),d=r(s.b,u.b),g=Sb(s.opacity,u.opacity);return function(v){return s.r=f(v),s.g=h(v),s.b=d(v),s.opacity=g(v),s+""}}return o.gamma=t,o}(1);function bi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var Qf=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,hf=new RegExp(Qf.source,"g");function rft(t){return function(){return t}}function ift(t){return function(e){return t(e)+""}}function oft(t,e){var r=Qf.lastIndex=hf.lastIndex=0,o,s,u,f=-1,h=[],d=[];for(t=t+"",e=e+"";(o=Qf.exec(t))&&(s=hf.exec(e));)(u=s.index)>r&&(u=e.slice(r,u),h[f]?h[f]+=u:h[++f]=u),(o=o[0])===(s=s[0])?h[f]?h[f]+=s:h[++f]=s:(h[++f]=null,d.push({i:f,x:bi(o,s)})),r=hf.lastIndex;return r180?v+=360:v-g>180&&(g+=360),w.push({i:b.push(s(b)+"rotate(",null,o)-2,x:bi(g,v)})):v&&b.push(s(b)+"rotate("+v+o)}function h(g,v,b,w){g!==v?w.push({i:b.push(s(b)+"skewX(",null,o)-2,x:bi(g,v)}):v&&b.push(s(b)+"skewX("+v+o)}function d(g,v,b,w,S,P){if(g!==b||v!==w){var A=S.push(s(S)+"scale(",null,",",null,")");P.push({i:A-4,x:bi(g,b)},{i:A-2,x:bi(v,w)})}else(b!==1||w!==1)&&S.push(s(S)+"scale("+b+","+w+")")}return function(g,v){var b=[],w=[];return g=t(g),v=t(v),u(g.translateX,g.translateY,v.translateX,v.translateY,b,w),f(g.rotate,v.rotate,b,w),h(g.skewX,v.skewX,b,w),d(g.scaleX,g.scaleY,v.scaleX,v.scaleY,b,w),g=v=null,function(S){for(var P=-1,A=w.length,L;++P=0&&t._call.call(void 0,e),t=t._next;--ds}function cm(){lo=(bc=Al.now())+Kc,ds=ol=0;try{gft()}finally{ds=0,mft(),lo=0}}function vft(){var t=Al.now(),e=t-bc;e>Tb&&(Kc-=e,bc=t)}function mft(){for(var t,e=yc,r,o=1/0;e;)e._call?(o>e._time&&(o=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:yc=r);sl=t,th(o)}function th(t){if(!ds){ol&&(ol=clearTimeout(ol));var e=t-lo;e>24?(t<1/0&&(ol=setTimeout(cm,t-Al.now()-Kc)),el&&(el=clearInterval(el))):(el||(bc=Al.now(),el=setInterval(vft,Tb)),ds=1,Eb(cm))}}function um(t,e,r){var o=new wc;return e=e==null?0:+e,o.restart(s=>{o.stop(),t(s+e)},e,r),o}var yft=Fl("start","end","cancel","interrupt"),bft=[],Lb=0,fm=1,eh=2,Ka=3,hm=4,nh=5,Xa=6;function Xc(t,e,r,o,s,u){var f=t.__transition;if(!f)t.__transition={};else if(r in f)return;wft(t,r,{name:e,index:o,group:s,on:yft,tween:bft,time:u.time,delay:u.delay,duration:u.duration,ease:u.ease,timer:null,state:Lb})}function nd(t,e){var r=ar(t,e);if(r.state>Lb)throw new Error("too late; already scheduled");return r}function kr(t,e){var r=ar(t,e);if(r.state>Ka)throw new Error("too late; already running");return r}function ar(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function wft(t,e,r){var o=t.__transition,s;o[e]=r,r.timer=ed(u,0,r.time);function u(g){r.state=fm,r.timer.restart(f,r.delay,r.time),r.delay<=g&&f(g-r.delay)}function f(g){var v,b,w,S;if(r.state!==fm)return d();for(v in o)if(S=o[v],S.name===r.name){if(S.state===Ka)return um(f);S.state===hm?(S.state=Xa,S.timer.stop(),S.on.call("interrupt",t,t.__data__,S.index,S.group),delete o[v]):+veh&&o.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function Yft(t,e,r){var o,s,u=Xft(e)?nd:kr;return function(){var f=u(this,t),h=f.on;h!==o&&(s=(o=h).copy()).on(e,r),f.on=s}}function Zft(t,e){var r=this._id;return arguments.length<2?ar(this.node(),r).on.on(t):this.each(Yft(r,t,e))}function Qft(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function Jft(){return this.on("end.remove",Qft(this._id))}function tht(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Zh(t));for(var o=this._groups,s=o.length,u=new Array(s),f=0;f()=>t;function Cht(t,{sourceEvent:e,target:r,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function Ir(t,e,r){this.k=t,this.x=e,this.y=r}Ir.prototype={constructor:Ir,scale:function(t){return t===1?this:new Ir(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Ir(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var id=new Ir(1,0,0);Ir.prototype;function df(t){t.stopImmediatePropagation()}function nl(t){t.preventDefault(),t.stopImmediatePropagation()}function Tht(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function Eht(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function dm(){return this.__zoom||id}function Lht(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Aht(){return navigator.maxTouchPoints||"ontouchstart"in this}function Mht(t,e,r){var o=t.invertX(e[0][0])-r[0][0],s=t.invertX(e[1][0])-r[1][0],u=t.invertY(e[0][1])-r[0][1],f=t.invertY(e[1][1])-r[1][1];return t.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),f>u?(u+f)/2:Math.min(0,u)||Math.max(0,f))}function Nht(){var t=Tht,e=Eht,r=Mht,o=Lht,s=Aht,u=[0,1/0],f=[[-1/0,-1/0],[1/0,1/0]],h=250,d=dft,g=Fl("start","zoom","end"),v,b,w,S=500,P=150,A=0,L=10;function T(z){z.property("__zoom",dm).on("wheel.zoom",Y,{passive:!1}).on("mousedown.zoom",nt).on("dblclick.zoom",at).filter(s).on("touchstart.zoom",pt).on("touchmove.zoom",gt).on("touchend.zoom touchcancel.zoom",G).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}T.transform=function(z,k,F,H){var Q=z.selection?z.selection():z;Q.property("__zoom",dm),z!==Q?B(z,k,F,H):Q.interrupt().each(function(){K(this,arguments).event(H).start().zoom(null,typeof k=="function"?k.apply(this,arguments):k).end()})},T.scaleBy=function(z,k,F,H){T.scaleTo(z,function(){var Q=this.__zoom.k,yt=typeof k=="function"?k.apply(this,arguments):k;return Q*yt},F,H)},T.scaleTo=function(z,k,F,H){T.transform(z,function(){var Q=e.apply(this,arguments),yt=this.__zoom,At=F==null?E(Q):typeof F=="function"?F.apply(this,arguments):F,qt=yt.invert(At),Ht=typeof k=="function"?k.apply(this,arguments):k;return r(R(M(yt,Ht),At,qt),Q,f)},F,H)},T.translateBy=function(z,k,F,H){T.transform(z,function(){return r(this.__zoom.translate(typeof k=="function"?k.apply(this,arguments):k,typeof F=="function"?F.apply(this,arguments):F),e.apply(this,arguments),f)},null,H)},T.translateTo=function(z,k,F,H,Q){T.transform(z,function(){var yt=e.apply(this,arguments),At=this.__zoom,qt=H==null?E(yt):typeof H=="function"?H.apply(this,arguments):H;return r(id.translate(qt[0],qt[1]).scale(At.k).translate(typeof k=="function"?-k.apply(this,arguments):-k,typeof F=="function"?-F.apply(this,arguments):-F),yt,f)},H,Q)};function M(z,k){return k=Math.max(u[0],Math.min(u[1],k)),k===z.k?z:new Ir(k,z.x,z.y)}function R(z,k,F){var H=k[0]-F[0]*z.k,Q=k[1]-F[1]*z.k;return H===z.x&&Q===z.y?z:new Ir(z.k,H,Q)}function E(z){return[(+z[0][0]+ +z[1][0])/2,(+z[0][1]+ +z[1][1])/2]}function B(z,k,F,H){z.on("start.zoom",function(){K(this,arguments).event(H).start()}).on("interrupt.zoom end.zoom",function(){K(this,arguments).event(H).end()}).tween("zoom",function(){var Q=this,yt=arguments,At=K(Q,yt).event(H),qt=e.apply(Q,yt),Ht=F==null?E(qt):typeof F=="function"?F.apply(Q,yt):F,Jt=Math.max(qt[1][0]-qt[0][0],qt[1][1]-qt[0][1]),Qt=Q.__zoom,Gt=typeof k=="function"?k.apply(Q,yt):k,Tt=d(Qt.invert(Ht).concat(Jt/Qt.k),Gt.invert(Ht).concat(Jt/Gt.k));return function(j){if(j===1)j=Gt;else{var rt=Tt(j),lt=Jt/rt[2];j=new Ir(lt,Ht[0]-rt[0]*lt,Ht[1]-rt[1]*lt)}At.zoom(null,j)}})}function K(z,k,F){return!F&&z.__zooming||new ht(z,k)}function ht(z,k){this.that=z,this.args=k,this.active=0,this.sourceEvent=null,this.extent=e.apply(z,k),this.taps=0}ht.prototype={event:function(z){return z&&(this.sourceEvent=z),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(z,k){return this.mouse&&z!=="mouse"&&(this.mouse[1]=k.invert(this.mouse[0])),this.touch0&&z!=="touch"&&(this.touch0[1]=k.invert(this.touch0[0])),this.touch1&&z!=="touch"&&(this.touch1[1]=k.invert(this.touch1[0])),this.that.__zoom=k,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(z){var k=En(this.that).datum();g.call(z,this.that,new Cht(z,{sourceEvent:this.sourceEvent,target:T,type:z,transform:this.that.__zoom,dispatch:g}),k)}};function Y(z,...k){if(!t.apply(this,arguments))return;var F=K(this,k).event(z),H=this.__zoom,Q=Math.max(u[0],Math.min(u[1],H.k*Math.pow(2,o.apply(this,arguments)))),yt=Rr(z);if(F.wheel)(F.mouse[0][0]!==yt[0]||F.mouse[0][1]!==yt[1])&&(F.mouse[1]=H.invert(F.mouse[0]=yt)),clearTimeout(F.wheel);else{if(H.k===Q)return;F.mouse=[yt,H.invert(yt)],Ya(this),F.start()}nl(z),F.wheel=setTimeout(At,P),F.zoom("mouse",r(R(M(H,Q),F.mouse[0],F.mouse[1]),F.extent,f));function At(){F.wheel=null,F.end()}}function nt(z,...k){if(w||!t.apply(this,arguments))return;var F=z.currentTarget,H=K(this,k,!0).event(z),Q=En(z.view).on("mousemove.zoom",Ht,!0).on("mouseup.zoom",Jt,!0),yt=Rr(z,F),At=z.clientX,qt=z.clientY;yb(z.view),df(z),H.mouse=[yt,this.__zoom.invert(yt)],Ya(this),H.start();function Ht(Qt){if(nl(Qt),!H.moved){var Gt=Qt.clientX-At,Tt=Qt.clientY-qt;H.moved=Gt*Gt+Tt*Tt>A}H.event(Qt).zoom("mouse",r(R(H.that.__zoom,H.mouse[0]=Rr(Qt,F),H.mouse[1]),H.extent,f))}function Jt(Qt){Q.on("mousemove.zoom mouseup.zoom",null),bb(Qt.view,H.moved),nl(Qt),H.event(Qt).end()}}function at(z,...k){if(t.apply(this,arguments)){var F=this.__zoom,H=Rr(z.changedTouches?z.changedTouches[0]:z,this),Q=F.invert(H),yt=F.k*(z.shiftKey?.5:2),At=r(R(M(F,yt),H,Q),e.apply(this,k),f);nl(z),h>0?En(this).transition().duration(h).call(B,At,H,z):En(this).call(T.transform,At,H,z)}}function pt(z,...k){if(t.apply(this,arguments)){var F=z.touches,H=F.length,Q=K(this,k,z.changedTouches.length===H).event(z),yt,At,qt,Ht;for(df(z),At=0;At=(b=(h+g)/2))?h=b:g=b,(L=r>=(w=(d+v)/2))?d=w:v=w,s=u,!(u=u[T=L<<1|A]))return s[T]=f,t;if(S=+t._x.call(null,u.data),P=+t._y.call(null,u.data),e===S&&r===P)return f.next=u,s?s[T]=f:t._root=f,t;do s=s?s[T]=new Array(4):t._root=new Array(4),(A=e>=(b=(h+g)/2))?h=b:g=b,(L=r>=(w=(d+v)/2))?d=w:v=w;while((T=L<<1|A)===(M=(P>=w)<<1|S>=b));return s[M]=u,s[T]=f,t}function Oht(t){var e,r,o=t.length,s,u,f=new Array(o),h=new Array(o),d=1/0,g=1/0,v=-1/0,b=-1/0;for(r=0;rv&&(v=s),ub&&(b=u));if(d>v||g>b)return this;for(this.cover(d,g).cover(v,b),r=0;rt||t>=s||o>e||e>=u;)switch(g=(ev||(h=P.y0)>b||(d=P.x1)=T)<<1|t>=L)&&(P=w[w.length-1],w[w.length-1]=w[w.length-1-A],w[w.length-1-A]=P)}else{var M=t-+this._x.call(null,S.data),R=e-+this._y.call(null,S.data),E=M*M+R*R;if(E=(w=(f+d)/2))?f=w:d=w,(A=b>=(S=(h+g)/2))?h=S:g=S,e=r,!(r=r[L=A<<1|P]))return this;if(!r.length)break;(e[L+1&3]||e[L+2&3]||e[L+3&3])&&(o=e,T=L)}for(;r.data!==t;)if(s=r,!(r=r.next))return this;return(u=r.next)&&delete r.next,s?(u?s.next=u:delete s.next,this):e?(u?e[L]=u:delete e[L],(r=e[0]||e[1]||e[2]||e[3])&&r===(e[3]||e[2]||e[1]||e[0])&&!r.length&&(o?o[T]=r:this._root=r),this):(this._root=u,this)}function Fht(t){for(var e=0,r=t.length;ew.index){var pt=S-Y.x-Y.vx,gt=P-Y.y-Y.vy,G=pt*pt+gt*gt;GS+at||KP+at||htg.r&&(g.r=g[v].r)}function d(){if(e){var g,v=e.length,b;for(r=new Array(v),g=0;g[e(B,K,f),B])),E;for(L=0,h=new Array(T);L(t=(Jht*t+tdt)%vm)/vm}function ndt(t){return t.x}function rdt(t){return t.y}var idt=10,odt=Math.PI*(3-Math.sqrt(5));function sdt(t){var e,r=1,o=.001,s=1-Math.pow(o,1/300),u=0,f=.6,h=new Map,d=ed(b),g=Fl("tick","end"),v=edt();t==null&&(t=[]);function b(){w(),g.call("tick",e),r1?(L==null?h.delete(A):h.set(A,P(L)),e):h.get(A)},find:function(A,L,T){var M=0,R=t.length,E,B,K,ht,Y;for(T==null?T=1/0:T*=T,M=0;M1?(g.on(A,L),e):g.on(A)}}}function ldt(){var t,e,r,o,s=vn(-30),u,f=1,h=1/0,d=.81;function g(S){var P,A=t.length,L=od(t,ndt,rdt).visitAfter(b);for(o=S,P=0;P=h)return;(S.data!==e||S.next)&&(T===0&&(T=xi(r),E+=T*T),M===0&&(M=xi(r),E+=M*M),Ee in t?udt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Oe=(t,e,r)=>(fdt(t,typeof e!="symbol"?e+"":e,r),r);function hdt(){return{drag:{end:0,start:.1},filter:{link:1,type:.1,unlinked:{include:.1,exclude:.1}},focus:{acquire:()=>.1,release:()=>.1},initialize:1,labels:{links:{hide:0,show:0},nodes:{hide:0,show:0}},resize:.5}}function mm(t){if(typeof t=="object"&&t!==null){if(typeof Object.getPrototypeOf=="function"){const e=Object.getPrototypeOf(t);return e===Object.prototype||e===null}return Object.prototype.toString.call(t)==="[object Object]"}return!1}function _i(...t){return t.reduce((e,r)=>{if(Array.isArray(r))throw new TypeError("Arguments provided to deepmerge must be objects, not arrays.");return Object.keys(r).forEach(o=>{["__proto__","constructor","prototype"].includes(o)||(Array.isArray(e[o])&&Array.isArray(r[o])?e[o]=_i.options.mergeArrays?Array.from(new Set(e[o].concat(r[o]))):r[o]:mm(e[o])&&mm(r[o])?e[o]=_i(e[o],r[o]):e[o]=r[o])}),e},{})}const Ob={mergeArrays:!0};_i.options=Ob;_i.withOptions=(t,...e)=>{_i.options={mergeArrays:!0,...t};const r=_i(...e);return _i.options=Ob,r};function ddt(){return{centering:{enabled:!0,strength:.1},charge:{enabled:!0,strength:-1},collision:{enabled:!0,strength:1,radiusMultiplier:2},link:{enabled:!0,strength:1,length:128}}}function pdt(){return{includeUnlinked:!0,linkFilter:()=>!0,nodeTypeFilter:void 0,showLinkLabels:!0,showNodeLabels:!0}}function Db(t){t.preventDefault(),t.stopPropagation()}function $b(t){return typeof t=="number"}function Ai(t,e){return $b(t.nodeRadius)?t.nodeRadius:t.nodeRadius(e)}function gdt(t){return`${t.source.id}-${t.target.id}`}function Rb(t){return`link-arrow-${t}`.replace(/[()]/g,"~")}function vdt(t){return`url(#${Rb(t.color)})`}function mdt(t){return{size:t,padding:(e,r)=>Ai(r,e)+2*t,ref:[t/2,t/2],path:[[0,0],[0,t],[t,t/2]],viewBox:[0,0,t,t].join(",")}}const zb={Arrow:t=>mdt(t)},ydt=(t,e,r)=>[e/2,r/2],Ib=(t,e,r)=>[ym(0,e),ym(0,r)];function ym(t,e){return Math.random()*(e-t)+t}function bdt(t){const e=Object.fromEntries(t.nodes.map(r=>[r.id,[r.x,r.y]]));return(r,o,s)=>{const[u,f]=e[r.id]??[];return!u||!f?Ib(r,o,s):[u,f]}}const rh={Centered:ydt,Randomized:Ib,Stable:bdt};function wdt(){return{autoResize:!1,callbacks:{},hooks:{},initial:pdt(),nodeRadius:16,marker:zb.Arrow(4),modifiers:{},positionInitializer:rh.Centered,simulation:{alphas:hdt(),forces:ddt()},zoom:{initial:1,min:.1,max:2}}}function xdt(t={}){return _i.withOptions({mergeArrays:!1},wdt(),t)}function _dt({applyZoom:t,container:e,onDoubleClick:r,onPointerMoved:o,onPointerUp:s,offset:[u,f],scale:h,zoom:d}){const g=e.classed("graph",!0).append("svg").attr("height","100%").attr("width","100%").call(d).on("contextmenu",v=>Db(v)).on("dblclick",v=>r==null?void 0:r(v)).on("dblclick.zoom",null).on("pointermove",v=>o==null?void 0:o(v)).on("pointerup",v=>s==null?void 0:s(v)).style("cursor","grab");return t&&g.call(d.transform,id.translate(u,f).scale(h)),g.append("g")}function Sdt({canvas:t,scale:e,xOffset:r,yOffset:o}){t==null||t.attr("transform",`translate(${r},${o})scale(${e})`)}function kdt({config:t,onDragStart:e,onDragEnd:r}){var o,s;const u=Hut().filter(f=>f.type==="mousedown"?f.button===0:f.type==="touchstart"?f.touches.length===1:!1).on("start",(f,h)=>{f.active===0&&e(f,h),En(f.sourceEvent.target).classed("grabbed",!0),h.fx=h.x,h.fy=h.y}).on("drag",(f,h)=>{h.fx=f.x,h.fy=f.y}).on("end",(f,h)=>{f.active===0&&r(f,h),En(f.sourceEvent.target).classed("grabbed",!1),h.fx=void 0,h.fy=void 0});return(s=(o=t.modifiers).drag)==null||s.call(o,u),u}function Cdt({graph:t,filter:e,focusedNode:r,includeUnlinked:o,linkFilter:s}){const u=t.links.filter(d=>e.includes(d.source.type)&&e.includes(d.target.type)&&s(d)),f=d=>u.find(g=>g.source.id===d.id||g.target.id===d.id)!==void 0,h=t.nodes.filter(d=>e.includes(d.type)&&(o||f(d)));return r===void 0||!e.includes(r.type)?{nodes:h,links:u}:Tdt({nodes:h,links:u},r)}function Tdt(t,e){const r=[...Edt(t,e),...Ldt(t,e)],o=r.flatMap(s=>[s.source,s.target]);return{nodes:[...new Set([...o,e])],links:[...new Set(r)]}}function Edt(t,e){return Fb(t,e,(r,o)=>r.target.id===o.id)}function Ldt(t,e){return Fb(t,e,(r,o)=>r.source.id===o.id)}function Fb(t,e,r){const o=new Set(t.links),s=new Set([e]),u=[];for(;o.size>0;){const f=[...o].filter(h=>[...s].some(d=>r(h,d)));if(f.length===0)return u;f.forEach(h=>{s.add(h.source),s.add(h.target),u.push(h),o.delete(h)})}return u}function ih(t){return t.x??0}function oh(t){return t.y??0}function ld({source:t,target:e}){const r=new pn(ih(t),oh(t)),o=new pn(ih(e),oh(e)),s=o.subtract(r),u=s.length(),f=s.normalize(),h=f.multiply(-1);return{s:r,t:o,dist:u,norm:f,endNorm:h}}function qb({center:t,node:e}){const r=new pn(ih(e),oh(e));let o=t;return r.x===o.x&&r.y===o.y&&(o=o.add(new pn(0,1))),{n:r,c:o}}function Hb({config:t,source:e,target:r}){const{s:o,t:s,norm:u}=ld({config:t,source:e,target:r}),f=o.add(u.multiply(Ai(t,e)-1)),h=s.subtract(u.multiply(t.marker.padding(r,t)));return{start:f,end:h}}function Adt(t){const{start:e,end:r}=Hb(t);return`M${e.x},${e.y} + L${r.x},${r.y}`}function Mdt(t){const{start:e,end:r}=Hb(t),o=r.subtract(e).multiply(.5),s=e.add(o);return`translate(${s.x-8},${s.y-4})`}function Ndt({config:t,source:e,target:r}){const{s:o,t:s,dist:u,norm:f,endNorm:h}=ld({config:t,source:e,target:r}),d=10,g=f.rotateByDegrees(-d).multiply(Ai(t,e)-1).add(o),v=h.rotateByDegrees(d).multiply(Ai(t,r)).add(s).add(h.rotateByDegrees(d).multiply(2*t.marker.size)),b=1.2*u;return`M${g.x},${g.y} + A${b},${b},0,0,1,${v.x},${v.y}`}function Pdt({center:t,config:e,node:r}){const{n:o,c:s}=qb({center:t,config:e,node:r}),u=Ai(e,r),f=o.subtract(s),h=f.multiply(1/f.length()),d=40,g=h.rotateByDegrees(d).multiply(u-1).add(o),v=h.rotateByDegrees(-d).multiply(u).add(o).add(h.rotateByDegrees(-d).multiply(2*e.marker.size));return`M${g.x},${g.y} + A${u},${u},0,1,0,${v.x},${v.y}`}function Odt({config:t,source:e,target:r}){const{t:o,dist:s,endNorm:u}=ld({config:t,source:e,target:r}),f=10,h=u.rotateByDegrees(f).multiply(.5*s).add(o);return`translate(${h.x},${h.y})`}function Ddt({center:t,config:e,node:r}){const{n:o,c:s}=qb({center:t,config:e,node:r}),u=o.subtract(s),f=u.multiply(1/u.length()).multiply(3*Ai(e,r)+8).add(o);return`translate(${f.x},${f.y})`}const es={line:{labelTransform:Mdt,path:Adt},arc:{labelTransform:Odt,path:Ndt},reflexive:{labelTransform:Ddt,path:Pdt}};function $dt(t){return t.append("g").classed("links",!0).selectAll("path")}function Rdt({config:t,graph:e,selection:r,showLabels:o}){const s=r==null?void 0:r.data(e.links,u=>gdt(u)).join(u=>{var f,h,d,g;const v=u.append("g"),b=v.append("path").classed("link",!0).style("marker-end",S=>vdt(S)).style("stroke",S=>S.color);(h=(f=t.modifiers).link)==null||h.call(f,b);const w=v.append("text").classed("link__label",!0).style("fill",S=>S.label?S.label.color:null).style("font-size",S=>S.label?S.label.fontSize:null).text(S=>S.label?S.label.text:null);return(g=(d=t.modifiers).linkLabel)==null||g.call(d,w),v});return s==null||s.select(".link__label").attr("opacity",u=>u.label&&o?1:0),s}function zdt(t){Idt(t),Fdt(t)}function Idt({center:t,config:e,graph:r,selection:o}){o==null||o.selectAll("path").attr("d",s=>s.source.x===void 0||s.source.y===void 0||s.target.x===void 0||s.target.y===void 0?"":s.source.id===s.target.id?es.reflexive.path({config:e,node:s.source,center:t}):Bb(r,s.source,s.target)?es.arc.path({config:e,source:s.source,target:s.target}):es.line.path({config:e,source:s.source,target:s.target}))}function Fdt({config:t,center:e,graph:r,selection:o}){o==null||o.select(".link__label").attr("transform",s=>s.source.x===void 0||s.source.y===void 0||s.target.x===void 0||s.target.y===void 0?"translate(0, 0)":s.source.id===s.target.id?es.reflexive.labelTransform({config:t,node:s.source,center:e}):Bb(r,s.source,s.target)?es.arc.labelTransform({config:t,source:s.source,target:s.target}):es.line.labelTransform({config:t,source:s.source,target:s.target}))}function Bb(t,e,r){return e.id!==r.id&&t.links.some(o=>o.target.id===e.id&&o.source.id===r.id)&&t.links.some(o=>o.target.id===r.id&&o.source.id===e.id)}function qdt(t){return t.append("defs").selectAll("marker")}function Hdt({config:t,graph:e,selection:r}){return r==null?void 0:r.data(Bdt(e),o=>o).join(o=>{const s=o.append("marker").attr("id",u=>Rb(u)).attr("markerHeight",4*t.marker.size).attr("markerWidth",4*t.marker.size).attr("markerUnits","userSpaceOnUse").attr("orient","auto").attr("refX",t.marker.ref[0]).attr("refY",t.marker.ref[1]).attr("viewBox",t.marker.viewBox).style("fill",u=>u);return s.append("path").attr("d",Wdt(t.marker.path)),s})}function Bdt(t){return[...new Set(t.links.map(e=>e.color))]}function Wdt(t){const[e,...r]=t;if(!e)return"M0,0";const[o,s]=e;return r.reduce((u,[f,h])=>`${u}L${f},${h}`,`M${o},${s}`)}function Udt(t){return t.append("g").classed("nodes",!0).selectAll("circle")}function jdt({config:t,drag:e,graph:r,onNodeContext:o,onNodeSelected:s,selection:u,showLabels:f}){const h=u==null?void 0:u.data(r.nodes,d=>d.id).join(d=>{var g,v,b,w;const S=d.append("g");e!==void 0&&S.call(e);const P=S.append("circle").classed("node",!0).attr("r",L=>Ai(t,L)).on("contextmenu",(L,T)=>{Db(L),o(T)}).on("pointerdown",(L,T)=>Gdt(L,T,s??o)).style("fill",L=>L.color);(v=(g=t.modifiers).node)==null||v.call(g,P);const A=S.append("text").classed("node__label",!0).attr("dy","0.33em").style("fill",L=>L.label?L.label.color:null).style("font-size",L=>L.label?L.label.fontSize:null).style("stroke","none").text(L=>L.label?L.label.text:null);return(w=(b=t.modifiers).nodeLabel)==null||w.call(b,A),S});return h==null||h.select(".node").classed("focused",d=>d.isFocused),h==null||h.select(".node__label").attr("opacity",f?1:0),h}const Vdt=500;function Gdt(t,e,r){if(t.button!==void 0&&t.button!==0)return;const o=e.lastInteractionTimestamp,s=Date.now();if(o===void 0||s-o>Vdt){e.lastInteractionTimestamp=s;return}e.lastInteractionTimestamp=void 0,r(e)}function Kdt(t){t==null||t.attr("transform",e=>`translate(${e.x??0},${e.y??0})`)}function Xdt({center:t,config:e,graph:r,onTick:o}){var s,u;const f=sdt(r.nodes),h=e.simulation.forces.centering;if(h&&h.enabled){const b=h.strength;f.force("x",adt(()=>t().x).strength(b)).force("y",cdt(()=>t().y).strength(b))}const d=e.simulation.forces.charge;d&&d.enabled&&f.force("charge",ldt().strength(d.strength));const g=e.simulation.forces.collision;g&&g.enabled&&f.force("collision",Yht().radius(b=>g.radiusMultiplier*Ai(e,b)));const v=e.simulation.forces.link;return v&&v.enabled&&f.force("link",Qht(r.links).id(b=>b.id).distance(e.simulation.forces.link.length).strength(v.strength)),f.on("tick",()=>o()),(u=(s=e.modifiers).simulation)==null||u.call(s,f),f}function Ydt({canvasContainer:t,config:e,min:r,max:o,onZoom:s}){var u,f;const h=Nht().scaleExtent([r,o]).filter(d=>{var g;return d.button===0||((g=d.touches)==null?void 0:g.length)>=2}).on("start",()=>t().classed("grabbed",!0)).on("zoom",d=>s(d)).on("end",()=>t().classed("grabbed",!1));return(f=(u=e.modifiers).zoom)==null||f.call(u,h),h}class Zdt{constructor(e,r,o){if(Oe(this,"nodeTypes"),Oe(this,"_nodeTypeFilter"),Oe(this,"_includeUnlinked",!0),Oe(this,"_linkFilter",()=>!0),Oe(this,"_showLinkLabels",!0),Oe(this,"_showNodeLabels",!0),Oe(this,"filteredGraph"),Oe(this,"width",0),Oe(this,"height",0),Oe(this,"simulation"),Oe(this,"canvas"),Oe(this,"linkSelection"),Oe(this,"nodeSelection"),Oe(this,"markerSelection"),Oe(this,"zoom"),Oe(this,"drag"),Oe(this,"xOffset",0),Oe(this,"yOffset",0),Oe(this,"scale"),Oe(this,"focusedNode"),Oe(this,"resizeObserver"),this.container=e,this.graph=r,this.config=o,this.scale=o.zoom.initial,this.resetView(),this.graph.nodes.forEach(s=>{const[u,f]=o.positionInitializer(s,this.effectiveWidth,this.effectiveHeight);s.x=s.x??u,s.y=s.y??f}),this.nodeTypes=[...new Set(r.nodes.map(s=>s.type))],this._nodeTypeFilter=[...this.nodeTypes],o.initial){const{includeUnlinked:s,nodeTypeFilter:u,linkFilter:f,showLinkLabels:h,showNodeLabels:d}=o.initial;this._includeUnlinked=s??this._includeUnlinked,this._showLinkLabels=h??this._showLinkLabels,this._showNodeLabels=d??this._showNodeLabels,this._nodeTypeFilter=u??this._nodeTypeFilter,this._linkFilter=f??this._linkFilter}this.filterGraph(void 0),this.initGraph(),this.restart(o.simulation.alphas.initialize),o.autoResize&&(this.resizeObserver=new ResizeObserver(Jat(()=>this.resize())),this.resizeObserver.observe(this.container))}get nodeTypeFilter(){return this._nodeTypeFilter}get includeUnlinked(){return this._includeUnlinked}set includeUnlinked(e){this._includeUnlinked=e,this.filterGraph(this.focusedNode);const{include:r,exclude:o}=this.config.simulation.alphas.filter.unlinked,s=e?r:o;this.restart(s)}set linkFilter(e){this._linkFilter=e,this.filterGraph(this.focusedNode),this.restart(this.config.simulation.alphas.filter.link)}get linkFilter(){return this._linkFilter}get showNodeLabels(){return this._showNodeLabels}set showNodeLabels(e){this._showNodeLabels=e;const{hide:r,show:o}=this.config.simulation.alphas.labels.nodes,s=e?o:r;this.restart(s)}get showLinkLabels(){return this._showLinkLabels}set showLinkLabels(e){this._showLinkLabels=e;const{hide:r,show:o}=this.config.simulation.alphas.labels.links,s=e?o:r;this.restart(s)}get effectiveWidth(){return this.width/this.scale}get effectiveHeight(){return this.height/this.scale}get effectiveCenter(){return pn.of([this.width,this.height]).divide(2).subtract(pn.of([this.xOffset,this.yOffset])).divide(this.scale)}resize(){const e=this.width,r=this.height,o=this.container.getBoundingClientRect().width,s=this.container.getBoundingClientRect().height,u=e.toFixed()!==o.toFixed(),f=r.toFixed()!==s.toFixed();if(!u&&!f)return;this.width=this.container.getBoundingClientRect().width,this.height=this.container.getBoundingClientRect().height;const h=this.config.simulation.alphas.resize;this.restart($b(h)?h:h({oldWidth:e,oldHeight:r,newWidth:o,newHeight:s}))}restart(e){var r;this.markerSelection=Hdt({config:this.config,graph:this.filteredGraph,selection:this.markerSelection}),this.linkSelection=Rdt({config:this.config,graph:this.filteredGraph,selection:this.linkSelection,showLabels:this._showLinkLabels}),this.nodeSelection=jdt({config:this.config,drag:this.drag,graph:this.filteredGraph,onNodeContext:o=>this.toggleNodeFocus(o),onNodeSelected:this.config.callbacks.nodeClicked,selection:this.nodeSelection,showLabels:this._showNodeLabels}),(r=this.simulation)==null||r.stop(),this.simulation=Xdt({center:()=>this.effectiveCenter,config:this.config,graph:this.filteredGraph,onTick:()=>this.onTick()}).alpha(e).restart()}filterNodesByType(e,r){e?this._nodeTypeFilter.push(r):this._nodeTypeFilter=this._nodeTypeFilter.filter(o=>o!==r),this.filterGraph(this.focusedNode),this.restart(this.config.simulation.alphas.filter.type)}shutdown(){var e,r;this.focusedNode!==void 0&&(this.focusedNode.isFocused=!1,this.focusedNode=void 0),(e=this.resizeObserver)==null||e.unobserve(this.container),(r=this.simulation)==null||r.stop()}initGraph(){this.zoom=Ydt({config:this.config,canvasContainer:()=>En(this.container).select("svg"),min:this.config.zoom.min,max:this.config.zoom.max,onZoom:e=>this.onZoom(e)}),this.canvas=_dt({applyZoom:this.scale!==1,container:En(this.container),offset:[this.xOffset,this.yOffset],scale:this.scale,zoom:this.zoom}),this.applyZoom(),this.linkSelection=$dt(this.canvas),this.nodeSelection=Udt(this.canvas),this.markerSelection=qdt(this.canvas),this.drag=kdt({config:this.config,onDragStart:()=>{var e;return(e=this.simulation)==null?void 0:e.alphaTarget(this.config.simulation.alphas.drag.start).restart()},onDragEnd:()=>{var e;return(e=this.simulation)==null?void 0:e.alphaTarget(this.config.simulation.alphas.drag.end).restart()}})}onTick(){Kdt(this.nodeSelection),zdt({config:this.config,center:this.effectiveCenter,graph:this.filteredGraph,selection:this.linkSelection})}resetView(){var e;(e=this.simulation)==null||e.stop(),En(this.container).selectChildren().remove(),this.zoom=void 0,this.canvas=void 0,this.linkSelection=void 0,this.nodeSelection=void 0,this.markerSelection=void 0,this.simulation=void 0,this.width=this.container.getBoundingClientRect().width,this.height=this.container.getBoundingClientRect().height}onZoom(e){var r,o,s;this.xOffset=e.transform.x,this.yOffset=e.transform.y,this.scale=e.transform.k,this.applyZoom(),(o=(r=this.config.hooks).afterZoom)==null||o.call(r,this.scale,this.xOffset,this.yOffset),(s=this.simulation)==null||s.restart()}applyZoom(){Sdt({canvas:this.canvas,scale:this.scale,xOffset:this.xOffset,yOffset:this.yOffset})}toggleNodeFocus(e){e.isFocused?(this.filterGraph(void 0),this.restart(this.config.simulation.alphas.focus.release(e))):this.focusNode(e)}focusNode(e){this.filterGraph(e),this.restart(this.config.simulation.alphas.focus.acquire(e))}filterGraph(e){this.focusedNode!==void 0&&(this.focusedNode.isFocused=!1,this.focusedNode=void 0),e!==void 0&&this._nodeTypeFilter.includes(e.type)&&(e.isFocused=!0,this.focusedNode=e),this.filteredGraph=Cdt({graph:this.graph,filter:this._nodeTypeFilter,focusedNode:this.focusedNode,includeUnlinked:this._includeUnlinked,linkFilter:this._linkFilter})}}function bm({nodes:t,links:e}){return{nodes:t??[],links:e??[]}}function Qdt(t){return{...t}}function Wb(t){return{...t,isFocused:!1,lastInteractionTimestamp:void 0}}const Jdt={"h-full":"","min-h-75":"","flex-1":"",overflow:"hidden"},tpt={flex:"","items-center":"","gap-4":"","px-3":"","py-2":""},ept=["id","checked","onChange"],npt=["for"],rpt=tt("div",{"flex-auto":""},null,-1),ipt=ie({__name:"ViewModuleGraph",props:{graph:{}},setup(t){const e=t,{graph:r}=O1(e),o=Zt(),s=Zt(!1),u=Zt(),f=Zt();Ch(()=>{s.value===!1&&setTimeout(()=>u.value=void 0,300)},{flush:"post"}),ms(()=>{g()}),Eh(()=>{var b;(b=f.value)==null||b.shutdown()}),Re(r,g);function h(b,w){var S;(S=f.value)==null||S.filterNodesByType(w,b)}function d(b){u.value=b,s.value=!0}function g(){var b;(b=f.value)==null||b.shutdown(),!(!r.value||!o.value)&&(f.value=new Zdt(o.value,r.value,xdt({nodeRadius:10,autoResize:!0,simulation:{alphas:{initialize:1,resize:({newHeight:w,newWidth:S})=>w===0&&S===0?0:.25},forces:{collision:{radiusMultiplier:10},link:{length:240}}},marker:zb.Arrow(2),modifiers:{node:v},positionInitializer:r.value.nodes.length>1?rh.Randomized:rh.Centered,zoom:{min:.5,max:2}})))}function v(b){if(jr)return;const w=L=>L.button===0;let S=0,P=0,A=0;b.on("pointerdown",(L,T)=>{T.type!=="external"&&(!T.x||!T.y||!w(L)||(S=T.x,P=T.y,A=Date.now()))}).on("pointerup",(L,T)=>{if(T.type==="external"||!T.x||!T.y||!w(L)||Date.now()-A>500)return;const M=T.x-S,R=T.y-P;M**2+R**2<100&&d(T.id)})}return(b,w)=>{var T;const S=bs,P=Qat,A=qat,L=uo("tooltip");return st(),kt("div",Jdt,[tt("div",null,[tt("div",tpt,[(st(!0),kt(ne,null,Rn((T=U(f))==null?void 0:T.nodeTypes.sort(),M=>{var R;return st(),kt("div",{key:M,flex:"~ gap-1","items-center":"","select-none":""},[tt("input",{id:`type-${M}`,type:"checkbox",checked:(R=U(f))==null?void 0:R.nodeTypeFilter.includes(M),onChange:E=>h(M,E.target.checked)},null,40,ept),tt("label",{"font-light":"","text-sm":"","ws-nowrap":"","overflow-hidden":"",capitalize:"",truncate:"",for:`type-${M}`,"border-b-2":"",style:An({"border-color":`var(--color-node-${M})`})},Ut(M)+" Modules",13,npt)])}),128)),rpt,tt("div",null,[nn(Ft(S,{icon:"i-carbon-reset",onClick:g},null,512),[[L,"Reset",void 0,{bottom:!0}]])])])]),tt("div",{ref_key:"el",ref:o},null,512),Ft(A,{modelValue:U(s),"onUpdate:modelValue":w[1]||(w[1]=M=>Le(s)?s.value=M:null),direction:"right"},{default:ee(()=>[U(u)?(st(),te(Q1,{key:0},{default:ee(()=>[Ft(P,{id:U(u),onClose:w[0]||(w[0]=M=>s.value=!1)},null,8,["id"])]),_:1})):Vt("",!0)]),_:1},8,["modelValue"])])}}}),opt={key:0,"text-green-500":"","flex-shrink-0":"","i-carbon:checkmark":""},spt={key:1,"text-red-500":"","flex-shrink-0":"","i-carbon:compare":""},lpt={key:2,"text-red-500":"","flex-shrink-0":"","i-carbon:close":""},apt={key:3,"text-gray-500":"","flex-shrink-0":"","i-carbon:document-blank":""},cpt={key:4,"text-gray-500":"","flex-shrink-0":"","i-carbon:redo":"","rotate-90":""},upt={key:5,"text-yellow-500":"","flex-shrink-0":"","i-carbon:circle-dash":"","animate-spin":""},ad=ie({__name:"StatusIcon",props:{task:{}},setup(t){return(e,r)=>{var s,u,f;const o=uo("tooltip");return((s=e.task.result)==null?void 0:s.state)==="pass"?(st(),kt("div",opt)):U(Wc)(e.task)?nn((st(),kt("div",spt,null,512)),[[o,"Contains failed snapshot",void 0,{right:!0}]]):((u=e.task.result)==null?void 0:u.state)==="fail"?(st(),kt("div",lpt)):e.task.mode==="todo"?nn((st(),kt("div",apt,null,512)),[[o,"Todo",void 0,{right:!0}]]):e.task.mode==="skip"||((f=e.task.result)==null?void 0:f.state)==="skip"?nn((st(),kt("div",cpt,null,512)),[[o,"Skipped",void 0,{right:!0}]]):(st(),kt("div",upt))}}});function fpt(t){const e=new Map,r=new Map,o=[];for(;;){let s=0;if(t.forEach((u,f)=>{var v;const{splits:h,finished:d}=u;if(d){s++;const{raw:b,candidate:w}=u;e.set(b,w);return}if(h.length===0){u.finished=!0;return}const g=h[0];r.has(g)?(u.candidate+=u.candidate===""?g:`/${g}`,(v=r.get(g))==null||v.push(f),h.shift()):(r.set(g,[f]),o.push(f))}),o.forEach(u=>{const f=t[u],h=f.splits.shift();f.candidate+=f.candidate===""?h:`/${h}`}),r.forEach(u=>{if(u.length===1){const f=u[0];t[f].finished=!0}}),r.clear(),o.length=0,s===t.length)break}return e}function hpt(t){let e=t;e.includes("/node_modules/")&&(e=t.split(/\/node_modules\//g).pop());const r=e.split(/\//g);return{raw:e,splits:r,candidate:"",finished:!1,id:t}}function dpt(t){const e=t.map(o=>hpt(o)),r=fpt(e);return e.map(({raw:o,id:s})=>Wb({color:"var(--color-node-external)",label:{color:"var(--color-node-external)",fontSize:"0.875rem",text:r.get(o)??""},isFocused:!1,id:s,type:"external"}))}function ppt(t,e){return Wb({color:e?"var(--color-node-root)":"var(--color-node-inline)",label:{color:e?"var(--color-node-root)":"var(--color-node-inline)",fontSize:"0.875rem",text:t.split(/\//g).pop()},isFocused:!1,id:t,type:"inline"})}function gpt(t,e){if(!t)return bm({});const r=dpt(t.externalized),o=t.inlined.map(h=>ppt(h,h===e))??[],s=[...r,...o],u=Object.fromEntries(s.map(h=>[h.id,h])),f=Object.entries(t.graph).flatMap(([h,d])=>d.map(g=>{const v=u[h],b=u[g];if(!(v===void 0||b===void 0))return Qdt({source:v,target:b,color:"var(--color-link)",label:!1})}).filter(g=>g!==void 0));return bm({nodes:s,links:f})}const vpt={key:0,flex:"","flex-col":"","h-full":"","max-h-full":"","overflow-hidden":"","data-testid":"file-detail"},mpt={p:"2","h-10":"",flex:"~ gap-2","items-center":"","bg-header":"",border:"b base"},ypt={"flex-1":"","font-light":"","op-50":"","ws-nowrap":"",truncate:"","text-sm":""},bpt={class:"flex text-lg"},wpt={flex:"~","items-center":"","bg-header":"",border:"b-2 base","text-sm":"","h-41px":""},xpt={flex:"","flex-col":"","flex-1":"",overflow:"hidden"},_pt=["flex-1"],Spt=ie({__name:"FileDetails",setup(t){const e=Zt({externalized:[],graph:{},inlined:[]}),r=Zt({nodes:[],links:[]}),o=Zt(!1),s=Zt(!1);ylt(Se,async(g,v)=>{g&&g.filepath!==(v==null?void 0:v.filepath)&&(e.value=await je.rpc.getModuleGraph(g.filepath),r.value=gpt(e.value,g.filepath))},{debounce:100,immediate:!0});function u(){var v;const g=(v=Se.value)==null?void 0:v.filepath;g&&fetch(`/__open-in-editor?file=${encodeURIComponent(g)}`)}function f(g){g==="graph"&&(s.value=!0),er.value=g}const h=xt(()=>{var g;return((g=Qy.value)==null?void 0:g.reduce((v,{size:b})=>v+b,0))??0});function d(g){o.value=g}return(g,v)=>{var M,R;const b=ad,w=bs,S=ipt,P=Fat,A=Nat,L=bat,T=uo("tooltip");return U(Se)?(st(),kt("div",vpt,[tt("div",null,[tt("div",mpt,[Ft(b,{task:U(Se)},null,8,["task"]),tt("div",ypt,Ut((M=U(Se))==null?void 0:M.filepath),1),tt("div",bpt,[U(jr)?Vt("",!0):nn((st(),te(w,{key:0,title:"Open in editor",icon:"i-carbon-launch",disabled:!((R=U(Se))!=null&&R.filepath),onClick:u},null,8,["disabled"])),[[T,"Open in editor",void 0,{bottom:!0}]])])]),tt("div",wpt,[tt("button",{"tab-button":"",class:ve({"tab-button-active":U(er)==null}),"data-testid":"btn-report",onClick:v[0]||(v[0]=E=>f(null))}," Report ",2),tt("button",{"tab-button":"","data-testid":"btn-graph",class:ve({"tab-button-active":U(er)==="graph"}),onClick:v[1]||(v[1]=E=>f("graph"))}," Module Graph ",2),U(jr)?Vt("",!0):(st(),kt("button",{key:0,"tab-button":"","data-testid":"btn-code",class:ve({"tab-button-active":U(er)==="editor"}),onClick:v[2]||(v[2]=E=>f("editor"))},Ut(U(o)?"* ":"")+"Code ",3)),tt("button",{"tab-button":"","data-testid":"btn-console",class:ve({"tab-button-active":U(er)==="console",op20:U(er)!=="console"&&U(h)===0}),onClick:v[3]||(v[3]=E=>f("console"))}," Console ("+Ut(U(h))+") ",3)])]),tt("div",xpt,[U(s)?(st(),kt("div",{key:0,"flex-1":U(er)==="graph"&&""},[nn(Ft(S,{graph:U(r),"data-testid":"graph"},null,8,["graph"]),[[Nf,U(er)==="graph"]])],8,_pt)):Vt("",!0),U(er)==="editor"?(st(),te(P,{key:U(Se).filepath,file:U(Se),"data-testid":"editor",onDraft:d},null,8,["file"])):U(er)==="console"?(st(),te(A,{key:2,file:U(Se),"data-testid":"console"},null,8,["file"])):U(er)?Vt("",!0):(st(),te(L,{key:3,file:U(Se),"data-testid":"report"},null,8,["file"]))])])):Vt("",!0)}}}),kpt=["open"],Cpt=tt("div",{"flex-1":"","h-1px":"",border:"base b",op80:""},null,-1),Tpt=tt("div",{"flex-1":"","h-1px":"",border:"base b",op80:""},null,-1),Ept=ie({__name:"DetailsPanel",props:{color:{}},setup(t){const e=Zt(!0);return(r,o)=>(st(),kt("div",{open:U(e),class:"details-panel","data-testid":"details-panel",onToggle:o[0]||(o[0]=s=>e.value=s.target.open)},[tt("div",{p:"y1","text-sm":"","bg-base":"","items-center":"","z-5":"","gap-2":"",class:ve(r.color),"w-full":"",flex:"","select-none":"",sticky:"",top:"-1"},[Cpt,sr(r.$slots,"summary",{open:U(e)}),Tpt],2),sr(r.$slots,"default")],40,kpt))}}),Lpt={key:0,flex:"~ row","items-center":"",p:"x-2 y-1","border-rounded":"","cursor-pointer":"",hover:"bg-active"},Apt={key:0,"i-logos:typescript-icon":"","flex-shrink-0":"","mr-2":""},Mpt=["text"],Npt={"text-sm":"",truncate:"","font-light":""},Ppt={key:0,text:"xs",op20:"",style:{"white-space":"nowrap"}},Opt=ie({__name:"TaskItem",props:{task:{}},setup(t){const e=t,r=xt(()=>{const{result:o}=e.task;return o&&Math.round(o.duration||0)});return(o,s)=>{var f,h;const u=ad;return o.task?(st(),kt("div",Lpt,[Ft(u,{task:o.task,"mr-2":""},null,8,["task"]),o.task.type==="suite"&&o.task.meta.typecheck?(st(),kt("div",Apt)):Vt("",!0),tt("div",{flex:"","items-end":"","gap-2":"",text:((h=(f=o.task)==null?void 0:f.result)==null?void 0:h.state)==="fail"?"red-500":""},[tt("span",Npt,Ut(o.task.name),1),typeof U(r)=="number"?(st(),kt("span",Ppt,Ut(U(r)>0?U(r):"< 1")+"ms ",1)):Vt("",!0)],8,Mpt)])):Vt("",!0)}}});function Dpt(t){return Object.hasOwnProperty.call(t,"tasks")}function Ub(t,e){return typeof t!="string"||typeof e!="string"?!1:t.toLowerCase().includes(e.toLowerCase())}const $pt={key:1},Rpt=ie({inheritAttrs:!1,__name:"TaskTree",props:{task:{},indent:{default:0},nested:{type:Boolean,default:!1},search:{},onItemClick:{type:Function}},setup(t){return(e,r)=>{const o=Opt,s=io("TaskTree",!0);return st(),kt(ne,null,[!e.nested||!e.search||U(Ub)(e.task.name,e.search)?(st(),te(o,Ci({key:0},e.$attrs,{task:e.task,style:{paddingLeft:`${e.indent*.75+1}rem`},onClick:r[0]||(r[0]=u=>e.onItemClick&&e.onItemClick(e.task))}),null,16,["task","style"])):Vt("",!0),e.nested&&e.task.type==="suite"&&e.task.tasks.length?(st(),kt("div",$pt,[(st(!0),kt(ne,null,Rn(e.task.tasks,u=>(st(),te(s,{key:u.id,task:u,nested:e.nested,indent:e.indent+1,search:e.search,"on-item-click":e.onItemClick},null,8,["task","nested","indent","search","on-item-click"]))),128))])):Vt("",!0)],64)}}}),zpt={h:"full",flex:"~ col"},Ipt={p:"2","h-10":"",flex:"~ gap-2","items-center":"","bg-header":"",border:"b base"},Fpt={p:"l3 y2 r2",flex:"~ gap-2","items-center":"","bg-header":"",border:"b-2 base"},qpt=tt("div",{class:"i-carbon:search","flex-shrink-0":""},null,-1),Hpt=["op"],Bpt={class:"scrolls","flex-auto":"","py-1":""},Wpt={"text-red5":""},Upt={"text-yellow5":""},jpt={"text-green5":""},Vpt={class:"text-purple5:50"},Gpt={key:2,flex:"~ col","items-center":"",p:"x4 y4","font-light":""},Kpt=tt("div",{op30:""}," No matched test ",-1),jb=ie({inheritAttrs:!1,__name:"TasksList",props:{tasks:{},indent:{default:0},nested:{type:Boolean,default:!1},groupByType:{type:Boolean,default:!1},onItemClick:{type:Function}},emits:["run"],setup(t,{emit:e}){const r=e,o=Zt(""),s=Zt(),u=xt(()=>o.value.trim()!==""),f=xt(()=>o.value.trim()?t.tasks.filter(L=>A([L],o.value)):t.tasks),h=xt(()=>u.value?f.value.map(L=>hc(L.id)).filter(Boolean):[]),d=xt(()=>f.value.filter(L=>{var T;return((T=L.result)==null?void 0:T.state)==="fail"})),g=xt(()=>f.value.filter(L=>{var T;return((T=L.result)==null?void 0:T.state)==="pass"})),v=xt(()=>f.value.filter(L=>L.mode==="skip"||L.mode==="todo")),b=xt(()=>f.value.filter(L=>!d.value.includes(L)&&!g.value.includes(L)&&!v.value.includes(L))),w=xt(()=>o.value===""),S=vlt(b,250);function P(L){var T;o.value="",L&&((T=s.value)==null||T.focus())}function A(L,T){let M=!1;for(let R=0;R{const M=bs,R=Rpt,E=Ept,B=uo("tooltip");return st(),kt("div",zpt,[tt("div",null,[tt("div",Ipt,[sr(L.$slots,"header",{filteredTests:U(u)?U(h):void 0})]),tt("div",Fpt,[qpt,nn(tt("input",{ref_key:"searchBox",ref:s,"onUpdate:modelValue":T[0]||(T[0]=K=>Le(o)?o.value=K:null),placeholder:"Search...",outline:"none",bg:"transparent",font:"light",text:"sm","flex-1":"","pl-1":"",op:U(o).length?"100":"50",onKeydown:[T[1]||(T[1]=Of(K=>P(!1),["esc"])),T[2]||(T[2]=Of(K=>r("run",U(u)?U(h):void 0),["enter"]))]},null,40,Hpt),[[wS,U(o)]]),nn(Ft(M,{disabled:U(w),title:"Clear search",icon:"i-carbon:filter-remove",onClickPassive:T[3]||(T[3]=K=>P(!0))},null,8,["disabled"]),[[B,"Clear search",void 0,{bottom:!0}]])])]),tt("div",Bpt,[L.groupByType?(st(),kt(ne,{key:0},[U(d).length?(st(),te(E,{key:0},{summary:ee(()=>[tt("div",Wpt," FAIL ("+Ut(U(d).length)+") ",1)]),default:ee(()=>[(st(!0),kt(ne,null,Rn(U(d),K=>(st(),te(R,{key:K.id,task:K,nested:L.nested,search:U(o),class:ve(U(yr)===K.id?"bg-active":""),"on-item-click":L.onItemClick},null,8,["task","nested","search","class","on-item-click"]))),128))]),_:1})):Vt("",!0),U(b).length||U(kl)==="running"?(st(),te(E,{key:1},{summary:ee(()=>[tt("div",Upt," RUNNING ("+Ut(U(S).length)+") ",1)]),default:ee(()=>[(st(!0),kt(ne,null,Rn(U(S),K=>(st(),te(R,{key:K.id,task:K,nested:L.nested,search:U(o),class:ve(U(yr)===K.id?"bg-active":""),"on-item-click":L.onItemClick},null,8,["task","nested","search","class","on-item-click"]))),128))]),_:1})):Vt("",!0),U(g).length?(st(),te(E,{key:2},{summary:ee(()=>[tt("div",jpt," PASS ("+Ut(U(g).length)+") ",1)]),default:ee(()=>[(st(!0),kt(ne,null,Rn(U(g),K=>(st(),te(R,{key:K.id,task:K,nested:L.nested,search:U(o),class:ve(U(yr)===K.id?"bg-active":""),"on-item-click":L.onItemClick},null,8,["task","nested","search","class","on-item-click"]))),128))]),_:1})):Vt("",!0),U(v).length?(st(),te(E,{key:3},{summary:ee(()=>[tt("div",Vpt," SKIP ("+Ut(U(v).length)+") ",1)]),default:ee(()=>[(st(!0),kt(ne,null,Rn(U(v),K=>(st(),te(R,{key:K.id,task:K,nested:L.nested,search:U(o),class:ve(U(yr)===K.id?"bg-active":""),"on-item-click":L.onItemClick},null,8,["task","nested","search","class","on-item-click"]))),128))]),_:1})):Vt("",!0)],64)):(st(!0),kt(ne,{key:1},Rn(U(f),K=>(st(),te(R,{key:K.id,task:K,nested:L.nested,search:U(o),class:ve(U(yr)===K.id?"bg-active":""),"on-item-click":L.onItemClick},null,8,["task","nested","search","class","on-item-click"]))),128)),U(u)&&U(f).length===0?(st(),kt("div",Gpt,[Kpt,tt("button",{"font-light":"",op:"50 hover:100","text-sm":"",border:"~ gray-400/50 rounded",p:"x2 y0.5",m:"t2",onClickPassive:T[4]||(T[4]=K=>P(!0))}," Clear ",32)])):Vt("",!0)])])}}}),Ml=Zt(),ns=Zt(!0),ao=Zt(!1),xc=Zt(!0),jo=xt(()=>{var t;return(t=Xh.value)==null?void 0:t.coverage}),sh=xt(()=>{var t;return(t=jo.value)==null?void 0:t.enabled}),Vo=xt(()=>sh.value&&jo.value.reporter.map(([t])=>t).includes("html")),Xpt=xt(()=>{if(Vo.value){const t=jo.value.reportsDirectory.lastIndexOf("/"),e=jo.value.reporter.find(r=>{if(r[0]==="html")return r});return e&&"subdir"in e[1]?`/${jo.value.reportsDirectory.slice(t+1)}/${e[1].subdir}/index.html`:`/${jo.value.reportsDirectory.slice(t+1)}/index.html`}});Re(kl,t=>{xc.value=t==="running"},{immediate:!0});function Ypt(){const t=yr.value;if(t&&t.length>0){const e=hc(t);e?(Ml.value=e,ns.value=!1,ao.value=!1):blt(()=>je.state.getFiles(),()=>{Ml.value=hc(t),ns.value=!1,ao.value=!1})}return ns}function pf(t){ns.value=t,ao.value=!1,t&&(Ml.value=void 0,yr.value="")}function Zpt(){ao.value=!0,ns.value=!1,Ml.value=void 0,yr.value=""}const Qpt={key:0,"h-full":""},Jpt={key:0,"i-logos:typescript-icon":"","flex-shrink-0":"","mr-1":""},tgt={"data-testid":"filenames","font-bold":"","text-sm":"","flex-auto":"","ws-nowrap":"","overflow-hidden":"",truncate:""},egt={class:"flex text-lg"},ngt=ie({__name:"Suites",setup(t){const e=xt(()=>{var u;return(u=Se.value)==null?void 0:u.name.split(/\//g).pop()}),r=xt(()=>{var u,f;return((u=Se.value)==null?void 0:u.tasks)&&Wc((f=Se.value)==null?void 0:f.tasks)});function o(){return Se.value&&je.rpc.updateSnapshot(Se.value)}async function s(){Vo.value&&(xc.value=!0,await Br()),await iat()}return(u,f)=>{const h=ad,d=bs,g=jb,v=uo("tooltip");return U(Se)?(st(),kt("div",Qpt,[Ft(g,{tasks:U(Se).tasks,nested:!0},{header:ee(()=>[Ft(h,{"mx-1":"",task:U(Se)},null,8,["task"]),U(Se).type==="suite"&&U(Se).meta.typecheck?(st(),kt("div",Jpt)):Vt("",!0),tt("span",tgt,Ut(U(e)),1),tt("div",egt,[U(r)&&!U(jr)?nn((st(),te(d,{key:0,icon:"i-carbon-result-old",onClick:f[0]||(f[0]=b=>o())},null,512)),[[v,`Update failed snapshot(s) of ${U(Se).name}`,void 0,{bottom:!0}]]):Vt("",!0),U(jr)?Vt("",!0):nn((st(),te(d,{key:1,icon:"i-carbon-play",onClick:f[1]||(f[1]=b=>s())},null,512)),[[v,"Rerun file",void 0,{bottom:!0}]])])]),_:1},8,["tasks"])])):Vt("",!0)}}}),rgt={h:"full",flex:"~ col"},igt=tt("div",{p:"3","h-10":"",flex:"~ gap-2","items-center":"","bg-header":"",border:"b base"},[tt("div",{class:"i-carbon:folder-details-reference"}),tt("span",{"pl-1":"","font-bold":"","text-sm":"","flex-auto":"","ws-nowrap":"","overflow-hidden":"",truncate:""},"Coverage")],-1),ogt={"flex-auto":"","py-1":"","bg-white":""},sgt=["src"],lgt=ie({__name:"Coverage",props:{src:{}},setup(t){return(e,r)=>(st(),kt("div",rgt,[igt,tt("div",ogt,[tt("iframe",{id:"vitest-ui-coverage",src:e.src},null,8,sgt)])]))}}),agt={bg:"red500/10","p-1":"","mb-1":"","mt-2":"",rounded:""},cgt={"font-bold":""},ugt={key:0,class:"scrolls",text:"xs","font-mono":"","mx-1":"","my-2":"","pb-2":"","overflow-auto":""},fgt=["font-bold"],hgt={text:"red500/70"},dgt=tt("br",null,null,-1),pgt={key:1,text:"sm","mb-2":""},ggt={"font-bold":""},vgt={key:2,text:"sm","mb-2":""},mgt={"font-bold":""},ygt=tt("br",null,null,-1),bgt=tt("ul",null,[tt("li",null," The error was thrown, while Vitest was running this test. "),tt("li",null," If the error occurred after the test had been completed, this was the last documented test before it was thrown. ")],-1),wgt={key:3,text:"sm","font-thin":""},xgt=tt("br",null,null,-1),_gt=tt("ul",null,[tt("li",null," Cancel timeouts using clearTimeout and clearInterval. "),tt("li",null," Wait for promises to resolve using the await keyword. ")],-1),Sgt=ie({__name:"ErrorEntry",props:{error:{}},setup(t){return(e,r)=>{var o;return st(),kt(ne,null,[tt("h4",agt,[tt("span",cgt,[me(Ut(e.error.name||e.error.nameStr||"Unknown Error"),1),e.error.message?(st(),kt(ne,{key:0},[me(":")],64)):Vt("",!0)]),me(" "+Ut(e.error.message),1)]),(o=e.error.stacks)!=null&&o.length?(st(),kt("p",ugt,[(st(!0),kt(ne,null,Rn(e.error.stacks,(s,u)=>(st(),kt("span",{"whitespace-pre":"","font-bold":u===0?"":null},[me("❯ "+Ut(s.method)+" "+Ut(s.file)+":",1),tt("span",hgt,Ut(s.line)+":"+Ut(s.column),1),dgt],8,fgt))),256))])):Vt("",!0),e.error.VITEST_TEST_PATH?(st(),kt("p",pgt,[me(" This error originated in "),tt("span",ggt,Ut(e.error.VITEST_TEST_PATH),1),me(" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. ")])):Vt("",!0),e.error.VITEST_TEST_NAME?(st(),kt("p",vgt,[me(" The latest test that might've caused the error is "),tt("span",mgt,Ut(e.error.VITEST_TEST_NAME),1),me(". It might mean one of the following:"),ygt,bgt])):Vt("",!0),e.error.VITEST_AFTER_ENV_TEARDOWN?(st(),kt("p",wgt,[me(" This error was caught after test environment was torn down. Make sure to cancel any running tasks before test finishes:"),xgt,_gt])):Vt("",!0)],64)}}}),bn=t=>(Xm("data-v-09d153f7"),t=t(),Ym(),t),kgt={"data-testid":"test-files-entry",grid:"~ cols-[min-content_1fr_min-content]","items-center":"",gap:"x-2 y-3",p:"x4",relative:"","font-light":"","w-80":"",op80:""},Cgt=bn(()=>tt("div",{"i-carbon-document":""},null,-1)),Tgt=bn(()=>tt("div",null,"Files",-1)),Egt={class:"number","data-testid":"num-files"},Lgt=bn(()=>tt("div",{"i-carbon-checkmark":""},null,-1)),Agt=bn(()=>tt("div",null,"Pass",-1)),Mgt={class:"number"},Ngt=bn(()=>tt("div",{"i-carbon-close":""},null,-1)),Pgt=bn(()=>tt("div",null," Fail ",-1)),Ogt={class:"number","text-red5":""},Dgt=bn(()=>tt("div",{"i-carbon-compare":""},null,-1)),$gt=bn(()=>tt("div",null," Snapshot Fail ",-1)),Rgt={class:"number","text-red5":""},zgt=bn(()=>tt("div",{"i-carbon-checkmark-outline-error":""},null,-1)),Igt=bn(()=>tt("div",null," Errors ",-1)),Fgt={class:"number","text-red5":""},qgt=bn(()=>tt("div",{"i-carbon-timer":""},null,-1)),Hgt=bn(()=>tt("div",null,"Time",-1)),Bgt={class:"number","data-testid":"run-time"},Wgt={key:0,bg:"red500/10",text:"red500",p:"x3 y2","max-w-xl":"","m-2":"",rounded:""},Ugt=bn(()=>tt("h3",{"text-center":"","mb-2":""}," Unhandled Errors ",-1)),jgt={text:"sm","font-thin":"","mb-2":"","data-testid":"unhandled-errors"},Vgt=bn(()=>tt("br",null,null,-1)),Ggt={"data-testid":"unhandled-errors-details",class:"scrolls unhandled-errors",text:"sm","font-thin":"","pe-2.5":"","open:max-h-52":"","overflow-auto":""},Kgt=bn(()=>tt("summary",{"font-bold":"","cursor-pointer":""},"Errors",-1)),Xgt=ie({__name:"TestFilesEntry",setup(t){return(e,r)=>{const o=Sgt;return st(),kt(ne,null,[tt("div",kgt,[Cgt,Tgt,tt("div",Egt,Ut(U(mn).length),1),U(pc).length?(st(),kt(ne,{key:0},[Lgt,Agt,tt("div",Mgt,Ut(U(pc).length),1)],64)):Vt("",!0),U(dc).length?(st(),kt(ne,{key:1},[Ngt,Pgt,tt("div",Ogt,Ut(U(dc).length),1)],64)):Vt("",!0),U(Kv).length?(st(),kt(ne,{key:2},[Dgt,$gt,tt("div",Rgt,Ut(U(Kv).length),1)],64)):Vt("",!0),U(yi).length?(st(),kt(ne,{key:3},[zgt,Igt,tt("div",Fgt,Ut(U(yi).length),1)],64)):Vt("",!0),qgt,Hgt,tt("div",Bgt,Ut(U(Tat)),1)]),U(yi).length?(st(),kt("div",Wgt,[Ugt,tt("p",jgt,[me(" Vitest caught "+Ut(U(yi).length)+" error"+Ut(U(yi).length>1?"s":"")+" during the test run.",1),Vgt,me(" This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected. ")]),tt("details",Ggt,[Kgt,(st(!0),kt(ne,null,Rn(U(yi),s=>(st(),te(o,{error:s},null,8,["error"]))),256))])])):Vt("",!0)],64)}}}),Ygt=fo(Xgt,[["__scopeId","data-v-09d153f7"]]),Zgt={"p-2":"","text-center":"",flex:""},Qgt={"text-4xl":"","min-w-2em":""},Jgt={"text-md":""},tvt=ie({__name:"DashboardEntry",props:{tail:{type:Boolean,default:!1}},setup(t){return(e,r)=>(st(),kt("div",Zgt,[tt("div",null,[tt("div",Qgt,[sr(e.$slots,"body")]),tt("div",Jgt,[sr(e.$slots,"header")])])]))}}),evt={flex:"~ wrap","justify-evenly":"","gap-2":"",p:"x-4",relative:""},nvt=ie({__name:"TestsEntry",setup(t){const e=xt(()=>Vc.value.length),r=xt(()=>eb.value.length),o=xt(()=>tb.value.length),s=xt(()=>kat.value.length),u=xt(()=>Cat.value.length);return(f,h)=>{const d=tvt;return st(),kt("div",evt,[Ft(d,{"text-green5":"","data-testid":"pass-entry"},{header:ee(()=>[me(" Pass ")]),body:ee(()=>[me(Ut(U(r)),1)]),_:1}),Ft(d,{class:ve({"text-red5":U(o),op50:!U(o)}),"data-testid":"fail-entry"},{header:ee(()=>[me(" Fail ")]),body:ee(()=>[me(Ut(U(o)),1)]),_:1},8,["class"]),U(s)?(st(),te(d,{key:0,op50:"","data-testid":"skipped-entry"},{header:ee(()=>[me(" Skip ")]),body:ee(()=>[me(Ut(U(s)),1)]),_:1})):Vt("",!0),U(u)?(st(),te(d,{key:1,op50:"","data-testid":"todo-entry"},{header:ee(()=>[me(" Todo ")]),body:ee(()=>[me(Ut(U(u)),1)]),_:1})):Vt("",!0),Ft(d,{tail:!0,"data-testid":"total-entry"},{header:ee(()=>[me(" Total ")]),body:ee(()=>[me(Ut(U(e)),1)]),_:1})])}}}),rvt={},ivt={"gap-0":"",flex:"~ col gap-4","h-full":"","justify-center":"","items-center":""},ovt={"aria-labelledby":"tests",m:"y-4 x-2"};function svt(t,e){const r=nvt,o=Ygt;return st(),kt("div",ivt,[tt("section",ovt,[Ft(r)]),Ft(o)])}const lvt=fo(rvt,[["render",svt]]),avt={},cvt={h:"full",flex:"~ col"},uvt=tt("div",{p:"3","h-10":"",flex:"~ gap-2","items-center":"","bg-header":"",border:"b base"},[tt("div",{class:"i-carbon-dashboard"}),tt("span",{"pl-1":"","font-bold":"","text-sm":"","flex-auto":"","ws-nowrap":"","overflow-hidden":"",truncate:""},"Dashboard")],-1),fvt={class:"scrolls","flex-auto":"","py-1":""};function hvt(t,e){const r=lvt;return st(),kt("div",cvt,[uvt,tt("div",fvt,[Ft(r)])])}const dvt=fo(avt,[["render",hvt]]),pvt=""+new URL("../favicon.svg",import.meta.url).href,gvt=tt("img",{"w-6":"","h-6":"",src:pvt,alt:"Vitest logo"},null,-1),vvt=tt("span",{"font-light":"","text-sm":"","flex-1":""},"Vitest",-1),mvt={class:"flex text-lg"},yvt=tt("div",{class:"i-carbon:folder-off ma"},null,-1),bvt=tt("div",{class:"op100 gap-1 p-y-1",grid:"~ items-center cols-[1.5em_1fr]"},[tt("div",{class:"i-carbon:information-square w-1.5em h-1.5em"}),tt("div",null,"Coverage enabled but missing html reporter."),tt("div",{style:{"grid-column":"2"}}," Add html reporter to your configuration to see coverage here. ")],-1),wvt=ie({__name:"Navigation",setup(t){const e=xt(()=>mn.value&&Wc(mn.value));function r(){return je.rpc.updateSnapshot()}const o=xt(()=>zl.value?"light":"dark");function s(f){yr.value=f.id,Ml.value=hc(f.id),pf(!1)}async function u(f){Vo.value&&(xc.value=!0,await Br(),ao.value&&(pf(!0),await Br())),await rat(f)}return(f,h)=>{const d=bs,g=jb,v=uo("tooltip");return st(),te(g,{border:"r base",tasks:U(mn),"on-item-click":s,"group-by-type":!0,onRun:u},{header:ee(({filteredTests:b})=>[gvt,vvt,tt("div",mvt,[nn(Ft(d,{title:"Show dashboard",class:"!animate-100ms","animate-count-1":"",icon:"i-carbon:dashboard",onClick:h[0]||(h[0]=w=>U(pf)(!0))},null,512),[[Nf,U(sh)&&!U(Vo)||!U(ns)],[v,"Dashboard",void 0,{bottom:!0}]]),U(sh)&&!U(Vo)?(st(),te(U(BC),{key:0,title:"Coverage enabled but missing html reporter",class:"w-1.4em h-1.4em op100 rounded flex color-red5 dark:color-#f43f5e cursor-help"},{popper:ee(()=>[bvt]),default:ee(()=>[yvt]),_:1})):Vt("",!0),U(Vo)?nn((st(),te(d,{key:1,disabled:U(xc),title:"Show coverage",class:"!animate-100ms","animate-count-1":"",icon:"i-carbon:folder-details-reference",onClick:h[1]||(h[1]=w=>U(Zpt)())},null,8,["disabled"])),[[Nf,!U(ao)],[v,"Coverage",void 0,{bottom:!0}]]):Vt("",!0),U(e)&&!U(jr)?nn((st(),te(d,{key:2,icon:"i-carbon:result-old",onClick:h[2]||(h[2]=w=>r())},null,512)),[[v,"Update all failed snapshot(s)",void 0,{bottom:!0}]]):Vt("",!0),U(jr)?Vt("",!0):nn((st(),te(d,{key:3,disabled:(b==null?void 0:b.length)===0,icon:"i-carbon:play",onClick:w=>u(b)},null,8,["disabled","onClick"])),[[v,b?b.length===0?"No test to run (clear filter)":"Rerun filtered":"Rerun all",void 0,{bottom:!0}]]),nn(Ft(d,{icon:"dark:i-carbon-moon i-carbon:sun",onClick:h[3]||(h[3]=w=>U(aat)())},null,512),[[v,`Toggle to ${U(o)} mode`,void 0,{bottom:!0}]])])]),_:1},8,["tasks"])}}}),xvt={"h-3px":"",relative:"","overflow-hidden":"",class:"px-0","w-screen":""},_vt=ie({__name:"ProgressBar",setup(t){const{width:e}=Dlt(),r=xt(()=>mn.value.length===0?"!bg-gray-4 !dark:bg-gray-7 in-progress":Sat.value?null:"in-progress"),o=xt(()=>mn.value.length),s=xt(()=>pc.value.length),u=xt(()=>dc.value.length),f=xt(()=>{const v=U(o);return v>0?e.value*s.value/v:0}),h=xt(()=>{const v=U(o);return v>0?e.value*u.value/v:0}),d=xt(()=>U(o)-u.value-s.value),g=xt(()=>{const v=U(o);return v>0?e.value*d.value/v:0});return(v,b)=>(st(),kt("div",{absolute:"","t-0":"","l-0":"","r-0":"","z-index-1031":"","pointer-events-none":"","p-0":"","h-3px":"",grid:"~ auto-cols-max","justify-items-center":"","w-screen":"",class:ve(U(r))},[tt("div",xvt,[tt("div",{absolute:"","l-0":"","t-0":"","bg-red5":"","h-3px":"",class:ve(U(r)),style:An(`width: ${U(h)}px;`)},"   ",6),tt("div",{absolute:"","l-0":"","t-0":"","bg-green5":"","h-3px":"",class:ve(U(r)),style:An(`left: ${U(h)}px; width: ${U(f)}px;`)},"   ",6),tt("div",{absolute:"","l-0":"","t-0":"","bg-yellow5":"","h-3px":"",class:ve(U(r)),style:An(`left: ${U(f)+U(h)}px; width: ${U(g)}px;`)},"   ",6)])],2))}}),Svt=fo(_vt,[["__scopeId","data-v-f967c1fe"]]),wm={name:"splitpanes",emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click"],props:{horizontal:{type:Boolean},pushOtherPanes:{type:Boolean,default:!0},dblClickSplitter:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean}},provide(){return{requestUpdate:this.requestUpdate,onPaneAdd:this.onPaneAdd,onPaneRemove:this.onPaneRemove,onPaneClick:this.onPaneClick}},data:()=>({container:null,ready:!1,panes:[],touch:{mouseDown:!1,dragging:!1,activeSplitter:null},splitterTaps:{splitter:null,timeoutId:null}}),computed:{panesCount(){return this.panes.length},indexedPanes(){return this.panes.reduce((t,e)=>(t[e.id]=e)&&t,{})}},methods:{updatePaneComponents(){this.panes.forEach(t=>{t.update&&t.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[t.id].size}%`})})},bindEvents(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseDown(t,e){this.bindEvents(),this.touch.mouseDown=!0,this.touch.activeSplitter=e},onMouseMove(t){this.touch.mouseDown&&(t.preventDefault(),this.touch.dragging=!0,this.calculatePanesSize(this.getCurrentMouseDrag(t)),this.$emit("resize",this.panes.map(e=>({min:e.min,max:e.max,size:e.size}))))},onMouseUp(){this.touch.dragging&&this.$emit("resized",this.panes.map(t=>({min:t.min,max:t.max,size:t.size}))),this.touch.mouseDown=!1,setTimeout(()=>{this.touch.dragging=!1,this.unbindEvents()},100)},onSplitterClick(t,e){"ontouchstart"in window&&(t.preventDefault(),this.dblClickSplitter&&(this.splitterTaps.splitter===e?(clearTimeout(this.splitterTaps.timeoutId),this.splitterTaps.timeoutId=null,this.onSplitterDblClick(t,e),this.splitterTaps.splitter=null):(this.splitterTaps.splitter=e,this.splitterTaps.timeoutId=setTimeout(()=>{this.splitterTaps.splitter=null},500)))),this.touch.dragging||this.$emit("splitter-click",this.panes[e])},onSplitterDblClick(t,e){let r=0;this.panes=this.panes.map((o,s)=>(o.size=s===e?o.max:o.min,s!==e&&(r+=o.min),o)),this.panes[e].size-=r,this.$emit("pane-maximize",this.panes[e]),this.$emit("resized",this.panes.map(o=>({min:o.min,max:o.max,size:o.size})))},onPaneClick(t,e){this.$emit("pane-click",this.indexedPanes[e])},getCurrentMouseDrag(t){const e=this.container.getBoundingClientRect(),{clientX:r,clientY:o}="ontouchstart"in window&&t.touches?t.touches[0]:t;return{x:r-e.left,y:o-e.top}},getCurrentDragPercentage(t){t=t[this.horizontal?"y":"x"];const e=this.container[this.horizontal?"clientHeight":"clientWidth"];return this.rtl&&!this.horizontal&&(t=e-t),t*100/e},calculatePanesSize(t){const e=this.touch.activeSplitter;let r={prevPanesSize:this.sumPrevPanesSize(e),nextPanesSize:this.sumNextPanesSize(e),prevReachedMinPanes:0,nextReachedMinPanes:0};const o=0+(this.pushOtherPanes?0:r.prevPanesSize),s=100-(this.pushOtherPanes?0:r.nextPanesSize),u=Math.max(Math.min(this.getCurrentDragPercentage(t),s),o);let f=[e,e+1],h=this.panes[f[0]]||null,d=this.panes[f[1]]||null;const g=h.max<100&&u>=h.max+r.prevPanesSize,v=d.max<100&&u<=100-(d.max+this.sumNextPanesSize(e+1));if(g||v){g?(h.size=h.max,d.size=Math.max(100-h.max-r.prevPanesSize-r.nextPanesSize,0)):(h.size=Math.max(100-d.max-r.prevPanesSize-this.sumNextPanesSize(e+1),0),d.size=d.max);return}if(this.pushOtherPanes){const b=this.doPushOtherPanes(r,u);if(!b)return;({sums:r,panesToResize:f}=b),h=this.panes[f[0]]||null,d=this.panes[f[1]]||null}h!==null&&(h.size=Math.min(Math.max(u-r.prevPanesSize-r.prevReachedMinPanes,h.min),h.max)),d!==null&&(d.size=Math.min(Math.max(100-u-r.nextPanesSize-r.nextReachedMinPanes,d.min),d.max))},doPushOtherPanes(t,e){const r=this.touch.activeSplitter,o=[r,r+1];return e{u>o[0]&&u<=r&&(s.size=s.min,t.prevReachedMinPanes+=s.min)}),t.prevPanesSize=this.sumPrevPanesSize(o[0]),o[0]===void 0)?(t.prevReachedMinPanes=0,this.panes[0].size=this.panes[0].min,this.panes.forEach((s,u)=>{u>0&&u<=r&&(s.size=s.min,t.prevReachedMinPanes+=s.min)}),this.panes[o[1]].size=100-t.prevReachedMinPanes-this.panes[0].min-t.prevPanesSize-t.nextPanesSize,null):e>100-t.nextPanesSize-this.panes[o[1]].min&&(o[1]=this.findNextExpandedPane(r).index,t.nextReachedMinPanes=0,o[1]>r+1&&this.panes.forEach((s,u)=>{u>r&&u{u=r+1&&(s.size=s.min,t.nextReachedMinPanes+=s.min)}),this.panes[o[0]].size=100-t.prevPanesSize-t.nextReachedMinPanes-this.panes[this.panesCount-1].min-t.nextPanesSize,null):{sums:t,panesToResize:o}},sumPrevPanesSize(t){return this.panes.reduce((e,r,o)=>e+(oe+(o>t+1?r.size:0),0)},findPrevExpandedPane(t){return[...this.panes].reverse().find(e=>e.indexe.min)||{}},findNextExpandedPane(t){return this.panes.find(e=>e.index>t+1&&e.size>e.min)||{}},checkSplitpanesNodes(){Array.from(this.container.children).forEach(t=>{const e=t.classList.contains("splitpanes__pane"),r=t.classList.contains("splitpanes__splitter");!e&&!r&&(t.parentNode.removeChild(t),console.warn("Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed."))})},addSplitter(t,e,r=!1){const o=t-1,s=document.createElement("div");s.classList.add("splitpanes__splitter"),r||(s.onmousedown=u=>this.onMouseDown(u,o),typeof window<"u"&&"ontouchstart"in window&&(s.ontouchstart=u=>this.onMouseDown(u,o)),s.onclick=u=>this.onSplitterClick(u,o+1)),this.dblClickSplitter&&(s.ondblclick=u=>this.onSplitterDblClick(u,o+1)),e.parentNode.insertBefore(s,e)},removeSplitter(t){t.onmousedown=void 0,t.onclick=void 0,t.ondblclick=void 0,t.parentNode.removeChild(t)},redoSplitters(){const t=Array.from(this.container.children);t.forEach(r=>{r.className.includes("splitpanes__splitter")&&this.removeSplitter(r)});let e=0;t.forEach(r=>{r.className.includes("splitpanes__pane")&&(!e&&this.firstSplitter?this.addSplitter(e,r,!0):e&&this.addSplitter(e,r),e++)})},requestUpdate({target:t,...e}){const r=this.indexedPanes[t._.uid];Object.entries(e).forEach(([o,s])=>r[o]=s)},onPaneAdd(t){let e=-1;Array.from(t.$el.parentNode.children).some(s=>(s.className.includes("splitpanes__pane")&&e++,s===t.$el));const r=parseFloat(t.minSize),o=parseFloat(t.maxSize);this.panes.splice(e,0,{id:t._.uid,index:e,min:isNaN(r)?0:r,max:isNaN(o)?100:o,size:t.size===null?null:parseFloat(t.size),givenSize:t.size,update:t.update}),this.panes.forEach((s,u)=>s.index=u),this.ready&&this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({addedPane:this.panes[e]}),this.$emit("pane-add",{index:e,panes:this.panes.map(s=>({min:s.min,max:s.max,size:s.size}))})})},onPaneRemove(t){const e=this.panes.findIndex(o=>o.id===t._.uid),r=this.panes.splice(e,1)[0];this.panes.forEach((o,s)=>o.index=s),this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({removedPane:{...r,index:e}}),this.$emit("pane-remove",{removed:r,panes:this.panes.map(o=>({min:o.min,max:o.max,size:o.size}))})})},resetPaneSizes(t={}){!t.addedPane&&!t.removedPane?this.initialPanesSizing():this.panes.some(e=>e.givenSize!==null||e.min||e.max<100)?this.equalizeAfterAddOrRemove(t):this.equalize(),this.ready&&this.$emit("resized",this.panes.map(e=>({min:e.min,max:e.max,size:e.size})))},equalize(){const t=100/this.panesCount;let e=0;const r=[],o=[];this.panes.forEach(s=>{s.size=Math.max(Math.min(t,s.max),s.min),e-=s.size,s.size>=s.max&&r.push(s.id),s.size<=s.min&&o.push(s.id)}),e>.1&&this.readjustSizes(e,r,o)},initialPanesSizing(){let t=100;const e=[],r=[];let o=0;this.panes.forEach(u=>{t-=u.size,u.size!==null&&o++,u.size>=u.max&&e.push(u.id),u.size<=u.min&&r.push(u.id)});let s=100;t>.1&&(this.panes.forEach(u=>{u.size===null&&(u.size=Math.max(Math.min(t/(this.panesCount-o),u.max),u.min)),s-=u.size}),s>.1&&this.readjustSizes(t,e,r))},equalizeAfterAddOrRemove({addedPane:t,removedPane:e}={}){let r=100/this.panesCount,o=0;const s=[],u=[];t&&t.givenSize!==null&&(r=(100-t.givenSize)/(this.panesCount-1)),this.panes.forEach(f=>{o-=f.size,f.size>=f.max&&s.push(f.id),f.size<=f.min&&u.push(f.id)}),!(Math.abs(o)<.1)&&(this.panes.forEach(f=>{t&&t.givenSize!==null&&t.id===f.id||(f.size=Math.max(Math.min(r,f.max),f.min)),o-=f.size,f.size>=f.max&&s.push(f.id),f.size<=f.min&&u.push(f.id)}),o>.1&&this.readjustSizes(o,s,u))},readjustSizes(t,e,r){let o;t>0?o=t/(this.panesCount-e.length):o=t/(this.panesCount-r.length),this.panes.forEach((s,u)=>{if(t>0&&!e.includes(s.id)){const f=Math.max(Math.min(s.size+o,s.max),s.min),h=f-s.size;t-=h,s.size=f}else if(!r.includes(s.id)){const f=Math.max(Math.min(s.size+o,s.max),s.min),h=f-s.size;t-=h,s.size=f}s.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[s.id].size}%`})}),Math.abs(t)>.1&&this.$nextTick(()=>{this.ready&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})}},watch:{panes:{deep:!0,immediate:!1,handler(){this.updatePaneComponents()}},horizontal(){this.updatePaneComponents()},firstSplitter(){this.redoSplitters()},dblClickSplitter(t){[...this.container.querySelectorAll(".splitpanes__splitter")].forEach((e,r)=>{e.ondblclick=t?o=>this.onSplitterDblClick(o,r):void 0})}},beforeUnmount(){this.ready=!1},mounted(){this.container=this.$refs.container,this.checkSplitpanesNodes(),this.redoSplitters(),this.resetPaneSizes(),this.$emit("ready"),this.ready=!0},render(){return Ol("div",{ref:"container",class:["splitpanes",`splitpanes--${this.horizontal?"horizontal":"vertical"}`,{"splitpanes--dragging":this.touch.dragging}]},this.$slots.default())}},kvt=(t,e)=>{const r=t.__vccOpts||t;for(const[o,s]of e)r[o]=s;return r},Cvt={name:"pane",inject:["requestUpdate","onPaneAdd","onPaneRemove","onPaneClick"],props:{size:{type:[Number,String],default:null},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},data:()=>({style:{}}),mounted(){this.onPaneAdd(this)},beforeUnmount(){this.onPaneRemove(this)},methods:{update(t){this.style=t}},computed:{sizeNumber(){return this.size||this.size===0?parseFloat(this.size):null},minSizeNumber(){return parseFloat(this.minSize)},maxSizeNumber(){return parseFloat(this.maxSize)}},watch:{sizeNumber(t){this.requestUpdate({target:this,size:t})},minSizeNumber(t){this.requestUpdate({target:this,min:t})},maxSizeNumber(t){this.requestUpdate({target:this,max:t})}}};function Tvt(t,e,r,o,s,u){return st(),kt("div",{class:"splitpanes__pane",onClick:e[0]||(e[0]=f=>u.onPaneClick(f,t._.uid)),style:An(t.style)},[sr(t.$slots,"default")],4)}const za=kvt(Cvt,[["render",Tvt]]),Evt={"h-screen":"","w-screen":"",overflow:"hidden"},Lvt=ie({__name:"index",setup(t){const e=Ypt(),r=Un([33,67]),o=Un([33,67]),s=Vv(h=>{h.forEach((d,g)=>{r[g]=d.size})},0),u=Vv(h=>{h.forEach((d,g)=>{o[g]=d.size})},0);function f(){const h=window.innerWidth,d=Math.min(h/3,300);r[0]=100*d/h,r[1]=100-r[0],o[0]=100*d/(h-d),o[1]=100-o[0]}return(h,d)=>{const g=Svt,v=wvt,b=dvt,w=lgt,S=ngt,P=Spt,A=lat;return st(),kt(ne,null,[Ft(g),tt("div",Evt,[Ft(U(wm),{class:"pt-4px",onResized:U(s),onReady:f},{default:ee(()=>[Ft(U(za),{size:U(r)[0]},{default:ee(()=>[Ft(v)]),_:1},8,["size"]),Ft(U(za),{size:U(r)[1]},{default:ee(()=>[Ft(Ph,null,{default:ee(()=>[U(e)?(st(),te(b,{key:"summary"})):U(ao)?(st(),te(w,{key:"coverage",src:U(Xpt)},null,8,["src"])):(st(),te(U(wm),{key:"detail",onResized:U(u)},{default:ee(()=>[Ft(U(za),{size:U(o)[0]},{default:ee(()=>[Ft(S)]),_:1},8,["size"]),Ft(U(za),{size:U(o)[1]},{default:ee(()=>[Ft(P)]),_:1},8,["size"])]),_:1},8,["onResized"]))]),_:1})]),_:1},8,["size"])]),_:1},8,["onResized"])]),Ft(A)],64)}}}),Avt=[{name:"index",path:"/",component:Lvt,props:!0}],Mvt={tooltip:HC};ny.options.instantMove=!0;ny.options.distance=10;function Nvt(){return Mk({history:VS(),routes:Avt})}const Pvt=[Nvt],cd=_0(ES);Pvt.forEach(t=>{cd.use(t())});Object.entries(Mvt).forEach(([t,e])=>{cd.directive(t,e)});cd.mount("#app"); diff --git a/.pnpm-store/v3/files/b6/63292b4d018d9894c95cafac12bb9277ab3609a0bdc57f28b572ba66bf482f9340dd7aec6acc45c880353cf4f7e937cd6f0bf2deb48d63b51a97e465d8d36b-index.json b/.pnpm-store/v3/files/b6/63292b4d018d9894c95cafac12bb9277ab3609a0bdc57f28b572ba66bf482f9340dd7aec6acc45c880353cf4f7e937cd6f0bf2deb48d63b51a97e465d8d36b-index.json new file mode 100644 index 00000000..45a5b0a4 --- /dev/null +++ b/.pnpm-store/v3/files/b6/63292b4d018d9894c95cafac12bb9277ab3609a0bdc57f28b572ba66bf482f9340dd7aec6acc45c880353cf4f7e937cd6f0bf2deb48d63b51a97e465d8d36b-index.json @@ -0,0 +1 @@ +{"files":{"license":{"checkedAt":1708001724866,"integrity":"sha512-tq88+h3pfrBakvHIOFwuWGcf1sstP6LTHnmZ6a24lEgKUo+lNIIZMkcJV+86+C1UXvw9rYjKRRvaj/K7FqOQXQ==","mode":420,"size":1099},"index.js":{"checkedAt":1708001724866,"integrity":"sha512-+I/zfGQDaEy7mFbn9FpmenWEfwQ/JaxQyH0c33knHW/QI4etQv95RpaVzWZLDPFPd1d+R/TEhI31YSeRCVEKlw==","mode":420,"size":322},"lib/index.js":{"checkedAt":1708001724867,"integrity":"sha512-C0j0ll4sYNqPi8FLl12J9sb5VvMRfvAvecSuK2++cTSGVsQNKqRvrvg5Dg0eOGRFJqsXp4WtGNHj4b7quB3fqQ==","mode":420,"size":5001},"package.json":{"checkedAt":1708001724868,"integrity":"sha512-VegtrmtyayGYvwQ4i9eGfUmVsvWCzUbIsAV/1O8CsyrkeCOS8ylPD8AL1UUHvHYXzrlvzDP/7UQhJr8TRB9P/A==","mode":420,"size":1886},"index.d.ts.map":{"checkedAt":1708001724869,"integrity":"sha512-Cj3D8PakmlQ2XnhV1AdOsUktzwoY1ZSs/Fg2GKzDyx3kh1rxray0P0TipD7+4MBWKVxRAxOpRNsh0GI57d0MSw==","mode":420,"size":240},"lib/index.d.ts.map":{"checkedAt":1708001724869,"integrity":"sha512-arTfKDNVR2o6poR6ACuQLEpcvul9AeFKtFmNpc2auCoK07Lg5SYD/ps71eKJzYShDw0AVq3kZ+7vi9S8tQchGA==","mode":420,"size":452},"readme.md":{"checkedAt":1708001724869,"integrity":"sha512-eqS5/tKgrNv0l6rQazyvqfucZGhU+6RSf3bgEa4MuPxR9AnJ1GXPTaYt6r0m/lGQBsMF94osMVkohSLcD3qdDA==","mode":420,"size":10622},"index.d.ts":{"checkedAt":1708001724869,"integrity":"sha512-Cg17h426bDqUHqukg6RiZ1IEfWc39riWARGpCnwIe5qj3o0G6+XwdXGCJRG3uLAwoCAUAitFmIk9TEOPuh6M2Q==","mode":420,"size":356},"lib/index.d.ts":{"checkedAt":1708001724869,"integrity":"sha512-zIaJiKzB4wNY2ch75qxfAXT9c0ZKrE6WZU5qdwJDo+Jqe4ii3qQE6PNlkrSv19oOzgk0rkHYEMrETJawjWGS6g==","mode":420,"size":2899}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/b6/a86b1e50a6c144427a6df3023b684ef95f9e15f501457634c717794e02b95379093a3db9727914bbfb4e421bd35b1684b2a686d564655a621b8b7ccbd0bacc b/.pnpm-store/v3/files/b6/a86b1e50a6c144427a6df3023b684ef95f9e15f501457634c717794e02b95379093a3db9727914bbfb4e421bd35b1684b2a686d564655a621b8b7ccbd0bacc new file mode 100644 index 00000000..ea84ca71 --- /dev/null +++ b/.pnpm-store/v3/files/b6/a86b1e50a6c144427a6df3023b684ef95f9e15f501457634c717794e02b95379093a3db9727914bbfb4e421bd35b1684b2a686d564655a621b8b7ccbd0bacc @@ -0,0 +1 @@ +module.exports={C:{"47":0.01076,"48":0.03588,"61":0.00359,"68":0.00359,"78":0.02153,"85":0.01076,"89":0.00359,"91":0.01435,"98":0.00359,"102":0.01794,"109":0.00359,"113":0.01435,"115":0.61355,"117":0.00359,"118":0.03229,"119":0.02512,"120":0.11123,"121":3.98627,"122":0.93647,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 49 50 51 52 53 54 55 56 57 58 59 60 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 86 87 88 90 92 93 94 95 96 97 99 100 101 103 104 105 106 107 108 110 111 112 114 116 123 124 125 3.5 3.6"},D:{"65":0.01794,"76":0.00359,"79":0.00718,"83":0.04306,"84":0.00718,"87":0.01435,"91":0.00359,"92":0.00718,"94":0.03229,"95":0.00359,"96":0.00359,"99":0.00359,"103":0.0287,"104":0.00359,"105":0.00718,"107":0.00718,"108":0.02153,"109":1.17328,"111":0.01076,"112":0.00718,"113":0.00359,"114":0.00359,"115":0.00718,"116":0.23322,"117":0.0287,"118":0.04306,"119":0.5669,"120":13.93579,"121":1.01899,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 77 78 80 81 85 86 88 89 90 93 97 98 100 101 102 106 110 122 123 124"},F:{"81":0.00359,"105":0.3875,"106":0.53461,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"100":0.01435,"106":0.00359,"107":0.00359,"109":0.02153,"110":0.00359,"111":0.00718,"112":0.00718,"114":0.00359,"115":0.03229,"116":0.01794,"117":0.00718,"118":0.01076,"119":0.7176,"120":4.09391,"121":0.51667,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 101 102 103 104 105 108 113"},E:{"13":0.01435,"14":0.09329,"15":0.00718,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 17.4","10.1":0.01794,"11.1":0.00359,"12.1":0.01435,"13.1":0.06817,"14.1":0.09329,"15.1":0.01435,"15.2-15.3":0.04306,"15.4":0.03947,"15.5":0.08252,"15.6":0.35162,"16.0":0.10046,"16.1":0.04306,"16.2":0.01794,"16.3":0.11123,"16.4":0.03588,"16.5":0.08252,"16.6":0.81448,"17.0":0.31933,"17.1":0.9257,"17.2":1.07281,"17.3":0.05023},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00317,"5.0-5.1":0.00475,"6.0-6.1":0.00792,"7.0-7.1":0.01109,"8.1-8.4":0.00158,"9.0-9.2":0.00951,"9.3":0.03644,"10.0-10.2":0.00317,"10.3":0.05704,"11.0-11.2":0.02218,"11.3-11.4":0.02377,"12.0-12.1":0.01426,"12.2-12.5":0.28202,"13.0-13.1":0.00475,"13.2":0.05229,"13.3":0.01426,"13.4-13.7":0.06338,"14.0-14.4":0.11091,"14.5-14.8":0.16953,"15.0-15.1":0.07288,"15.2-15.3":0.08397,"15.4":0.09823,"15.5":0.12992,"15.6-15.8":1.01243,"16.0":0.30421,"16.1":0.64802,"16.2":0.2947,"16.3":0.5482,"16.4":0.122,"16.5":0.25984,"16.6-16.7":2.12627,"17.0":0.35332,"17.1":3.64255,"17.2":4.93067,"17.3":0.31688},P:{"4":0.06529,"20":0.1197,"21":0.34822,"22":0.30469,"23":5.02744,_:"5.0-5.4 8.2 14.0 15.0","6.2-6.4":0.01088,"7.2-7.4":0.45704,"9.2":0.01088,"10.1":0.01088,"11.1-11.2":0.03265,"12.0":0.01088,"13.0":0.05441,"16.0":0.06529,"17.0":0.03265,"18.0":0.06529,"19.0":0.17411},I:{"0":0.02554,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"11":0.01435,_:"6 7 8 9 10 5.5"},K:{"0":1.37217,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.02565},H:{"0":0},L:{"0":41.00039},R:{_:"0"},M:{"0":0.4809}}; diff --git a/.pnpm-store/v3/files/b6/eb8dbe3ca44941b69f1a68a7875853fba58b4f21107db56f8f199845e20cb128adc50d34b397f9c95e8603d0cd905487c43f68400ad1cefad6300be974b652 b/.pnpm-store/v3/files/b6/eb8dbe3ca44941b69f1a68a7875853fba58b4f21107db56f8f199845e20cb128adc50d34b397f9c95e8603d0cd905487c43f68400ad1cefad6300be974b652 new file mode 100644 index 00000000..1af4a0ea --- /dev/null +++ b/.pnpm-store/v3/files/b6/eb8dbe3ca44941b69f1a68a7875853fba58b4f21107db56f8f199845e20cb128adc50d34b397f9c95e8603d0cd905487c43f68400ad1cefad6300be974b652 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"9 I XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC nC RC"},H:{"2":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"Element.scrollIntoViewIfNeeded()",D:true}; diff --git a/.pnpm-store/v3/files/b7/00d98834e333024568f5dba65510f225bad69665cdf91ecdf880316f7649e4ee002842aaa08fcc5e0c675b7272c3f80a7005dd2f5bbd6341d6ca58cc9a07c3 b/.pnpm-store/v3/files/b7/00d98834e333024568f5dba65510f225bad69665cdf91ecdf880316f7649e4ee002842aaa08fcc5e0c675b7272c3f80a7005dd2f5bbd6341d6ca58cc9a07c3 new file mode 100644 index 00000000..0254d8cc --- /dev/null +++ b/.pnpm-store/v3/files/b7/00d98834e333024568f5dba65510f225bad69665cdf91ecdf880316f7649e4ee002842aaa08fcc5e0c675b7272c3f80a7005dd2f5bbd6341d6ca58cc9a07c3 @@ -0,0 +1 @@ +module.exports={C:{"4":0.00355,"34":0.01419,"43":0.13833,"52":0.01064,"72":0.01774,"75":0.00355,"78":0.00355,"100":0.00355,"102":0.00355,"104":0.00355,"106":0.00355,"107":0.00355,"108":0.00709,"109":0.00709,"110":0.01774,"111":0.00709,"112":0.00355,"113":0.00355,"114":0.00355,"115":0.14543,"116":0.01064,"117":0.00355,"118":0.01064,"119":0.21282,"120":0.01419,"121":0.61718,"122":0.08158,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 101 103 105 123 124 125 3.5 3.6"},D:{"11":0.01064,"26":0.00355,"31":0.00709,"40":0.00709,"41":0.01419,"42":0.00355,"43":0.00355,"45":0.01064,"47":0.00709,"48":0.0603,"49":0.05675,"50":0.17735,"51":0.00355,"53":0.02483,"54":0.00355,"55":0.03192,"56":0.01064,"57":0.02838,"58":0.00355,"59":0.00709,"60":0.00709,"61":0.01419,"62":0.01064,"63":0.02128,"65":0.00709,"66":0.00355,"67":0.00709,"68":0.00355,"69":0.61718,"70":0.08868,"71":0.02128,"72":0.01064,"73":0.07094,"74":0.01419,"75":0.02838,"76":0.00709,"77":0.09577,"78":0.1135,"79":0.18444,"80":0.04966,"81":0.05675,"83":0.14188,"84":0.03192,"85":0.01774,"86":0.29795,"87":0.06739,"88":0.01064,"89":0.05321,"90":0.23056,"91":0.03902,"92":0.32632,"93":0.00709,"94":0.17735,"95":0.05321,"96":0.02128,"97":0.08513,"98":1.26628,"99":0.31568,"100":0.15962,"101":0.12415,"102":0.04966,"103":0.05321,"104":0.01774,"105":0.03902,"106":0.03192,"107":0.07094,"108":0.3015,"109":1.02154,"110":0.03902,"111":0.04256,"112":0.07803,"113":0.10286,"114":0.07803,"115":0.02483,"116":0.05321,"117":0.03192,"118":0.04966,"119":0.96833,"120":2.78085,"121":0.17026,"122":0.05321,"123":0.00355,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 32 33 34 35 36 37 38 39 44 46 52 64 124"},F:{"95":0.00355,"105":0.00709,"106":0.01774,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00709,"17":0.00709,"18":0.05675,"84":0.00355,"87":0.00355,"88":0.01064,"89":0.00355,"90":0.00355,"91":0.00355,"92":0.0603,"94":0.00355,"96":0.00355,"98":0.00355,"99":0.00355,"100":0.01064,"101":0.00355,"102":0.00709,"103":0.00355,"104":0.00355,"105":0.00709,"106":0.01064,"107":0.02128,"108":0.0603,"109":0.15607,"110":0.05675,"111":0.05321,"112":0.06385,"113":0.20218,"114":0.15252,"115":0.10996,"116":0.10641,"117":0.08513,"118":0.1206,"119":0.31923,"120":6.70028,"121":0.93996,_:"12 13 14 15 79 80 81 83 85 86 93 95 97"},E:{"9":0.00355,"13":0.01064,"14":0.06739,"15":0.01064,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 11.1 17.4","10.1":0.00355,"12.1":0.00709,"13.1":0.07449,"14.1":0.09577,"15.1":0.01419,"15.2-15.3":0.01419,"15.4":0.03902,"15.5":0.04966,"15.6":0.17026,"16.0":0.01774,"16.1":0.06385,"16.2":0.0603,"16.3":0.10286,"16.4":0.02483,"16.5":0.0603,"16.6":0.29795,"17.0":0.03547,"17.1":0.23056,"17.2":0.30504,"17.3":0.02128},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00267,"5.0-5.1":0.004,"6.0-6.1":0.00667,"7.0-7.1":0.00933,"8.1-8.4":0.00133,"9.0-9.2":0.008,"9.3":0.03066,"10.0-10.2":0.00267,"10.3":0.04799,"11.0-11.2":0.01866,"11.3-11.4":0.02,"12.0-12.1":0.012,"12.2-12.5":0.23731,"13.0-13.1":0.004,"13.2":0.044,"13.3":0.012,"13.4-13.7":0.05333,"14.0-14.4":0.09332,"14.5-14.8":0.14265,"15.0-15.1":0.06133,"15.2-15.3":0.07066,"15.4":0.08266,"15.5":0.10932,"15.6-15.8":0.85191,"16.0":0.25597,"16.1":0.54527,"16.2":0.24797,"16.3":0.46128,"16.4":0.10266,"16.5":0.21864,"16.6-16.7":1.78914,"17.0":0.2973,"17.1":3.065,"17.2":4.14889,"17.3":0.26664},P:{"20":0.01191,"21":0.01191,"22":0.02383,"23":0.25018,_:"4 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","17.0":0.01191},I:{"0":0.68101,"3":0,"4":0.00014,"2.1":0,"2.2":0.00007,"2.3":0,"4.1":0.00014,"4.2-4.3":0.00048,"4.4":0,"4.4.3-4.4.4":0.00178},A:{"8":0.06216,"9":1.24319,"11":6.27813,_:"6 7 10 5.5"},K:{"0":0.04517,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":4.2009},O:{"0":6.18197},H:{"0":0},L:{"0":38.79654},R:{_:"0"},M:{"0":0.18068}}; diff --git a/.pnpm-store/v3/files/b7/5ac78e222ca6191dd8a9b62645767cab094312bd9c8af4001198b518891bbd0678c3f8fca55339feb6aa30491861462d014a3d34e3628b6efcebba24e5b5b7 b/.pnpm-store/v3/files/b7/5ac78e222ca6191dd8a9b62645767cab094312bd9c8af4001198b518891bbd0678c3f8fca55339feb6aa30491861462d014a3d34e3628b6efcebba24e5b5b7 new file mode 100644 index 00000000..70a37f21 --- /dev/null +++ b/.pnpm-store/v3/files/b7/5ac78e222ca6191dd8a9b62645767cab094312bd9c8af4001198b518891bbd0678c3f8fca55339feb6aa30491861462d014a3d34e3628b6efcebba24e5b5b7 @@ -0,0 +1 @@ +{"version":3,"file":"resolve-uri.umd.js","sources":["../src/resolve-uri.ts"],"sourcesContent":["// Matches the scheme of a URL, eg \"http://\"\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n\n/**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n\n/**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n\ntype Url = {\n scheme: string;\n user: string;\n host: string;\n port: string;\n path: string;\n query: string;\n hash: string;\n type: UrlType;\n};\n\nconst enum UrlType {\n Empty = 1,\n Hash = 2,\n Query = 3,\n RelativePath = 4,\n AbsolutePath = 5,\n SchemeRelative = 6,\n Absolute = 7,\n}\n\nfunction isAbsoluteUrl(input: string): boolean {\n return schemeRegex.test(input);\n}\n\nfunction isSchemeRelativeUrl(input: string): boolean {\n return input.startsWith('//');\n}\n\nfunction isAbsolutePath(input: string): boolean {\n return input.startsWith('/');\n}\n\nfunction isFileUrl(input: string): boolean {\n return input.startsWith('file:');\n}\n\nfunction isRelative(input: string): boolean {\n return /^[.?#]/.test(input);\n}\n\nfunction parseAbsoluteUrl(input: string): Url {\n const match = urlRegex.exec(input)!;\n return makeUrl(\n match[1],\n match[2] || '',\n match[3],\n match[4] || '',\n match[5] || '/',\n match[6] || '',\n match[7] || '',\n );\n}\n\nfunction parseFileUrl(input: string): Url {\n const match = fileRegex.exec(input)!;\n const path = match[2];\n return makeUrl(\n 'file:',\n '',\n match[1] || '',\n '',\n isAbsolutePath(path) ? path : '/' + path,\n match[3] || '',\n match[4] || '',\n );\n}\n\nfunction makeUrl(\n scheme: string,\n user: string,\n host: string,\n port: string,\n path: string,\n query: string,\n hash: string,\n): Url {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: UrlType.Absolute,\n };\n}\n\nfunction parseUrl(input: string): Url {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = UrlType.SchemeRelative;\n return url;\n }\n\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = UrlType.AbsolutePath;\n return url;\n }\n\n if (isFileUrl(input)) return parseFileUrl(input);\n\n if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? UrlType.Query\n : input.startsWith('#')\n ? UrlType.Hash\n : UrlType.RelativePath\n : UrlType.Empty;\n return url;\n}\n\nfunction stripPathFilename(path: string): string {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..')) return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n\nfunction mergePaths(url: Url, base: Url) {\n normalizePath(base, base.type);\n\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n } else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n}\n\n/**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\nfunction normalizePath(url: Url, type: UrlType) {\n const rel = type <= UrlType.RelativePath;\n const pieces = url.path.split('/');\n\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n\n // A current directory, which we can always drop.\n if (piece === '.') continue;\n\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n}\n\n/**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\nexport default function resolve(input: string, base: string | undefined): string {\n if (!input && !base) return '';\n\n const url = parseUrl(input);\n let inputType = url.type;\n\n if (base && inputType !== UrlType.Absolute) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n\n switch (inputType) {\n case UrlType.Empty:\n url.hash = baseUrl.hash;\n // fall through\n\n case UrlType.Hash:\n url.query = baseUrl.query;\n // fall through\n\n case UrlType.Query:\n case UrlType.RelativePath:\n mergePaths(url, baseUrl);\n // fall through\n\n case UrlType.AbsolutePath:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n\n case UrlType.SchemeRelative:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType) inputType = baseType;\n }\n\n normalizePath(url, inputType);\n\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n\n case UrlType.Hash:\n case UrlType.Query:\n return queryHash;\n\n case UrlType.RelativePath: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n\n if (!path) return queryHash || '.';\n\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n\n return path + queryHash;\n }\n\n case UrlType.AbsolutePath:\n return url.path + queryHash;\n\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n}\n"],"names":[],"mappings":";;;;;;IAAA;IACA,MAAM,WAAW,GAAG,gBAAgB,CAAC;IAErC;;;;;;;;;;IAUA,MAAM,QAAQ,GAAG,0EAA0E,CAAC;IAE5F;;;;;;;;;IASA,MAAM,SAAS,GAAG,iEAAiE,CAAC;IAuBpF,SAAS,aAAa,CAAC,KAAa;QAClC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,mBAAmB,CAAC,KAAa;QACxC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,cAAc,CAAC,KAAa;QACnC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,SAAS,CAAC,KAAa;QAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,UAAU,CAAC,KAAa;QAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAa;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;QACpC,OAAO,OAAO,CACZ,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EACf,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CACf,CAAC;IACJ,CAAC;IAED,SAAS,YAAY,CAAC,KAAa;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,OAAO,CACZ,OAAO,EACP,EAAE,EACF,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,EAAE,EACF,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,EACxC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CACf,CAAC;IACJ,CAAC;IAED,SAAS,OAAO,CACd,MAAc,EACd,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,KAAa,EACb,IAAY;QAEZ,OAAO;YACL,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,IAAI;SACL,CAAC;IACJ,CAAC;IAED,SAAS,QAAQ,CAAC,KAAa;QAC7B,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;YAC9C,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,0BAA0B;YAClC,OAAO,GAAG,CAAC;SACZ;QAED,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;YACzB,MAAM,GAAG,GAAG,gBAAgB,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;YACvD,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,IAAI,wBAAwB;YAChC,OAAO,GAAG,CAAC;SACZ;QAED,IAAI,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;QAEjD,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAEzD,MAAM,GAAG,GAAG,gBAAgB,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;QACxD,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;QACd,GAAG,CAAC,IAAI,GAAG,KAAK;cACZ,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;;kBAEnB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;;;4BAGT;QAClB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,iBAAiB,CAAC,IAAY;;;QAGrC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,UAAU,CAAC,GAAQ,EAAE,IAAS;QACrC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;;;QAI/B,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;YACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACtB;aAAM;;YAEL,GAAG,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;SACpD;IACH,CAAC;IAED;;;;IAIA,SAAS,aAAa,CAAC,GAAQ,EAAE,IAAa;QAC5C,MAAM,GAAG,GAAG,IAAI,yBAAyB;QACzC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;;QAInC,IAAI,OAAO,GAAG,CAAC,CAAC;;;QAIhB,IAAI,QAAQ,GAAG,CAAC,CAAC;;;;QAKjB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;;YAGxB,IAAI,CAAC,KAAK,EAAE;gBACV,gBAAgB,GAAG,IAAI,CAAC;gBACxB,SAAS;aACV;;YAGD,gBAAgB,GAAG,KAAK,CAAC;;YAGzB,IAAI,KAAK,KAAK,GAAG;gBAAE,SAAS;;;YAI5B,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,IAAI,QAAQ,EAAE;oBACZ,gBAAgB,GAAG,IAAI,CAAC;oBACxB,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,CAAC;iBACX;qBAAM,IAAI,GAAG,EAAE;;;oBAGd,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC;iBAC3B;gBACD,SAAS;aACV;;;YAID,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC;YAC1B,QAAQ,EAAE,CAAC;SACZ;QAED,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;YAChC,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACxD,IAAI,IAAI,GAAG,CAAC;SACb;QACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED;;;aAGwB,OAAO,CAAC,KAAa,EAAE,IAAwB;QACrE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;QAEzB,IAAI,IAAI,IAAI,SAAS,uBAAuB;YAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAE9B,QAAQ,SAAS;gBACf;oBACE,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;;gBAG1B;oBACE,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;;gBAG5B,mBAAmB;gBACnB;oBACE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;;gBAG3B;;oBAEE,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;oBACxB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;oBACxB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;;gBAG1B;;oBAEE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aAC/B;YACD,IAAI,QAAQ,GAAG,SAAS;gBAAE,SAAS,GAAG,QAAQ,CAAC;SAChD;QAED,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAE9B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;QACvC,QAAQ,SAAS;;;YAIf,kBAAkB;YAClB;gBACE,OAAO,SAAS,CAAC;YAEnB,2BAA2B;;gBAEzB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAE/B,IAAI,CAAC,IAAI;oBAAE,OAAO,SAAS,IAAI,GAAG,CAAC;gBAEnC,IAAI,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;;;;oBAIlD,OAAO,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;iBAChC;gBAED,OAAO,IAAI,GAAG,SAAS,CAAC;aACzB;YAED;gBACE,OAAO,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;YAE9B;gBACE,OAAO,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;SACpF;IACH;;;;;;;;"} \ No newline at end of file diff --git a/.pnpm-store/v3/files/b7/94c750aefc5f4f278c1a953d4bc07a82c88271e81e370dec73c37776c2f7e0bf13a0ca384f4554b1df18ab45669992b08ebe9dda2cd6a616832188daba36c5 b/.pnpm-store/v3/files/b7/94c750aefc5f4f278c1a953d4bc07a82c88271e81e370dec73c37776c2f7e0bf13a0ca384f4554b1df18ab45669992b08ebe9dda2cd6a616832188daba36c5 new file mode 100644 index 00000000..213e8884 --- /dev/null +++ b/.pnpm-store/v3/files/b7/94c750aefc5f4f278c1a953d4bc07a82c88271e81e370dec73c37776c2f7e0bf13a0ca384f4554b1df18ab45669992b08ebe9dda2cd6a616832188daba36c5 @@ -0,0 +1 @@ +module.exports={C:{"73":0.15626,"78":0.00301,"88":0.00301,"103":0.00301,"113":0.00301,"114":0.00301,"115":0.12621,"116":0.00301,"117":0.00301,"118":0.01202,"119":0.00601,"120":0.02404,"121":0.79032,"122":0.22237,"123":0.01202,"124":0.00301,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 111 112 125 3.5 3.6"},D:{"38":0.00601,"49":0.00301,"65":0.00301,"70":0.00301,"75":0.00301,"76":0.00301,"77":0.00301,"78":0.02104,"79":0.02404,"80":0.00301,"81":0.00301,"83":0.00601,"84":0.00301,"86":0.00301,"87":0.02705,"88":0.00902,"90":0.00301,"91":0.03005,"92":0.00601,"93":0.00601,"94":0.00301,"95":0.00301,"96":0.00301,"97":0.01202,"99":0.01803,"100":0.00301,"101":0.00902,"102":0.00301,"103":0.04808,"104":0.00301,"105":0.01503,"106":0.00601,"107":0.01202,"108":0.01202,"109":1.07279,"110":0.00902,"111":0.02705,"112":0.00902,"113":0.01202,"114":0.04508,"115":0.01202,"116":0.13523,"117":0.03606,"118":0.0571,"119":0.24942,"120":16.68076,"121":1.29516,"122":0.00601,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 71 72 73 74 85 89 98 123 124"},F:{"46":0.00601,"94":0.00902,"95":0.01803,"102":0.00301,"104":0.00601,"105":0.96461,"106":0.67312,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00301,"90":0.00301,"92":0.01503,"96":0.00902,"100":0.00301,"107":0.00301,"108":0.00301,"109":0.02705,"110":0.00301,"111":0.00301,"112":0.00301,"113":0.00301,"114":0.00601,"115":0.00301,"116":0.00902,"117":0.01202,"118":0.01503,"119":0.03606,"120":2.45809,"121":0.37262,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 91 93 94 95 97 98 99 101 102 103 104 105 106"},E:{"14":0.00902,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 17.4","5.1":0.00601,"12.1":0.00601,"13.1":0.01803,"14.1":0.03606,"15.1":0.00301,"15.2-15.3":0.01202,"15.4":0.00902,"15.5":0.01503,"15.6":0.10818,"16.0":0.00902,"16.1":0.03907,"16.2":0.02404,"16.3":0.0571,"16.4":0.02705,"16.5":0.0601,"16.6":0.1773,"17.0":0.06311,"17.1":0.36361,"17.2":0.55292,"17.3":0.05409},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00226,"5.0-5.1":0.0034,"6.0-6.1":0.00566,"7.0-7.1":0.00792,"8.1-8.4":0.00113,"9.0-9.2":0.00679,"9.3":0.02603,"10.0-10.2":0.00226,"10.3":0.04074,"11.0-11.2":0.01585,"11.3-11.4":0.01698,"12.0-12.1":0.01019,"12.2-12.5":0.20146,"13.0-13.1":0.0034,"13.2":0.03735,"13.3":0.01019,"13.4-13.7":0.04527,"14.0-14.4":0.07923,"14.5-14.8":0.1211,"15.0-15.1":0.05206,"15.2-15.3":0.05998,"15.4":0.07017,"15.5":0.09281,"15.6-15.8":0.72321,"16.0":0.2173,"16.1":0.4629,"16.2":0.21051,"16.3":0.3916,"16.4":0.08715,"16.5":0.18561,"16.6-16.7":1.51886,"17.0":0.25239,"17.1":2.60199,"17.2":3.52213,"17.3":0.22636},P:{"4":0.05094,"20":0.04075,"21":0.10188,"22":0.11207,"23":2.76092,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0","7.2-7.4":0.0815,"11.1-11.2":0.05094,"13.0":0.02038,"14.0":0.01019,"15.0":0.01019,"16.0":0.02038,"17.0":0.02038,"18.0":0.02038,"19.0":0.0815},I:{"0":0.03482,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"11":0.00902,_:"6 7 8 9 10 5.5"},K:{"0":0.34975,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.04897},H:{"0":0},L:{"0":56.53594},R:{_:"0"},M:{"0":0.21685}}; diff --git a/.pnpm-store/v3/files/b7/a0d3776fd59a569e551de94359291b439dfc1c47c605a61b6c3ba14c71931e1e8fd5802e7256b47e30a3ab0a58b48d9ffb0b152dcf37b6dbb4a1febb124388 b/.pnpm-store/v3/files/b7/a0d3776fd59a569e551de94359291b439dfc1c47c605a61b6c3ba14c71931e1e8fd5802e7256b47e30a3ab0a58b48d9ffb0b152dcf37b6dbb4a1febb124388 new file mode 100644 index 00000000..0e95217e --- /dev/null +++ b/.pnpm-store/v3/files/b7/a0d3776fd59a569e551de94359291b439dfc1c47c605a61b6c3ba14c71931e1e8fd5802e7256b47e30a3ab0a58b48d9ffb0b152dcf37b6dbb4a1febb124388 @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.withAlg = void 0; +function message(msg, actual, ...types) { + if (types.length > 2) { + const last = types.pop(); + msg += `one of type ${types.join(', ')}, or ${last}.`; + } + else if (types.length === 2) { + msg += `one of type ${types[0]} or ${types[1]}.`; + } + else { + msg += `of type ${types[0]}.`; + } + if (actual == null) { + msg += ` Received ${actual}`; + } + else if (typeof actual === 'function' && actual.name) { + msg += ` Received function ${actual.name}`; + } + else if (typeof actual === 'object' && actual != null) { + if (actual.constructor?.name) { + msg += ` Received an instance of ${actual.constructor.name}`; + } + } + return msg; +} +exports.default = (actual, ...types) => { + return message('Key must be ', actual, ...types); +}; +function withAlg(alg, actual, ...types) { + return message(`Key for the ${alg} algorithm must be `, actual, ...types); +} +exports.withAlg = withAlg; diff --git a/.pnpm-store/v3/files/b7/ad2fac5b1b24a77c58e86f9b29d25ac8195f237fcb4e62c627708c45ac5a5684e51af9943c70c6b4a75760100897c743a6a9e83974a9c9ffc6efc854bbeef8 b/.pnpm-store/v3/files/b7/ad2fac5b1b24a77c58e86f9b29d25ac8195f237fcb4e62c627708c45ac5a5684e51af9943c70c6b4a75760100897c743a6a9e83974a9c9ffc6efc854bbeef8 new file mode 100644 index 00000000..2d48b19f --- /dev/null +++ b/.pnpm-store/v3/files/b7/ad2fac5b1b24a77c58e86f9b29d25ac8195f237fcb4e62c627708c45ac5a5684e51af9943c70c6b4a75760100897c743a6a9e83974a9c9ffc6efc854bbeef8 @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2009-2015, Kevin Decker +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/.pnpm-store/v3/files/b7/c971210eb5bd43d177927aceeaf214491ed75dd1fb5034e01ccb00b838c0501e2f6cc798b4d58ddfaa4a4aeb082bac31b07c88e8820933541e533d28b3b238 b/.pnpm-store/v3/files/b7/c971210eb5bd43d177927aceeaf214491ed75dd1fb5034e01ccb00b838c0501e2f6cc798b4d58ddfaa4a4aeb082bac31b07c88e8820933541e533d28b3b238 new file mode 100644 index 00000000..75fd1911 --- /dev/null +++ b/.pnpm-store/v3/files/b7/c971210eb5bd43d177927aceeaf214491ed75dd1fb5034e01ccb00b838c0501e2f6cc798b4d58ddfaa4a4aeb082bac31b07c88e8820933541e533d28b3b238 @@ -0,0 +1 @@ +module.exports={A:{D:{"2":"9 I J D E F A B C K L G M N O AB q r","33":"0 1 2 3 4 5 6 7 8 s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},L:{"33":"H"},B:{"2":"C K L G M N O","33":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"TC","33":"0 1 2 3 4 5 6 7 8 9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},M:{"33":"1B"},A:{"2":"J D E F A B SC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},K:{"2":"A B C 2B QC 3B","33":"u"},E:{"2":"9 I J XC DC YC ZC hC","33":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC"},G:{"2":"DC nC RC oC pC","33":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},P:{"2":"I","33":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},I:{"2":"7B I AD BD CD DD RC","33":"H ED FD"}},B:6,C:"width: stretch property",D:undefined}; diff --git a/.pnpm-store/v3/files/b7/d811066c220964060c90b92331068fb0a25802bd8c09fe064e64fb5a3299ab72ffe82c9b9151e62e1fe5820a595c70d675214dfca4da9af134c8c482e41e80 b/.pnpm-store/v3/files/b7/d811066c220964060c90b92331068fb0a25802bd8c09fe064e64fb5a3299ab72ffe82c9b9151e62e1fe5820a595c70d675214dfca4da9af134c8c482e41e80 new file mode 100644 index 00000000..b1d33e7c --- /dev/null +++ b/.pnpm-store/v3/files/b7/d811066c220964060c90b92331068fb0a25802bd8c09fe064e64fb5a3299ab72ffe82c9b9151e62e1fe5820a595c70d675214dfca4da9af134c8c482e41e80 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","194":"jB 8B kB 9B lB mB nB oB pB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:4,C:"Accelerometer",D:true}; diff --git a/.pnpm-store/v3/files/b8/095e87943bfcd38e01b89f92817a4618d2cac370c5e3ccb539a8e7de58a9e03b7872010f0e2e480510d9b2e7da6759808f07d13815320a5e68d27b9f237823 b/.pnpm-store/v3/files/b8/095e87943bfcd38e01b89f92817a4618d2cac370c5e3ccb539a8e7de58a9e03b7872010f0e2e480510d9b2e7da6759808f07d13815320a5e68d27b9f237823 new file mode 100644 index 00000000..9a283bdb --- /dev/null +++ b/.pnpm-store/v3/files/b8/095e87943bfcd38e01b89f92817a4618d2cac370c5e3ccb539a8e7de58a9e03b7872010f0e2e480510d9b2e7da6759808f07d13815320a5e68d27b9f237823 @@ -0,0 +1,20 @@ +"use strict"; +var ch2 = {}; +exports.default = (function (c, id, msg, transfer, cb) { + var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([ + c + ';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})' + ], { type: 'text/javascript' })))); + w.onmessage = function (e) { + var d = e.data, ed = d.$e$; + if (ed) { + var err = new Error(ed[0]); + err['code'] = ed[1]; + err.stack = ed[2]; + cb(err, null); + } + else + cb(null, d); + }; + w.postMessage(msg, transfer); + return w; +}); diff --git a/.pnpm-store/v3/files/b8/0a502f90d81c7493104b0c1256656e4a51b3fd58170a4060e9f8fd018a0f5eb582a21845134e0540828d542712950ad31ba00b0a172cf8db81b1e20e9b2029 b/.pnpm-store/v3/files/b8/0a502f90d81c7493104b0c1256656e4a51b3fd58170a4060e9f8fd018a0f5eb582a21845134e0540828d542712950ad31ba00b0a172cf8db81b1e20e9b2029 new file mode 100644 index 00000000..743afd8d --- /dev/null +++ b/.pnpm-store/v3/files/b8/0a502f90d81c7493104b0c1256656e4a51b3fd58170a4060e9f8fd018a0f5eb582a21845134e0540828d542712950ad31ba00b0a172cf8db81b1e20e9b2029 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","388":"B"},B:{"1":"O P Q R S T U","2":"C K L G","129":"M N","513":"0 1 2 3 4 5 6 7 8 V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B VC WC"},D:{"1":"cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","513":"0 1 2 3 4 5 6 7 8 Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"G dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B XC DC YC ZC aC bC EC 2B","2052":"L cC","3076":"C K 3B FC"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB iC jC kC lC 2B QC mC 3B","513":"uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC","2052":"yC zC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","513":"u"},L:{"513":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"16":"FC"},R:{"513":"SD"},S:{"1":"UD","2":"TD"}},B:6,C:"'SameSite' cookie attribute",D:true}; diff --git a/.pnpm-store/v3/files/b8/8143c6aa5164667a4e13a4f388447ea5a81f1d9d7af445be94d97131eeafce6f2267dac546d35bd4728780a90ae0e74e838fd4212d5ca220cad1c13d57dfe4-index.json b/.pnpm-store/v3/files/b8/8143c6aa5164667a4e13a4f388447ea5a81f1d9d7af445be94d97131eeafce6f2267dac546d35bd4728780a90ae0e74e838fd4212d5ca220cad1c13d57dfe4-index.json new file mode 100644 index 00000000..b7d71342 --- /dev/null +++ b/.pnpm-store/v3/files/b8/8143c6aa5164667a4e13a4f388447ea5a81f1d9d7af445be94d97131eeafce6f2267dac546d35bd4728780a90ae0e74e838fd4212d5ca220cad1c13d57dfe4-index.json @@ -0,0 +1 @@ +{"files":{"CONTRIBUTING.md":{"checkedAt":1708001725003,"integrity":"sha512-PgNog6hKqUKhWNIXtqKXA6jQ4CpR4yQ6ga477pCKh/bT99QoXnTAaymt2gZGU7oIhA34vUFN8MYiqNJhoiqtCA==","mode":436,"size":961},"LICENSE":{"checkedAt":1708001725004,"integrity":"sha512-t60vrFsbJKd8WOhvmynSWsgZXyN/y05ixidwjEWsWlaE5Rr5lDxwxrSnV2AQCJfHQ6ap6Dl0qcn/xu/IVLvu+A==","mode":436,"size":1546},"README.md":{"checkedAt":1708001725004,"integrity":"sha512-GKknuW0eGMyu0iPILDt1uIeZnNP6Z7DBiR7zmy0mlkfxOn01/cBiN3v7X6VNuI30LYF2Oq1N0w9cJr6TOI6M5Q==","mode":436,"size":19729},"package.json":{"checkedAt":1708001725004,"integrity":"sha512-HJ6YkgKKrxuGDmpRvT5JZX0+GosVCR3lx8HDR5zg5KVE0Y8Gkc0cjt5409a0OjCzdZXd8VhqhnZ1GeYhfTk0lQ==","mode":436,"size":2344},"release-notes.md":{"checkedAt":1708001725004,"integrity":"sha512-pJ1MdlrltmyR0kD2B44UCNORXtkHc2pbdypBwry6hIlHZVOjih7MGXreqoRlO6q0zDbRWdIeX40SMlxNVLwIoA==","mode":436,"size":18832},"runtime.js":{"checkedAt":1708001725005,"integrity":"sha512-s12KzMudFcbjT6dLFR+K8uP3lceH71bFV7BdCUmz2G3Vz1crmzVApVLSIJmcPthvRWkpMWnemm0rSPC3SU8lFg==","mode":436,"size":67},"dist/diff.js":{"checkedAt":1708001725005,"integrity":"sha512-Ubw08LwzeoACkP9I1L0LqwnhiVs6Vg9LWeTFDj0leZIVp5XG28xcxK0lrlFvaL8ZqR8oMOBnFdZLo6agy5+SgQ==","mode":436,"size":53658},"dist/diff.min.js":{"checkedAt":1708001725005,"integrity":"sha512-lKVITyoJW3nWzWcWWfcR2CibmobDzrWNWvSF8iFM5NaNTSb0vQ/TGZVR/MGc+LT8isfIP5mxFJB9j31fAIlXsg==","mode":436,"size":17479},"lib/index.es6.js":{"checkedAt":1708001725005,"integrity":"sha512-CpEsyYCjtaQjtgQiiRwRuFodxN9gyxlYTlVj/CF5/+mgOXCXVie4SQ+ZGxOCp9C3TNAQW3CDCXnWFeAeAqPKNw==","mode":436,"size":50001},"lib/index.js":{"checkedAt":1708001725006,"integrity":"sha512-IJsZIGFML6Eq2kUYGYha5LVkmSMhoxo2Iphx/dbSJ5B1G3hsQ3W1oSA4miOX/v7Jsh6a58Mwy76YbhXaVCP61A==","mode":436,"size":7762},"lib/index.mjs":{"checkedAt":1708001725005,"integrity":"sha512-CpEsyYCjtaQjtgQiiRwRuFodxN9gyxlYTlVj/CF5/+mgOXCXVie4SQ+ZGxOCp9C3TNAQW3CDCXnWFeAeAqPKNw==","mode":436,"size":50001},"lib/convert/dmp.js":{"checkedAt":1708001725006,"integrity":"sha512-n/I6MGI2NcT5XwAK2ZYb/feTE6IJop0mvCJ3VG5TbXSvNQqqBhAOqs86CuctPyZ7SwsLcz7sEyqwjUUN3EjoAw==","mode":436,"size":2255},"lib/convert/xml.js":{"checkedAt":1708001725006,"integrity":"sha512-29uzYH24Ojm2UE6AWX0aT+s3nAaJTf6R0334Fx+Gf6mMUpTjU/8p73bHPIZswKcAEKoRlibO+hhpndLHb9Jzpg==","mode":436,"size":3359},"lib/diff/array.js":{"checkedAt":1708001725006,"integrity":"sha512-t18d/BiN66z6valSOhesvtEXkHSLm60Brtq6Nn6frk5lYWoDsJt8jE8QBgl07BRJLAUi0ja9LZOJU56FoZYbwg==","mode":436,"size":2300},"lib/diff/base.js":{"checkedAt":1708001725007,"integrity":"sha512-4S4q6KVz54A9SzcAVaBnQ6rMYYNyY8DL/Rj2AFsNYYY9mO5bO9EFsj1a3GKkjWEt4sLYt1ZdDcxPbYYsaI2gng==","mode":436,"size":38478},"lib/diff/character.js":{"checkedAt":1708001725007,"integrity":"sha512-wJETzVhEH+mRH7+R0mPoK9g843zr4W2g8KB5tMirxu9A6H7oL0eaZZD/jYKdhneLJKJX4dvlSyhFG/AQTr2aog==","mode":436,"size":1671},"lib/diff/css.js":{"checkedAt":1708001725007,"integrity":"sha512-LTkSfszOXR1nm6Ign9HgWGgPftS+YEEQqyeT76wYw94LmIviqPH4Mks0+k/egY98Ic2liWx6Ronj+dYZumCxtg==","mode":436,"size":1966},"lib/diff/json.js":{"checkedAt":1708001725007,"integrity":"sha512-CI8vrhQD4wv1IavzEGf8lA48ahOPlR6O7bJGXOsOWkeOwrPyu7Y2QT1O8uDOa67e7Qi+tpKjJHKfTBCUxlPJMg==","mode":436,"size":12937},"lib/diff/line.js":{"checkedAt":1708001725007,"integrity":"sha512-0e6MVqxFZ60UiWrYnfYzKF2uwFkls/6IBYoc6wMBfE1xf/v6qCZgNi4LmOCc5a0ZA5pkkxJ+e7JXEydnUZK3fw==","mode":436,"size":6283},"lib/diff/sentence.js":{"checkedAt":1708001725007,"integrity":"sha512-lAkF++pEsS9atvWVrDKzqh9q9YLcrJYXJW49PbPvscvvETMu1phdxq8Hc58GyZ0WiuytgFvKc5dZNWZ3Aw9WJQ==","mode":436,"size":2090},"lib/diff/word.js":{"checkedAt":1708001725007,"integrity":"sha512-AZs+BKCr+v4jRijiHACtJEmwo9Ev/Lgthw2hJpD9JfXFpulT1f7f5b9aafmwl7zCtSq04XzrEbqm+oly19n8xg==","mode":436,"size":8807},"lib/patch/apply.js":{"checkedAt":1708001725008,"integrity":"sha512-NN/HC4niPjOVjwqxnRyr4olhat6bJDClTMuZ2vf1M2AuXY3oSoVWO9jNq2DCw9s5SUZe9pmVRiGUcUKDZFRlKQ==","mode":436,"size":20050},"lib/patch/create.js":{"checkedAt":1708001725008,"integrity":"sha512-FzWJNK3GRp+V6hmlsLr3qPMbAdKZBpirdkOowwC1xHgbkJhuNBHuy6gLCmF1mo37rVgLcaRK/K60KSJ0bNVWoA==","mode":436,"size":23969},"lib/patch/merge.js":{"checkedAt":1708001725008,"integrity":"sha512-+0Evtxs2Hd0z0g7YVZNoXFcPiDUMMHdgqgsEsGvGQGHF2IEYfCOUUgI2HVD44HhlhVUHRrXwRFbZmhcUf2hqwg==","mode":436,"size":50907},"lib/patch/parse.js":{"checkedAt":1708001725008,"integrity":"sha512-nYI3DmGocNAncCHipfMWYC2ONBHN9kFzHcMrydUp0o+woDVVuLBVHvo5W0MZmTaCJwXqAdKJeFH6qyT3XwOpBw==","mode":436,"size":17908},"lib/patch/reverse.js":{"checkedAt":1708001725009,"integrity":"sha512-S5L+f/ZI8uSSNTPSonAb7k2Vs7b5b7KwvR/60dYI3cYgX+cv9A4WTUt1SYiF9Rk5ijBpLo0GUDGUtoYP1vXnrQ==","mode":436,"size":5555},"lib/util/array.js":{"checkedAt":1708001725009,"integrity":"sha512-UgRveOPHUhn+GRKf21gh+lTmSc6mcHXiAx33koG2c0UQDrptEGPULv1E9KLYzxXD84nfzVH2Sns9DWW4JllbIw==","mode":436,"size":2026},"lib/util/distance-iterator.js":{"checkedAt":1708001725009,"integrity":"sha512-c0Re4VBsfD6wiYJM2+JmHfEbqeNGoLkdZaEYYFrGX5ji7ACAamczOs9vNTGx7Lc9gKo60Wyp69CXwDEbDT4WgQ==","mode":436,"size":4641},"lib/util/params.js":{"checkedAt":1708001725009,"integrity":"sha512-ye58RhyAFglOreZN35Fg/sIunPaZrbKGIt6D04APV9EopX8Oz5hiXnhtIGLjSLcRUZKd8F/v4GSBePAca5Fz+w==","mode":436,"size":1752}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/b8/95f6cbef5848bbd343133afdb638c080c89b6a0d4db02cab91813654977ba4baa514ac97e820737c5e554e943ec899889e624ceb7a44d3fbd6e059a8bcebd7 b/.pnpm-store/v3/files/b8/95f6cbef5848bbd343133afdb638c080c89b6a0d4db02cab91813654977ba4baa514ac97e820737c5e554e943ec899889e624ceb7a44d3fbd6e059a8bcebd7 new file mode 100644 index 00000000..f00c6bdd --- /dev/null +++ b/.pnpm-store/v3/files/b8/95f6cbef5848bbd343133afdb638c080c89b6a0d4db02cab91813654977ba4baa514ac97e820737c5e554e943ec899889e624ceb7a44d3fbd6e059a8bcebd7 @@ -0,0 +1,78 @@ +{ + "name": "semver", + "version": "7.6.0", + "description": "The semantic version parser used by npm.", + "main": "index.js", + "scripts": { + "test": "tap", + "snap": "tap", + "lint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"", + "postlint": "template-oss-check", + "lintfix": "npm run lint -- --fix", + "posttest": "npm run lint", + "template-oss-apply": "template-oss-apply --force" + }, + "devDependencies": { + "@npmcli/eslint-config": "^4.0.0", + "@npmcli/template-oss": "4.21.3", + "tap": "^16.0.0" + }, + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/npm/node-semver.git" + }, + "bin": { + "semver": "bin/semver.js" + }, + "files": [ + "bin/", + "lib/", + "classes/", + "functions/", + "internal/", + "ranges/", + "index.js", + "preload.js", + "range.bnf" + ], + "tap": { + "timeout": 30, + "coverage-map": "map.js", + "nyc-arg": [ + "--exclude", + "tap-snapshots/**" + ] + }, + "engines": { + "node": ">=10" + }, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "author": "GitHub Inc.", + "templateOSS": { + "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", + "version": "4.21.3", + "engines": ">=10", + "distPaths": [ + "classes/", + "functions/", + "internal/", + "ranges/", + "index.js", + "preload.js", + "range.bnf" + ], + "allowPaths": [ + "/classes/", + "/functions/", + "/internal/", + "/ranges/", + "/index.js", + "/preload.js", + "/range.bnf" + ], + "publish": "true" + } +} diff --git a/.pnpm-store/v3/files/b8/f894ec83aa92a8dfb3b90e9ab0e49590b8fd99f5f7e5d3113e246b6632a059fa9768d484d6c998a496f49659bd25ea5077d0b0e13c9057f5f1864f8e2b6010 b/.pnpm-store/v3/files/b8/f894ec83aa92a8dfb3b90e9ab0e49590b8fd99f5f7e5d3113e246b6632a059fa9768d484d6c998a496f49659bd25ea5077d0b0e13c9057f5f1864f8e2b6010 new file mode 100644 index 00000000..8b3e61fc --- /dev/null +++ b/.pnpm-store/v3/files/b8/f894ec83aa92a8dfb3b90e9ab0e49590b8fd99f5f7e5d3113e246b6632a059fa9768d484d6c998a496f49659bd25ea5077d0b0e13c9057f5f1864f8e2b6010 @@ -0,0 +1 @@ +module.exports={A:{D:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},L:{"1":"H"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F VC WC","33":"A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB"},M:{"1":"1B"},A:{"2":"J D E F A B SC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB iC jC kC lC 2B QC mC 3B"},K:{"1":"u","2":"A B C 2B QC 3B"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC","2":"9 I XC DC YC hC","33":"J D E F A ZC aC bC EC"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC","33":"E pC qC rC sC tC uC vC"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"}},B:6,C:"plaintext from unicode-bidi",D:undefined}; diff --git a/.pnpm-store/v3/files/b9/9bb7eb68cd99bfebf32a28d929abd966feb8f2b78ce5c71fb39ab569b4cdcedda017c5036e257bc4a3e02ab4cd42d670aee78dc862b61acdaa7cb8d5385154 b/.pnpm-store/v3/files/b9/9bb7eb68cd99bfebf32a28d929abd966feb8f2b78ce5c71fb39ab569b4cdcedda017c5036e257bc4a3e02ab4cd42d670aee78dc862b61acdaa7cb8d5385154 new file mode 100644 index 00000000..751f29d8 --- /dev/null +++ b/.pnpm-store/v3/files/b9/9bb7eb68cd99bfebf32a28d929abd966feb8f2b78ce5c71fb39ab569b4cdcedda017c5036e257bc4a3e02ab4cd42d670aee78dc862b61acdaa7cb8d5385154 @@ -0,0 +1 @@ +module.exports={C:{"52":0.20198,"68":0.04734,"78":0.00631,"83":0.00631,"86":0.00316,"88":0.01262,"97":0.00316,"99":0.00316,"102":0.00316,"103":0.00316,"105":0.09784,"106":0.00316,"108":0.00631,"109":0.00316,"111":0.00316,"112":0.01894,"113":0.01262,"114":0.00316,"115":2.21867,"116":0.00316,"117":0.00316,"118":0.00631,"119":0.01262,"120":0.02525,"121":1.45807,"122":0.38819,"123":0.00316,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 87 89 90 91 92 93 94 95 96 98 100 101 104 107 110 124 125 3.5 3.6"},D:{"34":0.0789,"38":0.08521,"39":0.06312,"47":0.08521,"49":0.09784,"56":0.00316,"58":0.00316,"61":0.04418,"63":0.00316,"64":0.00316,"69":0.00631,"70":0.00316,"73":0.17358,"75":0.00316,"76":0.00316,"78":0.00316,"79":0.11362,"80":0.00316,"81":0.00947,"83":0.00316,"85":0.00316,"86":0.00316,"87":0.01262,"88":0.2083,"89":0.04418,"90":0.00316,"91":0.00631,"93":0.01578,"94":0.00316,"95":0.00631,"96":0.00316,"97":0.00316,"98":0.00316,"99":0.01578,"100":0.00631,"101":0.00947,"102":0.06943,"103":0.02525,"104":0.00316,"105":0.01578,"106":0.01894,"107":0.00947,"108":0.01262,"109":3.70199,"110":0.00947,"111":0.01262,"112":0.01894,"113":0.00316,"114":0.0284,"115":0.00947,"116":0.11362,"117":0.11046,"118":2.27232,"119":0.11677,"120":12.11904,"121":0.77322,"122":0.00316,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 40 41 42 43 44 45 46 48 50 51 52 53 54 55 57 59 60 62 65 66 67 68 71 72 74 77 84 92 123 124"},F:{"25":0.0789,"31":0.30298,"36":0.00316,"40":0.32507,"46":0.16096,"77":0.00631,"95":0.04418,"102":0.00316,"104":0.00316,"105":0.25564,"106":0.32507,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.08521,"92":0.00316,"108":0.00316,"109":0.03156,"111":0.00316,"113":0.00316,"114":0.00316,"116":0.00316,"117":0.00316,"118":0.00316,"119":0.01894,"120":1.41704,"121":0.22092,_:"12 13 14 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110 112 115"},E:{"13":0.00316,"14":0.00947,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.00631,"12.1":0.00631,"13.1":0.01262,"14.1":0.02209,"15.1":0.00316,"15.2-15.3":0.00316,"15.4":0.00631,"15.5":0.00947,"15.6":0.0505,"16.0":0.00316,"16.1":0.00947,"16.2":0.01578,"16.3":0.02525,"16.4":0.02209,"16.5":0.01578,"16.6":0.09784,"17.0":0.01262,"17.1":0.10099,"17.2":0.18305,"17.3":0.01578},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.001,"5.0-5.1":0.0015,"6.0-6.1":0.00251,"7.0-7.1":0.00351,"8.1-8.4":0.0005,"9.0-9.2":0.00301,"9.3":0.01154,"10.0-10.2":0.001,"10.3":0.01806,"11.0-11.2":0.00702,"11.3-11.4":0.00752,"12.0-12.1":0.00451,"12.2-12.5":0.0893,"13.0-13.1":0.0015,"13.2":0.01655,"13.3":0.00451,"13.4-13.7":0.02007,"14.0-14.4":0.03512,"14.5-14.8":0.05368,"15.0-15.1":0.02308,"15.2-15.3":0.02659,"15.4":0.0311,"15.5":0.04114,"15.6-15.8":0.32056,"16.0":0.09632,"16.1":0.20518,"16.2":0.09331,"16.3":0.17358,"16.4":0.03863,"16.5":0.08227,"16.6-16.7":0.67323,"17.0":0.11187,"17.1":1.15333,"17.2":1.56118,"17.3":0.10033},P:{"4":0.16018,"20":0.03204,"21":0.09611,"22":0.10679,"23":2.12508,"5.0-5.4":0.01068,"6.2-6.4":0.01068,_:"7.2-7.4 8.2 10.1 12.0","9.2":0.06407,"11.1-11.2":0.01068,"13.0":0.01068,"14.0":0.02136,"15.0":0.01068,"16.0":0.01068,"17.0":0.01068,"18.0":0.02136,"19.0":0.04272},I:{"0":0.4429,"3":0,"4":0.00009,"2.1":0,"2.2":0.00004,"2.3":0,"4.1":0.00009,"4.2-4.3":0.00031,"4.4":0,"4.4.3-4.4.4":0.00116},A:{"8":0.00316,"11":0.02525,_:"6 7 9 10 5.5"},K:{"0":0.15741,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.04106},H:{"0":0},L:{"0":61.27091},R:{_:"0"},M:{"0":0.17794}}; diff --git a/.pnpm-store/v3/files/ba/7578b975e744b3ae7b7ccdb77a5fff0b9f877a226460c49e66fb3e49d8fc04b1819f0c39bb693a892acaf66615e894ad861bcc4145bd8fe090456fa3c95dd9 b/.pnpm-store/v3/files/ba/7578b975e744b3ae7b7ccdb77a5fff0b9f877a226460c49e66fb3e49d8fc04b1819f0c39bb693a892acaf66615e894ad861bcc4145bd8fe090456fa3c95dd9 new file mode 100644 index 00000000..82340823 --- /dev/null +++ b/.pnpm-store/v3/files/ba/7578b975e744b3ae7b7ccdb77a5fff0b9f877a226460c49e66fb3e49d8fc04b1819f0c39bb693a892acaf66615e894ad861bcc4145bd8fe090456fa3c95dd9 @@ -0,0 +1 @@ +module.exports={C:{"2":0.0019,"3":0.00379,"4":0.0019,"5":0.0019,"11":0.0019,"15":0.0019,"16":0.0019,"26":0.0019,"31":0.0019,"33":0.0019,"34":0.0019,"35":0.0019,"37":0.0019,"38":0.00379,"39":0.0019,"40":0.00379,"41":0.0019,"42":0.0019,"44":0.0019,"52":0.0019,"72":0.0019,"78":0.0019,"94":0.0019,"100":0.00569,"101":0.0019,"103":0.0019,"106":0.05312,"110":0.0019,"113":0.00379,"115":0.07019,"117":0.00379,"118":0.0019,"119":0.00379,"120":0.01518,"121":0.42113,"122":0.09485,"123":0.0019,_:"6 7 8 9 10 12 13 14 17 18 19 20 21 22 23 24 25 27 28 29 30 32 36 43 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 102 104 105 107 108 109 111 112 114 116 124 125","3.5":0.0019,"3.6":0.00569},D:{"4":0.0019,"14":0.0019,"17":0.0019,"19":0.0019,"21":0.00379,"31":0.0019,"33":0.0019,"35":0.0019,"36":0.0019,"37":0.04743,"38":0.0019,"39":0.00379,"40":0.00949,"41":0.00949,"42":0.00379,"43":0.00759,"44":0.01518,"45":0.01138,"46":0.00949,"47":0.00569,"49":0.00379,"51":0.01138,"62":0.0019,"63":0.00379,"66":0.00759,"68":0.0019,"70":0.00759,"71":0.0019,"72":0.00379,"74":0.00759,"75":0.00379,"78":0.00379,"79":0.0019,"80":0.0019,"81":0.00379,"83":0.00569,"84":0.0019,"85":0.00379,"86":0.02466,"87":0.00569,"88":0.0019,"89":0.00569,"90":0.00949,"91":0.00379,"92":0.00379,"94":0.00379,"95":0.00379,"96":0.0019,"97":0.00569,"98":0.00759,"99":0.04173,"100":0.00379,"101":0.00949,"102":0.00759,"103":0.04173,"104":0.00759,"105":0.01328,"106":0.00759,"107":0.00949,"108":0.01138,"109":0.96368,"110":0.00949,"111":0.05881,"112":0.01518,"113":0.01328,"114":0.03415,"115":0.02846,"116":0.05881,"117":0.03035,"118":0.07019,"119":0.27696,"120":8.69395,"121":0.61463,"122":0.00759,_:"5 6 7 8 9 10 11 12 13 15 16 18 20 22 23 24 25 26 27 28 29 30 32 34 48 50 52 53 54 55 56 57 58 59 60 61 64 65 67 69 73 76 77 93 123 124"},F:{"31":0.0019,"32":0.0019,"46":0.02466,"48":0.0019,"79":0.0019,"89":0.0019,"95":0.02846,"105":0.08916,"106":0.10054,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 37 38 39 40 41 42 43 44 45 47 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00379},B:{"12":0.00379,"13":0.00379,"14":0.0019,"15":0.0019,"16":0.0019,"17":0.00759,"18":0.01707,"84":0.0019,"89":0.0019,"90":0.0019,"91":0.0019,"92":0.03984,"100":0.00379,"108":0.00569,"109":0.03035,"110":0.0019,"111":0.0019,"113":0.00379,"114":0.00759,"115":0.0019,"116":0.00759,"117":0.00569,"118":0.00759,"119":0.03604,"120":1.84768,"121":0.24282,_:"79 80 81 83 85 86 87 88 93 94 95 96 97 98 99 101 102 103 104 105 106 107 112"},E:{"5":0.0019,"6":0.0019,"8":0.0019,"9":0.02656,"13":0.0019,"14":0.01138,_:"0 4 7 10 11 12 15 3.1 3.2 6.1 10.1 11.1 12.1 17.4","5.1":0.0019,"7.1":0.0019,"9.1":0.0019,"13.1":0.01138,"14.1":0.16883,"15.1":0.00379,"15.2-15.3":0.00379,"15.4":0.00569,"15.5":0.00379,"15.6":0.08347,"16.0":0.03225,"16.1":0.03035,"16.2":0.01707,"16.3":0.03225,"16.4":0.01138,"16.5":0.02087,"16.6":0.10244,"17.0":0.01897,"17.1":0.15366,"17.2":0.3149,"17.3":0.02466},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00375,"5.0-5.1":0.00563,"6.0-6.1":0.00938,"7.0-7.1":0.01314,"8.1-8.4":0.00188,"9.0-9.2":0.01126,"9.3":0.04316,"10.0-10.2":0.00375,"10.3":0.06756,"11.0-11.2":0.02627,"11.3-11.4":0.02815,"12.0-12.1":0.01689,"12.2-12.5":0.33404,"13.0-13.1":0.00563,"13.2":0.06193,"13.3":0.01689,"13.4-13.7":0.07507,"14.0-14.4":0.13137,"14.5-14.8":0.2008,"15.0-15.1":0.08633,"15.2-15.3":0.09946,"15.4":0.11635,"15.5":0.15389,"15.6-15.8":1.19918,"16.0":0.36032,"16.1":0.76755,"16.2":0.34906,"16.3":0.64932,"16.4":0.1445,"16.5":0.30777,"16.6-16.7":2.51847,"17.0":0.41849,"17.1":4.31443,"17.2":5.84015,"17.3":0.37533},P:{"4":0.08197,"20":0.04098,"21":0.16394,"22":0.28689,"23":1.83407,_:"5.0-5.4 8.2 10.1 12.0","6.2-6.4":0.01025,"7.2-7.4":0.16394,"9.2":0.02049,"11.1-11.2":0.05123,"13.0":0.01025,"14.0":0.03074,"15.0":0.02049,"16.0":0.03074,"17.0":0.03074,"18.0":0.01025,"19.0":0.04098},I:{"0":0.17748,"3":0,"4":0.00004,"2.1":0,"2.2":0.00002,"2.3":0,"4.1":0.00004,"4.2-4.3":0.00012,"4.4":0,"4.4.3-4.4.4":0.00046},A:{"6":0.0024,"7":0.0072,"8":0.07919,"9":0.0144,"10":0.012,"11":0.07439,"5.5":0.0024},K:{"0":0.2755,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.04052},O:{"0":1.36941},H:{"0":0},L:{"0":59.57059},R:{_:"0"},M:{"0":0.13775}}; diff --git a/.pnpm-store/v3/files/ba/9dfa8b8aa9972ace87b0fea0513d6551e9e632a6096d4ff7902d8f8af97bb5d9c9e4b12a94f587c3c12c6597b32cec7dcff8369dbcb3b1abd26935836c109b b/.pnpm-store/v3/files/ba/9dfa8b8aa9972ace87b0fea0513d6551e9e632a6096d4ff7902d8f8af97bb5d9c9e4b12a94f587c3c12c6597b32cec7dcff8369dbcb3b1abd26935836c109b new file mode 100644 index 00000000..e0df7b52 --- /dev/null +++ b/.pnpm-store/v3/files/ba/9dfa8b8aa9972ace87b0fea0513d6551e9e632a6096d4ff7902d8f8af97bb5d9c9e4b12a94f587c3c12c6597b32cec7dcff8369dbcb3b1abd26935836c109b @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","2":"SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"EOT - Embedded OpenType fonts",D:true}; diff --git a/.pnpm-store/v3/files/ba/b5bc9da998b7f58d3aef29c767f61ccadc83c0d68a646ef3945797d4dd42fba6e652cb15987ecb86bc188d0ea2c6fb60c6fc24ef4ea982f3908ee6ec9d1a75 b/.pnpm-store/v3/files/ba/b5bc9da998b7f58d3aef29c767f61ccadc83c0d68a646ef3945797d4dd42fba6e652cb15987ecb86bc188d0ea2c6fb60c6fc24ef4ea982f3908ee6ec9d1a75 new file mode 100644 index 00000000..57310105 --- /dev/null +++ b/.pnpm-store/v3/files/ba/b5bc9da998b7f58d3aef29c767f61ccadc83c0d68a646ef3945797d4dd42fba6e652cb15987ecb86bc188d0ea2c6fb60c6fc24ef4ea982f3908ee6ec9d1a75 @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B SC"},B:{"132":"C K L G M N O","388":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"H 1B BC CC UC","132":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z VC WC"},D:{"132":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB","388":"0 1 2 3 4 5 6 7 8 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"5B IC JC KC LC MC fC 6B NC OC PC gC hC","132":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC"},F:{"132":"F B C G M N O AB q r s t BB iC jC kC lC 2B QC mC 3B","388":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"5B IC JC KC LC MC 8C 6B NC OC PC","132":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C"},H:{"132":"9C"},I:{"132":"7B I AD BD CD DD RC ED FD","388":"H"},J:{"132":"D A"},K:{"132":"A B C 2B QC 3B","388":"u"},L:{"388":"H"},M:{"132":"1B"},N:{"132":"A B"},O:{"388":"4B"},P:{"132":"I","388":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"388":"FC"},R:{"388":"SD"},S:{"132":"TD UD"}},B:4,C:"CSS text-indent",D:true}; diff --git a/.pnpm-store/v3/files/ba/d9f09bdd92ca8ce00378611f623caa575fda506a9baa8738809ac1135116ed6a31edfea2aafe19c5e31aa4e65d33061394f8782d3792bfeb961e42d4845d64-index.json b/.pnpm-store/v3/files/ba/d9f09bdd92ca8ce00378611f623caa575fda506a9baa8738809ac1135116ed6a31edfea2aafe19c5e31aa4e65d33061394f8782d3792bfeb961e42d4845d64-index.json new file mode 100644 index 00000000..2fb745e0 --- /dev/null +++ b/.pnpm-store/v3/files/ba/d9f09bdd92ca8ce00378611f623caa575fda506a9baa8738809ac1135116ed6a31edfea2aafe19c5e31aa4e65d33061394f8782d3792bfeb961e42d4845d64-index.json @@ -0,0 +1 @@ +{"files":{"LICENSE":{"checkedAt":1708001724535,"integrity":"sha512-PuvH5PS/6C6p0yJU7uDTLIHQcbzrXmGVohd7ZwkMhXeTfoIESnSLYpgTMaKijKayKtQ1vbETrxvRl2sSGc1evg==","mode":420,"size":1073},"src/cli/cli.js":{"checkedAt":1708001724535,"integrity":"sha512-3rP8RrS9NryCoESy9uotitzLV0TKqVE29H2aHsbogCxhK1Q3yuUxEPKy2DKYUV9O/ZYbkJaZavaVjr92UnQiYg==","mode":493,"size":2492},"src/xmlparser/DocTypeReader.js":{"checkedAt":1708001724536,"integrity":"sha512-Rst9uYPi41kBSwyhsplGxw5rNSxhzaVvUwTjxvdfxoHedCh2ZavPy0a+1fb1DuZ7CbrXRABwTm+lwxz26501Ug==","mode":420,"size":4701},"src/fxp.js":{"checkedAt":1708001724536,"integrity":"sha512-VHyb/6JExc+RqIzH6UV+3YwAHX2Xmkc5U9qJSXbDqlr3TO2WKymgQa2XBeNzLUSDLrPZ9A0yE9LzYiOdLoAF0g==","mode":420,"size":259},"src/xmlbuilder/json2xml.js":{"checkedAt":1708001724536,"integrity":"sha512-p8XrAzcLaT0S1pBBpj2esSbPFE4GIkMdthZkGVEGFkNtDnTGUOmI9blAwZJp+wuAT5kqpVDDM4B8DcxC/kx5nQ==","mode":420,"size":9087},"src/cli/man.js":{"checkedAt":1708001724536,"integrity":"sha512-id9MNfzTXJpDZ3n35j+RQGyAnzvIqaHrzD9QlBYFif8Ccq11w0rOMSLcHmeNH/7frzhOAZbYi5rH+V0SlZIQNA==","mode":420,"size":375},"src/xmlparser/node2json.js":{"checkedAt":1708001724536,"integrity":"sha512-xE5eAw1l9sVmzVasxxkiFS7Qpu6mlrovYt0gdP8UMziWOJE+S7ADtCQcNpqqTLpC79RUJ83wKAvA6aoV8jusJA==","mode":420,"size":3156},"src/xmlparser/OptionsBuilder.js":{"checkedAt":1708001724536,"integrity":"sha512-+G1cqH5kS/C5OXgEhHoL4Z1I3SYP97FRwTdQnMiBV+MfebVOSeLzvLGYVLufNoqLZwyxDWquPj/RHdCyVc5NYQ==","mode":420,"size":1403},"src/xmlbuilder/orderedJs2Xml.js":{"checkedAt":1708001724536,"integrity":"sha512-P/k+wHFypDTUBphoqlKtG2Y/9NsyVbsMR8O3PeF0KY6icO+okk1z1WCU96bSWsg0TiPQ/FR2dX1LpVKcNFUaKg==","mode":420,"size":5014},"src/xmlparser/OrderedObjParser.js":{"checkedAt":1708001724537,"integrity":"sha512-Q6bA/QxHMAk+Nl0//SD11wdUXT3lSVpeJx3G/fSWDneziDauU0UNOqYiq1l608hDofVi4Ha2HAnkbvcAx51apw==","mode":420,"size":20098},"src/xmlbuilder/prettifyJs2Xml.js":{"checkedAt":1708001724538,"integrity":"sha512-z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==","mode":420,"size":0},"src/cli/read.js":{"checkedAt":1708001724538,"integrity":"sha512-ggjo1LggjIsz7kH7fZ7Lfesz+qmDr861qiyGjo18FrwfZZpx0uW5EyJt3xJavQtxZbvpi/R6MUdPDRqhxkvOxA==","mode":420,"size":2412},"src/util.js":{"checkedAt":1708001724538,"integrity":"sha512-r0Cu+6aQyRw0DUrdfa0Ucjea3dTs9qI845ZV0SHuwXhZAUGrSQApnVipUtNCj6VNm7XttUGrrcmnI/kVOda28g==","mode":420,"size":1952},"src/validator.js":{"checkedAt":1708001724538,"integrity":"sha512-v9Hv7RrlJN5ATwoxTWCQ7WX3jClJmmvWoATzXxe5KDvQDdroe5Al5F6LyJIvdbMFEx1M/UNxoBvqlNBSbR802A==","mode":420,"size":14207},"src/xmlparser/xmlNode.js":{"checkedAt":1708001724538,"integrity":"sha512-Hl38aRqZshJVXy7yJqGa72eGJDvYrfupPd6x1VUGZMBayYM5u77eE5hUPn+2lSZikgdzl2WnlqmgNhOhSPQZzg==","mode":420,"size":692},"src/xmlparser/XMLParser.js":{"checkedAt":1708001724538,"integrity":"sha512-JCX8WkCw4zlHnxv4sQlMH0OwhR8+PWNx1enFP/TEhO6HykDB7gxhRy46W1D7Uqcye4g0LxTYLRWstJZZxgiuYw==","mode":420,"size":2120},"package.json":{"checkedAt":1708001724538,"integrity":"sha512-9fitFKPg2B7elmo3tZOsG5tfAVU4KGNdj8KL4RZAz7f3uSwjCDcAHroSYeqruyEmbq3UXweqjq/2M7Wth+w2Fg==","mode":420,"size":1956},"CHANGELOG.md":{"checkedAt":1708001724539,"integrity":"sha512-U5tAftLqCZH8p5prLSjypGwb2gWBErKCbR69bSLvI46oLgwltpjUcazMGYePzQ4az1X7Rcc7Ni+PmbjuxUxClg==","mode":420,"size":21161},"README.md":{"checkedAt":1708001724539,"integrity":"sha512-Pdh35Gqmw91BQY7sKIpS5p/Yiqf+YpAyVkj+x2ex3uHBpM+hbmp+5yPxfw3rPGNy6UVnXyiK97s3AMyAzGWS7A==","mode":420,"size":11016},"src/fxp.d.ts":{"checkedAt":1708001724539,"integrity":"sha512-5CCY5Jwp9sG2mt7VHrEIbhYgR5il6cn4wlKxMXCnhxgM4fKY8AkDS4G2qzObaUzcmch/oc6cIPMuU1pUUJ3INA==","mode":420,"size":8679}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/bc/40ddf16ca51da1da17e69b9bf7e38a699a98bce4a146e33f308812e0fbe70be7950471be0a54d423bb9b68b1bc03ec5f07a06dcf6f028140f4979c382c4709 b/.pnpm-store/v3/files/bc/40ddf16ca51da1da17e69b9bf7e38a699a98bce4a146e33f308812e0fbe70be7950471be0a54d423bb9b68b1bc03ec5f07a06dcf6f028140f4979c382c4709 new file mode 100644 index 00000000..08cefec3 --- /dev/null +++ b/.pnpm-store/v3/files/bc/40ddf16ca51da1da17e69b9bf7e38a699a98bce4a146e33f308812e0fbe70be7950471be0a54d423bb9b68b1bc03ec5f07a06dcf6f028140f4979c382c4709 @@ -0,0 +1 @@ +module.exports={C:{"2":0.00758,"3":0.03031,"4":0.00758,"5":0.00758,"6":0.00758,"10":0.00758,"12":0.00758,"15":0.00758,"16":0.00758,"21":0.00758,"23":0.00758,"24":0.00758,"25":0.00758,"30":0.00758,"31":0.01515,"32":0.00758,"33":0.00758,"34":0.01515,"35":0.00758,"36":0.00758,"37":0.00758,"38":0.01515,"39":0.01515,"40":0.03031,"41":0.01515,"42":0.00758,"91":0.54554,"105":0.68951,"106":0.65162,"115":0.80316,"117":0.00758,"119":0.01515,"120":0.20458,"121":3.48542,"122":1.06836,_:"7 8 9 11 13 14 17 18 19 20 22 26 27 28 29 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 102 103 104 107 108 109 110 111 112 113 114 116 118 123 124 125","3.5":0.01515,"3.6":0.04546},D:{"4":0.00758,"5":0.00758,"6":0.00758,"7":0.01515,"10":0.00758,"11":0.00758,"13":0.00758,"17":0.00758,"18":0.00758,"19":0.01515,"21":0.01515,"25":0.00758,"26":0.00758,"28":0.00758,"31":0.00758,"33":0.00758,"34":0.00758,"35":0.00758,"36":0.02273,"37":0.01515,"38":0.00758,"39":0.03789,"40":0.03031,"41":0.03789,"42":0.01515,"43":0.06062,"44":0.10608,"45":0.07577,"46":0.06819,"47":0.06819,"49":0.10608,"51":0.10608,"70":0.02273,"73":0.00758,"76":0.40158,"79":0.20458,"87":32.20983,"88":0.02273,"89":0.02273,"90":0.00758,"97":0.00758,"98":0.07577,"99":0.01515,"103":0.01515,"107":1.4169,"108":1.18959,"109":1.12897,"110":2.39433,"111":0.57585,"112":0.03031,"113":0.00758,"114":0.00758,"115":0.00758,"116":1.6139,"117":0.02273,"118":0.06062,"119":0.21216,"120":8.83478,"121":0.9547,_:"8 9 12 14 15 16 20 22 23 24 27 29 30 32 48 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 74 75 77 78 80 81 83 84 85 86 91 92 93 94 95 96 100 101 102 104 105 106 122 123 124"},F:{"11":0.00758,"25":0.00758,"26":0.00758,"28":0.00758,"30":0.00758,"31":0.03031,"33":0.00758,"57":0.00758,"80":0.02273,"103":0.00758,"105":0.57585,"106":1.34113,_:"9 12 15 16 17 18 19 20 21 22 23 24 27 29 32 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 10.0-10.1 10.5 10.6 11.1 11.6","9.5-9.6":0.00758,"11.5":0.00758,"12.1":0.01515},B:{"12":0.01515,"87":0.00758,"90":0.00758,"98":0.00758,"100":0.01515,"107":0.197,"109":0.02273,"111":0.00758,"114":0.06819,"115":0.02273,"117":0.00758,"118":0.00758,"119":0.08335,"120":4.81897,"121":0.65162,_:"13 14 15 16 17 18 79 80 81 83 84 85 86 88 89 91 92 93 94 95 96 97 99 101 102 103 104 105 106 108 110 112 113 116"},E:{"5":0.00758,"8":0.00758,"9":0.18185,"14":0.01515,_:"0 4 6 7 10 11 12 13 15 3.1 3.2 6.1 10.1 11.1 12.1 17.4","5.1":0.01515,"7.1":0.00758,"9.1":0.01515,"13.1":0.16669,"14.1":1.62148,"15.1":0.02273,"15.2-15.3":0.01515,"15.4":0.01515,"15.5":0.01515,"15.6":0.27277,"16.0":0.16669,"16.1":0.02273,"16.2":0.03031,"16.3":0.31066,"16.4":0.02273,"16.5":0.07577,"16.6":0.394,"17.0":0.09092,"17.1":0.47735,"17.2":0.68951,"17.3":0.06819},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00214,"5.0-5.1":0.00321,"6.0-6.1":0.00535,"7.0-7.1":0.00748,"8.1-8.4":0.00107,"9.0-9.2":0.00641,"9.3":0.02459,"10.0-10.2":0.00214,"10.3":0.03848,"11.0-11.2":0.01497,"11.3-11.4":0.01604,"12.0-12.1":0.00962,"12.2-12.5":0.19029,"13.0-13.1":0.00321,"13.2":0.03528,"13.3":0.00962,"13.4-13.7":0.04276,"14.0-14.4":0.07483,"14.5-14.8":0.11439,"15.0-15.1":0.04918,"15.2-15.3":0.05666,"15.4":0.06628,"15.5":0.08766,"15.6-15.8":0.68311,"16.0":0.20525,"16.1":0.43723,"16.2":0.19884,"16.3":0.36988,"16.4":0.08232,"16.5":0.17532,"16.6-16.7":1.43464,"17.0":0.23839,"17.1":2.45769,"17.2":3.32681,"17.3":0.21381},P:{"4":0.08537,"20":0.01067,"22":0.03202,"23":1.69681,_:"21 5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0","6.2-6.4":0.09605,"18.0":0.01067,"19.0":0.02134},I:{"0":0.93116,"3":0,"4":0.00019,"2.1":0,"2.2":0.00009,"2.3":0,"4.1":0.00019,"4.2-4.3":0.00065,"4.4":0,"4.4.3-4.4.4":0.00243},A:{"6":0.03031,"7":0.05304,"8":0.43189,"9":0.0985,"10":0.0985,"11":0.28035,_:"5.5"},K:{"0":0.23745,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.05815,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.01938},O:{"0":0.15507},H:{"0":0},L:{"0":9.36929},R:{_:"0"},M:{"0":0.33437}}; diff --git a/.pnpm-store/v3/files/bc/68e49b75e624b57607e175317459b866f43f14b00233eb4fdad50e6cad5bb9d92cf3e9aee148ac974c30594928f49d259a9f6aec119e32dcf54043c6b9a4df b/.pnpm-store/v3/files/bc/68e49b75e624b57607e175317459b866f43f14b00233eb4fdad50e6cad5bb9d92cf3e9aee148ac974c30594928f49d259a9f6aec119e32dcf54043c6b9a4df new file mode 100644 index 00000000..954628af --- /dev/null +++ b/.pnpm-store/v3/files/bc/68e49b75e624b57607e175317459b866f43f14b00233eb4fdad50e6cad5bb9d92cf3e9aee148ac974c30594928f49d259a9f6aec119e32dcf54043c6b9a4df @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 2B QC mC 3B","2":"F iC jC kC lC"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC"},H:{"1":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"meter element",D:true}; diff --git a/.pnpm-store/v3/files/bc/6a5080156b2520d613190481de2c0d006e8b56edb492c63780c5c7bc8db9bee8959e6f6fceee4600a83a0e38ab5b0b3b17f5ab9c476e9b3082b04cef377617 b/.pnpm-store/v3/files/bc/6a5080156b2520d613190481de2c0d006e8b56edb492c63780c5c7bc8db9bee8959e6f6fceee4600a83a0e38ab5b0b3b17f5ab9c476e9b3082b04cef377617 new file mode 100644 index 00000000..5b622284 --- /dev/null +++ b/.pnpm-store/v3/files/bc/6a5080156b2520d613190481de2c0d006e8b56edb492c63780c5c7bc8db9bee8959e6f6fceee4600a83a0e38ab5b0b3b17f5ab9c476e9b3082b04cef377617 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"SC","8":"J D E","129":"F A B"},B:{"1":"0 1 2 3 4 5 6 7 8 N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","129":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","8":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","8":"9 I J"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","8":"9 I XC DC","129":"J D E YC ZC aC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","2":"B lC 2B QC","8":"F iC jC kC"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","8":"DC nC RC","129":"E oC pC qC rC"},H:{"1":"9C"},I:{"1":"H ED FD","2":"AD BD CD","129":"7B I DD RC"},J:{"1":"A","129":"D"},K:{"1":"C u 3B","8":"A B 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"129":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Inline SVG in HTML5",D:true}; diff --git a/.pnpm-store/v3/files/bc/80105265de30b99a0cdefc1d21382a1eb1aa87f67b74c950aafe2cfa97594e0d60d38dd0c0cdf61dbeb78287acf010366537c351b1050fe7d353da585c1ae7-index.json b/.pnpm-store/v3/files/bc/80105265de30b99a0cdefc1d21382a1eb1aa87f67b74c950aafe2cfa97594e0d60d38dd0c0cdf61dbeb78287acf010366537c351b1050fe7d353da585c1ae7-index.json new file mode 100644 index 00000000..0058d1e8 --- /dev/null +++ b/.pnpm-store/v3/files/bc/80105265de30b99a0cdefc1d21382a1eb1aa87f67b74c950aafe2cfa97594e0d60d38dd0c0cdf61dbeb78287acf010366537c351b1050fe7d353da585c1ae7-index.json @@ -0,0 +1 @@ +{"files":{"package.json":{"checkedAt":1708001725471,"integrity":"sha512-38KJmJF03itxegb0Fr5NX8zn6bwZFgseHe0LvT6pnIlYaiQhMZ3cp42yq83BSSAjD8c9yU5IE+KnhrpJkrxr4g==","mode":420,"size":419},"README.md":{"checkedAt":1708001725471,"integrity":"sha512-5w0clYQzWCpPCMzdiw6R3wJDz9Xxt/3KdT5wZVKCz70lV7VB8JZ1W1n7kCcsC2/P+zGQxwmdlqbLWiAt92hzjw==","mode":420,"size":97},"rollup.linux-x64-musl.node":{"checkedAt":1708001725483,"integrity":"sha512-iz5nXOCIlAfmpdTZALPSaFJLvwkAN479az6POpfJNIU6f/w4hUIHD0YD/z8nBno/ssG1YPPjZYdQ2EREEKUf+A==","mode":420,"size":2726936}}} \ No newline at end of file diff --git a/.pnpm-store/v3/files/bc/c9636a5ced975a77d71eab500c342204141eb14a07f504679b6f7ea7d8c48b8865a07c3ea268ddd772302ae3dc810337814778c37924dbc2b93561abafcec2 b/.pnpm-store/v3/files/bc/c9636a5ced975a77d71eab500c342204141eb14a07f504679b6f7ea7d8c48b8865a07c3ea268ddd772302ae3dc810337814778c37924dbc2b93561abafcec2 new file mode 100644 index 00000000..177f2584 --- /dev/null +++ b/.pnpm-store/v3/files/bc/c9636a5ced975a77d71eab500c342204141eb14a07f504679b6f7ea7d8c48b8865a07c3ea268ddd772302ae3dc810337814778c37924dbc2b93561abafcec2 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"J D E F A B","16":"SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","16":"TC"},D:{"1":"0 1 2 3 4 5 6 7 8 G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","16":"9 I J D E F A B C K L"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"I XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 2B QC mC 3B","16":"F iC jC kC lC"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC"},H:{"1":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"C u 3B","16":"A B 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"document.elementFromPoint()",D:true}; diff --git a/.pnpm-store/v3/files/bd/04733541965c8d3e1011d0c12c0e50c3fa3f7229d033886bd8a76e334f4d7f1d0417d22fb9a523f57373e7e77d1f19df0e8ca83d9ae3b164e9ea089f21d28b b/.pnpm-store/v3/files/bd/04733541965c8d3e1011d0c12c0e50c3fa3f7229d033886bd8a76e334f4d7f1d0417d22fb9a523f57373e7e77d1f19df0e8ca83d9ae3b164e9ea089f21d28b new file mode 100644 index 00000000..de52659e --- /dev/null +++ b/.pnpm-store/v3/files/bd/04733541965c8d3e1011d0c12c0e50c3fa3f7229d033886bd8a76e334f4d7f1d0417d22fb9a523f57373e7e77d1f19df0e8ca83d9ae3b164e9ea089f21d28b @@ -0,0 +1,19 @@ +# bare-path + +Path manipulation library for JavaScript. + +``` +npm i bare-path +``` + +## Usage + +``` js +const path = require('bare-path') + +path.join('foo', 'bar') // foo/bar on posix, foo\bar on windows +``` + +## License + +Apache-2.0 diff --git a/.pnpm-store/v3/files/bd/0ef2075bff615a908e4640ba679e005cbab8ac5eecccc1b49123bff83c8f0ff05762ee6a2d23d79ae055b2d3dc548d14f712c38c99da7d4ce8e6527414a1b7 b/.pnpm-store/v3/files/bd/0ef2075bff615a908e4640ba679e005cbab8ac5eecccc1b49123bff83c8f0ff05762ee6a2d23d79ae055b2d3dc548d14f712c38c99da7d4ce8e6527414a1b7 new file mode 100644 index 00000000..334f6c00 --- /dev/null +++ b/.pnpm-store/v3/files/bd/0ef2075bff615a908e4640ba679e005cbab8ac5eecccc1b49123bff83c8f0ff05762ee6a2d23d79ae055b2d3dc548d14f712c38c99da7d4ce8e6527414a1b7 @@ -0,0 +1,18 @@ +/* + @license + Rollup.js v4.11.0 + Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99 + + https://github.com/rollup/rollup + + Released under the MIT License. +*/ +export { version as VERSION, defineConfig, rollup, watch } from './shared/node-entry.js'; +import './shared/parseAst.js'; +import '../native.js'; +import 'node:path'; +import 'path'; +import 'node:process'; +import 'node:perf_hooks'; +import 'node:fs/promises'; +import 'tty'; diff --git a/.pnpm-store/v3/files/bd/5f2d64b58c67143745bd8a13388cc5f595274e3e7819ce0774dc11b3107a00887134cf5a2ecadb45268d1c07270b3f82891987da230a4ae8bd4566be5b591a b/.pnpm-store/v3/files/bd/5f2d64b58c67143745bd8a13388cc5f595274e3e7819ce0774dc11b3107a00887134cf5a2ecadb45268d1c07270b3f82891987da230a4ae8bd4566be5b591a new file mode 100644 index 00000000..bec63b90 --- /dev/null +++ b/.pnpm-store/v3/files/bd/5f2d64b58c67143745bd8a13388cc5f595274e3e7819ce0774dc11b3107a00887134cf5a2ecadb45268d1c07270b3f82891987da230a4ae8bd4566be5b591a @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 J YC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I D E F A B C K L G XC DC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p lC 2B QC mC 3B","2":"F iC jC kC"},G:{"1":"oC pC 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"B C 2B QC 3B","2":"u","16":"A"},L:{"2":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"I","2":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"1":"TD UD"}},B:1,C:"Shared Web Workers",D:true}; diff --git a/.pnpm-store/v3/files/bd/8adc880605db1fd4f1bfb8239c9409d8f60acacc6291ded2c78142e61051f5e8fa2139b185c21a345bebb49f038cd7c61a89ea55758b545a7642d661769efc b/.pnpm-store/v3/files/bd/8adc880605db1fd4f1bfb8239c9409d8f60acacc6291ded2c78142e61051f5e8fa2139b185c21a345bebb49f038cd7c61a89ea55758b545a7642d661769efc new file mode 100644 index 00000000..25fbeab9 --- /dev/null +++ b/.pnpm-store/v3/files/bd/8adc880605db1fd4f1bfb8239c9409d8f60acacc6291ded2c78142e61051f5e8fa2139b185c21a345bebb49f038cd7c61a89ea55758b545a7642d661769efc @@ -0,0 +1,12 @@ +/* + @license + Rollup.js v4.11.0 + Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99 + + https://github.com/rollup/rollup + + Released under the MIT License. +*/ +import '../native.js'; +export { parseAst, parseAstAsync } from './shared/parseAst.js'; +import 'node:path'; diff --git a/.pnpm-store/v3/files/bd/8f1981c75fe9d5f5e36215853c4796b02acb3ec734b0703cfe81210990c2ae10b527f6c65aedd56d1d752b380ac5a16ff131bd00198939a6d26fb701dfcd63 b/.pnpm-store/v3/files/bd/8f1981c75fe9d5f5e36215853c4796b02acb3ec734b0703cfe81210990c2ae10b527f6c65aedd56d1d752b380ac5a16ff131bd00198939a6d26fb701dfcd63 new file mode 100644 index 00000000..0b528be6 --- /dev/null +++ b/.pnpm-store/v3/files/bd/8f1981c75fe9d5f5e36215853c4796b02acb3ec734b0703cfe81210990c2ae10b527f6c65aedd56d1d752b380ac5a16ff131bd00198939a6d26fb701dfcd63 @@ -0,0 +1,28 @@ +function dispose_SuppressedError(r, e) { + return "undefined" != typeof SuppressedError ? dispose_SuppressedError = SuppressedError : (dispose_SuppressedError = function dispose_SuppressedError(r, e) { + this.suppressed = e, this.error = r, this.stack = new Error().stack; + }, dispose_SuppressedError.prototype = Object.create(Error.prototype, { + constructor: { + value: dispose_SuppressedError, + writable: !0, + configurable: !0 + } + })), new dispose_SuppressedError(r, e); +} +function _dispose(r, e, s) { + function next() { + for (; r.length > 0;) try { + var o = r.pop(), + p = o.d.call(o.v); + if (o.a) return Promise.resolve(p).then(next, err); + } catch (r) { + return err(r); + } + if (s) throw e; + } + function err(r) { + return e = s ? new dispose_SuppressedError(e, r) : r, s = !0, next(); + } + return next(); +} +module.exports = _dispose, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/.pnpm-store/v3/files/bd/8fdd848285484ced7b69b5eb53023fafaeaf8675f273651db3ac91bd119fd7470f6a84b143e10b9e16fef6579ffe06845ee789fcec9ee6ac9aa57c20dda1ca b/.pnpm-store/v3/files/bd/8fdd848285484ced7b69b5eb53023fafaeaf8675f273651db3ac91bd119fd7470f6a84b143e10b9e16fef6579ffe06845ee789fcec9ee6ac9aa57c20dda1ca new file mode 100644 index 00000000..7cc52df7 --- /dev/null +++ b/.pnpm-store/v3/files/bd/8fdd848285484ced7b69b5eb53023fafaeaf8675f273651db3ac91bd119fd7470f6a84b143e10b9e16fef6579ffe06845ee789fcec9ee6ac9aa57c20dda1ca @@ -0,0 +1,608 @@ +[ + "0BSD", + "AAL", + "ADSL", + "AFL-1.1", + "AFL-1.2", + "AFL-2.0", + "AFL-2.1", + "AFL-3.0", + "AGPL-1.0-only", + "AGPL-1.0-or-later", + "AGPL-3.0-only", + "AGPL-3.0-or-later", + "AMDPLPA", + "AML", + "AML-glslang", + "AMPAS", + "ANTLR-PD", + "ANTLR-PD-fallback", + "APAFML", + "APL-1.0", + "APSL-1.0", + "APSL-1.1", + "APSL-1.2", + "APSL-2.0", + "ASWF-Digital-Assets-1.0", + "ASWF-Digital-Assets-1.1", + "Abstyles", + "AdaCore-doc", + "Adobe-2006", + "Adobe-Display-PostScript", + "Adobe-Glyph", + "Adobe-Utopia", + "Afmparse", + "Aladdin", + "Apache-1.0", + "Apache-1.1", + "Apache-2.0", + "App-s2p", + "Arphic-1999", + "Artistic-1.0", + "Artistic-1.0-Perl", + "Artistic-1.0-cl8", + "Artistic-2.0", + "BSD-1-Clause", + "BSD-2-Clause", + "BSD-2-Clause-Darwin", + "BSD-2-Clause-Patent", + "BSD-2-Clause-Views", + "BSD-3-Clause", + "BSD-3-Clause-Attribution", + "BSD-3-Clause-Clear", + "BSD-3-Clause-HP", + "BSD-3-Clause-LBNL", + "BSD-3-Clause-Modification", + "BSD-3-Clause-No-Military-License", + "BSD-3-Clause-No-Nuclear-License", + "BSD-3-Clause-No-Nuclear-License-2014", + "BSD-3-Clause-No-Nuclear-Warranty", + "BSD-3-Clause-Open-MPI", + "BSD-3-Clause-Sun", + "BSD-3-Clause-acpica", + "BSD-3-Clause-flex", + "BSD-4-Clause", + "BSD-4-Clause-Shortened", + "BSD-4-Clause-UC", + "BSD-4.3RENO", + "BSD-4.3TAHOE", + "BSD-Advertising-Acknowledgement", + "BSD-Attribution-HPND-disclaimer", + "BSD-Inferno-Nettverk", + "BSD-Protection", + "BSD-Source-Code", + "BSD-Source-beginning-file", + "BSD-Systemics", + "BSD-Systemics-W3Works", + "BSL-1.0", + "BUSL-1.1", + "Baekmuk", + "Bahyph", + "Barr", + "Beerware", + "BitTorrent-1.0", + "BitTorrent-1.1", + "Bitstream-Charter", + "Bitstream-Vera", + "BlueOak-1.0.0", + "Boehm-GC", + "Borceux", + "Brian-Gladman-2-Clause", + "Brian-Gladman-3-Clause", + "C-UDA-1.0", + "CAL-1.0", + "CAL-1.0-Combined-Work-Exception", + "CATOSL-1.1", + "CC-BY-1.0", + "CC-BY-2.0", + "CC-BY-2.5", + "CC-BY-2.5-AU", + "CC-BY-3.0", + "CC-BY-3.0-AT", + "CC-BY-3.0-AU", + "CC-BY-3.0-DE", + "CC-BY-3.0-IGO", + "CC-BY-3.0-NL", + "CC-BY-3.0-US", + "CC-BY-4.0", + "CC-BY-NC-1.0", + "CC-BY-NC-2.0", + "CC-BY-NC-2.5", + "CC-BY-NC-3.0", + "CC-BY-NC-3.0-DE", + "CC-BY-NC-4.0", + "CC-BY-NC-ND-1.0", + "CC-BY-NC-ND-2.0", + "CC-BY-NC-ND-2.5", + "CC-BY-NC-ND-3.0", + "CC-BY-NC-ND-3.0-DE", + "CC-BY-NC-ND-3.0-IGO", + "CC-BY-NC-ND-4.0", + "CC-BY-NC-SA-1.0", + "CC-BY-NC-SA-2.0", + "CC-BY-NC-SA-2.0-DE", + "CC-BY-NC-SA-2.0-FR", + "CC-BY-NC-SA-2.0-UK", + "CC-BY-NC-SA-2.5", + "CC-BY-NC-SA-3.0", + "CC-BY-NC-SA-3.0-DE", + "CC-BY-NC-SA-3.0-IGO", + "CC-BY-NC-SA-4.0", + "CC-BY-ND-1.0", + "CC-BY-ND-2.0", + "CC-BY-ND-2.5", + "CC-BY-ND-3.0", + "CC-BY-ND-3.0-DE", + "CC-BY-ND-4.0", + "CC-BY-SA-1.0", + "CC-BY-SA-2.0", + "CC-BY-SA-2.0-UK", + "CC-BY-SA-2.1-JP", + "CC-BY-SA-2.5", + "CC-BY-SA-3.0", + "CC-BY-SA-3.0-AT", + "CC-BY-SA-3.0-DE", + "CC-BY-SA-3.0-IGO", + "CC-BY-SA-4.0", + "CC-PDDC", + "CC0-1.0", + "CDDL-1.0", + "CDDL-1.1", + "CDL-1.0", + "CDLA-Permissive-1.0", + "CDLA-Permissive-2.0", + "CDLA-Sharing-1.0", + "CECILL-1.0", + "CECILL-1.1", + "CECILL-2.0", + "CECILL-2.1", + "CECILL-B", + "CECILL-C", + "CERN-OHL-1.1", + "CERN-OHL-1.2", + "CERN-OHL-P-2.0", + "CERN-OHL-S-2.0", + "CERN-OHL-W-2.0", + "CFITSIO", + "CMU-Mach", + "CMU-Mach-nodoc", + "CNRI-Jython", + "CNRI-Python", + "CNRI-Python-GPL-Compatible", + "COIL-1.0", + "CPAL-1.0", + "CPL-1.0", + "CPOL-1.02", + "CUA-OPL-1.0", + "Caldera", + "Caldera-no-preamble", + "ClArtistic", + "Clips", + "Community-Spec-1.0", + "Condor-1.1", + "Cornell-Lossless-JPEG", + "Cronyx", + "Crossword", + "CrystalStacker", + "Cube", + "D-FSL-1.0", + "DEC-3-Clause", + "DL-DE-BY-2.0", + "DL-DE-ZERO-2.0", + "DOC", + "DRL-1.0", + "DRL-1.1", + "DSDP", + "Dotseqn", + "ECL-1.0", + "ECL-2.0", + "EFL-1.0", + "EFL-2.0", + "EPICS", + "EPL-1.0", + "EPL-2.0", + "EUDatagrid", + "EUPL-1.0", + "EUPL-1.1", + "EUPL-1.2", + "Elastic-2.0", + "Entessa", + "ErlPL-1.1", + "Eurosym", + "FBM", + "FDK-AAC", + "FSFAP", + "FSFAP-no-warranty-disclaimer", + "FSFUL", + "FSFULLR", + "FSFULLRWD", + "FTL", + "Fair", + "Ferguson-Twofish", + "Frameworx-1.0", + "FreeBSD-DOC", + "FreeImage", + "Furuseth", + "GCR-docs", + "GD", + "GFDL-1.1-invariants-only", + "GFDL-1.1-invariants-or-later", + "GFDL-1.1-no-invariants-only", + "GFDL-1.1-no-invariants-or-later", + "GFDL-1.1-only", + "GFDL-1.1-or-later", + "GFDL-1.2-invariants-only", + "GFDL-1.2-invariants-or-later", + "GFDL-1.2-no-invariants-only", + "GFDL-1.2-no-invariants-or-later", + "GFDL-1.2-only", + "GFDL-1.2-or-later", + "GFDL-1.3-invariants-only", + "GFDL-1.3-invariants-or-later", + "GFDL-1.3-no-invariants-only", + "GFDL-1.3-no-invariants-or-later", + "GFDL-1.3-only", + "GFDL-1.3-or-later", + "GL2PS", + "GLWTPL", + "GPL-1.0-only", + "GPL-1.0-or-later", + "GPL-2.0-only", + "GPL-2.0-or-later", + "GPL-3.0-only", + "GPL-3.0-or-later", + "Giftware", + "Glide", + "Glulxe", + "Graphics-Gems", + "HP-1986", + "HP-1989", + "HPND", + "HPND-DEC", + "HPND-Fenneberg-Livingston", + "HPND-INRIA-IMAG", + "HPND-Kevlin-Henney", + "HPND-MIT-disclaimer", + "HPND-Markus-Kuhn", + "HPND-Pbmplus", + "HPND-UC", + "HPND-doc", + "HPND-doc-sell", + "HPND-export-US", + "HPND-export-US-modify", + "HPND-sell-MIT-disclaimer-xserver", + "HPND-sell-regexpr", + "HPND-sell-variant", + "HPND-sell-variant-MIT-disclaimer", + "HTMLTIDY", + "HaskellReport", + "Hippocratic-2.1", + "IBM-pibs", + "ICU", + "IEC-Code-Components-EULA", + "IJG", + "IJG-short", + "IPA", + "IPL-1.0", + "ISC", + "ISC-Veillard", + "ImageMagick", + "Imlib2", + "Info-ZIP", + "Inner-Net-2.0", + "Intel", + "Intel-ACPI", + "Interbase-1.0", + "JPL-image", + "JPNIC", + "JSON", + "Jam", + "JasPer-2.0", + "Kastrup", + "Kazlib", + "Knuth-CTAN", + "LAL-1.2", + "LAL-1.3", + "LGPL-2.0-only", + "LGPL-2.0-or-later", + "LGPL-2.1-only", + "LGPL-2.1-or-later", + "LGPL-3.0-only", + "LGPL-3.0-or-later", + "LGPLLR", + "LOOP", + "LPD-document", + "LPL-1.0", + "LPL-1.02", + "LPPL-1.0", + "LPPL-1.1", + "LPPL-1.2", + "LPPL-1.3a", + "LPPL-1.3c", + "LZMA-SDK-9.11-to-9.20", + "LZMA-SDK-9.22", + "Latex2e", + "Latex2e-translated-notice", + "Leptonica", + "LiLiQ-P-1.1", + "LiLiQ-R-1.1", + "LiLiQ-Rplus-1.1", + "Libpng", + "Linux-OpenIB", + "Linux-man-pages-1-para", + "Linux-man-pages-copyleft", + "Linux-man-pages-copyleft-2-para", + "Linux-man-pages-copyleft-var", + "Lucida-Bitmap-Fonts", + "MIT", + "MIT-0", + "MIT-CMU", + "MIT-Festival", + "MIT-Modern-Variant", + "MIT-Wu", + "MIT-advertising", + "MIT-enna", + "MIT-feh", + "MIT-open-group", + "MIT-testregex", + "MITNFA", + "MMIXware", + "MPEG-SSG", + "MPL-1.0", + "MPL-1.1", + "MPL-2.0", + "MPL-2.0-no-copyleft-exception", + "MS-LPL", + "MS-PL", + "MS-RL", + "MTLL", + "Mackerras-3-Clause", + "Mackerras-3-Clause-acknowledgment", + "MakeIndex", + "Martin-Birgmeier", + "McPhee-slideshow", + "Minpack", + "MirOS", + "Motosoto", + "MulanPSL-1.0", + "MulanPSL-2.0", + "Multics", + "Mup", + "NAIST-2003", + "NASA-1.3", + "NBPL-1.0", + "NCGL-UK-2.0", + "NCSA", + "NGPL", + "NICTA-1.0", + "NIST-PD", + "NIST-PD-fallback", + "NIST-Software", + "NLOD-1.0", + "NLOD-2.0", + "NLPL", + "NOSL", + "NPL-1.0", + "NPL-1.1", + "NPOSL-3.0", + "NRL", + "NTP", + "NTP-0", + "Naumen", + "Net-SNMP", + "NetCDF", + "Newsletr", + "Nokia", + "Noweb", + "O-UDA-1.0", + "OCCT-PL", + "OCLC-2.0", + "ODC-By-1.0", + "ODbL-1.0", + "OFFIS", + "OFL-1.0", + "OFL-1.0-RFN", + "OFL-1.0-no-RFN", + "OFL-1.1", + "OFL-1.1-RFN", + "OFL-1.1-no-RFN", + "OGC-1.0", + "OGDL-Taiwan-1.0", + "OGL-Canada-2.0", + "OGL-UK-1.0", + "OGL-UK-2.0", + "OGL-UK-3.0", + "OGTSL", + "OLDAP-1.1", + "OLDAP-1.2", + "OLDAP-1.3", + "OLDAP-1.4", + "OLDAP-2.0", + "OLDAP-2.0.1", + "OLDAP-2.1", + "OLDAP-2.2", + "OLDAP-2.2.1", + "OLDAP-2.2.2", + "OLDAP-2.3", + "OLDAP-2.4", + "OLDAP-2.5", + "OLDAP-2.6", + "OLDAP-2.7", + "OLDAP-2.8", + "OLFL-1.3", + "OML", + "OPL-1.0", + "OPL-UK-3.0", + "OPUBL-1.0", + "OSET-PL-2.1", + "OSL-1.0", + "OSL-1.1", + "OSL-2.0", + "OSL-2.1", + "OSL-3.0", + "OpenPBS-2.3", + "OpenSSL", + "OpenSSL-standalone", + "OpenVision", + "PADL", + "PDDL-1.0", + "PHP-3.0", + "PHP-3.01", + "PSF-2.0", + "Parity-6.0.0", + "Parity-7.0.0", + "Pixar", + "Plexus", + "PolyForm-Noncommercial-1.0.0", + "PolyForm-Small-Business-1.0.0", + "PostgreSQL", + "Python-2.0", + "Python-2.0.1", + "QPL-1.0", + "QPL-1.0-INRIA-2004", + "Qhull", + "RHeCos-1.1", + "RPL-1.1", + "RPL-1.5", + "RPSL-1.0", + "RSA-MD", + "RSCPL", + "Rdisc", + "Ruby", + "SAX-PD", + "SAX-PD-2.0", + "SCEA", + "SGI-B-1.0", + "SGI-B-1.1", + "SGI-B-2.0", + "SGI-OpenGL", + "SGP4", + "SHL-0.5", + "SHL-0.51", + "SISSL", + "SISSL-1.2", + "SL", + "SMLNJ", + "SMPPL", + "SNIA", + "SPL-1.0", + "SSH-OpenSSH", + "SSH-short", + "SSLeay-standalone", + "SSPL-1.0", + "SWL", + "Saxpath", + "SchemeReport", + "Sendmail", + "Sendmail-8.23", + "SimPL-2.0", + "Sleepycat", + "Soundex", + "Spencer-86", + "Spencer-94", + "Spencer-99", + "SugarCRM-1.1.3", + "Sun-PPP", + "SunPro", + "Symlinks", + "TAPR-OHL-1.0", + "TCL", + "TCP-wrappers", + "TGPPL-1.0", + "TMate", + "TORQUE-1.1", + "TOSL", + "TPDL", + "TPL-1.0", + "TTWL", + "TTYP0", + "TU-Berlin-1.0", + "TU-Berlin-2.0", + "TermReadKey", + "UCAR", + "UCL-1.0", + "UMich-Merit", + "UPL-1.0", + "URT-RLE", + "Unicode-3.0", + "Unicode-DFS-2015", + "Unicode-DFS-2016", + "Unicode-TOU", + "UnixCrypt", + "Unlicense", + "VOSTROM", + "VSL-1.0", + "Vim", + "W3C", + "W3C-19980720", + "W3C-20150513", + "WTFPL", + "Watcom-1.0", + "Widget-Workshop", + "Wsuipa", + "X11", + "X11-distribute-modifications-variant", + "XFree86-1.1", + "XSkat", + "Xdebug-1.03", + "Xerox", + "Xfig", + "Xnet", + "YPL-1.0", + "YPL-1.1", + "ZPL-1.1", + "ZPL-2.0", + "ZPL-2.1", + "Zed", + "Zeeff", + "Zend-2.0", + "Zimbra-1.3", + "Zimbra-1.4", + "Zlib", + "bcrypt-Solar-Designer", + "blessing", + "bzip2-1.0.6", + "check-cvs", + "checkmk", + "copyleft-next-0.3.0", + "copyleft-next-0.3.1", + "curl", + "diffmark", + "dtoa", + "dvipdfm", + "eGenix", + "etalab-2.0", + "fwlw", + "gSOAP-1.3b", + "gnuplot", + "gtkbook", + "hdparm", + "iMatix", + "libpng-2.0", + "libselinux-1.0", + "libtiff", + "libutil-David-Nugent", + "lsof", + "magaz", + "mailprio", + "metamail", + "mpi-permissive", + "mpich2", + "mplus", + "pnmstitch", + "psfrag", + "psutils", + "python-ldap", + "radvd", + "snprintf", + "softSurfer", + "ssh-keyscan", + "swrule", + "ulem", + "w3m", + "xinetd", + "xkeyboard-config-Zinoviev", + "xlock", + "xpp", + "zlib-acknowledgement" +] diff --git a/.pnpm-store/v3/files/be/44b69d05825ca00a2bade600a803c2dc1b9d885c3aa6de7e529284dc8c225a18b0f54bdeac7bf861f5098bd4fd5a7213043497b27c1812c7f43a38f91bee34 b/.pnpm-store/v3/files/be/44b69d05825ca00a2bade600a803c2dc1b9d885c3aa6de7e529284dc8c225a18b0f54bdeac7bf861f5098bd4fd5a7213043497b27c1812c7f43a38f91bee34 new file mode 100644 index 00000000..6dc8d5e2 --- /dev/null +++ b/.pnpm-store/v3/files/be/44b69d05825ca00a2bade600a803c2dc1b9d885c3aa6de7e529284dc8c225a18b0f54bdeac7bf861f5098bd4fd5a7213043497b27c1812c7f43a38f91bee34 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB VC WC","194":"IB JB KB LB"},D:{"1":"0 1 2 3 4 5 6 7 8 CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB"},E:{"1":"C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC EC","260":"B"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"Resource Timing (basic support)",D:true}; diff --git a/.pnpm-store/v3/files/be/45f127f1d7bc7482bcf141a3a8864d80de94d9eb93f7eb68b0aceb83240566c801ce634c711fbef12e6428e0b56ae559fdb73eb0626aa7e5f179def803e358 b/.pnpm-store/v3/files/be/45f127f1d7bc7482bcf141a3a8864d80de94d9eb93f7eb68b0aceb83240566c801ce634c711fbef12e6428e0b56ae559fdb73eb0626aa7e5f179def803e358 new file mode 100644 index 00000000..7faf461d --- /dev/null +++ b/.pnpm-store/v3/files/be/45f127f1d7bc7482bcf141a3a8864d80de94d9eb93f7eb68b0aceb83240566c801ce634c711fbef12e6428e0b56ae559fdb73eb0626aa7e5f179def803e358 @@ -0,0 +1,67 @@ +'use strict'; + +var $TypeError = require('es-errors/type'); + +var Call = require('es-abstract/2023/Call'); +var CompletionRecord = require('es-abstract/2023/CompletionRecord'); +var GetMethod = require('es-abstract/2023/GetMethod'); +var Type = require('es-abstract/2023/Type'); + +var isIteratorRecord = require('es-abstract/helpers/records/iterator-record'); + +// https://262.ecma-international.org/14.0/#sec-iteratorclose + +module.exports = function IteratorClose(iteratorRecord, completion) { + if (!isIteratorRecord(iteratorRecord)) { + throw new $TypeError('Assertion failed: `iteratorRecord` must be an Iterator Record'); // step 1 + } + if (Type(iteratorRecord['[[Iterator]]']) !== 'Object') { + throw new $TypeError('Assertion failed: iteratorRecord.[[Iterator]] must be an Object'); // step 1 + } + + if (!(completion instanceof CompletionRecord)) { // step 2 + throw new $TypeError('Assertion failed: completion is not a Completion Record instance'); + } + var completionThunk = function () { + var value = completion.value(); + if (completion.type() === 'throw') { + throw value; + } + return value; + }; + + var iterator = iteratorRecord['[[Iterator]]']; // step 3 + + var iteratorReturn; + try { + iteratorReturn = GetMethod(iterator, 'return'); // step 4 + } catch (e) { + completionThunk(); // throws if `completion` is a throw completion // step 6 + completionThunk = null; // ensure it's not called twice. + throw e; // step 7 + } + if (typeof iteratorReturn === 'undefined') { + return completionThunk(); // step 5.a - 5.b + } + + var innerResult; + try { + innerResult = Call(iteratorReturn, iterator, []); + } catch (e) { + // if we hit here, then "e" is the innerResult completion that needs re-throwing + + completionThunk(); // throws if `completion` is a throw completion // step 6 + completionThunk = null; // ensure it's not called twice. + + // if not, then return the innerResult completion + throw e; // step 7 + } + var completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does + completionThunk = null; // ensure it's not called twice. + + if (Type(innerResult) !== 'Object') { + throw new $TypeError('iterator .return must return an object'); + } + + return completionRecord; +}; diff --git a/.pnpm-store/v3/files/be/69d1af779c95bcb45a5e32e836a68ca1365a4e75e8643c75e09e53adb66fec47aa2d2bbfbc701cc9fc9db643b8ee2d41ee52c7e9d9289a8167645fb143d2a8 b/.pnpm-store/v3/files/be/69d1af779c95bcb45a5e32e836a68ca1365a4e75e8643c75e09e53adb66fec47aa2d2bbfbc701cc9fc9db643b8ee2d41ee52c7e9d9289a8167645fb143d2a8 new file mode 100644 index 00000000..74989bf3 --- /dev/null +++ b/.pnpm-store/v3/files/be/69d1af779c95bcb45a5e32e836a68ca1365a4e75e8643c75e09e53adb66fec47aa2d2bbfbc701cc9fc9db643b8ee2d41ee52c7e9d9289a8167645fb143d2a8 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O","33":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"9 I J D E F A B C K L G M","33":"0 1 2 3 4 5 6 7 8 N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC","33":"J D E F YC ZC aC bC"},F:{"2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC","33":"E oC pC qC rC sC tC"},H:{"2":"9C"},I:{"2":"7B I AD BD CD DD RC","33":"H ED FD"},J:{"2":"D A"},K:{"2":"A B C 2B QC 3B","33":"u"},L:{"33":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"33":"4B"},P:{"33":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"33":"FC"},R:{"33":"SD"},S:{"2":"TD UD"}},B:4,C:"CSS Cross-Fade Function",D:true}; diff --git a/.pnpm-store/v3/files/bf/261403f8e3ea371b907bfef66bb2f4672c3c47e4d71da1e0743a9ed889b05bf1362bf925711e601fcff728ac1422c0dc3861999bc1bc54aca26a1b441bdfa5 b/.pnpm-store/v3/files/bf/261403f8e3ea371b907bfef66bb2f4672c3c47e4d71da1e0743a9ed889b05bf1362bf925711e601fcff728ac1422c0dc3861999bc1bc54aca26a1b441bdfa5 new file mode 100644 index 00000000..ae329f11 --- /dev/null +++ b/.pnpm-store/v3/files/bf/261403f8e3ea371b907bfef66bb2f4672c3c47e4d71da1e0743a9ed889b05bf1362bf925711e601fcff728ac1422c0dc3861999bc1bc54aca26a1b441bdfa5 @@ -0,0 +1 @@ +module.exports={A:{D:{"1":"0 1 2 3 4 5 6 7 8 iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},L:{"1":"H"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I VC WC"},M:{"1":"1B"},A:{"2":"J D E F A B SC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB iC jC kC lC 2B QC mC 3B"},K:{"1":"u","2":"A B C 2B QC 3B"},E:{"2":"9 I J D XC DC YC ZC aC hC","33":"E F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC"},G:{"2":"DC nC RC oC pC qC","33":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},P:{"1":"q r s t ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"}},B:6,C:"text-decoration shorthand property",D:undefined}; diff --git a/.pnpm-store/v3/files/bf/45c2fee22cd4d9508eb4ea0ad9fee1210056aaf4fa5b24647ca04ae0ed64d35630f86bdd5b7d913e342b9d95eb281cf176efc70f7f84e173a076d9052a0ea1 b/.pnpm-store/v3/files/bf/45c2fee22cd4d9508eb4ea0ad9fee1210056aaf4fa5b24647ca04ae0ed64d35630f86bdd5b7d913e342b9d95eb281cf176efc70f7f84e173a076d9052a0ea1 new file mode 100644 index 00000000..4956af95 --- /dev/null +++ b/.pnpm-store/v3/files/bf/45c2fee22cd4d9508eb4ea0ad9fee1210056aaf4fa5b24647ca04ae0ed64d35630f86bdd5b7d913e342b9d95eb281cf176efc70f7f84e173a076d9052a0ea1 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","130":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","257":"9 TC 7B I J VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"EventTarget.addEventListener()",D:true}; diff --git a/.pnpm-store/v3/files/bf/9f054d71af9298d50935c553bcc8416401ede0c4a9dc5b05d213e5dd606936eede8b6c9a39a07f93745623dc466fccbcee391f470da7360a0090b4bfe7ab41 b/.pnpm-store/v3/files/bf/9f054d71af9298d50935c553bcc8416401ede0c4a9dc5b05d213e5dd606936eede8b6c9a39a07f93745623dc466fccbcee391f470da7360a0090b4bfe7ab41 new file mode 100644 index 00000000..e59be66b --- /dev/null +++ b/.pnpm-store/v3/files/bf/9f054d71af9298d50935c553bcc8416401ede0c4a9dc5b05d213e5dd606936eede8b6c9a39a07f93745623dc466fccbcee391f470da7360a0090b4bfe7ab41 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB VC WC","132":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},D:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB iC jC kC lC 2B QC mC 3B"},G:{"1":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"URLSearchParams",D:true}; diff --git a/.pnpm-store/v3/files/bf/b13bfc58a4bef61d359d0668507e1746ba73cb686a0f5484be5e026307e7c4b2ae0c4a023e56a274b065ded6fe1c87ac0b8338970096ae6b524b348aea781c b/.pnpm-store/v3/files/bf/b13bfc58a4bef61d359d0668507e1746ba73cb686a0f5484be5e026307e7c4b2ae0c4a023e56a274b065ded6fe1c87ac0b8338970096ae6b524b348aea781c new file mode 100644 index 00000000..2df125d3 --- /dev/null +++ b/.pnpm-store/v3/files/bf/b13bfc58a4bef61d359d0668507e1746ba73cb686a0f5484be5e026307e7c4b2ae0c4a023e56a274b065ded6fe1c87ac0b8338970096ae6b524b348aea781c @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","33":"A B"},B:{"2":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","33":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"33":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"CSS Exclusions Level 1",D:true}; diff --git a/.pnpm-store/v3/files/c0/369a3f52ebee453fb0b46d7cea007810393c3b5ab6dc507f59c9e710d6fc5822e54091f60320c11974814c31887408ba826499b9cecab8b182fc46b547649d b/.pnpm-store/v3/files/c0/369a3f52ebee453fb0b46d7cea007810393c3b5ab6dc507f59c9e710d6fc5822e54091f60320c11974814c31887408ba826499b9cecab8b182fc46b547649d new file mode 100644 index 00000000..91a855e9 --- /dev/null +++ b/.pnpm-store/v3/files/c0/369a3f52ebee453fb0b46d7cea007810393c3b5ab6dc507f59c9e710d6fc5822e54091f60320c11974814c31887408ba826499b9cecab8b182fc46b547649d @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E SC","132":"F A"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC WC","2":"TC 7B VC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","2":"F B iC jC kC lC 2B QC"},G:{"1":"E nC RC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC","260":"oC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"C u 3B","2":"A B 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"rem (root em) units",D:true}; diff --git a/.pnpm-store/v3/files/c0/48cab82a3062d2760fc69e1e81cfd9f4fe7fc2b66a21a4fa7ac51f88c2d6b8014ce93a899cbc153433c208f874dc9d991a4fd7bebe8f5a67a0c6052366c9f6 b/.pnpm-store/v3/files/c0/48cab82a3062d2760fc69e1e81cfd9f4fe7fc2b66a21a4fa7ac51f88c2d6b8014ce93a899cbc153433c208f874dc9d991a4fd7bebe8f5a67a0c6052366c9f6 new file mode 100644 index 00000000..6ddd9310 --- /dev/null +++ b/.pnpm-store/v3/files/c0/48cab82a3062d2760fc69e1e81cfd9f4fe7fc2b66a21a4fa7ac51f88c2d6b8014ce93a899cbc153433c208f874dc9d991a4fd7bebe8f5a67a0c6052366c9f6 @@ -0,0 +1 @@ +module.exports={C:{"54":0.01853,"105":0.08894,"115":0.01853,"121":0.10747,"122":0.01853,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 107 108 109 110 111 112 113 114 116 117 118 119 120 123 124 125 3.5 3.6"},D:{"75":0.01853,"94":0.35578,"96":0.01853,"103":0.03706,"105":0.08894,"109":14.37557,"119":0.19642,"120":7.7196,"121":0.63743,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 95 97 98 99 100 101 102 104 106 107 108 110 111 112 113 114 115 116 117 118 122 123 124"},F:{"106":0.01853,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.01853,"18":0.01853,"90":0.35578,"100":0.07041,"109":0.03706,"115":0.30019,"118":0.07041,"119":0.33725,"120":4.52503,"121":0.17789,_:"13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 114 116 117"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.5 17.0 17.3 17.4","14.1":0.01853,"15.6":0.01853,"16.6":0.19642,"17.1":0.17789,"17.2":0.01853},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00051,"5.0-5.1":0.00076,"6.0-6.1":0.00127,"7.0-7.1":0.00177,"8.1-8.4":0.00025,"9.0-9.2":0.00152,"9.3":0.00582,"10.0-10.2":0.00051,"10.3":0.00911,"11.0-11.2":0.00354,"11.3-11.4":0.0038,"12.0-12.1":0.00228,"12.2-12.5":0.04504,"13.0-13.1":0.00076,"13.2":0.00835,"13.3":0.00228,"13.4-13.7":0.01012,"14.0-14.4":0.01771,"14.5-14.8":0.02707,"15.0-15.1":0.01164,"15.2-15.3":0.01341,"15.4":0.01569,"15.5":0.02075,"15.6-15.8":0.16168,"16.0":0.04858,"16.1":0.10348,"16.2":0.04706,"16.3":0.08754,"16.4":0.01948,"16.5":0.0415,"16.6-16.7":0.33955,"17.0":0.05642,"17.1":0.58169,"17.2":0.78739,"17.3":0.0506},P:{"4":0.21124,"20":0.09053,"21":1.28753,"22":0.14082,"23":0.66388,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 17.0","7.2-7.4":0.69406,"11.1-11.2":0.02012,"16.0":0.02012,"18.0":0.04024,"19.0":0.11065},I:{"0":0.0564,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00015},A:{"11":0.28536,_:"6 7 8 9 10 5.5"},K:{"0":0.57275,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":2.51131},H:{"0":0},L:{"0":59.53816},R:{_:"0"},M:{"0":0.01888}}; diff --git a/.pnpm-store/v3/files/c0/b49fbbe499476652519b54d5e7f6101d24dded6222c167d33d0447f6178dfd73ee09ed1207f51af8e057a50382228de1ea0b0f276ddcfc8fc22c63a6b9fdeb b/.pnpm-store/v3/files/c0/b49fbbe499476652519b54d5e7f6101d24dded6222c167d33d0447f6178dfd73ee09ed1207f51af8e057a50382228de1ea0b0f276ddcfc8fc22c63a6b9fdeb new file mode 100644 index 00000000..681a667e --- /dev/null +++ b/.pnpm-store/v3/files/c0/b49fbbe499476652519b54d5e7f6101d24dded6222c167d33d0447f6178dfd73ee09ed1207f51af8e057a50382228de1ea0b0f276ddcfc8fc22c63a6b9fdeb @@ -0,0 +1 @@ +module.exports={C:{"4":0.04147,"52":0.00377,"55":0.00377,"73":0.08671,"78":0.00754,"102":0.00754,"108":0.00754,"111":0.03393,"112":0.00377,"113":0.00754,"114":0.00377,"115":0.11687,"116":0.04901,"117":0.07917,"118":0.00754,"119":0.00754,"120":0.04147,"121":0.61451,"122":0.13949,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 109 110 123 124 125 3.5 3.6"},D:{"11":0.00377,"38":0.00377,"41":0.00754,"47":0.00377,"49":0.00377,"64":0.00377,"65":0.00754,"69":0.00754,"70":0.00754,"73":0.00754,"74":0.00377,"75":0.00754,"76":0.01131,"77":0.00377,"79":0.14703,"80":0.00377,"81":0.03016,"83":0.00377,"84":0.00377,"85":0.01508,"86":0.04901,"87":0.0754,"88":0.03016,"89":0.00377,"90":0.00754,"91":0.00377,"92":0.00377,"93":0.04147,"94":0.03016,"95":0.00377,"96":0.00754,"97":0.00754,"98":0.01131,"99":0.02262,"100":0.00377,"101":0.00377,"102":0.01885,"103":0.10933,"105":0.05278,"106":0.01131,"107":0.02639,"108":1.88877,"109":1.11215,"110":0.01508,"111":0.01131,"112":0.02262,"113":0.01885,"114":0.05655,"115":0.05655,"116":0.3393,"117":0.13949,"118":0.62205,"119":0.72007,"120":17.95651,"121":1.46653,"122":0.00377,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 45 46 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 66 67 68 71 72 78 104 123 124"},F:{"28":0.02639,"80":0.00377,"85":0.00377,"86":0.00754,"95":0.03016,"99":0.00377,"101":0.00377,"102":0.00377,"104":0.01885,"105":1.28934,"106":0.91988,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 100 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00377,"16":0.00377,"18":0.00754,"92":0.01885,"100":0.00377,"103":0.00377,"108":0.00377,"109":0.03016,"110":0.00377,"111":0.00377,"112":0.01131,"113":0.00377,"114":0.00754,"115":0.00754,"116":0.03016,"117":0.01508,"118":0.02262,"119":0.14703,"120":3.6946,"121":0.48633,_:"12 13 15 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 104 105 106 107"},E:{"13":0.00377,"14":0.00377,"15":0.00377,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 17.4","5.1":0.00754,"13.1":0.01508,"14.1":0.01885,"15.1":0.00377,"15.2-15.3":0.00377,"15.4":0.01131,"15.5":0.00377,"15.6":0.18096,"16.0":0.01131,"16.1":0.01885,"16.2":0.01131,"16.3":0.06409,"16.4":0.04524,"16.5":0.04524,"16.6":0.19227,"17.0":0.04901,"17.1":0.24128,"17.2":0.41093,"17.3":0.03393},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00228,"5.0-5.1":0.00342,"6.0-6.1":0.00571,"7.0-7.1":0.00799,"8.1-8.4":0.00114,"9.0-9.2":0.00685,"9.3":0.02625,"10.0-10.2":0.00228,"10.3":0.04109,"11.0-11.2":0.01598,"11.3-11.4":0.01712,"12.0-12.1":0.01027,"12.2-12.5":0.20316,"13.0-13.1":0.00342,"13.2":0.03766,"13.3":0.01027,"13.4-13.7":0.04565,"14.0-14.4":0.07989,"14.5-14.8":0.12212,"15.0-15.1":0.0525,"15.2-15.3":0.06049,"15.4":0.07076,"15.5":0.09359,"15.6-15.8":0.72931,"16.0":0.21914,"16.1":0.46681,"16.2":0.21229,"16.3":0.3949,"16.4":0.08788,"16.5":0.18718,"16.6-16.7":1.53167,"17.0":0.25452,"17.1":2.62393,"17.2":3.55184,"17.3":0.22827},P:{"4":0.13603,"20":0.06278,"21":0.10464,"22":0.15696,"23":2.57418,"5.0-5.4":0.02093,"6.2-6.4":0.01046,"7.2-7.4":0.10464,_:"8.2 10.1 12.0","9.2":0.05232,"11.1-11.2":0.05232,"13.0":0.02093,"14.0":0.01046,"15.0":0.01046,"16.0":0.05232,"17.0":0.03139,"18.0":0.02093,"19.0":0.07325},I:{"0":0.07443,"3":0,"4":0.00001,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00019},A:{"11":0.02262,_:"6 7 8 9 10 5.5"},K:{"0":0.29904,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.08099},H:{"0":0},L:{"0":49.37282},R:{_:"0"},M:{"0":0.14329}}; diff --git a/.pnpm-store/v3/files/c0/effe1bf170abb375b6bb874c44d2d7fb3fb53254b697ce1507d8af66db3a38691098085debebd079a49c70fcc6c7856e2b69b29490da02e5f7dbe057febf3f b/.pnpm-store/v3/files/c0/effe1bf170abb375b6bb874c44d2d7fb3fb53254b697ce1507d8af66db3a38691098085debebd079a49c70fcc6c7856e2b69b29490da02e5f7dbe057febf3f new file mode 100644 index 00000000..fe5023a5 --- /dev/null +++ b/.pnpm-store/v3/files/c0/effe1bf170abb375b6bb874c44d2d7fb3fb53254b697ce1507d8af66db3a38691098085debebd079a49c70fcc6c7856e2b69b29490da02e5f7dbe057febf3f @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G","260":"M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D XC DC YC ZC","132":"E F aC bC"},F:{"1":"AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F G M N O iC jC kC","33":"B C lC 2B QC mC 3B"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC qC","132":"E rC sC tC"},H:{"33":"9C"},I:{"1":"H FD","2":"7B I AD BD CD DD RC ED"},J:{"2":"D A"},K:{"1":"u","2":"A","33":"B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"CSS3 object-fit/object-position",D:true}; diff --git a/.pnpm-store/v3/files/c1/3aeecc1cd0714fb55a22aaee74feb843e1263d3e1fdf3274aec810d871a9aa95ec05bb95a48669f53432cef27e2202383e06646f89c117738f90136bc8ab0b b/.pnpm-store/v3/files/c1/3aeecc1cd0714fb55a22aaee74feb843e1263d3e1fdf3274aec810d871a9aa95ec05bb95a48669f53432cef27e2202383e06646f89c117738f90136bc8ab0b new file mode 100644 index 00000000..ba4aa518 --- /dev/null +++ b/.pnpm-store/v3/files/c1/3aeecc1cd0714fb55a22aaee74feb843e1263d3e1fdf3274aec810d871a9aa95ec05bb95a48669f53432cef27e2202383e06646f89c117738f90136bc8ab0b @@ -0,0 +1,562 @@ +/* + @license + Rollup.js v4.11.0 + Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99 + + https://github.com/rollup/rollup + + Released under the MIT License. +*/ +'use strict'; + +Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); + +const promises = require('node:fs/promises'); +const process$2 = require('node:process'); +const index = require('./index.js'); +const cli = require('../bin/rollup'); +const rollup = require('./rollup.js'); +const parseAst_js = require('./parseAst.js'); +const loadConfigFile_js = require('./loadConfigFile.js'); +const node_child_process = require('node:child_process'); +const rollup_js = require('../rollup.js'); +require('fs'); +require('util'); +require('stream'); +require('path'); +require('os'); +require('./fsevents-importer.js'); +require('events'); +require('node:path'); +require('tty'); +require('node:perf_hooks'); +require('../native.js'); +require('node:url'); +require('../getLogFilter.js'); + +function timeZone(date = new Date()) { + const offset = date.getTimezoneOffset(); + const absOffset = Math.abs(offset); + const hours = Math.floor(absOffset / 60); + const minutes = absOffset % 60; + const minutesOut = minutes > 0 ? ':' + ('0' + minutes).slice(-2) : ''; + return (offset < 0 ? '+' : '-') + hours + minutesOut; +} + +function dateTime(options = {}) { + let { + date = new Date(), + local = true, + showTimeZone = false, + showMilliseconds = false + } = options; + + if (local) { + // Offset the date so it will return the correct value when getting the ISO string. + date = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)); + } + + let end = ''; + + if (showTimeZone) { + end = ' UTC' + (local ? timeZone(date) : ''); + } + + if (showMilliseconds && date.getUTCMilliseconds() > 0) { + end = ` ${date.getUTCMilliseconds()}ms${end}`; + } + + return date + .toISOString() + .replace(/T/, ' ') + .replace(/\..+/, end); +} + +/** + * This is not the set of all possible signals. + * + * It IS, however, the set of all signals that trigger + * an exit on either Linux or BSD systems. Linux is a + * superset of the signal names supported on BSD, and + * the unknown signals just fail to register, so we can + * catch that easily enough. + * + * Windows signals are a different set, since there are + * signals that terminate Windows processes, but don't + * terminate (or don't even exist) on Posix systems. + * + * Don't bother with SIGKILL. It's uncatchable, which + * means that we can't fire any callbacks anyway. + * + * If a user does happen to register a handler on a non- + * fatal signal like SIGWINCH or something, and then + * exit, it'll end up firing `process.emit('exit')`, so + * the handler will be fired anyway. + * + * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised + * artificially, inherently leave the process in a + * state from which it is not safe to try and enter JS + * listeners. + */ +const signals = []; +signals.push('SIGHUP', 'SIGINT', 'SIGTERM'); +if (process.platform !== 'win32') { + signals.push('SIGALRM', 'SIGABRT', 'SIGVTALRM', 'SIGXCPU', 'SIGXFSZ', 'SIGUSR2', 'SIGTRAP', 'SIGSYS', 'SIGQUIT', 'SIGIOT' + // should detect profiler and enable/disable accordingly. + // see #21 + // 'SIGPROF' + ); +} +if (process.platform === 'linux') { + signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT'); +} + +// Note: since nyc uses this module to output coverage, any lines +// that are in the direct sync flow of nyc's outputCoverage are +// ignored, since we can never get coverage for them. +// grab a reference to node's real process object right away +const processOk = (process) => !!process && + typeof process === 'object' && + typeof process.removeListener === 'function' && + typeof process.emit === 'function' && + typeof process.reallyExit === 'function' && + typeof process.listeners === 'function' && + typeof process.kill === 'function' && + typeof process.pid === 'number' && + typeof process.on === 'function'; +const kExitEmitter = Symbol.for('signal-exit emitter'); +const global = globalThis; +const ObjectDefineProperty = Object.defineProperty.bind(Object); +// teeny special purpose ee +class Emitter { + emitted = { + afterExit: false, + exit: false, + }; + listeners = { + afterExit: [], + exit: [], + }; + count = 0; + id = Math.random(); + constructor() { + if (global[kExitEmitter]) { + return global[kExitEmitter]; + } + ObjectDefineProperty(global, kExitEmitter, { + value: this, + writable: false, + enumerable: false, + configurable: false, + }); + } + on(ev, fn) { + this.listeners[ev].push(fn); + } + removeListener(ev, fn) { + const list = this.listeners[ev]; + const i = list.indexOf(fn); + /* c8 ignore start */ + if (i === -1) { + return; + } + /* c8 ignore stop */ + if (i === 0 && list.length === 1) { + list.length = 0; + } + else { + list.splice(i, 1); + } + } + emit(ev, code, signal) { + if (this.emitted[ev]) { + return false; + } + this.emitted[ev] = true; + let ret = false; + for (const fn of this.listeners[ev]) { + ret = fn(code, signal) === true || ret; + } + if (ev === 'exit') { + ret = this.emit('afterExit', code, signal) || ret; + } + return ret; + } +} +class SignalExitBase { +} +const signalExitWrap = (handler) => { + return { + onExit(cb, opts) { + return handler.onExit(cb, opts); + }, + load() { + return handler.load(); + }, + unload() { + return handler.unload(); + }, + }; +}; +class SignalExitFallback extends SignalExitBase { + onExit() { + return () => { }; + } + load() { } + unload() { } +} +class SignalExit extends SignalExitBase { + // "SIGHUP" throws an `ENOSYS` error on Windows, + // so use a supported signal instead + /* c8 ignore start */ + #hupSig = process$1.platform === 'win32' ? 'SIGINT' : 'SIGHUP'; + /* c8 ignore stop */ + #emitter = new Emitter(); + #process; + #originalProcessEmit; + #originalProcessReallyExit; + #sigListeners = {}; + #loaded = false; + constructor(process) { + super(); + this.#process = process; + // { : , ... } + this.#sigListeners = {}; + for (const sig of signals) { + this.#sigListeners[sig] = () => { + // If there are no other listeners, an exit is coming! + // Simplest way: remove us and then re-send the signal. + // We know that this will kill the process, so we can + // safely emit now. + const listeners = this.#process.listeners(sig); + let { count } = this.#emitter; + // This is a workaround for the fact that signal-exit v3 and signal + // exit v4 are not aware of each other, and each will attempt to let + // the other handle it, so neither of them do. To correct this, we + // detect if we're the only handler *except* for previous versions + // of signal-exit, and increment by the count of listeners it has + // created. + /* c8 ignore start */ + const p = process; + if (typeof p.__signal_exit_emitter__ === 'object' && + typeof p.__signal_exit_emitter__.count === 'number') { + count += p.__signal_exit_emitter__.count; + } + /* c8 ignore stop */ + if (listeners.length === count) { + this.unload(); + const ret = this.#emitter.emit('exit', null, sig); + /* c8 ignore start */ + const s = sig === 'SIGHUP' ? this.#hupSig : sig; + if (!ret) + process.kill(process.pid, s); + /* c8 ignore stop */ + } + }; + } + this.#originalProcessReallyExit = process.reallyExit; + this.#originalProcessEmit = process.emit; + } + onExit(cb, opts) { + /* c8 ignore start */ + if (!processOk(this.#process)) { + return () => { }; + } + /* c8 ignore stop */ + if (this.#loaded === false) { + this.load(); + } + const ev = opts?.alwaysLast ? 'afterExit' : 'exit'; + this.#emitter.on(ev, cb); + return () => { + this.#emitter.removeListener(ev, cb); + if (this.#emitter.listeners['exit'].length === 0 && + this.#emitter.listeners['afterExit'].length === 0) { + this.unload(); + } + }; + } + load() { + if (this.#loaded) { + return; + } + this.#loaded = true; + // This is the number of onSignalExit's that are in play. + // It's important so that we can count the correct number of + // listeners on signals, and don't wait for the other one to + // handle it instead of us. + this.#emitter.count += 1; + for (const sig of signals) { + try { + const fn = this.#sigListeners[sig]; + if (fn) + this.#process.on(sig, fn); + } + catch (_) { } + } + this.#process.emit = (ev, ...a) => { + return this.#processEmit(ev, ...a); + }; + this.#process.reallyExit = (code) => { + return this.#processReallyExit(code); + }; + } + unload() { + if (!this.#loaded) { + return; + } + this.#loaded = false; + signals.forEach(sig => { + const listener = this.#sigListeners[sig]; + /* c8 ignore start */ + if (!listener) { + throw new Error('Listener not defined for signal: ' + sig); + } + /* c8 ignore stop */ + try { + this.#process.removeListener(sig, listener); + /* c8 ignore start */ + } + catch (_) { } + /* c8 ignore stop */ + }); + this.#process.emit = this.#originalProcessEmit; + this.#process.reallyExit = this.#originalProcessReallyExit; + this.#emitter.count -= 1; + } + #processReallyExit(code) { + /* c8 ignore start */ + if (!processOk(this.#process)) { + return 0; + } + this.#process.exitCode = code || 0; + /* c8 ignore stop */ + this.#emitter.emit('exit', this.#process.exitCode, null); + return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode); + } + #processEmit(ev, ...args) { + const og = this.#originalProcessEmit; + if (ev === 'exit' && processOk(this.#process)) { + if (typeof args[0] === 'number') { + this.#process.exitCode = args[0]; + /* c8 ignore start */ + } + /* c8 ignore start */ + const ret = og.call(this.#process, ev, ...args); + /* c8 ignore start */ + this.#emitter.emit('exit', this.#process.exitCode, null); + /* c8 ignore stop */ + return ret; + } + else { + return og.call(this.#process, ev, ...args); + } + } +} +const process$1 = globalThis.process; +// wrap so that we call the method on the actual handler, without +// exporting it directly. +const { +/** + * Called when the process is exiting, whether via signal, explicit + * exit, or running out of stuff to do. + * + * If the global process object is not suitable for instrumentation, + * then this will be a no-op. + * + * Returns a function that may be used to unload signal-exit. + */ +onExit, +/** + * Load the listeners. Likely you never need to call this, unless + * doing a rather deep integration with signal-exit functionality. + * Mostly exposed for the benefit of testing. + * + * @internal + */ +load, +/** + * Unload the listeners. Likely you never need to call this, unless + * doing a rather deep integration with signal-exit functionality. + * Mostly exposed for the benefit of testing. + * + * @internal + */ +unload, } = signalExitWrap(processOk(process$1) ? new SignalExit(process$1) : new SignalExitFallback()); + +const CLEAR_SCREEN = '\u001Bc'; +function getResetScreen(configs, allowClearScreen) { + let clearScreen = allowClearScreen; + for (const config of configs) { + if (config.watch && config.watch.clearScreen === false) { + clearScreen = false; + } + } + if (clearScreen) { + return (heading) => rollup.stderr(CLEAR_SCREEN + heading); + } + let firstRun = true; + return (heading) => { + if (firstRun) { + rollup.stderr(heading); + firstRun = false; + } + }; +} + +function extractWatchHooks(command) { + if (!Array.isArray(command.watch)) + return {}; + return command.watch + .filter(value => typeof value === 'object') + .reduce((accumulator, keyValueOption) => ({ ...accumulator, ...keyValueOption }), {}); +} +function createWatchHooks(command) { + const watchHooks = extractWatchHooks(command); + return function (hook) { + if (watchHooks[hook]) { + const cmd = watchHooks[hook]; + if (!command.silent) { + rollup.stderr(rollup.cyan$1(`watch.${hook} ${rollup.bold(`$ ${cmd}`)}`)); + } + try { + // !! important - use stderr for all writes from execSync + const stdio = [process.stdin, process.stderr, process.stderr]; + node_child_process.execSync(cmd, { stdio: command.silent ? 'ignore' : stdio }); + } + catch (error) { + rollup.stderr(error.message); + } + } + }; +} + +async function watch(command) { + process$2.env.ROLLUP_WATCH = 'true'; + const isTTY = process$2.stderr.isTTY; + const silent = command.silent; + let watcher; + let configWatcher; + let resetScreen; + const configFile = command.config ? await cli.getConfigPath(command.config) : null; + const runWatchHook = createWatchHooks(command); + onExit(close); + process$2.on('uncaughtException', closeWithError); + if (!process$2.stdin.isTTY) { + process$2.stdin.on('end', close); + process$2.stdin.resume(); + } + async function loadConfigFromFileAndTrack(configFile) { + let configFileData = null; + let configFileRevision = 0; + configWatcher = index.chokidar.watch(configFile).on('change', reloadConfigFile); + await reloadConfigFile(); + async function reloadConfigFile() { + try { + const newConfigFileData = await promises.readFile(configFile, 'utf8'); + if (newConfigFileData === configFileData) { + return; + } + configFileRevision++; + const currentConfigFileRevision = configFileRevision; + if (configFileData) { + rollup.stderr(`\nReloading updated config...`); + } + configFileData = newConfigFileData; + const { options, warnings } = await loadConfigFile_js.loadConfigFile(configFile, command, true); + if (currentConfigFileRevision !== configFileRevision) { + return; + } + if (watcher) { + await watcher.close(); + } + start(options, warnings); + } + catch (error) { + rollup.handleError(error, true); + } + } + } + if (configFile) { + await loadConfigFromFileAndTrack(configFile); + } + else { + const { options, warnings } = await cli.loadConfigFromCommand(command, true); + await start(options, warnings); + } + async function start(configs, warnings) { + watcher = rollup_js.watch(configs); + watcher.on('event', event => { + switch (event.code) { + case 'ERROR': { + warnings.flush(); + rollup.handleError(event.error, true); + runWatchHook('onError'); + break; + } + case 'START': { + if (!silent) { + if (!resetScreen) { + resetScreen = getResetScreen(configs, isTTY); + } + resetScreen(rollup.underline(`rollup v${rollup.version}`)); + } + runWatchHook('onStart'); + break; + } + case 'BUNDLE_START': { + if (!silent) { + let input = event.input; + if (typeof input !== 'string') { + input = Array.isArray(input) + ? input.join(', ') + : Object.values(input).join(', '); + } + rollup.stderr(rollup.cyan$1(`bundles ${rollup.bold(input)} → ${rollup.bold(event.output.map(parseAst_js.relativeId).join(', '))}...`)); + } + runWatchHook('onBundleStart'); + break; + } + case 'BUNDLE_END': { + warnings.flush(); + if (!silent) + rollup.stderr(rollup.green(`created ${rollup.bold(event.output.map(parseAst_js.relativeId).join(', '))} in ${rollup.bold(cli.prettyMilliseconds(event.duration))}`)); + runWatchHook('onBundleEnd'); + if (event.result && event.result.getTimings) { + cli.printTimings(event.result.getTimings()); + } + break; + } + case 'END': { + runWatchHook('onEnd'); + if (!silent && isTTY) { + rollup.stderr(`\n[${dateTime()}] waiting for changes...`); + } + } + } + if ('result' in event && event.result) { + event.result.close().catch(error => rollup.handleError(error, true)); + } + }); + } + async function close(code) { + process$2.removeListener('uncaughtException', closeWithError); + // removing a non-existent listener is a no-op + process$2.stdin.removeListener('end', close); + if (watcher) + await watcher.close(); + if (configWatcher) + configWatcher.close(); + if (code) + process$2.exit(code); + } + // return a promise that never resolves to keep the process running + return new Promise(() => { }); +} +function closeWithError(error) { + error.name = `Uncaught ${error.name}`; + rollup.handleError(error); +} + +exports.watch = watch; +//# sourceMappingURL=watch-cli.js.map diff --git a/.pnpm-store/v3/files/c1/5c0f6080d41b39e4dfe72db229b67f0ec7acc89981e0bb1a4b545e02aeb80fb8f45830bea40f4448f9a22c70e639830c74c8a7c86a18b430557130ffc5a612 b/.pnpm-store/v3/files/c1/5c0f6080d41b39e4dfe72db229b67f0ec7acc89981e0bb1a4b545e02aeb80fb8f45830bea40f4448f9a22c70e639830c74c8a7c86a18b430557130ffc5a612 new file mode 100644 index 00000000..d5a57564 --- /dev/null +++ b/.pnpm-store/v3/files/c1/5c0f6080d41b39e4dfe72db229b67f0ec7acc89981e0bb1a4b545e02aeb80fb8f45830bea40f4448f9a22c70e639830c74c8a7c86a18b430557130ffc5a612 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x","260":"0 1 2 3 4 5 6 7 8 y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x","260":"0 1 2 3 4 5 6 7 8 y z H 1B BC CC"},E:{"2":"9 I J D E XC DC YC ZC aC","4":"F","164":"A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g iC jC kC lC 2B QC mC 3B","260":"h i j k l m n o p"},G:{"2":"E DC nC RC oC pC qC rC","164":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"260":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"r s t","2":"I q GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"CSS Initial Letter",D:true}; diff --git a/.pnpm-store/v3/files/c1/8840572059e12b84c5c03dfa690a9a5dd226b456f1da1f2301e3619db88d523e2fa5c45a5bd96b7184f455d9e7a65422723261f75507b5b72036d402dcbae2 b/.pnpm-store/v3/files/c1/8840572059e12b84c5c03dfa690a9a5dd226b456f1da1f2301e3619db88d523e2fa5c45a5bd96b7184f455d9e7a65422723261f75507b5b72036d402dcbae2 new file mode 100644 index 00000000..61d29253 --- /dev/null +++ b/.pnpm-store/v3/files/c1/8840572059e12b84c5c03dfa690a9a5dd226b456f1da1f2301e3619db88d523e2fa5c45a5bd96b7184f455d9e7a65422723261f75507b5b72036d402dcbae2 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G","132":"M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","132":"iB jB 8B"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC","132":"EC"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB iC jC kC lC 2B QC mC 3B","132":"VB WB XB"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC","132":"vC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD HD","132":"ID"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","132":"TD"}},B:5,C:"CSS justify-content: space-evenly",D:true}; diff --git a/.pnpm-store/v3/files/c1/a8f8b83eb0f46bcc636202625ef5da6a8d07d621c5d67d039734f908bf43f52b35a3ab4b7bb70a11fa7d39be0c09cd0a60125c5e33e5789ad3f5806d5a2292 b/.pnpm-store/v3/files/c1/a8f8b83eb0f46bcc636202625ef5da6a8d07d621c5d67d039734f908bf43f52b35a3ab4b7bb70a11fa7d39be0c09cd0a60125c5e33e5789ad3f5806d5a2292 new file mode 100644 index 00000000..84bd9392 --- /dev/null +++ b/.pnpm-store/v3/files/c1/a8f8b83eb0f46bcc636202625ef5da6a8d07d621c5d67d039734f908bf43f52b35a3ab4b7bb70a11fa7d39be0c09cd0a60125c5e33e5789ad3f5806d5a2292 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A SC","164":"B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","36":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N VC WC","36":"O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},D:{"1":"0 1 2 3 4 5 6 7 8 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB"},E:{"1":"LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC"},F:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB iC jC kC lC 2B QC mC 3B"},G:{"1":"LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A","36":"B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","16":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"Screen Orientation",D:true}; diff --git a/.pnpm-store/v3/files/c2/1440772b927eb480555d4320e06fa5330f794d363c53dcc35d3db60707ee64d22f207efbe5d68bbfce72c7eccc754712ad82a51b0447bc86b17358317521fe b/.pnpm-store/v3/files/c2/1440772b927eb480555d4320e06fa5330f794d363c53dcc35d3db60707ee64d22f207efbe5d68bbfce72c7eccc754712ad82a51b0447bc86b17358317521fe new file mode 100644 index 00000000..69e18d59 --- /dev/null +++ b/.pnpm-store/v3/files/c2/1440772b927eb480555d4320e06fa5330f794d363c53dcc35d3db60707ee64d22f207efbe5d68bbfce72c7eccc754712ad82a51b0447bc86b17358317521fe @@ -0,0 +1,2432 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var __accessCheck = (obj, member, msg) => { + if (!member.has(obj)) + throw TypeError("Cannot " + msg); +}; +var __privateGet = (obj, member, getter) => { + __accessCheck(obj, member, "read from private field"); + return getter ? getter.call(obj) : member.get(obj); +}; +var __privateAdd = (obj, member, value) => { + if (member.has(obj)) + throw TypeError("Cannot add the same private member more than once"); + member instanceof WeakSet ? member.add(obj) : member.set(obj, value); +}; +var __privateSet = (obj, member, value, setter) => { + __accessCheck(obj, member, "write to private field"); + setter ? setter.call(obj, value) : member.set(obj, value); + return value; +}; +var __privateMethod = (obj, member, method) => { + __accessCheck(obj, member, "access private method"); + return method; +}; + +// src/index.ts +var src_exports = {}; +__export(src_exports, { + DeclarationDomain: () => DeclarationDomain, + UsageDomain: () => UsageDomain, + collectVariableUsage: () => collectVariableUsage, + forEachComment: () => forEachComment, + forEachToken: () => forEachToken, + getCallSignaturesOfType: () => getCallSignaturesOfType, + getPropertyOfType: () => getPropertyOfType, + getWellKnownSymbolPropertyOfType: () => getWellKnownSymbolPropertyOfType, + hasDecorators: () => hasDecorators, + hasExpressionInitializer: () => hasExpressionInitializer, + hasInitializer: () => hasInitializer, + hasJSDoc: () => hasJSDoc, + hasModifiers: () => hasModifiers, + hasType: () => hasType, + hasTypeArguments: () => hasTypeArguments, + includesModifier: () => includesModifier, + intersectionTypeParts: () => intersectionTypeParts, + isAbstractKeyword: () => isAbstractKeyword, + isAccessExpression: () => isAccessExpression, + isAccessibilityModifier: () => isAccessibilityModifier, + isAccessorDeclaration: () => isAccessorDeclaration, + isAccessorKeyword: () => isAccessorKeyword, + isAnyKeyword: () => isAnyKeyword, + isArrayBindingElement: () => isArrayBindingElement, + isArrayBindingOrAssignmentPattern: () => isArrayBindingOrAssignmentPattern, + isAssertKeyword: () => isAssertKeyword, + isAssertsKeyword: () => isAssertsKeyword, + isAssignmentKind: () => isAssignmentKind, + isAssignmentPattern: () => isAssignmentPattern, + isAsyncKeyword: () => isAsyncKeyword, + isAwaitKeyword: () => isAwaitKeyword, + isBigIntKeyword: () => isBigIntKeyword, + isBigIntLiteralType: () => isBigIntLiteralType, + isBindingOrAssignmentElementRestIndicator: () => isBindingOrAssignmentElementRestIndicator, + isBindingOrAssignmentElementTarget: () => isBindingOrAssignmentElementTarget, + isBindingOrAssignmentPattern: () => isBindingOrAssignmentPattern, + isBindingPattern: () => isBindingPattern, + isBlockLike: () => isBlockLike, + isBooleanKeyword: () => isBooleanKeyword, + isBooleanLiteral: () => isBooleanLiteral, + isBooleanLiteralType: () => isBooleanLiteralType, + isClassLikeDeclaration: () => isClassLikeDeclaration, + isClassMemberModifier: () => isClassMemberModifier, + isColonToken: () => isColonToken, + isCompilerOptionEnabled: () => isCompilerOptionEnabled, + isConditionalType: () => isConditionalType, + isConstAssertionExpression: () => isConstAssertionExpression, + isConstKeyword: () => isConstKeyword, + isDeclarationName: () => isDeclarationName, + isDeclarationWithTypeParameterChildren: () => isDeclarationWithTypeParameterChildren, + isDeclarationWithTypeParameters: () => isDeclarationWithTypeParameters, + isDeclareKeyword: () => isDeclareKeyword, + isDefaultKeyword: () => isDefaultKeyword, + isDestructuringPattern: () => isDestructuringPattern, + isDotToken: () => isDotToken, + isEndOfFileToken: () => isEndOfFileToken, + isEntityNameExpression: () => isEntityNameExpression, + isEntityNameOrEntityNameExpression: () => isEntityNameOrEntityNameExpression, + isEnumType: () => isEnumType, + isEqualsGreaterThanToken: () => isEqualsGreaterThanToken, + isEqualsToken: () => isEqualsToken, + isEvolvingArrayType: () => isEvolvingArrayType, + isExclamationToken: () => isExclamationToken, + isExportKeyword: () => isExportKeyword, + isFalseKeyword: () => isFalseKeyword, + isFalseLiteral: () => isFalseLiteral, + isFalseLiteralType: () => isFalseLiteralType, + isFalsyType: () => isFalsyType, + isForInOrOfStatement: () => isForInOrOfStatement, + isFreshableIntrinsicType: () => isFreshableIntrinsicType, + isFreshableType: () => isFreshableType, + isFunctionLikeDeclaration: () => isFunctionLikeDeclaration, + isFunctionScopeBoundary: () => isFunctionScopeBoundary, + isImportExpression: () => isImportExpression, + isImportKeyword: () => isImportKeyword, + isInKeyword: () => isInKeyword, + isIndexType: () => isIndexType, + isIndexedAccessType: () => isIndexedAccessType, + isInputFiles: () => isInputFiles, + isInstantiableType: () => isInstantiableType, + isIntersectionType: () => isIntersectionType, + isIntrinsicAnyType: () => isIntrinsicAnyType, + isIntrinsicBigIntType: () => isIntrinsicBigIntType, + isIntrinsicBooleanType: () => isIntrinsicBooleanType, + isIntrinsicESSymbolType: () => isIntrinsicESSymbolType, + isIntrinsicErrorType: () => isIntrinsicErrorType, + isIntrinsicNeverType: () => isIntrinsicNeverType, + isIntrinsicNonPrimitiveType: () => isIntrinsicNonPrimitiveType, + isIntrinsicNullType: () => isIntrinsicNullType, + isIntrinsicNumberType: () => isIntrinsicNumberType, + isIntrinsicStringType: () => isIntrinsicStringType, + isIntrinsicType: () => isIntrinsicType, + isIntrinsicUndefinedType: () => isIntrinsicUndefinedType, + isIntrinsicUnknownType: () => isIntrinsicUnknownType, + isIntrinsicVoidType: () => isIntrinsicVoidType, + isIterationStatement: () => isIterationStatement, + isJSDocComment: () => isJSDocComment, + isJSDocNamespaceBody: () => isJSDocNamespaceBody, + isJSDocNamespaceDeclaration: () => isJSDocNamespaceDeclaration, + isJSDocText: () => isJSDocText, + isJSDocTypeReferencingNode: () => isJSDocTypeReferencingNode, + isJsonMinusNumericLiteral: () => isJsonMinusNumericLiteral, + isJsonObjectExpression: () => isJsonObjectExpression, + isJsxAttributeLike: () => isJsxAttributeLike, + isJsxAttributeValue: () => isJsxAttributeValue, + isJsxChild: () => isJsxChild, + isJsxTagNameExpression: () => isJsxTagNameExpression, + isJsxTagNamePropertyAccess: () => isJsxTagNamePropertyAccess, + isLiteralToken: () => isLiteralToken, + isLiteralType: () => isLiteralType, + isModifierFlagSet: () => isModifierFlagSet, + isModuleBody: () => isModuleBody, + isModuleName: () => isModuleName, + isModuleReference: () => isModuleReference, + isNamedDeclarationWithName: () => isNamedDeclarationWithName, + isNamedImportBindings: () => isNamedImportBindings, + isNamedImportsOrExports: () => isNamedImportsOrExports, + isNamespaceBody: () => isNamespaceBody, + isNamespaceDeclaration: () => isNamespaceDeclaration, + isNeverKeyword: () => isNeverKeyword, + isNodeFlagSet: () => isNodeFlagSet, + isNullKeyword: () => isNullKeyword, + isNullLiteral: () => isNullLiteral, + isNumberKeyword: () => isNumberKeyword, + isNumberLiteralType: () => isNumberLiteralType, + isNumericOrStringLikeLiteral: () => isNumericOrStringLikeLiteral, + isNumericPropertyName: () => isNumericPropertyName, + isObjectBindingOrAssignmentElement: () => isObjectBindingOrAssignmentElement, + isObjectBindingOrAssignmentPattern: () => isObjectBindingOrAssignmentPattern, + isObjectFlagSet: () => isObjectFlagSet, + isObjectKeyword: () => isObjectKeyword, + isObjectType: () => isObjectType, + isObjectTypeDeclaration: () => isObjectTypeDeclaration, + isOutKeyword: () => isOutKeyword, + isOverrideKeyword: () => isOverrideKeyword, + isParameterPropertyModifier: () => isParameterPropertyModifier, + isPrivateKeyword: () => isPrivateKeyword, + isPropertyAccessEntityNameExpression: () => isPropertyAccessEntityNameExpression, + isPropertyNameLiteral: () => isPropertyNameLiteral, + isPropertyReadonlyInType: () => isPropertyReadonlyInType, + isProtectedKeyword: () => isProtectedKeyword, + isPseudoLiteralToken: () => isPseudoLiteralToken, + isPublicKeyword: () => isPublicKeyword, + isQuestionDotToken: () => isQuestionDotToken, + isQuestionToken: () => isQuestionToken, + isReadonlyKeyword: () => isReadonlyKeyword, + isSignatureDeclaration: () => isSignatureDeclaration, + isStaticKeyword: () => isStaticKeyword, + isStrictCompilerOptionEnabled: () => isStrictCompilerOptionEnabled, + isStringKeyword: () => isStringKeyword, + isStringLiteralType: () => isStringLiteralType, + isStringMappingType: () => isStringMappingType, + isSubstitutionType: () => isSubstitutionType, + isSuperElementAccessExpression: () => isSuperElementAccessExpression, + isSuperExpression: () => isSuperExpression, + isSuperKeyword: () => isSuperKeyword, + isSuperProperty: () => isSuperProperty, + isSuperPropertyAccessExpression: () => isSuperPropertyAccessExpression, + isSymbolFlagSet: () => isSymbolFlagSet, + isSymbolKeyword: () => isSymbolKeyword, + isSyntaxList: () => isSyntaxList, + isTemplateLiteralType: () => isTemplateLiteralType, + isThenableType: () => isThenableType, + isThisExpression: () => isThisExpression, + isThisKeyword: () => isThisKeyword, + isTrueKeyword: () => isTrueKeyword, + isTrueLiteral: () => isTrueLiteral, + isTrueLiteralType: () => isTrueLiteralType, + isTupleType: () => isTupleType, + isTupleTypeReference: () => isTupleTypeReference, + isTypeFlagSet: () => isTypeFlagSet, + isTypeOnlyCompatibleAliasDeclaration: () => isTypeOnlyCompatibleAliasDeclaration, + isTypeParameter: () => isTypeParameter, + isTypeReference: () => isTypeReference, + isTypeReferenceType: () => isTypeReferenceType, + isTypeVariable: () => isTypeVariable, + isUndefinedKeyword: () => isUndefinedKeyword, + isUnionOrIntersectionType: () => isUnionOrIntersectionType, + isUnionOrIntersectionTypeNode: () => isUnionOrIntersectionTypeNode, + isUnionType: () => isUnionType, + isUniqueESSymbolType: () => isUniqueESSymbolType, + isUnknownKeyword: () => isUnknownKeyword, + isUnknownLiteralType: () => isUnknownLiteralType, + isUnparsedPrologue: () => isUnparsedPrologue, + isUnparsedSourceText: () => isUnparsedSourceText, + isUnparsedSyntheticReference: () => isUnparsedSyntheticReference, + isValidPropertyAccess: () => isValidPropertyAccess, + isVariableLikeDeclaration: () => isVariableLikeDeclaration, + isVoidKeyword: () => isVoidKeyword, + symbolHasReadonlyDeclaration: () => symbolHasReadonlyDeclaration, + typeParts: () => typeParts, + unionTypeParts: () => unionTypeParts +}); +module.exports = __toCommonJS(src_exports); + +// src/comments.ts +var import_typescript2 = __toESM(require("typescript"), 1); + +// src/tokens.ts +var import_typescript = __toESM(require("typescript"), 1); +function forEachToken(node, callback, sourceFile = node.getSourceFile()) { + const queue = []; + while (true) { + if (import_typescript.default.isTokenKind(node.kind)) { + callback(node); + } else if ( + // eslint-disable-next-line deprecation/deprecation -- need for support of TS < 4.7 + node.kind !== import_typescript.default.SyntaxKind.JSDocComment + ) { + const children = node.getChildren(sourceFile); + if (children.length === 1) { + node = children[0]; + continue; + } + for (let i = children.length - 1; i >= 0; --i) { + queue.push(children[i]); + } + } + if (queue.length === 0) { + break; + } + node = queue.pop(); + } +} + +// src/comments.ts +function canHaveTrailingTrivia(token) { + switch (token.kind) { + case import_typescript2.default.SyntaxKind.CloseBraceToken: + return token.parent.kind !== import_typescript2.default.SyntaxKind.JsxExpression || !isJsxElementOrFragment(token.parent.parent); + case import_typescript2.default.SyntaxKind.GreaterThanToken: + switch (token.parent.kind) { + case import_typescript2.default.SyntaxKind.JsxOpeningElement: + return token.end !== token.parent.end; + case import_typescript2.default.SyntaxKind.JsxOpeningFragment: + return false; + case import_typescript2.default.SyntaxKind.JsxSelfClosingElement: + return token.end !== token.parent.end || // if end is not equal, this is part of the type arguments list + !isJsxElementOrFragment(token.parent.parent); + case import_typescript2.default.SyntaxKind.JsxClosingElement: + case import_typescript2.default.SyntaxKind.JsxClosingFragment: + return !isJsxElementOrFragment(token.parent.parent.parent); + } + } + return true; +} +function isJsxElementOrFragment(node) { + return node.kind === import_typescript2.default.SyntaxKind.JsxElement || node.kind === import_typescript2.default.SyntaxKind.JsxFragment; +} +function forEachComment(node, callback, sourceFile = node.getSourceFile()) { + const fullText = sourceFile.text; + const notJsx = sourceFile.languageVariant !== import_typescript2.default.LanguageVariant.JSX; + return forEachToken( + node, + (token) => { + if (token.pos === token.end) { + return; + } + if (token.kind !== import_typescript2.default.SyntaxKind.JsxText) { + import_typescript2.default.forEachLeadingCommentRange( + fullText, + // skip shebang at position 0 + token.pos === 0 ? (import_typescript2.default.getShebang(fullText) ?? "").length : token.pos, + commentCallback + ); + } + if (notJsx || canHaveTrailingTrivia(token)) { + return import_typescript2.default.forEachTrailingCommentRange( + fullText, + token.end, + commentCallback + ); + } + }, + sourceFile + ); + function commentCallback(pos, end, kind) { + callback(fullText, { end, kind, pos }); + } +} + +// src/compilerOptions.ts +var import_typescript3 = __toESM(require("typescript"), 1); +function isCompilerOptionEnabled(options, option) { + switch (option) { + case "stripInternal": + case "declarationMap": + case "emitDeclarationOnly": + return options[option] === true && isCompilerOptionEnabled(options, "declaration"); + case "declaration": + return options.declaration || isCompilerOptionEnabled(options, "composite"); + case "incremental": + return options.incremental === void 0 ? isCompilerOptionEnabled(options, "composite") : options.incremental; + case "skipDefaultLibCheck": + return options.skipDefaultLibCheck || isCompilerOptionEnabled(options, "skipLibCheck"); + case "suppressImplicitAnyIndexErrors": + return options.suppressImplicitAnyIndexErrors === true && isCompilerOptionEnabled(options, "noImplicitAny"); + case "allowSyntheticDefaultImports": + return options.allowSyntheticDefaultImports !== void 0 ? options.allowSyntheticDefaultImports : isCompilerOptionEnabled(options, "esModuleInterop") || options.module === import_typescript3.default.ModuleKind.System; + case "noUncheckedIndexedAccess": + return options.noUncheckedIndexedAccess === true && isCompilerOptionEnabled(options, "strictNullChecks"); + case "allowJs": + return options.allowJs === void 0 ? isCompilerOptionEnabled(options, "checkJs") : options.allowJs; + case "noImplicitAny": + case "noImplicitThis": + case "strictNullChecks": + case "strictFunctionTypes": + case "strictPropertyInitialization": + case "alwaysStrict": + case "strictBindCallApply": + return isStrictCompilerOptionEnabled( + options, + option + ); + } + return options[option] === true; +} +function isStrictCompilerOptionEnabled(options, option) { + return (options.strict ? options[option] !== false : options[option] === true) && (option !== "strictPropertyInitialization" || isStrictCompilerOptionEnabled(options, "strictNullChecks")); +} + +// src/flags.ts +var import_typescript4 = __toESM(require("typescript"), 1); +function isFlagSet(allFlags, flag) { + return (allFlags & flag) !== 0; +} +function isFlagSetOnObject(obj, flag) { + return isFlagSet(obj.flags, flag); +} +function isModifierFlagSet(node, flag) { + return isFlagSet(import_typescript4.default.getCombinedModifierFlags(node), flag); +} +var isNodeFlagSet = isFlagSetOnObject; +function isObjectFlagSet(objectType, flag) { + return isFlagSet(objectType.objectFlags, flag); +} +var isSymbolFlagSet = isFlagSetOnObject; +var isTypeFlagSet = isFlagSetOnObject; + +// src/modifiers.ts +function includesModifier(modifiers, ...kinds) { + if (modifiers === void 0) { + return false; + } + for (const modifier of modifiers) { + if (kinds.includes(modifier.kind)) { + return true; + } + } + return false; +} + +// src/nodes/typeGuards/compound.ts +var import_typescript8 = __toESM(require("typescript"), 1); + +// src/nodes/typeGuards/single.ts +var import_typescript5 = __toESM(require("typescript"), 1); +function isAbstractKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.AbstractKeyword; +} +function isAccessorKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.AccessorKeyword; +} +function isAnyKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.AnyKeyword; +} +function isAssertKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.AssertKeyword; +} +function isAssertsKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.AssertsKeyword; +} +function isAsyncKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.AsyncKeyword; +} +function isAwaitKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.AwaitKeyword; +} +function isBigIntKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.BigIntKeyword; +} +function isBooleanKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.BooleanKeyword; +} +function isColonToken(node) { + return node.kind === import_typescript5.default.SyntaxKind.ColonToken; +} +function isConstKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.ConstKeyword; +} +function isDeclareKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.DeclareKeyword; +} +function isDefaultKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.DefaultKeyword; +} +function isDotToken(node) { + return node.kind === import_typescript5.default.SyntaxKind.DotToken; +} +function isEndOfFileToken(node) { + return node.kind === import_typescript5.default.SyntaxKind.EndOfFileToken; +} +function isEqualsGreaterThanToken(node) { + return node.kind === import_typescript5.default.SyntaxKind.EqualsGreaterThanToken; +} +function isEqualsToken(node) { + return node.kind === import_typescript5.default.SyntaxKind.EqualsToken; +} +function isExclamationToken(node) { + return node.kind === import_typescript5.default.SyntaxKind.ExclamationToken; +} +function isExportKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.ExportKeyword; +} +function isFalseKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.FalseKeyword; +} +function isFalseLiteral(node) { + return node.kind === import_typescript5.default.SyntaxKind.FalseKeyword; +} +function isImportExpression(node) { + return node.kind === import_typescript5.default.SyntaxKind.ImportKeyword; +} +function isImportKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.ImportKeyword; +} +function isInKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.InKeyword; +} +function isInputFiles(node) { + return node.kind === import_typescript5.default.SyntaxKind.InputFiles; +} +function isJSDocText(node) { + return node.kind === import_typescript5.default.SyntaxKind.JSDocText; +} +function isJsonMinusNumericLiteral(node) { + return node.kind === import_typescript5.default.SyntaxKind.PrefixUnaryExpression; +} +function isNeverKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.NeverKeyword; +} +function isNullKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.NullKeyword; +} +function isNullLiteral(node) { + return node.kind === import_typescript5.default.SyntaxKind.NullKeyword; +} +function isNumberKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.NumberKeyword; +} +function isObjectKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.ObjectKeyword; +} +function isOutKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.OutKeyword; +} +function isOverrideKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.OverrideKeyword; +} +function isPrivateKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.PrivateKeyword; +} +function isProtectedKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.ProtectedKeyword; +} +function isPublicKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.PublicKeyword; +} +function isQuestionDotToken(node) { + return node.kind === import_typescript5.default.SyntaxKind.QuestionDotToken; +} +function isQuestionToken(node) { + return node.kind === import_typescript5.default.SyntaxKind.QuestionToken; +} +function isReadonlyKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.ReadonlyKeyword; +} +function isStaticKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.StaticKeyword; +} +function isStringKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.StringKeyword; +} +function isSuperExpression(node) { + return node.kind === import_typescript5.default.SyntaxKind.SuperKeyword; +} +function isSuperKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.SuperKeyword; +} +function isSymbolKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.SymbolKeyword; +} +function isSyntaxList(node) { + return node.kind === import_typescript5.default.SyntaxKind.SyntaxList; +} +function isThisExpression(node) { + return node.kind === import_typescript5.default.SyntaxKind.ThisKeyword; +} +function isThisKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.ThisKeyword; +} +function isTrueKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.TrueKeyword; +} +function isTrueLiteral(node) { + return node.kind === import_typescript5.default.SyntaxKind.TrueKeyword; +} +function isUndefinedKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.UndefinedKeyword; +} +function isUnknownKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.UnknownKeyword; +} +function isUnparsedPrologue(node) { + return node.kind === import_typescript5.default.SyntaxKind.UnparsedPrologue; +} +function isUnparsedSyntheticReference(node) { + return node.kind === import_typescript5.default.SyntaxKind.UnparsedSyntheticReference; +} +function isVoidKeyword(node) { + return node.kind === import_typescript5.default.SyntaxKind.VoidKeyword; +} + +// src/nodes/typeGuards/union.ts +var import_typescript7 = __toESM(require("typescript"), 1); + +// src/utils.ts +var import_typescript6 = __toESM(require("typescript"), 1); +var [tsMajor, tsMinor] = import_typescript6.default.versionMajorMinor.split(".").map((raw) => Number.parseInt(raw, 10)); +function isTsVersionAtLeast(major, minor = 0) { + return tsMajor > major || tsMajor === major && tsMinor >= minor; +} + +// src/nodes/typeGuards/union.ts +function isAccessExpression(node) { + return import_typescript7.default.isPropertyAccessExpression(node) || import_typescript7.default.isElementAccessExpression(node); +} +function isAccessibilityModifier(node) { + return isPublicKeyword(node) || isPrivateKeyword(node) || isProtectedKeyword(node); +} +function isAccessorDeclaration(node) { + return import_typescript7.default.isGetAccessorDeclaration(node) || import_typescript7.default.isSetAccessorDeclaration(node); +} +function isArrayBindingElement(node) { + return import_typescript7.default.isBindingElement(node) || import_typescript7.default.isOmittedExpression(node); +} +function isArrayBindingOrAssignmentPattern(node) { + return import_typescript7.default.isArrayBindingPattern(node) || import_typescript7.default.isArrayLiteralExpression(node); +} +function isAssignmentPattern(node) { + return import_typescript7.default.isObjectLiteralExpression(node) || import_typescript7.default.isArrayLiteralExpression(node); +} +function isBindingOrAssignmentElementRestIndicator(node) { + if (import_typescript7.default.isSpreadElement(node) || import_typescript7.default.isSpreadAssignment(node)) { + return true; + } + if (isTsVersionAtLeast(4, 4)) { + return import_typescript7.default.isDotDotDotToken(node); + } + return false; +} +function isBindingOrAssignmentElementTarget(node) { + return isBindingOrAssignmentPattern(node) || import_typescript7.default.isIdentifier(node) || import_typescript7.default.isPropertyAccessExpression(node) || import_typescript7.default.isElementAccessExpression(node) || import_typescript7.default.isOmittedExpression(node); +} +function isBindingOrAssignmentPattern(node) { + return isObjectBindingOrAssignmentPattern(node) || isArrayBindingOrAssignmentPattern(node); +} +function isBindingPattern(node) { + return import_typescript7.default.isObjectBindingPattern(node) || import_typescript7.default.isArrayBindingPattern(node); +} +function isBlockLike(node) { + return import_typescript7.default.isSourceFile(node) || import_typescript7.default.isBlock(node) || import_typescript7.default.isModuleBlock(node) || import_typescript7.default.isCaseOrDefaultClause(node); +} +function isBooleanLiteral(node) { + return isTrueLiteral(node) || isFalseLiteral(node); +} +function isClassLikeDeclaration(node) { + return import_typescript7.default.isClassDeclaration(node) || import_typescript7.default.isClassExpression(node); +} +function isClassMemberModifier(node) { + return isAccessibilityModifier(node) || isReadonlyKeyword(node) || isStaticKeyword(node) || isAccessorKeyword(node); +} +function isDeclarationName(node) { + return import_typescript7.default.isIdentifier(node) || import_typescript7.default.isPrivateIdentifier(node) || import_typescript7.default.isStringLiteralLike(node) || import_typescript7.default.isNumericLiteral(node) || import_typescript7.default.isComputedPropertyName(node) || import_typescript7.default.isElementAccessExpression(node) || isBindingPattern(node) || isEntityNameExpression(node); +} +function isDeclarationWithTypeParameterChildren(node) { + return isSignatureDeclaration(node) || // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5 + isClassLikeDeclaration(node) || import_typescript7.default.isInterfaceDeclaration(node) || import_typescript7.default.isTypeAliasDeclaration(node) || import_typescript7.default.isJSDocTemplateTag(node); +} +function isDeclarationWithTypeParameters(node) { + return isDeclarationWithTypeParameterChildren(node) || import_typescript7.default.isJSDocTypedefTag(node) || import_typescript7.default.isJSDocCallbackTag(node) || import_typescript7.default.isJSDocSignature(node); +} +function isDestructuringPattern(node) { + return isBindingPattern(node) || import_typescript7.default.isObjectLiteralExpression(node) || import_typescript7.default.isArrayLiteralExpression(node); +} +function isEntityNameExpression(node) { + return import_typescript7.default.isIdentifier(node) || isPropertyAccessEntityNameExpression(node); +} +function isEntityNameOrEntityNameExpression(node) { + return import_typescript7.default.isEntityName(node) || isEntityNameExpression(node); +} +function isForInOrOfStatement(node) { + return import_typescript7.default.isForInStatement(node) || import_typescript7.default.isForOfStatement(node); +} +function isFunctionLikeDeclaration(node) { + return import_typescript7.default.isFunctionDeclaration(node) || import_typescript7.default.isMethodDeclaration(node) || import_typescript7.default.isGetAccessorDeclaration(node) || import_typescript7.default.isSetAccessorDeclaration(node) || import_typescript7.default.isConstructorDeclaration(node) || import_typescript7.default.isFunctionExpression(node) || import_typescript7.default.isArrowFunction(node); +} +function hasDecorators(node) { + return import_typescript7.default.isParameter(node) || import_typescript7.default.isPropertyDeclaration(node) || import_typescript7.default.isMethodDeclaration(node) || import_typescript7.default.isGetAccessorDeclaration(node) || import_typescript7.default.isSetAccessorDeclaration(node) || import_typescript7.default.isClassExpression(node) || import_typescript7.default.isClassDeclaration(node); +} +function hasExpressionInitializer(node) { + return import_typescript7.default.isVariableDeclaration(node) || import_typescript7.default.isParameter(node) || import_typescript7.default.isBindingElement(node) || import_typescript7.default.isPropertyDeclaration(node) || import_typescript7.default.isPropertyAssignment(node) || import_typescript7.default.isEnumMember(node); +} +function hasInitializer(node) { + return hasExpressionInitializer(node) || import_typescript7.default.isForStatement(node) || import_typescript7.default.isForInStatement(node) || import_typescript7.default.isForOfStatement(node) || import_typescript7.default.isJsxAttribute(node); +} +function hasJSDoc(node) { + if ( + // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5 + isAccessorDeclaration(node) || import_typescript7.default.isArrowFunction(node) || import_typescript7.default.isBlock(node) || import_typescript7.default.isBreakStatement(node) || import_typescript7.default.isCallSignatureDeclaration(node) || import_typescript7.default.isCaseClause(node) || // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5 + isClassLikeDeclaration(node) || import_typescript7.default.isConstructorDeclaration(node) || import_typescript7.default.isConstructorTypeNode(node) || import_typescript7.default.isConstructSignatureDeclaration(node) || import_typescript7.default.isContinueStatement(node) || import_typescript7.default.isDebuggerStatement(node) || import_typescript7.default.isDoStatement(node) || import_typescript7.default.isEmptyStatement(node) || isEndOfFileToken(node) || import_typescript7.default.isEnumDeclaration(node) || import_typescript7.default.isEnumMember(node) || import_typescript7.default.isExportAssignment(node) || import_typescript7.default.isExportDeclaration(node) || import_typescript7.default.isExportSpecifier(node) || import_typescript7.default.isExpressionStatement(node) || import_typescript7.default.isForInStatement(node) || import_typescript7.default.isForOfStatement(node) || import_typescript7.default.isForStatement(node) || import_typescript7.default.isFunctionDeclaration(node) || import_typescript7.default.isFunctionExpression(node) || import_typescript7.default.isFunctionTypeNode(node) || import_typescript7.default.isIfStatement(node) || import_typescript7.default.isImportDeclaration(node) || import_typescript7.default.isImportEqualsDeclaration(node) || import_typescript7.default.isIndexSignatureDeclaration(node) || import_typescript7.default.isInterfaceDeclaration(node) || import_typescript7.default.isJSDocFunctionType(node) || import_typescript7.default.isLabeledStatement(node) || import_typescript7.default.isMethodDeclaration(node) || import_typescript7.default.isMethodSignature(node) || import_typescript7.default.isModuleDeclaration(node) || import_typescript7.default.isNamedTupleMember(node) || import_typescript7.default.isNamespaceExportDeclaration(node) || import_typescript7.default.isParameter(node) || import_typescript7.default.isParenthesizedExpression(node) || import_typescript7.default.isPropertyAssignment(node) || import_typescript7.default.isPropertyDeclaration(node) || import_typescript7.default.isPropertySignature(node) || import_typescript7.default.isReturnStatement(node) || import_typescript7.default.isShorthandPropertyAssignment(node) || import_typescript7.default.isSpreadAssignment(node) || import_typescript7.default.isSwitchStatement(node) || import_typescript7.default.isThrowStatement(node) || import_typescript7.default.isTryStatement(node) || import_typescript7.default.isTypeAliasDeclaration(node) || import_typescript7.default.isVariableDeclaration(node) || import_typescript7.default.isVariableStatement(node) || import_typescript7.default.isWhileStatement(node) || import_typescript7.default.isWithStatement(node) + ) { + return true; + } + if (isTsVersionAtLeast(4, 4) && import_typescript7.default.isClassStaticBlockDeclaration(node)) { + return true; + } + if (isTsVersionAtLeast(5, 0) && (import_typescript7.default.isBinaryExpression(node) || import_typescript7.default.isElementAccessExpression(node) || import_typescript7.default.isIdentifier(node) || import_typescript7.default.isJSDocSignature(node) || import_typescript7.default.isObjectLiteralExpression(node) || import_typescript7.default.isPropertyAccessExpression(node) || import_typescript7.default.isTypeParameterDeclaration(node))) { + return true; + } + return false; +} +function hasModifiers(node) { + return import_typescript7.default.isTypeParameterDeclaration(node) || import_typescript7.default.isParameter(node) || import_typescript7.default.isConstructorTypeNode(node) || import_typescript7.default.isPropertySignature(node) || import_typescript7.default.isPropertyDeclaration(node) || import_typescript7.default.isMethodSignature(node) || import_typescript7.default.isMethodDeclaration(node) || import_typescript7.default.isConstructorDeclaration(node) || import_typescript7.default.isGetAccessorDeclaration(node) || import_typescript7.default.isSetAccessorDeclaration(node) || import_typescript7.default.isIndexSignatureDeclaration(node) || import_typescript7.default.isFunctionExpression(node) || import_typescript7.default.isArrowFunction(node) || import_typescript7.default.isClassExpression(node) || import_typescript7.default.isVariableStatement(node) || import_typescript7.default.isFunctionDeclaration(node) || import_typescript7.default.isClassDeclaration(node) || import_typescript7.default.isInterfaceDeclaration(node) || import_typescript7.default.isTypeAliasDeclaration(node) || import_typescript7.default.isEnumDeclaration(node) || import_typescript7.default.isModuleDeclaration(node) || import_typescript7.default.isImportEqualsDeclaration(node) || import_typescript7.default.isImportDeclaration(node) || import_typescript7.default.isExportAssignment(node) || import_typescript7.default.isExportDeclaration(node); +} +function hasType(node) { + return isSignatureDeclaration(node) || import_typescript7.default.isVariableDeclaration(node) || import_typescript7.default.isParameter(node) || import_typescript7.default.isPropertySignature(node) || import_typescript7.default.isPropertyDeclaration(node) || import_typescript7.default.isTypePredicateNode(node) || import_typescript7.default.isParenthesizedTypeNode(node) || import_typescript7.default.isTypeOperatorNode(node) || import_typescript7.default.isMappedTypeNode(node) || import_typescript7.default.isAssertionExpression(node) || import_typescript7.default.isTypeAliasDeclaration(node) || import_typescript7.default.isJSDocTypeExpression(node) || import_typescript7.default.isJSDocNonNullableType(node) || import_typescript7.default.isJSDocNullableType(node) || import_typescript7.default.isJSDocOptionalType(node) || import_typescript7.default.isJSDocVariadicType(node); +} +function hasTypeArguments(node) { + return import_typescript7.default.isCallExpression(node) || import_typescript7.default.isNewExpression(node) || import_typescript7.default.isTaggedTemplateExpression(node) || import_typescript7.default.isJsxOpeningElement(node) || import_typescript7.default.isJsxSelfClosingElement(node); +} +function isJSDocComment(node) { + if (isJSDocText(node)) { + return true; + } + if (isTsVersionAtLeast(4, 4)) { + return import_typescript7.default.isJSDocLink(node) || import_typescript7.default.isJSDocLinkCode(node) || import_typescript7.default.isJSDocLinkPlain(node); + } + return false; +} +function isJSDocNamespaceBody(node) { + return import_typescript7.default.isIdentifier(node) || isJSDocNamespaceDeclaration(node); +} +function isJSDocTypeReferencingNode(node) { + return import_typescript7.default.isJSDocVariadicType(node) || import_typescript7.default.isJSDocOptionalType(node) || import_typescript7.default.isJSDocNullableType(node) || import_typescript7.default.isJSDocNonNullableType(node); +} +function isJsonObjectExpression(node) { + return import_typescript7.default.isObjectLiteralExpression(node) || import_typescript7.default.isArrayLiteralExpression(node) || isJsonMinusNumericLiteral(node) || import_typescript7.default.isNumericLiteral(node) || import_typescript7.default.isStringLiteral(node) || isBooleanLiteral(node) || isNullLiteral(node); +} +function isJsxAttributeLike(node) { + return import_typescript7.default.isJsxAttribute(node) || import_typescript7.default.isJsxSpreadAttribute(node); +} +function isJsxAttributeValue(node) { + return import_typescript7.default.isStringLiteral(node) || import_typescript7.default.isJsxExpression(node) || import_typescript7.default.isJsxElement(node) || import_typescript7.default.isJsxSelfClosingElement(node) || import_typescript7.default.isJsxFragment(node); +} +function isJsxChild(node) { + return import_typescript7.default.isJsxText(node) || import_typescript7.default.isJsxExpression(node) || import_typescript7.default.isJsxElement(node) || import_typescript7.default.isJsxSelfClosingElement(node) || import_typescript7.default.isJsxFragment(node); +} +function isJsxTagNameExpression(node) { + return import_typescript7.default.isIdentifier(node) || isThisExpression(node) || isJsxTagNamePropertyAccess(node); +} +function isLiteralToken(node) { + return import_typescript7.default.isNumericLiteral(node) || import_typescript7.default.isBigIntLiteral(node) || import_typescript7.default.isStringLiteral(node) || import_typescript7.default.isJsxText(node) || import_typescript7.default.isRegularExpressionLiteral(node) || import_typescript7.default.isNoSubstitutionTemplateLiteral(node); +} +function isModuleBody(node) { + return isNamespaceBody(node) || isJSDocNamespaceBody(node); +} +function isModuleName(node) { + return import_typescript7.default.isIdentifier(node) || import_typescript7.default.isStringLiteral(node); +} +function isModuleReference(node) { + return import_typescript7.default.isEntityName(node) || import_typescript7.default.isExternalModuleReference(node); +} +function isNamedImportBindings(node) { + return import_typescript7.default.isNamespaceImport(node) || import_typescript7.default.isNamedImports(node); +} +function isNamedImportsOrExports(node) { + return import_typescript7.default.isNamedImports(node) || import_typescript7.default.isNamedExports(node); +} +function isNamespaceBody(node) { + return import_typescript7.default.isModuleBlock(node) || isNamespaceDeclaration(node); +} +function isObjectBindingOrAssignmentElement(node) { + return import_typescript7.default.isBindingElement(node) || import_typescript7.default.isPropertyAssignment(node) || import_typescript7.default.isShorthandPropertyAssignment(node) || import_typescript7.default.isSpreadAssignment(node); +} +function isObjectBindingOrAssignmentPattern(node) { + return import_typescript7.default.isObjectBindingPattern(node) || import_typescript7.default.isObjectLiteralExpression(node); +} +function isObjectTypeDeclaration(node) { + return ( + // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5 + isClassLikeDeclaration(node) || import_typescript7.default.isInterfaceDeclaration(node) || import_typescript7.default.isTypeLiteralNode(node) + ); +} +function isParameterPropertyModifier(node) { + return isAccessibilityModifier(node) || isReadonlyKeyword(node); +} +function isPropertyNameLiteral(node) { + return import_typescript7.default.isIdentifier(node) || import_typescript7.default.isStringLiteralLike(node) || import_typescript7.default.isNumericLiteral(node); +} +function isPseudoLiteralToken(node) { + return import_typescript7.default.isTemplateHead(node) || import_typescript7.default.isTemplateMiddle(node) || import_typescript7.default.isTemplateTail(node); +} +function isSignatureDeclaration(node) { + return import_typescript7.default.isCallSignatureDeclaration(node) || import_typescript7.default.isConstructSignatureDeclaration(node) || import_typescript7.default.isMethodSignature(node) || import_typescript7.default.isIndexSignatureDeclaration(node) || import_typescript7.default.isFunctionTypeNode(node) || import_typescript7.default.isConstructorTypeNode(node) || import_typescript7.default.isJSDocFunctionType(node) || import_typescript7.default.isFunctionDeclaration(node) || import_typescript7.default.isMethodDeclaration(node) || import_typescript7.default.isConstructorDeclaration(node) || // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5 + isAccessorDeclaration(node) || import_typescript7.default.isFunctionExpression(node) || import_typescript7.default.isArrowFunction(node); +} +function isSuperProperty(node) { + return isSuperPropertyAccessExpression(node) || isSuperElementAccessExpression(node); +} +function isTypeOnlyCompatibleAliasDeclaration(node) { + if (import_typescript7.default.isImportClause(node) || import_typescript7.default.isImportEqualsDeclaration(node) || import_typescript7.default.isNamespaceImport(node) || import_typescript7.default.isImportOrExportSpecifier(node)) { + return true; + } + if (isTsVersionAtLeast(5, 0) && (import_typescript7.default.isExportDeclaration(node) || import_typescript7.default.isNamespaceExport(node))) { + return true; + } + return false; +} +function isTypeReferenceType(node) { + return import_typescript7.default.isTypeReferenceNode(node) || import_typescript7.default.isExpressionWithTypeArguments(node); +} +function isUnionOrIntersectionTypeNode(node) { + return import_typescript7.default.isUnionTypeNode(node) || import_typescript7.default.isIntersectionTypeNode(node); +} +function isUnparsedSourceText(node) { + return import_typescript7.default.isUnparsedPrepend(node) || import_typescript7.default.isUnparsedTextLike(node); +} +function isVariableLikeDeclaration(node) { + return import_typescript7.default.isVariableDeclaration(node) || import_typescript7.default.isParameter(node) || import_typescript7.default.isBindingElement(node) || import_typescript7.default.isPropertyDeclaration(node) || import_typescript7.default.isPropertyAssignment(node) || import_typescript7.default.isPropertySignature(node) || import_typescript7.default.isJsxAttribute(node) || import_typescript7.default.isShorthandPropertyAssignment(node) || import_typescript7.default.isEnumMember(node) || import_typescript7.default.isJSDocPropertyTag(node) || import_typescript7.default.isJSDocParameterTag(node); +} + +// src/nodes/typeGuards/compound.ts +function isConstAssertionExpression(node) { + return import_typescript8.default.isTypeReferenceNode(node.type) && import_typescript8.default.isIdentifier(node.type.typeName) && node.type.typeName.escapedText === "const"; +} +function isIterationStatement(node) { + switch (node.kind) { + case import_typescript8.default.SyntaxKind.DoStatement: + case import_typescript8.default.SyntaxKind.ForInStatement: + case import_typescript8.default.SyntaxKind.ForOfStatement: + case import_typescript8.default.SyntaxKind.ForStatement: + case import_typescript8.default.SyntaxKind.WhileStatement: + return true; + default: + return false; + } +} +function isJSDocNamespaceDeclaration(node) { + return import_typescript8.default.isModuleDeclaration(node) && import_typescript8.default.isIdentifier(node.name) && (node.body === void 0 || isJSDocNamespaceBody(node.body)); +} +function isJsxTagNamePropertyAccess(node) { + return import_typescript8.default.isPropertyAccessExpression(node) && // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts < 5 + isJsxTagNameExpression(node.expression); +} +function isNamedDeclarationWithName(node) { + return "name" in node && node.name !== void 0 && node.name !== null && isDeclarationName(node.name); +} +function isNamespaceDeclaration(node) { + return import_typescript8.default.isModuleDeclaration(node) && import_typescript8.default.isIdentifier(node.name) && node.body !== void 0 && isNamespaceBody(node.body); +} +function isNumericOrStringLikeLiteral(node) { + switch (node.kind) { + case import_typescript8.default.SyntaxKind.StringLiteral: + case import_typescript8.default.SyntaxKind.NumericLiteral: + case import_typescript8.default.SyntaxKind.NoSubstitutionTemplateLiteral: + return true; + default: + return false; + } +} +function isPropertyAccessEntityNameExpression(node) { + return import_typescript8.default.isPropertyAccessExpression(node) && import_typescript8.default.isIdentifier(node.name) && isEntityNameExpression(node.expression); +} +function isSuperElementAccessExpression(node) { + return import_typescript8.default.isElementAccessExpression(node) && isSuperExpression(node.expression); +} +function isSuperPropertyAccessExpression(node) { + return import_typescript8.default.isPropertyAccessExpression(node) && isSuperExpression(node.expression); +} + +// src/scopes.ts +var import_typescript9 = __toESM(require("typescript"), 1); +function isFunctionScopeBoundary(node) { + switch (node.kind) { + case import_typescript9.default.SyntaxKind.FunctionExpression: + case import_typescript9.default.SyntaxKind.ArrowFunction: + case import_typescript9.default.SyntaxKind.Constructor: + case import_typescript9.default.SyntaxKind.ModuleDeclaration: + case import_typescript9.default.SyntaxKind.ClassDeclaration: + case import_typescript9.default.SyntaxKind.ClassExpression: + case import_typescript9.default.SyntaxKind.EnumDeclaration: + case import_typescript9.default.SyntaxKind.MethodDeclaration: + case import_typescript9.default.SyntaxKind.FunctionDeclaration: + case import_typescript9.default.SyntaxKind.GetAccessor: + case import_typescript9.default.SyntaxKind.SetAccessor: + case import_typescript9.default.SyntaxKind.MethodSignature: + case import_typescript9.default.SyntaxKind.CallSignature: + case import_typescript9.default.SyntaxKind.ConstructSignature: + case import_typescript9.default.SyntaxKind.ConstructorType: + case import_typescript9.default.SyntaxKind.FunctionType: + return true; + case import_typescript9.default.SyntaxKind.SourceFile: + return import_typescript9.default.isExternalModule(node); + default: + return false; + } +} + +// src/syntax.ts +var import_typescript10 = __toESM(require("typescript"), 1); +function isAssignmentKind(kind) { + return kind >= import_typescript10.default.SyntaxKind.FirstAssignment && kind <= import_typescript10.default.SyntaxKind.LastAssignment; +} +function isNumericPropertyName(name) { + return String(+name) === name; +} +function charSize(ch) { + return ch >= 65536 ? 2 : 1; +} +function isValidPropertyAccess(text, languageVersion = import_typescript10.default.ScriptTarget.Latest) { + if (text.length === 0) { + return false; + } + let ch = text.codePointAt(0); + if (!import_typescript10.default.isIdentifierStart(ch, languageVersion)) { + return false; + } + for (let i = charSize(ch); i < text.length; i += charSize(ch)) { + ch = text.codePointAt(i); + if (!import_typescript10.default.isIdentifierPart(ch, languageVersion)) { + return false; + } + } + return true; +} + +// src/types/getters.ts +var import_typescript15 = __toESM(require("typescript"), 1); + +// src/types/typeGuards/intrinsic.ts +var import_typescript11 = __toESM(require("typescript"), 1); +function isIntrinsicAnyType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.Any); +} +function isIntrinsicBooleanType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.Boolean); +} +function isIntrinsicBigIntType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.BigInt); +} +function isIntrinsicErrorType(type) { + return isIntrinsicType(type) && type.intrinsicName === "error"; +} +function isIntrinsicESSymbolType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.ESSymbol); +} +var IntrinsicTypeFlags = import_typescript11.default.TypeFlags.Intrinsic ?? import_typescript11.default.TypeFlags.Any | import_typescript11.default.TypeFlags.Unknown | import_typescript11.default.TypeFlags.String | import_typescript11.default.TypeFlags.Number | import_typescript11.default.TypeFlags.BigInt | import_typescript11.default.TypeFlags.Boolean | import_typescript11.default.TypeFlags.BooleanLiteral | import_typescript11.default.TypeFlags.ESSymbol | import_typescript11.default.TypeFlags.Void | import_typescript11.default.TypeFlags.Undefined | import_typescript11.default.TypeFlags.Null | import_typescript11.default.TypeFlags.Never | import_typescript11.default.TypeFlags.NonPrimitive; +function isIntrinsicType(type) { + return isTypeFlagSet(type, IntrinsicTypeFlags); +} +function isIntrinsicNeverType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.Never); +} +function isIntrinsicNonPrimitiveType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.NonPrimitive); +} +function isIntrinsicNullType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.Null); +} +function isIntrinsicNumberType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.Number); +} +function isIntrinsicStringType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.String); +} +function isIntrinsicUndefinedType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.Undefined); +} +function isIntrinsicUnknownType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.Unknown); +} +function isIntrinsicVoidType(type) { + return isTypeFlagSet(type, import_typescript11.default.TypeFlags.Void); +} + +// src/types/typeGuards/objects.ts +var import_typescript13 = __toESM(require("typescript"), 1); + +// src/types/typeGuards/single.ts +var import_typescript12 = __toESM(require("typescript"), 1); +function isConditionalType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.Conditional); +} +function isEnumType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.Enum); +} +function isFreshableType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.Freshable); +} +function isIndexType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.Index); +} +function isIndexedAccessType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.IndexedAccess); +} +function isInstantiableType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.Instantiable); +} +function isIntersectionType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.Intersection); +} +function isObjectType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.Object); +} +function isStringMappingType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.StringMapping); +} +function isSubstitutionType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.Substitution); +} +function isTypeParameter(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.TypeParameter); +} +function isTypeVariable(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.TypeVariable); +} +function isUnionType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.Union); +} +function isUnionOrIntersectionType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.UnionOrIntersection); +} +function isUniqueESSymbolType(type) { + return isTypeFlagSet(type, import_typescript12.default.TypeFlags.UniqueESSymbol); +} + +// src/types/typeGuards/objects.ts +function isEvolvingArrayType(type) { + return isObjectType(type) && isObjectFlagSet(type, import_typescript13.default.ObjectFlags.EvolvingArray); +} +function isTupleType(type) { + return isObjectType(type) && isObjectFlagSet(type, import_typescript13.default.ObjectFlags.Tuple); +} +function isTypeReference(type) { + return isObjectType(type) && isObjectFlagSet(type, import_typescript13.default.ObjectFlags.Reference); +} + +// src/types/typeGuards/compound.ts +function isFreshableIntrinsicType(type) { + return isIntrinsicType(type) && isFreshableType(type); +} +function isTupleTypeReference(type) { + return isTypeReference(type) && isTupleType(type.target); +} + +// src/types/typeGuards/literal.ts +var import_typescript14 = __toESM(require("typescript"), 1); +function isBooleanLiteralType(type) { + return isTypeFlagSet(type, import_typescript14.default.TypeFlags.BooleanLiteral); +} +function isBigIntLiteralType(type) { + return isTypeFlagSet(type, import_typescript14.default.TypeFlags.BigIntLiteral); +} +function isFalseLiteralType(type) { + return isBooleanLiteralType(type) && type.intrinsicName === "false"; +} +function isLiteralType(type) { + return isTypeFlagSet(type, import_typescript14.default.TypeFlags.Literal); +} +function isNumberLiteralType(type) { + return isTypeFlagSet(type, import_typescript14.default.TypeFlags.NumberLiteral); +} +function isStringLiteralType(type) { + return isTypeFlagSet(type, import_typescript14.default.TypeFlags.StringLiteral); +} +function isTemplateLiteralType(type) { + return isTypeFlagSet(type, import_typescript14.default.TypeFlags.TemplateLiteral); +} +function isTrueLiteralType(type) { + return isBooleanLiteralType(type) && type.intrinsicName === "true"; +} +function isUnknownLiteralType(type) { + return isTypeFlagSet(type, import_typescript14.default.TypeFlags.Literal); +} + +// src/types/getters.ts +function getCallSignaturesOfType(type) { + if (isUnionType(type)) { + const signatures = []; + for (const subType of type.types) { + signatures.push(...getCallSignaturesOfType(subType)); + } + return signatures; + } + if (isIntersectionType(type)) { + let signatures; + for (const subType of type.types) { + const sig = getCallSignaturesOfType(subType); + if (sig.length !== 0) { + if (signatures !== void 0) { + return []; + } + signatures = sig; + } + } + return signatures === void 0 ? [] : signatures; + } + return type.getCallSignatures(); +} +function getPropertyOfType(type, name) { + if (!name.startsWith("__")) { + return type.getProperty(name); + } + return type.getProperties().find((s) => s.escapedName === name); +} +function getWellKnownSymbolPropertyOfType(type, wellKnownSymbolName, typeChecker) { + const prefix = "__@" + wellKnownSymbolName; + for (const prop of type.getProperties()) { + if (!prop.name.startsWith(prefix)) { + continue; + } + const declaration = prop.valueDeclaration ?? prop.getDeclarations()[0]; + if (!isNamedDeclarationWithName(declaration) || declaration.name === void 0 || !import_typescript15.default.isComputedPropertyName(declaration.name)) { + continue; + } + const globalSymbol = typeChecker.getApparentType( + typeChecker.getTypeAtLocation(declaration.name.expression) + ).symbol; + if (prop.escapedName === getPropertyNameOfWellKnownSymbol( + typeChecker, + globalSymbol, + wellKnownSymbolName + )) { + return prop; + } + } + return void 0; +} +function getPropertyNameOfWellKnownSymbol(typeChecker, symbolConstructor, symbolName) { + const knownSymbol = symbolConstructor && typeChecker.getTypeOfSymbolAtLocation( + symbolConstructor, + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access + symbolConstructor.valueDeclaration + ).getProperty(symbolName); + const knownSymbolType = knownSymbol && typeChecker.getTypeOfSymbolAtLocation( + knownSymbol, + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access + knownSymbol.valueDeclaration + ); + if (knownSymbolType && isUniqueESSymbolType(knownSymbolType)) { + return knownSymbolType.escapedName; + } + return "__@" + symbolName; +} + +// src/types/utilities.ts +var import_typescript17 = __toESM(require("typescript"), 1); + +// src/nodes/utilities.ts +var import_typescript16 = __toESM(require("typescript"), 1); +function isBindableObjectDefinePropertyCall(node) { + return node.arguments.length === 3 && isEntityNameExpression(node.arguments[0]) && isNumericOrStringLikeLiteral(node.arguments[1]) && import_typescript16.default.isPropertyAccessExpression(node.expression) && node.expression.name.escapedText === "defineProperty" && import_typescript16.default.isIdentifier(node.expression.expression) && node.expression.expression.escapedText === "Object"; +} +function isInConstContext(node) { + let current = node; + while (true) { + const parent = current.parent; + outer: + switch (parent.kind) { + case import_typescript16.default.SyntaxKind.TypeAssertionExpression: + case import_typescript16.default.SyntaxKind.AsExpression: + return isConstAssertionExpression(parent); + case import_typescript16.default.SyntaxKind.PrefixUnaryExpression: + if (current.kind !== import_typescript16.default.SyntaxKind.NumericLiteral) { + return false; + } + switch (parent.operator) { + case import_typescript16.default.SyntaxKind.PlusToken: + case import_typescript16.default.SyntaxKind.MinusToken: + current = parent; + break outer; + default: + return false; + } + case import_typescript16.default.SyntaxKind.PropertyAssignment: + if (parent.initializer !== current) { + return false; + } + current = parent.parent; + break; + case import_typescript16.default.SyntaxKind.ShorthandPropertyAssignment: + current = parent.parent; + break; + case import_typescript16.default.SyntaxKind.ParenthesizedExpression: + case import_typescript16.default.SyntaxKind.ArrayLiteralExpression: + case import_typescript16.default.SyntaxKind.ObjectLiteralExpression: + case import_typescript16.default.SyntaxKind.TemplateExpression: + current = parent; + break; + default: + return false; + } + } +} + +// src/types/utilities.ts +function isFalsyType(type) { + if (isTypeFlagSet( + type, + import_typescript17.default.TypeFlags.Undefined | import_typescript17.default.TypeFlags.Null | import_typescript17.default.TypeFlags.Void + )) { + return true; + } + if (type.isLiteral()) { + return !type.value; + } + return isFalseLiteralType(type); +} +function intersectionTypeParts(type) { + return isIntersectionType(type) ? type.types : [type]; +} +function typeParts(type) { + return isIntersectionType(type) || isUnionType(type) ? type.types : [type]; +} +function isReadonlyPropertyIntersection(type, name, typeChecker) { + const typeParts2 = isIntersectionType(type) ? type.types : [type]; + return typeParts2.some((subType) => { + const prop = getPropertyOfType(subType, name); + if (prop === void 0) { + return false; + } + if (prop.flags & import_typescript17.default.SymbolFlags.Transient) { + if (/^(?:[1-9]\d*|0)$/.test(name) && isTupleTypeReference(subType)) { + return subType.target.readonly; + } + switch (isReadonlyPropertyFromMappedType(subType, name, typeChecker)) { + case true: + return true; + case false: + return false; + default: + } + } + return !!// members of namespace import + (isSymbolFlagSet(prop, import_typescript17.default.SymbolFlags.ValueModule) || // we unwrapped every mapped type, now we can check the actual declarations + symbolHasReadonlyDeclaration(prop, typeChecker)); + }); +} +function isReadonlyPropertyFromMappedType(type, name, typeChecker) { + if (!isObjectType(type) || !isObjectFlagSet(type, import_typescript17.default.ObjectFlags.Mapped)) { + return; + } + const declaration = type.symbol.declarations[0]; + if (declaration.readonlyToken !== void 0 && !/^__@[^@]+$/.test(name)) { + return declaration.readonlyToken.kind !== import_typescript17.default.SyntaxKind.MinusToken; + } + const { modifiersType } = type; + return modifiersType && isPropertyReadonlyInType(modifiersType, name, typeChecker); +} +function isCallback(typeChecker, param, node) { + let type = typeChecker.getApparentType( + typeChecker.getTypeOfSymbolAtLocation(param, node) + ); + if (param.valueDeclaration.dotDotDotToken) { + type = type.getNumberIndexType(); + if (type === void 0) { + return false; + } + } + for (const subType of unionTypeParts(type)) { + if (subType.getCallSignatures().length !== 0) { + return true; + } + } + return false; +} +function isPropertyReadonlyInType(type, name, typeChecker) { + let seenProperty = false; + let seenReadonlySignature = false; + for (const subType of unionTypeParts(type)) { + if (getPropertyOfType(subType, name) === void 0) { + const index = (isNumericPropertyName(name) ? typeChecker.getIndexInfoOfType(subType, import_typescript17.default.IndexKind.Number) : void 0) ?? typeChecker.getIndexInfoOfType(subType, import_typescript17.default.IndexKind.String); + if (index?.isReadonly) { + if (seenProperty) { + return true; + } + seenReadonlySignature = true; + } + } else if (seenReadonlySignature || isReadonlyPropertyIntersection(subType, name, typeChecker)) { + return true; + } else { + seenProperty = true; + } + } + return false; +} +function isReadonlyAssignmentDeclaration(node, typeChecker) { + if (!isBindableObjectDefinePropertyCall(node)) { + return false; + } + const descriptorType = typeChecker.getTypeAtLocation(node.arguments[2]); + if (descriptorType.getProperty("value") === void 0) { + return descriptorType.getProperty("set") === void 0; + } + const writableProp = descriptorType.getProperty("writable"); + if (writableProp === void 0) { + return false; + } + const writableType = writableProp.valueDeclaration !== void 0 && import_typescript17.default.isPropertyAssignment(writableProp.valueDeclaration) ? typeChecker.getTypeAtLocation(writableProp.valueDeclaration.initializer) : typeChecker.getTypeOfSymbolAtLocation(writableProp, node.arguments[2]); + return isFalseLiteralType(writableType); +} +function isThenableType(typeChecker, node, type = typeChecker.getTypeAtLocation(node)) { + for (const typePart of unionTypeParts(typeChecker.getApparentType(type))) { + const then = typePart.getProperty("then"); + if (then === void 0) { + continue; + } + const thenType = typeChecker.getTypeOfSymbolAtLocation(then, node); + for (const subTypePart of unionTypeParts(thenType)) { + for (const signature of subTypePart.getCallSignatures()) { + if (signature.parameters.length !== 0 && isCallback(typeChecker, signature.parameters[0], node)) { + return true; + } + } + } + } + return false; +} +function symbolHasReadonlyDeclaration(symbol, typeChecker) { + return !!((symbol.flags & import_typescript17.default.SymbolFlags.Accessor) === import_typescript17.default.SymbolFlags.GetAccessor || symbol.declarations?.some( + (node) => isModifierFlagSet(node, import_typescript17.default.ModifierFlags.Readonly) || import_typescript17.default.isVariableDeclaration(node) && isNodeFlagSet(node.parent, import_typescript17.default.NodeFlags.Const) || import_typescript17.default.isCallExpression(node) && isReadonlyAssignmentDeclaration(node, typeChecker) || import_typescript17.default.isEnumMember(node) || (import_typescript17.default.isPropertyAssignment(node) || import_typescript17.default.isShorthandPropertyAssignment(node)) && isInConstContext(node.parent) + )); +} +function unionTypeParts(type) { + return isUnionType(type) ? type.types : [type]; +} + +// src/usage/UsageWalker.ts +var import_typescript23 = __toESM(require("typescript"), 1); + +// src/usage/Scope.ts +var import_typescript18 = __toESM(require("typescript"), 1); +function isBlockScopeBoundary(node) { + switch (node.kind) { + case import_typescript18.default.SyntaxKind.Block: { + const parent = node.parent; + return parent.kind !== import_typescript18.default.SyntaxKind.CatchClause && // blocks inside SourceFile are block scope boundaries + (parent.kind === import_typescript18.default.SyntaxKind.SourceFile || // blocks that are direct children of a function scope boundary are no scope boundary + // for example the FunctionBlock is part of the function scope of the containing function + !isFunctionScopeBoundary(parent)) ? 2 /* Block */ : 0 /* None */; + } + case import_typescript18.default.SyntaxKind.ForStatement: + case import_typescript18.default.SyntaxKind.ForInStatement: + case import_typescript18.default.SyntaxKind.ForOfStatement: + case import_typescript18.default.SyntaxKind.CaseBlock: + case import_typescript18.default.SyntaxKind.CatchClause: + case import_typescript18.default.SyntaxKind.WithStatement: + return 2 /* Block */; + default: + return 0 /* None */; + } +} + +// src/usage/declarations.ts +var import_typescript20 = __toESM(require("typescript"), 1); + +// src/usage/utils.ts +var import_typescript19 = __toESM(require("typescript"), 1); +function identifierToKeywordKind(node) { + return "identifierToKeywordKind" in import_typescript19.default ? import_typescript19.default.identifierToKeywordKind(node) : ( + // eslint-disable-next-line deprecation/deprecation + node.originalKeywordKind + ); +} +function canHaveDecorators(node) { + return "canHaveDecorators" in import_typescript19.default ? import_typescript19.default.canHaveDecorators(node) : "decorators" in node; +} +function getDecorators(node) { + return "getDecorators" in import_typescript19.default ? import_typescript19.default.getDecorators(node) : node.decorators; +} + +// src/usage/declarations.ts +var DeclarationDomain = /* @__PURE__ */ ((DeclarationDomain2) => { + DeclarationDomain2[DeclarationDomain2["Import"] = 8] = "Import"; + DeclarationDomain2[DeclarationDomain2["Namespace"] = 1] = "Namespace"; + DeclarationDomain2[DeclarationDomain2["Type"] = 2] = "Type"; + DeclarationDomain2[DeclarationDomain2["Value"] = 4] = "Value"; + DeclarationDomain2[DeclarationDomain2["Any"] = 7] = "Any"; + return DeclarationDomain2; +})(DeclarationDomain || {}); +function getDeclarationDomain(node) { + switch (node.parent.kind) { + case import_typescript20.default.SyntaxKind.TypeParameter: + case import_typescript20.default.SyntaxKind.InterfaceDeclaration: + case import_typescript20.default.SyntaxKind.TypeAliasDeclaration: + return 2 /* Type */; + case import_typescript20.default.SyntaxKind.ClassDeclaration: + case import_typescript20.default.SyntaxKind.ClassExpression: + return 2 /* Type */ | 4 /* Value */; + case import_typescript20.default.SyntaxKind.EnumDeclaration: + return 7 /* Any */; + case import_typescript20.default.SyntaxKind.NamespaceImport: + case import_typescript20.default.SyntaxKind.ImportClause: + return 7 /* Any */ | 8 /* Import */; + case import_typescript20.default.SyntaxKind.ImportEqualsDeclaration: + case import_typescript20.default.SyntaxKind.ImportSpecifier: + return node.parent.name === node ? 7 /* Any */ | 8 /* Import */ : void 0; + case import_typescript20.default.SyntaxKind.ModuleDeclaration: + return 1 /* Namespace */; + case import_typescript20.default.SyntaxKind.Parameter: + if (node.parent.parent.kind === import_typescript20.default.SyntaxKind.IndexSignature || identifierToKeywordKind(node) === import_typescript20.default.SyntaxKind.ThisKeyword) { + return; + } + case import_typescript20.default.SyntaxKind.BindingElement: + case import_typescript20.default.SyntaxKind.VariableDeclaration: + return node.parent.name === node ? 4 /* Value */ : void 0; + case import_typescript20.default.SyntaxKind.FunctionDeclaration: + case import_typescript20.default.SyntaxKind.FunctionExpression: + return 4 /* Value */; + } +} + +// src/usage/getPropertyName.ts +var import_typescript21 = __toESM(require("typescript"), 1); +function unwrapParentheses(node) { + while (node.kind === import_typescript21.default.SyntaxKind.ParenthesizedExpression) { + node = node.expression; + } + return node; +} +function getPropertyName(propertyName) { + if (propertyName.kind === import_typescript21.default.SyntaxKind.ComputedPropertyName) { + const expression = unwrapParentheses(propertyName.expression); + if (import_typescript21.default.isPrefixUnaryExpression(expression)) { + let negate = false; + switch (expression.operator) { + case import_typescript21.default.SyntaxKind.MinusToken: + negate = true; + case import_typescript21.default.SyntaxKind.PlusToken: + return import_typescript21.default.isNumericLiteral(expression.operand) ? `${negate ? "-" : ""}${expression.operand.text}` : import_typescript21.default.isBigIntLiteral(expression.operand) ? `${negate ? "-" : ""}${expression.operand.text.slice(0, -1)}` : void 0; + default: + return; + } + } + if (import_typescript21.default.isBigIntLiteral(expression)) { + return expression.text.slice(0, -1); + } + if (isNumericOrStringLikeLiteral(expression)) { + return expression.text; + } + return; + } + return propertyName.kind === import_typescript21.default.SyntaxKind.PrivateIdentifier ? void 0 : propertyName.text; +} + +// src/usage/getUsageDomain.ts +var import_typescript22 = __toESM(require("typescript"), 1); +var UsageDomain = /* @__PURE__ */ ((UsageDomain2) => { + UsageDomain2[UsageDomain2["Namespace"] = 1] = "Namespace"; + UsageDomain2[UsageDomain2["Type"] = 2] = "Type"; + UsageDomain2[UsageDomain2["TypeQuery"] = 8] = "TypeQuery"; + UsageDomain2[UsageDomain2["Value"] = 4] = "Value"; + UsageDomain2[UsageDomain2["ValueOrNamespace"] = 5] = "ValueOrNamespace"; + UsageDomain2[UsageDomain2["Any"] = 7] = "Any"; + return UsageDomain2; +})(UsageDomain || {}); +function getUsageDomain(node) { + const parent = node.parent; + switch (parent.kind) { + case import_typescript22.default.SyntaxKind.TypeReference: + return identifierToKeywordKind(node) !== import_typescript22.default.SyntaxKind.ConstKeyword ? 2 /* Type */ : void 0; + case import_typescript22.default.SyntaxKind.ExpressionWithTypeArguments: + return parent.parent.token === import_typescript22.default.SyntaxKind.ImplementsKeyword || parent.parent.parent.kind === import_typescript22.default.SyntaxKind.InterfaceDeclaration ? 2 /* Type */ : 4 /* Value */; + case import_typescript22.default.SyntaxKind.TypeQuery: + return 5 /* ValueOrNamespace */ | 8 /* TypeQuery */; + case import_typescript22.default.SyntaxKind.QualifiedName: + if (parent.left === node) { + if (getEntityNameParent(parent).kind === import_typescript22.default.SyntaxKind.TypeQuery) { + return 1 /* Namespace */ | 8 /* TypeQuery */; + } + return 1 /* Namespace */; + } + break; + case import_typescript22.default.SyntaxKind.ExportSpecifier: + if (parent.propertyName === void 0 || parent.propertyName === node) { + return 7 /* Any */; + } + break; + case import_typescript22.default.SyntaxKind.ExportAssignment: + return 7 /* Any */; + case import_typescript22.default.SyntaxKind.BindingElement: + if (parent.initializer === node) { + return 5 /* ValueOrNamespace */; + } + break; + case import_typescript22.default.SyntaxKind.Parameter: + case import_typescript22.default.SyntaxKind.EnumMember: + case import_typescript22.default.SyntaxKind.PropertyDeclaration: + case import_typescript22.default.SyntaxKind.VariableDeclaration: + case import_typescript22.default.SyntaxKind.PropertyAssignment: + case import_typescript22.default.SyntaxKind.PropertyAccessExpression: + case import_typescript22.default.SyntaxKind.ImportEqualsDeclaration: + if (parent.name !== node) { + return 5 /* ValueOrNamespace */; + } + break; + case import_typescript22.default.SyntaxKind.JsxAttribute: + case import_typescript22.default.SyntaxKind.FunctionDeclaration: + case import_typescript22.default.SyntaxKind.FunctionExpression: + case import_typescript22.default.SyntaxKind.NamespaceImport: + case import_typescript22.default.SyntaxKind.ClassDeclaration: + case import_typescript22.default.SyntaxKind.ClassExpression: + case import_typescript22.default.SyntaxKind.ModuleDeclaration: + case import_typescript22.default.SyntaxKind.MethodDeclaration: + case import_typescript22.default.SyntaxKind.EnumDeclaration: + case import_typescript22.default.SyntaxKind.GetAccessor: + case import_typescript22.default.SyntaxKind.SetAccessor: + case import_typescript22.default.SyntaxKind.LabeledStatement: + case import_typescript22.default.SyntaxKind.BreakStatement: + case import_typescript22.default.SyntaxKind.ContinueStatement: + case import_typescript22.default.SyntaxKind.ImportClause: + case import_typescript22.default.SyntaxKind.ImportSpecifier: + case import_typescript22.default.SyntaxKind.TypePredicate: + case import_typescript22.default.SyntaxKind.MethodSignature: + case import_typescript22.default.SyntaxKind.PropertySignature: + case import_typescript22.default.SyntaxKind.NamespaceExportDeclaration: + case import_typescript22.default.SyntaxKind.NamespaceExport: + case import_typescript22.default.SyntaxKind.InterfaceDeclaration: + case import_typescript22.default.SyntaxKind.TypeAliasDeclaration: + case import_typescript22.default.SyntaxKind.TypeParameter: + case import_typescript22.default.SyntaxKind.NamedTupleMember: + break; + default: + return 5 /* ValueOrNamespace */; + } +} +function getEntityNameParent(name) { + let parent = name.parent; + while (parent.kind === import_typescript22.default.SyntaxKind.QualifiedName) { + parent = parent.parent; + } + return parent; +} + +// src/usage/scopes.ts +var _enumScopes; +var AbstractScope = class { + constructor(global) { + this.global = global; + __privateAdd(this, _enumScopes, void 0); + this.namespaceScopes = void 0; + this.uses = []; + this.variables = /* @__PURE__ */ new Map(); + } + addUse(use) { + this.uses.push(use); + } + // eslint-disable-next-line @typescript-eslint/no-empty-function + addUseToParent(_use) { + } + addVariable(identifier, name, selector, exported, domain) { + const variables = this.getDestinationScope(selector).getVariables(); + const declaration = { + declaration: name, + domain, + exported + }; + const variable = variables.get(identifier); + if (variable === void 0) { + variables.set(identifier, { + declarations: [declaration], + domain, + uses: [] + }); + } else { + variable.domain |= domain; + variable.declarations.push(declaration); + } + } + applyUse(use, variables = this.variables) { + const variable = variables.get(use.location.text); + if (variable === void 0 || (variable.domain & use.domain) === 0) { + return false; + } + variable.uses.push(use); + return true; + } + applyUses() { + for (const use of this.uses) { + if (!this.applyUse(use)) { + this.addUseToParent(use); + } + } + this.uses = []; + } + createOrReuseEnumScope(name, _exported) { + let scope; + if (__privateGet(this, _enumScopes) === void 0) { + __privateSet(this, _enumScopes, /* @__PURE__ */ new Map()); + } else { + scope = __privateGet(this, _enumScopes).get(name); + } + if (scope === void 0) { + scope = new EnumScope(this); + __privateGet(this, _enumScopes).set(name, scope); + } + return scope; + } + // only relevant for the root scope + createOrReuseNamespaceScope(name, _exported, ambient, hasExportStatement) { + let scope; + if (this.namespaceScopes === void 0) { + this.namespaceScopes = /* @__PURE__ */ new Map(); + } else { + scope = this.namespaceScopes.get(name); + } + if (scope === void 0) { + scope = new NamespaceScope(ambient, hasExportStatement, this); + this.namespaceScopes.set(name, scope); + } else { + scope.refresh(ambient, hasExportStatement); + } + return scope; + } + end(cb) { + if (this.namespaceScopes !== void 0) { + this.namespaceScopes.forEach((value) => value.finish(cb)); + } + this.namespaceScopes = __privateSet(this, _enumScopes, void 0); + this.applyUses(); + this.variables.forEach((variable) => { + for (const declaration of variable.declarations) { + const result = { + declarations: [], + domain: declaration.domain, + exported: declaration.exported, + inGlobalScope: this.global, + uses: [] + }; + for (const other of variable.declarations) { + if (other.domain & declaration.domain) { + result.declarations.push(other.declaration); + } + } + for (const use of variable.uses) { + if (use.domain & declaration.domain) { + result.uses.push(use); + } + } + cb(result, declaration.declaration, this); + } + }); + } + getFunctionScope() { + return this; + } + getVariables() { + return this.variables; + } + // eslint-disable-next-line @typescript-eslint/no-empty-function + markExported(_name2) { + } +}; +_enumScopes = new WeakMap(); +var NonRootScope = class extends AbstractScope { + constructor(parent, boundary) { + super(false); + this.parent = parent; + this.boundary = boundary; + } + addUseToParent(use) { + return this.parent.addUse(use, this); + } + getDestinationScope(selector) { + return this.boundary & selector ? this : this.parent.getDestinationScope(selector); + } +}; +var EnumScope = class extends NonRootScope { + constructor(parent) { + super(parent, 1 /* Function */); + } + end() { + this.applyUses(); + } +}; +var _exportAll, _exports, _innerScope; +var RootScope = class extends AbstractScope { + constructor(exportAll, global) { + super(global); + __privateAdd(this, _exportAll, void 0); + __privateAdd(this, _exports, void 0); + __privateAdd(this, _innerScope, new NonRootScope(this, 1 /* Function */)); + __privateSet(this, _exportAll, exportAll); + } + addUse(use, origin) { + if (origin === __privateGet(this, _innerScope)) { + return super.addUse(use); + } + return __privateGet(this, _innerScope).addUse(use); + } + addVariable(identifier, name, selector, exported, domain) { + if (domain & 8 /* Import */) { + return super.addVariable(identifier, name, selector, exported, domain); + } + return __privateGet(this, _innerScope).addVariable( + identifier, + name, + selector, + exported, + domain + ); + } + end(cb) { + __privateGet(this, _innerScope).end((value, key) => { + value.exported ||= __privateGet(this, _exportAll) || __privateGet(this, _exports) !== void 0 && __privateGet(this, _exports).includes(key.text); + value.inGlobalScope = this.global; + return cb(value, key, this); + }); + return super.end((value, key, scope) => { + value.exported ||= scope === this && __privateGet(this, _exports) !== void 0 && __privateGet(this, _exports).includes(key.text); + return cb(value, key, scope); + }); + } + getDestinationScope() { + return this; + } + markExported(id) { + if (__privateGet(this, _exports) === void 0) { + __privateSet(this, _exports, [id.text]); + } else { + __privateGet(this, _exports).push(id.text); + } + } +}; +_exportAll = new WeakMap(); +_exports = new WeakMap(); +_innerScope = new WeakMap(); +var _ambient, _exports2, _hasExport, _innerScope2; +var NamespaceScope = class extends NonRootScope { + constructor(ambient, hasExport, parent) { + super(parent, 1 /* Function */); + __privateAdd(this, _ambient, void 0); + __privateAdd(this, _exports2, void 0); + __privateAdd(this, _hasExport, void 0); + __privateAdd(this, _innerScope2, new NonRootScope(this, 1 /* Function */)); + __privateSet(this, _ambient, ambient); + __privateSet(this, _hasExport, hasExport); + } + addUse(use, source) { + if (source !== __privateGet(this, _innerScope2)) { + return __privateGet(this, _innerScope2).addUse(use); + } + this.uses.push(use); + } + createOrReuseEnumScope(name, exported) { + if (!exported && (!__privateGet(this, _ambient) || __privateGet(this, _hasExport))) { + return __privateGet(this, _innerScope2).createOrReuseEnumScope(name, exported); + } + return super.createOrReuseEnumScope(name, exported); + } + createOrReuseNamespaceScope(name, exported, ambient, hasExportStatement) { + if (!exported && (!__privateGet(this, _ambient) || __privateGet(this, _hasExport))) { + return __privateGet(this, _innerScope2).createOrReuseNamespaceScope( + name, + exported, + ambient || __privateGet(this, _ambient), + hasExportStatement + ); + } + return super.createOrReuseNamespaceScope( + name, + exported, + ambient || __privateGet(this, _ambient), + hasExportStatement + ); + } + end(cb) { + __privateGet(this, _innerScope2).end((variable, key, scope) => { + if (scope !== __privateGet(this, _innerScope2) || !variable.exported && (!__privateGet(this, _ambient) || __privateGet(this, _exports2) !== void 0 && !__privateGet(this, _exports2).has(key.text))) { + return cb(variable, key, scope); + } + const namespaceVar = this.variables.get(key.text); + if (namespaceVar === void 0) { + this.variables.set(key.text, { + declarations: variable.declarations.map(mapDeclaration), + domain: variable.domain, + uses: [...variable.uses] + }); + } else { + outer: + for (const declaration of variable.declarations) { + for (const existing of namespaceVar.declarations) { + if (existing.declaration === declaration) { + continue outer; + } + namespaceVar.declarations.push(mapDeclaration(declaration)); + } + } + namespaceVar.domain |= variable.domain; + for (const use of variable.uses) { + if (namespaceVar.uses.includes(use)) { + continue; + } + namespaceVar.uses.push(use); + } + } + }); + this.applyUses(); + __privateSet(this, _innerScope2, new NonRootScope(this, 1 /* Function */)); + } + finish(cb) { + return super.end(cb); + } + getDestinationScope() { + return __privateGet(this, _innerScope2); + } + markExported(name) { + if (__privateGet(this, _exports2) === void 0) { + __privateSet(this, _exports2, /* @__PURE__ */ new Set()); + } + __privateGet(this, _exports2).add(name.text); + } + refresh(ambient, hasExport) { + __privateSet(this, _ambient, ambient); + __privateSet(this, _hasExport, hasExport); + } +}; +_ambient = new WeakMap(); +_exports2 = new WeakMap(); +_hasExport = new WeakMap(); +_innerScope2 = new WeakMap(); +function mapDeclaration(declaration) { + return { + declaration, + domain: getDeclarationDomain(declaration), + exported: true + }; +} +var FunctionScope = class extends NonRootScope { + constructor(parent) { + super(parent, 1 /* Function */); + } + beginBody() { + this.applyUses(); + } +}; +var _domain, _name; +var AbstractNamedExpressionScope = class extends NonRootScope { + constructor(name, domain, parent) { + super(parent, 1 /* Function */); + __privateAdd(this, _domain, void 0); + __privateAdd(this, _name, void 0); + __privateSet(this, _name, name); + __privateSet(this, _domain, domain); + } + addUse(use, source) { + if (source !== this.innerScope) { + return this.innerScope.addUse(use); + } + if (use.domain & __privateGet(this, _domain) && use.location.text === __privateGet(this, _name).text) { + this.uses.push(use); + } else { + return this.parent.addUse(use, this); + } + } + end(cb) { + this.innerScope.end(cb); + return cb( + { + declarations: [__privateGet(this, _name)], + domain: __privateGet(this, _domain), + exported: false, + inGlobalScope: false, + uses: this.uses + }, + __privateGet(this, _name), + this + ); + } + getDestinationScope() { + return this.innerScope; + } + getFunctionScope() { + return this.innerScope; + } +}; +_domain = new WeakMap(); +_name = new WeakMap(); +var FunctionExpressionScope = class extends AbstractNamedExpressionScope { + constructor(name, parent) { + super(name, 4 /* Value */, parent); + this.innerScope = new FunctionScope(this); + } + beginBody() { + return this.innerScope.beginBody(); + } +}; +var _functionScope; +var BlockScope = class extends NonRootScope { + constructor(functionScope, parent) { + super(parent, 2 /* Block */); + __privateAdd(this, _functionScope, void 0); + __privateSet(this, _functionScope, functionScope); + } + getFunctionScope() { + return __privateGet(this, _functionScope); + } +}; +_functionScope = new WeakMap(); +var ClassExpressionScope = class extends AbstractNamedExpressionScope { + constructor(name, parent) { + super(name, 4 /* Value */ | 2 /* Type */, parent); + this.innerScope = new NonRootScope(this, 1 /* Function */); + } +}; +var _state; +var ConditionalTypeScope = class extends NonRootScope { + constructor(parent) { + super(parent, 8 /* ConditionalType */); + __privateAdd(this, _state, 0 /* Initial */); + } + addUse(use) { + if (__privateGet(this, _state) === 2 /* TrueType */) { + return void this.uses.push(use); + } + return this.parent.addUse(use, this); + } + updateState(newState) { + __privateSet(this, _state, newState); + } +}; +_state = new WeakMap(); + +// src/usage/UsageWalker.ts +var _result, _scope, _handleBindingName, handleBindingName_fn, _handleConditionalType, handleConditionalType_fn, _handleDeclaration, handleDeclaration_fn, _handleFunctionLikeDeclaration, handleFunctionLikeDeclaration_fn, _handleModule, handleModule_fn, _handleVariableDeclaration, handleVariableDeclaration_fn; +var UsageWalker = class { + constructor() { + __privateAdd(this, _handleBindingName); + __privateAdd(this, _handleConditionalType); + __privateAdd(this, _handleDeclaration); + __privateAdd(this, _handleFunctionLikeDeclaration); + __privateAdd(this, _handleModule); + __privateAdd(this, _handleVariableDeclaration); + __privateAdd(this, _result, /* @__PURE__ */ new Map()); + __privateAdd(this, _scope, void 0); + } + getUsage(sourceFile) { + const variableCallback = (variable, key) => { + __privateGet(this, _result).set(key, variable); + }; + const isModule = import_typescript23.default.isExternalModule(sourceFile); + __privateSet(this, _scope, new RootScope( + sourceFile.isDeclarationFile && isModule && !containsExportStatement(sourceFile), + !isModule + )); + const cb = (node) => { + if (isBlockScopeBoundary(node)) { + return continueWithScope( + node, + new BlockScope(__privateGet(this, _scope).getFunctionScope(), __privateGet(this, _scope)), + handleBlockScope + ); + } + switch (node.kind) { + case import_typescript23.default.SyntaxKind.ClassExpression: + return continueWithScope( + node, + node.name !== void 0 ? new ClassExpressionScope( + node.name, + __privateGet(this, _scope) + ) : new NonRootScope(__privateGet(this, _scope), 1 /* Function */) + ); + case import_typescript23.default.SyntaxKind.ClassDeclaration: + __privateMethod(this, _handleDeclaration, handleDeclaration_fn).call(this, node, true, 4 /* Value */ | 2 /* Type */); + return continueWithScope( + node, + new NonRootScope(__privateGet(this, _scope), 1 /* Function */) + ); + case import_typescript23.default.SyntaxKind.InterfaceDeclaration: + case import_typescript23.default.SyntaxKind.TypeAliasDeclaration: + __privateMethod(this, _handleDeclaration, handleDeclaration_fn).call(this, node, true, 2 /* Type */); + return continueWithScope( + node, + new NonRootScope(__privateGet(this, _scope), 4 /* Type */) + ); + case import_typescript23.default.SyntaxKind.EnumDeclaration: + __privateMethod(this, _handleDeclaration, handleDeclaration_fn).call(this, node, true, 7 /* Any */); + return continueWithScope( + node, + __privateGet(this, _scope).createOrReuseEnumScope( + node.name.text, + includesModifier( + node.modifiers, + import_typescript23.default.SyntaxKind.ExportKeyword + ) + ) + ); + case import_typescript23.default.SyntaxKind.ModuleDeclaration: + return __privateMethod(this, _handleModule, handleModule_fn).call(this, node, continueWithScope); + case import_typescript23.default.SyntaxKind.MappedType: + return continueWithScope( + node, + new NonRootScope(__privateGet(this, _scope), 4 /* Type */) + ); + case import_typescript23.default.SyntaxKind.FunctionExpression: + case import_typescript23.default.SyntaxKind.ArrowFunction: + case import_typescript23.default.SyntaxKind.Constructor: + case import_typescript23.default.SyntaxKind.MethodDeclaration: + case import_typescript23.default.SyntaxKind.FunctionDeclaration: + case import_typescript23.default.SyntaxKind.GetAccessor: + case import_typescript23.default.SyntaxKind.SetAccessor: + case import_typescript23.default.SyntaxKind.MethodSignature: + case import_typescript23.default.SyntaxKind.CallSignature: + case import_typescript23.default.SyntaxKind.ConstructSignature: + case import_typescript23.default.SyntaxKind.ConstructorType: + case import_typescript23.default.SyntaxKind.FunctionType: + return __privateMethod(this, _handleFunctionLikeDeclaration, handleFunctionLikeDeclaration_fn).call(this, node, cb, variableCallback); + case import_typescript23.default.SyntaxKind.ConditionalType: + return __privateMethod(this, _handleConditionalType, handleConditionalType_fn).call(this, node, cb, variableCallback); + case import_typescript23.default.SyntaxKind.VariableDeclarationList: + __privateMethod(this, _handleVariableDeclaration, handleVariableDeclaration_fn).call(this, node); + break; + case import_typescript23.default.SyntaxKind.Parameter: + if (node.parent.kind !== import_typescript23.default.SyntaxKind.IndexSignature && (node.name.kind !== import_typescript23.default.SyntaxKind.Identifier || identifierToKeywordKind( + node.name + ) !== import_typescript23.default.SyntaxKind.ThisKeyword)) { + __privateMethod(this, _handleBindingName, handleBindingName_fn).call(this, node.name, false, false); + } + break; + case import_typescript23.default.SyntaxKind.EnumMember: + __privateGet(this, _scope).addVariable( + getPropertyName(node.name), + node.name, + 1 /* Function */, + true, + 4 /* Value */ + ); + break; + case import_typescript23.default.SyntaxKind.ImportClause: + case import_typescript23.default.SyntaxKind.ImportSpecifier: + case import_typescript23.default.SyntaxKind.NamespaceImport: + case import_typescript23.default.SyntaxKind.ImportEqualsDeclaration: + __privateMethod(this, _handleDeclaration, handleDeclaration_fn).call(this, node, false, 7 /* Any */ | 8 /* Import */); + break; + case import_typescript23.default.SyntaxKind.TypeParameter: + __privateGet(this, _scope).addVariable( + node.name.text, + node.name, + node.parent.kind === import_typescript23.default.SyntaxKind.InferType ? 8 /* InferType */ : 7 /* Type */, + false, + 2 /* Type */ + ); + break; + case import_typescript23.default.SyntaxKind.ExportSpecifier: + if (node.propertyName !== void 0) { + return __privateGet(this, _scope).markExported( + node.propertyName, + node.name + ); + } + return __privateGet(this, _scope).markExported(node.name); + case import_typescript23.default.SyntaxKind.ExportAssignment: + if (node.expression.kind === import_typescript23.default.SyntaxKind.Identifier) { + return __privateGet(this, _scope).markExported( + node.expression + ); + } + break; + case import_typescript23.default.SyntaxKind.Identifier: { + const domain = getUsageDomain(node); + if (domain !== void 0) { + __privateGet(this, _scope).addUse({ domain, location: node }); + } + return; + } + } + return import_typescript23.default.forEachChild(node, cb); + }; + const continueWithScope = (node, scope, next = forEachChild) => { + const savedScope = __privateGet(this, _scope); + __privateSet(this, _scope, scope); + next(node); + __privateGet(this, _scope).end(variableCallback); + __privateSet(this, _scope, savedScope); + }; + const handleBlockScope = (node) => { + if (node.kind === import_typescript23.default.SyntaxKind.CatchClause && node.variableDeclaration !== void 0) { + __privateMethod(this, _handleBindingName, handleBindingName_fn).call(this, node.variableDeclaration.name, true, false); + } + return import_typescript23.default.forEachChild(node, cb); + }; + import_typescript23.default.forEachChild(sourceFile, cb); + __privateGet(this, _scope).end(variableCallback); + return __privateGet(this, _result); + function forEachChild(node) { + return import_typescript23.default.forEachChild(node, cb); + } + } +}; +_result = new WeakMap(); +_scope = new WeakMap(); +_handleBindingName = new WeakSet(); +handleBindingName_fn = function(name, blockScoped, exported) { + if (name.kind === import_typescript23.default.SyntaxKind.Identifier) { + return __privateGet(this, _scope).addVariable( + name.text, + name, + blockScoped ? 3 /* Block */ : 1 /* Function */, + exported, + 4 /* Value */ + ); + } + forEachDestructuringIdentifier(name, (declaration) => { + __privateGet(this, _scope).addVariable( + declaration.name.text, + declaration.name, + blockScoped ? 3 /* Block */ : 1 /* Function */, + exported, + 4 /* Value */ + ); + }); +}; +_handleConditionalType = new WeakSet(); +handleConditionalType_fn = function(node, cb, varCb) { + const savedScope = __privateGet(this, _scope); + const scope = __privateSet(this, _scope, new ConditionalTypeScope(savedScope)); + cb(node.checkType); + scope.updateState(1 /* Extends */); + cb(node.extendsType); + scope.updateState(2 /* TrueType */); + cb(node.trueType); + scope.updateState(3 /* FalseType */); + cb(node.falseType); + scope.end(varCb); + __privateSet(this, _scope, savedScope); +}; +_handleDeclaration = new WeakSet(); +handleDeclaration_fn = function(node, blockScoped, domain) { + if (node.name !== void 0) { + __privateGet(this, _scope).addVariable( + node.name.text, + node.name, + blockScoped ? 3 /* Block */ : 1 /* Function */, + includesModifier( + node.modifiers, + import_typescript23.default.SyntaxKind.ExportKeyword + ), + domain + ); + } +}; +_handleFunctionLikeDeclaration = new WeakSet(); +handleFunctionLikeDeclaration_fn = function(node, cb, varCb) { + if (canHaveDecorators(node)) { + getDecorators(node)?.forEach(cb); + } + const savedScope = __privateGet(this, _scope); + if (node.kind === import_typescript23.default.SyntaxKind.FunctionDeclaration) { + __privateMethod(this, _handleDeclaration, handleDeclaration_fn).call(this, node, false, 4 /* Value */); + } + const scope = __privateSet(this, _scope, node.kind === import_typescript23.default.SyntaxKind.FunctionExpression && node.name !== void 0 ? new FunctionExpressionScope(node.name, savedScope) : new FunctionScope(savedScope)); + if (node.name !== void 0) { + cb(node.name); + } + if (node.typeParameters !== void 0) { + node.typeParameters.forEach(cb); + } + node.parameters.forEach(cb); + if (node.type !== void 0) { + cb(node.type); + } + if (node.body !== void 0) { + scope.beginBody(); + cb(node.body); + } + scope.end(varCb); + __privateSet(this, _scope, savedScope); +}; +_handleModule = new WeakSet(); +handleModule_fn = function(node, next) { + if (node.flags & import_typescript23.default.NodeFlags.GlobalAugmentation) { + return next( + node, + __privateGet(this, _scope).createOrReuseNamespaceScope("-global", false, true, false) + ); + } + if (node.name.kind === import_typescript23.default.SyntaxKind.Identifier) { + const exported = isNamespaceExported(node); + __privateGet(this, _scope).addVariable( + node.name.text, + node.name, + 1 /* Function */, + exported, + 1 /* Namespace */ | 4 /* Value */ + ); + const ambient = includesModifier( + node.modifiers, + import_typescript23.default.SyntaxKind.DeclareKeyword + ); + return next( + node, + __privateGet(this, _scope).createOrReuseNamespaceScope( + node.name.text, + exported, + ambient, + ambient && namespaceHasExportStatement(node) + ) + ); + } + return next( + node, + __privateGet(this, _scope).createOrReuseNamespaceScope( + `"${node.name.text}"`, + false, + true, + namespaceHasExportStatement(node) + ) + ); +}; +_handleVariableDeclaration = new WeakSet(); +handleVariableDeclaration_fn = function(declarationList) { + const blockScoped = isBlockScopedVariableDeclarationList(declarationList); + const exported = declarationList.parent.kind === import_typescript23.default.SyntaxKind.VariableStatement && includesModifier( + declarationList.parent.modifiers, + import_typescript23.default.SyntaxKind.ExportKeyword + ); + for (const declaration of declarationList.declarations) { + __privateMethod(this, _handleBindingName, handleBindingName_fn).call(this, declaration.name, blockScoped, exported); + } +}; +function isNamespaceExported(node) { + return node.parent.kind === import_typescript23.default.SyntaxKind.ModuleDeclaration || includesModifier(node.modifiers, import_typescript23.default.SyntaxKind.ExportKeyword); +} +function namespaceHasExportStatement(ns) { + if (ns.body === void 0 || ns.body.kind !== import_typescript23.default.SyntaxKind.ModuleBlock) { + return false; + } + return containsExportStatement(ns.body); +} +function containsExportStatement(block) { + for (const statement of block.statements) { + if (statement.kind === import_typescript23.default.SyntaxKind.ExportDeclaration || statement.kind === import_typescript23.default.SyntaxKind.ExportAssignment) { + return true; + } + } + return false; +} +function isBlockScopedVariableDeclarationList(declarationList) { + return (declarationList.flags & import_typescript23.default.NodeFlags.BlockScoped) !== 0; +} +function forEachDestructuringIdentifier(pattern, fn) { + for (const element of pattern.elements) { + if (element.kind !== import_typescript23.default.SyntaxKind.BindingElement) { + continue; + } + let result; + if (element.name.kind === import_typescript23.default.SyntaxKind.Identifier) { + result = fn(element); + } else { + result = forEachDestructuringIdentifier(element.name, fn); + } + if (result) { + return result; + } + } +} + +// src/usage/collectVariableUsage.ts +function collectVariableUsage(sourceFile) { + return new UsageWalker().getUsage(sourceFile); +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + DeclarationDomain, + UsageDomain, + collectVariableUsage, + forEachComment, + forEachToken, + getCallSignaturesOfType, + getPropertyOfType, + getWellKnownSymbolPropertyOfType, + hasDecorators, + hasExpressionInitializer, + hasInitializer, + hasJSDoc, + hasModifiers, + hasType, + hasTypeArguments, + includesModifier, + intersectionTypeParts, + isAbstractKeyword, + isAccessExpression, + isAccessibilityModifier, + isAccessorDeclaration, + isAccessorKeyword, + isAnyKeyword, + isArrayBindingElement, + isArrayBindingOrAssignmentPattern, + isAssertKeyword, + isAssertsKeyword, + isAssignmentKind, + isAssignmentPattern, + isAsyncKeyword, + isAwaitKeyword, + isBigIntKeyword, + isBigIntLiteralType, + isBindingOrAssignmentElementRestIndicator, + isBindingOrAssignmentElementTarget, + isBindingOrAssignmentPattern, + isBindingPattern, + isBlockLike, + isBooleanKeyword, + isBooleanLiteral, + isBooleanLiteralType, + isClassLikeDeclaration, + isClassMemberModifier, + isColonToken, + isCompilerOptionEnabled, + isConditionalType, + isConstAssertionExpression, + isConstKeyword, + isDeclarationName, + isDeclarationWithTypeParameterChildren, + isDeclarationWithTypeParameters, + isDeclareKeyword, + isDefaultKeyword, + isDestructuringPattern, + isDotToken, + isEndOfFileToken, + isEntityNameExpression, + isEntityNameOrEntityNameExpression, + isEnumType, + isEqualsGreaterThanToken, + isEqualsToken, + isEvolvingArrayType, + isExclamationToken, + isExportKeyword, + isFalseKeyword, + isFalseLiteral, + isFalseLiteralType, + isFalsyType, + isForInOrOfStatement, + isFreshableIntrinsicType, + isFreshableType, + isFunctionLikeDeclaration, + isFunctionScopeBoundary, + isImportExpression, + isImportKeyword, + isInKeyword, + isIndexType, + isIndexedAccessType, + isInputFiles, + isInstantiableType, + isIntersectionType, + isIntrinsicAnyType, + isIntrinsicBigIntType, + isIntrinsicBooleanType, + isIntrinsicESSymbolType, + isIntrinsicErrorType, + isIntrinsicNeverType, + isIntrinsicNonPrimitiveType, + isIntrinsicNullType, + isIntrinsicNumberType, + isIntrinsicStringType, + isIntrinsicType, + isIntrinsicUndefinedType, + isIntrinsicUnknownType, + isIntrinsicVoidType, + isIterationStatement, + isJSDocComment, + isJSDocNamespaceBody, + isJSDocNamespaceDeclaration, + isJSDocText, + isJSDocTypeReferencingNode, + isJsonMinusNumericLiteral, + isJsonObjectExpression, + isJsxAttributeLike, + isJsxAttributeValue, + isJsxChild, + isJsxTagNameExpression, + isJsxTagNamePropertyAccess, + isLiteralToken, + isLiteralType, + isModifierFlagSet, + isModuleBody, + isModuleName, + isModuleReference, + isNamedDeclarationWithName, + isNamedImportBindings, + isNamedImportsOrExports, + isNamespaceBody, + isNamespaceDeclaration, + isNeverKeyword, + isNodeFlagSet, + isNullKeyword, + isNullLiteral, + isNumberKeyword, + isNumberLiteralType, + isNumericOrStringLikeLiteral, + isNumericPropertyName, + isObjectBindingOrAssignmentElement, + isObjectBindingOrAssignmentPattern, + isObjectFlagSet, + isObjectKeyword, + isObjectType, + isObjectTypeDeclaration, + isOutKeyword, + isOverrideKeyword, + isParameterPropertyModifier, + isPrivateKeyword, + isPropertyAccessEntityNameExpression, + isPropertyNameLiteral, + isPropertyReadonlyInType, + isProtectedKeyword, + isPseudoLiteralToken, + isPublicKeyword, + isQuestionDotToken, + isQuestionToken, + isReadonlyKeyword, + isSignatureDeclaration, + isStaticKeyword, + isStrictCompilerOptionEnabled, + isStringKeyword, + isStringLiteralType, + isStringMappingType, + isSubstitutionType, + isSuperElementAccessExpression, + isSuperExpression, + isSuperKeyword, + isSuperProperty, + isSuperPropertyAccessExpression, + isSymbolFlagSet, + isSymbolKeyword, + isSyntaxList, + isTemplateLiteralType, + isThenableType, + isThisExpression, + isThisKeyword, + isTrueKeyword, + isTrueLiteral, + isTrueLiteralType, + isTupleType, + isTupleTypeReference, + isTypeFlagSet, + isTypeOnlyCompatibleAliasDeclaration, + isTypeParameter, + isTypeReference, + isTypeReferenceType, + isTypeVariable, + isUndefinedKeyword, + isUnionOrIntersectionType, + isUnionOrIntersectionTypeNode, + isUnionType, + isUniqueESSymbolType, + isUnknownKeyword, + isUnknownLiteralType, + isUnparsedPrologue, + isUnparsedSourceText, + isUnparsedSyntheticReference, + isValidPropertyAccess, + isVariableLikeDeclaration, + isVoidKeyword, + symbolHasReadonlyDeclaration, + typeParts, + unionTypeParts +}); +//# sourceMappingURL=index.cjs.map \ No newline at end of file diff --git a/.pnpm-store/v3/files/c3/20b490df0fe10b6870028ba899e425f9c6ef6e2f356bf8065cd34e2398f334762e39cc639352690e7bf983bdcce30e67fbc503f77e9671551b2017548a70fc b/.pnpm-store/v3/files/c3/20b490df0fe10b6870028ba899e425f9c6ef6e2f356bf8065cd34e2398f334762e39cc639352690e7bf983bdcce30e67fbc503f77e9671551b2017548a70fc new file mode 100644 index 00000000..a4641952 --- /dev/null +++ b/.pnpm-store/v3/files/c3/20b490df0fe10b6870028ba899e425f9c6ef6e2f356bf8065cd34e2398f334762e39cc639352690e7bf983bdcce30e67fbc503f77e9671551b2017548a70fc @@ -0,0 +1,154 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.17](https://github.com/es-shims/iterator-helpers/compare/v1.0.16...v1.0.17) - 2024-02-13 + +### Fixed + +- [Fix] avoid use of internal `assertRecord` helper from `es-abstract` [`#5`](https://github.com/es-shims/iterator-helpers/issues/5) + +### Commits + +- [Deps] update `call-bind`, `es-abstract`, `has-property-descriptors` [`e563ee7`](https://github.com/es-shims/iterator-helpers/commit/e563ee7230897c41f7f3623a11fc0ecc6862ee1c) + +## [v1.0.16](https://github.com/es-shims/iterator-helpers/compare/v1.0.15...v1.0.16) - 2024-02-09 + +### Commits + +- [Refactor] use `IteratorStepValue` [`aa62d72`](https://github.com/es-shims/iterator-helpers/commit/aa62d72c52d86218942b4792c7131f72d939b733) +- [Refactor] use `es-errors` instead of `get-intrinsic` where possible [`05a25ae`](https://github.com/es-shims/iterator-helpers/commit/05a25aeccd0523df86b401c771d88fbea06558c9) +- [Deps] update `call-bind`, `es-abstract`, `es-set-tostringtag`, `function-bind`, `get-intrinsic`, `has-property-descriptors`, `internal-slot`, `safe-array-concat` [`6aeee43`](https://github.com/es-shims/iterator-helpers/commit/6aeee435ed5956b7c5ee66a51b86c26827874eae) +- [Dev Deps] update `aud`, `eslint-plugin-import`, `mock-property`, `npmignore`, `object-inspect`, `tape` [`0a21fdb`](https://github.com/es-shims/iterator-helpers/commit/0a21fdb4a59d25c248561b7f476fc9670b411855) +- [Deps] update `call-bind`, `es-errors`, `get-intrinsic`, `internal-slot` [`5b10625`](https://github.com/es-shims/iterator-helpers/commit/5b106251dad4252a744b2e0aa0d1be4c1c62b779) +- [meta] add missing `engines.node` [`1534039`](https://github.com/es-shims/iterator-helpers/commit/1534039eca062429c0df68dcc3459ce9ba7c69be) +- [Deps] update `get-intrinsic` [`37da5f2`](https://github.com/es-shims/iterator-helpers/commit/37da5f201940c78526de647ef9ba84d9152349c1) +- [Dev Deps] update `has-tostringtag` [`a7cac51`](https://github.com/es-shims/iterator-helpers/commit/a7cac51cc027e6274918cb1ea0cf1fa1a194fcd9) + +## [v1.0.15](https://github.com/es-shims/iterator-helpers/compare/v1.0.14...v1.0.15) - 2023-09-13 + +### Commits + +- [New] add `Iterator.prototype` shim [`c4a6203`](https://github.com/es-shims/iterator-helpers/commit/c4a6203a0ac87bf0a33835e775c207ff1911225d) +- [Tests] add passing tests for native generators [`57bae8c`](https://github.com/es-shims/iterator-helpers/commit/57bae8ccbeb27ed0e6c449f35cddbda6cf6757e8) +- [Deps] update `define-properties`, `iterator.prototype`, `safe-array-concat` [`56ca087`](https://github.com/es-shims/iterator-helpers/commit/56ca087f924dbefee47f0a1cb3b8468de76cd234) + +## [v1.0.14](https://github.com/es-shims/iterator-helpers/compare/v1.0.13...v1.0.14) - 2023-08-26 + +### Commits + +- [Deps] update `es-abstract` [`477b123`](https://github.com/es-shims/iterator-helpers/commit/477b1233acd36fdbbccd79fbb69cde325bc3e6a9) +- [Dev Deps] update `aud`, `eslint-plugin-import`, `tape` [`e4ea414`](https://github.com/es-shims/iterator-helpers/commit/e4ea4146feffb72fd828e5d883e960e0ad589a35) + +## [v1.0.13](https://github.com/es-shims/iterator-helpers/compare/v1.0.12...v1.0.13) - 2023-08-16 + +### Fixed + +- [Deps] add missing deps; add eslint-plugin-import [`#3`](https://github.com/es-shims/iterator-helpers/issues/3) + +## [v1.0.12](https://github.com/es-shims/iterator-helpers/compare/v1.0.11...v1.0.12) - 2023-07-14 + +### Commits + +- [Fix] avoid creating string wrapper objects with sloppy mode flatMap mappers [`db16b34`](https://github.com/es-shims/iterator-helpers/commit/db16b34aec554934ec2bfd62629fb66cebc311f8) +- [Deps] update `es-abstract` [`f002147`](https://github.com/es-shims/iterator-helpers/commit/f002147f0afbb2cd7c2d2e1207685f52e33abf0f) +- [Dev Deps] update `@ljharb/eslint-config`, `aud [`42064e8`](https://github.com/es-shims/iterator-helpers/commit/42064e80e0cc37f5e4676c2133dacae7456e313f) +- [meta] fix tidelift funding identifier [`896fd4f`](https://github.com/es-shims/iterator-helpers/commit/896fd4f2e4b419945bfbd85024a2c96248323151) + +## [v1.0.11](https://github.com/es-shims/iterator-helpers/compare/v1.0.10...v1.0.11) - 2023-05-22 + +### Commits + +- [Fix] iterator helpers are not a constructor [`8a7f999`](https://github.com/es-shims/iterator-helpers/commit/8a7f9996ba3600ef30f3a9c75f9f994e88d075c6) + +## [v1.0.10](https://github.com/es-shims/iterator-helpers/compare/v1.0.9...v1.0.10) - 2023-05-18 + +### Commits + +- [patch] remove IsCallable check on NextMethod, deferring errors to callsite [`bbb7efa`](https://github.com/es-shims/iterator-helpers/commit/bbb7efac8349273fe17c86194ef13af45bcb8e24) +- [patch] change Symbol.iterator fallback from callable check to nullish check [`ec3e255`](https://github.com/es-shims/iterator-helpers/commit/ec3e255dfe30ea6650d8a697e6c4f16fa393e923) +- [Tests] add test cases [`5117c47`](https://github.com/es-shims/iterator-helpers/commit/5117c477348407ebdfc9410dd437a68634c39a8e) +- [Dev Deps] update `@es-shims/api` [`9fa13a0`](https://github.com/es-shims/iterator-helpers/commit/9fa13a0739f353536de58b2b648aa9eacfa49479) +- [Dev Deps] update `@es-shims/api` [`b74b0ac`](https://github.com/es-shims/iterator-helpers/commit/b74b0ac2bd7e920f760bae7ba7c6c5310f5123d8) + +## [v1.0.9](https://github.com/es-shims/iterator-helpers/compare/v1.0.8...v1.0.9) - 2023-05-02 + +### Commits + +- [Refactor] use 2022 AO instead of 2015 AO [`75ee5c4`](https://github.com/es-shims/iterator-helpers/commit/75ee5c4dea0037f02a61c240114bb6bd8c8b48f1) + +## [v1.0.8](https://github.com/es-shims/iterator-helpers/compare/v1.0.7...v1.0.8) - 2023-05-02 + +### Commits + +- [Fix] `flatMap`: close the inner iterator when applicable [`4dc94e0`](https://github.com/es-shims/iterator-helpers/commit/4dc94e0117e34b4c99f9ed96c4fe306896c47da1) + +## [v1.0.7](https://github.com/es-shims/iterator-helpers/compare/v1.0.6...v1.0.7) - 2023-05-01 + +### Commits + +- [Fix] `flatMap`: properly handle yielded iterables [`3a78767`](https://github.com/es-shims/iterator-helpers/commit/3a78767e86394d45b212a225e4253745f8b1dc8d) +- [Fix] `flatMap`: only increment the count when iterating the outer iterator [`955d0b0`](https://github.com/es-shims/iterator-helpers/commit/955d0b00f5660db0d9febef2a16426dfc32e8be4) + +## [v1.0.6](https://github.com/es-shims/iterator-helpers/compare/v1.0.5...v1.0.6) - 2023-04-20 + +### Commits + +- [Refactor] `GetIteratorFlattenable`: remove hint [`781fc7c`](https://github.com/es-shims/iterator-helpers/commit/781fc7c28615aaaef139cbcd9e6ade513419bea1) +- [Refactor] `GetIteratorFlattenable`: use `GetIteratorDirect` [`026118b`](https://github.com/es-shims/iterator-helpers/commit/026118b8c884adaee5ab0eb12de838ef9abdbb6f) +- [Refactor] use `safe-array-concat` [`1d985a4`](https://github.com/es-shims/iterator-helpers/commit/1d985a449be212523f05ba4a359a162931ddf3d3) + +## [v1.0.5](https://github.com/es-shims/iterator-helpers/compare/v1.0.4...v1.0.5) - 2023-03-22 + +### Commits + +- [Tests] add passing tests for 4240029 [`c2082fe`](https://github.com/es-shims/iterator-helpers/commit/c2082fee3e73dc1998a67fbe0014e3ebdceb8ec0) +- [Fix] properly allow subclasses of Iterator to be constructed [`5cebe2a`](https://github.com/es-shims/iterator-helpers/commit/5cebe2a5767393696d0ce4e9325edf78c300f938) + +## [v1.0.4](https://github.com/es-shims/iterator-helpers/compare/v1.0.3...v1.0.4) - 2023-03-21 + +### Commits + +- [Fix] validate arguments first [`4240029`](https://github.com/es-shims/iterator-helpers/commit/42400297454909ddccc899a012dc55bbd403eb8b) +- [Fix] close underlying iterator when helper is closed [`f5372c7`](https://github.com/es-shims/iterator-helpers/commit/f5372c78cafff64bfda5849386538f806916049a) +- [Tests] `Iterator`: remove an unnecessary call-bind [`7d0ba59`](https://github.com/es-shims/iterator-helpers/commit/7d0ba59f672e690b189f91e0348f6b5e00f934e1) + +## [v1.0.3](https://github.com/es-shims/iterator-helpers/compare/v1.0.2...v1.0.3) - 2023-03-17 + +### Commits + +- [Fix] `drop`/`filter`/`flatMap`/`map`/`take`: properly IfAbruptCloseIterator [`ff643a0`](https://github.com/es-shims/iterator-helpers/commit/ff643a0b7c4e5c2b00e794ba9b988b47e783f235) +- [Refactor] use `NormalCompletion`/`ThrowCompletion` instead of thunks [`68fd937`](https://github.com/es-shims/iterator-helpers/commit/68fd937b53c107481a9f868bda5b2bd5cbc00142) +- [Fix] `filter`: IteratorClose needs to rethrow the error [`200474f`](https://github.com/es-shims/iterator-helpers/commit/200474ff289dea77c696c0c025f4602405cf3fff) +- [Fix] `filter`: properly increment the counter [`14aa2d8`](https://github.com/es-shims/iterator-helpers/commit/14aa2d8b75fd16378c2be183fd5b008712547ed4) +- [Fix] `Iterator` can not be `new`ed or invoked directly [`6fbd68e`](https://github.com/es-shims/iterator-helpers/commit/6fbd68e778dd455c4aa63f4e1f39e0b583610509) +- [Fix] `Iterator.prototype` should be non-writable [`1080288`](https://github.com/es-shims/iterator-helpers/commit/108028858067e40ea56dca9a68dd6cea4966e904) +- [Deps] update `es-abstract` [`b7913da`](https://github.com/es-shims/iterator-helpers/commit/b7913da9cddef1ec40b4827821c6069019b79093) +- [Dev Deps] update `@es-shims/api` [`0071bed`](https://github.com/es-shims/iterator-helpers/commit/0071bed9e13231317d2cdb9ae0ecb6603784ad1f) + +## [v1.0.2](https://github.com/es-shims/iterator-helpers/compare/v1.0.1...v1.0.2) - 2023-02-09 + +### Commits + +- [Refactor] inline 2023 impls of Iterator AOs until es-abstract is published with them [`b9c80c5`](https://github.com/es-shims/iterator-helpers/commit/b9c80c5aba0deaaabef7e650fe7ec231fdc695e3) +- [Fix] ensure calling `.return` does not invoke the next iteration [`9e28ed5`](https://github.com/es-shims/iterator-helpers/commit/9e28ed5af44a660a0d2e80684cb9a4bf3d86e09a) +- [Fix] `map`: pass the proper index argument to the mapper [`125e3ca`](https://github.com/es-shims/iterator-helpers/commit/125e3cac192ef650a88f774a5a2dd9afe395a5b8) +- [Deps] update `internal-slot` [`43351b6`](https://github.com/es-shims/iterator-helpers/commit/43351b63545e3698f54daf5dc0652a7b2fb7cb28) + +## [v1.0.1](https://github.com/es-shims/iterator-helpers/compare/v1.0.0...v1.0.1) - 2023-02-07 + +### Commits + +- [Fix] `Iterator`: throw when Iterator() is called without new [`a6fc7e7`](https://github.com/es-shims/iterator-helpers/commit/a6fc7e768cbf4d43117365ec2f1bd300247d8dfd) + +## v1.0.0 - 2023-02-05 + +### Commits + +- Initial implementation, tests, readme [`650713e`](https://github.com/es-shims/iterator-helpers/commit/650713eecc9d4dab28d5ba3dc5afcbdb8ff99b5a) +- Initial commit [`2379dfd`](https://github.com/es-shims/iterator-helpers/commit/2379dfdad70f64efb31e342a4a7779b1140b2481) +- npm init [`f77411a`](https://github.com/es-shims/iterator-helpers/commit/f77411a443f1a103dbb92a69210228d4fc1e6d04) +- Only apps should have lockfiles [`313dcf5`](https://github.com/es-shims/iterator-helpers/commit/313dcf5211e99569ad275885728b5ac7af30f4ec) diff --git a/.pnpm-store/v3/files/c3/24dbfbce31cc2380d0f5439bb82aa1bbdde2950fd2b6fc4b183d0fbb09e238cce0e2a875e8add07c413d1b763038b934fa4d4bc0a48ceb10cd9c3f94fcefd3 b/.pnpm-store/v3/files/c3/24dbfbce31cc2380d0f5439bb82aa1bbdde2950fd2b6fc4b183d0fbb09e238cce0e2a875e8add07c413d1b763038b934fa4d4bc0a48ceb10cd9c3f94fcefd3 new file mode 100644 index 00000000..10b8f170 --- /dev/null +++ b/.pnpm-store/v3/files/c3/24dbfbce31cc2380d0f5439bb82aa1bbdde2950fd2b6fc4b183d0fbb09e238cce0e2a875e8add07c413d1b763038b934fa4d4bc0a48ceb10cd9c3f94fcefd3 @@ -0,0 +1 @@ +module.exports={A:{A:{"132":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","132":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","33":"N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","132":"9 TC 7B I J D E F VC WC","292":"A B C K L G M"},D:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","132":"9 I J D E F A B C K L G M","548":"N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"132":"9 I J D E XC DC YC ZC aC","548":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"132":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"132":"E DC nC RC oC pC qC rC","548":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"16":"9C"},I:{"1":"H","16":"7B I AD BD CD DD RC ED FD"},J:{"16":"D A"},K:{"1":"u","16":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"132":"A B"},O:{"1":"4B"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","16":"I"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","33":"TD"}},B:4,C:"CSS unicode-bidi property",D:false}; diff --git a/.pnpm-store/v3/files/c3/e70b4ac5e5d1262bc41e14c5598158b6dff85345f171d0b15fcb69cbe01d71abb862ce15b832e9ba8335f066486a44886e26141794733f15373efea64ff2ed b/.pnpm-store/v3/files/c3/e70b4ac5e5d1262bc41e14c5598158b6dff85345f171d0b15fcb69cbe01d71abb862ce15b832e9ba8335f066486a44886e26141794733f15373efea64ff2ed new file mode 100644 index 00000000..f6ae9650 --- /dev/null +++ b/.pnpm-store/v3/files/c3/e70b4ac5e5d1262bc41e14c5598158b6dff85345f171d0b15fcb69cbe01d71abb862ce15b832e9ba8335f066486a44886e26141794733f15373efea64ff2ed @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F A SC"},B:{"1":"C K L G M N O","2":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"1":"B","2":"A"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:7,C:"Resource Hints: Lazyload",D:true}; diff --git a/.pnpm-store/v3/files/c3/f686e5b300ef376fc7ce5ce4616f5c26fb64fe940328850d072b27de9edab64fd8d89dac0f4104dfbc435420b32728db4374135c5c4830efc906b298861081 b/.pnpm-store/v3/files/c3/f686e5b300ef376fc7ce5ce4616f5c26fb64fe940328850d072b27de9edab64fd8d89dac0f4104dfbc435420b32728db4374135c5c4830efc906b298861081 new file mode 100644 index 00000000..7a0cf8ab --- /dev/null +++ b/.pnpm-store/v3/files/c3/f686e5b300ef376fc7ce5ce4616f5c26fb64fe940328850d072b27de9edab64fd8d89dac0f4104dfbc435420b32728db4374135c5c4830efc906b298861081 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O P Q R"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t ND OD PD 5B 6B QD RD","2":"I GD HD ID JD KD EC LD MD"},Q:{"2":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"Trusted Types for DOM manipulation",D:true}; diff --git a/.pnpm-store/v3/files/c4/281f8b31fb9979bef3463673b396ff6e572bff33925007733769ce7918437810d0cab993964cdb6a91b014bc349b2d2e9ac1758f4c015d2ef06a6670762d3a b/.pnpm-store/v3/files/c4/281f8b31fb9979bef3463673b396ff6e572bff33925007733769ce7918437810d0cab993964cdb6a91b014bc349b2d2e9ac1758f4c015d2ef06a6670762d3a new file mode 100644 index 00000000..c2d5b85e --- /dev/null +++ b/.pnpm-store/v3/files/c4/281f8b31fb9979bef3463673b396ff6e572bff33925007733769ce7918437810d0cab993964cdb6a91b014bc349b2d2e9ac1758f4c015d2ef06a6670762d3a @@ -0,0 +1 @@ +module.exports={C:{"56":0.01953,"115":0.05468,"121":0.11327,"122":0.03515,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 123 124 125 3.5 3.6"},D:{"11":0.00391,"33":0.01172,"43":0.00391,"64":0.00391,"66":0.00781,"68":0.00391,"74":0.01562,"79":0.00391,"84":0.00391,"87":0.00781,"88":0.00781,"90":0.00391,"93":0.00391,"94":0.00781,"99":0.00391,"103":0.02344,"107":0.00391,"109":7.06986,"111":0.21874,"114":0.00391,"115":0.00781,"116":0.00781,"117":0.02344,"118":0.00781,"119":0.28904,"120":14.01082,"121":1.61318,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 65 67 69 70 71 72 73 75 76 77 78 80 81 83 85 86 89 91 92 95 96 97 98 100 101 102 104 105 106 108 110 112 113 122 123 124"},F:{"36":0.00391,"104":0.05468,"105":0.04297,"106":0.33592,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00391,"15":0.00391,"18":0.01172,"92":0.02344,"108":0.00391,"109":0.07812,"114":0.00391,"115":0.00781,"117":0.01172,"118":0.01562,"119":0.33201,"120":4.80047,"121":0.76558,_:"13 14 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110 111 112 113 116"},E:{"15":0.00391,_:"0 4 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.3 16.4 16.5 16.6 17.0 17.1 17.3 17.4","15.6":0.01562,"16.2":0.00391,"17.2":0.00391},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00132,"5.0-5.1":0.00199,"6.0-6.1":0.00331,"7.0-7.1":0.00463,"8.1-8.4":0.00066,"9.0-9.2":0.00397,"9.3":0.01522,"10.0-10.2":0.00132,"10.3":0.02382,"11.0-11.2":0.00926,"11.3-11.4":0.00993,"12.0-12.1":0.00596,"12.2-12.5":0.11778,"13.0-13.1":0.00199,"13.2":0.02184,"13.3":0.00596,"13.4-13.7":0.02647,"14.0-14.4":0.04632,"14.5-14.8":0.0708,"15.0-15.1":0.03044,"15.2-15.3":0.03507,"15.4":0.04103,"15.5":0.05426,"15.6-15.8":0.42283,"16.0":0.12705,"16.1":0.27064,"16.2":0.12308,"16.3":0.22895,"16.4":0.05095,"16.5":0.10852,"16.6-16.7":0.888,"17.0":0.14756,"17.1":1.52125,"17.2":2.05921,"17.3":0.13234},P:{"4":0.64198,"20":0.01052,"21":0.02105,"22":0.0421,"23":0.28416,"5.0-5.4":0.01052,_:"6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 17.0","7.2-7.4":0.02105,"13.0":0.01052,"15.0":0.0421,"16.0":0.01052,"18.0":0.01052,"19.0":0.05262},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.2773,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.96269,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.01828},H:{"0":0.07},L:{"0":60.64931},R:{_:"0"},M:{_:"0"}}; diff --git a/.pnpm-store/v3/files/c4/44cc2575aa6f1273999360158cd2b5bc2341c93c32ca47d96723d32604c9a6730b2da19e958bcadee39846c7dc8acd0685c54e112ed532a789b45188e3170c b/.pnpm-store/v3/files/c4/44cc2575aa6f1273999360158cd2b5bc2341c93c32ca47d96723d32604c9a6730b2da19e958bcadee39846c7dc8acd0685c54e112ed532a789b45188e3170c new file mode 100644 index 00000000..441f6ea3 --- /dev/null +++ b/.pnpm-store/v3/files/c4/44cc2575aa6f1273999360158cd2b5bc2341c93c32ca47d96723d32604c9a6730b2da19e958bcadee39846c7dc8acd0685c54e112ed532a789b45188e3170c @@ -0,0 +1,39 @@ +{ + "name": "spdx-license-ids", + "version": "3.0.17", + "description": "A list of SPDX license identifiers", + "repository": "jslicense/spdx-license-ids", + "author": "Shinnosuke Watanabe (https://github.com/shinnn)", + "license": "CC0-1.0", + "scripts": { + "build": "node build.js", + "pretest": "eslint .", + "latest": "node latest.js", + "test": "node test.js" + }, + "files": [ + "deprecated.json", + "index.json" + ], + "keywords": [ + "spdx", + "license", + "licenses", + "id", + "identifier", + "identifiers", + "json", + "array", + "oss" + ], + "devDependencies": { + "@shinnn/eslint-config": "^7.0.0", + "eslint": "^8.49.0", + "eslint-formatter-codeframe": "^7.32.1", + "rmfr": "^2.0.0", + "tape": "^5.6.6" + }, + "eslintConfig": { + "extends": "@shinnn" + } +} diff --git a/.pnpm-store/v3/files/c4/816faec620aba50df9ce70cde0f0e9ce856c82fe70ecc8e9289effb13014ec18fff5d6ea715c75a0e2ef39f3a6a617f3b8c8d077acb60a56ed540e3d69993f b/.pnpm-store/v3/files/c4/816faec620aba50df9ce70cde0f0e9ce856c82fe70ecc8e9289effb13014ec18fff5d6ea715c75a0e2ef39f3a6a617f3b8c8d077acb60a56ed540e3d69993f new file mode 100644 index 00000000..e533fa87 --- /dev/null +++ b/.pnpm-store/v3/files/c4/816faec620aba50df9ce70cde0f0e9ce856c82fe70ecc8e9289effb13014ec18fff5d6ea715c75a0e2ef39f3a6a617f3b8c8d077acb60a56ed540e3d69993f @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC WC","2":"TC 7B VC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"I"},E:{"1":"J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 2B QC mC 3B","2":"F B iC jC kC lC"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B AD BD CD DD RC","130":"I"},J:{"1":"D A"},K:{"1":"B C u 2B QC 3B","2":"A"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:2,C:"WOFF - Web Open Font Format",D:true}; diff --git a/.pnpm-store/v3/files/c4/98ed1bf9af3db48b9e566f0db650afa87d4e2aef8a4def33206d5d2161574058352d51d32318a5232c60023d8e4825f118f5387f33340ff6239aca34f73730 b/.pnpm-store/v3/files/c4/98ed1bf9af3db48b9e566f0db650afa87d4e2aef8a4def33206d5d2161574058352d51d32318a5232c60023d8e4825f118f5387f33340ff6239aca34f73730 new file mode 100644 index 00000000..4ec3ece5 --- /dev/null +++ b/.pnpm-store/v3/files/c4/98ed1bf9af3db48b9e566f0db650afa87d4e2aef8a4def33206d5d2161574058352d51d32318a5232c60023d8e4825f118f5387f33340ff6239aca34f73730 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"I"},E:{"1":"9 J D E F A B C K L G YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"I XC DC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","2":"F"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H DD RC ED FD","2":"AD BD CD"},J:{"1":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:1,C:"Autofocus attribute",D:true}; diff --git a/.pnpm-store/v3/files/c4/ed6d522c3412ca4c100064e9fef549b1c7a86b4127cd2fb98468b4d505f6c79bc0b9bb539ca375f354fc75ebbe200d5f813845a36f54f5986e3e63ea97ea3a b/.pnpm-store/v3/files/c4/ed6d522c3412ca4c100064e9fef549b1c7a86b4127cd2fb98468b4d505f6c79bc0b9bb539ca375f354fc75ebbe200d5f813845a36f54f5986e3e63ea97ea3a new file mode 100644 index 00000000..e8f8b3d9 --- /dev/null +++ b/.pnpm-store/v3/files/c4/ed6d522c3412ca4c100064e9fef549b1c7a86b4127cd2fb98468b4d505f6c79bc0b9bb539ca375f354fc75ebbe200d5f813845a36f54f5986e3e63ea97ea3a @@ -0,0 +1,70 @@ +{ + "name": "chokidar", + "description": "Minimal and efficient cross-platform file watching library", + "version": "3.6.0", + "homepage": "https://github.com/paulmillr/chokidar", + "author": "Paul Miller (https://paulmillr.com)", + "contributors": [ + "Paul Miller (https://paulmillr.com)", + "Elan Shanker" + ], + "engines": { + "node": ">= 8.10.0" + }, + "main": "index.js", + "types": "./types/index.d.ts", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "devDependencies": { + "@types/node": "^14", + "chai": "^4.3", + "dtslint": "^3.3.0", + "eslint": "^7.0.0", + "mocha": "^7.0.0", + "rimraf": "^3.0.0", + "sinon": "^9.0.1", + "sinon-chai": "^3.3.0", + "typescript": "^4.4.3", + "upath": "^1.2.0" + }, + "files": [ + "index.js", + "lib/*.js", + "types/index.d.ts" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/paulmillr/chokidar.git" + }, + "bugs": { + "url": "https://github.com/paulmillr/chokidar/issues" + }, + "license": "MIT", + "scripts": { + "dtslint": "dtslint types", + "lint": "eslint --report-unused-disable-directives --ignore-path .gitignore .", + "build": "npm ls", + "mocha": "mocha --exit --timeout 90000", + "test": "npm run lint && npm run mocha" + }, + "keywords": [ + "fs", + "watch", + "watchFile", + "watcher", + "watching", + "file", + "fsevents" + ], + "funding": "https://paulmillr.com/funding/" +} diff --git a/.pnpm-store/v3/files/c5/013f1b30089d6ff4f6dab2064492d67af16a9b485cf7af8e948be0e597a5e42eff2a172a520e9c66f60bfce5178e1f9b64f12cfbc90d3e29b552f1e82f2b9b b/.pnpm-store/v3/files/c5/013f1b30089d6ff4f6dab2064492d67af16a9b485cf7af8e948be0e597a5e42eff2a172a520e9c66f60bfce5178e1f9b64f12cfbc90d3e29b552f1e82f2b9b new file mode 100644 index 00000000..4ecd0635 --- /dev/null +++ b/.pnpm-store/v3/files/c5/013f1b30089d6ff4f6dab2064492d67af16a9b485cf7af8e948be0e597a5e42eff2a172a520e9c66f60bfce5178e1f9b64f12cfbc90d3e29b552f1e82f2b9b @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"8 H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n","194":"0 1 2 3 4 5 6 7 o p v w x y z"},C:{"1":"0 1 2 3 4 5 6 7 8 aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M VC WC","33":"N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},D:{"1":"8 H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z","194":"0 1 2 3 4 5 6 7 a b c d e f g h i j k l m n o p v w x y z"},E:{"1":"LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC"},F:{"1":"p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z iC jC kC lC 2B QC mC 3B","194":"a b c d e f g h i j k l m n o"},G:{"1":"LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"1":"UD","33":"TD"}},B:5,C:":dir() CSS pseudo-class",D:true}; diff --git a/.pnpm-store/v3/files/c5/506296313887bf818eb68d7542225cca8334d807b6c276ff664144be6450ef20d8c2f088fe11196eba62453491164228d7b45e8ecfe9fa8a9219d1bc82e35b b/.pnpm-store/v3/files/c5/506296313887bf818eb68d7542225cca8334d807b6c276ff664144be6450ef20d8c2f088fe11196eba62453491164228d7b45e8ecfe9fa8a9219d1bc82e35b new file mode 100644 index 00000000..d8c250e6 --- /dev/null +++ b/.pnpm-store/v3/files/c5/506296313887bf818eb68d7542225cca8334d807b6c276ff664144be6450ef20d8c2f088fe11196eba62453491164228d7b45e8ecfe9fa8a9219d1bc82e35b @@ -0,0 +1 @@ +module.exports={C:{"48":0.0052,"50":0.0052,"51":0.01041,"52":0.03642,"56":0.01041,"68":0.0052,"78":0.0052,"94":0.01041,"99":0.0052,"108":0.0052,"110":0.0052,"115":0.24974,"118":0.01041,"119":0.0052,"120":0.01561,"121":0.94695,"122":0.22373,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 53 54 55 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 100 101 102 103 104 105 106 107 109 111 112 113 114 116 117 123 124 125 3.5 3.6"},D:{"38":0.0052,"44":0.0052,"47":0.0052,"49":0.03642,"53":0.0052,"56":0.01561,"69":0.0052,"70":0.01041,"71":0.0052,"72":0.0052,"73":0.01561,"79":0.13008,"81":0.0052,"83":0.01041,"84":0.03122,"85":0.01041,"86":0.01561,"87":0.08845,"88":0.01041,"89":0.01561,"90":0.0052,"91":0.01041,"92":0.01041,"93":0.01041,"94":0.01561,"95":0.01041,"96":0.0052,"97":0.01041,"98":0.01561,"99":0.02081,"100":0.0052,"102":0.0052,"103":0.01041,"104":0.0052,"105":0.05203,"106":0.05723,"107":0.06764,"108":0.13008,"109":2.34135,"110":0.04683,"111":0.06244,"112":0.04683,"113":0.01561,"114":0.03642,"115":0.01561,"116":0.06764,"117":0.02602,"118":0.02602,"119":29.60507,"120":12.37794,"121":0.88971,"122":0.0052,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 45 46 48 50 51 52 54 55 57 58 59 60 61 62 63 64 65 66 67 68 74 75 76 77 78 80 101 123 124"},F:{"28":0.0052,"36":0.0052,"46":0.03122,"79":0.0052,"95":0.08325,"105":0.43185,"106":0.56192,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.0052,"83":0.0052,"92":0.01041,"107":0.03122,"108":0.0052,"109":0.01041,"110":0.03122,"111":0.02081,"115":0.0052,"117":0.0052,"118":0.0052,"119":0.01561,"120":1.22271,"121":0.18211,_:"12 13 14 15 16 17 79 80 81 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 112 113 114 116"},E:{"9":0.0052,"14":0.0052,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3 15.4 15.5 17.4","12.1":0.0052,"13.1":0.0052,"14.1":0.03642,"15.1":0.0052,"15.6":0.03122,"16.0":0.01041,"16.1":0.01041,"16.2":0.01041,"16.3":0.01561,"16.4":0.0052,"16.5":0.0052,"16.6":0.04162,"17.0":0.0052,"17.1":0.13008,"17.2":0.12487,"17.3":0.01561},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00197,"5.0-5.1":0.00296,"6.0-6.1":0.00493,"7.0-7.1":0.00691,"8.1-8.4":0.00099,"9.0-9.2":0.00592,"9.3":0.0227,"10.0-10.2":0.00197,"10.3":0.03552,"11.0-11.2":0.01381,"11.3-11.4":0.0148,"12.0-12.1":0.00888,"12.2-12.5":0.17564,"13.0-13.1":0.00296,"13.2":0.03256,"13.3":0.00888,"13.4-13.7":0.03947,"14.0-14.4":0.06907,"14.5-14.8":0.10558,"15.0-15.1":0.04539,"15.2-15.3":0.0523,"15.4":0.06118,"15.5":0.08091,"15.6-15.8":0.63053,"16.0":0.18945,"16.1":0.40358,"16.2":0.18353,"16.3":0.34141,"16.4":0.07598,"16.5":0.16183,"16.6-16.7":1.32421,"17.0":0.22004,"17.1":2.26852,"17.2":3.07074,"17.3":0.19735},P:{"4":0.19315,"20":0.02033,"21":0.04066,"22":0.06099,"23":1.87046,"5.0-5.4":0.04066,"6.2-6.4":0.0305,"7.2-7.4":0.01017,_:"8.2 10.1 12.0 15.0","9.2":0.01017,"11.1-11.2":0.01017,"13.0":0.0305,"14.0":0.01017,"16.0":0.02033,"17.0":0.01017,"18.0":0.01017,"19.0":0.02033},I:{"0":0.04298,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00011},A:{"8":0.01041,"10":0.0052,"11":0.05723,_:"6 7 9 5.5"},K:{"0":0.1631,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.00959},H:{"0":0},L:{"0":35.96589},R:{_:"0"},M:{"0":0.08635}}; diff --git a/.pnpm-store/v3/files/c5/ae2e37c246f1dc3c462a183f2c5549942415b191b0b5a3e25c29f59c061e65d7d8aece4e0255bd092e9ded3a6c20bd9711a178c022cd8faba68ecc5f718c7b b/.pnpm-store/v3/files/c5/ae2e37c246f1dc3c462a183f2c5549942415b191b0b5a3e25c29f59c061e65d7d8aece4e0255bd092e9ded3a6c20bd9711a178c022cd8faba68ecc5f718c7b new file mode 100644 index 00000000..85c77f6b --- /dev/null +++ b/.pnpm-store/v3/files/c5/ae2e37c246f1dc3c462a183f2c5549942415b191b0b5a3e25c29f59c061e65d7d8aece4e0255bd092e9ded3a6c20bd9711a178c022cd8faba68ecc5f718c7b @@ -0,0 +1 @@ +module.exports={C:{"4":0.0055,"31":0.0055,"38":0.01649,"50":0.0055,"51":0.0055,"52":0.09343,"56":0.0055,"60":0.0055,"66":0.01099,"68":0.01649,"69":0.0055,"70":0.0055,"71":0.0055,"72":0.01099,"73":0.0055,"74":0.0055,"75":0.01099,"76":0.0055,"77":0.0055,"78":0.01649,"79":0.0055,"80":0.0055,"81":0.01649,"82":0.0055,"83":0.0055,"86":0.0055,"88":0.0055,"89":0.0055,"90":0.01099,"91":0.01099,"95":0.01099,"96":0.0055,"97":0.0055,"98":0.0055,"99":0.0055,"101":0.0055,"102":0.01099,"103":0.01649,"104":0.03847,"105":0.0055,"106":0.0055,"107":0.01099,"108":0.02748,"109":0.01099,"110":0.01099,"111":0.01649,"112":0.01099,"113":0.01649,"114":0.01649,"115":0.69799,"116":0.01099,"117":0.01099,"118":0.02198,"119":0.02748,"120":0.04946,"121":1.2311,"122":0.32426,"123":0.0055,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 53 54 55 57 58 59 61 62 63 64 65 67 84 85 87 92 93 94 100 124 125 3.5 3.6"},D:{"25":0.0055,"26":0.0055,"38":0.01649,"41":0.0055,"49":0.06046,"51":0.02748,"53":0.0055,"56":0.04946,"57":0.0055,"58":0.0055,"61":0.0055,"64":0.0055,"65":0.0055,"67":0.0055,"68":0.03847,"69":0.02748,"70":0.02748,"71":0.02748,"72":0.04397,"73":0.01649,"74":0.04397,"75":0.03298,"76":0.03847,"77":0.02748,"78":0.03847,"79":0.09343,"80":0.07145,"81":0.06595,"83":0.04397,"84":0.03298,"85":0.07694,"86":0.10442,"87":0.07694,"88":0.08244,"89":0.06595,"90":0.07694,"91":0.03298,"92":0.0055,"93":0.02198,"94":0.02198,"95":0.0055,"96":0.02198,"97":0.02748,"98":0.03298,"99":0.04946,"100":0.01649,"101":0.02198,"102":0.10442,"103":0.03847,"104":0.02748,"105":0.17038,"106":0.25282,"107":0.08244,"108":0.12641,"109":2.78098,"110":0.06046,"111":0.16488,"112":0.07694,"113":0.20885,"114":0.32976,"115":0.03298,"116":0.31877,"117":0.15389,"118":0.1319,"119":0.8299,"120":13.82244,"121":1.0937,"122":0.01099,"123":0.0055,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 27 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 45 46 47 48 50 52 54 55 59 60 62 63 66 124"},F:{"36":0.02748,"44":0.0055,"46":0.0055,"53":0.0055,"54":0.0055,"55":0.01099,"60":0.0055,"64":0.0055,"67":0.0055,"68":0.0055,"70":0.0055,"71":0.0055,"72":0.0055,"73":0.0055,"74":0.0055,"75":0.0055,"76":0.0055,"77":0.01649,"78":0.0055,"79":0.05496,"80":0.0055,"82":0.01099,"83":0.0055,"84":0.01099,"85":0.05496,"86":0.02198,"87":0.0055,"89":0.0055,"90":0.0055,"91":0.0055,"92":0.0055,"93":0.0055,"94":0.01099,"95":0.87936,"96":0.0055,"97":0.0055,"98":0.0055,"99":0.0055,"100":0.0055,"101":0.0055,"102":0.01649,"103":0.01099,"104":0.01649,"105":1.97856,"106":2.68754,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 45 47 48 49 50 51 52 56 57 58 62 63 65 66 69 81 88 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.0055},B:{"14":0.0055,"18":0.01649,"79":0.0055,"80":0.01099,"81":0.01099,"83":0.01099,"84":0.01099,"85":0.0055,"86":0.01099,"87":0.0055,"88":0.0055,"89":0.01099,"90":0.01099,"92":0.02198,"100":0.0055,"105":0.0055,"106":0.0055,"107":0.01649,"108":0.01649,"109":0.07145,"110":0.01099,"111":0.0055,"112":0.0055,"113":0.01099,"114":0.02748,"115":0.0055,"116":0.0055,"117":0.01099,"118":0.01649,"119":0.05496,"120":2.91838,"121":0.43418,_:"12 13 15 16 17 91 93 94 95 96 97 98 99 101 102 103 104"},E:{"10":0.0055,"13":0.0055,"14":0.04946,"15":0.0055,_:"0 4 5 6 7 8 9 11 12 3.1 3.2 5.1 6.1 7.1 10.1 17.4","9.1":0.21434,"11.1":0.0055,"12.1":0.01099,"13.1":0.03847,"14.1":0.07145,"15.1":0.01649,"15.2-15.3":0.01099,"15.4":0.01649,"15.5":0.02198,"15.6":0.1429,"16.0":0.01099,"16.1":0.03298,"16.2":0.03298,"16.3":0.07145,"16.4":0.02748,"16.5":0.05496,"16.6":0.18686,"17.0":0.06595,"17.1":0.20885,"17.2":0.35174,"17.3":0.03298},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00208,"5.0-5.1":0.00312,"6.0-6.1":0.0052,"7.0-7.1":0.00728,"8.1-8.4":0.00104,"9.0-9.2":0.00624,"9.3":0.02391,"10.0-10.2":0.00208,"10.3":0.03742,"11.0-11.2":0.01455,"11.3-11.4":0.01559,"12.0-12.1":0.00936,"12.2-12.5":0.18504,"13.0-13.1":0.00312,"13.2":0.0343,"13.3":0.00936,"13.4-13.7":0.04158,"14.0-14.4":0.07277,"14.5-14.8":0.11123,"15.0-15.1":0.04782,"15.2-15.3":0.05509,"15.4":0.06445,"15.5":0.08524,"15.6-15.8":0.66426,"16.0":0.19959,"16.1":0.42516,"16.2":0.19335,"16.3":0.35968,"16.4":0.08004,"16.5":0.17048,"16.6-16.7":1.39504,"17.0":0.23181,"17.1":2.38986,"17.2":3.235,"17.3":0.2079},P:{"4":0.09304,"20":0.01034,"21":0.04135,"22":0.05169,"23":0.79601,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 14.0","7.2-7.4":0.02068,"11.1-11.2":0.01034,"13.0":0.01034,"15.0":0.01034,"16.0":0.01034,"17.0":0.01034,"18.0":0.01034,"19.0":0.01034},I:{"0":0.04036,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00011},A:{"8":0.01129,"11":0.19756,_:"6 7 9 10 5.5"},K:{"0":0.9053,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.0045},O:{"0":0.18466},H:{"0":0},L:{"0":27.43967},R:{_:"0"},M:{"0":0.18016}}; diff --git a/.pnpm-store/v3/files/c6/091faf5d527cec6ea0cda3564226e475e1df11535e98605169ddeba7774a587465796b3a0d4568b0d890a66d1dfe0e85b5630ef368a0bb2fb77769884d4c3f b/.pnpm-store/v3/files/c6/091faf5d527cec6ea0cda3564226e475e1df11535e98605169ddeba7774a587465796b3a0d4568b0d890a66d1dfe0e85b5630ef368a0bb2fb77769884d4c3f new file mode 100644 index 00000000..ebf87058 --- /dev/null +++ b/.pnpm-store/v3/files/c6/091faf5d527cec6ea0cda3564226e475e1df11535e98605169ddeba7774a587465796b3a0d4568b0d890a66d1dfe0e85b5630ef368a0bb2fb77769884d4c3f @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC","16":"TC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","16":"F"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"1":"9C"},I:{"1":"7B I H AD BD CD DD RC ED FD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:7,C:"document.evaluate & XPath",D:true}; diff --git a/.pnpm-store/v3/files/c6/504b53af0d66e16c1f1a66717ec39b8f0779f521737266c2c656b14fbc67e2db8eab50a49ab1c6c11aa295e24c87d3d5f5f49dcfd57fd782811658ec5552a7 b/.pnpm-store/v3/files/c6/504b53af0d66e16c1f1a66717ec39b8f0779f521737266c2c656b14fbc67e2db8eab50a49ab1c6c11aa295e24c87d3d5f5f49dcfd57fd782811658ec5552a7 new file mode 100644 index 00000000..d332c909 --- /dev/null +++ b/.pnpm-store/v3/files/c6/504b53af0d66e16c1f1a66717ec39b8f0779f521737266c2c656b14fbc67e2db8eab50a49ab1c6c11aa295e24c87d3d5f5f49dcfd57fd782811658ec5552a7 @@ -0,0 +1 @@ +module.exports={C:{"34":0.03494,"52":0.00874,"72":0.0131,"78":0.00874,"84":0.00437,"88":0.00874,"102":0.00874,"104":0.00874,"108":0.00437,"111":0.00874,"112":0.00437,"113":0.00437,"115":0.13541,"116":0.00437,"117":0.00437,"118":0.00874,"119":0.03931,"120":0.01747,"121":0.71635,"122":0.15725,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 103 105 106 107 109 110 114 123 124 125 3.5 3.6"},D:{"11":0.00437,"25":0.00437,"26":0.00874,"30":0.00874,"34":0.05242,"38":0.13104,"48":0.00437,"49":0.03058,"53":0.03058,"55":0.0131,"56":0.00874,"61":0.03931,"62":0.00437,"63":0.00437,"65":0.00437,"67":0.00874,"68":0.00437,"69":0.00874,"70":0.00437,"71":0.00437,"72":0.00437,"73":0.00437,"74":0.03058,"75":0.00874,"76":0.00437,"77":0.00437,"78":0.02621,"79":0.59842,"80":0.01747,"81":0.0131,"83":0.05242,"84":0.00437,"85":0.00874,"86":0.03494,"87":0.4368,"88":0.00437,"89":0.01747,"90":0.01747,"91":0.03931,"92":0.00874,"93":0.00437,"94":0.14851,"95":0.0131,"96":0.01747,"97":0.02621,"98":0.03058,"99":0.07862,"100":0.02184,"101":0.02621,"102":0.03494,"103":0.1092,"104":0.01747,"105":0.03494,"106":0.01747,"107":0.04368,"108":0.04368,"109":1.47202,"110":0.02621,"111":0.03494,"112":0.18782,"113":0.05678,"114":0.08736,"115":0.04368,"116":0.27955,"117":0.13104,"118":0.13104,"119":0.83866,"120":19.38518,"121":1.23178,"122":0.05678,"123":0.00437,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 27 28 29 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 50 51 52 54 57 58 59 60 64 66 124"},F:{"28":0.00874,"36":0.02621,"40":0.00437,"46":0.11357,"95":0.04805,"105":0.06989,"106":0.08736,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00437,"17":0.00437,"18":0.03058,"92":0.00437,"107":0.00437,"108":0.00437,"109":0.13104,"110":0.00874,"111":0.00874,"112":0.00874,"113":0.02621,"114":0.02184,"115":0.01747,"116":0.01747,"117":0.02184,"118":0.02184,"119":0.07426,"120":3.82637,"121":0.50669,_:"13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106"},E:{"8":0.00437,"12":0.00437,"13":0.03058,"14":0.13104,"15":0.03494,_:"0 4 5 6 7 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1 17.4","11.1":0.00437,"12.1":0.02621,"13.1":0.1092,"14.1":0.30576,"15.1":0.03931,"15.2-15.3":0.03931,"15.4":0.15725,"15.5":0.18346,"15.6":0.85613,"16.0":0.06989,"16.1":0.14414,"16.2":0.13978,"16.3":0.46738,"16.4":0.10483,"16.5":0.22277,"16.6":1.60742,"17.0":0.1223,"17.1":1.61179,"17.2":1.93939,"17.3":0.10046},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0049,"5.0-5.1":0.00735,"6.0-6.1":0.01225,"7.0-7.1":0.01715,"8.1-8.4":0.00245,"9.0-9.2":0.0147,"9.3":0.05636,"10.0-10.2":0.0049,"10.3":0.08822,"11.0-11.2":0.03431,"11.3-11.4":0.03676,"12.0-12.1":0.02206,"12.2-12.5":0.43621,"13.0-13.1":0.00735,"13.2":0.08087,"13.3":0.02206,"13.4-13.7":0.09802,"14.0-14.4":0.17154,"14.5-14.8":0.26222,"15.0-15.1":0.11273,"15.2-15.3":0.12988,"15.4":0.15194,"15.5":0.20095,"15.6-15.8":1.56594,"16.0":0.47052,"16.1":1.0023,"16.2":0.45581,"16.3":0.84791,"16.4":0.1887,"16.5":0.4019,"16.6-16.7":3.28872,"17.0":0.54649,"17.1":5.63396,"17.2":7.6263,"17.3":0.49012},P:{"4":0.99927,"20":0.04542,"21":0.15898,"22":0.13626,"23":5.0645,"5.0-5.4":0.15898,"6.2-6.4":0.05678,_:"7.2-7.4 8.2 10.1 11.1-11.2 12.0","9.2":0.01136,"13.0":0.03407,"14.0":0.01136,"15.0":0.01136,"16.0":0.02271,"17.0":0.05678,"18.0":0.03407,"19.0":0.03407},I:{"0":0.02803,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.04404,"9":0.04404,"11":0.44044,_:"6 7 10 5.5"},K:{"0":0.11825,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.09573},O:{"0":0.33786},H:{"0":0},L:{"0":25.25599},R:{_:"0"},M:{"0":0.24776}}; diff --git a/.pnpm-store/v3/files/c6/9b9e6a4ee7cedd06ff2e236cc1cef617ef695ab43c1d21886d4030514e03eaf7cb66349a19ee8338e0b11c59fc6e5f019daaf75cc644fdce7cf6be8d433f8a b/.pnpm-store/v3/files/c6/9b9e6a4ee7cedd06ff2e236cc1cef617ef695ab43c1d21886d4030514e03eaf7cb66349a19ee8338e0b11c59fc6e5f019daaf75cc644fdce7cf6be8d433f8a new file mode 100644 index 00000000..8a568ded --- /dev/null +++ b/.pnpm-store/v3/files/c6/9b9e6a4ee7cedd06ff2e236cc1cef617ef695ab43c1d21886d4030514e03eaf7cb66349a19ee8338e0b11c59fc6e5f019daaf75cc644fdce7cf6be8d433f8a @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"B","2":"J D E F SC","132":"A"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC","260":"YC"},F:{"1":"C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p mC 3B","2":"F B iC jC kC lC 2B QC"},G:{"1":"E oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC","260":"RC"},H:{"1":"9C"},I:{"1":"I H DD RC ED FD","2":"7B AD BD CD"},J:{"1":"A","2":"D"},K:{"1":"C u 3B","2":"A B 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"132":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:6,C:"Typed Arrays",D:true}; diff --git a/.pnpm-store/v3/files/c6/cf756479e3009d2ef19b883e32d7eea0e67d532496748d4600f2295ee685f781cd939a7b9628f685410582e7e46b5da74aa10692376eaced92e166015dd7ba b/.pnpm-store/v3/files/c6/cf756479e3009d2ef19b883e32d7eea0e67d532496748d4600f2295ee685f781cd939a7b9628f685410582e7e46b5da74aa10692376eaced92e166015dd7ba new file mode 100644 index 00000000..84bacaf6 --- /dev/null +++ b/.pnpm-store/v3/files/c6/cf756479e3009d2ef19b883e32d7eea0e67d532496748d4600f2295ee685f781cd939a7b9628f685410582e7e46b5da74aa10692376eaced92e166015dd7ba @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z","194":"5 6 7 8 H 1B BC CC"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"2":"7B I H AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"2":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"CSS Anchor Positioning",D:false}; diff --git a/.pnpm-store/v3/files/c6/da212cc4a47ce13c01a1ce226efec5edde9ba25f105f2bf009ecd8368f0abe10c638db946a7d2b7b4392cc473dac8c5a996c8fd92fc55375f82d2130046127 b/.pnpm-store/v3/files/c6/da212cc4a47ce13c01a1ce226efec5edde9ba25f105f2bf009ecd8368f0abe10c638db946a7d2b7b4392cc473dac8c5a996c8fd92fc55375f82d2130046127 new file mode 100644 index 00000000..d8713ed5 --- /dev/null +++ b/.pnpm-store/v3/files/c6/da212cc4a47ce13c01a1ce226efec5edde9ba25f105f2bf009ecd8368f0abe10c638db946a7d2b7b4392cc473dac8c5a996c8fd92fc55375f82d2130046127 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"F A B","2":"J D E SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 I J D E F A B C K L G DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"XC"},F:{"1":"B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B","16":"F"},G:{"1":"E nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","16":"DC"},H:{"1":"9C"},I:{"1":"7B I H CD DD RC ED FD","16":"AD BD"},J:{"1":"D A"},K:{"1":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:1,C:"Node.textContent",D:true}; diff --git a/.pnpm-store/v3/files/c7/26865a9b6397ec74983b9332ec0a6feb56f911832349371c1d5adeb10828a953dbe023991203b597128455e8f05dcf91b60a120ebb18c93efdbbe3fb00a3e3 b/.pnpm-store/v3/files/c7/26865a9b6397ec74983b9332ec0a6feb56f911832349371c1d5adeb10828a953dbe023991203b597128455e8f05dcf91b60a120ebb18c93efdbbe3fb00a3e3 new file mode 100644 index 00000000..eaa8ee9a --- /dev/null +++ b/.pnpm-store/v3/files/c7/26865a9b6397ec74983b9332ec0a6feb56f911832349371c1d5adeb10828a953dbe023991203b597128455e8f05dcf91b60a120ebb18c93efdbbe3fb00a3e3 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E SC","132":"F","260":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","260":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB","260":"q r s t BB CB"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC","260":"J"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B"},G:{"1":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC","516":"qC","772":"pC"},H:{"2":"9C"},I:{"1":"H ED FD","2":"7B I AD BD CD DD RC"},J:{"1":"A","2":"D"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"260":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:4,C:"Viewport units: vw, vh, vmin, vmax",D:true}; diff --git a/.pnpm-store/v3/files/c7/4e2a71d9c2be5d4e422959350eb29ec8be33b2d9c2c3550209320276984295a443d9c35dd3cb3bd2cc50e9d163f6912edc1a28b591cec89ce2dfeda4af95d6 b/.pnpm-store/v3/files/c7/4e2a71d9c2be5d4e422959350eb29ec8be33b2d9c2c3550209320276984295a443d9c35dd3cb3bd2cc50e9d163f6912edc1a28b591cec89ce2dfeda4af95d6 new file mode 100644 index 00000000..72afae2a --- /dev/null +++ b/.pnpm-store/v3/files/c7/4e2a71d9c2be5d4e422959350eb29ec8be33b2d9c2c3550209320276984295a443d9c35dd3cb3bd2cc50e9d163f6912edc1a28b591cec89ce2dfeda4af95d6 @@ -0,0 +1 @@ +module.exports={C:{"45":0.3996,"48":0.00666,"50":0.00333,"51":0.00333,"52":0.07992,"65":0.00333,"66":0.00666,"68":0.00333,"72":0.00333,"75":0.00333,"78":0.01665,"80":0.00333,"81":0.00333,"83":0.01665,"84":0.00999,"85":0.00333,"86":0.00333,"88":0.02331,"89":0.00333,"90":0.00333,"91":0.01665,"94":0.00333,"96":0.00666,"97":0.00333,"98":0.00333,"99":0.00999,"100":0.00666,"101":0.00333,"102":0.01332,"103":0.00666,"104":0.00999,"105":0.00333,"106":0.00333,"107":0.00333,"108":0.00999,"109":0.00999,"110":0.00333,"111":0.00666,"112":0.00999,"113":0.01665,"114":0.01332,"115":1.03896,"116":0.00333,"117":0.00666,"118":0.01332,"119":0.04329,"120":0.07992,"121":2.27439,"122":0.51948,"123":0.00333,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 53 54 55 56 57 58 59 60 61 62 63 64 67 69 70 71 73 74 76 77 79 82 87 92 93 95 124 125 3.5 3.6"},D:{"33":0.00999,"38":0.00666,"41":0.00333,"49":0.05661,"53":0.00333,"56":0.00333,"58":0.00333,"63":0.00333,"65":0.00333,"66":0.00333,"69":0.00333,"70":0.00333,"71":0.00333,"73":0.00333,"74":0.00333,"75":0.00333,"76":0.00333,"77":0.00333,"78":0.00333,"79":0.05328,"80":0.00333,"81":0.00666,"83":0.01332,"85":0.00999,"86":0.00999,"87":0.04329,"88":0.00999,"89":0.00333,"90":0.00666,"91":0.00999,"92":0.00666,"93":0.11655,"94":0.00666,"95":0.00666,"96":0.00333,"97":0.00666,"98":0.00666,"99":0.01998,"100":0.00999,"101":0.00333,"102":0.01665,"103":0.0333,"104":0.00666,"105":0.00999,"106":0.01332,"107":0.00999,"108":0.0333,"109":3.1635,"110":0.01665,"111":0.02997,"112":0.01998,"113":0.00999,"114":0.01998,"115":0.02997,"116":0.04995,"117":0.03663,"118":0.04662,"119":1.95138,"120":15.59772,"121":1.02564,"122":0.00333,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 39 40 42 43 44 45 46 47 48 50 51 52 54 55 57 59 60 61 62 64 67 68 72 84 123 124"},F:{"28":0.01665,"36":0.00666,"40":0.00333,"46":0.01332,"79":0.00333,"83":0.00333,"85":0.00999,"89":0.00333,"94":0.00333,"95":0.11322,"99":0.00333,"102":0.00333,"104":0.00333,"105":0.39294,"106":0.56277,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 84 86 87 88 90 91 92 93 96 97 98 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.00333,"18":0.00333,"92":0.00333,"106":0.00333,"107":0.00333,"108":0.00333,"109":0.08325,"110":0.00333,"111":0.00333,"112":0.00333,"113":0.00333,"114":0.00666,"115":0.00333,"116":0.00333,"117":0.00999,"118":0.00999,"119":0.03663,"120":2.54745,"121":0.32634,_:"12 13 14 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105"},E:{"14":0.00999,"15":0.00333,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 17.4","5.1":0.00666,"12.1":0.00333,"13.1":0.01332,"14.1":0.0333,"15.1":0.00333,"15.2-15.3":0.00333,"15.4":0.00333,"15.5":0.00333,"15.6":0.05661,"16.0":0.00666,"16.1":0.01332,"16.2":0.00999,"16.3":0.02997,"16.4":0.01332,"16.5":0.01665,"16.6":0.08325,"17.0":0.02331,"17.1":0.10656,"17.2":0.17649,"17.3":0.01665},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00177,"5.0-5.1":0.00265,"6.0-6.1":0.00442,"7.0-7.1":0.00619,"8.1-8.4":0.00088,"9.0-9.2":0.00531,"9.3":0.02034,"10.0-10.2":0.00177,"10.3":0.03184,"11.0-11.2":0.01238,"11.3-11.4":0.01327,"12.0-12.1":0.00796,"12.2-12.5":0.15743,"13.0-13.1":0.00265,"13.2":0.02919,"13.3":0.00796,"13.4-13.7":0.03538,"14.0-14.4":0.06191,"14.5-14.8":0.09464,"15.0-15.1":0.04068,"15.2-15.3":0.04688,"15.4":0.05484,"15.5":0.07252,"15.6-15.8":0.56516,"16.0":0.16981,"16.1":0.36174,"16.2":0.16451,"16.3":0.30602,"16.4":0.0681,"16.5":0.14505,"16.6-16.7":1.18692,"17.0":0.19723,"17.1":2.03333,"17.2":2.75238,"17.3":0.17689},P:{"4":0.08155,"20":0.04078,"21":0.08155,"22":0.13252,"23":2.84417,"5.0-5.4":0.01019,"6.2-6.4":0.02039,"7.2-7.4":0.05097,_:"8.2 9.2 10.1 12.0","11.1-11.2":0.01019,"13.0":0.01019,"14.0":0.02039,"15.0":0.01019,"16.0":0.02039,"17.0":0.02039,"18.0":0.02039,"19.0":0.04078},I:{"0":0.25899,"3":0,"4":0.00005,"2.1":0,"2.2":0.00003,"2.3":0,"4.1":0.00005,"4.2-4.3":0.00018,"4.4":0,"4.4.3-4.4.4":0.00068},A:{"8":0.00354,"11":0.05307,_:"6 7 9 10 5.5"},K:{"0":0.2668,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"13.1"},O:{"0":0.01334},H:{"0":0},L:{"0":54.45919},R:{_:"0"},M:{"0":0.19343}}; diff --git a/.pnpm-store/v3/files/c9/06d4852138346d120e0cb9b0daa63487ccb85bc8afb7e2495e82c1a33c5d389c328b8d82752d246ab7683c8d90b6eb7f60937aa82f8d390f1108866e6f311b b/.pnpm-store/v3/files/c9/06d4852138346d120e0cb9b0daa63487ccb85bc8afb7e2495e82c1a33c5d389c328b8d82752d246ab7683c8d90b6eb7f60937aa82f8d390f1108866e6f311b new file mode 100644 index 00000000..14f6366f --- /dev/null +++ b/.pnpm-store/v3/files/c9/06d4852138346d120e0cb9b0daa63487ccb85bc8afb7e2495e82c1a33c5d389c328b8d82752d246ab7683c8d90b6eb7f60937aa82f8d390f1108866e6f311b @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F SC","33":"A B"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","33":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","33":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","33":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},E:{"1":"hC","33":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C iC jC kC lC 2B QC mC 3B","33":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},G:{"33":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","33":"7B I AD BD CD DD RC ED FD"},J:{"33":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"33":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","33":"I GD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","33":"TD"}},B:5,C:"CSS user-select: none",D:true}; diff --git a/.pnpm-store/v3/files/c9/31eb2a75cc50d69e0c8be73ffb27aa01b64947213cc7eb139df4098e6e53b87d7963a7aab7611792b23f3ac622dfe31d43d12a1f2e382dcca4cfb1621fcd77 b/.pnpm-store/v3/files/c9/31eb2a75cc50d69e0c8be73ffb27aa01b64947213cc7eb139df4098e6e53b87d7963a7aab7611792b23f3ac622dfe31d43d12a1f2e382dcca4cfb1621fcd77 new file mode 100644 index 00000000..a6fd4de6 Binary files /dev/null and b/.pnpm-store/v3/files/c9/31eb2a75cc50d69e0c8be73ffb27aa01b64947213cc7eb139df4098e6e53b87d7963a7aab7611792b23f3ac622dfe31d43d12a1f2e382dcca4cfb1621fcd77 differ diff --git a/.pnpm-store/v3/files/ca/41bcd8bd3c8111bcf93a4f42e6ebf84e3a066a04353c91f09310e3ba8cecafe785af9ae9370908e96ccf0759e76c63b46c9f90c456d672ee8f8fc3e26fff25 b/.pnpm-store/v3/files/ca/41bcd8bd3c8111bcf93a4f42e6ebf84e3a066a04353c91f09310e3ba8cecafe785af9ae9370908e96ccf0759e76c63b46c9f90c456d672ee8f8fc3e26fff25 new file mode 100644 index 00000000..4c8625aa --- /dev/null +++ b/.pnpm-store/v3/files/ca/41bcd8bd3c8111bcf93a4f42e6ebf84e3a066a04353c91f09310e3ba8cecafe785af9ae9370908e96ccf0759e76c63b46c9f90c456d672ee8f8fc3e26fff25 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 z H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y"},C:{"1":"1 2 3 4 5 6 7 8 H 1B BC CC UC","2":"0 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y"},E:{"1":"F A B C K L G bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E XC DC YC ZC aC"},F:{"1":"h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g iC jC kC lC 2B QC mC 3B"},G:{"1":"sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"s t","2":"I q r GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes",D:true}; diff --git a/.pnpm-store/v3/files/cb/1ea7f56cf67b0e74689f6d5d2ab7ffce8771e34f747e1afcedb488fdfa6e09c7c2b19ce8ad5cc0ddd294ab05c0525e525d7fd35f012b3c1a35938004a6c5fe b/.pnpm-store/v3/files/cb/1ea7f56cf67b0e74689f6d5d2ab7ffce8771e34f747e1afcedb488fdfa6e09c7c2b19ce8ad5cc0ddd294ab05c0525e525d7fd35f012b3c1a35938004a6c5fe new file mode 100644 index 00000000..c4b1ac95 --- /dev/null +++ b/.pnpm-store/v3/files/cb/1ea7f56cf67b0e74689f6d5d2ab7ffce8771e34f747e1afcedb488fdfa6e09c7c2b19ce8ad5cc0ddd294ab05c0525e525d7fd35f012b3c1a35938004a6c5fe @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"A B","2":"J D E F SC"},B:{"1":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"1":"0 1 2 3 4 5 6 7 8 M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"TC 7B VC WC","33":"9 J D E F A B C K L G","164":"I"},D:{"1":"0 1 2 3 4 5 6 7 8 DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","33":"9 I J D E F A B C K L G M N O AB q r s t BB CB"},E:{"1":"D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","33":"J YC","164":"9 I XC DC"},F:{"1":"G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p 3B","2":"F iC jC","33":"C","164":"B kC lC 2B QC mC"},G:{"1":"E qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","33":"pC","164":"DC nC RC oC"},H:{"2":"9C"},I:{"1":"H ED FD","33":"7B I AD BD CD DD RC"},J:{"1":"A","33":"D"},K:{"1":"u 3B","33":"C","164":"A B 2B QC"},L:{"1":"H"},M:{"1":"1B"},N:{"1":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"TD UD"}},B:5,C:"CSS3 Transitions",D:true}; diff --git a/.pnpm-store/v3/files/cb/47cfb85d41821dcbd62dbeb3789fc317f9660e5330445b80dacf219e4bb5536e25bc672c8dd38abb9e6423b8abc0335452c30b3783b8d801244867125a4054 b/.pnpm-store/v3/files/cb/47cfb85d41821dcbd62dbeb3789fc317f9660e5330445b80dacf219e4bb5536e25bc672c8dd38abb9e6423b8abc0335452c30b3783b8d801244867125a4054 new file mode 100644 index 00000000..67cd0bcf --- /dev/null +++ b/.pnpm-store/v3/files/cb/47cfb85d41821dcbd62dbeb3789fc317f9660e5330445b80dacf219e4bb5536e25bc672c8dd38abb9e6423b8abc0335452c30b3783b8d801244867125a4054 @@ -0,0 +1,64 @@ +/* + @license + Rollup.js v4.11.0 + Thu, 15 Feb 2024 06:09:01 GMT - commit 90ad652b745c5fe7167d92b4ad671cc387577a99 + + https://github.com/rollup/rollup + + Released under the MIT License. +*/ +const getLogFilter = filters => { + if (filters.length === 0) + return () => true; + const normalizedFilters = filters.map(filter => filter.split('&').map(subFilter => { + const inverted = subFilter.startsWith('!'); + if (inverted) + subFilter = subFilter.slice(1); + const [key, ...value] = subFilter.split(':'); + return { inverted, key: key.split('.'), parts: value.join(':').split('*') }; + })); + return (log) => { + nextIntersectedFilter: for (const intersectedFilters of normalizedFilters) { + for (const { inverted, key, parts } of intersectedFilters) { + const isFilterSatisfied = testFilter(log, key, parts); + if (inverted ? isFilterSatisfied : !isFilterSatisfied) { + continue nextIntersectedFilter; + } + } + return true; + } + return false; + }; +}; +const testFilter = (log, key, parts) => { + let rawValue = log; + for (let index = 0; index < key.length; index++) { + if (!rawValue) { + return false; + } + const part = key[index]; + if (!(part in rawValue)) { + return false; + } + rawValue = rawValue[part]; + } + let value = typeof rawValue === 'object' ? JSON.stringify(rawValue) : String(rawValue); + if (parts.length === 1) { + return value === parts[0]; + } + if (!value.startsWith(parts[0])) { + return false; + } + const lastPartIndex = parts.length - 1; + for (let index = 1; index < lastPartIndex; index++) { + const part = parts[index]; + const position = value.indexOf(part); + if (position === -1) { + return false; + } + value = value.slice(position + part.length); + } + return value.endsWith(parts[lastPartIndex]); +}; + +export { getLogFilter }; diff --git a/.pnpm-store/v3/files/cb/aba601c91c98bd27ee32ed9eb883f10ae32ad918d6cbf427080d2f82683037ef0cb5d4e035e965108c0ce485ede7339f3e5d9a2c8ee6a20fe254cb2560f9d8 b/.pnpm-store/v3/files/cb/aba601c91c98bd27ee32ed9eb883f10ae32ad918d6cbf427080d2f82683037ef0cb5d4e035e965108c0ce485ede7339f3e5d9a2c8ee6a20fe254cb2560f9d8 new file mode 100644 index 00000000..997068b1 --- /dev/null +++ b/.pnpm-store/v3/files/cb/aba601c91c98bd27ee32ed9eb883f10ae32ad918d6cbf427080d2f82683037ef0cb5d4e035e965108c0ce485ede7339f3e5d9a2c8ee6a20fe254cb2560f9d8 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"C K L G M N O","2":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"J D E F A B C K L G ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I XC DC YC"},F:{"2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p iC jC kC lC 2B QC mC 3B"},G:{"1":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"7B I H DD RC ED FD","2":"AD BD CD"},J:{"1":"A","2":"D"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:7,C:"HTTP Live Streaming (HLS)",D:true}; diff --git a/.pnpm-store/v3/files/cb/bc95b40f1d158959664fa193fd55abab77800b4aee8cfce6f8224d20dc79937268dd6ad7cde987810646a35c49ff61f695ac79ccc5f0db272e3c2ffc1f2bf3 b/.pnpm-store/v3/files/cb/bc95b40f1d158959664fa193fd55abab77800b4aee8cfce6f8224d20dc79937268dd6ad7cde987810646a35c49ff61f695ac79ccc5f0db272e3c2ffc1f2bf3 new file mode 100644 index 00000000..cadf9419 --- /dev/null +++ b/.pnpm-store/v3/files/cb/bc95b40f1d158959664fa193fd55abab77800b4aee8cfce6f8224d20dc79937268dd6ad7cde987810646a35c49ff61f695ac79ccc5f0db272e3c2ffc1f2bf3 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"8 H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w","194":"x y z","516":"0 1 2 3 4 5 6 7"},C:{"1":"5 6 7 8 H 1B BC CC UC","2":"0 1 2 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z VC WC","322":"3 4"},D:{"1":"8 H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w","194":"x y z","516":"0 1 2 3 4 5 6 7"},E:{"1":"OC PC gC hC","2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC","516":"MC fC 6B NC"},F:{"1":"p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d iC jC kC lC 2B QC mC 3B","194":"e f g","516":"h i j k l m n o"},G:{"1":"OC PC","2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC","516":"MC 8C 6B NC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:5,C:"CSS Nesting",D:true}; diff --git a/.pnpm-store/v3/files/cb/d8d9ee94086e142e039c7cd84473e855b0798861f5e8c2685f3ea748dc7c2e4a93991e66c3e8da68be1b93932544a2fdfc885b3176a6a3819ae16930b1a3db b/.pnpm-store/v3/files/cb/d8d9ee94086e142e039c7cd84473e855b0798861f5e8c2685f3ea748dc7c2e4a93991e66c3e8da68be1b93932544a2fdfc885b3176a6a3819ae16930b1a3db new file mode 100644 index 00000000..e4ed72f9 --- /dev/null +++ b/.pnpm-store/v3/files/cb/d8d9ee94086e142e039c7cd84473e855b0798861f5e8c2685f3ea748dc7c2e4a93991e66c3e8da68be1b93932544a2fdfc885b3176a6a3819ae16930b1a3db @@ -0,0 +1 @@ +module.exports={A:{D:{"1":"0 1 2 3 4 5 6 7 8 ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},L:{"1":"H"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M VC WC","33":"N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB"},M:{"1":"1B"},A:{"2":"J D E F A B SC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB iC jC kC lC 2B QC mC 3B"},K:{"1":"u","2":"A B C 2B QC 3B"},E:{"1":"B C K L G 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC","2":"9 I J XC DC YC ZC hC","33":"D E F A aC bC EC"},G:{"1":"wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"DC nC RC oC pC","33":"E qC rC sC tC uC vC"},P:{"1":"q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"}},B:6,C:"isolate-override from unicode-bidi",D:undefined}; diff --git a/.pnpm-store/v3/files/cc/68502c7245393f6709a1e271043f4044c29c1e6e5a53f4577ed4fdbc5b918cff512523cd9b833f9bb4fdb6f505837ba0f139aed16bc905c2044fa25687eaf7 b/.pnpm-store/v3/files/cc/68502c7245393f6709a1e271043f4044c29c1e6e5a53f4577ed4fdbc5b918cff512523cd9b833f9bb4fdb6f505837ba0f139aed16bc905c2044fa25687eaf7 new file mode 100644 index 00000000..e47c5cfe --- /dev/null +++ b/.pnpm-store/v3/files/cc/68502c7245393f6709a1e271043f4044c29c1e6e5a53f4577ed4fdbc5b918cff512523cd9b833f9bb4fdb6f505837ba0f139aed16bc905c2044fa25687eaf7 @@ -0,0 +1,201 @@ +/** + * Return array of browsers by selection queries. + * + * ```js + * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] + * ``` + * + * @param queries Browser queries. + * @param opts Options. + * @returns Array with browser names in Can I Use. + */ +declare function browserslist( + queries?: string | readonly string[] | null, + opts?: browserslist.Options +): string[] + +declare namespace browserslist { + interface Query { + compose: 'or' | 'and' + type: string + query: string + not?: true + } + + interface Options { + /** + * Path to processed file. It will be used to find config files. + */ + path?: string | false + /** + * Processing environment. It will be used to take right queries + * from config file. + */ + env?: string + /** + * Custom browser usage statistics for "> 1% in my stats" query. + */ + stats?: Stats | string + /** + * Path to config file with queries. + */ + config?: string + /** + * Do not throw on unknown version in direct query. + */ + ignoreUnknownVersions?: boolean + /** + * Throw an error if env is not found. + */ + throwOnMissing?: boolean + /** + * Disable security checks for extend query. + */ + dangerousExtend?: boolean + /** + * Alias mobile browsers to the desktop version when Can I Use + * doesn’t have data about the specified version. + */ + mobileToDesktop?: boolean + } + + type Config = { + defaults: string[] + [section: string]: string[] | undefined + } + + interface Stats { + [browser: string]: { + [version: string]: number + } + } + + /** + * Browser names aliases. + */ + let aliases: { + [alias: string]: string | undefined + } + + /** + * Aliases to work with joined versions like `ios_saf 7.0-7.1`. + */ + let versionAliases: { + [browser: string]: + | { + [version: string]: string | undefined + } + | undefined + } + + /** + * Can I Use only provides a few versions for some browsers (e.g. `and_chr`). + * + * Fallback to a similar browser for unknown versions. + */ + let desktopNames: { + [browser: string]: string | undefined + } + + let data: { + [browser: string]: + | { + name: string + versions: string[] + released: string[] + releaseDate: { + [version: string]: number | undefined | null + } + } + | undefined + } + + let nodeVersions: string[] + + interface Usage { + [version: string]: number + } + + let usage: { + global?: Usage + custom?: Usage | null + [country: string]: Usage | undefined | null + } + + let cache: { + [feature: string]: { + [name: string]: { + [version: string]: string + } + } + } + + /** + * Default browsers query + */ + let defaults: readonly string[] + + /** + * Which statistics should be used. Country code or custom statistics. + * Pass `"my stats"` to load statistics from `Browserslist` files. + */ + type StatsOptions = string | 'my stats' | Stats | { dataByBrowser: Stats } + + /** + * Return browsers market coverage. + * + * ```js + * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 + * ``` + * + * @param browsers Browsers names in Can I Use. + * @param stats Which statistics should be used. + * @returns Total market coverage for all selected browsers. + */ + function coverage(browsers: readonly string[], stats?: StatsOptions): number + + /** + * Get queries AST to analyze the config content. + * + * @param queries Browser queries. + * @param opts Options. + * @returns An array of the data of each query in the config. + */ + function parse( + queries?: string | readonly string[] | null, + opts?: browserslist.Options + ): Query[] + + function clearCaches(): void + + function parseConfig(string: string): Config + + function readConfig(file: string): Config + + function findConfig(...pathSegments: string[]): Config | undefined + + interface LoadConfigOptions { + config?: string + path?: string + env?: string + } + + function loadConfig(options: LoadConfigOptions): string[] | undefined +} + +declare global { + namespace NodeJS { + interface ProcessEnv { + BROWSERSLIST?: string + BROWSERSLIST_CONFIG?: string + BROWSERSLIST_DANGEROUS_EXTEND?: string + BROWSERSLIST_DISABLE_CACHE?: string + BROWSERSLIST_ENV?: string + BROWSERSLIST_IGNORE_OLD_DATA?: string + BROWSERSLIST_STATS?: string + BROWSERSLIST_ROOT_PATH?: string + } + } +} + +export = browserslist diff --git a/.pnpm-store/v3/files/cc/868988acc1e30358d9c87be6ac5f0174fd73464aac4e96654e6a770243a3e26a7b88a2dea404e8f36592b4afd7da0ece0934ae41d810cac44c96b08d6192ea b/.pnpm-store/v3/files/cc/868988acc1e30358d9c87be6ac5f0174fd73464aac4e96654e6a770243a3e26a7b88a2dea404e8f36592b4afd7da0ece0934ae41d810cac44c96b08d6192ea new file mode 100644 index 00000000..1eb29ca5 --- /dev/null +++ b/.pnpm-store/v3/files/cc/868988acc1e30358d9c87be6ac5f0174fd73464aac4e96654e6a770243a3e26a7b88a2dea404e8f36592b4afd7da0ece0934ae41d810cac44c96b08d6192ea @@ -0,0 +1,105 @@ +/** + * @typedef {(error?: Error | null | undefined, ...output: Array) => void} Callback + * Callback. + * + * @typedef {(...input: Array) => any} Middleware + * Ware. + * + * @typedef Pipeline + * Pipeline. + * @property {Run} run + * Run the pipeline. + * @property {Use} use + * Add middleware. + * + * @typedef {(...input: Array) => void} Run + * Call all middleware. + * + * Calls `done` on completion with either an error or the output of the + * last middleware. + * + * > 👉 **Note**: as the length of input defines whether async functions get a + * > `next` function, + * > it’s recommended to keep `input` at one value normally. + + * + * @typedef {(fn: Middleware) => Pipeline} Use + * Add middleware. + */ +/** + * Create new middleware. + * + * @returns {Pipeline} + * Pipeline. + */ +export function trough(): Pipeline; +/** + * Wrap `middleware` into a uniform interface. + * + * You can pass all input to the resulting function. + * `callback` is then called with the output of `middleware`. + * + * If `middleware` accepts more arguments than the later given in input, + * an extra `done` function is passed to it after that input, + * which must be called by `middleware`. + * + * The first value in `input` is the main input value. + * All other input values are the rest input values. + * The values given to `callback` are the input values, + * merged with every non-nullish output value. + * + * * if `middleware` throws an error, + * returns a promise that is rejected, + * or calls the given `done` function with an error, + * `callback` is called with that error + * * if `middleware` returns a value or returns a promise that is resolved, + * that value is the main output value + * * if `middleware` calls `done`, + * all non-nullish values except for the first one (the error) overwrite the + * output values + * + * @param {Middleware} middleware + * Function to wrap. + * @param {Callback} callback + * Callback called with the output of `middleware`. + * @returns {Run} + * Wrapped middleware. + */ +export function wrap(middleware: Middleware, callback: Callback): Run; +/** + * Callback. + */ +export type Callback = (error?: Error | null | undefined, ...output: Array) => void; +/** + * Ware. + */ +export type Middleware = (...input: Array) => any; +/** + * Pipeline. + */ +export type Pipeline = { + /** + * Run the pipeline. + */ + run: Run; + /** + * Add middleware. + */ + use: Use; +}; +/** + * Call all middleware. + * + * Calls `done` on completion with either an error or the output of the + * last middleware. + * + * > 👉 **Note**: as the length of input defines whether async functions get a + * > `next` function, + * > it’s recommended to keep `input` at one value normally. + */ +export type Run = (...input: Array) => void; +/** + * Add middleware. + */ +export type Use = (fn: Middleware) => Pipeline; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/.pnpm-store/v3/files/cc/d4f474128c1af7359b8f9a2623f508444adc0eade0dce359c7b5ba61ae86025e40073419ef2a6d3dcf126ab0acbbd26d97cfcf6c5e5cfa9a38af5d08559bc7 b/.pnpm-store/v3/files/cc/d4f474128c1af7359b8f9a2623f508444adc0eade0dce359c7b5ba61ae86025e40073419ef2a6d3dcf126ab0acbbd26d97cfcf6c5e5cfa9a38af5d08559bc7 new file mode 100644 index 00000000..a33aad53 --- /dev/null +++ b/.pnpm-store/v3/files/cc/d4f474128c1af7359b8f9a2623f508444adc0eade0dce359c7b5ba61ae86025e40073419ef2a6d3dcf126ab0acbbd26d97cfcf6c5e5cfa9a38af5d08559bc7 @@ -0,0 +1 @@ +module.exports={A:{A:{"1":"E F A B","2":"J D SC"},B:{"2":"0 1 2 3 4 5 6 7 8 C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB","2":"0 1 2 3 4 5 6 7 8 JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC"},E:{"1":"9 J YC","2":"D E F A B C K L G aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","16":"ZC","129":"I XC DC"},F:{"1":"F B C G M N O iC jC kC lC 2B QC mC 3B","2":"AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"1":"nC RC oC pC qC","2":"E rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","129":"DC"},H:{"1":"9C"},I:{"1":"7B I AD BD CD DD RC ED","2":"H FD"},J:{"1":"D A"},K:{"1":"A B C 2B QC 3B","2":"u"},L:{"2":"H"},M:{"2":"1B"},N:{"1":"A B"},O:{"2":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:4,C:"display: run-in",D:true}; diff --git a/.pnpm-store/v3/files/cd/1b66f2893881fd3b8ff37fa6e2a2f93f274bf8733e077d914f1ce18340d65fee8c12b7ea3256f2544c98d0fe4e9ba3c45b29c0d87b2acb7b9dafa4343a3d25 b/.pnpm-store/v3/files/cd/1b66f2893881fd3b8ff37fa6e2a2f93f274bf8733e077d914f1ce18340d65fee8c12b7ea3256f2544c98d0fe4e9ba3c45b29c0d87b2acb7b9dafa4343a3d25 new file mode 100644 index 00000000..fdc329e5 --- /dev/null +++ b/.pnpm-store/v3/files/cd/1b66f2893881fd3b8ff37fa6e2a2f93f274bf8733e077d914f1ce18340d65fee8c12b7ea3256f2544c98d0fe4e9ba3c45b29c0d87b2acb7b9dafa4343a3d25 @@ -0,0 +1 @@ +module.exports={C:{"3":0.00409,"38":0.00409,"40":0.00409,"52":0.00409,"78":0.01228,"82":0.00409,"84":0.00409,"88":0.00818,"89":0.00409,"90":0.00409,"105":0.00409,"108":0.02864,"110":0.00409,"115":0.38874,"117":0.00409,"118":0.00409,"119":0.02864,"120":0.07366,"121":1.87004,"122":0.32327,_:"2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 83 85 86 87 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 107 109 111 112 113 114 116 123 124 125 3.5","3.6":0.00409},D:{"21":0.00409,"28":0.00409,"37":0.00409,"38":0.1023,"39":0.00409,"40":0.00409,"41":0.00409,"42":0.00409,"43":0.00818,"44":0.01228,"45":0.00818,"46":0.00818,"47":0.02046,"49":0.74065,"51":0.01228,"55":0.01637,"56":0.00409,"62":0.04501,"64":0.00409,"65":0.00409,"66":0.00818,"70":0.00818,"73":0.00818,"78":0.00409,"79":0.10639,"81":0.06547,"83":0.00818,"85":0.00818,"87":0.03683,"88":0.02864,"89":0.00409,"91":0.03274,"92":0.02864,"93":0.00409,"95":0.00818,"96":0.01637,"97":0.02864,"98":0.01228,"99":0.00818,"100":0.00409,"102":0.02046,"103":0.13504,"104":0.02864,"105":0.03683,"106":0.09002,"107":0.04092,"108":0.0532,"109":1.50586,"110":0.00818,"111":0.01228,"112":0.03683,"113":0.07775,"114":0.01228,"115":0.02455,"116":0.36419,"117":0.05729,"118":0.04092,"119":0.31918,"120":20.57048,"121":1.21532,"122":0.01228,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 29 30 31 32 33 34 35 36 48 50 52 53 54 57 58 59 60 61 63 67 68 69 71 72 74 75 76 77 80 84 86 90 94 101 123 124"},F:{"31":0.00409,"32":0.00409,"86":0.01228,"95":0.02455,"97":0.01637,"104":0.00409,"105":0.89615,"106":0.52787,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 87 88 89 90 91 92 93 94 96 98 99 100 101 102 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.00409,"17":0.00409,"18":0.00818,"92":0.00409,"99":0.00409,"100":0.01228,"102":0.00409,"103":0.01228,"109":0.01228,"110":0.00409,"112":0.02455,"113":0.15959,"114":0.00818,"115":0.00409,"116":0.01228,"117":0.09002,"118":0.00818,"119":0.07775,"120":2.90532,"121":0.36828,_:"12 13 14 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 101 104 105 106 107 108 111"},E:{"5":0.00409,"8":0.00409,"9":0.01637,"13":0.00409,"14":0.06138,"15":0.00818,_:"0 4 6 7 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1 11.1 17.4","9.1":0.00409,"12.1":0.00409,"13.1":0.02046,"14.1":0.13504,"15.1":0.03683,"15.2-15.3":0.01637,"15.4":0.05729,"15.5":0.05729,"15.6":0.49513,"16.0":0.0491,"16.1":0.06547,"16.2":0.07366,"16.3":0.22097,"16.4":0.0532,"16.5":0.19232,"16.6":0.98208,"17.0":0.17596,"17.1":0.82249,"17.2":1.50995,"17.3":0.13094},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00347,"5.0-5.1":0.0052,"6.0-6.1":0.00867,"7.0-7.1":0.01214,"8.1-8.4":0.00173,"9.0-9.2":0.0104,"9.3":0.03988,"10.0-10.2":0.00347,"10.3":0.06242,"11.0-11.2":0.02428,"11.3-11.4":0.02601,"12.0-12.1":0.01561,"12.2-12.5":0.30865,"13.0-13.1":0.0052,"13.2":0.05722,"13.3":0.01561,"13.4-13.7":0.06936,"14.0-14.4":0.12138,"14.5-14.8":0.18554,"15.0-15.1":0.07976,"15.2-15.3":0.0919,"15.4":0.10751,"15.5":0.14219,"15.6-15.8":1.10802,"16.0":0.33293,"16.1":0.70921,"16.2":0.32252,"16.3":0.59996,"16.4":0.13352,"16.5":0.28438,"16.6-16.7":2.32703,"17.0":0.38668,"17.1":3.98646,"17.2":5.3962,"17.3":0.3468},P:{"4":0.37013,"20":0.01058,"21":0.03173,"22":0.05288,"23":1.58626,"5.0-5.4":0.06345,"6.2-6.4":0.01058,"7.2-7.4":0.09518,_:"8.2 9.2 10.1 12.0 14.0 15.0","11.1-11.2":0.01058,"13.0":0.02115,"16.0":0.01058,"17.0":0.02115,"18.0":0.01058,"19.0":0.02115},I:{"0":0.09999,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0,"4.1":0.00002,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.00026},A:{"6":0.00409,"7":0.00409,"8":0.06138,"9":0.00818,"10":0.01228,"11":0.03683,_:"5.5"},K:{"0":2.97717,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00591,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":0.00591},O:{"0":1.29385},H:{"0":0.03},L:{"0":35.69071},R:{_:"0"},M:{"0":0.19496}}; diff --git a/.pnpm-store/v3/files/cd/3772886d9372a69fbadcf744c00e0ed2c9c7dc3507a92f1890df3a2e16558a0b34b8236920fb7cc2cc8d542466b9009285437cb5741b2650bbe498df043f3a b/.pnpm-store/v3/files/cd/3772886d9372a69fbadcf744c00e0ed2c9c7dc3507a92f1890df3a2e16558a0b34b8236920fb7cc2cc8d542466b9009285437cb5741b2650bbe498df043f3a new file mode 100644 index 00000000..3224e77c --- /dev/null +++ b/.pnpm-store/v3/files/cd/3772886d9372a69fbadcf744c00e0ed2c9c7dc3507a92f1890df3a2e16558a0b34b8236920fb7cc2cc8d542466b9009285437cb5741b2650bbe498df043f3a @@ -0,0 +1 @@ +module.exports={C:{"40":0.00414,"48":0.02069,"50":0.01241,"52":0.04138,"60":0.02483,"61":0.00414,"65":0.00414,"68":0.00828,"75":0.00414,"78":0.10759,"88":0.00828,"89":0.00414,"91":0.09931,"93":0.00828,"102":0.07448,"103":0.00828,"104":0.02069,"105":0.00414,"106":0.02483,"108":0.01241,"109":0.00414,"111":0.02069,"112":0.00414,"113":0.00414,"115":2.19314,"116":0.01241,"117":0.01241,"118":0.02483,"119":0.06621,"120":0.14069,"121":3.09936,"122":0.67863,"123":0.00414,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 49 51 53 54 55 56 57 58 59 62 63 64 66 67 69 70 71 72 73 74 76 77 79 80 81 82 83 84 85 86 87 90 92 94 95 96 97 98 99 100 101 107 110 114 124 125 3.5","3.6":0.00414},D:{"38":0.01241,"40":0.00414,"41":0.00414,"42":0.00414,"43":0.00414,"44":0.00828,"45":0.32276,"46":0.01241,"47":0.00414,"49":0.01241,"51":0.01655,"56":0.02897,"61":0.00414,"66":0.01241,"70":0.00828,"72":0.00414,"73":0.00414,"75":0.00414,"76":0.00414,"78":0.00414,"79":0.04552,"80":0.00828,"81":0.00828,"83":0.00414,"85":0.02897,"86":0.02483,"87":0.0331,"88":0.00414,"89":0.00414,"90":0.00414,"91":0.0331,"93":0.04966,"94":0.00414,"95":0.01655,"96":0.01241,"97":0.00414,"98":0.00828,"99":0.00828,"100":0.02069,"101":0.00414,"102":0.04552,"103":0.07448,"104":0.00414,"105":0.07448,"106":0.0869,"107":0.17793,"108":0.19449,"109":0.66208,"110":0.04138,"111":0.16966,"112":0.07448,"113":0.07448,"114":0.07448,"115":0.16138,"116":1.08416,"117":0.05793,"118":0.95174,"119":0.40966,"120":12.55469,"121":0.83588,"122":0.00414,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 48 50 52 53 54 55 57 58 59 60 62 63 64 65 67 68 69 71 74 77 84 92 123 124"},F:{"89":0.02069,"94":0.02069,"95":0.0331,"102":0.00414,"104":0.00414,"105":0.60829,"106":0.60829,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 93 96 97 98 99 100 101 103 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00414},B:{"105":0.04138,"107":0.03724,"108":0.02069,"109":0.07035,"110":0.00828,"111":0.02897,"112":0.01241,"113":0.00414,"114":0.00828,"116":0.00828,"117":0.09104,"118":0.00828,"119":0.09517,"120":4.42766,"121":0.56277,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 115"},E:{"9":0.02069,"13":0.00414,"14":0.05793,"15":0.00414,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1 17.4","9.1":0.00414,"11.1":0.00828,"12.1":0.02069,"13.1":0.14897,"14.1":0.28552,"15.1":0.02897,"15.2-15.3":0.03724,"15.4":0.04966,"15.5":0.11173,"15.6":0.52553,"16.0":0.12828,"16.1":0.21518,"16.2":0.12,"16.3":0.36414,"16.4":0.10345,"16.5":0.51725,"16.6":0.73656,"17.0":0.25242,"17.1":1.14209,"17.2":1.80831,"17.3":0.15724},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00345,"5.0-5.1":0.00518,"6.0-6.1":0.00863,"7.0-7.1":0.01209,"8.1-8.4":0.00173,"9.0-9.2":0.01036,"9.3":0.03972,"10.0-10.2":0.00345,"10.3":0.06217,"11.0-11.2":0.02418,"11.3-11.4":0.0259,"12.0-12.1":0.01554,"12.2-12.5":0.3074,"13.0-13.1":0.00518,"13.2":0.05699,"13.3":0.01554,"13.4-13.7":0.06908,"14.0-14.4":0.12089,"14.5-14.8":0.18478,"15.0-15.1":0.07944,"15.2-15.3":0.09153,"15.4":0.10707,"15.5":0.14161,"15.6-15.8":1.10352,"16.0":0.33157,"16.1":0.70632,"16.2":0.32121,"16.3":0.59752,"16.4":0.13297,"16.5":0.28322,"16.6-16.7":2.31756,"17.0":0.38511,"17.1":3.97025,"17.2":5.37425,"17.3":0.34539},P:{"4":0.1368,"20":0.03157,"21":0.05262,"22":0.06314,"23":3.12543,"5.0-5.4":0.01052,"6.2-6.4":0.01052,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0","13.0":0.02105,"17.0":0.02105,"18.0":0.01052,"19.0":0.01052},I:{"0":0.41437,"3":0,"4":0.00008,"2.1":0,"2.2":0.00004,"2.3":0,"4.1":0.00008,"4.2-4.3":0.00029,"4.4":0,"4.4.3-4.4.4":0.00108},A:{"6":0.00463,"7":0.00463,"8":0.04631,"9":0.00926,"10":0.00926,"11":0.11577,_:"5.5"},K:{"0":1.4186,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00586,_:"3.0-3.1"},J:{_:"7 10"},Q:{"13.1":1.69998},O:{"0":2.14549},H:{"0":0},L:{"0":32.55242},R:{_:"0"},M:{"0":0.62723}}; diff --git a/.pnpm-store/v3/files/cd/9eec3b3d033af317bd2108950dca0a5247919e7875559bb5a7003509d1746be92a9229e67dc7b7a680903f23a28fdc0965ca2012465452438a7d03c8fd1d63 b/.pnpm-store/v3/files/cd/9eec3b3d033af317bd2108950dca0a5247919e7875559bb5a7003509d1746be92a9229e67dc7b7a680903f23a28fdc0965ca2012465452438a7d03c8fd1d63 new file mode 100644 index 00000000..7947b81b --- /dev/null +++ b/.pnpm-store/v3/files/cd/9eec3b3d033af317bd2108950dca0a5247919e7875559bb5a7003509d1746be92a9229e67dc7b7a680903f23a28fdc0965ca2012465452438a7d03c8fd1d63 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB"},E:{"1":"A B C K L G EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F XC DC YC ZC aC bC"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB iC jC kC lC 2B QC mC 3B"},G:{"1":"uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"1":"q r s t HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD","2":"I GD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"1":"UD","2":"TD"}},B:1,C:"\"once\" event listener option",D:true}; diff --git a/.pnpm-store/v3/files/ce/01282b143e984568375ea2ce86d7ee7d9368beb57882399cf39d32603240dbadca50600e4f021f66a64a5bc542de9178cbb36a1992ce1bb743917d6466539b b/.pnpm-store/v3/files/ce/01282b143e984568375ea2ce86d7ee7d9368beb57882399cf39d32603240dbadca50600e4f021f66a64a5bc542de9178cbb36a1992ce1bb743917d6466539b new file mode 100644 index 00000000..094fcb0b --- /dev/null +++ b/.pnpm-store/v3/files/ce/01282b143e984568375ea2ce86d7ee7d9368beb57882399cf39d32603240dbadca50600e4f021f66a64a5bc542de9178cbb36a1992ce1bb743917d6466539b @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC UC VC WC"},D:{"1":"0 1 2 3 4 5 6 7 8 qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","194":"jB 8B kB 9B lB mB nB oB pB"},E:{"2":"9 I J D E F A B C K L G XC DC YC ZC aC bC EC 2B 3B FC cC dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB iC jC kC lC 2B QC mC 3B"},G:{"2":"E DC nC RC oC pC qC rC sC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"1":"u","2":"A B C 2B QC 3B"},L:{"1":"H"},M:{"2":"1B"},N:{"2":"A B"},O:{"1":"4B"},P:{"2":"I q r s t GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"1":"FC"},R:{"1":"SD"},S:{"2":"TD UD"}},B:4,C:"Orientation Sensor",D:true}; diff --git a/.pnpm-store/v3/files/ce/13596aa722895ec17e930bf6ad6a62c02a8d659cf08b77e72b296b5299b8f63904970b2159ec68947519d925e0a04c6eb50ff007fba85f62a3e0374b7d396d b/.pnpm-store/v3/files/ce/13596aa722895ec17e930bf6ad6a62c02a8d659cf08b77e72b296b5299b8f63904970b2159ec68947519d925e0a04c6eb50ff007fba85f62a3e0374b7d396d new file mode 100644 index 00000000..9b175ac2 --- /dev/null +++ b/.pnpm-store/v3/files/ce/13596aa722895ec17e930bf6ad6a62c02a8d659cf08b77e72b296b5299b8f63904970b2159ec68947519d925e0a04c6eb50ff007fba85f62a3e0374b7d396d @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.compactDecrypt = void 0; +const decrypt_js_1 = require("../flattened/decrypt.js"); +const errors_js_1 = require("../../util/errors.js"); +const buffer_utils_js_1 = require("../../lib/buffer_utils.js"); +async function compactDecrypt(jwe, key, options) { + if (jwe instanceof Uint8Array) { + jwe = buffer_utils_js_1.decoder.decode(jwe); + } + if (typeof jwe !== 'string') { + throw new errors_js_1.JWEInvalid('Compact JWE must be a string or Uint8Array'); + } + const { 0: protectedHeader, 1: encryptedKey, 2: iv, 3: ciphertext, 4: tag, length, } = jwe.split('.'); + if (length !== 5) { + throw new errors_js_1.JWEInvalid('Invalid Compact JWE'); + } + const decrypted = await (0, decrypt_js_1.flattenedDecrypt)({ + ciphertext, + iv: iv || undefined, + protected: protectedHeader, + tag: tag || undefined, + encrypted_key: encryptedKey || undefined, + }, key, options); + const result = { plaintext: decrypted.plaintext, protectedHeader: decrypted.protectedHeader }; + if (typeof key === 'function') { + return { ...result, key: decrypted.key }; + } + return result; +} +exports.compactDecrypt = compactDecrypt; diff --git a/.pnpm-store/v3/files/ce/4b999dfb89a6792fd9ffb842f3d3c140b7d6c695ac75481799887571d056c98a12e182ee5959126d0fc67821444e1839318b70ab163a0236e32ce9f7555e96 b/.pnpm-store/v3/files/ce/4b999dfb89a6792fd9ffb842f3d3c140b7d6c695ac75481799887571d056c98a12e182ee5959126d0fc67821444e1839318b70ab163a0236e32ce9f7555e96 new file mode 100644 index 00000000..2fd68dab --- /dev/null +++ b/.pnpm-store/v3/files/ce/4b999dfb89a6792fd9ffb842f3d3c140b7d6c695ac75481799887571d056c98a12e182ee5959126d0fc67821444e1839318b70ab163a0236e32ce9f7555e96 @@ -0,0 +1 @@ +module.exports={A:{A:{"2":"J D E F A B SC"},B:{"1":"0 1 2 3 4 5 6 7 8 z H","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v","322":"w x y"},C:{"1":"1 2 3 4 5 6 7 8 H 1B BC CC UC","2":"9 TC 7B I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d e f g h i j k l m n o p v w x y VC WC","578":"0 z"},D:{"1":"0 1 2 3 4 5 6 7 8 z H 1B BC CC","2":"9 I J D E F A B C K L G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB 8B kB 9B lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p v","322":"w x y"},E:{"1":"G dC GC HC 4B eC 5B IC JC KC LC MC fC 6B NC OC PC gC hC","2":"9 I J D E F A XC DC YC ZC aC bC","132":"B C K L EC 2B 3B FC cC"},F:{"1":"h i j k l m n o p","2":"F B C G M N O AB q r s t BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB u wB xB yB zB 0B P Q R AC S T U V W X Y Z a b c d iC jC kC lC 2B QC mC 3B","322":"e f g"},G:{"1":"6C GC HC 4B 7C 5B IC JC KC LC MC 8C 6B NC OC PC","2":"E DC nC RC oC pC qC rC sC tC uC","132":"vC wC xC yC zC 0C 1C 2C 3C 4C 5C"},H:{"2":"9C"},I:{"1":"H","2":"7B I AD BD CD DD RC ED FD"},J:{"2":"D A"},K:{"2":"A B C u 2B QC 3B"},L:{"1":"H"},M:{"1":"1B"},N:{"2":"A B"},O:{"2":"4B"},P:{"1":"s t","2":"I q r GD HD ID JD KD EC LD MD ND OD PD 5B 6B QD RD"},Q:{"2":"FC"},R:{"2":"SD"},S:{"2":"TD UD"}},B:4,C:"CSS color() function",D:true}; diff --git a/.pnpm-store/v3/files/ce/6cd6386dcb749f4e755f97e0860072be946b7efbf5154c35052cdfa29ce24cf107181af81c3fb866e9e20ba5169381034f1cd85b6372c17ef59eb7b39a9776 b/.pnpm-store/v3/files/ce/6cd6386dcb749f4e755f97e0860072be946b7efbf5154c35052cdfa29ce24cf107181af81c3fb866e9e20ba5169381034f1cd85b6372c17ef59eb7b39a9776 new file mode 100644 index 00000000..a1e415e4 --- /dev/null +++ b/.pnpm-store/v3/files/ce/6cd6386dcb749f4e755f97e0860072be946b7efbf5154c35052cdfa29ce24cf107181af81c3fb866e9e20ba5169381034f1cd85b6372c17ef59eb7b39a9776 @@ -0,0 +1,127 @@ +{ + "name": "fflate", + "version": "0.8.2", + "description": "High performance (de)compression in an 8kB package", + "main": "./lib/index.cjs", + "module": "./esm/browser.js", + "types": "./lib/index.d.ts", + "unpkg": "./umd/index.js", + "jsdelivr": "./umd/index.js", + "browser": { + "./lib/node-worker.cjs": "./lib/worker.cjs" + }, + "exports": { + ".": { + "node": { + "import": { + "types": "./esm/index.d.mts", + "default": "./esm/index.mjs" + }, + "require": { + "types": "./lib/node.d.cts", + "default": "./lib/node.cjs" + } + }, + "import": { + "types": "./esm/browser.d.ts", + "default": "./esm/browser.js" + }, + "require": { + "types": "./lib/browser.d.cts", + "default": "./lib/browser.cjs" + } + }, + "./node": { + "import": { + "types": "./esm/index.d.mts", + "default": "./esm/index.mjs" + }, + "require": { + "types": "./lib/node.d.cts", + "default": "./lib/node.cjs" + } + }, + "./browser": { + "import": { + "types": "./esm/browser.d.ts", + "default": "./esm/browser.js" + }, + "require": { + "types": "./lib/browser.d.cts", + "default": "./lib/browser.cjs" + } + } + }, + "targets": { + "main": false, + "module": false, + "browser": false, + "types": false + }, + "sideEffects": false, + "homepage": "https://101arrowz.github.io/fflate", + "repository": "https://github.com/101arrowz/fflate", + "bugs": { + "email": "arjunbarrett@gmail.com", + "url": "https://github.com/101arrowz/fflate/issues" + }, + "author": "Arjun Barrett ", + "license": "MIT", + "keywords": [ + "gzip", + "gunzip", + "deflate", + "inflate", + "compression", + "decompression", + "zlib", + "pako", + "jszip", + "browser", + "node.js", + "tiny", + "fast", + "zip", + "unzip", + "non-blocking" + ], + "scripts": { + "build": "npm run build:lib && npm run build:docs && npm run build:demo", + "script": "node -r ts-node/register scripts/$SC.ts", + "build:lib": "tsc && tsc --project tsconfig.esm.json && npm run build:rewrite && npm run build:umd", + "build:umd": "SC=buildUMD npm run script", + "build:rewrite": "SC=rewriteBuilds npm run script", + "build:demo": "tsc --project tsconfig.demo.json && parcel build demo/index.html --no-cache --public-url \"./\" && SC=cpGHPages npm run script", + "build:docs": "typedoc --plugin typedoc-plugin-markdown --hideBreadcrumbs --readme none --disableSources --excludePrivate --excludeProtected --githubPages false --out docs/ src/index.ts", + "test": "TS_NODE_PROJECT=test/tsconfig.json uvu -b -r ts-node/register test", + "prepack": "npm run build && npm run test" + }, + "devDependencies": { + "@parcel/service-worker": "^2.9.3", + "@types/node": "^14.11.2", + "@types/pako": "*", + "@types/react": "^18.2.21", + "@types/react-dom": "^18.2.7", + "jszip": "^3.5.0", + "pako": "*", + "parcel": "^2.9.3", + "preact": "^10.17.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "simple-git": "^3.19.1", + "terser": "^5.3.8", + "tiny-inflate": "*", + "ts-node": "^10.9.1", + "typedoc": "^0.25.0", + "typedoc-plugin-markdown": "^3.16.0", + "typescript": "^5.2.2", + "uvu": "^0.3.3", + "uzip": "*" + }, + "alias": { + "react": "preact/compat", + "react-dom": "preact/compat", + "buffer": false, + "process": false + } +} diff --git a/.pnpm-store/v3/files/ce/a2c59bc28b45ec69aad024a8e680c982ffcd1647c21cb86eb950578d6feffef99e64136aeaf93086dcd0efdb79edd04f81c957647b95bf0cb8e2f348e1c88a b/.pnpm-store/v3/files/ce/a2c59bc28b45ec69aad024a8e680c982ffcd1647c21cb86eb950578d6feffef99e64136aeaf93086dcd0efdb79edd04f81c957647b95bf0cb8e2f348e1c88a new file mode 100644 index 00000000..321ef119 --- /dev/null +++ b/.pnpm-store/v3/files/ce/a2c59bc28b45ec69aad024a8e680c982ffcd1647c21cb86eb950578d6feffef99e64136aeaf93086dcd0efdb79edd04f81c957647b95bf0cb8e2f348e1c88a @@ -0,0 +1,105 @@ +import { promises } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { promisify } from 'node:util'; +import { gzip, constants } from 'node:zlib'; +import { resolve, basename, dirname, relative } from 'pathe'; +import c from 'picocolors'; +import fg from 'fast-glob'; +import { stringify } from 'flatted'; + +async function getModuleGraph(ctx, id) { + const graph = {}; + const externalized = /* @__PURE__ */ new Set(); + const inlined = /* @__PURE__ */ new Set(); + function clearId(id2) { + return id2?.replace(/\?v=\w+$/, "") || ""; + } + async function get(mod, seen = /* @__PURE__ */ new Map()) { + if (!mod || !mod.id) + return; + if (seen.has(mod)) + return seen.get(mod); + let id2 = clearId(mod.id); + seen.set(mod, id2); + const rewrote = await ctx.vitenode.shouldExternalize(id2); + if (rewrote) { + id2 = rewrote; + externalized.add(id2); + seen.set(mod, id2); + } else { + inlined.add(id2); + } + const mods = Array.from(mod.importedModules).filter((i) => i.id && !i.id.includes("/vitest/dist/")); + graph[id2] = (await Promise.all(mods.map((m) => get(m, seen)))).filter(Boolean); + return id2; + } + await get(ctx.server.moduleGraph.getModuleById(id)); + return { + graph, + externalized: Array.from(externalized), + inlined: Array.from(inlined) + }; +} + +function getOutputFile(config) { + if (!config?.outputFile) + return; + if (typeof config.outputFile === "string") + return config.outputFile; + return config.outputFile.html; +} +const distDir = resolve(fileURLToPath(import.meta.url), "../../dist"); +class HTMLReporter { + start = 0; + ctx; + reportUIPath; + async onInit(ctx) { + this.ctx = ctx; + this.start = Date.now(); + } + async onFinished() { + const result = { + paths: this.ctx.state.getPaths(), + files: this.ctx.state.getFiles(), + config: this.ctx.config, + unhandledErrors: this.ctx.state.getUnhandledErrors(), + moduleGraph: {} + }; + await Promise.all( + result.files.map(async (file) => { + result.moduleGraph[file.filepath] = await getModuleGraph(this.ctx, file.filepath); + }) + ); + await this.writeReport(stringify(result)); + } + async writeReport(report) { + const htmlFile = getOutputFile(this.ctx.config) || "html/index.html"; + const htmlFileName = basename(htmlFile); + const htmlDir = resolve(this.ctx.config.root, dirname(htmlFile)); + const metaFile = resolve(htmlDir, "html.meta.json.gz"); + await promises.mkdir(resolve(htmlDir, "assets"), { recursive: true }); + const promiseGzip = promisify(gzip); + const data = await promiseGzip(report, { + level: constants.Z_BEST_COMPRESSION + }); + await promises.writeFile(metaFile, data, "base64"); + const ui = resolve(distDir, "client"); + const files = fg.sync("**/*", { cwd: ui }); + await Promise.all(files.map(async (f) => { + if (f === "index.html") { + const html = await promises.readFile(resolve(ui, f), "utf-8"); + const filePath = relative(htmlDir, metaFile); + await promises.writeFile( + resolve(htmlDir, htmlFileName), + html.replace("", `